1 | import { coerceNumberProperty } from '@angular/cdk/coercion';
|
2 | import * as i1 from '@angular/cdk/platform';
|
3 | import { _getShadowRoot } from '@angular/cdk/platform';
|
4 | import * as i3 from '@angular/common';
|
5 | import { DOCUMENT, CommonModule } from '@angular/common';
|
6 | import * as i0 from '@angular/core';
|
7 | import { InjectionToken, Component, ChangeDetectionStrategy, ViewEncapsulation, Optional, Inject, Input, NgModule } from '@angular/core';
|
8 | import { mixinColor, MatCommonModule } from '@angular/material/core';
|
9 | import { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';
|
10 | import { Subscription } from 'rxjs';
|
11 | import * as i2 from '@angular/cdk/scrolling';
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 | const BASE_SIZE = 100;
|
25 |
|
26 |
|
27 |
|
28 |
|
29 | const BASE_STROKE_WIDTH = 10;
|
30 |
|
31 |
|
32 | const _MatProgressSpinnerBase = mixinColor(class {
|
33 | constructor(_elementRef) {
|
34 | this._elementRef = _elementRef;
|
35 | }
|
36 | }, 'primary');
|
37 |
|
38 | const MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS = new InjectionToken('mat-progress-spinner-default-options', {
|
39 | providedIn: 'root',
|
40 | factory: MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY,
|
41 | });
|
42 |
|
43 | function MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY() {
|
44 | return { diameter: BASE_SIZE };
|
45 | }
|
46 |
|
47 |
|
48 |
|
49 |
|
50 | const INDETERMINATE_ANIMATION_TEMPLATE = `
|
51 | @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {
|
52 | 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }
|
53 | 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }
|
54 | 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }
|
55 | 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }
|
56 |
|
57 | 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }
|
58 | 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }
|
59 | 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }
|
60 | 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }
|
61 |
|
62 | 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }
|
63 | 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }
|
64 | 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }
|
65 | 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }
|
66 |
|
67 | 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }
|
68 | 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }
|
69 | 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }
|
70 | 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }
|
71 | }
|
72 | `;
|
73 |
|
74 |
|
75 |
|
76 | class MatProgressSpinner extends _MatProgressSpinnerBase {
|
77 | constructor(elementRef, _platform, _document, animationMode, defaults,
|
78 | /**
|
79 | * @deprecated `changeDetectorRef`, `viewportRuler` and `ngZone`
|
80 | * parameters to become required.
|
81 | * @breaking-change 14.0.0
|
82 | */
|
83 | changeDetectorRef, viewportRuler, ngZone) {
|
84 | super(elementRef);
|
85 | this._document = _document;
|
86 | this._diameter = BASE_SIZE;
|
87 | this._value = 0;
|
88 | this._resizeSubscription = Subscription.EMPTY;
|
89 |
|
90 | this.mode = 'determinate';
|
91 | const trackedDiameters = MatProgressSpinner._diameters;
|
92 | this._spinnerAnimationLabel = this._getSpinnerAnimationLabel();
|
93 |
|
94 |
|
95 | if (!trackedDiameters.has(_document.head)) {
|
96 | trackedDiameters.set(_document.head, new Set([BASE_SIZE]));
|
97 | }
|
98 | this._noopAnimations =
|
99 | animationMode === 'NoopAnimations' && !!defaults && !defaults._forceAnimations;
|
100 | if (elementRef.nativeElement.nodeName.toLowerCase() === 'mat-spinner') {
|
101 | this.mode = 'indeterminate';
|
102 | }
|
103 | if (defaults) {
|
104 | if (defaults.color) {
|
105 | this.color = this.defaultColor = defaults.color;
|
106 | }
|
107 | if (defaults.diameter) {
|
108 | this.diameter = defaults.diameter;
|
109 | }
|
110 | if (defaults.strokeWidth) {
|
111 | this.strokeWidth = defaults.strokeWidth;
|
112 | }
|
113 | }
|
114 |
|
115 |
|
116 |
|
117 |
|
118 |
|
119 |
|
120 | if (_platform.isBrowser && _platform.SAFARI && viewportRuler && changeDetectorRef && ngZone) {
|
121 | this._resizeSubscription = viewportRuler.change(150).subscribe(() => {
|
122 |
|
123 |
|
124 | if (this.mode === 'indeterminate') {
|
125 | ngZone.run(() => changeDetectorRef.markForCheck());
|
126 | }
|
127 | });
|
128 | }
|
129 | }
|
130 |
|
131 | get diameter() {
|
132 | return this._diameter;
|
133 | }
|
134 | set diameter(size) {
|
135 | this._diameter = coerceNumberProperty(size);
|
136 | this._spinnerAnimationLabel = this._getSpinnerAnimationLabel();
|
137 |
|
138 | if (this._styleRoot) {
|
139 | this._attachStyleNode();
|
140 | }
|
141 | }
|
142 |
|
143 | get strokeWidth() {
|
144 | return this._strokeWidth || this.diameter / 10;
|
145 | }
|
146 | set strokeWidth(value) {
|
147 | this._strokeWidth = coerceNumberProperty(value);
|
148 | }
|
149 |
|
150 | get value() {
|
151 | return this.mode === 'determinate' ? this._value : 0;
|
152 | }
|
153 | set value(newValue) {
|
154 | this._value = Math.max(0, Math.min(100, coerceNumberProperty(newValue)));
|
155 | }
|
156 | ngOnInit() {
|
157 | const element = this._elementRef.nativeElement;
|
158 |
|
159 |
|
160 |
|
161 | this._styleRoot = _getShadowRoot(element) || this._document.head;
|
162 | this._attachStyleNode();
|
163 | element.classList.add('mat-progress-spinner-indeterminate-animation');
|
164 | }
|
165 | ngOnDestroy() {
|
166 | this._resizeSubscription.unsubscribe();
|
167 | }
|
168 |
|
169 | _getCircleRadius() {
|
170 | return (this.diameter - BASE_STROKE_WIDTH) / 2;
|
171 | }
|
172 |
|
173 | _getViewBox() {
|
174 | const viewBox = this._getCircleRadius() * 2 + this.strokeWidth;
|
175 | return `0 0 ${viewBox} ${viewBox}`;
|
176 | }
|
177 |
|
178 | _getStrokeCircumference() {
|
179 | return 2 * Math.PI * this._getCircleRadius();
|
180 | }
|
181 |
|
182 | _getStrokeDashOffset() {
|
183 | if (this.mode === 'determinate') {
|
184 | return (this._getStrokeCircumference() * (100 - this._value)) / 100;
|
185 | }
|
186 | return null;
|
187 | }
|
188 |
|
189 | _getCircleStrokeWidth() {
|
190 | return (this.strokeWidth / this.diameter) * 100;
|
191 | }
|
192 |
|
193 | _getCircleTransformOrigin(svg) {
|
194 | var _a;
|
195 |
|
196 |
|
197 |
|
198 |
|
199 | const scale = ((_a = svg.currentScale) !== null && _a !== void 0 ? _a : 1) * 50;
|
200 | return `${scale}% ${scale}%`;
|
201 | }
|
202 |
|
203 | _attachStyleNode() {
|
204 | const styleRoot = this._styleRoot;
|
205 | const currentDiameter = this._diameter;
|
206 | const diameters = MatProgressSpinner._diameters;
|
207 | let diametersForElement = diameters.get(styleRoot);
|
208 | if (!diametersForElement || !diametersForElement.has(currentDiameter)) {
|
209 | const styleTag = this._document.createElement('style');
|
210 | styleTag.setAttribute('mat-spinner-animation', this._spinnerAnimationLabel);
|
211 | styleTag.textContent = this._getAnimationText();
|
212 | styleRoot.appendChild(styleTag);
|
213 | if (!diametersForElement) {
|
214 | diametersForElement = new Set();
|
215 | diameters.set(styleRoot, diametersForElement);
|
216 | }
|
217 | diametersForElement.add(currentDiameter);
|
218 | }
|
219 | }
|
220 |
|
221 | _getAnimationText() {
|
222 | const strokeCircumference = this._getStrokeCircumference();
|
223 | return (INDETERMINATE_ANIMATION_TEMPLATE
|
224 |
|
225 | .replace(/START_VALUE/g, `${0.95 * strokeCircumference}`)
|
226 | .replace(/END_VALUE/g, `${0.2 * strokeCircumference}`)
|
227 | .replace(/DIAMETER/g, `${this._spinnerAnimationLabel}`));
|
228 | }
|
229 |
|
230 | _getSpinnerAnimationLabel() {
|
231 |
|
232 |
|
233 | return this.diameter.toString().replace('.', '_');
|
234 | }
|
235 | }
|
236 |
|
237 |
|
238 |
|
239 |
|
240 |
|
241 |
|
242 | MatProgressSpinner._diameters = new WeakMap();
|
243 | MatProgressSpinner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: MatProgressSpinner, deps: [{ token: i0.ElementRef }, { token: i1.Platform }, { token: DOCUMENT, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }, { token: MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS }, { token: i0.ChangeDetectorRef }, { token: i2.ViewportRuler }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
244 | MatProgressSpinner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: { color: "color", diameter: "diameter", strokeWidth: "strokeWidth", mode: "mode", value: "value" }, host: { attributes: { "role": "progressbar", "tabindex": "-1" }, properties: { "class._mat-animation-noopable": "_noopAnimations", "style.width.px": "diameter", "style.height.px": "diameter", "attr.aria-valuemin": "mode === \"determinate\" ? 0 : null", "attr.aria-valuemax": "mode === \"determinate\" ? 100 : null", "attr.aria-valuenow": "mode === \"determinate\" ? value : null", "attr.mode": "mode" }, classAttribute: "mat-progress-spinner mat-spinner" }, exportAs: ["matProgressSpinner"], usesInheritance: true, ngImport: i0, 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.\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 #svg>\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()\"\n [style.transform-origin]=\"_getCircleTransformOrigin(svg)\"></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()\"\n [style.transform-origin]=\"_getCircleTransformOrigin(svg)\"></circle>\n</svg>\n", 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:rgba(0,0,0,0);transition:stroke-dashoffset 225ms linear}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:CanvasText}.mat-progress-spinner[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}.mat-progress-spinner[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-progress-spinner._mat-animation-noopable svg,.mat-progress-spinner._mat-animation-noopable circle{animation:none;transition: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)}}"], dependencies: [{ kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
245 | i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: MatProgressSpinner, decorators: [{
|
246 | type: Component,
|
247 | args: [{ selector: 'mat-progress-spinner, mat-spinner', exportAs: 'matProgressSpinner', host: {
|
248 | 'role': 'progressbar',
|
249 |
|
250 | 'class': 'mat-progress-spinner mat-spinner',
|
251 |
|
252 |
|
253 | 'tabindex': '-1',
|
254 | '[class._mat-animation-noopable]': `_noopAnimations`,
|
255 | '[style.width.px]': 'diameter',
|
256 | '[style.height.px]': 'diameter',
|
257 | '[attr.aria-valuemin]': 'mode === "determinate" ? 0 : null',
|
258 | '[attr.aria-valuemax]': 'mode === "determinate" ? 100 : null',
|
259 | '[attr.aria-valuenow]': 'mode === "determinate" ? value : null',
|
260 | '[attr.mode]': 'mode',
|
261 | }, inputs: ['color'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, 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.\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 #svg>\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()\"\n [style.transform-origin]=\"_getCircleTransformOrigin(svg)\"></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()\"\n [style.transform-origin]=\"_getCircleTransformOrigin(svg)\"></circle>\n</svg>\n", 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:rgba(0,0,0,0);transition:stroke-dashoffset 225ms linear}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:CanvasText}.mat-progress-spinner[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}.mat-progress-spinner[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-progress-spinner._mat-animation-noopable svg,.mat-progress-spinner._mat-animation-noopable circle{animation:none;transition: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)}}"] }]
|
262 | }], ctorParameters: function () {
|
263 | return [{ type: i0.ElementRef }, { type: i1.Platform }, { type: undefined, decorators: [{
|
264 | type: Optional
|
265 | }, {
|
266 | type: Inject,
|
267 | args: [DOCUMENT]
|
268 | }] }, { type: undefined, decorators: [{
|
269 | type: Optional
|
270 | }, {
|
271 | type: Inject,
|
272 | args: [ANIMATION_MODULE_TYPE]
|
273 | }] }, { type: undefined, decorators: [{
|
274 | type: Inject,
|
275 | args: [MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS]
|
276 | }] }, { type: i0.ChangeDetectorRef }, { type: i2.ViewportRuler }, { type: i0.NgZone }];
|
277 | }, propDecorators: { diameter: [{
|
278 | type: Input
|
279 | }], strokeWidth: [{
|
280 | type: Input
|
281 | }], mode: [{
|
282 | type: Input
|
283 | }], value: [{
|
284 | type: Input
|
285 | }] } });
|
286 |
|
287 |
|
288 |
|
289 |
|
290 |
|
291 |
|
292 |
|
293 |
|
294 | class MatProgressSpinnerModule {
|
295 | }
|
296 | MatProgressSpinnerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: MatProgressSpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
297 | MatProgressSpinnerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: MatProgressSpinnerModule, declarations: [MatProgressSpinner], imports: [MatCommonModule, CommonModule], exports: [MatProgressSpinner, MatCommonModule] });
|
298 | MatProgressSpinnerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: MatProgressSpinnerModule, imports: [MatCommonModule, CommonModule, MatCommonModule] });
|
299 | i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: MatProgressSpinnerModule, decorators: [{
|
300 | type: NgModule,
|
301 | args: [{
|
302 | imports: [MatCommonModule, CommonModule],
|
303 | exports: [MatProgressSpinner, MatCommonModule],
|
304 | declarations: [MatProgressSpinner],
|
305 | }]
|
306 | }] });
|
307 |
|
308 |
|
309 |
|
310 |
|
311 |
|
312 |
|
313 |
|
314 |
|
315 |
|
316 |
|
317 |
|
318 |
|
319 |
|
320 |
|
321 | const MatSpinner = MatProgressSpinner;
|
322 |
|
323 |
|
324 |
|
325 |
|
326 |
|
327 |
|
328 |
|
329 |
|
330 |
|
331 |
|
332 |
|
333 |
|
334 |
|
335 | export { MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS, MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY, MatProgressSpinner, MatProgressSpinnerModule, MatSpinner };
|
336 |
|