.#{$ns}Button { display: inline-block; font-weight: $Button-fontWeight; text-align: center; vertical-align: middle; user-select: none; background-color: transparent; border: $Button-borderWidth solid transparent; transition: $Button-transition; white-space: nowrap; @if $Button-mimWidth !=auto { min-width: $Button-mimWidth; } @include button-size( $Button-paddingY, $Button-paddingX, $Button-fontSize, $Button-lineHeight, $Button-borderRadius, $Button-height ); @include hover-focus { color: $text-color; text-decoration: none; } &:focus, &.focus { outline: 0; box-shadow: $Button-onFocus-boxShadow; } &.is-disabled, &:disabled { opacity: $Button-onDisabled-opacity; box-shadow: none; pointer-events: none; border-color: $Button-onDisabled-borderColor; @if variable-exists(Button-onDisabled-bg) { background-color: $Button-onDisabled-bg; } @if variable-exists(Button-onDisabled-color) { color: $Button-onDisabled-color !important; } &.is-active, &:active { @if variable-exists(Button-onDisabledActive-bg) { background-color: $Button-onDisabledActive-bg !important; } } } &:not(:disabled):not(.is-disabled) { cursor: pointer; } &:not(:disabled):not(.is-disabled):active, &:not(:disabled):not(.is-disabled).is-active { box-shadow: $Button-onActive-boxShadow; &:focus { box-shadow: $Button-onActive-boxShadow; } } > .pull-left, > .pull-right { line-height: inherit; } > .fa, > .iconfont, > .glyphicon { font-size: inherit; } } a.#{$ns}Button.is-disabled, fieldset:disabled a.#{$ns}Button { pointer-events: none; } .#{$ns}Button--primary { @include button-variant( $Button--primary-bg, $Button--primary-border, $Button--primary-color, $Button--primary-onHover-bg, $Button--primary-onHover-border, $Button--primary-onHover-color, $Button--primary-onActive-bg, $Button--primary-onActive-border, $Button--primary-onActive-color ); } .#{$ns}Button--secondary { @include button-variant( $Button--secondary-bg, $Button--secondary-border, $Button--secondary-color, $Button--secondary-onHover-bg, $Button--secondary-onHover-border, $Button--secondary-onHover-color, $Button--secondary-onActive-bg, $Button--secondary-onActive-border, $Button--secondary-onActive-color ); } .#{$ns}Button--success { @include button-variant( $Button--success-bg, $Button--success-border, $Button--success-color, $Button--success-onHover-bg, $Button--success-onHover-border, $Button--success-onHover-color, $Button--success-onActive-bg, $Button--success-onActive-border, $Button--success-onActive-color ); } .#{$ns}Button--info { @include button-variant( $Button--info-bg, $Button--info-border, $Button--info-color, $Button--info-onHover-bg, $Button--info-onHover-border, $Button--info-onHover-color, $Button--info-onActive-bg, $Button--info-onActive-border, $Button--info-onActive-color ); } .#{$ns}Button--warning { @include button-variant( $Button--warning-bg, $Button--warning-border, $Button--warning-color, $Button--warning-onHover-bg, $Button--warning-onHover-border, $Button--warning-onHover-color, $Button--warning-onActive-bg, $Button--warning-onActive-border, $Button--warning-onActive-color ); } .#{$ns}Button--danger { @include button-variant( $Button--danger-bg, $Button--danger-border, $Button--danger-color, $Button--danger-onHover-bg, $Button--danger-onHover-border, $Button--danger-onHover-color, $Button--danger-onActive-bg, $Button--danger-onActive-border, $Button--danger-onActive-color ); } .#{$ns}Button--light { @include button-variant( $Button--light-bg, $Button--light-border, $Button--light-color, $Button--light-onHover-bg, $Button--light-onHover-border, $Button--light-onHover-color, $Button--light-onActive-bg, $Button--light-onActive-border, $Button--light-onActive-color ); } .#{$ns}Button--dark { @include button-variant( $Button--dark-bg, $Button--dark-border, $Button--dark-color, $Button--dark-onHover-bg, $Button--dark-onHover-border, $Button--dark-onHover-color, $Button--dark-onActive-bg, $Button--dark-onActive-border, $Button--dark-onActive-color ); } .#{$ns}Button--default { @include button-variant( $Button--default-bg, $Button--default-border, $Button--default-color, $Button--default-onHover-bg, $Button--default-onHover-border, $Button--default-onHover-color, $Button--default-onActive-bg, $Button--default-onActive-border, $Button--default-onActive-color ); } .#{$ns}Button--xs { @include button-size( $Button--xs-paddingY, $Button--xs-paddingX, $Button--xs-fontSize, $Button--xs-lineHeight, $Button--sm-borderRadius, $Button--xs-height ); &.#{$ns}Button--iconOnly { min-width: $Button--xs-height * $Button--iconOnly-minWidthRate; } } .#{$ns}Button--sm { @include button-size( $Button--sm-paddingY, $Button--sm-paddingX, $Button--sm-fontSize, $Button--sm-lineHeight, $Button--sm-borderRadius, $Button--sm-height ); &.#{$ns}Button--iconOnly { min-width: $Button--sm-height * $Button--iconOnly-minWidthRate; } } .#{$ns}Button--md { @include button-size( $Button--md-paddingY, $Button--md-paddingX, $Button--md-fontSize, $Button--md-lineHeight, $Button-borderRadius, $Button--md-height ); &.#{$ns}Button--iconOnly { min-width: $Button--md-height * $Button--iconOnly-minWidthRate; } } .#{$ns}Button--lg { @include button-size( $Button--lg-paddingY, $Button--lg-paddingX, $Button--lg-fontSize, $Button--lg-lineHeight, $Button--lg-borderRadius, $Button--lg-height ); &.#{$ns}Button--iconOnly { min-width: $Button--lg-height * $Button--iconOnly-minWidthRate; } } .#{$ns}Button--iconOnly { min-width: $Button-height * $Button--iconOnly-minWidthRate; &:not(.#{$ns}Button--link) { > svg.icon { width: px2rem(14px); height: px2rem(14px); top: px2rem(2px); } > .fa, > .iconfont { font-size: $fontSizeMd; } > .iconfont { line-height: 1; } } } .#{$ns}Button--link { width: auto; min-width: auto; font-weight: $fontWeightNormal; color: $Button--link-color; text-decoration: $link-decoration; border: none; padding-top: 0; padding-bottom: 0; height: auto; @include hover-focus { color: $Button--link-onHover-color; text-decoration: $link-onHover-decoration; box-shadow: none; } &:disabled, &.is-disabled { color: $text--muted-color; pointer-events: none; background-color: transparent; } } .#{$ns}Button--block { display: block; width: 100%; + .#{$ns}Button--block { margin-top: $gap-base; } } input[type='submit'], input[type='reset'], input[type='button'] { &.#{$ns}Button--block { width: 100%; } } .#{$ns}ButtonToolbar { margin-left: px2rem(-5px); margin-top: px2rem(-5px); > .#{$ns}Button { margin-left: px2rem(5px); margin-top: px2rem(5px); } } .#{$ns}Button--disabled-wrap { display: inline-block !important; }