@use "sass:selector"; @mixin rs-root($child) { @at-root #{selector.unify(&, $child)} { @content; } } // Rtl @mixin rtl{ [dir=rtl] & { @content; } } // Mood switch light @mixin light{ .rs-theme-light & { @content; } } // Bg color @mixin bg-color($value, $opacity) { background-color: rgba($color: $value, $alpha: $opacity); } // Text color @mixin text-color($value, $opacity) { color: rgba($color: $value, $alpha: $opacity); } // Placeholder input @mixin rs-placeholder { &::-webkit-input-placeholder { /* Chrome/Opera/Safari */ @content; } &::-moz-placeholder { /* Firefox 19+ */ @content; } &:-moz-placeholder { /* Firefox 4-18 */ @content; } &:-ms-input-placeholder { /* IE 10+ Edge*/ @content; } &::placeholder{ /* MODERN BROWSER */ @content; } } // Gradient @mixin rs-gradient($value, $type : "linear") { @if $type == linear { background-image: -webkit-linear-gradient($value); background-image: -moz-linear-gradient($value); background-image: -ms-linear-gradient($value); background-image: -o-linear-gradient($value); background-image: linear-gradient($value); } @else { background-image: -webkit-radial-gradient($value); background-image: -moz-radial-gradient($value); background-image: -ms-radial-gradient($value); background-image: -o-radial-gradient($value); background-image: radial-gradient($value); } } // Animate @mixin animation($property) { -webkit-animation: $property; -moz-animation: $property; -ms-animation: $property; -o-animation: $property; animation: $property; } // Filter @mixin filter($value) { -webkit-filter: $value; filter: $value; } // Appearance for select @mixin appearance($value) { -webkit-appearance: $value; -moz-appearance: $value; -ms-appearance: $value; -o-appearance: $value; appearance: $value; } // keyframes @mixin keyframes($name) { @-webkit-keyframes #{$name} { @content; } @-moz-keyframes #{$name} { @content; } @-ms-keyframes #{$name} { @content; } @keyframes #{$name} { @content; } } //background @mixin background { background-position: center; background-size: cover; background-repeat: no-repeat; } // Transition specific @mixin rs-transition($property: all, $time: .3s, $func : ease-out, $delay : 0s) { -webkit-transition: $property $time $delay $func; -moz-transition: $property $time $delay $func; -ms-transition: $property $time $delay $func; -o-transition: $property $time $delay $func; transition: $property $time $delay $func; } // Transition multiple @mixin rs-transition-mul($property) { -webkit-transition: $property; -moz-transition: $property; -ms-transition: $property; -o-transition: $property; transition: $property ; } // Transform @mixin transform($transforms) { -webkit-transform: $transforms; -moz-transform: $transforms; -ms-transform: $transforms; -o-transform: $transforms; transform: $transforms; } @mixin animation-name($name: fadeInUp, $fill : both) { animation-name: $name; animation-fill-mode: $fill; } @mixin animation-control($time: .3s , $duration : 1s) { animation-delay: $time; animation-duration: $duration; } // Sentence case @mixin sentence-case() { text-transform: lowercase; &:first-letter { text-transform: uppercase; } } // Flexbox display @mixin flexbox() { display: -moz-box; display: -ms-flexbox; display: -webkit-box; display: -webkit-flex; display: flex; } @mixin inline-flex() { display: -webkit-inline-box; display: -moz-inline-box; display: -ms-inline-flexbox; display: -webkit-inline-flex; display: inline-flexbox; display: inline-flex; } // Grid display @mixin gridbox() { display: -ms-grid; display: -moz-grid; display: grid; } @mixin gap($value) { gap: $value; grid-gap: $value; } //Border @mixin border-radius($man) { -webkit-border-radius: $man; -moz-border-radius: $man; -o-border-radius: $man; -ms-border-radius: $man; border-radius: $man; } // Box shadows @mixin box-shadow($shadow) { -webkit-box-shadow: $shadow; -moz-box-shadow: $shadow; -ms-box-shadow: $shadow; -o-box-shadow: $shadow; box-shadow: $shadow; }