source: trip-planner-front/node_modules/@angular/material/fesm2015/progress-spinner.js@ 8d391a1

Last change on this file since 8d391a1 was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 23.8 KB
Line 
1import { InjectionToken, Component, ChangeDetectionStrategy, ViewEncapsulation, ElementRef, Optional, Inject, Input, NgModule } from '@angular/core';
2import { DOCUMENT, CommonModule } from '@angular/common';
3import { mixinColor, MatCommonModule } from '@angular/material/core';
4import { coerceNumberProperty } from '@angular/cdk/coercion';
5import { _getShadowRoot, Platform } from '@angular/cdk/platform';
6import { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';
7
8/**
9 * @license
10 * Copyright Google LLC All Rights Reserved.
11 *
12 * Use of this source code is governed by an MIT-style license that can be
13 * found in the LICENSE file at https://angular.io/license
14 */
15/**
16 * Base reference size of the spinner.
17 * @docs-private
18 */
19const BASE_SIZE = 100;
20/**
21 * Base reference stroke width of the spinner.
22 * @docs-private
23 */
24const BASE_STROKE_WIDTH = 10;
25// Boilerplate for applying mixins to MatProgressSpinner.
26/** @docs-private */
27const _MatProgressSpinnerBase = mixinColor(class {
28 constructor(_elementRef) {
29 this._elementRef = _elementRef;
30 }
31}, 'primary');
32/** Injection token to be used to override the default options for `mat-progress-spinner`. */
33const MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS = new InjectionToken('mat-progress-spinner-default-options', {
34 providedIn: 'root',
35 factory: MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY,
36});
37/** @docs-private */
38function MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY() {
39 return { diameter: BASE_SIZE };
40}
41// .0001 percentage difference is necessary in order to avoid unwanted animation frames
42// for example because the animation duration is 4 seconds, .1% accounts to 4ms
43// which are enough to see the flicker described in
44// https://github.com/angular/components/issues/8984
45const INDETERMINATE_ANIMATION_TEMPLATE = `
46 @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {
47 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }
48 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }
49 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }
50 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }
51
52 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }
53 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }
54 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }
55 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }
56
57 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }
58 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }
59 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }
60 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }
61
62 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }
63 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }
64 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }
65 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }
66 }
67`;
68/**
69 * `<mat-progress-spinner>` component.
70 */
71class MatProgressSpinner extends _MatProgressSpinnerBase {
72 constructor(elementRef, platform, _document, animationMode, defaults) {
73 super(elementRef);
74 this._document = _document;
75 this._diameter = BASE_SIZE;
76 this._value = 0;
77 this._fallbackAnimation = false;
78 /** Mode of the progress circle */
79 this.mode = 'determinate';
80 const trackedDiameters = MatProgressSpinner._diameters;
81 this._spinnerAnimationLabel = this._getSpinnerAnimationLabel();
82 // The base size is already inserted via the component's structural styles. We still
83 // need to track it so we don't end up adding the same styles again.
84 if (!trackedDiameters.has(_document.head)) {
85 trackedDiameters.set(_document.head, new Set([BASE_SIZE]));
86 }
87 this._fallbackAnimation = platform.EDGE || platform.TRIDENT;
88 this._noopAnimations = animationMode === 'NoopAnimations' &&
89 (!!defaults && !defaults._forceAnimations);
90 if (defaults) {
91 if (defaults.diameter) {
92 this.diameter = defaults.diameter;
93 }
94 if (defaults.strokeWidth) {
95 this.strokeWidth = defaults.strokeWidth;
96 }
97 }
98 }
99 /** The diameter of the progress spinner (will set width and height of svg). */
100 get diameter() { return this._diameter; }
101 set diameter(size) {
102 this._diameter = coerceNumberProperty(size);
103 this._spinnerAnimationLabel = this._getSpinnerAnimationLabel();
104 // If this is set before `ngOnInit`, the style root may not have been resolved yet.
105 if (!this._fallbackAnimation && this._styleRoot) {
106 this._attachStyleNode();
107 }
108 }
109 /** Stroke width of the progress spinner. */
110 get strokeWidth() {
111 return this._strokeWidth || this.diameter / 10;
112 }
113 set strokeWidth(value) {
114 this._strokeWidth = coerceNumberProperty(value);
115 }
116 /** Value of the progress circle. */
117 get value() {
118 return this.mode === 'determinate' ? this._value : 0;
119 }
120 set value(newValue) {
121 this._value = Math.max(0, Math.min(100, coerceNumberProperty(newValue)));
122 }
123 ngOnInit() {
124 const element = this._elementRef.nativeElement;
125 // Note that we need to look up the root node in ngOnInit, rather than the constructor, because
126 // Angular seems to create the element outside the shadow root and then moves it inside, if the
127 // node is inside an `ngIf` and a ShadowDom-encapsulated component.
128 this._styleRoot = _getShadowRoot(element) || this._document.head;
129 this._attachStyleNode();
130 // On IE and Edge, we can't animate the `stroke-dashoffset`
131 // reliably so we fall back to a non-spec animation.
132 const animationClass = `mat-progress-spinner-indeterminate${this._fallbackAnimation ? '-fallback' : ''}-animation`;
133 element.classList.add(animationClass);
134 }
135 /** The radius of the spinner, adjusted for stroke width. */
136 _getCircleRadius() {
137 return (this.diameter - BASE_STROKE_WIDTH) / 2;
138 }
139 /** The view box of the spinner's svg element. */
140 _getViewBox() {
141 const viewBox = this._getCircleRadius() * 2 + this.strokeWidth;
142 return `0 0 ${viewBox} ${viewBox}`;
143 }
144 /** The stroke circumference of the svg circle. */
145 _getStrokeCircumference() {
146 return 2 * Math.PI * this._getCircleRadius();
147 }
148 /** The dash offset of the svg circle. */
149 _getStrokeDashOffset() {
150 if (this.mode === 'determinate') {
151 return this._getStrokeCircumference() * (100 - this._value) / 100;
152 }
153 // In fallback mode set the circle to 80% and rotate it with CSS.
154 if (this._fallbackAnimation && this.mode === 'indeterminate') {
155 return this._getStrokeCircumference() * 0.2;
156 }
157 return null;
158 }
159 /** Stroke width of the circle in percent. */
160 _getCircleStrokeWidth() {
161 return this.strokeWidth / this.diameter * 100;
162 }
163 /** Dynamically generates a style tag containing the correct animation for this diameter. */
164 _attachStyleNode() {
165 const styleRoot = this._styleRoot;
166 const currentDiameter = this._diameter;
167 const diameters = MatProgressSpinner._diameters;
168 let diametersForElement = diameters.get(styleRoot);
169 if (!diametersForElement || !diametersForElement.has(currentDiameter)) {
170 const styleTag = this._document.createElement('style');
171 styleTag.setAttribute('mat-spinner-animation', this._spinnerAnimationLabel);
172 styleTag.textContent = this._getAnimationText();
173 styleRoot.appendChild(styleTag);
174 if (!diametersForElement) {
175 diametersForElement = new Set();
176 diameters.set(styleRoot, diametersForElement);
177 }
178 diametersForElement.add(currentDiameter);
179 }
180 }
181 /** Generates animation styles adjusted for the spinner's diameter. */
182 _getAnimationText() {
183 const strokeCircumference = this._getStrokeCircumference();
184 return INDETERMINATE_ANIMATION_TEMPLATE
185 // Animation should begin at 5% and end at 80%
186 .replace(/START_VALUE/g, `${0.95 * strokeCircumference}`)
187 .replace(/END_VALUE/g, `${0.2 * strokeCircumference}`)
188 .replace(/DIAMETER/g, `${this._spinnerAnimationLabel}`);
189 }
190 /** Returns the circle diameter formatted for use with the animation-name CSS property. */
191 _getSpinnerAnimationLabel() {
192 // The string of a float point number will include a period ‘.’ character,
193 // which is not valid for a CSS animation-name.
194 return this.diameter.toString().replace('.', '_');
195 }
196}
197/**
198 * Tracks diameters of existing instances to de-dupe generated styles (default d = 100).
199 * We need to keep track of which elements the diameters were attached to, because for
200 * elements in the Shadow DOM the style tags are attached to the shadow root, rather
201 * than the document head.
202 */
203MatProgressSpinner._diameters = new WeakMap();
204MatProgressSpinner.decorators = [
205 { type: Component, args: [{
206 selector: 'mat-progress-spinner',
207 exportAs: 'matProgressSpinner',
208 host: {
209 'role': 'progressbar',
210 'class': 'mat-progress-spinner',
211 // set tab index to -1 so screen readers will read the aria-label
212 // Note: there is a known issue with JAWS that does not read progressbar aria labels on FireFox
213 'tabindex': '-1',
214 '[class._mat-animation-noopable]': `_noopAnimations`,
215 '[style.width.px]': 'diameter',
216 '[style.height.px]': 'diameter',
217 '[attr.aria-valuemin]': 'mode === "determinate" ? 0 : null',
218 '[attr.aria-valuemax]': 'mode === "determinate" ? 100 : null',
219 '[attr.aria-valuenow]': 'mode === "determinate" ? value : null',
220 '[attr.mode]': 'mode',
221 },
222 inputs: ['color'],
223 template: "<!--\n preserveAspectRatio of xMidYMid meet as the center of the viewport is the circle's\n center. The center of the circle will remain at the center of the mat-progress-spinner\n element containing the SVG. `focusable=\"false\"` prevents IE from allowing the user to\n tab into the SVG element.\n-->\n<!--\n All children need to be hidden for screen readers in order to support ChromeVox.\n More context in the issue: https://github.com/angular/components/issues/22165.\n-->\n<svg\n [style.width.px]=\"diameter\"\n [style.height.px]=\"diameter\"\n [attr.viewBox]=\"_getViewBox()\"\n preserveAspectRatio=\"xMidYMid meet\"\n focusable=\"false\"\n [ngSwitch]=\"mode === 'indeterminate'\"\n aria-hidden=\"true\">\n\n <!--\n Technically we can reuse the same `circle` element, however Safari has an issue that breaks\n the SVG rendering in determinate mode, after switching between indeterminate and determinate.\n Using a different element avoids the issue. An alternative to this is adding `display: none`\n for a split second and then removing it when switching between modes, but it's hard to know\n for how long to hide the element and it can cause the UI to blink.\n -->\n <circle\n *ngSwitchCase=\"true\"\n cx=\"50%\"\n cy=\"50%\"\n [attr.r]=\"_getCircleRadius()\"\n [style.animation-name]=\"'mat-progress-spinner-stroke-rotate-' + _spinnerAnimationLabel\"\n [style.stroke-dashoffset.px]=\"_getStrokeDashOffset()\"\n [style.stroke-dasharray.px]=\"_getStrokeCircumference()\"\n [style.stroke-width.%]=\"_getCircleStrokeWidth()\"></circle>\n\n <circle\n *ngSwitchCase=\"false\"\n cx=\"50%\"\n cy=\"50%\"\n [attr.r]=\"_getCircleRadius()\"\n [style.stroke-dashoffset.px]=\"_getStrokeDashOffset()\"\n [style.stroke-dasharray.px]=\"_getStrokeCircumference()\"\n [style.stroke-width.%]=\"_getCircleStrokeWidth()\"></circle>\n</svg>\n",
224 changeDetection: ChangeDetectionStrategy.OnPush,
225 encapsulation: ViewEncapsulation.None,
226 styles: [".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor;stroke:CanvasText}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\n"]
227 },] }
228];
229MatProgressSpinner.ctorParameters = () => [
230 { type: ElementRef },
231 { type: Platform },
232 { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] },
233 { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] },
234 { type: undefined, decorators: [{ type: Inject, args: [MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS,] }] }
235];
236MatProgressSpinner.propDecorators = {
237 diameter: [{ type: Input }],
238 strokeWidth: [{ type: Input }],
239 mode: [{ type: Input }],
240 value: [{ type: Input }]
241};
242/**
243 * `<mat-spinner>` component.
244 *
245 * This is a component definition to be used as a convenience reference to create an
246 * indeterminate `<mat-progress-spinner>` instance.
247 */
248class MatSpinner extends MatProgressSpinner {
249 constructor(elementRef, platform, document, animationMode, defaults) {
250 super(elementRef, platform, document, animationMode, defaults);
251 this.mode = 'indeterminate';
252 }
253}
254MatSpinner.decorators = [
255 { type: Component, args: [{
256 selector: 'mat-spinner',
257 host: {
258 'role': 'progressbar',
259 'mode': 'indeterminate',
260 'class': 'mat-spinner mat-progress-spinner',
261 '[class._mat-animation-noopable]': `_noopAnimations`,
262 '[style.width.px]': 'diameter',
263 '[style.height.px]': 'diameter',
264 },
265 inputs: ['color'],
266 template: "<!--\n preserveAspectRatio of xMidYMid meet as the center of the viewport is the circle's\n center. The center of the circle will remain at the center of the mat-progress-spinner\n element containing the SVG. `focusable=\"false\"` prevents IE from allowing the user to\n tab into the SVG element.\n-->\n<!--\n All children need to be hidden for screen readers in order to support ChromeVox.\n More context in the issue: https://github.com/angular/components/issues/22165.\n-->\n<svg\n [style.width.px]=\"diameter\"\n [style.height.px]=\"diameter\"\n [attr.viewBox]=\"_getViewBox()\"\n preserveAspectRatio=\"xMidYMid meet\"\n focusable=\"false\"\n [ngSwitch]=\"mode === 'indeterminate'\"\n aria-hidden=\"true\">\n\n <!--\n Technically we can reuse the same `circle` element, however Safari has an issue that breaks\n the SVG rendering in determinate mode, after switching between indeterminate and determinate.\n Using a different element avoids the issue. An alternative to this is adding `display: none`\n for a split second and then removing it when switching between modes, but it's hard to know\n for how long to hide the element and it can cause the UI to blink.\n -->\n <circle\n *ngSwitchCase=\"true\"\n cx=\"50%\"\n cy=\"50%\"\n [attr.r]=\"_getCircleRadius()\"\n [style.animation-name]=\"'mat-progress-spinner-stroke-rotate-' + _spinnerAnimationLabel\"\n [style.stroke-dashoffset.px]=\"_getStrokeDashOffset()\"\n [style.stroke-dasharray.px]=\"_getStrokeCircumference()\"\n [style.stroke-width.%]=\"_getCircleStrokeWidth()\"></circle>\n\n <circle\n *ngSwitchCase=\"false\"\n cx=\"50%\"\n cy=\"50%\"\n [attr.r]=\"_getCircleRadius()\"\n [style.stroke-dashoffset.px]=\"_getStrokeDashOffset()\"\n [style.stroke-dasharray.px]=\"_getStrokeCircumference()\"\n [style.stroke-width.%]=\"_getCircleStrokeWidth()\"></circle>\n</svg>\n",
267 changeDetection: ChangeDetectionStrategy.OnPush,
268 encapsulation: ViewEncapsulation.None,
269 styles: [".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor;stroke:CanvasText}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] svg{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\n"]
270 },] }
271];
272MatSpinner.ctorParameters = () => [
273 { type: ElementRef },
274 { type: Platform },
275 { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] },
276 { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] },
277 { type: undefined, decorators: [{ type: Inject, args: [MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS,] }] }
278];
279
280/**
281 * @license
282 * Copyright Google LLC All Rights Reserved.
283 *
284 * Use of this source code is governed by an MIT-style license that can be
285 * found in the LICENSE file at https://angular.io/license
286 */
287class MatProgressSpinnerModule {
288}
289MatProgressSpinnerModule.decorators = [
290 { type: NgModule, args: [{
291 imports: [MatCommonModule, CommonModule],
292 exports: [
293 MatProgressSpinner,
294 MatSpinner,
295 MatCommonModule
296 ],
297 declarations: [
298 MatProgressSpinner,
299 MatSpinner
300 ],
301 },] }
302];
303
304/**
305 * @license
306 * Copyright Google LLC All Rights Reserved.
307 *
308 * Use of this source code is governed by an MIT-style license that can be
309 * found in the LICENSE file at https://angular.io/license
310 */
311
312/**
313 * Generated bundle index. Do not edit.
314 */
315
316export { MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS, MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY, MatProgressSpinner, MatProgressSpinnerModule, MatSpinner };
317//# sourceMappingURL=progress-spinner.js.map
Note: See TracBrowser for help on using the repository browser.