42 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			SCSS
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			SCSS
		
	
	
	
	
	
| @use "sass:map";
 | |
| @use "../settings" as *;
 | |
| 
 | |
| @if map.get($modules, "forms/input-file") {
 | |
|   /**
 | |
|    * Input type file
 | |
|    */
 | |
| 
 | |
|   // 1. Hack to display the outline on the focused file selector button
 | |
|   //    with the forced overflow hidden on the input[type="file"] element.
 | |
|   #{$parent-selector} [type="file"] {
 | |
|     #{$css-var-prefix}color: var(#{$css-var-prefix}muted-color);
 | |
|     margin-left: calc(var(#{$css-var-prefix}outline-width) * -1); // 1
 | |
|     padding: calc(var(#{$css-var-prefix}form-element-spacing-vertical) * 0.5) 0;
 | |
|     padding-left: var(#{$css-var-prefix}outline-width); // 1
 | |
|     border: 0;
 | |
|     border-radius: 0;
 | |
|     background: none;
 | |
| 
 | |
|     &::file-selector-button {
 | |
|       margin-right: calc(var(#{$css-var-prefix}spacing) / 2);
 | |
|       padding: calc(var(#{$css-var-prefix}form-element-spacing-vertical) * 0.5)
 | |
|         var(#{$css-var-prefix}form-element-spacing-horizontal);
 | |
|     }
 | |
| 
 | |
|     &:is(:hover, :active, :focus) {
 | |
|       &::file-selector-button {
 | |
|         #{$css-var-prefix}background-color: var(#{$css-var-prefix}secondary-hover-background);
 | |
|         #{$css-var-prefix}border-color: var(#{$css-var-prefix}secondary-hover-border);
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     &:focus {
 | |
|       &::file-selector-button {
 | |
|         #{$css-var-prefix}box-shadow:
 | |
|           var(#{$css-var-prefix}button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),
 | |
|           0 0 0 var(#{$css-var-prefix}outline-width) var(#{$css-var-prefix}secondary-focus);
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| }
 | 
