Files
ionic-framework/scss/_button.scss
2013-11-12 13:40:29 -06:00

210 lines
6.0 KiB
SCSS

/**
* Buttons
* --------------------------------------------------
*/
.button {
position: relative;
display: inline-block;
margin: 0;
padding: 1px $button-padding 0 $button-padding;
min-width: ($button-padding * 3) + $button-font-size;
min-height: $button-height;
border-width: $button-border-width;
border-style: solid;
border-radius: $button-border-radius;
// set the color defaults
@include button-style($button-default-bg, $button-default-border, $button-default-active-bg, $button-default-active-border, $button-default-text);
vertical-align: top;
text-align: center;
text-overflow: ellipsis;
font-size: $button-font-size;
line-height: $button-height - $button-border-width;
cursor: pointer;
.icon {
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 - 1;
}
&.block, &.button-full {
margin-top: $button-block-margin;
margin-bottom: $button-block-margin;
}
&.button-primary {
@include button-style($button-primary-bg, $button-primary-border, $button-primary-active-bg, $button-primary-active-border, $button-primary-text);
@include button-clear($button-primary-bg);
@include button-outline($button-primary-bg);
}
&.button-secondary {
@include button-style($button-secondary-bg, $button-secondary-border, $button-secondary-active-bg, $button-secondary-active-border, $button-secondary-text);
@include button-clear($button-secondary-border);
@include button-outline($button-secondary-border, $dark);
}
&.button-tertiary {
@include button-style($button-tertiary-bg, $button-tertiary-border, $button-tertiary-active-bg, $button-tertiary-active-border, $button-tertiary-text);
@include button-clear($button-tertiary-bg);
@include button-outline($button-tertiary-bg);
}
&.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-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-bg);
@include button-outline($button-light-bg);
}
&.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-bg);
@include button-outline($button-stable-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: 0 $button-small-padding;
min-width: $button-small-height;
min-height: $button-small-height;
font-size: $button-small-font-size;
line-height: $button-small-height - $button-border-width;
.icon {
font-size: $button-small-icon-size;
line-height: $button-small-height - $button-border-width - 1;
}
}
.button-large {
padding: 0 $button-large-padding;
min-width: ($button-large-padding * 3) + $button-large-font-size;
min-height: $button-large-height;
font-size: $button-large-font-size;
line-height: $button-large-height - $button-border-width;
.icon {
font-size: $button-large-icon-size;
line-height: $button-large-height - ($button-border-width * 2) - 1;
padding-bottom: ($button-border-width * 2);
}
}
.button-icon {
padding: 2px 4px;
background: none;
.icon {
font-size: $button-large-icon-size;
}
}
.button-clear {
@include button-clear($button-default-bg);
@include transition(opacity .1s);
padding: 0 $button-clear-padding;
max-height: $button-height;
border: none;
background: none;
box-shadow: none;
&:active, &.active {
opacity: 0.3;
}
}
.button-outline {
@include button-outline($button-default-bg);
@include transition(opacity .1s);
background: none;
box-shadow: none;
}
.button-icon {
border: none;
background: none;
&:active, &.active {
background: none;
box-shadow: none;
text-shadow: 0px 0px 10px #fff;
}
}
.padding > .button.block:first-child {
margin-top: 0;
}
.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.block,
button.button-full,
.button-full > button.button {
width: 100%;
}
a.button {
text-decoration: none;
}