mirror of
				https://github.com/mdbootstrap/mdb-ui-kit.git
				synced 2025-11-04 09:57:36 +03:00 
			
		
		
		
	converting nested mixins to a list generated approach
This commit is contained in:
		
							parent
							
								
									1654ca56eb
								
							
						
					
					
						commit
						d2116947ba
					
				| 
						 | 
				
			
			@ -11,7 +11,7 @@ module.exports = function(grunt) {
 | 
			
		|||
        files: [{
 | 
			
		||||
          expand: true,
 | 
			
		||||
          cwd: 'less',
 | 
			
		||||
          src: ['*.less', '!_mixins.less'],
 | 
			
		||||
          src: ['*.less', '!_mixins.less', '!_mixins-fullpalette.less'],
 | 
			
		||||
          ext: '.scss',
 | 
			
		||||
          dest: 'sass'
 | 
			
		||||
        }]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,26 +1,26 @@
 | 
			
		|||
// usage: @include variations(unquote(" .check"), color, transparent);
 | 
			
		||||
@mixin variations($extra, $property, $default){
 | 
			
		||||
  .generic-variations($extra, $default, {
 | 
			
		||||
  @include generic-variations($extra, $default) {
 | 
			
		||||
    #{$property}: $material-color !default;
 | 
			
		||||
  });
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@mixin background-variations($extra, $default){
 | 
			
		||||
  .generic-variations($extra, $default, {
 | 
			
		||||
  @include generic-variations($extra, $default) {
 | 
			
		||||
    background-color: $material-color;
 | 
			
		||||
    & when ($material-color = $btn-default) {
 | 
			
		||||
      color: $lightbg-text;
 | 
			
		||||
    }
 | 
			
		||||
    color: $lightbg-text;
 | 
			
		||||
  }
 | 
			
		||||
    & when not ($material-color = $btn-default) {
 | 
			
		||||
      color: $material-text-color;
 | 
			
		||||
    }
 | 
			
		||||
  });
 | 
			
		||||
    color: $material-text-color;
 | 
			
		||||
  }
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@mixin text-variations($extra, $default){
 | 
			
		||||
  .generic-variations($extra, $default, {
 | 
			
		||||
  @include generic-variations($extra, $default) {
 | 
			
		||||
    color: $material-color;
 | 
			
		||||
  });
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
| 
						 | 
				
			
			@ -33,7 +33,7 @@
 | 
			
		|||
// $material-text-color ---> rgba(255,255,255,0.84), rgba(0,0,0,0.84), rgba(255,255,255,0.84) ...
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
@mixin generic-variations($extra, $default, $func){
 | 
			
		||||
@mixin generic-variations($extra, $default){
 | 
			
		||||
 | 
			
		||||
  $contrast-factor: 40% !default;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -43,95 +43,104 @@
 | 
			
		|||
    $material-color-full-name: $material-color-name !default;
 | 
			
		||||
    $material-color: $default !default;
 | 
			
		||||
    $material-text-color: $darkbg-text !default;
 | 
			
		||||
    $func();
 | 
			
		||||
    @content
 | 
			
		||||
  }
 | 
			
		||||
  &-black#{$extra} {
 | 
			
		||||
    $material-color-name: "black" !default;
 | 
			
		||||
    $material-color-full-name: $material-color-name !default;
 | 
			
		||||
    $material-color: $black !default;
 | 
			
		||||
    $material-text-color: $darkbg-text !default;
 | 
			
		||||
    $func();
 | 
			
		||||
    @content
 | 
			
		||||
  }
 | 
			
		||||
  &-white#{$extra} {
 | 
			
		||||
    $material-color-name: "white" !default;
 | 
			
		||||
    $material-color-full-name: $material-color-name !default;
 | 
			
		||||
    $material-color: $white !default;
 | 
			
		||||
    $material-text-color: $lightbg-text !default;
 | 
			
		||||
    $func();
 | 
			
		||||
    @content
 | 
			
		||||
  }
 | 
			
		||||
  &-inverse#{$extra} {
 | 
			
		||||
    $material-color-name: "inverse" !default;
 | 
			
		||||
    $material-color-full-name: $material-color-name !default;
 | 
			
		||||
    $material-color: $inverse !default;
 | 
			
		||||
    $material-text-color: contrast($inverse, $lightbg-text, $darkbg-text, $contrast-factor) !default;
 | 
			
		||||
    $func();
 | 
			
		||||
    @content
 | 
			
		||||
  }
 | 
			
		||||
  &-primary#{$extra} {
 | 
			
		||||
    $material-color-name: "primary" !default;
 | 
			
		||||
    $material-color-full-name: $material-color-name !default;
 | 
			
		||||
    $material-color: $primary !default;
 | 
			
		||||
    $material-text-color: $darkbg-text !default;
 | 
			
		||||
    $func();
 | 
			
		||||
    @content
 | 
			
		||||
  }
 | 
			
		||||
  &-success#{$extra} {
 | 
			
		||||
    $material-color-name: "success" !default;
 | 
			
		||||
    $material-color-full-name: $material-color-name !default;
 | 
			
		||||
    $material-color: $success !default;
 | 
			
		||||
    $material-text-color: $darkbg-text !default;
 | 
			
		||||
    $func();
 | 
			
		||||
    @content
 | 
			
		||||
  }
 | 
			
		||||
  &-info#{$extra} {
 | 
			
		||||
    $material-color-name: "info" !default;
 | 
			
		||||
    $material-color-full-name: $material-color-name !default;
 | 
			
		||||
    $material-color: $info !default;
 | 
			
		||||
    $material-text-color: $darkbg-text !default;
 | 
			
		||||
    $func();
 | 
			
		||||
    @content
 | 
			
		||||
  }
 | 
			
		||||
  &-warning#{$extra} {
 | 
			
		||||
    $material-color-name: "warning" !default;
 | 
			
		||||
    $material-color-full-name: $material-color-name !default;
 | 
			
		||||
    $material-color: $warning !default;
 | 
			
		||||
    $material-text-color: $darkbg-text !default;
 | 
			
		||||
    $func();
 | 
			
		||||
    @content
 | 
			
		||||
  }
 | 
			
		||||
  &-danger#{$extra} {
 | 
			
		||||
    $material-color-name: "danger" !default;
 | 
			
		||||
    $material-color-full-name: $material-color-name !default;
 | 
			
		||||
    $material-color: $danger !default;
 | 
			
		||||
    $material-text-color: $darkbg-text !default;
 | 
			
		||||
    $func();
 | 
			
		||||
    @content
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // given a color build multiples dephs
 | 
			
		||||
  @mixin generic-variations-factory($material-color-name){
 | 
			
		||||
 | 
			
		||||
    // given a color and its deph build css
 | 
			
		||||
    @mixin generic-variations-factory-deep($material-color-number){
 | 
			
		||||
    //@mixin generic-variations-factory-deep($material-color-number){
 | 
			
		||||
    //
 | 
			
		||||
    //  &-material-#{$material-color-name}#{$material-color-number}#{$extra} {
 | 
			
		||||
    //    $material-color-full-name: "#{$material-color-name}#{$material-color-number}" !default;
 | 
			
		||||
    //    $material-color: $material-color-full-name !default;
 | 
			
		||||
    //    $material-text-color: contrast($material-color, $lightbg-text, $darkbg-text, $contrast-factor) !default;
 | 
			
		||||
    //    @content
 | 
			
		||||
    //  }
 | 
			
		||||
    //
 | 
			
		||||
    //}
 | 
			
		||||
    //
 | 
			
		||||
    //@include generic-variations-factory-deep(unquote(""));
 | 
			
		||||
    //@include generic-variations-factory-deep(unquote("-50"));
 | 
			
		||||
    //@include generic-variations-factory-deep(unquote("-100"));
 | 
			
		||||
    //@include generic-variations-factory-deep(unquote("-200"));
 | 
			
		||||
    //@include generic-variations-factory-deep(unquote("-300"));
 | 
			
		||||
    //@include generic-variations-factory-deep(unquote("-400"));
 | 
			
		||||
    //@include generic-variations-factory-deep(unquote("-500"));
 | 
			
		||||
    //@include generic-variations-factory-deep(unquote("-600"));
 | 
			
		||||
    //@include generic-variations-factory-deep(unquote("-700"));
 | 
			
		||||
    //@include generic-variations-factory-deep(unquote("-800"));
 | 
			
		||||
    //@include generic-variations-factory-deep(unquote("-900"));
 | 
			
		||||
    //@include generic-variations-factory-deep(unquote("-A100"));
 | 
			
		||||
    //@include generic-variations-factory-deep(unquote("-A200"));
 | 
			
		||||
    //@include generic-variations-factory-deep(unquote("-A400"));
 | 
			
		||||
    //@include generic-variations-factory-deep(unquote("-A700"));
 | 
			
		||||
 | 
			
		||||
      &-material-#{$material-color-name}#{$material-color-number}#{$extra} {
 | 
			
		||||
    $material-color-numbers: "" "-50" "-100" "-200" "-300" "-400" "-500" "-600" "-700" "-800" "-900" "-A100" "-A200" "-A400" "-A700";
 | 
			
		||||
    @each $material-color-number in $material-color-numbers
 | 
			
		||||
      &-material-#{$material-color-name}#{unquote($material-color-number)}#{$extra} {
 | 
			
		||||
        $material-color-full-name: "#{$material-color-name}#{$material-color-number}" !default;
 | 
			
		||||
        $material-color: $$material-color-full-name !default;
 | 
			
		||||
        $material-color: $material-color-full-name !default;
 | 
			
		||||
        $material-text-color: contrast($material-color, $lightbg-text, $darkbg-text, $contrast-factor) !default;
 | 
			
		||||
        $func();
 | 
			
		||||
        @content
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @include generic-variations-factory-deep(unquote(""));
 | 
			
		||||
    @include generic-variations-factory-deep(unquote("-50"));
 | 
			
		||||
    @include generic-variations-factory-deep(unquote("-100"));
 | 
			
		||||
    @include generic-variations-factory-deep(unquote("-200"));
 | 
			
		||||
    @include generic-variations-factory-deep(unquote("-300"));
 | 
			
		||||
    @include generic-variations-factory-deep(unquote("-400"));
 | 
			
		||||
    @include generic-variations-factory-deep(unquote("-500"));
 | 
			
		||||
    @include generic-variations-factory-deep(unquote("-600"));
 | 
			
		||||
    @include generic-variations-factory-deep(unquote("-700"));
 | 
			
		||||
    @include generic-variations-factory-deep(unquote("-800"));
 | 
			
		||||
    @include generic-variations-factory-deep(unquote("-900"));
 | 
			
		||||
    @include generic-variations-factory-deep(unquote("-A100"));
 | 
			
		||||
    @include generic-variations-factory-deep(unquote("-A200"));
 | 
			
		||||
    @include generic-variations-factory-deep(unquote("-A400"));
 | 
			
		||||
    @include generic-variations-factory-deep(unquote("-A700"));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @include generic-variations-factory(unquote("red"));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -107,18 +107,27 @@
 | 
			
		|||
  @mixin generic-variations-factory($material-color-name){
 | 
			
		||||
 | 
			
		||||
    // given a color and its deph build css
 | 
			
		||||
    @mixin generic-variations-factory-deep($material-color-number){
 | 
			
		||||
    //@mixin generic-variations-factory-deep($material-color-number){
 | 
			
		||||
    //
 | 
			
		||||
    //  &-material-#{$material-color-name}#{$material-color-number}#{$extra} {
 | 
			
		||||
    //    $material-color-full-name: "#{$material-color-name}#{$material-color-number}" !default;
 | 
			
		||||
    //    $material-color: $material-color-full-name !default;
 | 
			
		||||
    //    $material-text-color: contrast($material-color, $lightbg-text, $darkbg-text, $contrast-factor) !default;
 | 
			
		||||
    //    @content
 | 
			
		||||
    //  }
 | 
			
		||||
    //
 | 
			
		||||
    //}
 | 
			
		||||
    //
 | 
			
		||||
    //@include generic-variations-factory-deep(unquote(""));
 | 
			
		||||
 | 
			
		||||
      &-material-#{$material-color-name}#{$material-color-number}#{$extra} {
 | 
			
		||||
    $material-color-numbers: "";
 | 
			
		||||
    @each $material-color-number in $material-color-numbers
 | 
			
		||||
      &-material-#{$material-color-name}#{unquote($material-color-number)}#{$extra} {
 | 
			
		||||
        $material-color-full-name: "#{$material-color-name}#{$material-color-number}" !default;
 | 
			
		||||
        $material-color: $material-color-full-name !default;
 | 
			
		||||
        $material-text-color: contrast($material-color, $lightbg-text, $darkbg-text, $contrast-factor) !default;
 | 
			
		||||
        @content
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @include generic-variations-factory-deep(unquote(""));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @include generic-variations-factory(unquote("red"));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user