¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- #ifndef APP-NVUE --> |
| | | <button |
| | | :hover-start-time="Number(hoverStartTime)" |
| | | :hover-stay-time="Number(hoverStayTime)" |
| | | :form-type="formType" |
| | | :open-type="openType" |
| | | :app-parameter="appParameter" |
| | | :hover-stop-propagation="hoverStopPropagation" |
| | | :send-message-title="sendMessageTitle" |
| | | :send-message-path="sendMessagePath" |
| | | :lang="lang" |
| | | :data-name="dataName" |
| | | :session-from="sessionFrom" |
| | | :send-message-img="sendMessageImg" |
| | | :show-message-card="showMessageCard" |
| | | @getphonenumber="getphonenumber" |
| | | @getuserinfo="getuserinfo" |
| | | @error="error" |
| | | @opensetting="opensetting" |
| | | @launchapp="launchapp" |
| | | :hover-class="!disabled && !loading ? 'u-button--active' : ''" |
| | | class="u-button u-reset-button" |
| | | :style="[baseColor, $u.addStyle(customStyle)]" |
| | | @tap="clickHandler" |
| | | :class="bemClass" |
| | | > |
| | | <template v-if="loading"> |
| | | <u-loading-icon |
| | | :mode="loadingMode" |
| | | :size="loadingSize * 1.15" |
| | | :color="loadingColor" |
| | | ></u-loading-icon> |
| | | <text |
| | | class="u-button__loading-text" |
| | | :style="[{ fontSize: textSize + 'px' }]" |
| | | >{{ loadingText || text }}</text |
| | | > |
| | | </template> |
| | | <template v-else> |
| | | <u-icon |
| | | v-if="icon" |
| | | :name="icon" |
| | | :color="iconColorCom" |
| | | :size="textSize * 1.35" |
| | | :customStyle="{ marginRight: '2px' }" |
| | | ></u-icon> |
| | | <slot> |
| | | <text |
| | | class="u-button__text" |
| | | :style="[{ fontSize: textSize + 'px' }]" |
| | | >{{ text }}</text |
| | | > |
| | | </slot> |
| | | </template> |
| | | </button> |
| | | <!-- #endif --> |
| | | |
| | | <!-- #ifdef APP-NVUE --> |
| | | <view |
| | | :hover-start-time="Number(hoverStartTime)" |
| | | :hover-stay-time="Number(hoverStayTime)" |
| | | class="u-button" |
| | | :hover-class=" |
| | | !disabled && !loading && !color && (plain || type === 'info') |
| | | ? 'u-button--active--plain' |
| | | : !disabled && !loading && !plain |
| | | ? 'u-button--active' |
| | | : '' |
| | | " |
| | | @tap="clickHandler" |
| | | :class="bemClass" |
| | | :style="[baseColor, $u.addStyle(customStyle)]" |
| | | > |
| | | <template v-if="loading"> |
| | | <u-loading-icon |
| | | :mode="loadingMode" |
| | | :size="loadingSize * 1.15" |
| | | :color="loadingColor" |
| | | ></u-loading-icon> |
| | | <text |
| | | class="u-button__loading-text" |
| | | :style="[nvueTextStyle]" |
| | | :class="[plain && `u-button__text--plain--${type}`]" |
| | | >{{ loadingText || text }}</text |
| | | > |
| | | </template> |
| | | <template v-else> |
| | | <u-icon |
| | | v-if="icon" |
| | | :name="icon" |
| | | :color="iconColorCom" |
| | | :size="textSize * 1.35" |
| | | ></u-icon> |
| | | <text |
| | | class="u-button__text" |
| | | :style="[ |
| | | { |
| | | marginLeft: icon ? '2px' : 0, |
| | | }, |
| | | nvueTextStyle, |
| | | ]" |
| | | :class="[plain && `u-button__text--plain--${type}`]" |
| | | >{{ text }}</text |
| | | > |
| | | </template> |
| | | </view> |
| | | <!-- #endif --> |
| | | </template> |
| | | |
| | | <script> |
| | | import button from "../../libs/mixin/button.js"; |
| | | import openType from "../../libs/mixin/openType.js"; |
| | | import props from "./props.js"; |
| | | /** |
| | | * button æé® |
| | | * @description Button æé® |
| | | * @tutorial https://www.uviewui.com/components/button.html |
| | | * |
| | | * @property {Boolean} hairline æ¯å¦æ¾ç¤ºæé®çç»è¾¹æ¡ (é»è®¤ true ) |
| | | * @property {String} type æé®çé¢ç½®æ ·å¼ï¼infoï¼primaryï¼errorï¼warningï¼success (é»è®¤ 'info' ) |
| | | * @property {String} size æé®å°ºå¯¸ï¼largeï¼normalï¼mini ï¼é»è®¤ normalï¼ |
| | | * @property {String} shape æé®å½¢ç¶ï¼circleï¼ä¸¤è¾¹ä¸ºååï¼ï¼squareï¼å¸¦åè§ï¼ ï¼é»è®¤ 'square' ï¼ |
| | | * @property {Boolean} plain æé®æ¯å¦é空ï¼èæ¯è²éæ ï¼é»è®¤ falseï¼ |
| | | * @property {Boolean} disabled æ¯å¦ç¦ç¨ ï¼é»è®¤ falseï¼ |
| | | * @property {Boolean} loading æé®åç§°åæ¯å¦å¸¦ loading 徿 (App-nvue å¹³å°ï¼å¨ ios ä¸ä¸ºéªè±ï¼Androidä¸ä¸ºåå) ï¼é»è®¤ falseï¼ |
| | | * @property {String | Number} loadingText å è½½ä¸æç¤ºæå |
| | | * @property {String} loadingMode å è½½ç¶æå¾æ ç±»å ï¼é»è®¤ 'spinner' ï¼ |
| | | * @property {String | Number} loadingSize å è½½å¾æ å¤§å° ï¼é»è®¤ 15 ï¼ |
| | | * @property {String} openType 弿¾è½åï¼å
·ä½è¯·çuniapp稳å®å
³äºbuttonç»ä»¶é¨å说æ |
| | | * @property {String} formType ç¨äº <form> ç»ä»¶ï¼ç¹å»åå«ä¼è§¦å <form> ç»ä»¶ç submit/reset äºä»¶ |
| | | * @property {String} appParameter æå¼ APP æ¶ï¼å APP ä¼ éçåæ°ï¼open-type=launchAppæ¶ææ ï¼æ³¨ï¼åªå¾®ä¿¡å°ç¨åºãQQå°ç¨åºææï¼ |
| | | * @property {Boolean} hoverStopPropagation æå®æ¯å¦é»æ¢æ¬èç¹çç¥å
èç¹åºç°ç¹å»æï¼å¾®ä¿¡å°ç¨åºææï¼é»è®¤ true ï¼ |
| | | * @property {String} lang æå®è¿åç¨æ·ä¿¡æ¯çè¯è¨ï¼zh_CN ç®ä½ä¸æï¼zh_TW ç¹ä½ä¸æï¼en è±æï¼é»è®¤ en ï¼ |
| | | * @property {String} sessionFrom ä¼è¯æ¥æºï¼openType="contact"æ¶ææ |
| | | * @property {String} sendMessageTitle ä¼è¯å
æ¶æ¯å¡çæ é¢ï¼openType="contact"æ¶ææ |
| | | * @property {String} sendMessagePath ä¼è¯å
æ¶æ¯å¡çç¹å»è·³è½¬å°ç¨åºè·¯å¾ï¼openType="contact"æ¶ææ |
| | | * @property {String} sendMessageImg ä¼è¯å
æ¶æ¯å¡çå¾çï¼openType="contact"æ¶ææ |
| | | * @property {Boolean} showMessageCard æ¯å¦æ¾ç¤ºä¼è¯å
æ¶æ¯å¡çï¼è®¾ç½®æ¤åæ°ä¸º trueï¼ç¨æ·è¿å
¥å®¢æä¼è¯ä¼å¨å³ä¸è§æ¾ç¤º"å¯è½è¦åéçå°ç¨åº"æç¤ºï¼ç¨æ·ç¹å»åå¯ä»¥å¿«éåéå°ç¨åºæ¶æ¯ï¼openType="contact"æ¶ææï¼é»è®¤falseï¼ |
| | | * @property {String} dataName é¢å¤ä¼ ååæ°ï¼ç¨äºå°ç¨åºçdata-xxx屿§ï¼éè¿target.dataset.nameè·å |
| | | * @property {String | Number} throttleTime èæµï¼ä¸å®æ¶é´å
åªè½è§¦å䏿¬¡ ï¼é»è®¤ 0 ) |
| | | * @property {String | Number} hoverStartTime æä½åå¤ä¹
åºç°ç¹å»æï¼å使¯«ç§ ï¼é»è®¤ 0 ) |
| | | * @property {String | Number} hoverStayTime æææ¾å¼åç¹å»æä¿çæ¶é´ï¼å使¯«ç§ ï¼é»è®¤ 200 ) |
| | | * @property {String | Number} text æé®æåï¼ä¹æä»¥éè¿propsä¼ å
¥ï¼æ¯å 为slotä¼ å
¥çè¯ï¼æ³¨ï¼nvue䏿 æ³æ§å¶æåçæ ·å¼ï¼ |
| | | * @property {String} icon æé®å¾æ |
| | | * @property {String} iconColor æé®å¾æ é¢è² |
| | | * @property {String} color æé®é¢è²ï¼æ¯æä¼ å
¥linear-gradientæ¸åè² |
| | | * @property {Object} customStyle å®ä¹éè¦ç¨å°çå¤é¨æ ·å¼ |
| | | * |
| | | * @event {Function} click éç¦æ¢å¹¶ä¸éå è½½ä¸ï¼æè½ç¹å» |
| | | * @event {Function} getphonenumber open-type="getPhoneNumber"æ¶ææ |
| | | * @event {Function} getuserinfo ç¨æ·ç¹å»è¯¥æé®æ¶ï¼ä¼è¿åè·åå°çç¨æ·ä¿¡æ¯ï¼ä»è¿ååæ°çdetailä¸è·åå°çå¼åuni.getUserInfo |
| | | * @event {Function} error å½ä½¿ç¨å¼æ¾è½åæ¶ï¼åçé误çåè° |
| | | * @event {Function} opensetting 卿弿æè®¾ç½®é¡µå¹¶å
³éååè° |
| | | * @event {Function} launchapp æå¼ APP æåçåè° |
| | | * @example <u-button>æè½</u-button> |
| | | */ |
| | | export default { |
| | | name: "u-button", |
| | | // #ifdef MP |
| | | mixins: [uni.$u.mpMixin, uni.$u.mixin, button, openType, props], |
| | | // #endif |
| | | // #ifndef MP |
| | | mixins: [uni.$u.mpMixin, uni.$u.mixin, props], |
| | | // #endif |
| | | data() { |
| | | return {}; |
| | | }, |
| | | computed: { |
| | | // çæbem飿 ¼çç±»å |
| | | bemClass() { |
| | | // this.bem为ä¸ä¸ªcomputedåéï¼å¨mixinä¸ |
| | | if (!this.color) { |
| | | return this.bem( |
| | | "button", |
| | | ["type", "shape", "size"], |
| | | ["disabled", "plain", "hairline"] |
| | | ); |
| | | } else { |
| | | // ç±äºnvueçåå ï¼å¨æcoloråæ°æ¶ï¼ä¸éè¦ä¼ å
¥typeï¼å¦åä¼çætypeç¸å
³çç±»åï¼å½±åæç»çæ ·å¼ |
| | | return this.bem( |
| | | "button", |
| | | ["shape", "size"], |
| | | ["disabled", "plain", "hairline"] |
| | | ); |
| | | } |
| | | }, |
| | | loadingColor() { |
| | | if (this.plain) { |
| | | // 妿æè®¾ç½®colorå¼ï¼åç¨colorå¼ï¼å¦å使ç¨type主é¢é¢è² |
| | | return this.color |
| | | ? this.color |
| | | : uni.$u.config.color[`u-${this.type}`]; |
| | | } |
| | | if (this.type === "info") { |
| | | return "#c9c9c9"; |
| | | } |
| | | return "rgb(200, 200, 200)"; |
| | | }, |
| | | iconColorCom() { |
| | | // 妿æ¯éç©ºç¶æï¼è®¾ç½®äºcolorå°±ç¨colorå¼ï¼å¦å使ç¨ä¸»é¢é¢è²ï¼ |
| | | // u-iconçcolorè½æ¥åä¸ä¸ªä¸»é¢é¢è²çå¼ |
| | | if (this.iconColor) return this.iconColor; |
| | | if (this.plain) { |
| | | return this.color ? this.color : this.type; |
| | | } else { |
| | | return this.type === "info" ? "#000000" : "#ffffff"; |
| | | } |
| | | }, |
| | | baseColor() { |
| | | let style = {}; |
| | | if (this.color) { |
| | | // é对èªå®ä¹äºcoloré¢è²çæ
åµï¼éç©ºç¶æä¸ï¼å°±æ¯ç¨èªå®ä¹çé¢è² |
| | | style.color = this.plain ? this.color : "white"; |
| | | if (!this.plain) { |
| | | // éé空ï¼èæ¯è²ä½¿ç¨èªå®ä¹çé¢è² |
| | | style["background-color"] = this.color; |
| | | } |
| | | if (this.color.indexOf("gradient") !== -1) { |
| | | // 妿èªå®ä¹çé¢è²ä¸ºæ¸åè²ï¼ä¸æ¾ç¤ºè¾¹æ¡ï¼ä»¥åéè¿backgroundImage设置æ¸åè² |
| | | // weexææ¡£è¯´æå¯ä»¥åborderWidthçå½¢å¼ï¼ä¸ºä»ä¹è¿ééè¦åå¼åï¼ |
| | | // å 为weexæ¯é¿é巴巴为äºé¨é¨ä¸ç»©èæ ¸èåçä½ æçä¸è¥¿ï¼æä»¥éè¦è¿ä¹åæææ |
| | | style.borderTopWidth = 0; |
| | | style.borderRightWidth = 0; |
| | | style.borderBottomWidth = 0; |
| | | style.borderLeftWidth = 0; |
| | | if (!this.plain) { |
| | | style.backgroundImage = this.color; |
| | | } |
| | | } else { |
| | | // 鿏åè²ï¼å设置边æ¡ç¸å
³ç屿§ |
| | | style.borderColor = this.color; |
| | | style.borderWidth = "1px"; |
| | | style.borderStyle = "solid"; |
| | | } |
| | | } |
| | | return style; |
| | | }, |
| | | // nvueçæ¬æé®çåä½ä¸ä¼ç»§æ¿ç¶ç»ä»¶çé¢è²ï¼éè¦å¯¹æ¯ä¸ä¸ªtextç»ä»¶è¿è¡åç¬ç设置 |
| | | nvueTextStyle() { |
| | | let style = {}; |
| | | // é对èªå®ä¹äºcoloré¢è²çæ
åµï¼éç©ºç¶æä¸ï¼å°±æ¯ç¨èªå®ä¹çé¢è² |
| | | if (this.type === "info") { |
| | | style.color = "#323233"; |
| | | } |
| | | if (this.color) { |
| | | style.color = this.plain ? this.color : "white"; |
| | | } |
| | | style.fontSize = this.textSize + "px"; |
| | | return style; |
| | | }, |
| | | // åä½å¤§å° |
| | | textSize() { |
| | | let fontSize = 14, |
| | | { size } = this; |
| | | if (size === "large") fontSize = 16; |
| | | if (size === "normal") fontSize = 14; |
| | | if (size === "small") fontSize = 12; |
| | | if (size === "mini") fontSize = 10; |
| | | return fontSize; |
| | | }, |
| | | }, |
| | | methods: { |
| | | clickHandler() { |
| | | // éç¦æ¢å¹¶ä¸éå è½½ä¸ï¼æè½ç¹å» |
| | | if (!this.disabled && !this.loading) { |
| | | // è¿è¡èæµæ§å¶ï¼æ¯this.throttle毫ç§å
ï¼åªå¨å¼å§å¤æ§è¡ |
| | | uni.$u.throttle(() => { |
| | | this.$emit("click"); |
| | | }, this.throttleTime); |
| | | } |
| | | }, |
| | | // ä¸é¢ä¸ºå¯¹æ¥uniapp宿¹æé®å¼æ¾è½åäºä»¶åè°çå¯¹æ¥ |
| | | getphonenumber(res) { |
| | | this.$emit("getphonenumber", res); |
| | | }, |
| | | getuserinfo(res) { |
| | | this.$emit("getuserinfo", res); |
| | | }, |
| | | error(res) { |
| | | this.$emit("error", res); |
| | | }, |
| | | opensetting(res) { |
| | | this.$emit("opensetting", res); |
| | | }, |
| | | launchapp(res) { |
| | | this.$emit("launchapp", res); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @import "../../libs/css/components.scss"; |
| | | |
| | | /* #ifndef APP-NVUE */ |
| | | @import "./vue.scss"; |
| | | /* #endif */ |
| | | |
| | | /* #ifdef APP-NVUE */ |
| | | @import "./nvue.scss"; |
| | | /* #endif */ |
| | | |
| | | $u-button-u-button-height: 40px !default; |
| | | $u-button-text-font-size: 15px !default; |
| | | $u-button-loading-text-font-size: 15px !default; |
| | | $u-button-loading-text-margin-left: 4px !default; |
| | | $u-button-large-width: 100% !default; |
| | | $u-button-large-height: 50px !default; |
| | | $u-button-normal-padding: 0 12px !default; |
| | | $u-button-large-padding: 0 15px !default; |
| | | $u-button-normal-font-size: 14px !default; |
| | | $u-button-small-min-width: 60px !default; |
| | | $u-button-small-height: 30px !default; |
| | | $u-button-small-padding: 0px 8px !default; |
| | | $u-button-mini-padding: 0px 8px !default; |
| | | $u-button-small-font-size: 12px !default; |
| | | $u-button-mini-height: 22px !default; |
| | | $u-button-mini-font-size: 10px !default; |
| | | $u-button-mini-min-width: 50px !default; |
| | | $u-button-disabled-opacity: 0.5 !default; |
| | | $u-button-info-color: #323233 !default; |
| | | $u-button-info-background-color: #fff !default; |
| | | $u-button-info-border-color: #ebedf0 !default; |
| | | $u-button-info-border-width: 1px !default; |
| | | $u-button-info-border-style: solid !default; |
| | | $u-button-success-color: #fff !default; |
| | | $u-button-success-background-color: $u-success !default; |
| | | $u-button-success-border-color: $u-button-success-background-color !default; |
| | | $u-button-success-border-width: 1px !default; |
| | | $u-button-success-border-style: solid !default; |
| | | $u-button-primary-color: #fff !default; |
| | | $u-button-primary-background-color: $u-primary !default; |
| | | $u-button-primary-border-color: $u-button-primary-background-color !default; |
| | | $u-button-primary-border-width: 1px !default; |
| | | $u-button-primary-border-style: solid !default; |
| | | $u-button-error-color: #fff !default; |
| | | $u-button-error-background-color: $u-error !default; |
| | | $u-button-error-border-color: $u-button-error-background-color !default; |
| | | $u-button-error-border-width: 1px !default; |
| | | $u-button-error-border-style: solid !default; |
| | | $u-button-warning-color: #fff !default; |
| | | $u-button-warning-background-color: $u-warning !default; |
| | | $u-button-warning-border-color: $u-button-warning-background-color !default; |
| | | $u-button-warning-border-width: 1px !default; |
| | | $u-button-warning-border-style: solid !default; |
| | | $u-button-block-width: 100% !default; |
| | | $u-button-circle-border-top-right-radius: 100px !default; |
| | | $u-button-circle-border-top-left-radius: 100px !default; |
| | | $u-button-circle-border-bottom-left-radius: 100px !default; |
| | | $u-button-circle-border-bottom-right-radius: 100px !default; |
| | | $u-button-square-border-top-right-radius: 3px !default; |
| | | $u-button-square-border-top-left-radius: 3px !default; |
| | | $u-button-square-border-bottom-left-radius: 3px !default; |
| | | $u-button-square-border-bottom-right-radius: 3px !default; |
| | | $u-button-icon-min-width: 1em !default; |
| | | $u-button-plain-background-color: #fff !default; |
| | | $u-button-hairline-border-width: 0.5px !default; |
| | | |
| | | .u-button { |
| | | height: $u-button-u-button-height; |
| | | position: relative; |
| | | align-items: center; |
| | | justify-content: center; |
| | | @include flex; |
| | | /* #ifndef APP-NVUE */ |
| | | box-sizing: border-box; |
| | | /* #endif */ |
| | | flex-direction: row; |
| | | |
| | | &__text { |
| | | font-size: $u-button-text-font-size; |
| | | } |
| | | |
| | | &__loading-text { |
| | | font-size: $u-button-loading-text-font-size; |
| | | margin-left: $u-button-loading-text-margin-left; |
| | | } |
| | | |
| | | &--large { |
| | | /* #ifndef APP-NVUE */ |
| | | width: $u-button-large-width; |
| | | /* #endif */ |
| | | height: $u-button-large-height; |
| | | padding: $u-button-large-padding; |
| | | } |
| | | |
| | | &--normal { |
| | | padding: $u-button-normal-padding; |
| | | font-size: $u-button-normal-font-size; |
| | | } |
| | | |
| | | &--small { |
| | | /* #ifndef APP-NVUE */ |
| | | min-width: $u-button-small-min-width; |
| | | /* #endif */ |
| | | height: $u-button-small-height; |
| | | padding: $u-button-small-padding; |
| | | font-size: $u-button-small-font-size; |
| | | } |
| | | |
| | | &--mini { |
| | | height: $u-button-mini-height; |
| | | font-size: $u-button-mini-font-size; |
| | | /* #ifndef APP-NVUE */ |
| | | min-width: $u-button-mini-min-width; |
| | | /* #endif */ |
| | | padding: $u-button-mini-padding; |
| | | } |
| | | |
| | | &--disabled { |
| | | opacity: $u-button-disabled-opacity; |
| | | } |
| | | |
| | | &--info { |
| | | color: $u-button-info-color; |
| | | background-color: $u-button-info-background-color; |
| | | border-color: $u-button-info-border-color; |
| | | border-width: $u-button-info-border-width; |
| | | border-style: $u-button-info-border-style; |
| | | } |
| | | |
| | | &--success { |
| | | color: $u-button-success-color; |
| | | background-color: $u-button-success-background-color; |
| | | border-color: $u-button-success-border-color; |
| | | border-width: $u-button-success-border-width; |
| | | border-style: $u-button-success-border-style; |
| | | } |
| | | |
| | | &--primary { |
| | | color: $u-button-primary-color; |
| | | background-color: $u-button-primary-background-color; |
| | | border-color: $u-button-primary-border-color; |
| | | border-width: $u-button-primary-border-width; |
| | | border-style: $u-button-primary-border-style; |
| | | } |
| | | |
| | | &--error { |
| | | color: $u-button-error-color; |
| | | background-color: $u-button-error-background-color; |
| | | border-color: $u-button-error-border-color; |
| | | border-width: $u-button-error-border-width; |
| | | border-style: $u-button-error-border-style; |
| | | } |
| | | |
| | | &--warning { |
| | | color: $u-button-warning-color; |
| | | background-color: $u-button-warning-background-color; |
| | | border-color: $u-button-warning-border-color; |
| | | border-width: $u-button-warning-border-width; |
| | | border-style: $u-button-warning-border-style; |
| | | } |
| | | |
| | | &--block { |
| | | @include flex; |
| | | width: $u-button-block-width; |
| | | } |
| | | |
| | | &--circle { |
| | | border-top-right-radius: $u-button-circle-border-top-right-radius; |
| | | border-top-left-radius: $u-button-circle-border-top-left-radius; |
| | | border-bottom-left-radius: $u-button-circle-border-bottom-left-radius; |
| | | border-bottom-right-radius: $u-button-circle-border-bottom-right-radius; |
| | | } |
| | | |
| | | &--square { |
| | | border-bottom-left-radius: $u-button-square-border-top-right-radius; |
| | | border-bottom-right-radius: $u-button-square-border-top-left-radius; |
| | | border-top-left-radius: $u-button-square-border-bottom-left-radius; |
| | | border-top-right-radius: $u-button-square-border-bottom-right-radius; |
| | | } |
| | | |
| | | &__icon { |
| | | /* #ifndef APP-NVUE */ |
| | | min-width: $u-button-icon-min-width; |
| | | line-height: inherit !important; |
| | | vertical-align: top; |
| | | /* #endif */ |
| | | } |
| | | |
| | | &--plain { |
| | | background-color: $u-button-plain-background-color; |
| | | } |
| | | |
| | | &--hairline { |
| | | border-width: $u-button-hairline-border-width !important; |
| | | } |
| | | } |
| | | </style> |