241 lines
5.0 KiB
SCSS
241 lines
5.0 KiB
SCSS
// common - utilities - mixins and extends
|
|
// ====================
|
|
//
|
|
// Note: these mixins replicate the Studio mixins directly
|
|
// to simplify the usage of Studio Sass partials. They
|
|
// should be deprecated in favor of using native Bootstrap
|
|
// functionality.
|
|
|
|
|
|
// Table of Contents
|
|
// * +Font Sizing - Mixin
|
|
// * +Line Height - Mixin
|
|
// * +Sizing - Mixin
|
|
// * +Square - Mixin
|
|
// * +Placeholder Styling - Mixin
|
|
// * +Flex Support - Mixin
|
|
// * +Flex Polyfill - Extends
|
|
// * +UI - Wrapper - Extends
|
|
// * +UI - Window - Extend
|
|
// * +UI - Visual Link - Extend
|
|
// * +UI - Functional Disable - Extend
|
|
// * +UI - Visual Link - Extend
|
|
// * +UI - Depth Levels - Extends
|
|
// * +UI - Clear Children - Extends
|
|
// * +UI - Buttons - Extends
|
|
// * +UI - Well Archetype - Extends
|
|
// * +Content - No List - Extends
|
|
// * +Content - Hidden Image Text - Extend
|
|
// * +Content - Screenreader Text - Extend
|
|
// * +Content - Text Wrap - Extend
|
|
// * +Content - Text Truncate - Extend
|
|
// * +Icon - Font-Awesome - Extend
|
|
// * +Icon - SSO icon images
|
|
|
|
// +Font Sizing - Mixin
|
|
// ====================
|
|
@mixin font-size($sizeValue: 16) {
|
|
font-size: $sizeValue + px;
|
|
font-size: ($sizeValue/10) + rem;
|
|
}
|
|
|
|
// +Line Height - Mixin
|
|
// ====================
|
|
@mixin line-height($fontSize: auto) {
|
|
line-height: ($fontSize*1.48) + px;
|
|
line-height: (($fontSize/10)*1.48) + rem;
|
|
}
|
|
|
|
// +Sizing - Mixin
|
|
// ====================
|
|
@mixin size($width: $baseline, $height: $baseline) {
|
|
height: $height;
|
|
width: $width;
|
|
}
|
|
|
|
// +Square - Mixin
|
|
// ====================
|
|
@mixin square($size: $baseline) {
|
|
@include size($size);
|
|
}
|
|
|
|
// +Placeholder Styling - Mixin
|
|
// ====================
|
|
@mixin placeholder($color) {
|
|
:-moz-placeholder {
|
|
color: $color;
|
|
}
|
|
|
|
::-webkit-input-placeholder {
|
|
color: $color;
|
|
}
|
|
|
|
:-ms-input-placeholder {
|
|
color: $color;
|
|
}
|
|
}
|
|
|
|
// +Flex Support - Mixin
|
|
// ====================
|
|
@mixin ui-flexbox() {
|
|
display: -webkit-box;
|
|
display: -moz-box;
|
|
display: -ms-flexbox;
|
|
display: -webkit-flex;
|
|
display: flex;
|
|
}
|
|
|
|
// +Flex PolyFill - Extends
|
|
// ====================
|
|
|
|
// justify-content right for display:flex alignment in older browsers
|
|
%ui-justify-right-flex {
|
|
-webkit-box-pack: flex-end;
|
|
-moz-box-pack: flex-end;
|
|
-ms-flex-pack: flex-end;
|
|
-webkit-justify-content: flex-end;
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
// justify-content left for display:flex alignment in older browsers
|
|
%ui-justify-left-flex {
|
|
-webkit-box-pack: flex-start;
|
|
-moz-box-pack: flex-start;
|
|
-ms-flex-pack: flex-start;
|
|
-webkit-justify-content: flex-start;
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
// align items center for display:flex alignment in older browsers
|
|
%ui-align-center-flex {
|
|
-webkit-flex-align: center;
|
|
-ms-flex-align: center;
|
|
-webkit-align-items: center;
|
|
align-items: center;
|
|
}
|
|
|
|
|
|
// +UI - Wrapper - Extends
|
|
// ====================
|
|
// used for page/view-level wrappers (for centering/grids)
|
|
%ui-wrapper {
|
|
@include clearfix();
|
|
|
|
width: 100%;
|
|
}
|
|
|
|
// +UI - Depth Levels - Extends
|
|
// ====================
|
|
%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; }
|
|
|
|
|
|
// +UI - Clear Children - Extends
|
|
// ====================
|
|
// extends - UI - utility - first child clearing
|
|
%wipe-first-child {
|
|
&:first-child {
|
|
margin-top: 0;
|
|
border-top: none;
|
|
padding-top: 0;
|
|
}
|
|
}
|
|
|
|
// extends - UI - utility - last child clearing
|
|
%wipe-last-child {
|
|
&:last-child {
|
|
margin-bottom: 0;
|
|
border-bottom: none;
|
|
padding-bottom: 0;
|
|
}
|
|
}
|
|
|
|
// +Content - No List - Extends
|
|
// ====================
|
|
// removes list styling/spacing when using uls, ols for navigation and less content-centric cases
|
|
%cont-no-list {
|
|
list-style: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
text-indent: 0;
|
|
|
|
li {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
}
|
|
|
|
// +Content - Hidden Image Text - Extend
|
|
// ====================
|
|
// image-replacement hidden text
|
|
%cont-text-hide {
|
|
text-indent: 100%;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
}
|
|
|
|
// +Content - Screenreader Text - Extend
|
|
// ====================
|
|
%cont-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;
|
|
}
|
|
|
|
// +Content - Text Wrap - Extend
|
|
// ====================
|
|
%cont-text-wrap {
|
|
word-wrap: break-word;
|
|
}
|
|
|
|
// +Content - Text Truncate - Extend
|
|
// ====================
|
|
%cont-truncated {
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
// * +Icon - Font-Awesome - Extend
|
|
// ====================
|
|
%use-font-awesome {
|
|
display: inline-block;
|
|
font-family: FontAwesome;
|
|
-webkit-font-smoothing: antialiased;
|
|
speak: none;
|
|
}
|
|
|
|
%btn-no-style {
|
|
background: transparent;
|
|
border: 0;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
|
|
|
|
// * +Icon - SSO icon images
|
|
// ====================
|
|
|
|
%sso-icon {
|
|
.icon-image {
|
|
width: auto;
|
|
height: auto;
|
|
max-height: 1.4em;
|
|
max-width: 1.4em;
|
|
margin-top: -2px;
|
|
}
|
|
}
|