blob: 80a0ea866c9cad462c718aace4cb5d8f30fa6e76 [file] [log] [blame]
{"version":3,"file":"material-progress-spinner.umd.min.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/material/progress-spinner/progress-spinner.ts","../../src/material/progress-spinner/progress-spinner-module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {coerceNumberProperty} from '@angular/cdk/coercion';\nimport {Platform} from '@angular/cdk/platform';\nimport {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n InjectionToken,\n Input,\n Optional,\n ViewEncapsulation,\n} from '@angular/core';\nimport {CanColor, CanColorCtor, mixinColor} from '@angular/material/core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\n\n\n/** Possible mode for a progress spinner. */\nexport type ProgressSpinnerMode = 'determinate' | 'indeterminate';\n\n/**\n * Base reference size of the spinner.\n * @docs-private\n */\nconst BASE_SIZE = 100;\n\n/**\n * Base reference stroke width of the spinner.\n * @docs-private\n */\nconst BASE_STROKE_WIDTH = 10;\n\n// Boilerplate for applying mixins to MatProgressSpinner.\n/** @docs-private */\nclass MatProgressSpinnerBase {\n constructor(public _elementRef: ElementRef) {}\n}\nconst _MatProgressSpinnerMixinBase: CanColorCtor & typeof MatProgressSpinnerBase =\n mixinColor(MatProgressSpinnerBase, 'primary');\n\n/** Default `mat-progress-spinner` options that can be overridden. */\nexport interface MatProgressSpinnerDefaultOptions {\n /** Diameter of the spinner. */\n diameter?: number;\n /** Width of the spinner's stroke. */\n strokeWidth?: number;\n /**\n * Whether the animations should be force to be enabled, ignoring if the current environment is\n * using NoopAnimationsModule.\n */\n _forceAnimations?: boolean;\n}\n\n/** Injection token to be used to override the default options for `mat-progress-spinner`. */\nexport const MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS =\n new InjectionToken<MatProgressSpinnerDefaultOptions>('mat-progress-spinner-default-options', {\n providedIn: 'root',\n factory: MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY,\n });\n\n/** @docs-private */\nexport function MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY(): MatProgressSpinnerDefaultOptions {\n return {diameter: BASE_SIZE};\n}\n\n// .0001 percentage difference is necessary in order to avoid unwanted animation frames\n// for example because the animation duration is 4 seconds, .1% accounts to 4ms\n// which are enough to see the flicker described in\n// https://github.com/angular/components/issues/8984\nconst INDETERMINATE_ANIMATION_TEMPLATE = `\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n`;\n\n/**\n * `<mat-progress-spinner>` component.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-progress-spinner',\n exportAs: 'matProgressSpinner',\n host: {\n 'role': 'progressbar',\n 'class': 'mat-progress-spinner',\n '[class._mat-animation-noopable]': `_noopAnimations`,\n '[style.width.px]': 'diameter',\n '[style.height.px]': 'diameter',\n '[attr.aria-valuemin]': 'mode === \"determinate\" ? 0 : null',\n '[attr.aria-valuemax]': 'mode === \"determinate\" ? 100 : null',\n '[attr.aria-valuenow]': 'mode === \"determinate\" ? value : null',\n '[attr.mode]': 'mode',\n },\n inputs: ['color'],\n templateUrl: 'progress-spinner.html',\n styleUrls: ['progress-spinner.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MatProgressSpinner extends _MatProgressSpinnerMixinBase implements CanColor {\n private _diameter = BASE_SIZE;\n private _value = 0;\n private _strokeWidth: number;\n private _fallbackAnimation = false;\n\n /**\n * Element to which we should add the generated style tags for the indeterminate animation.\n * For most elements this is the document, but for the ones in the Shadow DOM we need to\n * use the shadow root.\n */\n private _styleRoot: Node;\n\n /**\n * Tracks diameters of existing instances to de-dupe generated styles (default d = 100).\n * We need to keep track of which elements the diameters were attached to, because for\n * elements in the Shadow DOM the style tags are attached to the shadow root, rather\n * than the document head.\n */\n private static _diameters = new WeakMap<Node, Set<number>>();\n\n /** Whether the _mat-animation-noopable class should be applied, disabling animations. */\n _noopAnimations: boolean;\n\n /** The diameter of the progress spinner (will set width and height of svg). */\n @Input()\n get diameter(): number { return this._diameter; }\n set diameter(size: number) {\n this._diameter = coerceNumberProperty(size);\n\n if (!this._fallbackAnimation) {\n const trackedDiameters = MatProgressSpinner._diameters;\n const diametersForElement = trackedDiameters.get(this._styleRoot);\n\n if (!diametersForElement || !diametersForElement.has(this._diameter)) {\n this._attachStyleNode();\n }\n }\n }\n\n /** Stroke width of the progress spinner. */\n @Input()\n get strokeWidth(): number {\n return this._strokeWidth || this.diameter / 10;\n }\n set strokeWidth(value: number) {\n this._strokeWidth = coerceNumberProperty(value);\n }\n\n /** Mode of the progress circle */\n @Input() mode: ProgressSpinnerMode = 'determinate';\n\n /** Value of the progress circle. */\n @Input()\n get value(): number {\n return this.mode === 'determinate' ? this._value : 0;\n }\n set value(newValue: number) {\n this._value = Math.max(0, Math.min(100, coerceNumberProperty(newValue)));\n }\n\n constructor(public _elementRef: ElementRef<HTMLElement>,\n platform: Platform,\n @Optional() @Inject(DOCUMENT) private _document: any,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode: string,\n @Inject(MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS)\n defaults?: MatProgressSpinnerDefaultOptions) {\n\n super(_elementRef);\n\n const trackedDiameters = MatProgressSpinner._diameters;\n\n // The base size is already inserted via the component's structural styles. We still\n // need to track it so we don't end up adding the same styles again.\n if (!trackedDiameters.has(_document.head)) {\n trackedDiameters.set(_document.head, new Set<number>([BASE_SIZE]));\n }\n\n this._styleRoot = _getShadowRoot(_elementRef.nativeElement, _document) || _document.head;\n this._fallbackAnimation = platform.EDGE || platform.TRIDENT;\n this._noopAnimations = animationMode === 'NoopAnimations' &&\n (!!defaults && !defaults._forceAnimations);\n\n if (defaults) {\n if (defaults.diameter) {\n this.diameter = defaults.diameter;\n }\n\n if (defaults.strokeWidth) {\n this.strokeWidth = defaults.strokeWidth;\n }\n }\n\n // On IE and Edge, we can't animate the `stroke-dashoffset`\n // reliably so we fall back to a non-spec animation.\n const animationClass =\n `mat-progress-spinner-indeterminate${this._fallbackAnimation ? '-fallback' : ''}-animation`;\n\n _elementRef.nativeElement.classList.add(animationClass);\n }\n\n /** The radius of the spinner, adjusted for stroke width. */\n get _circleRadius() {\n return (this.diameter - BASE_STROKE_WIDTH) / 2;\n }\n\n /** The view box of the spinner's svg element. */\n get _viewBox() {\n const viewBox = this._circleRadius * 2 + this.strokeWidth;\n return `0 0 ${viewBox} ${viewBox}`;\n }\n\n /** The stroke circumference of the svg circle. */\n get _strokeCircumference(): number {\n return 2 * Math.PI * this._circleRadius;\n }\n\n /** The dash offset of the svg circle. */\n get _strokeDashOffset() {\n if (this.mode === 'determinate') {\n return this._strokeCircumference * (100 - this._value) / 100;\n }\n\n // In fallback mode set the circle to 80% and rotate it with CSS.\n if (this._fallbackAnimation && this.mode === 'indeterminate') {\n return this._strokeCircumference * 0.2;\n }\n\n return null;\n }\n\n /** Stroke width of the circle in percent. */\n get _circleStrokeWidth() {\n return this.strokeWidth / this.diameter * 100;\n }\n\n /** Dynamically generates a style tag containing the correct animation for this diameter. */\n private _attachStyleNode(): void {\n const styleTag: HTMLStyleElement = this._document.createElement('style');\n const styleRoot = this._styleRoot;\n const currentDiameter = this._diameter;\n const diameters = MatProgressSpinner._diameters;\n let diametersForElement = diameters.get(styleRoot);\n\n styleTag.setAttribute('mat-spinner-animation', currentDiameter + '');\n styleTag.textContent = this._getAnimationText();\n styleRoot.appendChild(styleTag);\n\n if (!diametersForElement) {\n diametersForElement = new Set<number>();\n diameters.set(styleRoot, diametersForElement);\n }\n\n diametersForElement.add(currentDiameter);\n }\n\n /** Generates animation styles adjusted for the spinner's diameter. */\n private _getAnimationText(): string {\n return INDETERMINATE_ANIMATION_TEMPLATE\n // Animation should begin at 5% and end at 80%\n .replace(/START_VALUE/g, `${0.95 * this._strokeCircumference}`)\n .replace(/END_VALUE/g, `${0.2 * this._strokeCircumference}`)\n .replace(/DIAMETER/g, `${this.diameter}`);\n }\n}\n\n\n/**\n * `<mat-spinner>` component.\n *\n * This is a component definition to be used as a convenience reference to create an\n * indeterminate `<mat-progress-spinner>` instance.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-spinner',\n host: {\n 'role': 'progressbar',\n 'mode': 'indeterminate',\n 'class': 'mat-spinner mat-progress-spinner',\n '[class._mat-animation-noopable]': `_noopAnimations`,\n '[style.width.px]': 'diameter',\n '[style.height.px]': 'diameter',\n },\n inputs: ['color'],\n templateUrl: 'progress-spinner.html',\n styleUrls: ['progress-spinner.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MatSpinner extends MatProgressSpinner {\n constructor(elementRef: ElementRef<HTMLElement>, platform: Platform,\n @Optional() @Inject(DOCUMENT) document: any,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode: string,\n @Inject(MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS)\n defaults?: MatProgressSpinnerDefaultOptions) {\n super(elementRef, platform, document, animationMode, defaults);\n this.mode = 'indeterminate';\n }\n}\n\n\n/** Gets the shadow root of an element, if supported and the element is inside the Shadow DOM. */\nexport function _getShadowRoot(element: HTMLElement, _document: Document): Node | null {\n // TODO(crisbeto): see whether we should move this into the CDK\n // feature detection utilities once #15616 gets merged in.\n if (typeof window !== 'undefined') {\n const head = _document.head;\n\n // Check whether the browser supports Shadow DOM.\n if (head && ((head as any).createShadowRoot || head.attachShadow)) {\n const rootNode = element.getRootNode ? element.getRootNode() : null;\n\n // We need to take the `ShadowRoot` off of `window`, because the built-in types are\n // incorrect. See https://github.com/Microsoft/TypeScript/issues/27929.\n if (rootNode instanceof (window as any).ShadowRoot) {\n return rootNode;\n }\n }\n }\n\n return null;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatProgressSpinner, MatSpinner} from './progress-spinner';\n\n\n@NgModule({\n imports: [MatCommonModule, CommonModule],\n exports: [\n MatProgressSpinner,\n MatSpinner,\n MatCommonModule\n ],\n declarations: [\n MatProgressSpinner,\n MatSpinner\n ],\n})\nclass MatProgressSpinnerModule {}\n\nexport {MatProgressSpinnerModule};\n"],"names":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY","diameter","BASE_SIZE","head","_document","createShadowRoot","attachShadow","rootNode","element","getRootNode","setPrototypeOf","__proto__","Array","p","hasOwnProperty","MatProgressSpinnerBase","_elementRef","_MatProgressSpinnerMixinBase","mixinColor","MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS","InjectionToken","providedIn","factory","INDETERMINATE_ANIMATION_TEMPLATE","MatProgressSpinner","_super","platform","animationMode","defaults","_this","call","_diameter","_value","_fallbackAnimation","mode","trackedDiameters","_diameters","has","set","Set","_styleRoot","_getShadowRoot","nativeElement","EDGE","TRIDENT","_noopAnimations","_forceAnimations","strokeWidth","animationClass","classList","add","tslib_1.__extends","defineProperty","size","coerceNumberProperty","diametersForElement","get","_attachStyleNode","_strokeWidth","value","newValue","Math","max","min","viewBox","_circleRadius","PI","_strokeCircumference","styleTag","createElement","styleRoot","currentDiameter","diameters","setAttribute","textContent","_getAnimationText","appendChild","replace","WeakMap","type","Component","args","selector","exportAs","host","role","class","[class._mat-animation-noopable]","[style.width.px]","[style.height.px]","[attr.aria-valuemin]","[attr.aria-valuemax]","[attr.aria-valuenow]","[attr.mode]","inputs","template","styles","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","undefined","decorators","Optional","Inject","DOCUMENT","String","ANIMATION_MODULE_TYPE","propDecorators","Input","MatSpinner","elementRef","document","ctorParameters","ElementRef","MatProgressSpinnerModule","NgModule","imports","MatCommonModule","CommonModule","exports","declarations"],"mappings":"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"}