File: //home/arjun/projects/buyercall/buyercall/assets/styles/vendor/material-dashboard/_mixins.scss
//Utilities
@import "mixins/transparency";
@import "mixins/vendor-prefixes";
@import "mixins/chartist";
@import "mixins/sidebar-color";
@import "mixins/avatar";
// Placeholder text
@mixin material-placeholder() {
&::-moz-placeholder {@content; } // Firefox
&:-ms-input-placeholder {@content; } // Internet Explorer 10+
&::-webkit-input-placeholder {@content; } // Safari and Chrome
}
// variations(unquote(""), background-color, #FFF);
@mixin variations($component, $selector-suffix, $mdb-param-1, $color-default) {
@include generic-variations($component, $selector-suffix, $color-default, "variations-content", $mdb-param-1);
}
@mixin variations-content($args) {
//@debug "#{map-get($args, mixin-name)}{ #{map-get($args, material-param-1)}: #{map-get($args, variation-color)}; }";
//@debug "#{inspect($args)}";
//@error "break here";
#{map-get($args, material-param-1)}: map-get($args, variation-color);
}
@mixin background-variations($component, $selector-suffix, $color-default) {
@include generic-variations($component, $selector-suffix, $color-default, "background-variations-content", null);
}
@mixin background-variations-content($args) {
background-color: map-get($args, variation-color);
@if (map-get($args, variation-color) == $mdb-btn-background-color) {
color: $mdb-text-color-primary;
} @else {
color: map-get($args, variation-color-text);
}
}
//@mixin text-variations($component, $selector-suffix, $color-default) {
// @include generic-variations($component, $selector-suffix, $color-default, "text-variations-content", null);
//}
//
//@mixin text-variations-content($args) {
// color: map-get($args, variation-color);
//}
@mixin button-variations($component, $selector-suffix, $color-default) {
@include generic-variations($component, $selector-suffix, $color-default, "button-variations-content", 4%);
}
@mixin button-variations-content($args) {
//@debug "#{inspect($args)}";
$variation-color: map-get($args, variation-color);
$mdb-param-1: map-get($args, material-param-1);
background-color: contrast-color($variation-color,
darken($variation-color, $mdb-param-1),
lighten($variation-color, $mdb-param-1));
}
// navbar-variations(" label input[type=checkbox]:checked + .toggle:active:after", $brand-primary
@mixin navbar-variations($component, $selector-suffix, $color-default) {
@include generic-variations($component, $selector-suffix, $color-default, "navbar-variations-content", null);
}
@mixin navbar-variations-content($args){
$variation-color: map-get($args, variation-color);
$variation-color-text: map-get($args, variation-color-text);
background-color: $variation-color;
color: $variation-color-text;
// deeply defined to override welljumbo class without !impotant need
.navbar-form .form-group input.form-control,
.navbar-form input.form-control {
@include material-placeholder {
color: $variation-color-text;
}
}
.dropdown-menu {
border-radius: $border-radius-base !important;
li > a {
&:hover,
&:focus {
color: $white-color;
background-color: $variation-color;
@include shadow-big-color($variation-color);
}
}
.active > a {
&:hover,
&:focus {
color: $variation-color-text;
}
background-color: $variation-color;
color: $variation-color-text;
@include shadow-big-color($variation-color);
}
}
}
// alert-variations("", $brand-primary)
@mixin alert-variations($component, $selector-suffix, $color-default) {
@include generic-variations($component, $selector-suffix, $color-default, "alert-variations-content", null);
}
@mixin alert-variations-content($args){
$variation-color: map-get($args, variation-color);
$variation-color-text: map-get($args, variation-color-text);
@if $variation-color == $brand-info{
background-color: $variation-color;
} @else {
background-color: lighten($variation-color,5%);
}
color: $variation-color-text;
border-radius: $border-radius-base;
@include shadow-big-color($variation-color);
a, .alert-link {
color: $variation-color-text;
}
}
// interpolation of mixin-name is not allowed evidently, so we statically include based on the mixin-name given
@mixin call-variations-content-mixin($args) {
$mixin-name: map-get($args, mixin-name);
@if $mixin-name == variations-content {
@include variations-content($args);
} @else if $mixin-name == background-variations-content {
@include background-variations-content($args);
} @else if $mixin-name == text-variations-content {
@include text-variations-content($args);
} @else if $mixin-name == button-variations-content {
@include button-variations-content($args);
} @else if $mixin-name == bg-color-variations-content {
@include bg-color-variations-content($args);
} @else if $mixin-name == bg-box-shadow-variations-content {
@include bg-box-shadow-variations-content($args);
} @else if $mixin-name == bg-img-variations-content {
@include bg-img-variations-content($args);
} @else if $mixin-name == navbar-variations-content {
@include navbar-variations-content($args);
}@else if $mixin-name == alert-variations-content {
@include alert-variations-content($args);
} @else {
@error "Unknown mixin: #{$mixin-name}"
}
}
//
// To use this mixin you should pass a function as final parameter to define
// the style. In that definition you can use the following variables to define it.
//
// $variation-color-name ---> "red", "green", "indigo" ...
// $variation-color-full-name ---> "red", "green-50", "indigo-400" ...
// $variation-color ---> #f44336, #e8f5e9, #5c6bc0 ...
// $variation-color-text ---> rgba(255,255,255,0.84), rgba(0,0,0,0.84), rgba(255,255,255,0.84) ...
//
@mixin generic-variations($component, $selector-suffix, $color-default, $mixin-name, $mdb-param-1) {
//setup map to pass parameters (instead of the incredibly long-error-prone list for each and every @include)
$args: (
//extra: $selector-suffix,
//default: $color-default,
mixin-name: $mixin-name,
material-param-1: $mdb-param-1
);
// bootstrap styles
&#{$selector-suffix},
&#{$component}-default#{$selector-suffix} {
$args-extra: map-merge($args, (
variation-color: $white-color,
variation-color-text: $gray
));
@include call-variations-content-mixin($args-extra);
}
&#{$component}-inverse#{$selector-suffix} {
$args-inverse: map-merge($args, (
variation-color: #212121,
variation-color-text: #fff
));
@include call-variations-content-mixin($args-inverse);
}
&#{$component}-primary#{$selector-suffix} {
$args-primary: map-merge($args, (
variation-color: $brand-primary,
variation-color-text: $mdb-text-color-light
));
@include call-variations-content-mixin($args-primary);
}
&#{$component}-success#{$selector-suffix} {
$args-success: map-merge($args, (
variation-color: $brand-success,
variation-color-text: $mdb-text-color-light
));
@include call-variations-content-mixin($args-success);
}
&#{$component}-info#{$selector-suffix} {
$args-info: map-merge($args, (
variation-color: $brand-info,
variation-color-text: $mdb-text-color-light
));
@include call-variations-content-mixin($args-info);
}
&#{$component}-warning#{$selector-suffix} {
$args-warning: map-merge($args, (
variation-color: $brand-warning,
variation-color-text: $mdb-text-color-light
));
@include call-variations-content-mixin($args-warning);
}
&#{$component}-danger#{$selector-suffix} {
$args-danger: map-merge($args, (
variation-color: $brand-danger,
variation-color-text: $mdb-text-color-light
));
@include call-variations-content-mixin($args-danger);
}
&#{$component}-rose#{$selector-suffix} {
$args-rose: map-merge($args, (
variation-color: $brand-rose,
variation-color-text: $mdb-text-color-light
));
@include call-variations-content-mixin($args-rose);
}
}
@mixin transition($time, $type){
-webkit-transition: all $time $type;
-moz-transition: all $time $type;
-o-transition: all $time $type;
-ms-transition: all $time $type;
transition: all $time $type;
}
@mixin transform-scale($value){
-webkit-transform: scale($value);
-moz-transform: scale($value);
-o-transform: scale($value);
-ms-transform: scale($value);
transform: scale($value);
}
@mixin transform-translate-x($value){
-webkit-transform: translate3d($value, 0, 0);
-moz-transform: translate3d($value, 0, 0);
-o-transform: translate3d($value, 0, 0);
-ms-transform: translate3d($value, 0, 0);
transform: translate3d($value, 0, 0);
}
@mixin transform-translate-y($value){
-webkit-transform: translate3d(0,$value, 0);
-moz-transform: translate3d(0, $value, 0);
-o-transform: translate3d(0, $value, 0);
-ms-transform: translate3d(0, $value, 0);
transform: translate3d(0, $value, 0);
}
@mixin transform-origin($coordinates){
-webkit-transform-origin: $coordinates;
-moz-transform-origin: $coordinates;
-o-transform-origin: $coordinates;
-ms-transform-origin: $coordinates;
transform-origin: $coordinates;
}
@mixin black-filter(){
background: rgba(0,0,0,.55);
position: absolute;
width: 100%;
height: 100%;
content: "";
z-index: 0;
left: 0;
top: 0;
}
@mixin radial-gradient($extern-color, $center-color){
background: $extern-color;
background: -moz-radial-gradient(center, ellipse cover, $center-color 0%, $extern-color 100%); /* FF3.6+ */
background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,$center-color), color-stop(100%,$extern-color)); /* Chrome,Safari4+ */
background: -webkit-radial-gradient(center, ellipse cover, $center-color 0%,$extern-color 100%); /* Chrome10+,Safari5.1+ */
background: -o-radial-gradient(center, ellipse cover, $center-color 0%,$extern-color 100%); /* Opera 12+ */
background: -ms-radial-gradient(center, ellipse cover, $center-color 0%,$extern-color 100%); /* IE10+ */
background: radial-gradient(ellipse at center, $center-color 0%,$extern-color 100%); /* W3C */
background-size: 550% 450%;
}
@mixin tag-color ($color){
background-color: $color;
color: $white-color;
}
@mixin create-colored-tags(){
&.tag-primary{
@include tag-color($brand-primary);
}
&.tag-info {
@include tag-color($brand-info);
}
&.tag-success{
@include tag-color($brand-success);
}
&.tag-warning{
@include tag-color($brand-warning);
}
&.tag-danger{
@include tag-color($brand-danger);
}
&.tag-rose{
@include tag-color($brand-rose);
}
}
@mixin rotate-180(){
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
-webkit-transform: rotate(180deg);
-ms-transform: rotate(180deg);
transform: rotate(180deg);
}
@mixin linear-gradient($color1, $color2){
background: $color1; /* For browsers that do not support gradients */
background: -webkit-linear-gradient(60deg, $color1 , $color2); /* For Safari 5.1 to 6.0 */
background: -o-linear-gradient(60deg, $color1, $color2); /* For Opera 11.1 to 12.0 */
background: -moz-linear-gradient(60deg, $color1, $color2); /* For Firefox 3.6 to 15 */
background: linear-gradient(60deg, $color1 , $color2); /* Standard syntax */
}
@mixin sidebar-mini-li-active-color($color) {
.nav{
li{
&.active > [data-toggle="collapse"]{
background-color: $color;
@include shadow-big-color($color);
}
}
}
}
@mixin set-background-color-button ($color){
li.active > a{
background-color: $color;
@include shadow-big-color($color);
}
}
// Mixins for buttons
@mixin btn-styles($btn-color) {
// remove this line if you want black shadows
@include shadow-2dp-color($btn-color);
&,
&:hover,
&:focus,
&:active,
&.active,
&:active:focus,
&:active:hover,
&.active:focus,
&.active:hover,
.open > &.dropdown-toggle,
.open > &.dropdown-toggle:focus,
.open > &.dropdown-toggle:hover {
background-color: $btn-color;
color: $white-color;
}
&:focus,
&:active,
&:hover{
// remove this line if you want black shadows
@include button-shadow-color($btn-color);
}
&.disabled,
&:disabled,
&[disabled],
fieldset[disabled] & {
&,
&:hover,
&:focus,
&.focus,
&:active,
&.active {
box-shadow: none;
}
}
&.btn-simple{
background-color: transparent;
color: $btn-color;
box-shadow: none;
&:hover,
&:focus,
&:active{
background-color: transparent;
color: $btn-color;
}
}
}
// for social buttons
@mixin social-buttons-color ($color){
background-color: $color;
color: #fff;
@include shadow-2dp-color($color);
&:focus,
&:active,
&:hover{
background-color: $color;
color: #fff;
@include button-shadow-color($color);
}
&.btn-simple{
color: $color;
background-color: transparent;
box-shadow: none;
}
}
@mixin set-wizard-color($color) {
.moving-tab{
background-color: $color;
@include shadow-big-color($color);
}
.picture{
&:hover{
border-color: $color;
}
}
.choice{
&:hover,
&.active{
.icon{
border-color: $color;
color: $color;
}
}
}
.form-group{
.form-control{
background-image: linear-gradient($color, $color), linear-gradient($mdb-input-underline-color, $mdb-input-underline-color);
}
}
.checkbox input[type=checkbox]:checked + .checkbox-material{
.check{
background-color: $color;
}
}
.radio input[type=radio]:checked ~ .check {
background-color: $color;
}
.radio input[type=radio]:checked ~ .circle {
border-color: $color;
}
}
@mixin lock-page-input-color($color) {
&.lock-page{
.form-group{
.form-control{
background-image: linear-gradient($color, $color), linear-gradient($mdb-input-underline-color, $mdb-input-underline-color);
}
}
}
}
@mixin alert-icon-color($color) {
i{
color: $color;
}
}
@mixin timeline-badge-color($color) {
background-color: $color;
@include shadow-big-color($color);
}