* Swap deprecated box-sizing mixin with the box-sizing property * Linting now that box-sizing is no longer a mixin
225 lines
4.0 KiB
SCSS
225 lines
4.0 KiB
SCSS
// lms - utilities - mixins and extends
|
|
// ====================
|
|
|
|
// mixins - font sizing
|
|
@mixin font-size($sizeValue: 16) {
|
|
font-size: $sizeValue + px;
|
|
// font-size: ($sizeValue/10) + rem;
|
|
}
|
|
|
|
// mixins - line height
|
|
@mixin line-height($fontSize: auto) {
|
|
line-height: ($fontSize*1.48) + px;
|
|
// line-height: (($fontSize/10)*1.48) + rem;
|
|
}
|
|
|
|
// image-replacement hidden text
|
|
@mixin text-hide() {
|
|
text-indent: 100%;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
}
|
|
|
|
@mixin vertically-and-horizontally-centered ($height, $width) {
|
|
left: 50%;
|
|
margin-left: -$width / 2;
|
|
//margin-top: -$height / 2;
|
|
min-height: $height;
|
|
min-width: $width;
|
|
position: absolute;
|
|
top: 150px;
|
|
}
|
|
|
|
// sunsetted, but still used mixins
|
|
@mixin hide-text() {
|
|
text-indent: -9999px;
|
|
overflow: hidden;
|
|
display: block;
|
|
}
|
|
|
|
@mixin show-hover-state() {
|
|
opacity: 1;
|
|
}
|
|
|
|
@function em($pxval, $base: 16) {
|
|
@return #{$pxval / $base}em;
|
|
}
|
|
|
|
// line-height
|
|
@function lh($amount: 1) {
|
|
@return $body-line-height * $amount;
|
|
}
|
|
|
|
// ====================
|
|
|
|
// theme mixin styles
|
|
@mixin login_register_h1_style {} /* stylelint-disable-line */
|
|
|
|
@mixin footer_references_style {} /* stylelint-disable-line */
|
|
|
|
// ====================
|
|
|
|
// extends - UI - used for page/view-level wrappers (for centering/grids)
|
|
%ui-wrapper {
|
|
@include clearfix();
|
|
|
|
box-sizing: border-box;
|
|
width: 100%;
|
|
}
|
|
|
|
// extends - UI - window
|
|
%ui-window {
|
|
@include clearfix();
|
|
|
|
border-radius: 3px;
|
|
box-shadow: 0 1px 2px 1px $shadow-l1;
|
|
margin-bottom: $baseline;
|
|
border: 1px solid $light-gray;
|
|
background: $white;
|
|
}
|
|
|
|
// extends - UI archetypes - well
|
|
%ui-well {
|
|
box-shadow: inset 0 1px 2px 1px $shadow-l1;
|
|
padding: ($baseline*0.75) $baseline;
|
|
}
|
|
|
|
// extends - UI - visual link
|
|
%ui-fake-link {
|
|
cursor: pointer;
|
|
}
|
|
|
|
// extends - UI - functional disable
|
|
%ui-disabled {
|
|
pointer-events: none;
|
|
outline: none;
|
|
cursor: default;
|
|
}
|
|
|
|
// extends - UI - depth levels
|
|
%ui-depth0 { z-index: 0; }
|
|
%ui-depth1 { z-index: 10; }
|
|
%ui-depth2 { z-index: 100; }
|
|
%ui-depth3 { z-index: 1000; }
|
|
%ui-depth4 { z-index: 10000; }
|
|
%ui-depth5 { z-index: 100000; }
|
|
|
|
// extends - UI - utility - nth-type style clearing
|
|
%wipe-first-child {
|
|
&:first-child {
|
|
margin-top: 0;
|
|
border-top: none;
|
|
padding-top: 0;
|
|
}
|
|
}
|
|
|
|
// extends - UI - utility - nth-type style clearing
|
|
%wipe-last-child {
|
|
&:last-child {
|
|
margin-bottom: 0;
|
|
border-bottom: none;
|
|
padding-bottom: 0;
|
|
}
|
|
}
|
|
|
|
// extends -hidden elems - screenreaders
|
|
%text-sr {
|
|
// clip has been deprecated but is still supported
|
|
clip: rect(1px 1px 1px 1px);
|
|
clip: rect(1px, 1px, 1px, 1px);
|
|
position: absolute;
|
|
margin: -1px;
|
|
height: 1px;
|
|
width: 1px;
|
|
border: 0;
|
|
padding: 0;
|
|
overflow: hidden;
|
|
// ensure there are spaces in sr text
|
|
word-wrap: normal;
|
|
}
|
|
|
|
// extends - ensures proper contrast for automated checkers
|
|
%a11y-ensure-contrast {
|
|
background: $white;
|
|
color: $black;
|
|
}
|
|
|
|
// extends - UI - removes list styling/spacing when using uls, ols for navigation and less content-centric cases
|
|
%ui-no-list {
|
|
list-style: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
text-indent: 0;
|
|
|
|
li,
|
|
dt,
|
|
dd {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
}
|
|
|
|
// extends - text - image-replacement hidden text
|
|
%text-hide {
|
|
text-indent: 100%;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
}
|
|
|
|
// extends - text - wrapping
|
|
%text-wrap {
|
|
text-wrap: wrap; /* stylelint-disable-line */
|
|
white-space: pre-wrap;
|
|
white-space: -moz-pre-wrap;
|
|
word-wrap: break-word;
|
|
}
|
|
|
|
// extends - text - text overflow by ellipsis
|
|
%text-truncated {
|
|
box-sizing: border-box;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
// border control
|
|
%no-border-top {
|
|
border-top: none;
|
|
}
|
|
|
|
%no-border-bottom {
|
|
border-bottom: none;
|
|
}
|
|
|
|
%no-border-left {
|
|
border-left: none;
|
|
}
|
|
|
|
%no-border-right {
|
|
border-right: none;
|
|
}
|
|
|
|
// outline
|
|
%no-outline {
|
|
outline: none;
|
|
}
|
|
|
|
// shame-based mixins to centrally override poor styling
|
|
%shame-link-base {
|
|
color: $link-color;
|
|
|
|
&:hover,
|
|
&:focus {
|
|
color: saturate($link-color, 50%);
|
|
}
|
|
}
|
|
|
|
%shame-link-text {
|
|
@extend %shame-link-base;
|
|
|
|
&:hover,
|
|
&:focus {
|
|
text-decoration: underline !important;
|
|
}
|
|
}
|