mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-06 03:57:59 +08:00
Merge remote-tracking branch 'upstream/dev' into dev
This commit is contained in:
commit
6dbc9b6da9
@ -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
|
||||
|
@ -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>
|
||||
```
|
||||
:::
|
||||
|
||||
|
@ -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 slot,use 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)*
|
@ -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) {
|
||||
|
@ -108,7 +108,9 @@ const icons = [
|
||||
'description',
|
||||
'card',
|
||||
'gift-card',
|
||||
'coupon'
|
||||
'coupon',
|
||||
'completed',
|
||||
'value-card'
|
||||
];
|
||||
|
||||
const IconListConstructor = Vue.extend({
|
||||
|
@ -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>
|
||||
```
|
||||
:::
|
||||
|
||||
|
101
docs/examples-docs/number-keyboard.md
Normal file
101
docs/examples-docs/number-keyboard.md
Normal 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 | 键盘完全收起时触发 | - |
|
88
docs/examples-docs/password-input.md
Normal file
88
docs/examples-docs/password-input.md
Normal 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 | 输入框聚焦时触发 | - |
|
@ -12,6 +12,13 @@
|
||||
.van-steps__message + p {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
p,
|
||||
h3 {
|
||||
margin: 0;
|
||||
font-size: inherit;
|
||||
font-weight: normal;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
@ -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>
|
||||
|
@ -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 单选框"
|
||||
|
@ -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",
|
||||
|
@ -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">
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -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;
|
||||
}
|
||||
});
|
||||
|
@ -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,
|
||||
|
137
packages/number-keyboard/index.vue
Normal file
137
packages/number-keyboard/index.vue
Normal 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>
|
@ -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>
|
||||
|
43
packages/password-input/index.vue
Normal file
43
packages/password-input/index.vue
Normal 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>
|
@ -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]">
|
||||
|
@ -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">
|
||||
|
Binary file not shown.
@ -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",
|
||||
|
@ -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'
|
||||
}
|
||||
]
|
||||
};
|
||||
|
@ -5,4 +5,4 @@
|
||||
@import "./common/var.css";
|
||||
@import "./common/normalize.css";
|
||||
@import "./common/hairline.css";
|
||||
|
||||
@import "./common/animation.css";
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
21
packages/vant-css/src/common/animation.css
Normal file
21
packages/vant-css/src/common/animation.css
Normal 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;
|
||||
}
|
||||
}
|
4
packages/vant-css/src/common/normalize.css
vendored
4
packages/vant-css/src/common/normalize.css
vendored
@ -6,6 +6,10 @@ html {
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
@ -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,
|
||||
|
@ -17,6 +17,7 @@
|
||||
height: 50px;
|
||||
font-size: 10px;
|
||||
min-width: 15%;
|
||||
line-height: 1;
|
||||
text-align: center;
|
||||
background-color: $white;
|
||||
flex-direction: column;
|
||||
|
@ -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 {
|
||||
@ -122,3 +122,5 @@
|
||||
.van-icon-coupon:before { content: '\e848'; } /* '' */
|
||||
.van-icon-clock:before { content: '\e849'; } /* '' */
|
||||
.van-icon-gold-coin:before { content: '\e84a'; } /* '' */
|
||||
.van-icon-completed:before { content: '\e84b'; } /* '' */
|
||||
.van-icon-value-card:before { content: '\e84c'; } /* '' */
|
@ -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';
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
52
packages/vant-css/src/number-keyboard.css
Normal file
52
packages/vant-css/src/number-keyboard.css
Normal 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;
|
||||
}
|
||||
}
|
59
packages/vant-css/src/password-input.css
Normal file
59
packages/vant-css/src/password-input.css
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
@ -32,8 +32,12 @@
|
||||
width: 100%;
|
||||
height: 14px;
|
||||
font-size: 14px;
|
||||
color: $gray-dark;
|
||||
color: $gray-darker;
|
||||
border: none;
|
||||
|
||||
&::placeholder {
|
||||
color: $gray-dark;
|
||||
}
|
||||
}
|
||||
|
||||
&__cancel {
|
||||
|
19
test/unit/components/number-keyboard.vue
Normal file
19
test/unit/components/number-keyboard.vue
Normal 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>
|
@ -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]
|
||||
}
|
||||
|
160
test/unit/specs/number-keyboard.spec.js
Normal file
160
test/unit/specs/number-keyboard.spec.js
Normal 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();
|
||||
});
|
||||
});
|
||||
});
|
56
test/unit/specs/password-input.spec.js
Normal file
56
test/unit/specs/password-input.spec.js
Normal 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);
|
||||
});
|
||||
});
|
75
yarn.lock
75
yarn.lock
@ -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"
|
||||
|
Loading…
x
Reference in New Issue
Block a user