* Swap deprecated box-sizing mixin with the box-sizing property * Linting now that box-sizing is no longer a mixin
564 lines
9.4 KiB
SCSS
564 lines
9.4 KiB
SCSS
// lms - elements - controls
|
|
// ====================
|
|
|
|
%btn {
|
|
box-sizing: border-box;
|
|
|
|
@include transition(color $tmg-f2 ease-in-out, background $tmg-f2 ease-in-out, box-shadow $tmg-f2 ease-in-out);
|
|
|
|
display: inline-block;
|
|
cursor: pointer;
|
|
text-decoration: none;
|
|
|
|
&:hover,
|
|
&:active,
|
|
&:focus {
|
|
text-decoration: none;
|
|
}
|
|
|
|
&.disabled,
|
|
&[disabled] {
|
|
cursor: default;
|
|
pointer-events: none;
|
|
}
|
|
}
|
|
|
|
%btn-pill {
|
|
border-radius: $baseline/5;
|
|
}
|
|
|
|
%btn-rounded {
|
|
border-radius: ($baseline/2);
|
|
}
|
|
|
|
%btn-edged {
|
|
border-radius: ($baseline/10);
|
|
}
|
|
|
|
// ====================
|
|
|
|
%btn-inherited {
|
|
@include transition(background-color 0.15s, box-shadow 0.15s);
|
|
|
|
border-radius: 3px;
|
|
box-shadow: 0 1px 0 rgba($white, 0.3) inset, 0 0 0 rgba($black, 0);
|
|
padding: ($baseline/2) $baseline;
|
|
|
|
&:hover,
|
|
&:active,
|
|
&:focus {
|
|
text-decoration: none;
|
|
}
|
|
|
|
&.disabled,
|
|
&.is-disabled,
|
|
&[disabled="disabled"] {
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
|
|
%btn-inherited-primary {
|
|
@extend %btn-inherited;
|
|
|
|
@include linear-gradient(top, rgba($white, 0.3), rgba($white, 0));
|
|
|
|
border: 1px solid shade($action-primary-bg, 10%);
|
|
background-color: $action-primary-bg;
|
|
color: $action-primary-fg;
|
|
|
|
&:hover,
|
|
&:active,
|
|
&:focus {
|
|
background-color: $action-primary-focused-bg;
|
|
color: $action-primary-focused-fg;
|
|
}
|
|
|
|
&.disabled,
|
|
&.is-disabled,
|
|
&[disabled="disabled"] {
|
|
border: 1px solid tint($action-primary-disabled-bg, 10%);
|
|
background: $action-primary-disabled-bg;
|
|
color: $action-prmary-disabled-fg;
|
|
}
|
|
}
|
|
|
|
// ====================
|
|
|
|
// primary button
|
|
%btn-primary {
|
|
@extend %t-weight3;
|
|
@extend %btn;
|
|
@extend %btn-edged;
|
|
|
|
border: none;
|
|
padding: ($baseline*0.75) $baseline;
|
|
text-align: center;
|
|
text-shadow: none;
|
|
|
|
&.disabled,
|
|
&.is-disabled,
|
|
&[disabled] {
|
|
background: $m-gray-l2;
|
|
color: $white-t3;
|
|
}
|
|
}
|
|
|
|
// blue primary gray
|
|
%btn-primary-gray {
|
|
@extend %btn-primary;
|
|
|
|
box-shadow: 0 2px 1px 0 $m-gray-d2;
|
|
background: $m-gray;
|
|
color: $white;
|
|
|
|
&:hover,
|
|
&:active,
|
|
&:focus {
|
|
background: $m-gray-l1;
|
|
color: $white;
|
|
}
|
|
|
|
&.current,
|
|
&.active {
|
|
box-shadow: inset 0 2px 1px 1px $m-gray-d2;
|
|
background: $m-gray;
|
|
color: $m-gray-l1;
|
|
|
|
&:hover,
|
|
&:active,
|
|
&:focus {
|
|
box-shadow: inset 0 2px 1px 1px $m-gray-d3;
|
|
color: $m-gray-d3;
|
|
}
|
|
}
|
|
|
|
&.disabled,
|
|
&[disabled] {
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
|
|
// blue primary error color
|
|
%btn-primary-error {
|
|
@extend %btn-primary;
|
|
|
|
box-shadow: 0 2px 1px 0 shade($error-color, 25%);
|
|
background: shade($error-color, 25%);
|
|
color: $white;
|
|
|
|
&:hover,
|
|
&:active,
|
|
&:focus {
|
|
background: $error-color;
|
|
color: $white;
|
|
}
|
|
|
|
&.disabled,
|
|
&[disabled] {
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
|
|
// blue primary button
|
|
%btn-primary-blue {
|
|
@extend %btn-primary;
|
|
|
|
background: $m-blue-d3;
|
|
color: $white;
|
|
|
|
&:hover,
|
|
&:active,
|
|
&:focus {
|
|
background: $uxpl-blue-hover-active;
|
|
color: $white;
|
|
}
|
|
|
|
&.current,
|
|
&.active {
|
|
background: $m-blue;
|
|
color: $m-blue-d2;
|
|
|
|
&:hover,
|
|
&:active,
|
|
&:focus {
|
|
color: $m-blue-d3;
|
|
}
|
|
}
|
|
|
|
&.disabled,
|
|
&[disabled] {
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
|
|
// pink primary button
|
|
%btn-primary-pink {
|
|
@extend %btn-primary;
|
|
|
|
box-shadow: 0 2px 1px 0 $m-pink-d2;
|
|
background: $m-pink;
|
|
color: $white;
|
|
|
|
&:hover,
|
|
&:active,
|
|
&:focus {
|
|
background: $m-pink-l3;
|
|
color: $white;
|
|
}
|
|
|
|
&.current,
|
|
&.active {
|
|
box-shadow: inset 0 2px 1px 1px $m-pink-d1;
|
|
background: $m-pink-l2;
|
|
color: $m-pink-d1;
|
|
|
|
&:hover,
|
|
&:active,
|
|
&:focus {
|
|
box-shadow: inset 0 2px 1px 1px $m-pink-d2;
|
|
color: $m-pink-d3;
|
|
}
|
|
}
|
|
|
|
&.disabled,
|
|
&[disabled] {
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
|
|
// green primary button
|
|
%btn-primary-green {
|
|
@extend %btn-primary;
|
|
|
|
box-shadow: 0 2px 1px 0 $m-green-d2;
|
|
background: $m-green-d1;
|
|
color: $white;
|
|
|
|
&:hover,
|
|
&:active,
|
|
&:focus {
|
|
background: $uxpl-green-hover-active;
|
|
color: $white;
|
|
}
|
|
|
|
&.current,
|
|
&.active {
|
|
box-shadow: inset 0 2px 1px 1px $m-green;
|
|
background: $m-green-l2;
|
|
color: $m-green;
|
|
|
|
&:hover,
|
|
&:active,
|
|
&:focus {
|
|
box-shadow: inset 0 2px 1px 1px $m-green-d1;
|
|
color: $m-green-d1;
|
|
}
|
|
}
|
|
|
|
&.disabled,
|
|
&[disabled] {
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
|
|
// disabled primary button - used for more manual approaches
|
|
%btn-primary-disabled {
|
|
background: $m-gray-l2;
|
|
color: $white-t3;
|
|
pointer-events: none;
|
|
cursor: default;
|
|
box-shadow: none;
|
|
|
|
&:hover,
|
|
&:focus {
|
|
pointer-events: none;
|
|
}
|
|
}
|
|
|
|
// blue secondary button outline style
|
|
%btn-secondary-blue-outline {
|
|
@extend %t-action2;
|
|
@extend %btn;
|
|
@extend %btn-edged;
|
|
|
|
box-shadow: none;
|
|
border: 1px solid $m-blue-d3;
|
|
padding: ($baseline/2) $baseline;
|
|
background: transparent;
|
|
color: $m-blue-d3;
|
|
|
|
&:hover,
|
|
&:active,
|
|
&:focus {
|
|
box-shadow: 0 2px 1px 0 $m-blue-d4;
|
|
background: $m-blue-d1;
|
|
color: $white;
|
|
}
|
|
|
|
&.current,
|
|
&.active {
|
|
box-shadow: inset 0 2px 1px 1px $m-blue-d2;
|
|
background: $m-blue;
|
|
color: $m-blue-d2;
|
|
|
|
&:hover,
|
|
&:active,
|
|
&:focus {
|
|
box-shadow: inset 0 2px 1px 1px $m-blue-d3;
|
|
color: $m-blue-d3;
|
|
}
|
|
}
|
|
|
|
&.disabled,
|
|
&[disabled] {
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
|
|
// grey secondary button outline style
|
|
%btn-secondary-grey-outline {
|
|
@extend %btn-secondary-blue-outline;
|
|
|
|
border: 1px solid $gray-l4;
|
|
|
|
&:hover,
|
|
&:active,
|
|
&:focus {
|
|
box-shadow: none;
|
|
border: 1px solid $m-blue-d3;
|
|
}
|
|
|
|
&.disabled,
|
|
&[disabled] {
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
|
|
// imitating the pattern library
|
|
// starts with overrides
|
|
%btn-pl-default-base {
|
|
box-sizing: border-box;
|
|
|
|
@extend %t-copy-base;
|
|
|
|
letter-spacing: 0; // reset letterspacing from elsewhere
|
|
|
|
@extend %btn-primary;
|
|
|
|
border: 1px solid darken($action-primary-bg, 10%);
|
|
border-radius: 3px;
|
|
padding: 8px $baseline;
|
|
background-color: transparent;
|
|
color: darken($action-primary-bg, 10%);
|
|
text-align: center;
|
|
|
|
&:hover,
|
|
&:focus {
|
|
border: 1px solid transparent;
|
|
background-color: $action-primary-bg;
|
|
color: $action-primary-fg;
|
|
text-decoration: none;
|
|
}
|
|
}
|
|
|
|
%btn-pl-primary-base {
|
|
@extend %btn-pl-default-base;
|
|
|
|
background-color: darken($action-primary-bg, 10%);
|
|
color: $action-primary-fg;
|
|
}
|
|
|
|
%btn-pl-white-base {
|
|
@extend %btn-pl-default-base;
|
|
|
|
background-color: $action-primary-fg;
|
|
color: $action-primary-bg;
|
|
}
|
|
|
|
%btn-pl-green-base {
|
|
@extend %btn-pl-default-base;
|
|
|
|
background-color: darken($green-d1, 10%);
|
|
color: $action-primary-fg;
|
|
|
|
&:hover,
|
|
&:focus {
|
|
border: 1px solid transparent;
|
|
background-color: $green-d1;
|
|
}
|
|
}
|
|
|
|
%btn-pl-yellow-base {
|
|
@extend %btn-pl-default-base;
|
|
|
|
border: 1px solid transparent;
|
|
background-color: $credit-color-base;
|
|
color: $body-color;
|
|
|
|
&:hover,
|
|
&:focus {
|
|
border: 1px solid darken($credit-color-base, 10%);
|
|
background-color: lighten($credit-color-base, 20%);
|
|
}
|
|
}
|
|
|
|
%btn-pl-black-border {
|
|
@extend %btn-pl-default-base;
|
|
|
|
border: 1px solid $m-gray-d4;
|
|
background-color: transparent;
|
|
color: $body-color;
|
|
|
|
&:hover,
|
|
&:focus {
|
|
border: 1px solid darken($m-gray-d4, 10%);
|
|
background-color: $m-gray-d4;
|
|
}
|
|
}
|
|
|
|
%btn-pl-black-base {
|
|
@extend %btn-pl-default-base;
|
|
|
|
border: 1px solid transparent;
|
|
background-color: $m-gray-d4;
|
|
color: $very-light-text;
|
|
|
|
&:hover,
|
|
&:focus {
|
|
border: 1px solid darken($m-gray-d4, 10%);
|
|
background-color: transparent;
|
|
color: $body-color;
|
|
}
|
|
}
|
|
|
|
%btn-pl-secondary-base {
|
|
@extend %btn-pl-default-base;
|
|
|
|
@include transition(border $tmg-f2 ease-in-out);
|
|
|
|
border: 1px solid transparent;
|
|
color: $action-primary-bg;
|
|
|
|
&:hover {
|
|
border: 1px solid $gray-l2;
|
|
background-color: transparent;
|
|
color: $action-primary-bg;
|
|
}
|
|
}
|
|
|
|
%btn-pl-elevated-alt {
|
|
@extend %btn-pl-default-base;
|
|
|
|
box-shadow: 0 3px 0 0 $gray-l4;
|
|
border: 1px solid $gray-l4;
|
|
|
|
&:hover {
|
|
box-shadow: 0 3px 0 0 $action-primary-bg;
|
|
border: 1px solid $action-primary-bg;
|
|
background-color: lighten($action-primary-bg, 20%);
|
|
color: $white;
|
|
}
|
|
}
|
|
|
|
// ====================
|
|
|
|
// application: canned actions
|
|
.btn {
|
|
font-family: $font-family-sans-serif;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.btn-large {
|
|
@extend %t-action1;
|
|
@extend %t-weight3;
|
|
|
|
display: block;
|
|
padding: ($baseline*0.75) ($baseline*1.5);
|
|
}
|
|
|
|
.btn-avg {
|
|
@extend %t-action2;
|
|
@extend %t-weight3;
|
|
}
|
|
|
|
.btn-blue {
|
|
@extend %btn-primary-blue;
|
|
|
|
margin-bottom: $baseline;
|
|
|
|
|
|
&:last-child {
|
|
margin-bottom: none;
|
|
}
|
|
}
|
|
|
|
.btn-pink {
|
|
@extend %btn-primary-pink;
|
|
|
|
margin-bottom: $baseline;
|
|
|
|
|
|
&:last-child {
|
|
margin-bottom: none;
|
|
}
|
|
}
|
|
|
|
.btn-secondary {
|
|
@extend %btn-pl-secondary-base;
|
|
|
|
background-image: none;
|
|
|
|
&:focus,
|
|
&:hover {
|
|
background-image: none !important;
|
|
background-color: transparent !important;
|
|
color: $link-color;
|
|
}
|
|
}
|
|
|
|
.btn-link {
|
|
@extend %shame-link-text;
|
|
|
|
// reset of inherited buttons
|
|
border-radius: 0;
|
|
border-color: $transparent;
|
|
padding: 1px;
|
|
background: $transparent;
|
|
background-image: none;
|
|
box-shadow: none;
|
|
text-shadow: none;
|
|
white-space: nowrap;
|
|
|
|
@extend %t-action3;
|
|
@extend %t-strong;
|
|
|
|
&:focus,
|
|
&:hover {
|
|
background-image: none !important;
|
|
background-color: $transparent !important;
|
|
box-shadow: none !important;
|
|
}
|
|
}
|
|
|
|
// enlarge the clickable area of a control.
|
|
%expand-clickable-area {
|
|
position: relative;
|
|
|
|
&,
|
|
&:link,
|
|
&:visited,
|
|
&:hover,
|
|
&:active,
|
|
&:focus {
|
|
&::after {
|
|
content: " ";
|
|
position: absolute;
|
|
left: 0;
|
|
top: calc(50% - #{($baseline * 1.1)});
|
|
min-height: ($baseline * 2.2);
|
|
width: 100%;
|
|
cursor: pointer;
|
|
}
|
|
}
|
|
}
|