gitextract_8ntehtvf/ ├── .babelrc ├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE.md │ └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── .npmignore ├── .travis.yml ├── LICENSE ├── README.md ├── build/ │ ├── build-components.js │ ├── build-docs.js │ ├── build-main.js │ ├── build-styles.js │ ├── build.js │ ├── check-versions.js │ ├── dev-doc.js │ ├── document.js │ ├── fetch-github.js │ ├── less.js │ ├── pre-publish.js │ ├── simulate.sh │ ├── umd-helper.js │ ├── utils.js │ ├── vue-loader.conf.js │ ├── vux-config.js │ ├── webpack.base.conf.js │ ├── webpack.dev.conf.js │ ├── webpack.prod.conf.js │ └── webpack.test.conf.js ├── circle.yml ├── config/ │ ├── dev.env.js │ ├── index.js │ ├── prod.env.js │ └── test.env.js ├── docs/ │ ├── 404.md │ ├── about/ │ │ └── version.md │ ├── compile.js │ ├── component-contributors.js │ ├── en/ │ │ ├── .gitkeep │ │ ├── README.md │ │ ├── about/ │ │ │ ├── before-using-vux.md │ │ │ ├── contributors.vue │ │ │ ├── showcase.md │ │ │ └── thanks.md │ │ ├── contribution/ │ │ │ ├── donate.md │ │ │ ├── issue.md │ │ │ ├── pr.md │ │ │ └── vux-development.md │ │ ├── css/ │ │ │ ├── 1px.md │ │ │ └── close.md │ │ ├── css.md │ │ ├── development/ │ │ │ ├── i18n.md │ │ │ ├── remove-click-delay-fastclick.md │ │ │ ├── router.md │ │ │ ├── theme.md │ │ │ ├── typescript.md │ │ │ ├── vue-ajax.md │ │ │ ├── vue-global-method.md │ │ │ ├── vue-google-analytics.md │ │ │ ├── vue-loader-autoprefix.md │ │ │ ├── vue-loader-disable-eslint.md │ │ │ ├── vue-router-page-transition.md │ │ │ ├── vue-show-loading.md │ │ │ ├── vue-webpack-code-splitting-async.md │ │ │ ├── vue-webpack-env.md │ │ │ └── vux-nuxt-ssr.md │ │ ├── directives/ │ │ │ └── v-transfer-dom.md │ │ ├── faq/ │ │ │ ├── $t-is-not-defined.md │ │ │ ├── Uncaught-SyntaxError-Unexpected-token-export.md │ │ │ ├── can-vux-used-in-weapp.md │ │ │ ├── cannot-resolve-inline-desc.md │ │ │ ├── difference-between-vux-template-and-webpack-template.md │ │ │ ├── document-framework.md │ │ │ ├── does-vux-support-weex.md │ │ │ ├── dupicate-style.md │ │ │ ├── is-vux-wechat-official-project.md │ │ │ ├── vux-build-issue.md │ │ │ ├── vux-server-render-support.md │ │ │ ├── what-is-vux-virtual-component.md │ │ │ ├── why-cannot-i-import-all-components.md │ │ │ ├── why-cannot-i-use-vux-with-cdn.md │ │ │ ├── why-close-my-issue.md │ │ │ ├── why-delete-my-issue-comment.md │ │ │ ├── why-use-vue-file-for-distribution.md │ │ │ ├── why-use-x-prefix-for-components.md │ │ │ ├── why-using-vux-loader.md │ │ │ └── will-vux-stop-maintaining.md │ │ ├── install/ │ │ │ ├── biolerplate.md │ │ │ ├── manual-usage.md │ │ │ ├── npm.md │ │ │ ├── umd.md │ │ │ ├── upgrade-to-vux2.md │ │ │ └── usage.md │ │ ├── lab/ │ │ │ └── index.md │ │ ├── production/ │ │ │ └── inline-manifest.md │ │ ├── tools/ │ │ │ ├── base64.md │ │ │ ├── cookie.md │ │ │ ├── date.md │ │ │ ├── debounce-throttle.md │ │ │ ├── md5.md │ │ │ ├── number.md │ │ │ ├── querystring.md │ │ │ └── string.md │ │ ├── umd.md │ │ ├── upgrade-to-2.md │ │ ├── vux-loader/ │ │ │ ├── about.md │ │ │ ├── how-vux-loader-works.md │ │ │ ├── install.md │ │ │ └── plugins.md │ │ ├── vux-loader.md │ │ └── wechat/ │ │ ├── other.md │ │ ├── vue-wechat-jssdk.md │ │ └── wechat-document-title.md │ ├── examples/ │ │ ├── loading.html │ │ ├── umd_component_include_all.html │ │ ├── umd_component_include_single.html │ │ ├── umd_plugin_include_all.html │ │ └── umd_plugin_include_single.html │ ├── i18n.js │ ├── index.html │ ├── package.json │ ├── ream.config.js │ ├── server.js │ ├── src/ │ │ ├── App.vue │ │ ├── algolia-search.vue │ │ ├── app.css │ │ ├── component.vue │ │ ├── index.js │ │ ├── summary.js │ │ ├── tool-routes-en.json │ │ └── tool-routes-zh-CN.json │ ├── watch.js │ └── zh-CN/ │ ├── README.md │ ├── about/ │ │ ├── before-using-vux.md │ │ ├── contributors.vue │ │ ├── showcase.md │ │ └── thanks.md │ ├── contribution/ │ │ ├── donate.md │ │ ├── issue.md │ │ ├── pr.md │ │ └── vux-development.md │ ├── css/ │ │ ├── 1px.md │ │ └── close.md │ ├── css.md │ ├── development/ │ │ ├── i18n.md │ │ ├── remove-click-delay-fastclick.md │ │ ├── router.md │ │ ├── theme.md │ │ ├── typescript.md │ │ ├── vue-ajax.md │ │ ├── vue-global-method.md │ │ ├── vue-google-analytics.md │ │ ├── vue-loader-autoprefix.md │ │ ├── vue-loader-disable-eslint.md │ │ ├── vue-router-page-transition.md │ │ ├── vue-show-loading.md │ │ ├── vue-webpack-code-splitting-async.md │ │ ├── vue-webpack-env.md │ │ └── vux-nuxt-ssr.md │ ├── directives/ │ │ └── v-transfer-dom.md │ ├── faq/ │ │ ├── $t-is-not-defined.md │ │ ├── Uncaught-SyntaxError-Unexpected-token-export.md │ │ ├── can-vux-used-in-weapp.md │ │ ├── cannot-resolve-inline-desc.md │ │ ├── difference-between-vux-template-and-webpack-template.md │ │ ├── document-framework.md │ │ ├── does-vux-support-weex.md │ │ ├── dupicate-style.md │ │ ├── is-vux-wechat-official-project.md │ │ ├── vux-build-issue.md │ │ ├── vux-server-render-support.md │ │ ├── what-is-vux-virtual-component.md │ │ ├── why-cannot-i-import-all-components.md │ │ ├── why-cannot-i-use-vux-with-cdn.md │ │ ├── why-close-my-issue.md │ │ ├── why-delete-my-issue-comment.md │ │ ├── why-use-vue-file-for-distribution.md │ │ ├── why-use-x-prefix-for-components.md │ │ ├── why-using-vux-loader.md │ │ └── will-vux-stop-maintaining.md │ ├── install/ │ │ ├── biolerplate.md │ │ ├── manual-usage.md │ │ ├── npm.md │ │ ├── umd.md │ │ ├── upgrade-to-vux2.md │ │ └── usage.md │ ├── lab/ │ │ └── index.md │ ├── production/ │ │ └── inline-manifest.md │ ├── tools/ │ │ ├── base64.md │ │ ├── cookie.md │ │ ├── date.md │ │ ├── debounce-throttle.md │ │ ├── md5.md │ │ ├── number.md │ │ ├── querystring.md │ │ └── string.md │ ├── umd.md │ ├── upgrade-to-2.md │ ├── vux-loader/ │ │ ├── about.md │ │ ├── how-vux-loader-works.md │ │ ├── install.md │ │ └── plugins.md │ ├── vux-loader.md │ └── wechat/ │ ├── other.md │ ├── vue-wechat-jssdk.md │ └── wechat-document-title.md ├── index.html ├── index.js ├── package.json ├── packages/ │ ├── loader/ │ │ ├── README.md │ │ ├── libs/ │ │ │ ├── get-i18n-block.js │ │ │ ├── parse-i18n-function.js │ │ │ └── replace-i18n-for-script.js │ │ ├── package.json │ │ ├── parse.js │ │ ├── plugins/ │ │ │ ├── duplicate-style/ │ │ │ │ └── index.js │ │ │ └── html-build-callback/ │ │ │ └── index.js │ │ ├── src/ │ │ │ ├── after-less-loader.js │ │ │ ├── before-template-compiler-loader.js │ │ │ ├── i18n-loader.js │ │ │ ├── index.js │ │ │ ├── js-loader.js │ │ │ ├── libs/ │ │ │ │ ├── babel-transform-imports/ │ │ │ │ │ ├── .babelrc │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── test/ │ │ │ │ │ ├── invalidTransform.js │ │ │ │ │ ├── tests.js │ │ │ │ │ └── transform.js │ │ │ │ ├── get-less-variables.js │ │ │ │ ├── getTag.js │ │ │ │ ├── import-parser-v2.js │ │ │ │ ├── import-parser.js │ │ │ │ ├── parse-demo-code.js │ │ │ │ ├── parse-virtual-component.js │ │ │ │ ├── parse-x-icon.js │ │ │ │ ├── report.js │ │ │ │ └── stripe-attributes.js │ │ │ ├── noop-loader.js │ │ │ ├── script-loader.js │ │ │ ├── style-loader.js │ │ │ └── template-loader.js │ │ └── test/ │ │ ├── fixtures/ │ │ │ ├── basic.vue │ │ │ ├── css-modules.vue │ │ │ ├── es2015.vue │ │ │ ├── extend.vue │ │ │ ├── extract-css.vue │ │ │ ├── inject.js │ │ │ ├── inject.vue │ │ │ ├── media-query.vue │ │ │ ├── postcss.vue │ │ │ ├── pre.vue │ │ │ ├── resolve.vue │ │ │ ├── scoped-css.vue │ │ │ ├── script-import.js │ │ │ ├── script-import.vue │ │ │ ├── service.js │ │ │ ├── style-import-scoped.css │ │ │ ├── style-import.css │ │ │ ├── style-import.vue │ │ │ ├── template-import.pug │ │ │ └── template-import.vue │ │ ├── test.js │ │ └── vux-fixtures/ │ │ ├── less-theme-001.less │ │ ├── less-theme-002.less │ │ ├── less-theme-basic.less │ │ ├── less-theme-basic.vue │ │ ├── less-theme-import.less │ │ ├── option-vux-dir.vue │ │ ├── script-parser-fn.vue │ │ ├── style-parser-basic.vue │ │ ├── template-feature-switch-basic.vue │ │ └── template-parser-fn.vue │ └── vue-cli-3-example/ │ ├── .browserslistrc │ ├── .editorconfig │ ├── .eslintrc.js │ ├── .gitignore │ ├── README.md │ ├── babel.config.js │ ├── package.json │ ├── postcss.config.js │ ├── public/ │ │ └── index.html │ ├── src/ │ │ ├── App.vue │ │ ├── components/ │ │ │ ├── HelloWorld.js │ │ │ └── HelloWorld.vue │ │ ├── main.js │ │ ├── router.js │ │ ├── store.js │ │ ├── theme.less │ │ └── views/ │ │ ├── About.vue │ │ └── Home.vue │ └── vue.config.js ├── src/ │ ├── App.vue │ ├── components/ │ │ ├── actionsheet/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── agree/ │ │ │ ├── index.vue │ │ │ └── test.js │ │ ├── alert/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── badge/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── blur/ │ │ │ ├── blur.js │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── box/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── button-tab/ │ │ │ ├── button-tab-item.vue │ │ │ ├── button-tab.vue │ │ │ ├── index.js │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── calendar/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── card/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── cell/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ ├── props.js │ │ │ ├── test/ │ │ │ │ └── wrapper.vue │ │ │ └── test.js │ │ ├── cell-box/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── cell-form-preview/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── check-icon/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── checker/ │ │ │ ├── checker-item.vue │ │ │ ├── checker.vue │ │ │ ├── index.js │ │ │ └── metas.yml │ │ ├── checklist/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ ├── object-filter.js │ │ │ └── test.js │ │ ├── clocker/ │ │ │ ├── clocker.js │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── color-picker/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── confirm/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── countdown/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── countup/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── datetime/ │ │ │ ├── datetimepicker.js │ │ │ ├── format.js │ │ │ ├── index.vue │ │ │ ├── makeData.js │ │ │ ├── metas.yml │ │ │ ├── style.less │ │ │ ├── test.js │ │ │ └── util.js │ │ ├── datetime-range/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── datetime-view/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── dev-tip/ │ │ │ └── index.vue │ │ ├── divider/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── drawer/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── flexbox/ │ │ │ ├── flexbox-item.vue │ │ │ ├── flexbox.vue │ │ │ ├── index.js │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── flow/ │ │ │ ├── flow-line.vue │ │ │ ├── flow-state.vue │ │ │ ├── flow.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── form-preview/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── fullpage/ │ │ │ ├── DemoBasic.vue │ │ │ ├── index.vue │ │ │ └── lib.js │ │ ├── grid/ │ │ │ ├── grid-item.vue │ │ │ ├── grid.vue │ │ │ ├── index.js │ │ │ └── metas.yml │ │ ├── group/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── group-title/ │ │ │ ├── index.vue │ │ │ └── test.js │ │ ├── icon/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── inline-calendar/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ ├── props.js │ │ │ ├── test.js │ │ │ └── util.js │ │ ├── inline-desc/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── inline-loading/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── inline-x-number/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── inline-x-switch/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── style.less │ │ ├── load-more/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── loading/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── map.json │ │ ├── marquee/ │ │ │ ├── marquee-item.vue │ │ │ ├── marquee.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── masker/ │ │ │ ├── converter.js │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── metas.yml │ │ ├── msg/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── number-roller/ │ │ │ ├── index.vue │ │ │ └── lib.js │ │ ├── orientation/ │ │ │ ├── index.js │ │ │ └── orientation.js │ │ ├── panel/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── picker/ │ │ │ ├── animate.js │ │ │ ├── chain.js │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ ├── scroller.css │ │ │ ├── scroller.js │ │ │ ├── test.js │ │ │ └── util.js │ │ ├── popover/ │ │ │ ├── DemoIndex.vue │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── popup/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ ├── popup.js │ │ │ └── test.js │ │ ├── popup-header/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── popup-picker/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── popup-radio/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── previewer/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── qrcode/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── radio/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ ├── props.js │ │ │ └── test.js │ │ ├── range/ │ │ │ ├── index.vue │ │ │ ├── lib/ │ │ │ │ ├── classes.js │ │ │ │ ├── closest.js │ │ │ │ ├── delegate.js │ │ │ │ ├── emitter.js │ │ │ │ ├── event.js │ │ │ │ ├── events.js │ │ │ │ ├── matches-selector.js │ │ │ │ ├── mouse.js │ │ │ │ └── query.js │ │ │ ├── metas.yml │ │ │ ├── powerange.js │ │ │ ├── powerange.less │ │ │ └── utils.js │ │ ├── rater/ │ │ │ ├── index.vue │ │ │ └── metas.yml │ │ ├── scroller/ │ │ │ ├── index.vue │ │ │ └── metas.yml │ │ ├── search/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── selector/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── shake/ │ │ │ └── index.vue │ │ ├── spinner/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ ├── requestAnimationFrame.js │ │ │ └── spinner.js │ │ ├── step/ │ │ │ ├── index.js │ │ │ ├── metas.yml │ │ │ ├── step-item.vue │ │ │ └── step.vue │ │ ├── sticky/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── sticky.js │ │ ├── swipeout/ │ │ │ ├── index.js │ │ │ ├── metas.yml │ │ │ ├── swipeout-button.vue │ │ │ ├── swipeout-item.vue │ │ │ └── swipeout.vue │ │ ├── swiper/ │ │ │ ├── index.js │ │ │ ├── metas.yml │ │ │ ├── swiper-item.vue │ │ │ ├── swiper.js │ │ │ └── swiper.vue │ │ ├── tab/ │ │ │ ├── index.js │ │ │ ├── metas.yml │ │ │ ├── tab-item.vue │ │ │ └── tab.vue │ │ ├── tabbar/ │ │ │ ├── index.js │ │ │ ├── metas.yml │ │ │ ├── tabbar-item.vue │ │ │ └── tabbar.vue │ │ ├── timeline/ │ │ │ ├── index.js │ │ │ ├── metas.yml │ │ │ ├── timeline-item.vue │ │ │ └── timeline.vue │ │ ├── tip/ │ │ │ └── index.vue │ │ ├── toast/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── uploader/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── utils.js │ │ ├── v-chart/ │ │ │ ├── metas.yml │ │ │ ├── mixin.js │ │ │ ├── util.js │ │ │ ├── v-area.vue │ │ │ ├── v-axis.vue │ │ │ ├── v-bar.vue │ │ │ ├── v-chart.vue │ │ │ ├── v-guide.vue │ │ │ ├── v-legend.vue │ │ │ ├── v-line.vue │ │ │ ├── v-pie.vue │ │ │ ├── v-point.vue │ │ │ ├── v-scale.vue │ │ │ └── v-tooltip.vue │ │ ├── video/ │ │ │ ├── index.vue │ │ │ ├── zy.media.css │ │ │ └── zy.media.js │ │ ├── view-box/ │ │ │ ├── index.vue │ │ │ └── metas.yml │ │ ├── wechat-emotion/ │ │ │ ├── index.vue │ │ │ └── metas.yml │ │ ├── week-calendar/ │ │ │ └── index.vue │ │ ├── wepay-input/ │ │ │ └── index.vue │ │ ├── x-address/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── x-button/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── x-circle/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── x-dialog/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── x-form/ │ │ │ ├── field.vue │ │ │ ├── form.vue │ │ │ ├── index.js │ │ │ └── metas.yml │ │ ├── x-header/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── x-hr/ │ │ │ └── index.vue │ │ ├── x-icon/ │ │ │ └── metas.yml │ │ ├── x-img/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── x-input/ │ │ │ ├── fixtures/ │ │ │ │ └── Mask.vue │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── x-number/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── x-progress/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── x-switch/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ ├── x-table/ │ │ │ ├── index.vue │ │ │ ├── metas.yml │ │ │ └── test.js │ │ └── x-textarea/ │ │ ├── index.vue │ │ ├── metas.yml │ │ └── test.js │ ├── datas/ │ │ ├── china_address.json │ │ ├── china_address_v1.json │ │ ├── china_address_v2.json │ │ ├── china_address_v3.json │ │ ├── china_address_v4.json │ │ └── vux_component_list.json │ ├── demo_list.json │ ├── demos/ │ │ ├── Actionsheet.vue │ │ ├── Agree.vue │ │ ├── Alert.vue │ │ ├── AppTest.vue │ │ ├── Badge.vue │ │ ├── Blur.vue │ │ ├── ButtonTab.vue │ │ ├── Calendar.vue │ │ ├── Card.vue │ │ ├── Cell.vue │ │ ├── CellBox.vue │ │ ├── CellFormPreview.vue │ │ ├── Center.vue │ │ ├── CheckIcon.vue │ │ ├── Checker.vue │ │ ├── Checklist.vue │ │ ├── Clocker.vue │ │ ├── Close.vue │ │ ├── ColorPicker.vue │ │ ├── Comment.vue │ │ ├── Confirm.vue │ │ ├── Countdown.vue │ │ ├── Countup.vue │ │ ├── Datetime.vue │ │ ├── DatetimeRange.vue │ │ ├── DatetimeView.vue │ │ ├── Demo.vue │ │ ├── DemoList.vue │ │ ├── Device.vue │ │ ├── Divider.vue │ │ ├── Donate.vue │ │ ├── Drawer.vue │ │ ├── Flexbox.vue │ │ ├── Flow.vue │ │ ├── FormPreview.vue │ │ ├── FormatTime.vue │ │ ├── Grid.vue │ │ ├── GridComponent.vue │ │ ├── GridNumber.vue │ │ ├── Group.vue │ │ ├── Home.vue │ │ ├── Icon.vue │ │ ├── IconLoading.vue │ │ ├── Inline-calendar-start-date.vue │ │ ├── InlineCalendar.vue │ │ ├── InlineCalendarEachDaySlot.vue │ │ ├── InlineCalendarMulti.vue │ │ ├── InlineLoading.vue │ │ ├── InlineXNumber.vue │ │ ├── InlineXSwitch.vue │ │ ├── Issue1211.vue │ │ ├── Issue189.vue │ │ ├── Issue2365.vue │ │ ├── Issue2960.vue │ │ ├── Issue461.vue │ │ ├── Issue471.vue │ │ ├── Issue598.vue │ │ ├── Issue624.vue │ │ ├── Issue649.vue │ │ ├── Issue702.vue │ │ ├── Issue833.vue │ │ ├── Issue865.vue │ │ ├── Line.vue │ │ ├── LoadMore.vue │ │ ├── Loading.vue │ │ ├── Marquee.vue │ │ ├── Masker.vue │ │ ├── Msg.vue │ │ ├── NotFoundComponent.vue │ │ ├── NumberRoller.vue │ │ ├── OnePx.vue │ │ ├── Panel.vue │ │ ├── Picker.vue │ │ ├── Popover.vue │ │ ├── Popup.vue │ │ ├── PopupHeader.vue │ │ ├── PopupPicker.vue │ │ ├── PopupRadio.vue │ │ ├── Previewer.vue │ │ ├── Pulldown.vue │ │ ├── PulldownPullup.vue │ │ ├── Pullup.vue │ │ ├── Qrcode.vue │ │ ├── Querystring.vue │ │ ├── Radio.vue │ │ ├── Range.vue │ │ ├── Rater.vue │ │ ├── Reddot.vue │ │ ├── Scroller.vue │ │ ├── ScrollerFull.vue │ │ ├── ScrollerHeader.vue │ │ ├── ScrollerSwiper.vue │ │ ├── Search.vue │ │ ├── SearchStatic.vue │ │ ├── Selector.vue │ │ ├── Shake.vue │ │ ├── Spinner.vue │ │ ├── Step.vue │ │ ├── Sticky.vue │ │ ├── Swipeout.vue │ │ ├── Swiper.vue │ │ ├── Tab.vue │ │ ├── Tabbar.vue │ │ ├── TabbarIcon.vue │ │ ├── TabbarLink.vue │ │ ├── TabbarSimple.vue │ │ ├── Test.vue │ │ ├── Thanks.vue │ │ ├── Timeline.vue │ │ ├── Toast.vue │ │ ├── ToggleText.vue │ │ ├── Uploader.vue │ │ ├── ViewBox.vue │ │ ├── Wechat.vue │ │ ├── WechatEmotion.vue │ │ ├── WeekCalendar.vue │ │ ├── WepayInput.vue │ │ ├── XAddress.vue │ │ ├── XButton.vue │ │ ├── XCircle.vue │ │ ├── XDialog.vue │ │ ├── XForm.vue │ │ ├── XHeader.vue │ │ ├── XHr.vue │ │ ├── XIcon.vue │ │ ├── XImg.vue │ │ ├── XImgPopup.vue │ │ ├── XImgScroller.vue │ │ ├── XInput.vue │ │ ├── XNumber.vue │ │ ├── XProgress.vue │ │ ├── XSwitch.vue │ │ ├── XTable.vue │ │ ├── XTextarea.vue │ │ ├── countdown/ │ │ │ ├── basic.vue │ │ │ └── manually.vue │ │ ├── style.css │ │ ├── v-chart/ │ │ │ ├── area_basic.vue │ │ │ ├── area_compare.json │ │ │ ├── area_compare.vue │ │ │ ├── area_empty.json │ │ │ ├── area_empty.vue │ │ │ ├── area_gradient.vue │ │ │ ├── area_negative.vue │ │ │ ├── area_stack.vue │ │ │ ├── bar_basic.vue │ │ │ ├── bar_percent.vue │ │ │ ├── bar_series.vue │ │ │ ├── bar_stack.vue │ │ │ ├── line_basic.vue │ │ │ ├── line_color.json │ │ │ ├── line_color.vue │ │ │ ├── line_gradient.vue │ │ │ ├── line_realtime.vue │ │ │ ├── line_smooth_with_dot.vue │ │ │ ├── line_with_dot.vue │ │ │ ├── pie_annular.vue │ │ │ ├── pie_basic.vue │ │ │ ├── point.json │ │ │ ├── point.vue │ │ │ └── prevent_render.vue │ │ └── x-circle/ │ │ ├── basic.vue │ │ └── gradient.vue │ ├── directives/ │ │ ├── click-outside/ │ │ │ └── index.js │ │ ├── inview/ │ │ │ ├── index.js │ │ │ └── inview.js │ │ └── transfer-dom/ │ │ ├── index.js │ │ └── metas.yml │ ├── faq-routes.json │ ├── filters/ │ │ ├── array2String.js │ │ ├── format-time.js │ │ ├── friendly-time.js │ │ ├── name2value.js │ │ └── value2name.js │ ├── libs/ │ │ ├── base.js │ │ ├── clean-style.js │ │ ├── dom.js │ │ ├── eventor.js │ │ ├── get-parent-prop.js │ │ ├── is-array.js │ │ ├── mixin_uuid.js │ │ ├── passive_supported.js │ │ ├── plugin_helper.js │ │ ├── router.js │ │ ├── trim.js │ │ └── webp-support.js │ ├── lints/ │ │ └── shouleBeInGroup.js │ ├── locales/ │ │ ├── all.yml │ │ ├── en.yml │ │ └── zh-CN.yml │ ├── main.js │ ├── mixins/ │ │ ├── calendar-marks.js │ │ ├── multi-items.js │ │ ├── prevent-body-scroll.js │ │ ├── safari-fix.js │ │ └── uuid.js │ ├── plugins/ │ │ ├── ajax/ │ │ │ ├── index.js │ │ │ └── metas.yml │ │ ├── alert/ │ │ │ ├── index.js │ │ │ ├── module.js │ │ │ └── util.js │ │ ├── app/ │ │ │ └── index.js │ │ ├── bus/ │ │ │ ├── index.js │ │ │ └── metas.yml │ │ ├── close-dialogs/ │ │ │ ├── index.js │ │ │ └── metas.yml │ │ ├── config/ │ │ │ └── index.js │ │ ├── confirm/ │ │ │ └── index.js │ │ ├── datetime/ │ │ │ ├── index.js │ │ │ └── metas.yml │ │ ├── device/ │ │ │ ├── doc.md │ │ │ └── index.js │ │ ├── loading/ │ │ │ ├── index.js │ │ │ ├── metas.yaml │ │ │ ├── module.js │ │ │ └── util.js │ │ ├── locale/ │ │ │ └── index.js │ │ ├── toast/ │ │ │ ├── index.js │ │ │ └── metas.yaml │ │ └── wechat/ │ │ ├── 1.3.0.js │ │ ├── 1.3.2.js │ │ ├── index.js │ │ ├── metas.yml │ │ ├── origin.1.3.0.js │ │ └── origin.1.3.2.js │ ├── styles/ │ │ ├── 1px.less │ │ ├── 1px.yml │ │ ├── blank.less │ │ ├── center.less │ │ ├── close.less │ │ ├── close.yml │ │ ├── doc.md │ │ ├── index.less │ │ ├── index.vue │ │ ├── loading.less │ │ ├── reddot.less │ │ ├── reset.less │ │ ├── tap.less │ │ ├── transition.less │ │ ├── variable.less │ │ ├── vux-modal.css │ │ └── weui/ │ │ ├── base/ │ │ │ ├── fn.less │ │ │ ├── mixin/ │ │ │ │ ├── mobile.less │ │ │ │ ├── setArrow.less │ │ │ │ ├── setChecked.less │ │ │ │ ├── setOnepx.less │ │ │ │ └── text.less │ │ │ ├── reset.less │ │ │ └── variable/ │ │ │ ├── color.less │ │ │ ├── global.less │ │ │ ├── weui-cell.less │ │ │ ├── weui-dialog.less │ │ │ ├── weui_button.less │ │ │ ├── weui_grid.less │ │ │ ├── weui_msg.less │ │ │ └── weui_progress.less │ │ ├── icon/ │ │ │ ├── weui_font.less │ │ │ └── weui_icon_font.less │ │ ├── weui.less │ │ └── widget/ │ │ ├── weui-agree/ │ │ │ └── weui-agree.less │ │ ├── weui-animate/ │ │ │ └── weui-animate.less │ │ ├── weui-button/ │ │ │ ├── weui-btn_default.less │ │ │ ├── weui-btn_disabled.less │ │ │ ├── weui-btn_global.less │ │ │ ├── weui-btn_loading.less │ │ │ ├── weui-btn_plain.less │ │ │ ├── weui-btn_primary.less │ │ │ ├── weui-btn_warn.less │ │ │ └── weui-button.less │ │ ├── weui-flex/ │ │ │ └── weui-flex.less │ │ ├── weui-footer/ │ │ │ └── weui-footer.less │ │ ├── weui-grid/ │ │ │ └── weui-grid.less │ │ ├── weui-loading/ │ │ │ └── weui-loading.less │ │ ├── weui-picker/ │ │ │ └── weui-picker.less │ │ ├── weui-slider.less/ │ │ │ └── weui-slider.less │ │ ├── weui-uploader/ │ │ │ └── index.less │ │ ├── weui_cell/ │ │ │ ├── weui-gallery.less │ │ │ ├── weui_access.less │ │ │ ├── weui_cell_global.less │ │ │ ├── weui_check/ │ │ │ │ ├── weui_check_common.less │ │ │ │ ├── weui_checkbox.less │ │ │ │ └── weui_radio.less │ │ │ ├── weui_check.less │ │ │ ├── weui_form/ │ │ │ │ ├── weui-form-preview.less │ │ │ │ ├── weui_form_common.less │ │ │ │ ├── weui_select.less │ │ │ │ └── weui_vcode.less │ │ │ ├── weui_form.less │ │ │ ├── weui_switch.less │ │ │ └── weui_uploader.less │ │ ├── weui_media_box/ │ │ │ └── weui_media_box.less │ │ ├── weui_page/ │ │ │ ├── weui_article.less │ │ │ └── weui_msg.less │ │ ├── weui_panel/ │ │ │ └── weui_panel.less │ │ ├── weui_progress/ │ │ │ └── weui_progress.less │ │ ├── weui_searchbar/ │ │ │ └── weui_searchbar.less │ │ ├── weui_tab/ │ │ │ ├── navbar.less │ │ │ ├── vux-tabbar.less │ │ │ ├── weui-tabbar.less │ │ │ ├── weui_tab.less │ │ │ └── weui_tab_tabbar.less │ │ └── weui_tips/ │ │ ├── weui-badge.less │ │ ├── weui-loadmore.less │ │ ├── weui_actionsheet.less │ │ ├── weui_dialog.less │ │ ├── weui_mask.less │ │ └── weui_toast.less │ ├── theme.less │ ├── tools/ │ │ ├── base64/ │ │ │ └── index.js │ │ ├── cookie/ │ │ │ ├── index.js │ │ │ └── metas.yml │ │ ├── date/ │ │ │ ├── format.js │ │ │ ├── metas.yml │ │ │ └── range.js │ │ ├── debounce/ │ │ │ ├── index.js │ │ │ └── metas.yml │ │ ├── md5/ │ │ │ ├── index.js │ │ │ └── metas.yml │ │ ├── number/ │ │ │ ├── comma.js │ │ │ ├── metas.yml │ │ │ ├── pad.js │ │ │ ├── random.js │ │ │ └── range.js │ │ ├── querystring/ │ │ │ └── index.js │ │ ├── string/ │ │ │ ├── metas.yml │ │ │ └── trim.js │ │ ├── throttle/ │ │ │ ├── index.js │ │ │ └── metas.yml │ │ └── validator/ │ │ └── chinaMobile.js │ └── vuex/ │ └── store.js ├── ssr/ │ └── nuxt/ │ ├── .babelrc │ ├── layouts/ │ │ └── default.vue │ ├── nuxt.config.js │ ├── package.json │ ├── pages/ │ │ └── index.vue │ ├── plugins/ │ │ ├── vux-components.js │ │ └── vux-plugins.js │ └── styles/ │ └── theme.less ├── static/ │ └── .gitkeep └── test/ └── unit/ ├── dateFormat.spec.js ├── index.js └── karma.conf.js