/* Definitions for progress elements and spinners. */ $progress-back-color: #ddd !default; // Background color of . $progress-fore-color: #555 !default; // Foreground color of . $progress-height: 0.75rem !default; // Height of . $progress-max-value: 1000 !default; // Arithmetic max value of - use integer values. $progress-inline-name: 'inline' !default; // Class name for inline elements. $progress-inline-width: 60% !default; // Width of inline elements. $_include-spinner-donut: true !default; // [Hidden] Should spinner donuts be included? (boolean) $spinner-donut-name: 'spinner' !default; // Class name for spinner donuts $spinner-donut-size: 1.25rem !default; // Size of the spinner donuts $spinner-donut-border-thickness: 0.25rem !default; // Border thickness for spinner donuts $spinner-donut-back-color: #ddd !default; // Background color for spinner donuts $spinner-donut-fore-color: #555 !default; // Foreground color for spinner donuts // CSS variable name definitions [exercise caution if modifying these] $progress-back-color-var: '--progress-back-color' !default; $progress-fore-color-var: '--progress-fore-color' !default; $spinner-donut-back-color-var: '--spinner-back-color' !default; $spinner-donut-fore-color-var: '--spinner-fore-color' !default; // == Uncomment below code if this module is used on its own == // // $universal-margin: 0.5rem !default; // Universal margin for the most elements // $universal-border-radius: 0.125rem !default; // Universal border-radius for most elements // $universal-box-shadow: none !default; // Universal box-shadow for most elements // $universal-margin-var: '--universal-margin' !default; // $universal-border-radius-var: '--universal-border-radius' !default; // $universal-box-shadow-var: '--universal-box-shadow' !default; // :root { // #{$universal-margin-var}: $universal-margin; // #{$universal-border-radius-var}: $universal-border-radius; // @if $universal-box-shadow != none { // #{$universal-box-shadow-var}: $universal-box-shadow; // } // } // // ============================================================ // Check the `_progress_mixins.scss` file to find this module's mixins. @import '_progress_mixins'; /* Progess module CSS variable definitions */ :root { #{$progress-back-color-var}: $progress-back-color; #{$progress-fore-color-var}: $progress-fore-color; } // Default styling for progress. Use mixins for alternate styles progress { display: block; vertical-align: baseline; // Correct vertical alignment in some browsers. -webkit-appearance: none; -moz-appearance: none; appearance: none; height: $progress-height; width: calc(100% - 2 * var(#{$universal-margin-var})); margin: var(#{$universal-margin-var}); border: 0; // Removes default border border-radius: calc(2 * var(#{$universal-border-radius-var})); @if $universal-box-shadow != none { box-shadow: var(#{$universal-box-shadow-var}); } background: var(#{$progress-back-color-var}); color: var(#{$progress-fore-color-var}); // Foreground color on webkit browsers &::-webkit-progress-value { background: var(#{$progress-fore-color-var}); border-top-left-radius: calc(2 * var(#{$universal-border-radius-var})); border-bottom-left-radius: calc(2 * var(#{$universal-border-radius-var})); } // Background color on webkit browser &::-webkit-progress-bar { background: var(#{$progress-back-color-var}); } // Foreground color on Firefox &::-moz-progress-bar { background: var(#{$progress-fore-color-var}); border-top-left-radius: calc(2 * var(#{$universal-border-radius-var})); border-bottom-left-radius: calc(2 * var(#{$universal-border-radius-var})); } &[value="#{$progress-max-value}"] { &::-webkit-progress-value { border-radius: calc(2 * var(#{$universal-border-radius-var})); } &::-moz-progress-bar { border-radius: calc(2 * var(#{$universal-border-radius-var})); } } &.#{$progress-inline-name} { display: inline-block; vertical-align: middle; // Align progress bar vertically to look better with text next to it. width: $progress-inline-width; } } // Style for donut spinner @if $_include-spinner-donut { :root { #{$spinner-donut-back-color-var}: $spinner-donut-back-color; #{$spinner-donut-fore-color-var}: $spinner-donut-fore-color; } // Donut spinner animation @keyframes spinner-donut-anim { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg);} } .#{$spinner-donut-name} { display: inline-block; margin: var(#{$universal-margin-var}); border: $spinner-donut-border-thickness solid var(#{$spinner-donut-back-color-var}); border-left: $spinner-donut-border-thickness solid var(#{$spinner-donut-fore-color-var}); border-radius: 50%; width: $spinner-donut-size; height: $spinner-donut-size; animation: spinner-donut-anim 1.2s linear infinite; } }