// 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; } }