UNPKG

ygd

Version:

An enterprise-class UI design language and React-based implementation

261 lines (220 loc) 5.12 kB
@import '../../style/themes/default'; @import '../../style/mixins/index'; @import './mixin'; @btn-prefix-cls: ~'@{yg-prefix}-btn'; // for compatible @btn-ghost-color: @text-color; @btn-ghost-bg: transparent; @btn-ghost-border: @border-color-base; // Button styles // ----------------------------- .@{btn-prefix-cls} { // Fixing https://github.com/ant-design/ant-design/issues/12978 // It is a render problem of chrome, which is only happened in the codesandbox demo // 0.001px solution works and I don't why line-height: @line-height-base; height: @line-height-base; .btn; .btn-default; // Make sure that the target of Button's click event always be `button` // Ref: https://github.com/ant-design/ant-design/issues/7034 > i, > span { display: inline-block; pointer-events: none; } > i.anticon{ vertical-align: -0.2em; } &-primary { .btn-primary; .@{btn-prefix-cls}-group &:not(:first-child):not(:last-child) { border-right-color: @btn-group-border; border-left-color: @btn-group-border; &:disabled { border-color: @btn-default-border; } } .@{btn-prefix-cls}-group &:first-child { &:not(:last-child) { border-right-color: @btn-group-border; &[disabled] { border-right-color: @btn-default-border; } } } .@{btn-prefix-cls}-group &:last-child:not(:first-child), .@{btn-prefix-cls}-group & + & { border-left-color: @btn-group-border; &[disabled] { border-left-color: @btn-default-border; } } } &-wxorange{ .btn-wxorange } &-wxblue{ .btn-wxblue } &-ghost { .btn-ghost; } &-dashed { .btn-dashed; } &-link { border-color: transparent; cursor: pointer; color: #475669; font-size: @font-size-base; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; padding: 0; &:active, &[disabled] { border-color: transparent; background-color: transparent; background-image: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } &[disabled]:hover, &[disabled]:focus { color: @font-3; text-decoration: none; } } &-popup-cancel { .btn-popup-cancel; } &-popup-sure { .btn-popup-sure; } &-greyfull { .btn-greyfull; } &-lighton{ .btn-lighton; } &-success { .btn-success; } &-warning { .btn-warning; } &-danger { .btn-danger; } &-link { .btn-link; } &-round { .btn-round(@btn-prefix-cls); } &-circle, &-circle-outline { .btn-circle(@btn-prefix-cls); } &::before { position: absolute; top: -1px; right: -1px; bottom: -1px; left: -1px; z-index: 1; display: none; background: @component-background; border-radius: inherit; opacity: 0.35; transition: opacity 0.2s; pointer-events: none; content: ''; } .@{iconfont-css-prefix} { transition: margin-left 0.3s @ease-in-out; // Follow icon blur under windows. Change the render. // https://github.com/ant-design/ant-design/issues/13924 &.@{iconfont-css-prefix}-plus, &.@{iconfont-css-prefix}-minus { > svg { shape-rendering: optimizeSpeed; } } } &&-loading::before { display: block; } &&-loading:not(&-circle):not(&-circle-outline):not(&-icon-only) { position: relative; padding-left: 29px; pointer-events: none; .@{iconfont-css-prefix}:not(:last-child) { margin-left: -14px; } } &-sm{ line-height: @btn-height-sm; } &-sm&-loading:not(&-circle):not(&-circle-outline):not(&-icon-only) { padding-left: 24px; .@{iconfont-css-prefix} { margin-left: -17px; } } &-group { .btn-group(@btn-prefix-cls); } &:not(&-circle):not(&-circle-outline)&-icon-only { padding-right: 8px; padding-left: 8px; } // http://stackoverflow.com/a/21281554/3040605 &:focus > span, &:active > span { position: relative; } // To ensure that a space will be placed between character and `Icon`. > .@{iconfont-css-prefix} + span, > span + .@{iconfont-css-prefix} { margin-left: 8px; } &-background-ghost { color: @component-background; background: transparent; border-color: @component-background; } &-background-ghost&-primary { .button-variant-ghost(@btn-primary-bg); } &-background-ghost&-danger { .button-variant-ghost(@btn-danger-color); } &-two-chinese-chars::first-letter { letter-spacing: 0.34em; } &-two-chinese-chars > *:not(.@{iconfont-css-prefix}) { margin-right: -0.34em; letter-spacing: 0.34em; } &-block { width: 100%; } // https://github.com/ant-design/ant-design/issues/12681 &:empty { vertical-align: top; } } a.@{btn-prefix-cls} { line-height: @btn-height-base; &-lg { line-height: @btn-height-lg; } &-sm { line-height: @btn-height-sm; } } .@{yg-prefix}-greyfull {} .@{yg-prefix}-btn-disabled:hover { background-color: #e5e5e5; }