/** * Buttons * -------------------------------------------------- */ .button { // set the color defaults @include button-style($button-default-bg, $button-default-border, $button-default-active-bg, $button-default-active-border, $button-default-text); position: relative; display: inline-block; margin: 0; padding: 0 $button-padding; min-width: ($button-padding * 3) + $button-font-size; min-height: $button-height + 5px; border-width: $button-border-width; border-style: solid; border-radius: $button-border-radius; vertical-align: top; text-align: center; text-overflow: ellipsis; font-size: $button-font-size; line-height: $button-height - $button-border-width + 1px; cursor: pointer; &:after { // used to create a larger button "hit" area position: absolute; top: -6px; right: -6px; bottom: -6px; left: -6px; content: ' '; } .icon { vertical-align: top; pointer-events: none; } .icon:before, &.icon:before, &.icon-left:before, &.icon-right:before { display: inline-block; padding: 0 0 $button-border-width 0; vertical-align: inherit; font-size: $button-icon-size; line-height: $button-height - $button-border-width; pointer-events: none; } &.icon-left:before { float: left; padding-right: .2em; padding-left: 0; } &.icon-right:before { float: right; padding-right: 0; padding-left: .2em; } &.button-block, &.button-full { margin-top: $button-block-margin; margin-bottom: $button-block-margin; } &.button-light { @include button-style($button-light-bg, $button-light-border, $button-light-active-bg, $button-light-active-border, $button-light-text); @include button-clear($button-light-border); @include button-outline($button-light-border); } &.button-stable { @include button-style($button-stable-bg, $button-stable-border, $button-stable-active-bg, $button-stable-active-border, $button-stable-text); @include button-clear($button-stable-border); @include button-outline($button-stable-border); } &.button-positive { @include button-style($button-positive-bg, $button-positive-border, $button-positive-active-bg, $button-positive-active-border, $button-positive-text); @include button-clear($button-positive-bg); @include button-outline($button-positive-bg); } &.button-calm { @include button-style($button-calm-bg, $button-calm-border, $button-calm-active-bg, $button-calm-active-border, $button-calm-text); @include button-clear($button-calm-bg); @include button-outline($button-calm-bg); } &.button-assertive { @include button-style($button-assertive-bg, $button-assertive-border, $button-assertive-active-bg, $button-assertive-active-border, $button-assertive-text); @include button-clear($button-assertive-bg); @include button-outline($button-assertive-bg); } &.button-balanced { @include button-style($button-balanced-bg, $button-balanced-border, $button-balanced-active-bg, $button-balanced-active-border, $button-balanced-text); @include button-clear($button-balanced-bg); @include button-outline($button-balanced-bg); } &.button-energized { @include button-style($button-energized-bg, $button-energized-border, $button-energized-active-bg, $button-energized-active-border, $button-energized-text); @include button-clear($button-energized-bg); @include button-outline($button-energized-bg); } &.button-royal { @include button-style($button-royal-bg, $button-royal-border, $button-royal-active-bg, $button-royal-active-border, $button-royal-text); @include button-clear($button-royal-bg); @include button-outline($button-royal-bg); } &.button-dark { @include button-style($button-dark-bg, $button-dark-border, $button-dark-active-bg, $button-dark-active-border, $button-dark-text); @include button-clear($button-dark-bg); @include button-outline($button-dark-bg); } } .button-small { padding: 2px $button-small-padding 1px; min-width: $button-small-height; min-height: $button-small-height + 2; font-size: $button-small-font-size; line-height: $button-small-height - $button-border-width - 1; .icon:before, &.icon:before, &.icon-left:before, &.icon-right:before { font-size: $button-small-icon-size; line-height: $button-small-icon-size + 3; margin-top: 3px; } } .button-large { padding: 0 $button-large-padding; min-width: ($button-large-padding * 3) + $button-large-font-size; min-height: $button-large-height + 5; font-size: $button-large-font-size; line-height: $button-large-height - $button-border-width; .icon:before, &.icon:before, &.icon-left:before, &.icon-right:before { padding-bottom: ($button-border-width * 2); font-size: $button-large-icon-size; line-height: $button-large-height - ($button-border-width * 2) - 1; } } .button-icon { @include transition(opacity .1s); padding: 0 6px; min-width: initial; border-color: transparent; background: none; &.button.active, &.button.activated { border-color: transparent; background: none; box-shadow: none; opacity: 0.3; } .icon:before, &.icon:before { font-size: $button-large-icon-size; } } .button-clear { @include button-clear($button-default-border); @include transition(opacity .1s); padding: 0 $button-clear-padding; max-height: $button-height; border-color: transparent; background: none; box-shadow: none; &.active, &.activated { opacity: 0.3; } } .button-outline { @include button-outline($button-default-border); @include transition(opacity .1s); background: none; box-shadow: none; } .padding > .button.button-block:first-child { margin-top: 0; } .button-block { display: block; clear: both; &:after { clear: both; } } .button-full, .button-full > .button { display: block; margin-right: 0; margin-left: 0; border-right-width: 0; border-left-width: 0; border-radius: 0; } button.button-block, button.button-full, .button-full > button.button, input.button.button-block { width: 100%; } a.button { text-decoration: none; .icon:before, &.icon:before, &.icon-left:before, &.icon-right:before { margin-top: 2px; } } .button.disabled, .button[disabled] { opacity: .4; cursor: default !important; pointer-events: none; }