diff --git a/.eslintrc.js b/.eslintrc.js index c01c74327..27cd432b1 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -19,7 +19,6 @@ module.exports = { globals: { expect: true, sinon: true, - zanui: true, document: false, navigator: false, window: false, diff --git a/README.md b/README.md index 68fa8e9b2..81a93c082 100644 --- a/README.md +++ b/README.md @@ -7,10 +7,26 @@

A Vue.js 2.0 Mobile UI at YouZan

-[![Build Status](https://travis-ci.org/youzan/vant.svg?branch=master)](https://travis-ci.org/youzan/vant) [![Coverage Status](https://img.shields.io/codecov/c/github/youzan/vant/dev.svg)](https://codecov.io/github/youzan/vant?branch=dev) [![npm version](https://img.shields.io/npm/v/vant.svg?style=flat)](https://www.npmjs.com/package/vant) [![downloads](https://img.shields.io/npm/dt/vant.svg)](https://www.npmjs.com/package/vant) +[![Build Status](https://travis-ci.org/youzan/vant.svg?branch=master)](https://travis-ci.org/youzan/vant) +[![downloads](https://img.shields.io/npm/dt/vant.svg)](https://www.npmjs.com/package/vant) +[![Coverage Status](https://img.shields.io/codecov/c/github/youzan/vant/dev.svg)](https://codecov.io/github/youzan/vant?branch=dev) +[![npm version](https://img.shields.io/npm/v/vant.svg?style=flat)](https://www.npmjs.com/package/vant) +[![license](https://img.shields.io/npm/l/vant.svg)](https://www.npmjs.com/package/vant) [访问中文版](./README.zh-CN.md) +## Features + +- Components come from wechat mall business of [YouZan](https://youzan.com) +- Extensive documentation and demos. +- Support [babel-plugin-import](https://github.com/ant-design/babel-plugin-import) +- Unit test coverage over 90% +- Not only have the basic components, but also have a lot of business components + +

+ feature demo +

+ ## Install ```shell @@ -18,17 +34,75 @@ npm i -S vant ``` ## Quickstart -See [Quickstart](https://www.youzanyun.com/zanui/vue#/en-US/component/quickstart). - -## How to contribute +#### 1. Use [babel-plugin-import](https://github.com/ant-design/babel-plugin-import) (Recommended) +```bash +# Install babel-plugin-import +npm i babel-plugin-import -D +``` + +```js +// set babel config in .babelrc or babel-loader +{ + "plugins": [ + ["import", { "libraryName": "vant", "style": true }] + ] +} +``` + +Then you can import components from vant, equivalent to import manually below. + +```js +import { Button } from 'vant'; +``` + +#### 2. Manually import + +```js +import { Button } from 'vant/lib/button'; +import 'vant/lib/vant-css/base.css'; +import 'vant/lib/vant-css/button.css'; +``` + +#### 3. Import all components + +```js +import Vue from 'vue'; +import Vant from 'vant'; +import 'vant/lib/vant-css/index.css'; + +Vue.use(Vant); +``` + +### CDN + +```html + + + + + +``` + +See more in [Quickstart](https://www.youzanyun.com/zanui/vant#/en-US/component/quickstart). + +## Contribution Please make sure to read the [Contributing Guide](./.github/CONTRIBUTING.md) before making a pull request. -## Preview +## Browser Support +Modern browsers and Android 4.0+, iOS 6+. +## Links +- [Documentation](https://www.youzanyun.com/zanui/vant) +- [Change log](https://www.youzanyun.com/zanui/vant#/en-US/component/changelog) +- [React UI Zent](https://www.youzanyun.com/zanui/zent) +- [vue-cli-template-vant](https://github.com/youzan/vue-cli-template-vant) +- [vant-demo](https://github.com/chenjiahan/vant-demo) + +## Preview You can scan the following QR code to access the demo: -![zanui_vue_mobile_qrcode](https://img.yzcdn.cn/v2/image/youzanyun/zanui/pc/zanui_vue_mobile_preview_03.png) +![qrcode](https://img.yzcdn.cn/v2/image/youzanyun/zanui/pc/zanui_vue_mobile_preview_03.png) ## LICENSE diff --git a/README.zh-CN.md b/README.zh-CN.md index 0df28304e..8a8a31566 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -7,29 +7,105 @@

A Vue.js 2.0 Mobile UI at YouZan

-[![Build Status](https://travis-ci.org/youzan/vant.svg?branch=master)](https://travis-ci.org/youzan/vant) [![Coverage Status](https://img.shields.io/codecov/c/github/youzan/vant/dev.svg)](https://codecov.io/github/youzan/vant?branch=dev) [![npm version](https://img.shields.io/npm/v/vant.svg?style=flat)](https://www.npmjs.com/package/vant) [![downloads](https://img.shields.io/npm/dt/vant.svg)](https://www.npmjs.com/package/vant) +[![Build Status](https://travis-ci.org/youzan/vant.svg?branch=master)](https://travis-ci.org/youzan/vant) +[![downloads](https://img.shields.io/npm/dt/vant.svg)](https://www.npmjs.com/package/vant) +[![Coverage Status](https://img.shields.io/codecov/c/github/youzan/vant/dev.svg)](https://codecov.io/github/youzan/vant?branch=dev) +[![npm version](https://img.shields.io/npm/v/vant.svg?style=flat)](https://www.npmjs.com/package/vant) +[![license](https://img.shields.io/npm/l/vant.svg)](https://www.npmjs.com/package/vant) -## 一、安装 +## 特性 + +- 组件都是来源于有赞的微商城业务,并且经过有赞业务的检验,更靠谱 +- 丰富的文档和Demo +- 支持 [babel-plugin-import](https://github.com/ant-design/babel-plugin-import) +- 单元测试覆盖率超过90% +- 不仅仅有丰富的基础组件,还有许多的业务组件 + +

+ feature demo +

+ +## 安装 ```shell npm i -S vant ``` -## 二、快速上手 -参考 [Quickstart](https://www.youzanyun.com/zanui/vue#/zh-CN/component/quickstart). +## 快速上手 -## 三、贡献代码 +#### 方式一. 使用 [babel-plugin-import](https://github.com/ant-design/babel-plugin-import) (推荐) +```bash +# 安装 babel-plugin-import 插件 +npm i babel-plugin-import -D +``` + +```js +// 在 .babelrc 或 babel-loader 中添加插件配置 +{ + "plugins": [ + ["import", { "libraryName": "vant", "style": true }] + ] +} +``` + +接着你可以在代码中直接引入 Vant 组件,插件会自动将代码转化为方式二中的按需引入形式。 + +```js +import { Button } from 'vant'; +``` + +#### 方式二. 按需引入组件 + +```js +import { Button } from 'vant/lib/button'; +import 'vant/lib/vant-css/base.css'; +import 'vant/lib/vant-css/button.css'; +``` + +#### 方式三. 导入所有组件 + +```js +import Vue from 'vue'; +import Vant from 'vant'; +import 'vant/lib/vant-css/index.css'; + +Vue.use(Vant); +``` + +### CDN + +```html + + + + + +``` + +更多内容请参考 [快速上手](https://www.youzanyun.com/zanui/vant#/zh-CN/component/quickstart). + +## 贡献代码 修改代码请阅读我们的 [开发指南](./.github/CONTRIBUTING.zh-CN.md)。 使用过程中发现任何问题都可以提 [Issue](https://github.com/youzan/vant/issues) 给我们,当然,我们也非常欢迎你给我们发 [PR](https://github.com/youzan/vant/pulls)。 -## 四、手机预览 +## 浏览器支持 +现代浏览器以及 Android 4.0+, iOS 6+. + +## 手机预览 可以手机扫码以下二维码访问手机端demo: -![zanui_vue_mobile_qrcode](https://img.yzcdn.cn/v2/image/youzanyun/zanui/pc/zanui_vue_mobile_preview_03.png) +![qrcode](https://img.yzcdn.cn/v2/image/youzanyun/zanui/pc/zanui_vue_mobile_preview_03.png) + +## 链接 +- [详细文档](https://www.youzanyun.com/zanui/vant) +- [更新日志](https://www.youzanyun.com/zanui/vant#/en-US/component/changelog) +- [React 组件库 Zent](https://www.youzanyun.com/zanui/zent) +- [vue-cli-template-vant](https://github.com/youzan/vue-cli-template-vant) +- [vant-demo](https://github.com/chenjiahan/vant-demo) -## 五、开源协议 +## 开源协议 本项目基于 [MIT](https://zh.wikipedia.org/wiki/MIT%E8%A8%B1%E5%8F%AF%E8%AD%89) 协议,请自由地享受和参与开源。 diff --git a/build/bin/build-style-entry.js b/build/bin/build-style-entry.js index 525d34502..a760de350 100644 --- a/build/bin/build-style-entry.js +++ b/build/bin/build-style-entry.js @@ -9,28 +9,25 @@ const dependencyTree = require('dependency-tree'); components.forEach(componentName => { const libDir = path.resolve(__dirname, '../../lib'); - const dependencies = analyzeDependencies(componentName, libDir); - const styleDir = path.join(libDir, componentName, '/style'); - const content = dependencies.map(component => `require('../../vant-css/${component}.css');`); - fs.outputFileSync(path.join(styleDir, './index.js'), content.join('\n')); + const content = analyzeDependencies(componentName, libDir).map(component => `require('../../vant-css/${component}.css');`); + fs.outputFileSync(path.join(libDir, componentName, './style/index.js'), content.join('\n')); }); // Analyze component dependencies function analyzeDependencies(componentName, libDir) { - const dependencies = dependencyTree({ + const checkList = ['base']; + search(dependencyTree({ directory: libDir, filename: path.resolve(libDir, componentName, 'index.js'), filter: path => path.indexOf('vant/lib/') !== -1 - }) - const checkList = ['base']; - search(dependencies, checkList); + }), checkList); return checkList.filter(component => checkComponentHasStyle(component)); } function search(tree, checkList) { tree && Object.keys(tree).forEach(key => { search(tree[key], checkList); - const component = key.split('/vant/lib/')[1].replace('/index.js', ''); + const component = key.split('/vant/lib/')[1].replace('/index.js', '').replace('mixins/', ''); if (checkList.indexOf(component) === -1) { checkList.push(component); } @@ -38,10 +35,5 @@ function search(tree, checkList) { } function checkComponentHasStyle(componentName) { - const cssPath = path.join(__dirname, '../../lib/vant-css/', `${componentName}.css`); - return fs.existsSync(cssPath); -} - -function toPascal(str) { - return ('_' + str).replace(/[_.-](\w|$)/g, (_, x) => x.toUpperCase()); + return fs.existsSync(path.join(__dirname, '../../lib/vant-css/', `${componentName}.css`)); } diff --git a/build/webpack.config.dev.js b/build/webpack.config.dev.js index 71d194e41..1ecb1ab43 100644 --- a/build/webpack.config.dev.js +++ b/build/webpack.config.dev.js @@ -37,8 +37,8 @@ module.exports = { host: '0.0.0.0', historyApiFallback: { rewrites: [ - { from: /^\/zanui\/vue\/examples/, to: '/examples.html' }, - { from: /^\/zanui\/vue/, to: '/index.html' } + { from: /^\/zanui\/vant\/examples/, to: '/examples.html' }, + { from: /^\/zanui\/vant/, to: '/index.html' } ] }, stats: 'errors-only' diff --git a/build/webpack.config.prod.js b/build/webpack.config.prod.js index 669f10f37..972b0205f 100644 --- a/build/webpack.config.prod.js +++ b/build/webpack.config.prod.js @@ -6,7 +6,7 @@ const devConfig = require('./webpack.config.dev.js'); module.exports = merge(devConfig, { output: { path: path.join(__dirname, '../docs/dist'), - publicPath: 'https://b.yzcdn.cn/zanui/vue/', + publicPath: 'https://b.yzcdn.cn/zanui/vant/', filename: '[name].[hash:8].js', umdNamedDefine: true, chunkFilename: 'async_[name].[chunkhash:8].js' diff --git a/docs/examples-docs/en-US/actionsheet.md b/docs/examples-docs/en-US/actionsheet.md index b85edf8f1..987efa494 100644 --- a/docs/examples-docs/en-US/actionsheet.md +++ b/docs/examples-docs/en-US/actionsheet.md @@ -1,33 +1,23 @@ @@ -48,8 +38,7 @@ Vue.component(DatetimePicker.name, DatetimePicker); :max-hour="maxHour" :min-date="minDate" :max-date="maxDate" - @change="handlePickerChange"> - +/> ``` ```javascript @@ -62,20 +51,14 @@ export default { maxDate: new Date(2019, 10, 1), currentDate: new Date(2018, 0, 1) }; - }, - - methods: { - handlePickerChange(picker) { - console.log(picker); - } } }; ``` ::: -#### 选择日期 +#### Date Picker -:::demo 选择日期 +:::demo Date Picker ```html - +/> ``` ::: -#### 选择时间 +#### Time Picker -:::demo 选择时间 +:::demo Time Picker ```html - +/> ``` ::: @@ -108,30 +89,17 @@ export default { | Attribute | Description | Type | Default | Accepted Values | |-----------|-----------|-----------|-------------|-------------| -| visibileColumnCount | 每一列可见备选元素的个数 | Number | 5 | - | -| type | 组件类型 | String | 'datetime' | 'datetime', 'date', 'time' | -| minDate | 可选的最小日期 | Date | 十年前的 1 月 1 日 | - | -| maxDate | 可选的最大日期 | Date | 十年后的 12 月 31 日 | - | -| minHour | 可选的最小小时 | Number | 0 | - | -| maxHour | 可选的最大小时 | Number | 23 | - | +| type | Picker type | `String` | 'datetime' | 'date', 'time' | +| minDate | Min date | `Date` | Ten years ago on January 1 | - | +| maxDate | Max date | `Date` | Ten years later on December 31 | - | +| minHour | Min hour | `Number` | `0` | - | +| maxHour | Max hour | `Number` | `23` | - | +| visibileColumnCount | Count of columns to show | `Number` | `5` | - | ### Event | Event | Description | Arguments | |-----------|-----------|-----------| -| change | 当值变化时触发的事件 | picker 实例 | -| confirm | 点击完成按钮时触发的事件 | 当前 value | -| cancel | 点击取消按钮时触发的事件 | - | - -### change事件 - -在`change`事件中,可以获取到`picker`实例,对`picker`进行相应的更新等操作: - -| 函数 | Description | -|-----------|-----------| -| getColumnValue(index) | 获取对应列中选中的值 | -| setColumnValue(index, value) | 设置对应列中选中的值 | -| getColumnValues(index) | 获取对应列中所有的备选值 | -| setColumnValues(index, values) | 设置对应列中所有的备选值 | -| getValues() | 获取所有列中被选中的值,返回一个数组 | -| setValues(values) | `values`为一个数组,设置所有列中被选中的值 | +| change | Triggered when value changed | picker: picker instance | +| confirm | Triggered when click confirm button | value: current value | +| cancel | Triggered when click cancel button | - | diff --git a/docs/examples-docs/en-US/dialog.md b/docs/examples-docs/en-US/dialog.md index f7a53e34a..97f8d5ac6 100644 --- a/docs/examples-docs/en-US/dialog.md +++ b/docs/examples-docs/en-US/dialog.md @@ -1,27 +1,31 @@ @@ -41,9 +41,14 @@ Vue.component(PullRefresh.name, PullRefresh); :::demo ```html - - -

刷新次数: {{ count }}

+ + +

Refresh Count: {{ count }}

``` @@ -60,7 +65,7 @@ export default { isLoading() { if (this.isLoading) { setTimeout(() => { - Toast('刷新成功'); + Toast('Refresh Success'); this.isLoading = false; this.count++; }, 500); @@ -75,19 +80,19 @@ export default { | Attribute | Description | Type | Default | Accepted Values | |-----------|-----------|-----------|-------------|-------------| -| v-model | 是否在加载中 | `Boolean` | - | - | -| pullingText | 下拉过程中顶部文案 | `String` | `下拉即可刷新...` | - | -| loosingText | 释放过程中顶部文案 | `String` | `释放即可刷新...` | - | -| loadingText | 加载过程中顶部文案 | `String` | `加载中...` | - | -| animationDuration | 动画时长 | `Number` | `300` | - | -| headHeight | 顶部内容高度 | `Number` | `50` | - | +| v-model | Loading status | `Boolean` | - | - | +| pullingText | Text to show when pulling | `String` | `下拉即可刷新...` | - | +| loosingText | Text to show when loosing | `String` | `释放即可刷新...` | - | +| loadingText | Text to show when loading | `String` | `加载中...` | - | +| animationDuration | Animation duration | `Number` | `300` | - | +| headHeight | Height of head | `Number` | `50` | - | ### Slot | name | Description | |-----------|-----------| -| - | 自定义内容 | -| normal | 非下拉状态时顶部内容 | -| pulling | 下拉过程中顶部内容 | -| loosing | 释放过程中顶部内容 | -| loading | 加载过程中顶部内容 | +| - | Default slot | +| normal | Content of head when at normal status | +| pulling | Content of head when at pulling | +| loosing | Content of head when at loosing | +| loading | Content of head when at loading | diff --git a/docs/examples-docs/en-US/swipe.md b/docs/examples-docs/en-US/swipe.md index 57fa76f6d..5c2287909 100644 --- a/docs/examples-docs/en-US/swipe.md +++ b/docs/examples-docs/en-US/swipe.md @@ -72,6 +72,7 @@ export default { | autoplay | Autoplay interval (ms) | `Number` | - | - | | duration | Animation duration (ms) | `Number` | `500` | - | | showIndicators | Whether to show indocators | `Boolean` | `true` | - | +| initialSwipe | Index of initial swipe, start from 0 | `Number` | `0` | - | ### Event diff --git a/docs/examples-docs/en-US/switch-cell.md b/docs/examples-docs/en-US/switch-cell.md index 24a872f72..cc7f20362 100644 --- a/docs/examples-docs/en-US/switch-cell.md +++ b/docs/examples-docs/en-US/switch-cell.md @@ -1,6 +1,6 @@ ## SwitchCell -`SwitchCell`组件是对`Switch`和`Cell`组件的封装 +`SwitchCell` component is an encapsulation of `Switch` and `Cell`. @@ -48,8 +38,7 @@ Vue.component(DatetimePicker.name, DatetimePicker); :max-hour="maxHour" :min-date="minDate" :max-date="maxDate" - @change="handlePickerChange"> - +/> ``` ```javascript @@ -62,12 +51,6 @@ export default { maxDate: new Date(2019, 10, 1), currentDate: new Date(2018, 0, 1) }; - }, - - methods: { - handlePickerChange(picker) { - console.log(picker); - } } }; ``` @@ -83,8 +66,7 @@ export default { :min-hour="minHour" :max-hour="maxHour" :min-date="minDate" - @change="handlePickerChange"> - +/> ``` ::: @@ -98,8 +80,7 @@ export default { :min-hour="minHour" :max-hour="maxHour" :min-date="minDate" - @change="handlePickerChange"> - +/> ``` ::: @@ -108,12 +89,12 @@ export default { | 参数 | 说明 | 类型 | 默认值 | 可选值 | |-----------|-----------|-----------|-------------|-------------| -| visibileColumnCount | 每一列可见备选元素的个数 | Number | 5 | - | -| type | 组件类型 | String | 'datetime' | 'datetime', 'date', 'time' | -| minDate | 可选的最小日期 | Date | 十年前的 1 月 1 日 | - | -| maxDate | 可选的最大日期 | Date | 十年后的 12 月 31 日 | - | -| minHour | 可选的最小小时 | Number | 0 | - | -| maxHour | 可选的最大小时 | Number | 23 | - | +| type | 组件类型 | `String` | 'datetime' | 'date', 'time' | +| minDate | 可选的最小日期 | `Date` | 十年前的 1 月 1 日 | - | +| maxDate | 可选的最大日期 | `Date` | 十年后的 12 月 31 日 | - | +| minHour | 可选的最小小时 | `Number` | `0` | - | +| maxHour | 可选的最大小时 | `Number` | `23` | - | +| visibileColumnCount | 每一列可见备选元素的个数 | `Number` | `5` | - | ### Event diff --git a/docs/examples-docs/zh-CN/icon.md b/docs/examples-docs/zh-CN/icon.md index b8bcb7aea..63322f5d6 100644 --- a/docs/examples-docs/zh-CN/icon.md +++ b/docs/examples-docs/zh-CN/icon.md @@ -78,7 +78,7 @@ const icons = [ 'credit-pay', 'debit-pay', 'other-pay', - 'cart', + 'shopping-cart', 'browsing-history', 'goods-collect', 'shop-collect', @@ -110,7 +110,12 @@ const icons = [ 'gift-card', 'coupon', 'completed', - 'value-card' + 'value-card', + 'certificate', + 'tosend', + 'sign', + 'home', + 'phone' ]; const IconListConstructor = Vue.extend({ diff --git a/docs/examples-docs/zh-CN/image-preview.md b/docs/examples-docs/zh-CN/image-preview.md index 60cb65550..bc16e3fa4 100644 --- a/docs/examples-docs/zh-CN/image-preview.md +++ b/docs/examples-docs/zh-CN/image-preview.md @@ -16,12 +16,12 @@ import { ImagePreview } from 'packages'; export default { methods: { - showImagePreview() { + showImagePreview(position) { ImagePreview([ 'https://img.yzcdn.cn/upload_files/2017/03/15/FkubrzN7AgGwLlTeb1E89-T_ZjBg.png', 'https://img.yzcdn.cn/upload_files/2017/03/14/FmTPs0SeyQaAOSK1rRe1sL8RcwSY.jpeg', 'https://img.yzcdn.cn/upload_files/2017/03/15/FvexrWlG_WxtCE9Omo5l27n_mAG_.jpeg' - ]); + ], typeof position === 'number' ? position : 0); } } }; @@ -60,8 +60,30 @@ export default { ``` ::: +#### 指定初始位置 + +:::demo 指定初始位置 +```html +指定初始位置 +``` + +```javascript +export default { + methods: { + showImagePreview(startPosition) { + ImagePreview([ + 'https://img.yzcdn.cn/1.jpg', + 'https://img.yzcdn.cn/2.jpg' + ], startPosition); + } + } +}; +``` +::: + ### 方法参数 | 参数名 | 说明 | 类型 | |-----------|-----------|-----------| | imageUrls | 需要预览的图片 | `Array` | +| startPosition | 图片预览起始位置索引 | `Number` | diff --git a/docs/examples-docs/zh-CN/notice-bar.md b/docs/examples-docs/zh-CN/notice-bar.md index 2d2542fbd..4eaeccbfb 100644 --- a/docs/examples-docs/zh-CN/notice-bar.md +++ b/docs/examples-docs/zh-CN/notice-bar.md @@ -21,7 +21,11 @@ Vue.component(NoticeBar.name, NoticeBar); :::demo 基础用法 ```html - + + ``` ::: @@ -59,8 +63,11 @@ Vue.component(NoticeBar.name, NoticeBar); |-----------|-----------|-----------|-------------|-------------| | mode | 通告栏模式 | String | `''` | `closeable` `link` | | delay | 动画延迟时间,单位秒 | Number | `1` | - | -| speed | 滚动速率,单位px | Number | `40` | - | +| speed | 滚动速率,单位px | Number | `50` | - | | scrollable | 是否滚动 | Boolean | `true` | - | +| leftIcon | 左侧图标图片链接 | String | - | - | +| color | 文本颜色 | String | `#f60` | - | +| background | 滚动条背景 | String | `#fff7cc` | - | ### Event diff --git a/docs/examples-docs/zh-CN/picker.md b/docs/examples-docs/zh-CN/picker.md index c4831c120..e02b85dad 100644 --- a/docs/examples-docs/zh-CN/picker.md +++ b/docs/examples-docs/zh-CN/picker.md @@ -1,4 +1,6 @@ ``` -### 自定义主题 - -`Vant`提供了一套默认主题,CSS 命名采用 BEM 的风格,方便使用者覆盖样式。如果你想完全替换主题色或者部分样式,可以使用下面的方法: - -#### 下载主题 - -可以通过 Github 或 npm 来下载主题: - -```bash -# npm -npm i vant-css -D - -# github -git clone git@github.com:youzan/vant.git -cd packages/vant-css -``` - -#### 修改主题 - -修改你下载主题对应的样式即可,然后引入你修改后的主题。 - ### vue-cli 模板 可以使用`vue-cli`来初始化`Vant`的通用模板: diff --git a/docs/examples-docs/zh-CN/search.md b/docs/examples-docs/zh-CN/search.md index ee2110fa1..a4c62a82b 100644 --- a/docs/examples-docs/zh-CN/search.md +++ b/docs/examples-docs/zh-CN/search.md @@ -1,4 +1,6 @@ diff --git a/docs/src/ExamplesApp.vue b/docs/src/WapApp.vue similarity index 100% rename from docs/src/ExamplesApp.vue rename to docs/src/WapApp.vue diff --git a/docs/src/components/demo-list.vue b/docs/src/components/demo-list.vue index 80614eaca..154a1f782 100644 --- a/docs/src/components/demo-list.vue +++ b/docs/src/components/demo-list.vue @@ -1,7 +1,10 @@