Files
2024-02-23 10:30:02 +00:00

189 lines
5.4 KiB
SCSS

@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 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);
}
// 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}"
}
}
@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 variations($component, $selector-suffix, $mdb-param-1, $color-default) {
@include generic-variations($component, $selector-suffix, $color-default, "variations-content", $mdb-param-1);
}