50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			SCSS
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			SCSS
		
	
	
	
	
	
| // Display color as RGB
 | |
| @function display-rgb($color) {
 | |
|   @return unquote("rgb(" + red($color) + ", " + green($color) + ", " + blue($color) + ")");
 | |
| }
 | |
| 
 | |
| // Generate a shadow layer
 | |
| @function shadow-layer($elevation, $blur, $opacity, $color) {
 | |
|   @return #{($elevation * 0.5)} #{$elevation} #{$blur} #{rgba($color, $opacity)};
 | |
| }
 | |
| 
 | |
| // Generate a shadow with 7 layers
 | |
| @function shadow($color) {
 | |
|   $box-shadow-elevation: 1rem;
 | |
|   $box-shadow-blur-strengh: 6rem;
 | |
|   $box-shadow-opacity: 0.06;
 | |
| 
 | |
|   @return shadow-layer(
 | |
|       $box-shadow-elevation * 0.029,
 | |
|       $box-shadow-blur-strengh * 0.029,
 | |
|       $box-shadow-opacity * 0.283,
 | |
|       $color
 | |
|     ),
 | |
|     shadow-layer(
 | |
|       $box-shadow-elevation * 0.067,
 | |
|       $box-shadow-blur-strengh * 0.067,
 | |
|       $box-shadow-opacity * 0.4,
 | |
|       $color
 | |
|     ),
 | |
|     shadow-layer(
 | |
|       $box-shadow-elevation * 0.125,
 | |
|       $box-shadow-blur-strengh * 0.125,
 | |
|       $box-shadow-opacity * 0.5,
 | |
|       $color
 | |
|     ),
 | |
|     shadow-layer(
 | |
|       $box-shadow-elevation * 0.225,
 | |
|       $box-shadow-blur-strengh * 0.225,
 | |
|       $box-shadow-opacity * 0.6,
 | |
|       $color
 | |
|     ),
 | |
|     shadow-layer(
 | |
|       $box-shadow-elevation * 0.417,
 | |
|       $box-shadow-blur-strengh * 0.417,
 | |
|       $box-shadow-opacity * 0.717,
 | |
|       $color
 | |
|     ),
 | |
|     shadow-layer($box-shadow-elevation, $box-shadow-blur-strengh, $box-shadow-opacity, $color),
 | |
|     0 0 0 0.0625rem #{rgba($color, ($box-shadow-opacity * 0.25))};
 | |
| }
 | 
