仿互站小程序
This commit is contained in:
54
vant/button/index.js
Normal file
54
vant/button/index.js
Normal file
@@ -0,0 +1,54 @@
|
||||
var e = require("../common/component"), t = require("../mixins/button"), i = require("../mixins/open-type");
|
||||
|
||||
(0, e.VantComponent)({
|
||||
mixins: [ t.button, i.openType ],
|
||||
classes: [ "hover-class", "loading-class" ],
|
||||
data: {
|
||||
style: ""
|
||||
},
|
||||
props: {
|
||||
icon: String,
|
||||
iconstyle: String,
|
||||
plain: Boolean,
|
||||
block: Boolean,
|
||||
round: Boolean,
|
||||
square: Boolean,
|
||||
loading: Boolean,
|
||||
hairline: Boolean,
|
||||
disabled: Boolean,
|
||||
loadingText: String,
|
||||
customStyle: String,
|
||||
loadingType: {
|
||||
type: String,
|
||||
value: "circular"
|
||||
},
|
||||
type: {
|
||||
type: String,
|
||||
value: "default"
|
||||
},
|
||||
size: {
|
||||
type: String,
|
||||
value: "normal"
|
||||
},
|
||||
loadingSize: {
|
||||
type: String,
|
||||
value: "20px"
|
||||
},
|
||||
color: {
|
||||
type: String,
|
||||
observer: function(e) {
|
||||
var t = "";
|
||||
e && (t += "color: " + (this.data.plain ? e : "white") + ";", this.data.plain || (t += "background: " + e + ";"),
|
||||
-1 !== e.indexOf("gradient") ? t += "border: 0;" : t += "border-color: " + e + ";"),
|
||||
t !== this.data.style && this.setData({
|
||||
style: t
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onClick: function() {
|
||||
this.data.disabled || this.data.loading || this.$emit("click");
|
||||
}
|
||||
}
|
||||
});
|
13
vant/button/index.json
Normal file
13
vant/button/index.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"van-icon": "../icon/index",
|
||||
"van-loading": "../loading/index",
|
||||
"forview": "/utils/forview/index",
|
||||
"van-dialog": "/vant/dialog/index",
|
||||
"van-button": "/vant/button/index",
|
||||
"van-popup": "/vant/popup/index",
|
||||
"van-tab": "/vant/tab/index",
|
||||
"van-tabs": "/vant/tabs/index"
|
||||
}
|
||||
}
|
15
vant/button/index.wxml
Normal file
15
vant/button/index.wxml
Normal file
@@ -0,0 +1,15 @@
|
||||
<button appParameter="{{appParameter}}" ariaLabel="{{ariaLabel}}" bindcontact="bindContact" binderror="bindError" bindgetphonenumber="bindGetPhoneNumber" bindgetuserinfo="bindGetUserInfo" bindlaunchapp="bindLaunchApp" bindopensetting="bindOpenSetting" bindtap="onClick" businessId="{{businessId}}" class="custom-class {{utils.bem( 'button',[ type,size,{block:block,round:round,plain:plain,square:square,loading:loading,disabled:disabled,hairline:hairline,unclickable:disabled||loading} ] )}} {{hairline?'van-hairline--surround':''}}" hoverClass="van-button--active hover-class" id="{{id}}" lang="{{lang}}" openType="{{openType}}" sendMessageImg="{{sendMessageImg}}" sendMessagePath="{{sendMessagePath}}" sendMessageTitle="{{sendMessageTitle}}" sessionFrom="{{sessionFrom}}" showMessageCard="{{showMessageCard}}" style="{{style}} {{customStyle}}">
|
||||
<block wx:if="{{loading}}">
|
||||
<van-loading color="{{type==='default'?'#c9c9c9':'white'}}" customClass="loading-class" size="{{loadingSize}}" type="{{loadingType}}"></van-loading>
|
||||
<view class="van-button__loading-text" wx:if="{{loadingText}}">
|
||||
{{loadingText}}
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<van-icon class="van-button__icon" customStyle="line-height: inherit;{{iconstyle}}" name="{{icon}}" size="1.2em" wx:if="{{icon}}"></van-icon>
|
||||
<view class="van-button__text">
|
||||
<slot></slot>
|
||||
</view>
|
||||
</block>
|
||||
</button>
|
||||
<wxs module="utils" src="../wxs/utils.wxs" />
|
219
vant/button/index.wxss
Normal file
219
vant/button/index.wxss
Normal file
@@ -0,0 +1,219 @@
|
||||
@import "../area/index.wxss";
|
||||
|
||||
.van-button {
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
box-sizing: border-box;
|
||||
padding: 0;
|
||||
line-height: 20px;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
-webkit-appearance: none;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
height: 44px;
|
||||
height: var(--button-default-height,44px);
|
||||
font-size: 16px;
|
||||
font-size: var(--button-default-font-size,16px);
|
||||
transition: opacity .2s;
|
||||
transition: opacity var(--animation-duration-fast,.2s);
|
||||
border-radius: 2px;
|
||||
border-radius: var(--button-border-radius,2px);
|
||||
}
|
||||
|
||||
.van-button:before {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: inherit;
|
||||
border-radius: inherit;
|
||||
transform: translate(-50%,-50%);
|
||||
opacity: 0;
|
||||
content: " ";
|
||||
background-color: #000;
|
||||
background-color: var(--black,#000);
|
||||
border-color: #000;
|
||||
border-color: var(--black,#000);
|
||||
}
|
||||
|
||||
.van-button:after {
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
.van-button--active:before {
|
||||
opacity: .15;
|
||||
}
|
||||
|
||||
.van-button--unclickable:after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.van-button--default {
|
||||
color: #323233;
|
||||
color: var(--button-default-color,#323233);
|
||||
background-color: #fff;
|
||||
background-color: var(--button-default-background-color,#fff);
|
||||
border: 1px solid #ebedf0;
|
||||
border: 1px solid var(--button-default-border-color,#ebedf0);
|
||||
}
|
||||
|
||||
.van-button--primary {
|
||||
color: #fff;
|
||||
color: var(--button-primary-color,#fff);
|
||||
background-color: #07c160;
|
||||
background-color: var(--button-primary-background-color,#07c160);
|
||||
border: 1px solid #07c160;
|
||||
border: 1px solid var(--button-primary-border-color,#07c160);
|
||||
}
|
||||
|
||||
.van-button--info {
|
||||
color: #fff;
|
||||
color: var(--button-info-color,#fff);
|
||||
background-color: #1989fa;
|
||||
background-color: var(--button-info-background-color,#1989fa);
|
||||
border: 1px solid #1989fa;
|
||||
border: 1px solid var(--button-info-border-color,#1989fa);
|
||||
}
|
||||
|
||||
.van-button--danger {
|
||||
color: #fff;
|
||||
color: var(--button-danger-color,#fff);
|
||||
background-color: #ee0a24;
|
||||
background-color: var(--button-danger-background-color,#ee0a24);
|
||||
border: 1px solid #ee0a24;
|
||||
border: 1px solid var(--button-danger-border-color,#ee0a24);
|
||||
}
|
||||
|
||||
.van-button--warning {
|
||||
color: #fff;
|
||||
color: var(--button-warning-color,#fff);
|
||||
background-color: #ff976a;
|
||||
background-color: var(--button-warning-background-color,#ff976a);
|
||||
border: 1px solid #ff976a;
|
||||
border: 1px solid var(--button-warning-border-color,#ff976a);
|
||||
}
|
||||
|
||||
.van-button--plain {
|
||||
background-color: #fff;
|
||||
background-color: var(--button-plain-background-color,#fff);
|
||||
}
|
||||
|
||||
.van-button--plain.van-button--primary {
|
||||
color: #07c160;
|
||||
color: var(--button-primary-background-color,#07c160);
|
||||
}
|
||||
|
||||
.van-button--plain.van-button--info {
|
||||
color: #1989fa;
|
||||
color: var(--button-info-background-color,#1989fa);
|
||||
}
|
||||
|
||||
.van-button--plain.van-button--danger {
|
||||
color: #ee0a24;
|
||||
color: var(--button-danger-background-color,#ee0a24);
|
||||
}
|
||||
|
||||
.van-button--plain.van-button--warning {
|
||||
color: #ff976a;
|
||||
color: var(--button-warning-background-color,#ff976a);
|
||||
}
|
||||
|
||||
.van-button--not {
|
||||
color: #c8c9cc;
|
||||
background-color: #f7f8fa;
|
||||
border: 1px solid #f7f8fa;
|
||||
}
|
||||
|
||||
.van-button--large {
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
height: var(--button-large-height,50px);
|
||||
}
|
||||
|
||||
.van-button--normal {
|
||||
padding: 0 15px;
|
||||
font-size: 14px;
|
||||
font-size: var(--button-normal-font-size,14px);
|
||||
}
|
||||
|
||||
.van-button--small {
|
||||
min-width: 60px;
|
||||
min-width: var(--button-small-min-width,60px);
|
||||
height: 30px;
|
||||
height: var(--button-small-height,30px);
|
||||
padding: 0 8px;
|
||||
padding: 0 var(--padding-xs,8px);
|
||||
font-size: 12px;
|
||||
font-size: var(--button-small-font-size,12px);
|
||||
}
|
||||
|
||||
.van-button--mini {
|
||||
display: inline-block;
|
||||
min-width: 50px;
|
||||
min-width: var(--button-mini-min-width,50px);
|
||||
height: 22px;
|
||||
height: var(--button-mini-height,22px);
|
||||
font-size: 10px;
|
||||
font-size: var(--button-mini-font-size,10px);
|
||||
}
|
||||
|
||||
.van-button--mini+.van-button--mini {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.van-button--block {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.van-button--round {
|
||||
border-radius: 999px;
|
||||
border-radius: var(--button-round-border-radius,999px);
|
||||
}
|
||||
|
||||
.van-button--square {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.van-button--disabled {
|
||||
opacity: .5;
|
||||
opacity: var(--button-disabled-opacity,.5);
|
||||
}
|
||||
|
||||
.van-button__text {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.van-button__icon+.van-button__text:not(:empty),.van-button__loading-text {
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
.van-button__icon {
|
||||
min-width: 1em;
|
||||
line-height: inherit!important;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.van-button--hairline {
|
||||
padding-top: 1px;
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
.van-button--hairline:after {
|
||||
border-color: inherit;
|
||||
border-width: 1px;
|
||||
border-radius: 4px;
|
||||
border-radius: calc(var(--button-border-radius, 2px)*2);
|
||||
}
|
||||
|
||||
.van-button--hairline.van-button--round:after {
|
||||
border-radius: 999px;
|
||||
border-radius: var(--button-round-border-radius,999px);
|
||||
}
|
||||
|
||||
.van-button--hairline.van-button--square:after {
|
||||
border-radius: 0;
|
||||
}
|
Reference in New Issue
Block a user