UNPKG

26 kBSource Map (JSON)View Raw
1{"version":3,"sources":["webpack:///./packages/mdc-linear-progress/mdc-linear-progress.scss","webpack:///./packages/material-components-web/node_modules/@material/theme/_css.scss","webpack:///./packages/mdc-linear-progress/_mixins.scss","webpack:///./packages/mdc-linear-progress/_variables.scss"],"names":[],"mappings":";;;;;;;AAyBE,uEACE,GACE,wDAGF,IACE,8IACA,wDAGF,OACE,8JC8BA,wEAYF,0JD5BA,KCgBE,4EAYF,+JDrDF,+DACE,GACE,wDAGF,IACE,8IACA,wDAGF,OACE,8JC8BA,wEAYF,0JD5BA,KCgBE,4EAYF,+JDjBF,mEACE,GACE,sDAGF,OACE,sJACA,sDAGF,OACE,8HACA,8DAGF,KACE,uDAhBJ,2DACE,GACE,sDAGF,OACE,sJACA,sDAGF,OACE,8HACA,8DAGF,KACE,uDAMJ,yEACE,GACE,gJACA,wDAGF,IACE,0JCxBA,0EAYF,sKDoBA,OACE,kJCjCA,0EAYF,gKD6BA,KCzCE,4EAYF,mKDKF,iEACE,GACE,gJACA,wDAGF,IACE,0JCxBA,0EAYF,sKDoBA,OACE,kJCjCA,0EAYF,gKD6BA,KCzCE,4EAYF,mKDwCF,qEACE,GACE,oKAMA,sDAGF,OACE,sKAMA,8DAGF,OACE,sKAMA,4DAGF,KACE,uDAhCJ,6DACE,GACE,oKAMA,sDAGF,OACE,sKAMA,8DAGF,OACE,sKAMA,4DAGF,KACE,uDAMJ,iDACE,KAIE,+FALJ,yCACE,KAIE,+FAMJ,+EACE,GACE,wDAGF,IACE,8IACA,wDAGF,OACE,8JChHA,0EAYF,oKDiHA,KC7HE,8EAYF,yKDyFF,uEACE,GACE,wDAGF,IACE,8IACA,wDAGF,OACE,8JChHA,0EAYF,oKDiHA,KC7HE,8EAYF,yKD4HF,iFACE,GACE,gJACA,wDAGF,IACE,0JC/IA,4EAYF,gLD2IA,OACE,kJCxJA,4EAYF,0KDoJA,KChKE,8EAYF,6KD4HF,yEACE,GACE,gJACA,wDAGF,IACE,0JC/IA,4EAYF,gLD2IA,OACE,kJCxJA,4EAYF,0KDoJA,KChKE,8EAYF,6KD+JF,yDACE,KACE,iEAFJ,iDACE,KACE,iEE1LJ,qBAEI,kBACA,WACA,UCpCG,CDqCH,wDAEA,8BACA,gBAIA,0DAGF,0BAEI,kBACA,WACA,YACA,sCACA,4DAIA,sPAIJ,gCAEI,qBACA,kBACA,WACA,sCAGA,qBAIJ,6BAEI,aACA,kBACA,WACA,YAIJ,kCAEI,2BACA,yBACA,UACA,0DAIA,oIAIJ,iCAEI,cAIA,6DAIJ,kCAEI,gDAIJ,oCAEI,aA0FJ,8DAEI,gBAIJ,sEAEI,kBAIJ,wEAEI,iBACA,cAKF,2GAEI,0KAIF,2IAEI,kKAMN,6GAEI,8KAIF,6IAEI,sKAaV,+IAGI,QAEA,sCAEA,8BAKF,yOAEI,8JAIJ,6OAEI,kKAKN,+JAEI,oJAIA,gDAKF,qOAGI,mBAEA,UAIJ,yOAGI,kBAEA,UArLJ,6BAEI,UAKF,6EAEI,sCAKF,gPAGI,sCAgBV,gCDnHI,qBAYF,+CC0HF,kCAII,qUAIJ,iCAEI,wBAlBkB,C","file":"mdc.linear-progress.min.css","sourcesContent":["//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n@use '@material/theme/theme';\n@use '@material/theme/custom-properties';\n\n@mixin primary-indeterminate-translate-keyframes_ {\n @keyframes mdc-linear-progress-primary-indeterminate-translate {\n 0% {\n transform: translateX(0);\n }\n\n 20% {\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n transform: translateX(0);\n }\n\n 59.15% {\n animation-timing-function: cubic-bezier(\n 0.302435,\n 0.381352,\n 0.55,\n 0.956352\n );\n\n $primary-half: custom-properties.create(\n --mdc-linear-progress-primary-half,\n 83.67142%\n );\n @include apply-translate_($primary-half);\n }\n\n 100% {\n $primary-full: custom-properties.create(\n --mdc-linear-progress-primary-full,\n 200.611057%\n );\n @include apply-translate_($primary-full);\n }\n }\n}\n\n@mixin primary-indeterminate-scale-keyframes_ {\n @keyframes mdc-linear-progress-primary-indeterminate-scale {\n 0% {\n transform: scaleX(0.08);\n }\n\n 36.65% {\n animation-timing-function: cubic-bezier(0.334731, 0.12482, 0.785844, 1);\n transform: scaleX(0.08);\n }\n\n 69.15% {\n animation-timing-function: cubic-bezier(0.06, 0.11, 0.6, 1);\n transform: scaleX(0.661479);\n }\n\n 100% {\n transform: scaleX(0.08);\n }\n }\n}\n\n@mixin secondary-indeterminate-translate-keyframes_ {\n @keyframes mdc-linear-progress-secondary-indeterminate-translate {\n 0% {\n animation-timing-function: cubic-bezier(0.15, 0, 0.515058, 0.409685);\n transform: translateX(0);\n }\n\n 25% {\n animation-timing-function: cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);\n $secondary-quarter: custom-properties.create(\n --mdc-linear-progress-secondary-quarter,\n 37.651913%\n );\n @include apply-translate_($secondary-quarter);\n }\n\n 48.35% {\n animation-timing-function: cubic-bezier(0.4, 0.627035, 0.6, 0.902026);\n $secondary-half: custom-properties.create(\n --mdc-linear-progress-secondary-half,\n 84.386165%\n );\n @include apply-translate_($secondary-half);\n }\n\n 100% {\n $secondary-full: custom-properties.create(\n --mdc-linear-progress-secondary-full,\n 160.277782%\n );\n @include apply-translate_($secondary-full);\n }\n }\n}\n\n@mixin secondary-indeterminate-scale-keyframes_ {\n @keyframes mdc-linear-progress-secondary-indeterminate-scale {\n 0% {\n animation-timing-function: cubic-bezier(\n 0.205028,\n 0.057051,\n 0.57661,\n 0.453971\n );\n transform: scaleX(0.08);\n }\n\n 19.15% {\n animation-timing-function: cubic-bezier(\n 0.152313,\n 0.196432,\n 0.648374,\n 1.004315\n );\n transform: scaleX(0.457104);\n }\n\n 44.15% {\n animation-timing-function: cubic-bezier(\n 0.257759,\n -0.003163,\n 0.211762,\n 1.38179\n );\n transform: scaleX(0.72796);\n }\n\n 100% {\n transform: scaleX(0.08);\n }\n }\n}\n\n@mixin buffering-keyframes_ {\n @keyframes mdc-linear-progress-buffering {\n from {\n // Normally the buffer dots start from the left and overflow to the right.\n // We rotate by 180deg so that the buffer dots start on the right when\n // in non-reversed mode and overflow to the left.\n transform: rotate(180deg) translateX(-10px);\n }\n }\n}\n\n@mixin primary-indeterminate-translate-reverse-keyframes_ {\n @keyframes mdc-linear-progress-primary-indeterminate-translate-reverse {\n 0% {\n transform: translateX(0);\n }\n\n 20% {\n animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);\n transform: translateX(0);\n }\n\n 59.15% {\n animation-timing-function: cubic-bezier(\n 0.302435,\n 0.381352,\n 0.55,\n 0.956352\n );\n $primary-half: custom-properties.create(\n --mdc-linear-progress-primary-half-neg,\n -83.67142%\n );\n @include apply-translate_($primary-half);\n }\n\n 100% {\n $primary-full: custom-properties.create(\n --mdc-linear-progress-primary-full-neg,\n -200.611057%\n );\n @include apply-translate_($primary-full);\n }\n }\n}\n\n@mixin secondary-indeterminate-translate-reverse-keyframes_ {\n @keyframes mdc-linear-progress-secondary-indeterminate-translate-reverse {\n 0% {\n animation-timing-function: cubic-bezier(0.15, 0, 0.515058, 0.409685);\n transform: translateX(0);\n }\n\n 25% {\n animation-timing-function: cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);\n $secondary-quarter: custom-properties.create(\n --mdc-linear-progress-secondary-quarter-neg,\n -37.651913%\n );\n @include apply-translate_($secondary-quarter);\n }\n\n 48.35% {\n animation-timing-function: cubic-bezier(0.4, 0.627035, 0.6, 0.902026);\n $secondary-half: custom-properties.create(\n --mdc-linear-progress-secondary-half-neg,\n -84.386165%\n );\n @include apply-translate_($secondary-half);\n }\n\n 100% {\n $secondary-full: custom-properties.create(\n --mdc-linear-progress-secondary-full-neg,\n -160.277782%\n );\n @include apply-translate_($secondary-full);\n }\n }\n}\n\n@mixin buffering-reverse-keyframes_ {\n @keyframes mdc-linear-progress-buffering-reverse {\n from {\n transform: translateX(-10px);\n }\n }\n}\n\n@mixin apply-translate_($value) {\n @include theme.property(\n transform,\n translateX(value),\n $replace: (value: $value)\n );\n}\n","//\n// Copyright 2020 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use 'sass:list';\n@use 'sass:map';\n@use 'sass:meta';\n@use './gss';\n\n/// When true, add an additional property/value declaration before declarations\n/// that use advanced features such as custom properties or CSS functions. This\n/// adds fallback support for older browsers such as IE11 that do not support\n/// these features at the cost of additional CSS. Set this variable to false to\n/// disable generating fallback declarations.\n$enable-fallback-declarations: true !default;\n\n/// Writes a CSS property/value declaration. This mixin is used throughout the\n/// theme package for consistency for dynamically setting CSS property values.\n///\n/// This mixin may optionally take a fallback value. For advanced features such\n/// as custom properties or CSS functions like min and max, a fallback value is\n/// recommended to support older browsers.\n///\n/// @param {String} $property - The CSS property of the declaration.\n/// @param {*} $value - The value of the CSS declaration. The value should be\n/// resolved by other theme functions first (i.e. custom property Maps and\n/// Material theme keys are not supported in this mixin). If the value is\n/// null, no declarations will be emitted.\n/// @param {*} $fallback - An optional fallback value for older browsers. If\n/// provided, a second property/value declaration will be added before the\n/// main property/value declaration.\n/// @param {Map} $gss - An optional Map of GSS annotations to add.\n/// @param {Bool} $important - If true, add `!important` to the declaration.\n@mixin declaration(\n $property,\n $value,\n $fallback-value: null,\n $gss: (),\n $important: false\n) {\n // Normally setting a null value to a property will not emit CSS, so mixins\n // wouldn't need to check this. However, Sass will throw an error if the\n // interpolated property is a custom property.\n @if $value != null {\n $important-rule: if($important, ' !important', '');\n\n @if $fallback-value and $enable-fallback-declarations {\n @include gss.annotate($gss);\n #{$property}: #{$fallback-value} #{$important-rule};\n\n // Add @alternate to annotations.\n $gss: map.merge(\n $gss,\n (\n alternate: true,\n )\n );\n }\n\n @include gss.annotate($gss);\n #{$property}: #{$value}#{$important-rule};\n }\n}\n\n/// Unpacks shorthand values for CSS properties (i.e. lists of 1-3 values).\n/// If a list of 4 values is given, it is returned as-is.\n///\n/// Examples:\n///\n/// unpack-value(4px) => 4px 4px 4px 4px\n/// unpack-value(4px 2px) => 4px 2px 4px 2px\n/// unpack-value(4px 2px 2px) => 4px 2px 2px 2px\n/// unpack-value(4px 2px 0 2px) => 4px 2px 0 2px\n///\n/// @param {Number | Map | List} $value - List of 1 to 4 value numbers.\n/// @return {List} a List of 4 value numbers.\n@function unpack-value($value) {\n @if meta.type-of($value) == 'map' or list.length($value) == 1 {\n @return $value $value $value $value;\n } @else if list.length($value) == 4 {\n @return $value;\n } @else if list.length($value) == 3 {\n @return list.nth($value, 1) list.nth($value, 2) list.nth($value, 3)\n list.nth($value, 2);\n } @else if list.length($value) == 2 {\n @return list.nth($value, 1) list.nth($value, 2) list.nth($value, 1)\n list.nth($value, 2);\n }\n\n @error \"Invalid CSS property value: '#{$value}' is more than 4 values\";\n}\n","// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// stylelint-disable no-unknown-animations --\n// Animations keyframes are included in `keyframes.scss`.\n// stylelint-disable selector-class-pattern --\n// Selector '.mdc-*' should only be used in this project.\n\n@use 'sass:string';\n@use '@material/animation/functions' as animation-functions;\n@use '@material/feature-targeting/feature-targeting';\n@use '@material/rtl/rtl';\n@use '@material/theme/theme';\n@use '@material/theme/theme-color';\n@use './variables';\n@use './keyframes';\n\n//\n// Public\n//\n\n@mixin core-styles($query: feature-targeting.all()) {\n $feat-structure: feature-targeting.create-target($query, structure);\n $feat-animation: feature-targeting.create-target($query, animation);\n\n @include feature-targeting.targets($feat-animation) {\n @include keyframes.primary-indeterminate-translate-keyframes_;\n @include keyframes.primary-indeterminate-scale-keyframes_;\n @include keyframes.secondary-indeterminate-translate-keyframes_;\n @include keyframes.secondary-indeterminate-scale-keyframes_;\n @include keyframes.buffering-keyframes_;\n @include keyframes.primary-indeterminate-translate-reverse-keyframes_;\n @include keyframes.secondary-indeterminate-translate-reverse-keyframes_;\n @include keyframes.buffering-reverse-keyframes_;\n }\n\n .mdc-linear-progress {\n @include feature-targeting.targets($feat-structure) {\n position: relative;\n width: 100%;\n height: variables.$height;\n transform: translateZ(0);\n // Create a border around the bar in Windows High Contrast Mode.\n outline: 1px solid transparent;\n overflow: hidden;\n }\n\n @include feature-targeting.targets($feat-animation) {\n transition: animation-functions.exit-temporary(opacity, 250ms);\n }\n\n &__bar {\n @include feature-targeting.targets($feat-structure) {\n position: absolute;\n width: 100%;\n height: 100%;\n animation: none;\n transform-origin: top left;\n }\n\n @include feature-targeting.targets($feat-animation) {\n transition: animation-functions.exit-temporary(transform, 250ms);\n }\n }\n\n &__bar-inner {\n @include feature-targeting.targets($feat-structure) {\n display: inline-block;\n position: absolute;\n width: 100%;\n animation: none;\n // border-top is used rather than background-color to ensure that the\n // bar is visible in Windows High Contrast Mode.\n border-top: variables.$height solid;\n }\n }\n\n &__buffer {\n @include feature-targeting.targets($feat-structure) {\n display: flex;\n position: absolute;\n width: 100%;\n height: 100%;\n }\n }\n\n &__buffer-dots {\n @include feature-targeting.targets($feat-structure) {\n background-repeat: repeat-x;\n background-size: 10px variables.$height;\n flex: auto;\n transform: rotate(180deg);\n }\n\n @include feature-targeting.targets($feat-animation) {\n animation: mdc-linear-progress-buffering 250ms infinite linear;\n }\n }\n\n &__buffer-bar {\n @include feature-targeting.targets($feat-structure) {\n flex: 0 1 100%;\n }\n\n @include feature-targeting.targets($feat-animation) {\n transition: animation-functions.exit-temporary(flex-basis, 250ms);\n }\n }\n\n &__primary-bar {\n @include feature-targeting.targets($feat-structure) {\n transform: scaleX(0);\n }\n }\n\n &__secondary-bar {\n @include feature-targeting.targets($feat-structure) {\n display: none;\n }\n }\n\n @include indeterminate_($query: $query);\n\n @include rtl.rtl() {\n // The rtl() mixin does not account for nested `dir` attributes. Set\n // `dir` attribute on root to take highest priority.\n &:not([dir='ltr']) {\n @include _rtl-styles($query: $query);\n }\n }\n\n &--closed {\n @include feature-targeting.targets($feat-structure) {\n opacity: 0;\n }\n }\n\n &--closed-animation-off {\n .mdc-linear-progress__buffer-dots {\n @include feature-targeting.targets($feat-animation) {\n animation: none;\n }\n }\n\n &.mdc-linear-progress--indeterminate {\n .mdc-linear-progress__bar,\n .mdc-linear-progress__bar .mdc-linear-progress__bar-inner {\n @include feature-targeting.targets($feat-animation) {\n animation: none;\n }\n }\n }\n }\n }\n\n @at-root {\n @include bar-color(primary, $query: $query);\n @include buffer-color(variables.$baseline-buffer-color, $query: $query);\n }\n}\n\n@mixin bar-color($color, $query: feature-targeting.all()) {\n $feat-color: feature-targeting.create-target($query, color);\n\n .mdc-linear-progress__bar-inner {\n @include feature-targeting.targets($feat-color) {\n // Border is used rather than background-color to ensure that the\n // bar is visible in Windows High Contrast Mode.\n @include theme.property(border-color, $color);\n }\n }\n}\n\n@mixin buffer-color($color, $query: feature-targeting.all()) {\n // We need to escape the '#' character as \"%23\" for SVG because '#' is a reserved character in URIs.\n $color-value-for-css: theme-color.prop-value($color);\n $color-value-for-svg: str-replace_(\n string.unquote('#{$color-value-for-css}'),\n '#',\n '%23'\n );\n $feat-color: feature-targeting.create-target($query, color);\n\n .mdc-linear-progress__buffer-dots {\n @include feature-targeting.targets($feat-color) {\n // SVG is optimized for data URI (https://codepen.io/tigt/post/optimizing-svgs-in-data-uris)\n // stylelint-disable-next-line function-url-quotes\n background-image: url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='#{$color-value-for-svg}'/%3E%3C/svg%3E\");\n }\n }\n\n .mdc-linear-progress__buffer-bar {\n @include feature-targeting.targets($feat-color) {\n background-color: $color-value-for-css;\n }\n }\n}\n\n//\n// Private\n//\n\n@mixin indeterminate_($query: feature-targeting.all()) {\n $feat-structure: feature-targeting.create-target($query, structure);\n $feat-animation: feature-targeting.create-target($query, animation);\n\n &--indeterminate {\n .mdc-linear-progress__bar {\n @include feature-targeting.targets($feat-structure) {\n transition: none;\n }\n }\n\n .mdc-linear-progress__primary-bar {\n @include feature-targeting.targets($feat-structure) {\n left: -145.166611%;\n }\n }\n\n .mdc-linear-progress__secondary-bar {\n @include feature-targeting.targets($feat-structure) {\n left: -54.888891%;\n display: block;\n }\n }\n\n &.mdc-linear-progress--animation-ready {\n .mdc-linear-progress__primary-bar {\n @include feature-targeting.targets($feat-animation) {\n animation: mdc-linear-progress-primary-indeterminate-translate 2s\n infinite linear;\n }\n\n > .mdc-linear-progress__bar-inner {\n @include feature-targeting.targets($feat-animation) {\n animation: mdc-linear-progress-primary-indeterminate-scale 2s\n infinite linear;\n }\n }\n }\n\n .mdc-linear-progress__secondary-bar {\n @include feature-targeting.targets($feat-animation) {\n animation: mdc-linear-progress-secondary-indeterminate-translate 2s\n infinite linear;\n }\n\n > .mdc-linear-progress__bar-inner {\n @include feature-targeting.targets($feat-animation) {\n animation: mdc-linear-progress-secondary-indeterminate-scale 2s\n infinite linear;\n }\n }\n }\n }\n }\n}\n\n@mixin _rtl-styles($query: $query) {\n $feat-structure: feature-targeting.create-target($query, structure);\n $feat-animation: feature-targeting.create-target($query, animation);\n\n .mdc-linear-progress__bar {\n @include feature-targeting.targets($feat-structure) {\n @include rtl.ignore-next-line();\n right: 0;\n @include rtl.ignore-next-line();\n -webkit-transform-origin: center right;\n @include rtl.ignore-next-line();\n transform-origin: center right;\n }\n }\n\n &.mdc-linear-progress--animation-ready {\n .mdc-linear-progress__primary-bar {\n @include feature-targeting.targets($feat-animation) {\n animation-name: mdc-linear-progress-primary-indeterminate-translate-reverse;\n }\n }\n\n .mdc-linear-progress__secondary-bar {\n @include feature-targeting.targets($feat-animation) {\n animation-name: mdc-linear-progress-secondary-indeterminate-translate-reverse;\n }\n }\n }\n\n .mdc-linear-progress__buffer-dots {\n @include feature-targeting.targets($feat-animation) {\n animation: mdc-linear-progress-buffering-reverse 250ms infinite linear;\n }\n\n @include feature-targeting.targets($feat-structure) {\n transform: rotate(0);\n }\n }\n\n &.mdc-linear-progress--indeterminate {\n .mdc-linear-progress__primary-bar {\n @include feature-targeting.targets($feat-structure) {\n @include rtl.ignore-next-line();\n right: -145.166611%;\n @include rtl.ignore-next-line();\n left: auto;\n }\n }\n\n .mdc-linear-progress__secondary-bar {\n @include feature-targeting.targets($feat-structure) {\n @include rtl.ignore-next-line();\n right: -54.888891%;\n @include rtl.ignore-next-line();\n left: auto;\n }\n }\n }\n}\n\n// Based on https://css-tricks.com/snippets/sass/str-replace-function/\n@function str-replace_($string, $search, $replace) {\n $index: string.index($string, $search);\n\n @if $index {\n $head: string.slice($string, 1, $index - 1);\n $tail: str-replace_(\n string.slice($string, $index + string.length($search)),\n $search,\n $replace\n );\n\n @return $head + $replace + $tail;\n }\n\n @return $string;\n}\n","// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n$baseline-buffer-color: #e6e6e6 !default;\n$height: 4px;\n"],"sourceRoot":""}
\No newline at end of file