ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
677 lines (669 loc) • 25.8 kB
JavaScript
import { CommonModule } from '@angular/common';
import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, NgModule } from '@angular/core';
import { NzOutletModule } from 'ng-zorro-antd/core/outlet';
import { NzIconModule } from 'ng-zorro-antd/icon';
import { __rest, __decorate, __metadata } from 'tslib';
import { NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';
import { isNotNil, InputNumber } from 'ng-zorro-antd/core/util';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
/**
* @fileoverview added by tsickle
* Generated from: utils.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @license
* Copyright Alibaba.com All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
*/
/**
* @param {?} percent
* @return {?}
*/
function stripPercentToNumber(percent) {
return +percent.replace('%', '');
}
/** @type {?} */
var sortGradient = (/**
* @param {?} gradients
* @return {?}
*/
function (gradients) {
/** @type {?} */
var tempArr = [];
Object.keys(gradients).forEach((/**
* @param {?} key
* @return {?}
*/
function (key) {
/** @type {?} */
var value = gradients[key];
/** @type {?} */
var formatKey = stripPercentToNumber(key);
if (!isNaN(formatKey)) {
tempArr.push({
key: formatKey,
value: value
});
}
}));
tempArr = tempArr.sort((/**
* @param {?} a
* @param {?} b
* @return {?}
*/
function (a, b) { return a.key - b.key; }));
return tempArr;
});
/** @type {?} */
var handleCircleGradient = (/**
* @param {?} strokeColor
* @return {?}
*/
function (strokeColor) {
return sortGradient(strokeColor).map((/**
* @param {?} __0
* @return {?}
*/
function (_a) {
var key = _a.key, value = _a.value;
return ({ offset: key + "%", color: value });
}));
});
/** @type {?} */
var handleLinearGradient = (/**
* @param {?} strokeColor
* @return {?}
*/
function (strokeColor) {
var _a = strokeColor.from, from = _a === void 0 ? '#1890ff' : _a, _b = strokeColor.to, to = _b === void 0 ? '#1890ff' : _b, _c = strokeColor.direction, direction = _c === void 0 ? 'to right' : _c, rest = __rest(strokeColor, ["from", "to", "direction"]);
if (Object.keys(rest).length !== 0) {
/** @type {?} */
var sortedGradients = sortGradient((/** @type {?} */ (rest)))
.map((/**
* @param {?} __0
* @return {?}
*/
function (_a) {
var key = _a.key, value = _a.value;
return value + " " + key + "%";
}))
.join(', ');
return "linear-gradient(" + direction + ", " + sortedGradients + ")";
}
return "linear-gradient(" + direction + ", " + from + ", " + to + ")";
});
/**
* @fileoverview added by tsickle
* Generated from: progress.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
var gradientIdSeed = 0;
/** @type {?} */
var NZ_CONFIG_COMPONENT_NAME = 'progress';
/** @type {?} */
var statusIconNameMap = new Map([
['success', 'check'],
['exception', 'close']
]);
/** @type {?} */
var statusColorMap = new Map([
['normal', '#108ee9'],
['exception', '#ff5500'],
['success', '#87d068']
]);
/** @type {?} */
var defaultFormatter = (/**
* @param {?} p
* @return {?}
*/
function (p) { return p + "%"; });
var ɵ0 = defaultFormatter;
var NzProgressComponent = /** @class */ (function () {
function NzProgressComponent(nzConfigService) {
this.nzConfigService = nzConfigService;
this.nzWidth = 132;
this.nzPercent = 0;
this.nzType = 'line';
this.steps = [];
/**
* Gradient style when `nzType` is `line`.
*/
this.lineGradient = null;
/**
* If user uses gradient color.
*/
this.isGradient = false;
/**
* If the linear progress is a step progress.
*/
this.isSteps = false;
/**
* Each progress whose `nzType` is circle or dashboard should have unique id to
* define `<linearGradient>`.
*/
this.gradientId = gradientIdSeed++;
/**
* Paths to rendered in the template.
*/
this.progressCirclePath = [];
this.trackByFn = (/**
* @param {?} index
* @return {?}
*/
function (index) { return "" + index; });
this.cachedStatus = 'normal';
this.inferredStatus = 'normal';
this.destroy$ = new Subject();
}
Object.defineProperty(NzProgressComponent.prototype, "formatter", {
get: /**
* @return {?}
*/
function () {
return this.nzFormat || defaultFormatter;
},
enumerable: true,
configurable: true
});
Object.defineProperty(NzProgressComponent.prototype, "status", {
get: /**
* @return {?}
*/
function () {
return this.nzStatus || this.inferredStatus;
},
enumerable: true,
configurable: true
});
Object.defineProperty(NzProgressComponent.prototype, "strokeWidth", {
get: /**
* @return {?}
*/
function () {
return this.nzStrokeWidth || (this.nzType === 'line' && this.nzSize !== 'small' ? 8 : 6);
},
enumerable: true,
configurable: true
});
Object.defineProperty(NzProgressComponent.prototype, "isCircleStyle", {
get: /**
* @return {?}
*/
function () {
return this.nzType === 'circle' || this.nzType === 'dashboard';
},
enumerable: true,
configurable: true
});
/**
* @param {?} changes
* @return {?}
*/
NzProgressComponent.prototype.ngOnChanges = /**
* @param {?} changes
* @return {?}
*/
function (changes) {
var nzSteps = changes.nzSteps, nzGapPosition = changes.nzGapPosition, nzStrokeLinecap = changes.nzStrokeLinecap, nzStrokeColor = changes.nzStrokeColor, nzGapDegree = changes.nzGapDegree, nzType = changes.nzType, nzStatus = changes.nzStatus, nzPercent = changes.nzPercent, nzSuccessPercent = changes.nzSuccessPercent;
if (nzStatus) {
this.cachedStatus = this.nzStatus || this.cachedStatus;
}
if (nzPercent || nzSuccessPercent) {
/** @type {?} */
var fillAll = parseInt(this.nzPercent.toString(), 10) >= 100;
if (fillAll) {
if ((isNotNil(this.nzSuccessPercent) && (/** @type {?} */ (this.nzSuccessPercent)) >= 100) || this.nzSuccessPercent === undefined) {
this.inferredStatus = 'success';
}
}
else {
this.inferredStatus = this.cachedStatus;
}
}
if (nzStatus || nzPercent || nzSuccessPercent) {
this.updateIcon();
}
if (nzStrokeColor) {
this.setStrokeColor();
}
if (nzGapPosition || nzStrokeLinecap || nzGapDegree || nzType || nzPercent || nzStrokeColor) {
this.getCirclePaths();
}
if (nzSteps) {
this.isSteps = isNotNil(nzSteps.currentValue);
this.getSteps();
}
};
/**
* @return {?}
*/
NzProgressComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
this.nzConfigService
.getConfigChangeEventForComponent(NZ_CONFIG_COMPONENT_NAME)
.pipe(takeUntil(this.destroy$))
.subscribe((/**
* @return {?}
*/
function () {
_this.updateIcon();
_this.setStrokeColor();
_this.getCirclePaths();
}));
};
/**
* @return {?}
*/
NzProgressComponent.prototype.ngOnDestroy = /**
* @return {?}
*/
function () {
this.destroy$.next();
this.destroy$.complete();
};
/**
* @private
* @return {?}
*/
NzProgressComponent.prototype.updateIcon = /**
* @private
* @return {?}
*/
function () {
/** @type {?} */
var ret = statusIconNameMap.get(this.status);
this.icon = ret ? ret + (this.isCircleStyle ? '-o' : '-circle-fill') : '';
};
/**
* Calculate step render configs.
*/
/**
* Calculate step render configs.
* @private
* @return {?}
*/
NzProgressComponent.prototype.getSteps = /**
* Calculate step render configs.
* @private
* @return {?}
*/
function () {
/** @type {?} */
var current = Math.floor((/** @type {?} */ (this.nzSteps)) * (this.nzPercent / 100));
/** @type {?} */
var stepWidth = this.nzSize === 'small' ? 2 : 14;
for (var i = 0; i < (/** @type {?} */ (this.nzSteps)); i++) {
/** @type {?} */
var color = void 0;
if (i <= current - 1) {
color = this.nzStrokeColor;
}
/** @type {?} */
var stepStyle = {
backgroundColor: "" + color,
width: stepWidth + "px",
height: this.strokeWidth + "px"
};
this.steps.push(stepStyle);
}
};
/**
* Calculate paths when the type is circle or dashboard.
*/
/**
* Calculate paths when the type is circle or dashboard.
* @private
* @return {?}
*/
NzProgressComponent.prototype.getCirclePaths = /**
* Calculate paths when the type is circle or dashboard.
* @private
* @return {?}
*/
function () {
var _this = this;
if (!this.isCircleStyle) {
return;
}
/** @type {?} */
var values = isNotNil(this.nzSuccessPercent) ? [(/** @type {?} */ (this.nzSuccessPercent)), this.nzPercent] : [this.nzPercent];
// Calculate shared styles.
/** @type {?} */
var radius = 50 - this.strokeWidth / 2;
/** @type {?} */
var gapPosition = this.nzGapPosition || (this.nzType === 'circle' ? 'top' : 'bottom');
/** @type {?} */
var len = Math.PI * 2 * radius;
/** @type {?} */
var gapDegree = this.nzGapDegree || (this.nzType === 'circle' ? 0 : 75);
/** @type {?} */
var beginPositionX = 0;
/** @type {?} */
var beginPositionY = -radius;
/** @type {?} */
var endPositionX = 0;
/** @type {?} */
var endPositionY = radius * -2;
switch (gapPosition) {
case 'left':
beginPositionX = -radius;
beginPositionY = 0;
endPositionX = radius * 2;
endPositionY = 0;
break;
case 'right':
beginPositionX = radius;
beginPositionY = 0;
endPositionX = radius * -2;
endPositionY = 0;
break;
case 'bottom':
beginPositionY = radius;
endPositionY = radius * 2;
break;
default:
}
this.pathString = "M 50,50 m " + beginPositionX + "," + beginPositionY + "\n a " + radius + "," + radius + " 0 1 1 " + endPositionX + "," + -endPositionY + "\n a " + radius + "," + radius + " 0 1 1 " + -endPositionX + "," + endPositionY;
this.trailPathStyle = {
strokeDasharray: len - gapDegree + "px " + len + "px",
strokeDashoffset: "-" + gapDegree / 2 + "px",
transition: 'stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s'
};
// Calculate styles for each path.
this.progressCirclePath = values
.map((/**
* @param {?} value
* @param {?} index
* @return {?}
*/
function (value, index) {
/** @type {?} */
var isSuccessPercent = values.length === 2 && index === 0;
return {
stroke: _this.isGradient && !isSuccessPercent ? "url(#gradient-" + _this.gradientId + ")" : null,
strokePathStyle: {
stroke: !_this.isGradient ? (isSuccessPercent ? statusColorMap.get('success') : ((/** @type {?} */ (_this.nzStrokeColor)))) : null,
transition: 'stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s',
strokeDasharray: ((value || 0) / 100) * (len - gapDegree) + "px " + len + "px",
strokeDashoffset: "-" + gapDegree / 2 + "px"
}
};
}))
.reverse();
};
/**
* @private
* @return {?}
*/
NzProgressComponent.prototype.setStrokeColor = /**
* @private
* @return {?}
*/
function () {
/** @type {?} */
var color = this.nzStrokeColor;
/** @type {?} */
var isGradient = (this.isGradient = !!color && typeof color !== 'string');
if (isGradient && !this.isCircleStyle) {
this.lineGradient = handleLinearGradient((/** @type {?} */ (color)));
}
else if (isGradient && this.isCircleStyle) {
this.circleGradient = handleCircleGradient((/** @type {?} */ (this.nzStrokeColor)));
}
else {
this.lineGradient = null;
this.circleGradient = [];
}
};
NzProgressComponent.decorators = [
{ type: Component, args: [{
changeDetection: ChangeDetectionStrategy.OnPush,
encapsulation: ViewEncapsulation.None,
selector: 'nz-progress',
exportAs: 'nzProgress',
preserveWhitespaces: false,
template: "\n <ng-template #progressInfoTemplate>\n <span class=\"ant-progress-text\" *ngIf=\"nzShowInfo\">\n <ng-container *ngIf=\"(status === 'exception' || status === 'success') && !nzFormat; else formatTemplate\">\n <i nz-icon [nzType]=\"icon\"></i>\n </ng-container>\n <ng-template #formatTemplate>\n <ng-container *nzStringTemplateOutlet=\"formatter; context: { $implicit: nzPercent }\">\n {{ $any(formatter)(nzPercent) }}\n </ng-container>\n </ng-template>\n </span>\n </ng-template>\n\n <div\n [ngClass]=\"'ant-progress ant-progress-status-' + status\"\n [class.ant-progress-line]=\"nzType == 'line'\"\n [class.ant-progress-small]=\"nzSize == 'small'\"\n [class.ant-progress-show-info]=\"nzShowInfo\"\n [class.ant-progress-circle]=\"isCircleStyle\"\n [class.ant-progress-steps]=\"isSteps\"\n >\n <!-- line progress -->\n <div *ngIf=\"nzType === 'line'\">\n <ng-container *ngIf=\"!isSteps\">\n <div class=\"ant-progress-outer\" *ngIf=\"!isSteps\">\n <div class=\"ant-progress-inner\">\n <div\n class=\"ant-progress-bg\"\n [style.width.%]=\"nzPercent\"\n [style.border-radius]=\"nzStrokeLinecap === 'round' ? '100px' : '0'\"\n [style.background]=\"!isGradient ? nzStrokeColor : null\"\n [style.background-image]=\"isGradient ? lineGradient : null\"\n [style.height.px]=\"strokeWidth\"\n ></div>\n <div\n *ngIf=\"nzSuccessPercent || nzSuccessPercent === 0\"\n class=\"ant-progress-success-bg\"\n [style.width.%]=\"nzSuccessPercent\"\n [style.border-radius]=\"nzStrokeLinecap === 'round' ? '100px' : '0'\"\n [style.height.px]=\"strokeWidth\"\n ></div>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"progressInfoTemplate\"></ng-template>\n </ng-container>\n <!-- Step style progress -->\n <div class=\"ant-progress-steps-outer\" *ngIf=\"isSteps\">\n <div *ngFor=\"let step of steps; let i = index\" class=\"ant-progress-steps-item\" [ngStyle]=\"step\"></div>\n <ng-template [ngTemplateOutlet]=\"progressInfoTemplate\"></ng-template>\n </div>\n </div>\n\n <!-- circle / dashboard progress -->\n <div\n [style.width.px]=\"this.nzWidth\"\n [style.height.px]=\"this.nzWidth\"\n [style.fontSize.px]=\"this.nzWidth * 0.15 + 6\"\n class=\"ant-progress-inner\"\n [class.ant-progress-circle-gradient]=\"isGradient\"\n *ngIf=\"isCircleStyle\"\n >\n <svg class=\"ant-progress-circle \" viewBox=\"0 0 100 100\">\n <defs *ngIf=\"isGradient\">\n <linearGradient [id]=\"'gradient-' + gradientId\" x1=\"100%\" y1=\"0%\" x2=\"0%\" y2=\"0%\">\n <stop *ngFor=\"let i of circleGradient\" [attr.offset]=\"i.offset\" [attr.stop-color]=\"i.color\"></stop>\n </linearGradient>\n </defs>\n <path\n class=\"ant-progress-circle-trail\"\n stroke=\"#f3f3f3\"\n fill-opacity=\"0\"\n [attr.stroke-width]=\"strokeWidth\"\n [attr.d]=\"pathString\"\n [ngStyle]=\"trailPathStyle\"\n ></path>\n <path\n *ngFor=\"let p of progressCirclePath; trackBy: trackByFn\"\n class=\"ant-progress-circle-path\"\n fill-opacity=\"0\"\n [attr.d]=\"pathString\"\n [attr.stroke-linecap]=\"nzStrokeLinecap\"\n [attr.stroke]=\"p.stroke\"\n [attr.stroke-width]=\"nzPercent ? strokeWidth : 0\"\n [ngStyle]=\"p.strokePathStyle\"\n ></path>\n </svg>\n <ng-template [ngTemplateOutlet]=\"progressInfoTemplate\"></ng-template>\n </div>\n </div>\n "
}] }
];
/** @nocollapse */
NzProgressComponent.ctorParameters = function () { return [
{ type: NzConfigService }
]; };
NzProgressComponent.propDecorators = {
nzShowInfo: [{ type: Input }],
nzWidth: [{ type: Input }],
nzStrokeColor: [{ type: Input }],
nzSize: [{ type: Input }],
nzFormat: [{ type: Input }],
nzSuccessPercent: [{ type: Input }],
nzPercent: [{ type: Input }],
nzStrokeWidth: [{ type: Input }],
nzGapDegree: [{ type: Input }],
nzStatus: [{ type: Input }],
nzType: [{ type: Input }],
nzGapPosition: [{ type: Input }],
nzStrokeLinecap: [{ type: Input }],
nzSteps: [{ type: Input }]
};
__decorate([
WithConfig(NZ_CONFIG_COMPONENT_NAME, true),
__metadata("design:type", Boolean)
], NzProgressComponent.prototype, "nzShowInfo", void 0);
__decorate([
WithConfig(NZ_CONFIG_COMPONENT_NAME),
__metadata("design:type", Object)
], NzProgressComponent.prototype, "nzStrokeColor", void 0);
__decorate([
WithConfig(NZ_CONFIG_COMPONENT_NAME, 'default'),
__metadata("design:type", String)
], NzProgressComponent.prototype, "nzSize", void 0);
__decorate([
InputNumber(),
__metadata("design:type", Number)
], NzProgressComponent.prototype, "nzSuccessPercent", void 0);
__decorate([
InputNumber(),
__metadata("design:type", Number)
], NzProgressComponent.prototype, "nzPercent", void 0);
__decorate([
WithConfig(NZ_CONFIG_COMPONENT_NAME), InputNumber(),
__metadata("design:type", Number)
], NzProgressComponent.prototype, "nzStrokeWidth", void 0);
__decorate([
WithConfig(NZ_CONFIG_COMPONENT_NAME), InputNumber(),
__metadata("design:type", Number)
], NzProgressComponent.prototype, "nzGapDegree", void 0);
__decorate([
WithConfig(NZ_CONFIG_COMPONENT_NAME, 'top'),
__metadata("design:type", String)
], NzProgressComponent.prototype, "nzGapPosition", void 0);
__decorate([
WithConfig(NZ_CONFIG_COMPONENT_NAME, 'round'),
__metadata("design:type", String)
], NzProgressComponent.prototype, "nzStrokeLinecap", void 0);
__decorate([
InputNumber(),
__metadata("design:type", Number)
], NzProgressComponent.prototype, "nzSteps", void 0);
return NzProgressComponent;
}());
if (false) {
/** @type {?} */
NzProgressComponent.ngAcceptInputType_nzSuccessPercent;
/** @type {?} */
NzProgressComponent.ngAcceptInputType_nzPercent;
/** @type {?} */
NzProgressComponent.ngAcceptInputType_nzStrokeWidth;
/** @type {?} */
NzProgressComponent.ngAcceptInputType_nzGapDegree;
/** @type {?} */
NzProgressComponent.ngAcceptInputType_nzSteps;
/** @type {?} */
NzProgressComponent.prototype.nzShowInfo;
/** @type {?} */
NzProgressComponent.prototype.nzWidth;
/** @type {?} */
NzProgressComponent.prototype.nzStrokeColor;
/** @type {?} */
NzProgressComponent.prototype.nzSize;
/** @type {?} */
NzProgressComponent.prototype.nzFormat;
/** @type {?} */
NzProgressComponent.prototype.nzSuccessPercent;
/** @type {?} */
NzProgressComponent.prototype.nzPercent;
/** @type {?} */
NzProgressComponent.prototype.nzStrokeWidth;
/** @type {?} */
NzProgressComponent.prototype.nzGapDegree;
/** @type {?} */
NzProgressComponent.prototype.nzStatus;
/** @type {?} */
NzProgressComponent.prototype.nzType;
/** @type {?} */
NzProgressComponent.prototype.nzGapPosition;
/** @type {?} */
NzProgressComponent.prototype.nzStrokeLinecap;
/** @type {?} */
NzProgressComponent.prototype.nzSteps;
/** @type {?} */
NzProgressComponent.prototype.steps;
/**
* Gradient style when `nzType` is `line`.
* @type {?}
*/
NzProgressComponent.prototype.lineGradient;
/**
* If user uses gradient color.
* @type {?}
*/
NzProgressComponent.prototype.isGradient;
/**
* If the linear progress is a step progress.
* @type {?}
*/
NzProgressComponent.prototype.isSteps;
/**
* Each progress whose `nzType` is circle or dashboard should have unique id to
* define `<linearGradient>`.
* @type {?}
*/
NzProgressComponent.prototype.gradientId;
/**
* Paths to rendered in the template.
* @type {?}
*/
NzProgressComponent.prototype.progressCirclePath;
/** @type {?} */
NzProgressComponent.prototype.circleGradient;
/** @type {?} */
NzProgressComponent.prototype.trailPathStyle;
/** @type {?} */
NzProgressComponent.prototype.pathString;
/** @type {?} */
NzProgressComponent.prototype.icon;
/** @type {?} */
NzProgressComponent.prototype.trackByFn;
/**
* @type {?}
* @private
*/
NzProgressComponent.prototype.cachedStatus;
/**
* @type {?}
* @private
*/
NzProgressComponent.prototype.inferredStatus;
/**
* @type {?}
* @private
*/
NzProgressComponent.prototype.destroy$;
/** @type {?} */
NzProgressComponent.prototype.nzConfigService;
}
/**
* @fileoverview added by tsickle
* Generated from: progress.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var NzProgressModule = /** @class */ (function () {
function NzProgressModule() {
}
NzProgressModule.decorators = [
{ type: NgModule, args: [{
exports: [NzProgressComponent],
declarations: [NzProgressComponent],
imports: [CommonModule, NzIconModule, NzOutletModule]
},] }
];
return NzProgressModule;
}());
/**
* @fileoverview added by tsickle
* Generated from: typings.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @license
* Copyright Alibaba.com All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
*/
/**
* @record
*/
function NzProgressGradientProgress() { }
/**
* @record
*/
function NzProgressGradientFromTo() { }
if (false) {
/** @type {?} */
NzProgressGradientFromTo.prototype.from;
/** @type {?} */
NzProgressGradientFromTo.prototype.to;
}
/**
* @record
*/
function NzProgressCirclePath() { }
if (false) {
/** @type {?} */
NzProgressCirclePath.prototype.stroke;
/** @type {?} */
NzProgressCirclePath.prototype.strokePathStyle;
}
/**
* @record
*/
function NzProgressStepItem() { }
if (false) {
/** @type {?} */
NzProgressStepItem.prototype.backgroundColor;
/** @type {?} */
NzProgressStepItem.prototype.width;
/** @type {?} */
NzProgressStepItem.prototype.height;
}
/**
* @fileoverview added by tsickle
* Generated from: public-api.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @fileoverview added by tsickle
* Generated from: ng-zorro-antd-progress.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export { NzProgressComponent, NzProgressModule };
//# sourceMappingURL=ng-zorro-antd-progress.js.map