UNPKG

tdesign-mobile-vue

Version:
270 lines (216 loc) 6.71 kB
@import "../../base.less"; @import "./_var.less"; @import "./_mixin.less"; .button-attr-color(@theme, @attr, @attr-prepend: "", @ghost: false) { &:active { @{attr}: e(@attr-prepend) @@theme-active; } &.@{prefix}-is-disabled { @{attr}: e(@attr-prepend) @@theme-disabled; } @theme-default: e("btn-color-@{theme}"); @theme-active: e("btn-color-@{theme}-active"); @theme-disabled: e("btn-color-@{theme}-disabled"); @{attr}: e(@attr-prepend) @@theme-default; } .@{prefix}-button { border-radius: 4px; .button(); .@{prefix}-button__text, .@{prefix}-icon { position: relative; z-index: 1; line-height: @btn-line-height-default; } .@{prefix}-icon + .@{prefix}-button__text:not(:empty), .@{prefix}-loading + .@{prefix}-button__text:not(:empty) { margin-left: calc(@spacer / 2); } // 主要按钮 &--base { color: @btn-text-variant-base-color; .button-size(@btn-height-default, @btn-font-default, @btn-icon-size-default, @btn-padding-horizontal, 0); .button-attr-color("gray-bg", background-color); .button-attr-color("text-gray", color); &.@{prefix}-button--primary { color: @text-color-anti; .button-attr-color("primary", background-color); } &.@{prefix}-button--success { color: @text-color-anti; .button-attr-color("success", background-color); } &.@{prefix}-button--warning { color: @text-color-anti; .button-attr-color("warning", background-color); } &.@{prefix}-button--danger { color: @text-color-anti; .button-attr-color("danger", background-color); } &.@{prefix}-button--ghost { background-color: transparent; &.@{prefix}-button--primary { .button-attr-color("primary", border, "1px solid", true); } &.@{prefix}-button--success { .button-attr-color("success", color, "", true); .button-attr-color("success", border, "1px solid", true); } &.@{prefix}-button--warning { .button-attr-color("warning", color, "", true); .button-attr-color("warning", border, "1px solid", true); } &.@{prefix}-button--danger { .button-attr-color("danger", color, "", true); .button-attr-color("danger", border, "1px solid", true); } } } // 次要按钮 &--outline { // .button-size(@btn-height-default, @btn-font-default, @btn-padding-horizontal, @btn-border-width); .button-attr-color("text-gray", color); .button-attr-color("text-bg", background-color); .button-attr-color("border-gray", border, "1px solid"); &.@{prefix}-button--primary { .button-attr-color("primary", color); .button-attr-color("primary", border, "1px solid"); } &.@{prefix}-button--success { .button-attr-color("success", color); .button-attr-color("success", border, "1px solid"); } &.@{prefix}-button--warning { .button-attr-color("warning", color); .button-attr-color("warning", border, "1px solid"); } &.@{prefix}-button--danger { .button-attr-color("danger", color); .button-attr-color("danger", border, "1px solid"); } &.@{prefix}-button--ghost { .button-attr-color("none", background-color, "", true); .button-attr-color("white-ghost", color, "", true); .button-attr-color("white-ghost", border, "1px solid", true); &.@{prefix}-button--primary { .button-attr-color("primary", color, "", true); .button-attr-color("primary", border, "1px solid", true); } &.@{prefix}-button--success { .button-attr-color("success", color, "", true); .button-attr-color("success", border, "1px solid", true); } &.@{prefix}-button--warning { .button-attr-color("warning", color, "", true); .button-attr-color("warning", border, "1px solid", true); } &.@{prefix}-button--danger { .button-attr-color("danger", color, "", true); .button-attr-color("danger", border, "1px solid", true); } } } // 文字按钮 &--text { border: 0; // .button-size(@btn-height-default, @btn-font-default, @btn-padding-horizontal, 0); .button-attr-color("text-gray", color); .button-attr-color("text-bg", background-color); &.@{prefix}-button--primary { .button-attr-color("primary", color); } &.@{prefix}-button--success { .button-attr-color("success", color); } &.@{prefix}-button--warning { .button-attr-color("warning", color); } &.@{prefix}-button--danger { .button-attr-color("danger", color); } &.@{prefix}-button--ghost { background: transparent; .button-attr-color("white-ghost", color, "", true); &.@{prefix}-button--primary { .button-attr-color("primary", color, "", true); } &.@{prefix}-button--success { .button-attr-color("success", color, "", true); } &.@{prefix}-button--warning { .button-attr-color("warning", color, "", true); } &.@{prefix}-button--danger { .button-attr-color("danger", color, "", true); } } } &.@{prefix}-is { &-block { display: block; width: 100%; } &-disabled { cursor: not-allowed; } } &.@{prefix}-size-s { line-height: @btn-line-height-s; .button-size(@btn-height-s, @btn-font-small, @btn-icon-size-small, @btn-padding-horizontal, 0); } &.@{prefix}-size-l { // width: 100%; line-height: @btn-line-height-l; .button-size(@btn-height-l , @btn-font-large, @btn-icon-size-large, @btn-padding-horizontal, 0); } &--icon-only:not(&--round) { width: @btn-height-default; padding: 0; &.@{prefix}-size-s { width: @btn-height-s; } &.@{prefix}-size-l { width: @btn-height-l; } } &--shape { // 正方形 &-square { padding: 0; width: @btn-height-default; &.@{prefix}-size-s { padding: 0; width: @btn-height-s; } &.@{prefix}-size-l { padding: 0; width: @btn-height-l; } } // 圆角长方形 &-round { border-radius: @btn-shape-border-radius-default; &.@{prefix}-size-s { border-radius: @btn-shape-border-radius-s; } &.@{prefix}-size-l { border-radius: @btn-shape-border-radius-l; } } // 圆形 &-circle { border-radius: 50%; padding: 0; width: @btn-height-default; &.@{prefix}-size-s { padding: 0; width: @btn-height-s; } &.@{prefix}-size-l { padding: 0; width: @btn-height-l; } } } }