You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							143 lines
						
					
					
						
							2.7 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							143 lines
						
					
					
						
							2.7 KiB
						
					
					
				| // stylelint-disable selector-no-qualifying-type | |
|  | |
| // | |
| // Base styles | |
| // | |
|  | |
| .btn { | |
|   display: inline-block; | |
|   font-weight: $btn-font-weight; | |
|   text-align: center; | |
|   white-space: nowrap; | |
|   vertical-align: middle; | |
|   user-select: none; | |
|   border: $btn-border-width solid transparent; | |
|   @include button-size($btn-padding-y, $btn-padding-x, $font-size-base, $btn-line-height, $btn-border-radius); | |
|   @include transition($btn-transition); | |
| 
 | |
|   // Share hover and focus styles | |
|   @include hover-focus { | |
|     text-decoration: none; | |
|   } | |
| 
 | |
|   &:focus, | |
|   &.focus { | |
|     outline: 0; | |
|     box-shadow: $btn-focus-box-shadow; | |
|   } | |
| 
 | |
|   // Disabled comes first so active can properly restyle | |
|   &.disabled, | |
|   &:disabled { | |
|     opacity: $btn-disabled-opacity; | |
|     @include box-shadow(none); | |
|   } | |
| 
 | |
|   // Opinionated: add "hand" cursor to non-disabled .btn elements | |
|   &:not(:disabled):not(.disabled) { | |
|     cursor: pointer; | |
|   } | |
| 
 | |
|   &:not(:disabled):not(.disabled):active, | |
|   &:not(:disabled):not(.disabled).active { | |
|     background-image: none; | |
|     @include box-shadow($btn-active-box-shadow); | |
| 
 | |
|     &:focus { | |
|       @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow); | |
|     } | |
|   } | |
| } | |
| 
 | |
| // Future-proof disabling of clicks on `<a>` elements | |
| a.btn.disabled, | |
| fieldset:disabled a.btn { | |
|   pointer-events: none; | |
| } | |
| 
 | |
| 
 | |
| // | |
| // Alternate buttons | |
| // | |
|  | |
| @each $color, $value in $theme-colors { | |
|   .btn-#{$color} { | |
|     @include button-variant($value, $value); | |
|   } | |
| } | |
| 
 | |
| @each $color, $value in $theme-colors { | |
|   .btn-outline-#{$color} { | |
|     @include button-outline-variant($value); | |
|   } | |
| } | |
| 
 | |
| 
 | |
| // | |
| // Link buttons | |
| // | |
|  | |
| // Make a button look and behave like a link | |
| .btn-link { | |
|   font-weight: $font-weight-normal; | |
|   color: $link-color; | |
|   background-color: transparent; | |
| 
 | |
|   @include hover { | |
|     color: $link-hover-color; | |
|     text-decoration: $link-hover-decoration; | |
|     background-color: transparent; | |
|     border-color: transparent; | |
|   } | |
| 
 | |
|   &:focus, | |
|   &.focus { | |
|     text-decoration: $link-hover-decoration; | |
|     border-color: transparent; | |
|     box-shadow: none; | |
|   } | |
| 
 | |
|   &:disabled, | |
|   &.disabled { | |
|     color: $btn-link-disabled-color; | |
|   } | |
| 
 | |
|   // No need for an active state here | |
| } | |
| 
 | |
| 
 | |
| // | |
| // Button Sizes | |
| // | |
|  | |
| .btn-lg { | |
|   @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $font-size-lg, $btn-line-height-lg, $btn-border-radius-lg); | |
| } | |
| 
 | |
| .btn-sm { | |
|   @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $font-size-sm, $btn-line-height-sm, $btn-border-radius-sm); | |
| } | |
| 
 | |
| 
 | |
| // | |
| // Block button | |
| // | |
|  | |
| .btn-block { | |
|   display: block; | |
|   width: 100%; | |
| 
 | |
|   // Vertically space out multiple block buttons | |
|   + .btn-block { | |
|     margin-top: $btn-block-spacing-y; | |
|   } | |
| } | |
| 
 | |
| // Specificity overrides | |
| input[type="submit"], | |
| input[type="reset"], | |
| input[type="button"] { | |
|   &.btn-block { | |
|     width: 100%; | |
|   } | |
| }
 |