File "calypso-mixins.scss"
Full Path: /home/warrior1/public_html/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-backup/src/js/components/masthead/calypso-mixins.scss
File size: 7.97 KB
MIME-type: text/plain
Charset: utf-8
@use "sass:math";
$full-width: 960px;
$one-col: 660px;
$mobile: 480px;
$sidebar-width: 269px;
@mixin responsive($width) {
@if $width == full-width {
@media only screen and (max-width: $full-width) { @content; }
}
@else if $width == one-col {
@media only screen and (max-width: $one-col) { @content; }
}
@else if $width == mobile {
@media only screen and (max-width: $mobile) { @content; }
}
}
@mixin mobile-first-responsive($width) {
@if $width == full-width {
@media only screen and (min-width: $one-col) { @content; }
}
@else if $width == full-width-really {
@media only screen and (min-width: $full-width) { @content; }
}
@else if $width == one-col {
@media only screen and (min-width: $mobile) { @content; }
}
}
// ==========================================================================
// Breakpoint Mixin
// See https://wpcalypso.wordpress.com/devdocs/docs/coding-guidelines/css.md#media-queries
// ==========================================================================
$breakpoints: 480px, 660px, 960px, 1040px; // Think very carefully before adding a new breakpoint
@mixin breakpoint( $size ){
@if type-of($size) == string {
$approved-value: 0;
@each $breakpoint in $breakpoints {
$and-larger: ">" + $breakpoint;
$and-smaller: "<" + $breakpoint;
@if $size == $and-smaller {
$approved-value: 1;
@media ( max-width: $breakpoint ) {
@content;
}
}
@else {
@if $size == $and-larger {
$approved-value: 2;
@media ( min-width: $breakpoint + 1 ) {
@content;
}
}
@else {
@each $breakpoint-end in $breakpoints {
$range: $breakpoint + "-" + $breakpoint-end;
@if $size == $range {
$approved-value: 3;
@media ( min-width: $breakpoint + 1 ) and ( max-width: $breakpoint-end ) {
@content;
}
}
}
}
}
}
@if $approved-value == 0 {
$sizes: "";
@each $breakpoint in $breakpoints {
$sizes: $sizes + " " + $breakpoint;
}
// TODO - change this to use @error, when it is supported by node-sass
@warn "ERROR in breakpoint( #{ $size } ): You can only use these sizes[ #{$sizes} ] using the following syntax [ <#{ nth( $breakpoints, 1 ) } >#{ nth( $breakpoints, 1 ) } #{ nth( $breakpoints, 1 ) }-#{ nth( $breakpoints, 2 ) } ]";
}
}
@else {
$sizes: "";
@each $breakpoint in $breakpoints {
$sizes: $sizes + " " + $breakpoint;
}
// TODO - change this to use @error, when it is supported by node-sass
@warn "ERROR in breakpoint( #{ $size } ): Please wrap the breakpoint $size in parenthesis. You can use these sizes[ #{$sizes} ] using the following syntax [ <#{ nth( $breakpoints, 1 ) } >#{ nth( $breakpoints, 1 ) } #{ nth( $breakpoints, 1 ) }-#{ nth( $breakpoints, 2 ) } ]";
}
}
@mixin calc($property, $expression) {
#{$property}: -moz-calc(#{$expression});
#{$property}: -o-calc(#{$expression});
#{$property}: -webkit-calc(#{$expression});
#{$property}: calc(#{$expression});
}
@mixin clear-fix {
&:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
}
@mixin noticon($char, $size: null) {
// This isn't very clean, but... we'll see ;)
@if $size != 0 {
font-size: $size;
}
content: $char;
// Copied verbatim
vertical-align: top;
text-align: center;
display: inline-block;
font-family: "Noticons";
font-style: normal;
font-weight: normal;
font-variant: normal;
line-height: 1;
text-decoration: inherit;
text-transform: none;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
speak: none;
}
@mixin border-box {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
// Turn a list into a dropdown menu
@mixin dropdown-menu {
display: none;
background: $white;
float: none;
line-height: 46px;
min-width: 220px;
overflow: visible;
padding: 0;
position: absolute;
width: auto;
z-index: 1;
box-sizing: border-box;
box-shadow: 0 0 2px rgba(0,0,0,0.15), 0 3px 8px rgba(0,0,0,0.1);
&:after {
border: 6px solid transparent;
border-bottom-color: $white;
content: ' ';
height: 0;
position: absolute;
top: -12px;
left: 73px;
width: 0;
}
li {
display: block;
float: none;
a,
a.selected {
border-bottom: 1px solid rgba(0,0,0,0.1);
color: $blue-wordpress;
display: block;
float: none;
height: auto;
margin: 0;
padding: 0 14px;
text-align: left;
&:hover {
border-bottom: 1px solid rgba(0,0,0,0.1);
background: none; // Remove inherited background color
color: $link-highlight;
box-shadow: none; // Remove inherited box shadow
}
}
a.selected {
color: $gray-dark;
}
&:last-child a {
border-bottom: none; // Last child in the dropdown doesn't need a bottom border
}
}
}
// Can't use the @extend in a media query, use this instead
@mixin clear-text {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
// courtesy: http://codeboxers.com/sass-mixin-for-transitions/
@mixin transition($transition-property, $transition-time, $method) {
-webkit-transition: $transition-property $transition-time $method;
-moz-transition: $transition-property $transition-time $method;
-ms-transition: $transition-property $transition-time $method;
-o-transition: $transition-property $transition-time $method;
transition: $transition-property $transition-time $method;
}
@mixin box-shadow($shadows...) {
-webkit-box-shadow: $shadows;
-moz-box-shadow: $shadows;
-ms-box-shadow: $shadows;
-o-box-shadow: $shadows;
box-shadow: $shadows;
}
@mixin site-icon($size, $icon-size) {
position: relative;
display: inline-block;
width: $size;
height: $size;
overflow: hidden;
background: lighten( $gray, 20% );
&::before {
content: '\f475';
display: inline-block;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font: normal math.div($icon-size, 1) 'Noticons';
color: $white;
position: absolute;
top: 0;
left: 0;
height: $size;
width: $size;
line-height: $size;
text-align: center;
z-index: 0;
}
img {
background: $white;
position: relative;
}
}
@mixin debug(){
box-shadow: 0px 0px 10px $alert-red inset;
}
@mixin stats-fade-text($toColor) {
background-image: linear-gradient(to right, $transparent 0%, $toColor 90%);
position: absolute;
z-index: 1;
left: -48px;
top: 0;
bottom: 0;
content: "";
display: block;
width: 48px;
}
@mixin hide-content-accessibly {
clip: rect( 1px, 1px, 1px, 1px );
height: 1px;
overflow: hidden;
position: absolute;
width: 1px;
}
// Creates a fading overlay to signify that the content is longer
// than the space allows.
@mixin long-content-fade( $direction: right, $size: 20%, $color: #fff, $edge: 0px, $z-index: false) {
content: '';
display: block;
position: absolute;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
pointer-events: none;
@if $z-index {
z-index: $z-index;
}
@if $direction == 'bottom' {
background: linear-gradient( to top, rgba( $color, 0 ), $color 90% );
left: $edge;
right: $edge;
top: $edge;
bottom: calc(100% - $size);
width: auto;
}
@if $direction == 'top' {
background: linear-gradient( to bottom, rgba( $color, 0 ), $color 90% );
top: calc(100% - $size);
left: $edge;
right: $edge;
bottom: $edge;
width: auto;
}
@if $direction == 'left'{
background: linear-gradient( to left, rgba( $color, 0 ), $color 90% );
top: $edge;
left: $edge;
bottom: $edge;
right: auto;
width: $size;
height: auto;
}
@if $direction == 'right' {
background: linear-gradient( to right, rgba( $color, 0 ), $color 90% );
top: $edge;
bottom: $edge;
right: $edge;
left: auto;
width: $size;
height: auto;
}
}
@mixin placeholder( $lighten-percentage: 30% ) {
animation: loading-fade 1.6s ease-in-out infinite;
background-color: lighten( $gray, $lighten-percentage );
color: transparent;
&:after {
content: '\00a0';
}
}
// Simple animation to make elements appear
@keyframes appear {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}