Merge remote-tracking branch 'upstream/dev' into dev

This commit is contained in:
niunai 2017-09-19 18:17:32 +08:00
commit 6dbc9b6da9
43 changed files with 974 additions and 543 deletions

View File

@ -1,9 +1,8 @@
const webpack = require('webpack');
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const ProgressBarPlugin = require('progress-bar-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin');
const isProduction = process.env.NODE_ENV === 'production';
const docConfig = require('../docs/src/doc.config');
@ -127,7 +126,6 @@ module.exports = {
minChunks: 2,
filename: isProduction ? 'vendor.[hash:8].js' : 'vendor.js'
}),
new OptimizeCssAssetsPlugin(),
new ExtractTextPlugin({
filename: isProduction ? '[name].[hash:8].css' : '[name].css',
allChunks: true

View File

@ -74,7 +74,8 @@ Vue.component(Button.name, Button);
:::demo 加载状态
```html
<van-button loading />
<van-button loading></van-button>
<van-button loading type="primary"></van-button>
```
:::

View File

@ -1,412 +1,78 @@
## 更新日志
## [v0.9.2](https://github.com/youzan/vant/tree/v0.9.2) (2017-09-08)
[Full Changelog](https://github.com/youzan/vant/compare/v0.9.1...v0.9.2)
## [v0.7.8](https://github.com/pangxie1991/vant/tree/v0.7.8) (2017-08-10)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.7.7...v0.7.8)
**非兼容更新和新特性:**
## [v0.7.7](https://github.com/pangxie1991/vant/tree/v0.7.7) (2017-08-09)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.7.6...v0.7.7)
- add NavBar component [\#121](https://github.com/youzan/vant/pull/121) ([chenjiahan](https://github.com/chenjiahan))
- Rename some components and use more suitable names [\#120](https://github.com/youzan/vant/pull/120) ([chenjiahan](https://github.com/chenjiahan))
## [v0.7.6](https://github.com/pangxie1991/vant/tree/v0.7.6) (2017-08-08)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.7.5...v0.7.6)
**合并的 Pull Request (可能有不兼容改动):**
## [v0.7.5](https://github.com/pangxie1991/vant/tree/v0.7.5) (2017-08-08)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.7.3...v0.7.5)
- sku组件迁移 [\#123](https://github.com/youzan/vant/pull/123) ([w91](https://github.com/w91))
## [v0.7.3](https://github.com/pangxie1991/vant/tree/v0.7.3) (2017-08-04)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.7.2...v0.7.3)
## [v0.9.1](https://github.com/youzan/vant/tree/v0.9.1) (2017-09-07)
[Full Changelog](https://github.com/youzan/vant/compare/v0.9.0...v0.9.1)
## [v0.7.2](https://github.com/pangxie1991/vant/tree/v0.7.2) (2017-07-31)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.6.6...v0.7.2)
**修复:**
## [v0.6.6](https://github.com/pangxie1991/vant/tree/v0.6.6) (2017-07-15)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.6.5...v0.6.6)
- Toast: fix background color [\#118](https://github.com/youzan/vant/pull/118) ([chenjiahan](https://github.com/chenjiahan))
## [v0.6.5](https://github.com/pangxie1991/vant/tree/v0.6.5) (2017-07-11)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.6.4...v0.6.5)
**处理的 Issue:**
## [v0.6.4](https://github.com/pangxie1991/vant/tree/v0.6.4) (2017-07-06)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.6.3...v0.6.4)
- 请问captain-ui 开源了吗? [\#116](https://github.com/youzan/vant/issues/116)
## [v0.6.3](https://github.com/pangxie1991/vant/tree/v0.6.3) (2017-07-04)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.6.2...v0.6.3)
## [v0.9.0](https://github.com/youzan/vant/tree/v0.9.0) (2017-09-07)
[Full Changelog](https://github.com/youzan/vant/compare/v0.8.9...v0.9.0)
## [v0.6.2](https://github.com/pangxie1991/vant/tree/v0.6.2) (2017-06-26)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.6.1...v0.6.2)
**非兼容更新和新特性:**
## [v0.6.1](https://github.com/pangxie1991/vant/tree/v0.6.1) (2017-06-19)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.6.0...v0.6.1)
- add PullRefresh component [\#117](https://github.com/youzan/vant/pull/117) ([chenjiahan](https://github.com/chenjiahan))
- Build: analyzes component dependencies when build style entries [\#115](https://github.com/youzan/vant/pull/115) ([chenjiahan](https://github.com/chenjiahan))
- Toast: use flex layout, support loading with text, improve performance [\#114](https://github.com/youzan/vant/pull/114) ([chenjiahan](https://github.com/chenjiahan))
- Card: support num and price props [\#112](https://github.com/youzan/vant/pull/112) ([chenjiahan](https://github.com/chenjiahan))
- vant-css: use hairline classes instead of mixins [\#110](https://github.com/youzan/vant/pull/110) ([chenjiahan](https://github.com/chenjiahan))
- update `popup` and `quickstart` readme [\#109](https://github.com/youzan/vant/pull/109) ([cookfront](https://github.com/cookfront))
- add OrderCoupon component [\#108](https://github.com/youzan/vant/pull/108) ([chenjiahan](https://github.com/chenjiahan))
- Doc: improve site load speed [\#107](https://github.com/youzan/vant/pull/107) ([chenjiahan](https://github.com/chenjiahan))
## [v0.6.0](https://github.com/pangxie1991/vant/tree/v0.6.0) (2017-06-15)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.5.12...v0.6.0)
**修复:**
## [v0.5.12](https://github.com/pangxie1991/vant/tree/v0.5.12) (2017-06-02)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.5.11...v0.5.12)
- Fix: swipe tabs animation time and timing function [\#111](https://github.com/youzan/vant/pull/111) ([cookfront](https://github.com/cookfront))
- hide indicators when one swipe page [\#106](https://github.com/youzan/vant/pull/106) ([Raistlin916](https://github.com/Raistlin916))
## [v0.5.11](https://github.com/pangxie1991/vant/tree/v0.5.11) (2017-05-25)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.5.10...v0.5.11)
**合并的 Pull Request (可能有不兼容改动):**
## [v0.5.10](https://github.com/pangxie1991/vant/tree/v0.5.10) (2017-05-25)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.5.9...v0.5.10)
- 新增Area省市区选择组件 [\#113](https://github.com/youzan/vant/pull/113) ([cookfront](https://github.com/cookfront))
## [v0.5.9](https://github.com/pangxie1991/vant/tree/v0.5.9) (2017-05-25)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.5.8...v0.5.9)
## [v0.8.9](https://github.com/youzan/vant/tree/v0.8.9) (2017-09-01)
[Full Changelog](https://github.com/youzan/vant/compare/v0.8.8...v0.8.9)
## [v0.5.8](https://github.com/pangxie1991/vant/tree/v0.5.8) (2017-05-25)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.5.7...v0.5.8)
## [v0.8.8](https://github.com/youzan/vant/tree/v0.8.8) (2017-09-01)
[Full Changelog](https://github.com/youzan/vant/compare/v0.8.7...v0.8.8)
## [v0.5.7](https://github.com/pangxie1991/vant/tree/v0.5.7) (2017-05-19)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.5.6...v0.5.7)
**非兼容更新和新特性:**
## [v0.5.6](https://github.com/pangxie1991/vant/tree/v0.5.6) (2017-05-15)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.5.4...v0.5.6)
- PayOrder component add tip slot [\#105](https://github.com/youzan/vant/pull/105) ([Raistlin916](https://github.com/Raistlin916))
- Checkbox: support listen to change event [\#104](https://github.com/youzan/vant/pull/104) ([chenjiahan](https://github.com/chenjiahan))
- add GoodsAction component [\#102](https://github.com/youzan/vant/pull/102) ([chenjiahan](https://github.com/chenjiahan))
- add InvalidGoods component [\#100](https://github.com/youzan/vant/pull/100) ([chenjiahan](https://github.com/chenjiahan))
- add OrderGoods component [\#99](https://github.com/youzan/vant/pull/99) ([chenjiahan](https://github.com/chenjiahan))
- add PayOrder component [\#98](https://github.com/youzan/vant/pull/98) ([chenjiahan](https://github.com/chenjiahan))
## [v0.5.4](https://github.com/pangxie1991/vant/tree/v0.5.4) (2017-05-09)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.5.3...v0.5.4)
**修复:**
## [v0.5.3](https://github.com/pangxie1991/vant/tree/v0.5.3) (2017-04-27)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.5.2...v0.5.3)
- 修复 make init bug [\#97](https://github.com/youzan/vant/pull/97) ([pangxie1991](https://github.com/pangxie1991))
## [v0.5.2](https://github.com/pangxie1991/vant/tree/v0.5.2) (2017-04-26)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.5.1...v0.5.2)
**合并的 Pull Request (可能有不兼容改动):**
- Add deep-select component and fix a popup bug. [\#103](https://github.com/youzan/vant/pull/103) ([Tinysymphony](https://github.com/Tinysymphony))
- Doc: update Step/Loading/Tag/Badge documents [\#101](https://github.com/youzan/vant/pull/101) ([chenjiahan](https://github.com/chenjiahan))
## [v0.8.7](https://github.com/youzan/vant/tree/v0.8.7) (2017-08-29)
[Full Changelog](https://github.com/youzan/vant/compare/v0.8.6...v0.8.7)
**非兼容更新和新特性:**
- add ExpressWay component [\#96](https://github.com/youzan/vant/pull/96) ([chenjiahan](https://github.com/chenjiahan))
- add CellSwitch component [\#95](https://github.com/youzan/vant/pull/95) ([chenjiahan](https://github.com/chenjiahan))
- add NoticeBar && test cases [\#94](https://github.com/youzan/vant/pull/94) ([chenjiahan](https://github.com/chenjiahan))
- Dialog: support both function call and component call [\#93](https://github.com/youzan/vant/pull/93) ([chenjiahan](https://github.com/chenjiahan))
- CellSwipe: improve test coverage && code review [\#91](https://github.com/youzan/vant/pull/91) ([chenjiahan](https://github.com/chenjiahan))
- Progress: adjust DOM struct [\#90](https://github.com/youzan/vant/pull/90) ([chenjiahan](https://github.com/chenjiahan))
## [v0.8.6](https://github.com/youzan/vant/tree/v0.8.6) (2017-08-24)
[Full Changelog](https://github.com/youzan/vant/compare/v0.8.5...v0.8.6)
**非兼容更新和新特性:**
- dalete merge && class operating methods [\#88](https://github.com/youzan/vant/pull/88) ([chenjiahan](https://github.com/chenjiahan))
- directory adjust: delete entry index.js [\#87](https://github.com/youzan/vant/pull/87) ([chenjiahan](https://github.com/chenjiahan))
- Button: reduce unnecessary styles [\#86](https://github.com/youzan/vant/pull/86) ([chenjiahan](https://github.com/chenjiahan))
- Layout: optimize doc [\#85](https://github.com/youzan/vant/pull/85) ([chenjiahan](https://github.com/chenjiahan))
**修复:**
- Fix datetime-picker init value [\#89](https://github.com/youzan/vant/pull/89) ([w91](https://github.com/w91))
**处理的 Issue:**
- When 'showIndicators' set to 'false' The second image does not show [\#80](https://github.com/youzan/vant/issues/80)
## [v0.8.5](https://github.com/youzan/vant/tree/v0.8.5) (2017-08-21)
[Full Changelog](https://github.com/youzan/vant/compare/v0.8.4...v0.8.5)
**非兼容更新和新特性:**
- Doc: add usage guide && top progress [\#83](https://github.com/youzan/vant/pull/83) ([chenjiahan](https://github.com/chenjiahan))
**修复:**
- Popup: not preventScroll by default [\#84](https://github.com/youzan/vant/pull/84) ([chenjiahan](https://github.com/chenjiahan))
- fix: swipe sometimes will change to drag image [\#81](https://github.com/youzan/vant/pull/81) ([pangxie1991](https://github.com/pangxie1991))
**处理的 Issue:**
- Href link does not work [\#82](https://github.com/youzan/vant/issues/82)
- Swipe image not displayed [\#79](https://github.com/youzan/vant/issues/79)
## [v0.8.4](https://github.com/youzan/vant/tree/v0.8.4) (2017-08-18)
[Full Changelog](https://github.com/youzan/vant/compare/v0.8.3...v0.8.4)
**修复:**
- fix: field 计算autosize需要nextTick [\#78](https://github.com/youzan/vant/pull/78) ([pangxie1991](https://github.com/pangxie1991))
## [v0.8.3](https://github.com/youzan/vant/tree/v0.8.3) (2017-08-18)
[Full Changelog](https://github.com/youzan/vant/compare/v0.8.1...v0.8.3)
**修复:**
- fix: dialog wrong z-index [\#77](https://github.com/youzan/vant/pull/77) ([chenjiahan](https://github.com/chenjiahan))
## [v0.8.1](https://github.com/youzan/vant/tree/v0.8.1) (2017-08-18)
[Full Changelog](https://github.com/youzan/vant/compare/v0.8.0...v0.8.1)
**非兼容更新和新特性:**
- field 增加icon slot支持 [\#76](https://github.com/youzan/vant/pull/76) ([pangxie1991](https://github.com/pangxie1991))
## [v0.8.0](https://github.com/youzan/vant/tree/v0.8.0) (2017-08-17)
[Full Changelog](https://github.com/youzan/vant/compare/v0.7.10...v0.8.0)
**非兼容更新和新特性:**
- Optimize component building, reduce dist file size [\#74](https://github.com/youzan/vant/pull/74) ([chenjiahan](https://github.com/chenjiahan))
## [v0.7.10](https://github.com/youzan/vant/tree/v0.7.10) (2017-08-16)
[Full Changelog](https://github.com/youzan/vant/compare/v0.7.8...v0.7.10)
**修复:**
- fix: 修复popup和dialog同时出现时几率出现dialog被挡住的情况 [\#75](https://github.com/youzan/vant/pull/75) ([pangxie1991](https://github.com/pangxie1991))
- 修复popup滚动穿透 [\#73](https://github.com/youzan/vant/pull/73) ([cookfront](https://github.com/cookfront))
## [v0.7.8](https://github.com/youzan/vant/tree/v0.7.8) (2017-08-10)
[Full Changelog](https://github.com/youzan/vant/compare/v0.7.7...v0.7.8)
**非兼容更新和新特性:**
- 补充 babel-plugin-import 文档 [\#71](https://github.com/youzan/vant/pull/71) ([chenjiahan](https://github.com/chenjiahan))
**修复:**
- not require reset.css by default [\#72](https://github.com/youzan/vant/pull/72) ([chenjiahan](https://github.com/chenjiahan))
## [v0.7.7](https://github.com/youzan/vant/tree/v0.7.7) (2017-08-09)
[Full Changelog](https://github.com/youzan/vant/compare/v0.7.6...v0.7.7)
**修复:**
- Fixed: one page Swipe components error [\#70](https://github.com/youzan/vant/pull/70) ([Raistlin916](https://github.com/Raistlin916))
## [v0.7.6](https://github.com/youzan/vant/tree/v0.7.6) (2017-08-08)
[Full Changelog](https://github.com/youzan/vant/compare/v0.7.5...v0.7.6)
**非兼容更新和新特性:**
- 新增几个icon [\#69](https://github.com/youzan/vant/pull/69) ([cookfront](https://github.com/cookfront))
## [v0.7.5](https://github.com/youzan/vant/tree/v0.7.5) (2017-08-08)
[Full Changelog](https://github.com/youzan/vant/compare/v0.7.3...v0.7.5)
**修复:**
- fix: one page swiper broken [\#68](https://github.com/youzan/vant/pull/68) ([Raistlin916](https://github.com/Raistlin916))
**处理的 Issue:**
- 安装业务组件导致基础组件css样式文件引入失败 [\#65](https://github.com/youzan/vant/issues/65)
## [v0.7.3](https://github.com/youzan/vant/tree/v0.7.3) (2017-08-04)
[Full Changelog](https://github.com/youzan/vant/compare/v0.7.2...v0.7.3)
**处理的 Issue:**
- datetime-picker的问题 [\#45](https://github.com/youzan/vant/issues/45)
**合并的 Pull Request (可能有不兼容改动):**
- fix: utils 修复babel编译 [\#67](https://github.com/youzan/vant/pull/67) ([pangxie1991](https://github.com/pangxie1991))
- README.md使用英文文档 [\#66](https://github.com/youzan/vant/pull/66) ([cookfront](https://github.com/cookfront))
## [v0.7.2](https://github.com/youzan/vant/tree/v0.7.2) (2017-07-31)
[Full Changelog](https://github.com/youzan/vant/compare/v0.6.6...v0.7.2)
**非兼容更新和新特性:**
- 支持 babel-plugin-import [\#62](https://github.com/youzan/vant/pull/62) ([chenjiahan](https://github.com/chenjiahan))
- 依赖更新 && 构建调整 [\#60](https://github.com/youzan/vant/pull/60) ([chenjiahan](https://github.com/chenjiahan))
- Switch 组件: 个人建议加了动画效果 [\#59](https://github.com/youzan/vant/pull/59) ([BosenY](https://github.com/BosenY))
- 文档改版 [\#55](https://github.com/youzan/vant/pull/55) ([chenjiahan](https://github.com/chenjiahan))
- 新增Card 组件增加 centered 属性 [\#54](https://github.com/youzan/vant/pull/54) ([chenjiahan](https://github.com/chenjiahan))
**修复:**
- fix: datetimepicker cancel event not work [\#64](https://github.com/youzan/vant/pull/64) ([chenjiahan](https://github.com/chenjiahan))
- 修复popup多层级van-modal未插入到正确的位置 [\#63](https://github.com/youzan/vant/pull/63) ([cookfront](https://github.com/cookfront))
- 新增几个图标 && 修复tabs组件为空报错的问题 [\#61](https://github.com/youzan/vant/pull/61) ([cookfront](https://github.com/cookfront))
- Fix: deploy doc fail [\#56](https://github.com/youzan/vant/pull/56) ([chenjiahan](https://github.com/chenjiahan))
**处理的 Issue:**
- SVG's SMIL animations deprecated [\#46](https://github.com/youzan/vant/issues/46)
## [v0.6.6](https://github.com/youzan/vant/tree/v0.6.6) (2017-07-15)
[Full Changelog](https://github.com/youzan/vant/compare/v0.6.5...v0.6.6)
**非兼容更新和新特性:**
- 新增Field 增加blur事件 && Field 支持尾部icon [\#53](https://github.com/youzan/vant/pull/53) ([pangxie1991](https://github.com/pangxie1991))
## [v0.6.5](https://github.com/youzan/vant/tree/v0.6.5) (2017-07-11)
[Full Changelog](https://github.com/youzan/vant/compare/v0.6.4...v0.6.5)
**非兼容更新和新特性:**
- tabs组件支持滑动 [\#52](https://github.com/youzan/vant/pull/52) ([cookfront](https://github.com/cookfront))
**处理的 Issue:**
- 有计划都生成vue版本吗 [\#50](https://github.com/youzan/vant/issues/50)
## [v0.6.4](https://github.com/youzan/vant/tree/v0.6.4) (2017-07-06)
[Full Changelog](https://github.com/youzan/vant/compare/v0.6.3...v0.6.4)
**非兼容更新和新特性:**
- src/utils目录支持SSR [\#51](https://github.com/youzan/vant/pull/51) ([cookfront](https://github.com/cookfront))
## [v0.6.3](https://github.com/youzan/vant/tree/v0.6.3) (2017-07-04)
[Full Changelog](https://github.com/youzan/vant/compare/v0.6.2...v0.6.3)
**非兼容更新和新特性:**
- 步骤条组件新增direction和activeColor属性增加了竖的步骤条 [\#49](https://github.com/youzan/vant/pull/49) ([cookfront](https://github.com/cookfront))
- Card component supoort thumb slotuse flex layout [\#48](https://github.com/youzan/vant/pull/48) ([chenjiahan](https://github.com/chenjiahan))
**修复:**
- 修复人民币符号在ios显示问题 [\#44](https://github.com/youzan/vant/pull/44) ([w91](https://github.com/w91))
**处理的 Issue:**
- goods-action 文档有误 [\#47](https://github.com/youzan/vant/issues/47)
## [v0.6.2](https://github.com/youzan/vant/tree/v0.6.2) (2017-06-26)
[Full Changelog](https://github.com/youzan/vant/compare/v0.6.1...v0.6.2)
**非兼容更新和新特性:**
- 新增icon、filed组件新增time类型和Dialog组件默认文案修改 [\#43](https://github.com/youzan/vant/pull/43) ([cookfront](https://github.com/cookfront))
## [v0.6.1](https://github.com/youzan/vant/tree/v0.6.1) (2017-06-19)
[Full Changelog](https://github.com/youzan/vant/compare/v0.6.0...v0.6.1)
**修复:**
- 新增icon和修复toast样式问题 [\#42](https://github.com/youzan/vant/pull/42) ([cookfront](https://github.com/cookfront))
## [v0.6.0](https://github.com/youzan/vant/tree/v0.6.0) (2017-06-15)
[Full Changelog](https://github.com/youzan/vant/compare/v0.5.12...v0.6.0)
**非兼容更新和新特性:**
- Search组件新增微杂志样式 [\#38](https://github.com/youzan/vant/pull/38) ([cookfront](https://github.com/cookfront))
- 支持SSR、升级Vue版本和增加新的icon [\#40](https://github.com/youzan/vant/pull/40) ([cookfront](https://github.com/cookfront))
- 增加cell swipe组件 [\#39](https://github.com/youzan/vant/pull/39) ([tsxuehu](https://github.com/tsxuehu))
## [v0.5.12](https://github.com/youzan/vant/tree/v0.5.12) (2017-06-02)
[Full Changelog](https://github.com/youzan/vant/compare/v0.5.11...v0.5.12)
**处理的 Issue:**
- 业务组件的cap-goods-list出现问题 [\#36](https://github.com/youzan/vant/issues/36)
**合并的 Pull Request (可能有不兼容改动):**
- utils/scroll [\#37](https://github.com/youzan/vant/pull/37) ([pangxie1991](https://github.com/pangxie1991))
## [v0.5.11](https://github.com/youzan/vant/tree/v0.5.11) (2017-05-25)
[Full Changelog](https://github.com/youzan/vant/compare/v0.5.10...v0.5.11)
**合并的 Pull Request (可能有不兼容改动):**
- 移除postcss-reset [\#35](https://github.com/youzan/vant/pull/35) ([cookfront](https://github.com/cookfront))
## [v0.5.10](https://github.com/youzan/vant/tree/v0.5.10) (2017-05-25)
[Full Changelog](https://github.com/youzan/vant/compare/v0.5.9...v0.5.10)
## [v0.5.9](https://github.com/youzan/vant/tree/v0.5.9) (2017-05-25)
[Full Changelog](https://github.com/youzan/vant/compare/v0.5.8...v0.5.9)
**合并的 Pull Request (可能有不兼容改动):**
- 新增微信导航icon [\#34](https://github.com/youzan/vant/pull/34) ([cookfront](https://github.com/cookfront))
## [v0.5.8](https://github.com/youzan/vant/tree/v0.5.8) (2017-05-25)
[Full Changelog](https://github.com/youzan/vant/compare/v0.5.7...v0.5.8)
**修复:**
- 修复长按图片后,图片会隐藏问题 [\#32](https://github.com/youzan/vant/pull/32) ([w91](https://github.com/w91))
**合并的 Pull Request (可能有不兼容改动):**
- 新增微信导航icon [\#33](https://github.com/youzan/vant/pull/33) ([cookfront](https://github.com/cookfront))
## [v0.5.7](https://github.com/youzan/vant/tree/v0.5.7) (2017-05-19)
[Full Changelog](https://github.com/youzan/vant/compare/v0.5.6...v0.5.7)
**非兼容更新和新特性:**
- picker 增加 title 显示 [\#30](https://github.com/youzan/vant/pull/30) ([pangxie1991](https://github.com/pangxie1991))
**合并的 Pull Request (可能有不兼容改动):**
- 更新reset中body背景色 [\#31](https://github.com/youzan/vant/pull/31) ([w91](https://github.com/w91))
## [v0.5.6](https://github.com/youzan/vant/tree/v0.5.6) (2017-05-15)
[Full Changelog](https://github.com/youzan/vant/compare/v0.5.4...v0.5.6)
**合并的 Pull Request (可能有不兼容改动):**
- 添加两个新的icon [\#29](https://github.com/youzan/vant/pull/29) ([cookfront](https://github.com/cookfront))
- 改变打包出来的amd模块增加amd模块的名字 [\#28](https://github.com/youzan/vant/pull/28) ([pangxie1991](https://github.com/pangxie1991))
## [v0.5.4](https://github.com/youzan/vant/tree/v0.5.4) (2017-05-09)
[Full Changelog](https://github.com/youzan/vant/compare/v0.5.3...v0.5.4)
**修复:**
- 修复添加reset.css和cell加上right-icon的slot [\#27](https://github.com/youzan/vant/pull/27) ([cookfront](https://github.com/cookfront))
- 修复cell同时设置title和label时value不居中 [\#26](https://github.com/youzan/vant/pull/26) ([cookfront](https://github.com/cookfront))
- 修复popup的zIndex转换为number [\#24](https://github.com/youzan/vant/pull/24) ([cookfront](https://github.com/cookfront))
**合并的 Pull Request (可能有不兼容改动):**
- fix bugs and add new features [\#25](https://github.com/youzan/vant/pull/25) ([radicalviva](https://github.com/radicalviva))
## [v0.5.3](https://github.com/youzan/vant/tree/v0.5.3) (2017-04-27)
[Full Changelog](https://github.com/youzan/vant/compare/v0.5.2...v0.5.3)
**修复:**
- 修复picker中值变了后未更新picker-colum中的值 [\#23](https://github.com/youzan/vant/pull/23) ([cookfront](https://github.com/cookfront))
## [v0.5.2](https://github.com/youzan/vant/tree/v0.5.2) (2017-04-26)
[Full Changelog](https://github.com/youzan/vant/compare/v0.5.1...v0.5.2)
**处理的 Issue:**
- does it render UI Natively just like React - Native or like ionic ? [\#15](https://github.com/youzan/vant/issues/15)
- give me an english version of this : https://www.youzanyun.com/zanui/react/guides/install [\#14](https://github.com/youzan/vant/issues/14)
**合并的 Pull Request (可能有不兼容改动):**
- 修复webpack打包修复 [\#21](https://github.com/youzan/vant/pull/21) ([cookfront](https://github.com/cookfront))
- unit test: picker [\#20](https://github.com/youzan/vant/pull/20) ([cookfront](https://github.com/cookfront))
- Fix: 修复toast关闭时未移除Dom节点以及补上单元测试 [\#19](https://github.com/youzan/vant/pull/19) ([cookfront](https://github.com/cookfront))
- tabs 组件修改 [\#18](https://github.com/youzan/vant/pull/18) ([pangxie1991](https://github.com/pangxie1991))
- 补充 Col & Row 测试用例 [\#16](https://github.com/youzan/vant/pull/16) ([w91](https://github.com/w91))
- 单元测试 排除src/目录 [\#13](https://github.com/youzan/vant/pull/13) ([pangxie1991](https://github.com/pangxie1991))
- 添加单元测试 [\#12](https://github.com/youzan/vant/pull/12) ([cookfront](https://github.com/cookfront))
- test 环境不跑 PhantomJS [\#11](https://github.com/youzan/vant/pull/11) ([pangxie1991](https://github.com/pangxie1991))
- 修改 unit test 的配置 [\#10](https://github.com/youzan/vant/pull/10) ([pangxie1991](https://github.com/pangxie1991))
- unit test: uploader [\#9](https://github.com/youzan/vant/pull/9) ([tsxuehu](https://github.com/tsxuehu))
- 文档页样式优化和打包配置优化 [\#8](https://github.com/youzan/vant/pull/8) ([cookfront](https://github.com/cookfront))
- 修复表单组件样式和单元测试用例 [\#7](https://github.com/youzan/vant/pull/7) ([cookfront](https://github.com/cookfront))
- 文档小细节优化 [\#6](https://github.com/youzan/vant/pull/6) ([cookfront](https://github.com/cookfront))
## [v0.5.1](https://github.com/youzan/vant/tree/v0.5.1) (2017-04-24)
[Full Changelog](https://github.com/youzan/vant/compare/v0.5.0...v0.5.1)
**合并的 Pull Request (可能有不兼容改动):**
- 文档细节优化search、loading和dialog组件样式修复 [\#5](https://github.com/youzan/vant/pull/5) ([cookfront](https://github.com/cookfront))
## [v0.5.0](https://github.com/youzan/vant/tree/v0.5.0) (2017-04-23)
**处理的 Issue:**
- 一些建议 [\#1](https://github.com/youzan/vant/issues/1)
**合并的 Pull Request (可能有不兼容改动):**
- use vue in amd & commonjs, use Vue in root [\#4](https://github.com/youzan/vant/pull/4) ([pangxie1991](https://github.com/pangxie1991))
- 手机端样式细节调整,补充测试用例 [\#3](https://github.com/youzan/vant/pull/3) ([cookfront](https://github.com/cookfront))
- 补充waterfall文档依赖vue改为Vue [\#2](https://github.com/youzan/vant/pull/2) ([pangxie1991](https://github.com/pangxie1991))
## [v0.5.1](https://github.com/pangxie1991/vant/tree/v0.5.1) (2017-04-24)
[Full Changelog](https://github.com/pangxie1991/vant/compare/v0.5.0...v0.5.1)
## [v0.5.0](https://github.com/pangxie1991/vant/tree/v0.5.0) (2017-04-23)
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*

View File

@ -1,5 +1,3 @@
## Coupon 优惠券选择器
<script>
import { Toast } from 'packages';
@ -49,6 +47,7 @@ export default {
methods: {
onChange(index) {
this.showList = false;
this.chosenCoupon = index;
},
onExchange(code) {
@ -59,6 +58,16 @@ export default {
}
</script>
<style>
.demo-coupon {
.van-popup {
height: 100%;
}
}
</style>
## Coupon 优惠券选择器
### 使用指南
``` javascript
import { CouponCell, CouponList } from 'vant';
@ -81,14 +90,15 @@ Vue.component(CouponList.name, CouponList);
></van-coupon-cell>
<!-- 优惠券列表 -->
<van-coupon-list
v-model="showList"
:coupons="coupons"
:chosen-coupon="chosenCoupon"
:disabled-coupons="disabledCoupons"
@change="onChange"
@exchange="onExchange"
></van-coupon-list>
<van-popup v-model="showList" position="bottom">
<van-coupon-list
:coupons="coupons"
:chosen-coupon="chosenCoupon"
:disabled-coupons="disabledCoupons"
@change="onChange"
@exchange="onExchange"
></van-coupon-list>
</van-popup>
```
```javascript
@ -116,6 +126,7 @@ export default {
methods: {
onChange(index) {
this.showList = false;
this.chosenCoupon = index;
},
onExchange(code) {

View File

@ -108,7 +108,9 @@ const icons = [
'description',
'card',
'gift-card',
'coupon'
'coupon',
'completed',
'value-card'
];
const IconListConstructor = Vue.extend({

View File

@ -22,8 +22,8 @@ Vue.component(Loading.name, Loading);
:::demo 单色 spinner
```html
<van-loading type="circle" color="white"></van-loading>
<van-loading type="circle" color="black"></van-loading>
<van-loading type="circle" color="white"></van-loading>
```
:::

View File

@ -0,0 +1,101 @@
<style>
.demo-number-keyboard {
.van-button {
margin-left: 15px;
}
}
</style>
<script>
import { Toast } from 'packages';
export default {
data() {
return {
showKeyboard: true
}
},
methods: {
onInput(value) {
Toast('Input: ' + value);
},
onDelete() {
Toast('Delete');
}
}
}
</script>
## NumberKeyboard 数字键盘
### 使用指南
``` javascript
import { NumberKeyboard } from 'vant';
Vue.component(NumberKeyboard.name, NumberKeyboard);
```
### 代码演示
#### 基础用法
:::demo 基础用法
```html
<van-button @touchstart.native.stop="showKeyboard = true">
弹出键盘
</van-button>
<van-button @touchstart.native.stop="showKeyboard = false">
收起键盘
</van-button>
<van-number-keyboard
:show="showKeyboard"
@blur="showKeyboard = false"
@input="onInput"
@delete="onDelete"
/>
```
```javascript
export default {
data() {
return {
showKeyboard: true
}
},
methods: {
onInput(value) {
Toast(value);
},
onDelete() {
Toast('delete');
}
}
}
```
:::
### API
| 参数 | 说明 | 类型 | 默认值 | 可选值 |
|-----------|-----------|-----------|-------------|-------------|
| show | 是否显示键盘 | `Boolean` | - | - |
| title | 键盘标题 | `String` | `安全输入键盘` | - |
| extraKey | 左下角按键内容 | `String` | `''` | - |
| zIndex | 键盘 z-index | `Number` | `100` | - |
| transition | 是否开启过场动画 | `Boolean` | `true` | - |
| showDeleteKey | 是否展示删除按钮 | `Boolean` | `true` | - |
### Event
| 事件名 | 说明 | 参数 |
|-----------|-----------|-----------|
| input | 点击按键时触发 | key: 按键内容 |
| delete | 点击删除键时触发 | - |
| blur | 点击非键盘区域时触发 | - |
| show | 键盘完全弹出时触发 | - |
| hide | 键盘完全收起时触发 | - |

View File

@ -0,0 +1,88 @@
<script>
export default {
data() {
return {
value: '',
showKeyboard: true
}
},
methods: {
onInput(key) {
this.value = (this.value + key).slice(0, 6);
},
onDelete() {
this.value = this.value.slice(0, this.value.length - 1);
}
}
}
</script>
## PasswordInput 密码输入框
密码输入框组件通常与 [数字键盘](/zanui/vue/component/number-keyboard) 组件配合使用
### 使用指南
``` javascript
import { PasswordInput, NumberKeyBoard } from 'vant';
Vue.component(PasswordInput.name, PasswordInput);
Vue.component(NumberKeyBoard.name, NumberKeyBoard);
```
### 代码演示
#### 基础用法
:::demo 基础用法
```html
<!-- 密码输入框 -->
<van-password-input
:value="value"
info="密码为 6 位数字"
@focus="showKeyboard = true"
></van-password-input>
<!-- 数字键盘 -->
<van-number-keyboard
:show="showKeyboard"
@input="onInput"
@delete="onDelete"
@blur="showKeyboard = false"
></van-number-keyboard>
```
```javascript
export default {
data() {
return {
value: '',
showKeyboard: true
}
},
methods: {
onInput(key) {
this.value = (this.value + key).slice(0, 6);
},
onDelete() {
this.value = this.value.slice(0, this.value.length - 1);
}
}
}
```
:::
### API
| 参数 | 说明 | 类型 | 默认值 | 可选值 |
|-----------|-----------|-----------|-------------|-------------|
| value | 密码值 | `String` | `''` | - |
| length | 密码长度 | `Number` | `6` | - |
| info | 输入框下方提示 | `String` | - | - |
| errorInfo | 输入框下方错误提示 | `String` | - | - |
### Event
| 事件名 | 说明 | 参数 |
|-----------|-----------|-----------|
| focus | 输入框聚焦时触发 | - |

View File

@ -12,6 +12,13 @@
.van-steps__message + p {
margin-bottom: 10px;
}
p,
h3 {
margin: 0;
font-size: inherit;
font-weight: normal;
}
}
</style>

View File

@ -29,33 +29,33 @@ export default {
</script>
<style>
.side-nav {
width: 100%;
box-sizing: border-box;
padding: 90px 15px 20px;
position: relative;
z-index: 1;
.side-nav {
width: 100%;
box-sizing: border-box;
padding: 40px 15px 20px;
position: relative;
z-index: 1;
.zanui-title,
.zanui-desc {
text-align: center;
font-weight: normal;
user-select: none;
}
.zanui-title {
padding-top: 40px;
height: 0;
overflow: hidden;
background: url(https://img.yzcdn.cn/upload_files/2017/04/20/FjwR1mraVIqtHWb8YWDW_YzQ_Kh2.png) center center no-repeat;
background-size: 156px 40px;
margin-bottom: 10px;
}
.zanui-desc {
font-size: 14px;
color: #666;
margin-bottom: 50px;
}
.zanui-title,
.zanui-desc {
text-align: center;
font-weight: normal;
user-select: none;
}
.zanui-title {
padding-top: 40px;
height: 0;
overflow: hidden;
background: url(https://img.yzcdn.cn/upload_files/2017/04/20/FjwR1mraVIqtHWb8YWDW_YzQ_Kh2.png) center center no-repeat;
background-size: 156px 40px;
margin-bottom: 10px;
}
.zanui-desc {
font-size: 14px;
color: #666;
margin-bottom: 50px;
}
}
</style>

View File

@ -8,11 +8,11 @@ module.exports = {
'微信小程序': 'https://github.com/youzan/zanui-weapp'
},
footer: {
copyright: `2012-${(new Date()).getFullYear()} © youzanyun.com - 浙公网安备 33010602004354号 增值电信业务经营许可证浙B2-20140331 - 浙ICP备13037466号`,
github: 'https://github.com/youzan/vant',
nav: {
'有赞官网': 'https://www.youzan.com/',
'有赞云': 'http://www.youzanyun.com/zanui',
'加入我们': 'https://job.youzan.com/'
'加入我们': 'https://job.youzan.com/',
'意见反馈': 'https://github.com/youzan/vant/issues'
}
},
nav: [
@ -143,6 +143,14 @@ module.exports = {
"path": "/field",
"title": "Field 输入框"
},
{
"path": "/number-keyboard",
"title": "NumberKeyboard 数字键盘"
},
{
"path": "/password-input",
"title": "PasswordInput 密码输入框"
},
{
"path": "/radio",
"title": "Radio 单选框"

View File

@ -1,6 +1,6 @@
{
"name": "vant",
"version": "0.9.2",
"version": "0.9.5",
"description": "有赞vue wap组件库",
"main": "lib/vant.js",
"style": "lib/vant-css/index.css",
@ -95,7 +95,6 @@
"markdown-it": "^8.4.0",
"markdown-it-container": "^2.0.0",
"mocha": "^3.4.2",
"optimize-css-assets-webpack-plugin": "^3.1.1",
"postcss": "^6.0.10",
"postcss-easy-import": "^2.1.0",
"postcss-loader": "^2.0.6",

View File

@ -2,7 +2,7 @@
<transition name="van-actionsheet-float">
<div :class="['van-actionsheet', { 'van-actionsheet--withtitle': title }]" v-show="value">
<div class="van-actionsheet__header van-hairline--top-bottom" v-if="title">
<h3 v-text="title" />
<div v-text="title" />
<van-icon name="close" @click.stop="$emit('input', false)" />
</div>
<ul v-if="!title" class="van-actionsheet__list">

View File

@ -8,14 +8,14 @@
<div class="van-card__content">
<slot name="title">
<div class="van-card__row" v-if="title || price !== undefined">
<h4 v-if="title" class="van-card__title">{{ title }}</h4>
<p v-if="price !== undefined" class="van-card__price">¥ {{ price }}</p>
<div v-if="title" class="van-card__title">{{ title }}</div>
<div v-if="price !== undefined" class="van-card__price">¥ {{ price }}</div>
</div>
</slot>
<slot name="desc">
<div class="van-card__row" v-if="desc || num !== undefined">
<p v-if="desc" class="van-card__desc">{{ desc }}</p>
<p v-if="num !== undefined" class="van-card__num">x {{ num }}</p>
<div v-if="desc" class="van-card__desc">{{ desc }}</div>
<div v-if="num !== undefined" class="van-card__num">x {{ num }}</div>
</div>
</slot>
<slot name="tags"></slot>

View File

@ -3,8 +3,8 @@
<van-cell-group>
<van-cell :title="title" :isLink="editable" @click="$emit('click')">
<div v-if="coupons[chosenCoupon]">
<h2>{{ amount }}</h2>
<span>{{ coupons[chosenCoupon].condition }}</span>
<div>{{ amount }}</div>
<div>{{ coupons[chosenCoupon].condition }}</div>
</div>
<template v-else>{{ guide }}</template>
</van-cell>

View File

@ -1,5 +1,5 @@
<template>
<van-popup v-model="showPopup" position="bottom" class="van-coupon-list">
<div class="van-coupon-list">
<van-cell-group class="van-coupon-list__top">
<van-field v-model="exchangeCode" :placeholder="inputPlaceholder" :maxlength="20" />
<van-button size="small" type="danger" class="van-coupon-list__exchange" :disabled="exchangeButtonDisabled || !exchangeCode.length" @click="onClickExchangeButton">{{ exchangeButtonText }}</van-button>
@ -22,7 +22,7 @@
/>
</div>
<div class="van-coupon-list__close van-hairline--top" @click="onClickNotUse">{{ closeButtonText }}</div>
</van-popup>
</div>
</template>
<script>
@ -45,15 +45,7 @@ export default {
[Item.name]: Item
},
model: {
prop: 'show'
},
props: {
show: {
type: Boolean,
default: false
},
chosenCoupon: {
type: Number,
default: -1
@ -93,13 +85,6 @@ export default {
},
watch: {
show(val) {
this.showPopup = val;
},
showPopup(val) {
this.$emit('input', val);
this.scrollToTop();
},
displayedCouponIndex(val) {
this.scrollToShowCoupon(val);
}
@ -107,8 +92,7 @@ export default {
data() {
return {
exchangeCode: '',
showPopup: this.show
exchangeCode: ''
};
},
@ -118,11 +102,9 @@ export default {
methods: {
onClickNotUse() {
this.showPopup = false;
this.$emit('change', -1);
},
onClickCoupon(index) {
this.showPopup = false;
this.$emit('change', index);
},
onClickExchangeButton() {
@ -142,11 +124,6 @@ export default {
list.scrollTop = card[index].$el.offsetTop - 100;
}
});
},
scrollToTop() {
const { list } = this.$refs;
list.scrollTop = 0;
}
}
};

View File

@ -101,7 +101,7 @@ export default {
});
container.addEventListener('touchend', () => {
/* istanbul ignore else */
if (new Date() - touchStartTime < 1500) {
if (new Date() - touchStartTime < 100) {
this.value = false;
}
});

View File

@ -24,7 +24,9 @@ import Lazyload from './lazyload';
import Loading from './loading';
import NavBar from './nav-bar';
import NoticeBar from './notice-bar';
import NumberKeyboard from './number-keyboard';
import Panel from './panel';
import PasswordInput from './password-input';
import Picker from './picker';
import Popup from './popup';
import Progress from './progress';
@ -50,7 +52,7 @@ import TreeSelect from './tree-select';
import Uploader from './uploader';
import Waterfall from './waterfall';
const version = '0.9.2';
const version = '0.9.5';
const components = [
Actionsheet,
Area,
@ -75,7 +77,9 @@ const components = [
Loading,
NavBar,
NoticeBar,
NumberKeyboard,
Panel,
PasswordInput,
Picker,
Popup,
Progress,
@ -142,7 +146,9 @@ export {
Loading,
NavBar,
NoticeBar,
NumberKeyboard,
Panel,
PasswordInput,
Picker,
Popup,
Progress,

View File

@ -0,0 +1,137 @@
<template>
<transition :name="transition ? 'van-slide-bottom' : ''">
<div
v-show="show"
:style="style"
class="van-number-keyboard"
@touchstart.stop.prevent="focus"
@touchmove="blurKey"
@touchend="blurKey"
@touchcancel="blurKey"
@animationend="onAnimationEnd"
>
<div class="van-number-keyboard__title van-hairline--top">
<span>{{ title }}</span>
</div>
<i
v-for="(key, index) in keys"
v-text="key"
:data-key="index"
:class="['van-hairline', {
'van-number-keyboard--active': index === active,
'van-number-keyboard__delete': index === 11 && showDeleteKey
}]"
/>
</div>
</transition>
</template>
<script>
export default {
name: 'van-number-keyboard',
props: {
show: Boolean,
extraKey: {
type: String,
default: ''
},
title: {
type: String,
default: '安全输入键盘'
},
zIndex: {
type: Number,
default: 100
},
transition: {
type: Boolean,
default: true
},
showDeleteKey: {
type: Boolean,
default: true
}
},
mounted() {
this.handler(true);
},
destroyed() {
this.handler(false);
},
activated() {
this.handler(true);
},
deactivated() {
this.handler(false);
},
data() {
return {
active: -1
};
},
watch: {
show() {
if (!this.transition) {
this.$emit(this.show ? 'show' : 'hide');
}
}
},
computed: {
keys() {
const keys = [];
for (let i = 0; i < 12; i++) {
const key = i === 10 ? 0 : i < 9 ? i + 1 : i === 9 ? this.extraKey : '';
keys.push(key);
}
return keys;
},
style() {
return {
zIndex: this.zIndex
};
}
},
methods: {
handler(action) {
if (action !== this.handlerStatus) {
this.handlerStatus = action;
document.body[(action ? 'add' : 'remove') + 'EventListener']('touchstart', this.blurKeyboard);
}
},
focus(event) {
this.active = parseInt(event.target.dataset.key);
if (this.active === 11) {
this.$emit('delete');
} else if (!isNaN(this.active)) {
const key = this.keys[this.active];
if (key !== '') {
this.$emit('input', key);
}
}
},
blurKey() {
this.active = -1;
},
blurKeyboard() {
this.$emit('blur');
},
onAnimationEnd() {
this.$emit(this.show ? 'show' : 'hide');
}
}
};
</script>

View File

@ -2,7 +2,7 @@
<div class="van-panel van-hairline--top-bottom">
<div class="van-panel__header van-hairline--bottom">
<slot name="header">
<h4 class="van-panel__title" v-text="title"></h4>
<div class="van-panel__title" v-text="title"></div>
<span class="van-panel__desc" v-if="desc" v-text="desc"></span>
<span class="van-panel__status" v-if="status" v-text="status"></span>
</slot>

View File

@ -0,0 +1,43 @@
<template>
<div class="van-password-input">
<ul class="van-password-input__security van-hairline--surround" @touchstart.stop="$emit('focus')">
<li v-for="visibility in points" class="van-hairline">
<i :style="`visibility: ${visibility}`" />
</li>
</ul>
<div
v-if="errorInfo || info"
v-text="errorInfo || info"
:class="errorInfo ? 'van-password-input__error-info' : 'van-password-input__info'"
/>
</div>
</template>
<script>
export default {
name: 'van-password-input',
props: {
info: String,
errorInfo: String,
value: {
type: String,
default: ''
},
length: {
type: Number,
default: 6
}
},
computed: {
points() {
const arr = [];
for (let i = 0; i < this.length; i++) {
arr[i] = this.value[i] ? 'visible' : 'hidden';
}
return arr;
}
}
};
</script>

View File

@ -4,7 +4,7 @@
<slot>
<a href="javascript:void(0)" class="van-picker__cancel" @click="handlePickerCancel">取消</a>
<a href="javascript:void(0)" class="van-picker__confirm" @click="handlePickerConfirm">完成</a>
<p v-if="title" class="van-picker__title">{{ title }}</p>
<div v-if="title" class="van-picker__title">{{ title }}</div>
</slot>
</div>
<div class="van-picker__columns" :class="['van-picker__columns--' + columns.length]">

View File

@ -8,8 +8,8 @@
</div>
<div class="van-steps__message">
<div class="van-steps__message-wrapper">
<h4 class="van-steps__title" v-text="title"></h4>
<p class="van-steps__desc" v-text="description"></p>
<div class="van-steps__title" v-text="title"></div>
<div class="van-steps__desc" v-text="description"></div>
</div>
</div>
<slot name="message-extra">

View File

@ -1,6 +1,6 @@
{
"name": "vant-css",
"version": "0.9.2",
"version": "0.9.5",
"description": "vant css.",
"main": "lib/index.css",
"style": "lib/index.css",

View File

@ -393,6 +393,16 @@ module.exports = {
keywords: ['gold-coin'],
src: '金币.svg',
css: 'gold-coin'
},
{
keywords: ['completed'],
src: '已完成.svg',
css: 'completed'
},
{
keywords: ['value-card'],
src: '会员余额.svg',
css: 'value-card'
}
]
};

View File

@ -5,4 +5,4 @@
@import "./common/var.css";
@import "./common/normalize.css";
@import "./common/hairline.css";
@import "./common/animation.css";

View File

@ -24,7 +24,7 @@
border-radius: inherit; /* inherit parent's border radius */
}
&:not(.is-disabled):active::before {
&:not([disabled]):active::before {
opacity: .3;
}
@ -36,10 +36,6 @@
color: $button-default-color;
background-color: $button-default-background-color;
border: 1px solid $button-default-border-color;
&:active {
color: $gray-dark;
}
}
&--primary {
@ -91,12 +87,6 @@
}
}
&--disabled {
color: $button-disabled-color;
background-color: $button-disabled-background-color;
border: 1px solid $button-disabled-border-color;
}
&--block {
width: 100%;
display: block;
@ -112,13 +102,14 @@
color: $bottom-action-button-default-color;
background-color: $bottom-action-button-default-background-color;
&:active {
color: $white;
}
&.van-button--primary {
color: $bottom-action-button-primary-color;
background-color: $bottom-action-button-primary-background-color;
}
}
&--disabled {
color: $button-disabled-color;
background-color: $button-disabled-background-color;
border: 1px solid $button-disabled-border-color;
}
}

View File

@ -0,0 +1,21 @@
@keyframes van-slide-bottom-enter {
from {
transform: translate3d(0, 100%, 0);
}
}
@keyframes van-slide-bottom-leave {
to {
transform: translate3d(0, 100%, 0);
}
}
.van-slide-bottom {
&-enter-active {
animation: van-slide-bottom-enter .3s both ease;
}
&-leave-active {
animation: van-slide-bottom-leave .3s both ease;
}
}

View File

@ -6,6 +6,10 @@ html {
-webkit-tap-highlight-color: transparent;
}
body {
margin: 0;
}
a {
text-decoration: none;
}

View File

@ -4,6 +4,7 @@
.van-coupon {
&-list {
height: 100%;
position: relative;
background-color: $background-color;
&__top {
@ -33,6 +34,7 @@
color: $gray-dark;
margin: 15px 0;
font-size: 14px;
font-weight: normal;
position: relative;
text-align: center;
@ -105,7 +107,8 @@
h2 {
font-size: 22px;
margin-bottom: 10px;
font-weight: normal;
margin: 0 0 10px;
span {
font-size: 16px;
@ -113,6 +116,7 @@
}
p {
margin: 0;
font-size: 14px;
font-weight: 300;
@mixin multi-ellipsis 1;
@ -132,8 +136,10 @@
border-radius: 0 4px 4px 0;
h2 {
margin: 0;
opacity: .8;
font-size: 16px;
font-weight: normal;
}
p,

View File

@ -17,6 +17,7 @@
height: 50px;
font-size: 10px;
min-width: 15%;
line-height: 1;
text-align: center;
background-color: $white;
flex-direction: column;

View File

@ -2,11 +2,11 @@
@font-face {
font-family: 'vant-icon';
src: url('https://b.yzcdn.cn/zanui/icon/vant-icon-5e6d465ada.eot');
src: url('https://b.yzcdn.cn/zanui/icon/vant-icon-5e6d465ada.eot?#iefix') format('embedded-opentype'),
url('https://b.yzcdn.cn/zanui/icon/vant-icon-5e6d465ada.woff2') format('woff2'),
url('https://b.yzcdn.cn/zanui/icon/vant-icon-5e6d465ada.woff') format('woff'),
url('https://b.yzcdn.cn/zanui/icon/vant-icon-5e6d465ada.ttf') format('truetype')
src: url('https://b.yzcdn.cn/zanui/icon/vant-icon-6b495bd63f.eot');
src: url('https://b.yzcdn.cn/zanui/icon/vant-icon-6b495bd63f.eot?#iefix') format('embedded-opentype'),
url('https://b.yzcdn.cn/zanui/icon/vant-icon-6b495bd63f.woff2') format('woff2'),
url('https://b.yzcdn.cn/zanui/icon/vant-icon-6b495bd63f.woff') format('woff'),
url('https://b.yzcdn.cn/zanui/icon/vant-icon-6b495bd63f.ttf') format('truetype')
}
.van-icon {
@ -121,4 +121,6 @@
.van-icon-gift-card:before { content: '\e847'; } /* '' */
.van-icon-coupon:before { content: '\e848'; } /* '' */
.van-icon-clock:before { content: '\e849'; } /* '' */
.van-icon-gold-coin:before { content: '\e84a'; } /* '' */
.van-icon-gold-coin:before { content: '\e84a'; } /* '' */
.van-icon-completed:before { content: '\e84b'; } /* '' */
.van-icon-value-card:before { content: '\e84c'; } /* '' */

View File

@ -34,6 +34,8 @@
@import './radio.css';
@import './switch.css';
@import './uploader.css';
@import './password-input.css';
@import './number-keyboard.css';
/* action components */
@import './actionsheet.css';

View File

@ -41,8 +41,8 @@
}
&.van-loading__spinner--white {
border-color: rgba(0, 0, 0, .5);
border-top-color: transparent;
border-color: rgba(0, 0, 0, .1);
border-top-color: rgba(255, 255, 255, .7);
}
}

View File

@ -0,0 +1,52 @@
@import "./common/var.css";
.van-number-keyboard {
left: 0;
bottom: 0;
width: 100%;
position: fixed;
user-select: none;
background-color: $white;
animation-timing-function: ease-out;
&__title {
font-weight: 400;
text-align: center;
color: $gray-dark;
font-size: 12px;
line-height: 25px;
}
i {
width: calc(100%/3);
height: 54px;
font-size: 24px;
line-height: 54px;
font-style: normal;
text-align: center;
display: inline-block;
vertical-align: middle;
&::after {
border-top-width: 1px;
}
&:not(:nth-of-type(3n))::after {
border-right-width: 1px;
}
&:nth-of-type(10),
&:nth-of-type(12) {
background-color: #F3F3F6;
}
}
&__delete {
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAeCAMAAABg6AyVAAAAbFBMVEUAAAAfHiIdHB4eHR8dHR4eHB4dHB4dHR8gICIdHB4dHB4dHB4dHB8eHh8hISEeHR8fHB8fHR8fHR8fHx8eHiArKyszMzMeHB8eHB8fHR8eHiAeHh4dHB4vLjDY2Nn////b29zKysq9vb28vLzkfBRpAAAAHHRSTlMAK/PW+I/llBv77N1kSCPwWlFAOTMGBb28hHlu08g5sgAAAMlJREFUOMuV1MsWgiAQgGHQyOx+s+sgYO//jnnMGIdDDfwbN99CYEDQFiVEKkolPUG7gl9VTWC31NKuDbVz+Fc1tRJtPDmxS2BS3p5ZC+XXnnbAVoz2WEBCH7uZAalzGoa06whGiznT6sG2xgX4QO2Aej1+KN7XBKL2FvGaMtTWBhbQhtoaYzVQrHKwuGf8hhAPSF5g3xPSt45sCHcouNWx436FGA+RHyQcD35EcUj54U8ff4WYvVi1zLjelUh/OG6XjOeLWv5hfAOI+HLwwOAqhAAAAABJRU5ErkJggg==") no-repeat center center;
background-size: auto 15px;
}
i&--active {
background-color: $active-color!important;
}
}

View File

@ -0,0 +1,59 @@
@import "./common/var.css";
.van-password-input {
margin: 0 15px;
user-select: none;
position: relative;
&:focus {
outline: none;
}
&__info,
&__error-info {
font-size: 14px;
margin-top: 15px;
text-align: center;
}
&__info {
color: $gray-dark;
}
&__error-info {
color: $red;
}
&__security {
width: 100%;
height: 50px;
display: flex;
background-color: $white;
&::after {
border-radius: 6px;
}
li {
flex: 1;
height: 100%;
position: relative;
&:not(:first-of-type)::after {
border-left-width: 1px;
}
}
i {
position: absolute;
left: 50%;
top: 50%;
width: 10px;
height: 10px;
margin: -5px 0 0 -5px;
visibility: hidden;
border-radius: 100%;
background-color: $black;
}
}
}

View File

@ -32,8 +32,12 @@
width: 100%;
height: 14px;
font-size: 14px;
color: $gray-dark;
color: $gray-darker;
border: none;
&::placeholder {
color: $gray-dark;
}
}
&__cancel {

View File

@ -0,0 +1,19 @@
<template>
<keep-alive>
<van-number-keyboard v-if="showKeyboard" />
</keep-alive>
</template>
<script>
import NumberKeyboard from 'packages/number-keyboard';
export default {
name: 'number-keyboard-test',
components: {
[NumberKeyboard.name]: NumberKeyboard
},
props: ['showKeyboard']
};
</script>

View File

@ -82,8 +82,7 @@ describe('CouponCell', () => {
DOMChecker(wrapper, {
text: {
'.van-cell__value--link h2': '新手专用优惠券 省¥1.50',
'.van-cell__value--link span': '下单立减 1.50 元'
'.van-cell__value--link div div': '新手专用优惠券 省¥1.50'
},
count: {
'.van-cell__right-icon': 1
@ -102,8 +101,7 @@ describe('CouponCell', () => {
DOMChecker(wrapper, {
text: {
'.van-cell__value h2': '新手专用优惠券 省¥1.50',
'.van-cell__value span': '下单立减 1.50 元'
'.van-cell__value div div': '新手专用优惠券 省¥1.50'
},
count: {
'.van-cell__right-icon': 0
@ -155,7 +153,6 @@ describe('CouponList', () => {
wrapper = mount(CouponList, {
attachToDocument: true,
propsData: {
show: true,
chosenCoupon: -1,
coupons: [coupon, discountCoupon],
disabledCoupons: [disabledCoupon, disabledDiscountCoupon]
@ -166,9 +163,7 @@ describe('CouponList', () => {
wrapper.vm.chosenCoupon = index;
});
// 弹出 popup
setTimeout(() => {
expect(wrapper.find('.van-coupon-list')[0].hasStyle('display', 'none')).to.equal(false);
wrapper.find('.van-coupon-item')[0].trigger('click');
setTimeout(() => {
@ -182,7 +177,6 @@ describe('CouponList', () => {
wrapper = mount(CouponList, {
attachToDocument: true,
propsData: {
show: false,
chosenCoupon: 0,
displayedCouponIndex: 0,
coupons: [coupon, discountCoupon],
@ -190,8 +184,6 @@ describe('CouponList', () => {
}
});
wrapper.vm.show = true;
wrapper.vm.$on('change', (index) => {
wrapper.vm.chosenCoupon = index;
wrapper.vm.displayedCouponIndex = index;
@ -201,7 +193,6 @@ describe('CouponList', () => {
wrapper.find('.van-coupon-list__close')[0].trigger('click');
setTimeout(() => {
expect(wrapper.vm.chosenCoupon).to.equal(-1);
expect(wrapper.find('.van-coupon-list')[0].hasStyle('display', 'none')).to.equal(true);
done();
}, 500);
}, 500);
@ -257,7 +248,6 @@ describe('CouponList', () => {
wrapper = mount(CouponList, {
attachToDocument: true,
propsData: {
show: true,
chosenCoupon: 0,
coupons: [coupon, discountCoupon, emptyCoupon],
disabledCoupons: [disabledCoupon, disabledDiscountCoupon]
@ -307,7 +297,6 @@ describe('CouponList', () => {
it('displayedCouponIndex out of range', (done) => {
wrapper = mount(CouponList, {
propsData: {
show: true,
displayedCouponIndex: -100,
coupons: [coupon, discountCoupon, emptyCoupon]
}

View File

@ -0,0 +1,160 @@
import NumberKeyboard from 'packages/number-keyboard';
import NumberKeyboardKeepAlive from '../components/number-keyboard';
import { mount } from 'avoriaz';
import { triggerTouch } from '../utils';
function mockKeyDown(wrapper, keyIndex) {
const customEvent = document.createEvent('CustomEvent');
customEvent.initCustomEvent('touchstart', true, true, {});
wrapper.element.dataset.key = keyIndex;
wrapper.element.dispatchEvent(customEvent);
}
describe('NumberKeyboard', () => {
let wrapper;
afterEach(() => {
wrapper && wrapper.destroy();
});
it('create a NumberKeyboard', () => {
wrapper = mount(NumberKeyboard, {});
expect(wrapper.hasClass('van-number-keyboard')).to.be.true;
});
it('click a keyboard key', (done) => {
wrapper = mount(NumberKeyboard, {});
// just for coverage
wrapper.vm.handler(true);
wrapper.vm.$on('input', value => {
expect(value).to.equal(1);
expect(wrapper.vm.active).to.equal(0);
triggerTouch(wrapper, 'touchend');
expect(wrapper.vm.active).to.equal(-1);
done();
});
mockKeyDown(wrapper, 9);
mockKeyDown(wrapper, NaN);
mockKeyDown(wrapper, 0);
});
it('click delete key', (done) => {
wrapper = mount(NumberKeyboard, {});
const deleteSpy = sinon.spy();
wrapper.vm.$on('delete', deleteSpy);
mockKeyDown(wrapper, 11);
wrapper.vm.$nextTick(() => {
expect(deleteSpy.calledOnce).to.be.true;
done();
});
});
it('blur keyboard', (done) => {
wrapper = mount(NumberKeyboard, {
attachToDocument: true
});
const blur = sinon.spy();
wrapper.vm.$on('blur', blur);
triggerTouch(document.body, 'touchstart');
wrapper.vm.$nextTick(() => {
expect(blur.calledOnce).to.be.true;
done();
});
});
it('listen to show event when has transtion', (done) => {
wrapper = mount(NumberKeyboard, {
attachToDocument: true
});
const show = sinon.spy();
wrapper.vm.$on('show', show);
wrapper.vm.show = true;
wrapper.trigger('animationend');
setTimeout(() => {
expect(show.calledOnce).to.be.true;
done();
}, 100);
});
it('listen to show event when no transtion', (done) => {
wrapper = mount(NumberKeyboard, {
attachToDocument: true,
propsData: {
transition: false
}
});
const show = sinon.spy();
wrapper.vm.$on('show', show);
wrapper.vm.show = true;
wrapper.vm.$nextTick(() => {
expect(show.calledOnce).to.be.true;
done();
});
});
it('listen to hide event when has transtion', (done) => {
wrapper = mount(NumberKeyboard, {
attachToDocument: true,
propsData: {
show: true
}
});
const hide = sinon.spy();
wrapper.vm.$on('hide', hide);
wrapper.vm.show = false;
wrapper.trigger('animationend');
setTimeout(() => {
expect(hide.calledOnce).to.be.true;
done();
}, 100);
});
it('listen to hide event when no transtion', (done) => {
wrapper = mount(NumberKeyboard, {
attachToDocument: true,
propsData: {
show: true,
transition: false
}
});
const hide = sinon.spy();
wrapper.vm.$on('hide', hide);
wrapper.vm.show = false;
wrapper.vm.$nextTick(() => {
expect(hide.calledOnce).to.be.true;
done();
});
});
it('keey-alive live cycle', (done) => {
wrapper = mount(NumberKeyboardKeepAlive, {
attachToDocument: true,
propsData: {
showKeyboard: true
}
});
expect(wrapper.find('.van-number-keyboard').length).to.equal(1);
wrapper.vm.showKeyboard = false;
wrapper.vm.$nextTick(() => {
expect(wrapper.find('.van-number-keyboard').length).to.equal(0);
done();
});
});
});

View File

@ -0,0 +1,56 @@
import PasswordInput from 'packages/password-input';
import { mount } from 'avoriaz';
describe('PasswordInput', () => {
let wrapper;
afterEach(() => {
wrapper && wrapper.destroy();
});
it('create a PasswordInput', () => {
wrapper = mount(PasswordInput, {});
expect(wrapper.find('.van-password-input').length).to.equal(1);
});
it('create a PasswordInput with value && info', (done) => {
wrapper = mount(PasswordInput, {
propsData: {
value: '000',
info: '测试info'
}
});
expect(wrapper.find('.van-password-input i')[2].hasStyle('visibility', 'visible')).to.be.true;
expect(wrapper.find('.van-password-input i')[3].hasStyle('visibility', 'visible')).to.be.false;
expect(wrapper.find('.van-password-input__info')[0].text()).to.equal('测试info');
wrapper.vm.value = '0000';
wrapper.vm.errorInfo = '测试errorInfo';
wrapper.vm.$nextTick(() => {
expect(wrapper.find('.van-password-input i')[3].hasStyle('visibility', 'visible')).to.be.true;
expect(wrapper.find('.van-password-input__info').length).to.equal(0);
expect(wrapper.find('.van-password-input__error-info')[0].text()).to.equal('测试errorInfo');
done();
});
});
it('listen to focus event', () => {
wrapper = mount(PasswordInput, {});
const focus = sinon.spy();
wrapper.vm.$on('focus', focus);
wrapper.find('.van-password-input__security')[0].trigger('touchstart');
expect(focus.calledOnce).to.be.true;
});
it('change password length', () => {
wrapper = mount(PasswordInput, {
propsData: {
length: 2
}
});
expect(wrapper.find('.van-password-input i').length).to.equal(2);
});
});

View File

@ -323,14 +323,14 @@ autoprefixer@^6.3.1:
postcss-value-parser "^3.2.3"
autoprefixer@^7.1.3:
version "7.1.3"
resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.1.3.tgz#0e8d337976d6f13644db9f8813b4c42f3d1ccc34"
version "7.1.4"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.1.4.tgz#960847dbaa4016bc8e8e52ec891cbf8f1257a748"
dependencies:
browserslist "^2.4.0"
caniuse-lite "^1.0.30000718"
caniuse-lite "^1.0.30000726"
normalize-range "^0.1.2"
num2fraction "^1.2.2"
postcss "^6.0.10"
postcss "^6.0.11"
postcss-value-parser "^3.2.3"
avoriaz@2.0.0:
@ -1195,6 +1195,10 @@ caniuse-lite@^1.0.30000718:
version "1.0.30000718"
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000718.tgz#0dd24290beb11310b2d80f6b70a823c2a65a6fad"
caniuse-lite@^1.0.30000726:
version "1.0.30000727"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000727.tgz#20c895768398ded5f98a4beab4a76c285def41d2"
caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
@ -1713,7 +1717,7 @@ cssesc@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4"
"cssnano@>=2.6.1 <4", cssnano@^3.4.0:
"cssnano@>=2.6.1 <4":
version "3.10.0"
resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38"
dependencies:
@ -3343,7 +3347,7 @@ hawk@~3.1.3:
hoek "2.x.x"
sntp "1.x.x"
he@1.1.x, he@^1.1.0:
he@1.1.1, he@1.1.x, he@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"
@ -4132,13 +4136,6 @@ klaw@^1.0.0:
optionalDependencies:
graceful-fs "^4.1.9"
last-call-webpack-plugin@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-2.1.1.tgz#bd7af41186b80e6cc3968eee5d65b250eaf791f1"
dependencies:
lodash "^4.17.4"
webpack-sources "^1.0.1"
lazy-cache@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
@ -4758,8 +4755,8 @@ mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdi
minimist "0.0.8"
mocha@^3.4.2:
version "3.5.0"
resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.5.0.tgz#1328567d2717f997030f8006234bce9b8cd72465"
version "3.5.3"
resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.5.3.tgz#1e0480fe36d2da5858d1eb6acc38418b26eaa20d"
dependencies:
browser-stdout "1.3.0"
commander "2.9.0"
@ -4768,6 +4765,7 @@ mocha@^3.4.2:
escape-string-regexp "1.0.5"
glob "7.1.1"
growl "1.9.2"
he "1.1.1"
json3 "3.3.2"
lodash.create "3.1.1"
mkdirp "0.5.1"
@ -5075,13 +5073,6 @@ optimist@^0.6.1:
minimist "~0.0.1"
wordwrap "~0.0.2"
optimize-css-assets-webpack-plugin@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-3.1.1.tgz#b86f255a762d9143e3db41a64a136a6b76e8c8a7"
dependencies:
cssnano "^3.4.0"
last-call-webpack-plugin "^2.1.1"
optionator@^0.8.1, optionator@^0.8.2:
version "0.8.2"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
@ -5815,7 +5806,7 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0
source-map "^0.5.6"
supports-color "^3.2.3"
postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.10, postcss@^6.0.2, postcss@^6.0.3, postcss@^6.0.6, postcss@^6.0.9:
postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.2, postcss@^6.0.3, postcss@^6.0.6, postcss@^6.0.9:
version "6.0.10"
resolved "https://registry.npmjs.org/postcss/-/postcss-6.0.10.tgz#c311b89734483d87a91a56dc9e53f15f4e6e84e4"
dependencies:
@ -5823,6 +5814,14 @@ postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.10, postcss@^6.0.2, postcss@^6.0.3,
source-map "^0.5.7"
supports-color "^4.2.1"
postcss@^6.0.10, postcss@^6.0.11:
version "6.0.11"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.11.tgz#f48db210b1d37a7f7ab6499b7a54982997ab6f72"
dependencies:
chalk "^2.1.0"
source-map "^0.5.7"
supports-color "^4.4.0"
precss@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/precss/-/precss-2.0.0.tgz#7f567e3318e06d44c8fdbf9e58452e8358bf4b71"
@ -6310,12 +6309,18 @@ right-align@^0.1.1:
dependencies:
align-text "^0.1.1"
rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.0, rimraf@^2.6.1:
rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.6.0, rimraf@^2.6.1:
version "2.6.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
dependencies:
glob "^7.0.5"
rimraf@^2.5.4:
version "2.6.2"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
dependencies:
glob "^7.0.5"
ripemd160@^2.0.0, ripemd160@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7"
@ -6825,6 +6830,12 @@ supports-color@^4.0.0, supports-color@^4.2.1:
dependencies:
has-flag "^2.0.0"
supports-color@^4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e"
dependencies:
has-flag "^2.0.0"
svgo@^0.7.0:
version "0.7.2"
resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5"
@ -7311,8 +7322,8 @@ vue-loader@^13.0.4:
vue-template-es2015-compiler "^1.5.3"
vue-markdown-loader@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/vue-markdown-loader/-/vue-markdown-loader-2.1.0.tgz#112d1921dd56daa29906b7c012623c6c5d6e0d8c"
version "2.2.1"
resolved "https://registry.yarnpkg.com/vue-markdown-loader/-/vue-markdown-loader-2.2.1.tgz#becf0c7455589eb27189fe78a9d5a283bb7acc00"
dependencies:
cheerio "^0.20.0"
highlight.js "^9.4.0"
@ -7331,8 +7342,8 @@ vue-sfc-compiler@^0.0.2:
vue-template-es2015-compiler "^1.5.3"
vue-style-loader@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-3.0.1.tgz#c8b639bb2f24baf9d78274dc17e4f264c1deda08"
version "3.0.2"
resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-3.0.2.tgz#eaeb299729fa3ee54717e907ce3c1e425ebae729"
dependencies:
hash-sum "^1.0.2"
loader-utils "^1.0.2"
@ -7429,8 +7440,8 @@ webpack-sources@^1.0.1:
source-map "~0.5.3"
webpack@^3.5.5:
version "3.5.5"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.5.5.tgz#3226f09fc8b3e435ff781e7af34f82b68b26996c"
version "3.5.6"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.5.6.tgz#a492fb6c1ed7f573816f90e00c8fbb5a20cc5c36"
dependencies:
acorn "^5.0.0"
acorn-dynamic-import "^2.0.0"
@ -7641,8 +7652,8 @@ yeast@0.1.2:
resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
zan-doc@^0.2.12:
version "0.2.12"
resolved "https://registry.npmjs.org/zan-doc/-/zan-doc-0.2.12.tgz#bfbf9a7ec5a4b77a7f53ca1ac030b305432a91c5"
version "0.2.14"
resolved "https://registry.yarnpkg.com/zan-doc/-/zan-doc-0.2.14.tgz#f5915e8e45fd10d2eae3e36d10949d22a7f9ac62"
dependencies:
cheerio "0.22.0"
decamelize "^1.2.0"