├── .circleci
└── config.yml
├── .editorconfig
├── .github
├── CONTRIBUTING.md
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
└── PULL_REQUEST_TEMPLATE.md
├── .gitignore
├── .idea
├── .gitignore
├── codeStyles
│ └── codeStyleConfig.xml
├── compiler.xml
├── deployment.xml
├── encodings.xml
├── inspectionProfiles
│ └── Project_Default.xml
├── jsLibraryMappings.xml
├── markdown-navigator.xml
├── markdown-navigator
│ └── profiles_settings.xml
├── misc.xml
├── modules.xml
├── runConfigurations
│ ├── we_vue.xml
│ └── we_vue_libs.xml
├── vcs.xml
├── watcherTasks.xml
└── we-vue.iml
├── .prettierrc.js
├── .stylelintrc
├── .vscode
├── launch.json
└── settings.json
├── CHANGELOG.md
├── CNAME
├── README.md
├── images
├── logo.png
└── qrcode-demo.png
├── lerna.json
├── package.json
├── packages
├── demo
│ ├── .browserslistrc
│ ├── .editorconfig
│ ├── .eslintignore
│ ├── .eslintrc.js
│ ├── .gitignore
│ ├── README.md
│ ├── babel.config.js
│ ├── cypress.json
│ ├── package.json
│ ├── postcss.config.js
│ ├── public
│ │ ├── favicon.ico
│ │ ├── images
│ │ │ ├── lazyload_1.jpg
│ │ │ ├── lazyload_2.jpg
│ │ │ ├── lazyload_3.jpg
│ │ │ ├── lazyload_4.jpg
│ │ │ ├── lazyload_5.jpg
│ │ │ ├── lazyload_6.jpg
│ │ │ └── lazyload_7.jpg
│ │ └── index.html
│ ├── src
│ │ ├── App.vue
│ │ ├── assets
│ │ │ ├── data
│ │ │ │ └── area.js
│ │ │ ├── images
│ │ │ │ ├── icon_tabbar.png
│ │ │ │ ├── vcode.jpg
│ │ │ │ └── wevue_placeholder.png
│ │ │ ├── logo.png
│ │ │ └── scss
│ │ │ │ ├── demo.scss
│ │ │ │ └── var.scss
│ │ ├── main.js
│ │ ├── router
│ │ │ ├── index.js
│ │ │ └── nav.json
│ │ ├── store.js
│ │ └── views
│ │ │ ├── 404.vue
│ │ │ ├── actionsheet.vue
│ │ │ ├── area-picker.vue
│ │ │ ├── badge.vue
│ │ │ ├── button.vue
│ │ │ ├── cell.vue
│ │ │ ├── checklist.vue
│ │ │ ├── circle.vue
│ │ │ ├── datetime-picker.vue
│ │ │ ├── dialog.vue
│ │ │ ├── flex.vue
│ │ │ ├── footer.vue
│ │ │ ├── form-preview.vue
│ │ │ ├── grid.vue
│ │ │ ├── header.vue
│ │ │ ├── icons.vue
│ │ │ ├── index.vue
│ │ │ ├── infinite-scroll.vue
│ │ │ ├── input.vue
│ │ │ ├── lazyload.vue
│ │ │ ├── loadmore.vue
│ │ │ ├── number-spinner.vue
│ │ │ ├── panel.vue
│ │ │ ├── picker.vue
│ │ │ ├── popup.vue
│ │ │ ├── progress.vue
│ │ │ ├── radio.vue
│ │ │ ├── search-bar.vue
│ │ │ ├── slider.vue
│ │ │ ├── spinner.vue
│ │ │ ├── swipe-cell.vue
│ │ │ ├── swipe.vue
│ │ │ ├── switch-cell.vue
│ │ │ ├── switch.vue
│ │ │ ├── tabbar.vue
│ │ │ ├── tabs.vue
│ │ │ ├── textarea.vue
│ │ │ ├── toast.vue
│ │ │ └── top-tips.vue
│ ├── tests
│ │ └── e2e
│ │ │ ├── .eslintrc.js
│ │ │ ├── plugins
│ │ │ └── index.js
│ │ │ ├── specs
│ │ │ └── test.js
│ │ │ └── support
│ │ │ ├── commands.js
│ │ │ └── index.js
│ └── vue.config.js
├── docs
│ ├── .babelrc
│ ├── .editorconfig
│ ├── .eslintrc.js
│ ├── .gitignore
│ ├── .prettierrc
│ ├── README.md
│ ├── add-frontmatter.js
│ ├── app.html
│ ├── assets
│ │ └── css
│ │ │ ├── main.scss
│ │ │ ├── tailwind.css
│ │ │ └── typora-vue-theme
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── README_CN.md
│ │ │ ├── vue-dark.css
│ │ │ ├── vue.css
│ │ │ └── vue
│ │ │ ├── 6xK3dSBYKcSV-LCoeQqfX1RYOo3qN67lqDY.woff2
│ │ │ ├── 6xK3dSBYKcSV-LCoeQqfX1RYOo3qNK7lqDY.woff2
│ │ │ ├── 6xK3dSBYKcSV-LCoeQqfX1RYOo3qNa7lqDY.woff2
│ │ │ ├── 6xK3dSBYKcSV-LCoeQqfX1RYOo3qNq7lqDY.woff2
│ │ │ ├── 6xK3dSBYKcSV-LCoeQqfX1RYOo3qO67lqDY.woff2
│ │ │ ├── 6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7l.woff2
│ │ │ ├── 6xK3dSBYKcSV-LCoeQqfX1RYOo3qPK7lqDY.woff2
│ │ │ ├── 6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwkxduz8A.woff2
│ │ │ ├── 6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlBduz8A.woff2
│ │ │ ├── 6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlxdu.woff2
│ │ │ ├── 6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmBduz8A.woff2
│ │ │ ├── 6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmRduz8A.woff2
│ │ │ ├── 6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmhduz8A.woff2
│ │ │ ├── 6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmxduz8A.woff2
│ │ │ ├── 6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwkxduz8A.woff2
│ │ │ ├── 6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlBduz8A.woff2
│ │ │ ├── 6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlxdu.woff2
│ │ │ ├── 6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmBduz8A.woff2
│ │ │ ├── 6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmRduz8A.woff2
│ │ │ ├── 6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmhduz8A.woff2
│ │ │ ├── 6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmxduz8A.woff2
│ │ │ ├── L0x5DF4xlVMF-BfR8bXMIjhEq3-cXbKDO1w.woff2
│ │ │ ├── L0x5DF4xlVMF-BfR8bXMIjhFq3-cXbKDO1w.woff2
│ │ │ ├── L0x5DF4xlVMF-BfR8bXMIjhGq3-cXbKDO1w.woff2
│ │ │ ├── L0x5DF4xlVMF-BfR8bXMIjhHq3-cXbKDO1w.woff2
│ │ │ ├── L0x5DF4xlVMF-BfR8bXMIjhIq3-cXbKDO1w.woff2
│ │ │ ├── L0x5DF4xlVMF-BfR8bXMIjhLq3-cXbKD.woff2
│ │ │ └── L0x5DF4xlVMF-BfR8bXMIjhPq3-cXbKDO1w.woff2
│ ├── components
│ │ ├── docsearch-box.vue
│ │ ├── header.vue
│ │ └── wevue-demo.vue
│ ├── config
│ │ ├── index.js
│ │ ├── nav_v2.js
│ │ └── nav_v3.js
│ ├── generate-post-list.js
│ ├── global.d.ts
│ ├── jest.config.js
│ ├── layouts
│ │ ├── default.vue
│ │ └── error.vue
│ ├── markdown
│ │ ├── contributing.md
│ │ ├── troubleshooting.md
│ │ ├── v2
│ │ │ ├── actionsheet.md
│ │ │ ├── badge.md
│ │ │ ├── button.md
│ │ │ ├── cell-swipe.md
│ │ │ ├── cell.md
│ │ │ ├── checklist.md
│ │ │ ├── circle.md
│ │ │ ├── datetime-picker.md
│ │ │ ├── dialog.md
│ │ │ ├── flex.md
│ │ │ ├── footer.md
│ │ │ ├── form-preview.md
│ │ │ ├── grid.md
│ │ │ ├── header.md
│ │ │ ├── icon.md
│ │ │ ├── index.md
│ │ │ ├── infinite-scroll.md
│ │ │ ├── input.md
│ │ │ ├── lazyload.md
│ │ │ ├── loadmore.md
│ │ │ ├── navbar.md
│ │ │ ├── number-spinner.md
│ │ │ ├── panel.md
│ │ │ ├── picker.md
│ │ │ ├── popup.md
│ │ │ ├── progress.md
│ │ │ ├── quickstart.md
│ │ │ ├── radio.md
│ │ │ ├── search-bar.md
│ │ │ ├── slider.md
│ │ │ ├── spinner.md
│ │ │ ├── swipe.md
│ │ │ ├── switch.md
│ │ │ ├── tabbar.md
│ │ │ ├── tabs.md
│ │ │ ├── textarea.md
│ │ │ ├── toast.md
│ │ │ └── top-tips.md
│ │ └── v3
│ │ │ ├── actionsheet.md
│ │ │ ├── area-picker.md
│ │ │ ├── badge.md
│ │ │ ├── button.md
│ │ │ ├── cell.md
│ │ │ ├── checklist.md
│ │ │ ├── circle.md
│ │ │ ├── datetime-picker.md
│ │ │ ├── dialog.md
│ │ │ ├── flex.md
│ │ │ ├── footer.md
│ │ │ ├── form-preview.md
│ │ │ ├── grid.md
│ │ │ ├── header.md
│ │ │ ├── icon.md
│ │ │ ├── index.md
│ │ │ ├── infinite-scroll.md
│ │ │ ├── input.md
│ │ │ ├── lazyload.md
│ │ │ ├── loadmore.md
│ │ │ ├── navbar.md
│ │ │ ├── number-spinner.md
│ │ │ ├── panel.md
│ │ │ ├── picker.md
│ │ │ ├── popup.md
│ │ │ ├── progress.md
│ │ │ ├── quickstart.md
│ │ │ ├── radio.md
│ │ │ ├── search-bar.md
│ │ │ ├── slider.md
│ │ │ ├── spinner.md
│ │ │ ├── swipe-cell.md
│ │ │ ├── swipe.md
│ │ │ ├── switch-cell.md
│ │ │ ├── switch.md
│ │ │ ├── tabbar.md
│ │ │ ├── tabs.md
│ │ │ ├── textarea.md
│ │ │ ├── toast.md
│ │ │ └── top-tips.md
│ ├── middleware
│ │ └── README.md
│ ├── nuxt.config.ts
│ ├── package.json
│ ├── pages
│ │ ├── doc
│ │ │ └── _version
│ │ │ │ └── _title.vue
│ │ └── index.vue
│ ├── plugins
│ │ └── README.md
│ ├── static
│ │ ├── README.md
│ │ ├── favicon.ico
│ │ ├── images
│ │ │ ├── demo_qrcode.png
│ │ │ ├── easy-to-use.jpg
│ │ │ ├── full-document.jpg
│ │ │ ├── logo.png
│ │ │ └── online-demo.jpg
│ │ ├── robots.txt
│ │ └── svg
│ │ │ └── icon_search.svg
│ ├── store
│ │ └── index.ts
│ ├── tailwind.config.js
│ ├── test
│ │ └── Logo.spec.js
│ ├── tsconfig.json
│ └── tslint.json
└── we-vue
│ ├── .browserslistrc
│ ├── .eslintignore
│ ├── .eslintrc.js
│ ├── .gitignore
│ ├── .npmignore
│ ├── .prettierrc.js
│ ├── README.md
│ ├── babel.config.js
│ ├── build
│ ├── build-lib.js
│ ├── config.js
│ ├── webpack.base.conf.js
│ ├── webpack.dev.conf.js
│ └── webpack.prod.conf.js
│ ├── jest.config.js
│ ├── package.json
│ ├── postcss.config.js
│ ├── src
│ ├── assets
│ │ ├── iconfont
│ │ │ ├── iconfont.css
│ │ │ ├── iconfont.eot
│ │ │ ├── iconfont.svg
│ │ │ ├── iconfont.ttf
│ │ │ └── iconfont.woff
│ │ └── loading-spin.svg
│ ├── components
│ │ ├── WActionsheet
│ │ │ ├── WActionsheet.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WActionsheet.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WActionsheet.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WAreaPicker
│ │ │ ├── WAreaPicker.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WAreaPicker.spec.ts
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── WAreaPicker.spec.ts.snap
│ │ │ │ └── area.js
│ │ │ └── index.ts
│ │ ├── WBadge
│ │ │ ├── WBadge.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WBadge.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WBadge.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WButton
│ │ │ ├── WButton.tsx
│ │ │ ├── __test__
│ │ │ │ └── WButton.spec.ts
│ │ │ └── index.ts
│ │ ├── WCell
│ │ │ ├── WCell.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WCell.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WCell.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WChecklist
│ │ │ ├── WChecklist.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WChecklist.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WChecklist.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WCircle
│ │ │ ├── WCircle.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WCircle.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WCircle.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WDatetimePicker
│ │ │ ├── WDatetimePicker.tsx
│ │ │ ├── __test__
│ │ │ │ └── WDatetimePicker.spec.ts
│ │ │ └── index.ts
│ │ ├── WDialog
│ │ │ ├── WDialog.tsx
│ │ │ ├── __test__
│ │ │ │ └── WDialog.spec.ts
│ │ │ └── index.ts
│ │ ├── WFlex
│ │ │ ├── WFlex.ts
│ │ │ ├── __test__
│ │ │ │ ├── WFlex.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WFlex.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WFlexItem
│ │ │ ├── WFlexItem.ts
│ │ │ ├── __test__
│ │ │ │ ├── WFlexItem.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WFlexItem.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WFooter
│ │ │ ├── WFooter.tsx
│ │ │ ├── WFooterLink.ts
│ │ │ ├── __test__
│ │ │ │ ├── WFooter.spec.ts
│ │ │ │ ├── WFooterLink.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ ├── WFooter.spec.ts.snap
│ │ │ │ │ └── WFooterLink.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WFormPreview
│ │ │ ├── WFormPreview.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WFormPreview.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WFormPreview.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WGrid
│ │ │ ├── WGrid.ts
│ │ │ ├── __test__
│ │ │ │ ├── WGrid.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WGrid.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WGridItem
│ │ │ ├── WGridItem.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WGridItem.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WGridItem.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WGroup
│ │ │ ├── WGroup.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WGroup.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WGroup.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WHeader
│ │ │ ├── WHeader.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WHeader.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WHeader.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WIcon
│ │ │ ├── WIcon.ts
│ │ │ ├── __test__
│ │ │ │ ├── WIcon.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WIcon.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WInput
│ │ │ ├── WInput.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WInput.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WInput.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WLoadmore
│ │ │ ├── WLoadmore.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WLoadmore.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WLoadmore.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WMediaBox
│ │ │ ├── WMediaBox.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WMediaBox.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WMediaBox.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WNumberSpinner
│ │ │ ├── WNumberSpinner.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WNumberSpinner.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WNumberSpinner.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WPanel
│ │ │ ├── WPanel.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WPanel.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WPanel.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WPicker
│ │ │ ├── WPicker.tsx
│ │ │ ├── WPickerColumn.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WPicker.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WPicker.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WPopup
│ │ │ ├── WPopup.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WPopup.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WPopup.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WProgress
│ │ │ ├── WProgress.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WProgress.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WProgress.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WRadio
│ │ │ ├── WRadio.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WRadio.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WRadio.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WSearchBar
│ │ │ ├── WSearchBar.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WSearchBar.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WSearchBar.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WSlider
│ │ │ ├── WSlider.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WSlider.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WSlider.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WSpinner
│ │ │ ├── WSpinner.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WSpinner.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WSpinner.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WSwipe
│ │ │ ├── WSwipe.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WSwipe.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WSwipe.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WSwipeCell
│ │ │ ├── WSwipeCell.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WSwipeCell.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WSwipeCell.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WSwipeCellButton
│ │ │ ├── WSwipeCellButton.ts
│ │ │ ├── __test__
│ │ │ │ ├── WSwipeCellButton.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WSwipeCellButton.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WSwipeItem
│ │ │ ├── WSwipeItem.tsx
│ │ │ └── index.ts
│ │ ├── WSwitch
│ │ │ ├── WSwitch.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WSwitch.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WSwitch.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WSwitchCell
│ │ │ ├── WSwitchCell.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WSwitchCell.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WSwitchCell.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WTab
│ │ │ ├── WTab.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WTab.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WTab.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WTabbar
│ │ │ ├── WTabbar.ts
│ │ │ ├── __test__
│ │ │ │ ├── WTabbar.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WTabbar.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WTabbarItem
│ │ │ ├── WTabbarItem.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WTabbarItem.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WTabbarItem.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WTabs
│ │ │ ├── WTabs.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WTabs.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WTabs.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WTextarea
│ │ │ ├── WTextarea.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WTextarea.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WTextarea.spec.ts.snap
│ │ │ └── index.ts
│ │ ├── WToast
│ │ │ ├── WToast.tsx
│ │ │ ├── __test__
│ │ │ │ └── WToast.spec.ts
│ │ │ └── index.ts
│ │ ├── WTopTips
│ │ │ ├── WTopTips.tsx
│ │ │ ├── __test__
│ │ │ │ ├── WTopTips.spec.ts
│ │ │ │ └── __snapshots__
│ │ │ │ │ └── WTopTips.spec.ts.snap
│ │ │ └── index.ts
│ │ └── index.ts
│ ├── directives
│ │ ├── __test__
│ │ │ ├── click-outside.spec.ts
│ │ │ └── infinite-scroll.spec.ts
│ │ ├── click-outside.ts
│ │ ├── index.ts
│ │ └── infinite-scroll.ts
│ ├── entry-lib.ts
│ ├── globals.d.ts
│ ├── index.ts
│ ├── install.ts
│ ├── mixins
│ │ ├── find-parent
│ │ │ ├── __test__
│ │ │ │ └── find-parent.spec.ts
│ │ │ └── index.ts
│ │ ├── picker
│ │ │ └── index.ts
│ │ ├── popup
│ │ │ ├── Modal.tsx
│ │ │ ├── __test__
│ │ │ │ └── popup.spec.ts
│ │ │ ├── context.ts
│ │ │ ├── index.ts
│ │ │ └── manager.ts
│ │ ├── routable
│ │ │ ├── __test__
│ │ │ │ └── routable.spec.ts
│ │ │ └── index.ts
│ │ ├── toggleable
│ │ │ ├── __test__
│ │ │ │ └── toggleable.spec.ts
│ │ │ └── index.ts
│ │ ├── touchable
│ │ │ ├── __test__
│ │ │ │ └── touchable.spec.ts
│ │ │ └── index.ts
│ │ └── validatable
│ │ │ └── index.ts
│ ├── plugins
│ │ ├── index.ts
│ │ └── lazyload
│ │ │ ├── __test__
│ │ │ └── lazyload.spec.ts
│ │ │ └── index.ts
│ ├── scss
│ │ ├── actionsheet.scss
│ │ ├── badge.scss
│ │ ├── base.scss
│ │ ├── base
│ │ │ ├── fn.scss
│ │ │ ├── mixin
│ │ │ │ ├── mobile.scss
│ │ │ │ ├── setArrow.scss
│ │ │ │ ├── setOnepx.scss
│ │ │ │ └── text.scss
│ │ │ ├── reset.scss
│ │ │ └── variable
│ │ │ │ ├── color.scss
│ │ │ │ ├── global.scss
│ │ │ │ ├── weui-button.scss
│ │ │ │ ├── weui-cell.scss
│ │ │ │ ├── weui-dialog.scss
│ │ │ │ ├── weui-grid.scss
│ │ │ │ ├── weui-msg.scss
│ │ │ │ └── weui-progress.scss
│ │ ├── button.scss
│ │ ├── cell-swipe-button.scss
│ │ ├── cell-swipe.scss
│ │ ├── cell.scss
│ │ ├── checklist.scss
│ │ ├── circle.scss
│ │ ├── datetime-picker.scss
│ │ ├── dialog.scss
│ │ ├── flex.scss
│ │ ├── footer.scss
│ │ ├── form-preview.scss
│ │ ├── grid.scss
│ │ ├── group.scss
│ │ ├── header.scss
│ │ ├── icon.scss
│ │ ├── index.scss
│ │ ├── input.scss
│ │ ├── loadmore.scss
│ │ ├── media-box.scss
│ │ ├── number-spinner.scss
│ │ ├── panel.scss
│ │ ├── picker.scss
│ │ ├── popup.scss
│ │ ├── progress.scss
│ │ ├── radio.scss
│ │ ├── search-bar.scss
│ │ ├── slider.scss
│ │ ├── spinner.scss
│ │ ├── swipe.scss
│ │ ├── switch.scss
│ │ ├── tabbar.scss
│ │ ├── tabs.scss
│ │ ├── textarea.scss
│ │ ├── toast.scss
│ │ └── top-tips.scss
│ ├── shims-tsx.d.ts
│ └── utils
│ │ ├── __test__
│ │ └── scrolll.spec.ts
│ │ ├── event.ts
│ │ ├── index.ts
│ │ ├── mixins.ts
│ │ ├── raf.ts
│ │ ├── scroll.ts
│ │ └── touches.ts
│ ├── test
│ └── unit
│ │ ├── .eslintrc
│ │ ├── setup.ts
│ │ └── utils.ts
│ ├── tsconfig.dist.json
│ ├── tsconfig.json
│ ├── tslint.json
│ └── types
│ ├── index.d.ts
│ ├── lib.d.ts
│ └── test
│ ├── lib.ts
│ └── tsconfig.json
├── scripts
└── release.js
├── tsconfig.json
└── yarn.lock
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.md]
12 | trim_trailing_whitespace = false
13 |
--------------------------------------------------------------------------------
/.github/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # WE-VUE 贡献指南
2 |
3 | 首先,欢迎你使用 WE-VUE!
4 |
5 | WE-VUE 使用 Vue.js 将 weui.css 这一套微信官方视觉样式封装成了简单易用的组件,适合微信等移动端开发。
6 |
7 | WE-VUE 仍然在不断地丰富和完善中,它的进步需要大家的支持和参与,非常欢迎具有开源、分享精神的各路大佬贡献代码或提出宝贵建议,主了保证代码质量并方便维护,请在开始之前请阅读以下内容。
8 |
9 | ## Issue 规范
10 |
11 | - issue 仅用于提交 Bug 或 Feature,其它内容可能会被直接关闭。
12 |
13 | - 在提交 issue 之前,请搜索相关内容是否已被提出。
14 |
15 | - 请说明 WE-VUE 的版本号,并提供操作系统和浏览器信息。
16 |
17 | - 尽可能详细、明确地说明问题,为此可粘贴截图或相关代码片段,以便重现所提到的问题。
18 |
19 | ## Pull Request 规范
20 |
21 | - fork。
22 |
23 | - 本项目使用的严格的代码风格规范检查,以保证统一的风格和代码质量,请确保提交的代码遵守这些规范并能通过 Eslint 检查.
24 |
25 | - 如果是修复 Bug,请在 PR 中给出描述信息。
26 |
27 | - 对于新增功能,请附上说明,能加上相关的单元测试及文档更好。
28 |
29 | ## 代码规范
30 |
31 | - [JavaScript Standard Style](https://standardjs.com/)
32 | - [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue)
33 |
34 | 对于 eslint-plugin-vue 所检查的规则,请参阅其文档,同时也建议阅读 Vue.js 的[官方风格指南](https://cn.vuejs.org/v2/style-guide/)。
35 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 | ---
8 |
9 | **环境信息:**
10 | - 设备: [e.g. iPhone6]
11 | - OS: [e.g. iOS8.1]
12 | - 浏览器: [e.g. chfome]
13 | - we-vue 版本: [e.g. v3.0.0]
14 | - 包管理工具: [npm/yarn]
15 | - Node.js 版本:
16 |
17 | **Bug 描述**
18 | 简要描述 BUG
19 |
20 | **重现**
21 | 重现步骤
22 | 1. Go to '...'
23 | 2. Click on '....'
24 |
25 | **预期结果**
26 | 描述预期得到的结果
27 |
28 | **截图或代码**
29 | 贴上截图或者相关使用代码,能更清楚的说明问题。
30 |
31 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | 为了使您的 PR 更快速地被处理,在提交 PR 之前请您检查是否符合以下事项:
2 |
3 | * 确保您遵循了贡献指南。
4 | * 在创建 PR 前进行变基 (Rebase),以保证提交历史简洁清晰。
5 | * 对 PR 进行适当的描述或指定其针对的 Issue。
6 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules/
3 | *.log*
4 |
5 | /.env
6 |
7 | !.idea
8 |
--------------------------------------------------------------------------------
/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /workspace.xml
3 | !/compiler.xml
4 |
--------------------------------------------------------------------------------
/.idea/codeStyles/codeStyleConfig.xml:
--------------------------------------------------------------------------------
1 |
12 |
404
4 |
4 |
8 |
6 |
32 | {this.$slots.label} 33 |
34 | } 35 | { this.$slots.default } 36 |