first
This commit is contained in:
1
node_modules/vant/es/button/index.css
generated
vendored
Normal file
1
node_modules/vant/es/button/index.css
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
.van-button{position:relative;display:inline-block;box-sizing:border-box;height:44px;margin:0;padding:0;font-size:16px;line-height:1.2;text-align:center;border-radius:2px;cursor:pointer;-webkit-transition:opacity .2s;transition:opacity .2s;-webkit-appearance:none}.van-button::before{position:absolute;top:50%;left:50%;width:100%;height:100%;background-color:#000;border:inherit;border-color:#000;border-radius:inherit;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);opacity:0;content:' '}.van-button:active::before{opacity:.1}.van-button--disabled::before,.van-button--loading::before{display:none}.van-button--default{color:#323233;background-color:#fff;border:1px solid #ebedf0}.van-button--primary{color:#fff;background-color:#07c160;border:1px solid #07c160}.van-button--info{color:#fff;background-color:#1989fa;border:1px solid #1989fa}.van-button--danger{color:#fff;background-color:#ee0a24;border:1px solid #ee0a24}.van-button--warning{color:#fff;background-color:#ff976a;border:1px solid #ff976a}.van-button--plain{background-color:#fff}.van-button--plain.van-button--primary{color:#07c160}.van-button--plain.van-button--info{color:#1989fa}.van-button--plain.van-button--danger{color:#ee0a24}.van-button--plain.van-button--warning{color:#ff976a}.van-button--large{width:100%;height:50px}.van-button--normal{padding:0 15px;font-size:14px}.van-button--small{height:32px;padding:0 8px;font-size:12px}.van-button__loading{color:inherit;font-size:inherit}.van-button--mini{height:24px;padding:0 4px;font-size:10px}.van-button--mini+.van-button--mini{margin-left:4px}.van-button--block{display:block;width:100%}.van-button--disabled{cursor:not-allowed;opacity:.5}.van-button--loading{cursor:default}.van-button--round{border-radius:999px}.van-button--square{border-radius:0}.van-button__content{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;height:100%}.van-button__content::before{content:' '}.van-button__icon{font-size:1.2em;line-height:inherit}.van-button__icon+.van-button__text,.van-button__loading+.van-button__text,.van-button__text+.van-button__icon,.van-button__text+.van-button__loading{margin-left:4px}.van-button--hairline{border-width:0}.van-button--hairline::after{border-color:inherit;border-radius:4px}.van-button--hairline.van-button--round::after{border-radius:999px}.van-button--hairline.van-button--square::after{border-radius:0}
|
181
node_modules/vant/es/button/index.js
generated
vendored
Normal file
181
node_modules/vant/es/button/index.js
generated
vendored
Normal file
@ -0,0 +1,181 @@
|
||||
import _extends from "@babel/runtime/helpers/esm/extends";
|
||||
import _mergeJSXProps from "@vue/babel-helper-vue-jsx-merge-props";
|
||||
// Utils
|
||||
import { createNamespace } from '../utils';
|
||||
import { emit, inherit } from '../utils/functional';
|
||||
import { BORDER_SURROUND } from '../utils/constant';
|
||||
import { routeProps, functionalRoute } from '../utils/router'; // Components
|
||||
|
||||
import Icon from '../icon';
|
||||
import Loading from '../loading'; // Types
|
||||
|
||||
var _createNamespace = createNamespace('button'),
|
||||
createComponent = _createNamespace[0],
|
||||
bem = _createNamespace[1];
|
||||
|
||||
function Button(h, props, slots, ctx) {
|
||||
var _ref;
|
||||
|
||||
var tag = props.tag,
|
||||
icon = props.icon,
|
||||
type = props.type,
|
||||
color = props.color,
|
||||
plain = props.plain,
|
||||
disabled = props.disabled,
|
||||
loading = props.loading,
|
||||
hairline = props.hairline,
|
||||
loadingText = props.loadingText,
|
||||
iconPosition = props.iconPosition;
|
||||
var style = {};
|
||||
|
||||
if (color) {
|
||||
style.color = plain ? color : 'white';
|
||||
|
||||
if (!plain) {
|
||||
// Use background instead of backgroundColor to make linear-gradient work
|
||||
style.background = color;
|
||||
} // hide border when color is linear-gradient
|
||||
|
||||
|
||||
if (color.indexOf('gradient') !== -1) {
|
||||
style.border = 0;
|
||||
} else {
|
||||
style.borderColor = color;
|
||||
}
|
||||
}
|
||||
|
||||
function onClick(event) {
|
||||
if (props.loading) {
|
||||
event.preventDefault();
|
||||
}
|
||||
|
||||
if (!loading && !disabled) {
|
||||
emit(ctx, 'click', event);
|
||||
functionalRoute(ctx);
|
||||
}
|
||||
}
|
||||
|
||||
function onTouchstart(event) {
|
||||
emit(ctx, 'touchstart', event);
|
||||
}
|
||||
|
||||
var classes = [bem([type, props.size, {
|
||||
plain: plain,
|
||||
loading: loading,
|
||||
disabled: disabled,
|
||||
hairline: hairline,
|
||||
block: props.block,
|
||||
round: props.round,
|
||||
square: props.square
|
||||
}]), (_ref = {}, _ref[BORDER_SURROUND] = hairline, _ref)];
|
||||
|
||||
function renderIcon() {
|
||||
if (loading) {
|
||||
return slots.loading ? slots.loading() : h(Loading, {
|
||||
"class": bem('loading'),
|
||||
"attrs": {
|
||||
"size": props.loadingSize,
|
||||
"type": props.loadingType,
|
||||
"color": "currentColor"
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (slots.icon) {
|
||||
return h("div", {
|
||||
"class": bem('icon')
|
||||
}, [slots.icon()]);
|
||||
}
|
||||
|
||||
if (icon) {
|
||||
return h(Icon, {
|
||||
"attrs": {
|
||||
"name": icon,
|
||||
"classPrefix": props.iconPrefix
|
||||
},
|
||||
"class": bem('icon')
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function renderContent() {
|
||||
var content = [];
|
||||
|
||||
if (iconPosition === 'left') {
|
||||
content.push(renderIcon());
|
||||
}
|
||||
|
||||
var text;
|
||||
|
||||
if (loading) {
|
||||
text = loadingText;
|
||||
} else {
|
||||
text = slots.default ? slots.default() : props.text;
|
||||
}
|
||||
|
||||
if (text) {
|
||||
content.push(h("span", {
|
||||
"class": bem('text')
|
||||
}, [text]));
|
||||
}
|
||||
|
||||
if (iconPosition === 'right') {
|
||||
content.push(renderIcon());
|
||||
}
|
||||
|
||||
return content;
|
||||
}
|
||||
|
||||
return h(tag, _mergeJSXProps([{
|
||||
"style": style,
|
||||
"class": classes,
|
||||
"attrs": {
|
||||
"type": props.nativeType,
|
||||
"disabled": disabled
|
||||
},
|
||||
"on": {
|
||||
"click": onClick,
|
||||
"touchstart": onTouchstart
|
||||
}
|
||||
}, inherit(ctx)]), [h("div", {
|
||||
"class": bem('content')
|
||||
}, [renderContent()])]);
|
||||
}
|
||||
|
||||
Button.props = _extends({}, routeProps, {
|
||||
text: String,
|
||||
icon: String,
|
||||
color: String,
|
||||
block: Boolean,
|
||||
plain: Boolean,
|
||||
round: Boolean,
|
||||
square: Boolean,
|
||||
loading: Boolean,
|
||||
hairline: Boolean,
|
||||
disabled: Boolean,
|
||||
iconPrefix: String,
|
||||
nativeType: String,
|
||||
loadingText: String,
|
||||
loadingType: String,
|
||||
tag: {
|
||||
type: String,
|
||||
default: 'button'
|
||||
},
|
||||
type: {
|
||||
type: String,
|
||||
default: 'default'
|
||||
},
|
||||
size: {
|
||||
type: String,
|
||||
default: 'normal'
|
||||
},
|
||||
loadingSize: {
|
||||
type: String,
|
||||
default: '20px'
|
||||
},
|
||||
iconPosition: {
|
||||
type: String,
|
||||
default: 'left'
|
||||
}
|
||||
});
|
||||
export default createComponent(Button);
|
190
node_modules/vant/es/button/index.less
generated
vendored
Normal file
190
node_modules/vant/es/button/index.less
generated
vendored
Normal file
@ -0,0 +1,190 @@
|
||||
@import '../style/var';
|
||||
|
||||
.van-button {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
box-sizing: border-box;
|
||||
height: @button-default-height;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: @button-default-font-size;
|
||||
line-height: @button-default-line-height;
|
||||
text-align: center;
|
||||
border-radius: @button-border-radius;
|
||||
cursor: pointer;
|
||||
transition: opacity @animation-duration-fast;
|
||||
-webkit-appearance: none;
|
||||
|
||||
&::before {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: @black;
|
||||
border: inherit;
|
||||
border-color: @black;
|
||||
border-radius: inherit; /* inherit parent's border radius */
|
||||
transform: translate(-50%, -50%);
|
||||
opacity: 0;
|
||||
content: ' ';
|
||||
}
|
||||
|
||||
&:active::before {
|
||||
opacity: 0.1;
|
||||
}
|
||||
|
||||
&--loading,
|
||||
&--disabled {
|
||||
&::before {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
&--default {
|
||||
color: @button-default-color;
|
||||
background-color: @button-default-background-color;
|
||||
border: @button-border-width solid @button-default-border-color;
|
||||
}
|
||||
|
||||
&--primary {
|
||||
color: @button-primary-color;
|
||||
background-color: @button-primary-background-color;
|
||||
border: @button-border-width solid @button-primary-border-color;
|
||||
}
|
||||
|
||||
&--info {
|
||||
color: @button-info-color;
|
||||
background-color: @button-info-background-color;
|
||||
border: @button-border-width solid @button-info-border-color;
|
||||
}
|
||||
|
||||
&--danger {
|
||||
color: @button-danger-color;
|
||||
background-color: @button-danger-background-color;
|
||||
border: @button-border-width solid @button-danger-border-color;
|
||||
}
|
||||
|
||||
&--warning {
|
||||
color: @button-warning-color;
|
||||
background-color: @button-warning-background-color;
|
||||
border: @button-border-width solid @button-warning-border-color;
|
||||
}
|
||||
|
||||
&--plain {
|
||||
background-color: @button-plain-background-color;
|
||||
|
||||
&.van-button--primary {
|
||||
color: @button-primary-background-color;
|
||||
}
|
||||
|
||||
&.van-button--info {
|
||||
color: @button-info-background-color;
|
||||
}
|
||||
|
||||
&.van-button--danger {
|
||||
color: @button-danger-background-color;
|
||||
}
|
||||
|
||||
&.van-button--warning {
|
||||
color: @button-warning-background-color;
|
||||
}
|
||||
}
|
||||
|
||||
&--large {
|
||||
width: 100%;
|
||||
height: @button-large-height;
|
||||
}
|
||||
|
||||
&--normal {
|
||||
padding: 0 15px;
|
||||
font-size: @button-normal-font-size;
|
||||
}
|
||||
|
||||
&--small {
|
||||
height: @button-small-height;
|
||||
padding: 0 @padding-xs;
|
||||
font-size: @button-small-font-size;
|
||||
}
|
||||
|
||||
&__loading {
|
||||
color: inherit;
|
||||
font-size: inherit;
|
||||
}
|
||||
|
||||
&--mini {
|
||||
height: @button-mini-height;
|
||||
padding: 0 @padding-base;
|
||||
font-size: @button-mini-font-size;
|
||||
|
||||
& + .van-button--mini {
|
||||
margin-left: @padding-base;
|
||||
}
|
||||
}
|
||||
|
||||
&--block {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
&--disabled {
|
||||
cursor: not-allowed;
|
||||
opacity: @button-disabled-opacity;
|
||||
}
|
||||
|
||||
&--loading {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
&--round {
|
||||
border-radius: @button-round-border-radius;
|
||||
}
|
||||
|
||||
&--square {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
// align-items are ignored when flex container is a button in legacy safari
|
||||
// see: https://bugs.webkit.org/show_bug.cgi?id=169700
|
||||
&__content {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 100%;
|
||||
|
||||
// fix icon vertical align
|
||||
// see: https://github.com/vant-ui/vant/issues/7617
|
||||
&::before {
|
||||
content: ' ';
|
||||
}
|
||||
}
|
||||
|
||||
&__icon {
|
||||
font-size: 1.2em;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
&__icon + &__text,
|
||||
&__loading + &__text,
|
||||
&__text + &__icon,
|
||||
&__text + &__loading {
|
||||
margin-left: @padding-base;
|
||||
}
|
||||
|
||||
&--hairline {
|
||||
border-width: 0;
|
||||
|
||||
&::after {
|
||||
border-color: inherit;
|
||||
border-radius: @button-border-radius * 2;
|
||||
}
|
||||
|
||||
&.van-button--round::after {
|
||||
border-radius: @button-round-border-radius;
|
||||
}
|
||||
|
||||
&.van-button--square::after {
|
||||
border-radius: 0;
|
||||
}
|
||||
}
|
||||
}
|
5
node_modules/vant/es/button/style/index.js
generated
vendored
Normal file
5
node_modules/vant/es/button/style/index.js
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
import '../../style/base.css';
|
||||
import '../../info/index.css';
|
||||
import '../../icon/index.css';
|
||||
import '../../loading/index.css';
|
||||
import '../index.css';
|
5
node_modules/vant/es/button/style/less.js
generated
vendored
Normal file
5
node_modules/vant/es/button/style/less.js
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
import '../../style/base.less';
|
||||
import '../../info/index.less';
|
||||
import '../../icon/index.less';
|
||||
import '../../loading/index.less';
|
||||
import '../index.less';
|
Reference in New Issue
Block a user