@progress/kendo-angular-progressbar 3.1.0-dev.202207261042 → 3.1.0-dev.202208021514

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,4 +2,4 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@progress/kendo-licensing"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-angular-common"),require("@angular/common"),require("rxjs")):"function"==typeof define&&define.amd?define("KendoAngularProgressbar",["exports","@angular/core","@progress/kendo-licensing","@progress/kendo-angular-l10n","@progress/kendo-angular-common","@angular/common","rxjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoAngularProgressbar={},e.ng.core,e.KendoLicensing,e.KendoAngularL10N,e.KendoAngularCommon,e.ng.common,e.rxjs)}(this,function(e,a,n,t,i,r,o){"use strict";function s(r){if(r&&r.__esModule)return r;var s=Object.create(null);return r&&Object.keys(r).forEach(function(e){var t;"default"!==e&&(t=Object.getOwnPropertyDescriptor(r,e),Object.defineProperty(s,e,t.get?t:{enumerable:!0,get:function(){return r[e]}}))}),s.default=r,Object.freeze(s)}var l=s(a),p=s(t),u=s(r),c=function(e,t){return(c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)};function g(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}c(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}Object.create;Object.create;function h(e,t,r,s){var n,i,a,o,l=1===(n=e.toString().split(".")).length?""+n[0]:n[0]+"."+n[1].substr(0,v);if("boolean"!=typeof s){if("string"!=typeof s.format)return"function"==typeof s.format?s.format(e):l;switch(s.format){case"value":return l;case"percent":return Math.floor((i=e,a=t,o=Math.abs((r-a)/100),Math.abs((i-a)/o)))+"%";default:return l}}return l}function m(e,t,r){return Math.max(Math.min(r,t),e)}function d(e,t,r){return Math.max((r-e)/(t-e),1e-4)}function y(e,t,r){return e[t]&&void 0!==e[t].currentValue?e[t].currentValue:r}function f(e,t){e.forEach(function(e){t[e.method](e.el,e.attr,""+e.attrValue)})}var b={name:"@progress/kendo-angular-progressbar",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1658832123,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"},v=3,C=(Object.defineProperty(k.prototype,"isHorizontal",{get:function(){return"horizontal"===this.orientation},enumerable:!1,configurable:!0}),Object.defineProperty(k.prototype,"isVertical",{get:function(){return"vertical"===this.orientation},enumerable:!1,configurable:!0}),Object.defineProperty(k.prototype,"disabledClass",{get:function(){return this.disabled},enumerable:!1,configurable:!0}),Object.defineProperty(k.prototype,"reverseClass",{get:function(){return this.reverse},enumerable:!1,configurable:!0}),Object.defineProperty(k.prototype,"indeterminateClass",{get:function(){return this.indeterminate},enumerable:!1,configurable:!0}),Object.defineProperty(k.prototype,"dirAttribute",{get:function(){return this.direction},enumerable:!1,configurable:!0}),Object.defineProperty(k.prototype,"ariaMinAttribute",{get:function(){return String(this.min)},enumerable:!1,configurable:!0}),Object.defineProperty(k.prototype,"ariaMaxAttribute",{get:function(){return String(this.max)},enumerable:!1,configurable:!0}),Object.defineProperty(k.prototype,"ariaValueAttribute",{get:function(){return this.indeterminate?void 0:String(this.displayValue)},enumerable:!1,configurable:!0}),Object.defineProperty(k.prototype,"isCompleted",{get:function(){return this.value===this.max},enumerable:!1,configurable:!0}),Object.defineProperty(k.prototype,"statusWidth",{get:function(){return"horizontal"===this.orientation?100*this._progressRatio:100},enumerable:!1,configurable:!0}),Object.defineProperty(k.prototype,"statusHeight",{get:function(){return"vertical"===this.orientation?100*this._progressRatio:100},enumerable:!1,configurable:!0}),Object.defineProperty(k.prototype,"statusWrapperWidth",{get:function(){return"horizontal"===this.orientation?100/this._progressRatio:100},enumerable:!1,configurable:!0}),Object.defineProperty(k.prototype,"statusWrapperHeight",{get:function(){return"vertical"===this.orientation?100/this._progressRatio:100},enumerable:!1,configurable:!0}),Object.defineProperty(k.prototype,"_progressRatio",{get:function(){return d(this.min,this.max,this.displayValue)},enumerable:!1,configurable:!0}),k.prototype.ngOnChanges=function(e){var t=y(e,"min",this.min),r=y(e,"max",this.max),s=y(e,"value",this.value);if(e.min||e.max||e.value){if(e.min||e.max){var n=t,i=r;if(a.isDevMode&&i<n)throw new Error("The max value should be greater than the min.")}e.value&&(null!=s&&!Number.isNaN(s)||(this.value=t),i=this.displayValue,this.displayValue=m(this.min,this.max,s),this.previousValue=i),this.min=t,this.max=r,this.displayValue=m(this.min,this.max,s)}},k.prototype.ngOnDestroy=function(){this.localizationChangeSubscription&&this.localizationChangeSubscription.unsubscribe()},k);function k(e){var t=this;this.localization=e,this.widgetClasses=!0,this.roleAttribute="progressbar",this.max=100,this.min=0,this.value=0,this.orientation="horizontal",this.disabled=!1,this.reverse=!1,this.indeterminate=!1,this.displayValue=0,this.previousValue=0,n.validatePackage(b),this.localizationChangeSubscription=e.changes.subscribe(function(e){e=e.rtl;t.direction=e?"rtl":"ltr"})}C.ɵfac=l.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:l,type:C,deps:[{token:p.LocalizationService}],target:l.ɵɵFactoryTarget.Component}),C.ɵcmp=l.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:C,selector:"ng-component",inputs:{max:"max",min:"min",value:"value",orientation:"orientation",disabled:"disabled",reverse:"reverse",indeterminate:"indeterminate"},host:{properties:{"class.k-widget":"this.widgetClasses","class.k-progressbar":"this.widgetClasses","class.k-progressbar-horizontal":"this.isHorizontal","class.k-progressbar-vertical":"this.isVertical","class.k-state-disabled":"this.disabledClass","class.k-progressbar-reverse":"this.reverseClass","class.k-progressbar-indeterminate":"this.indeterminateClass","attr.dir":"this.dirAttribute","attr.role":"this.roleAttribute","attr.aria-valuemin":"this.ariaMinAttribute","attr.aria-valuemax":"this.ariaMaxAttribute","attr.aria-valuenow":"this.ariaValueAttribute"}},usesOnChanges:!0,ngImport:l,template:"",isInline:!0}),l.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:l,type:C,decorators:[{type:a.Component,args:[{template:""}]}],ctorParameters:function(){return[{type:p.LocalizationService}]},propDecorators:{widgetClasses:[{type:a.HostBinding,args:["class.k-widget"]},{type:a.HostBinding,args:["class.k-progressbar"]}],isHorizontal:[{type:a.HostBinding,args:["class.k-progressbar-horizontal"]}],isVertical:[{type:a.HostBinding,args:["class.k-progressbar-vertical"]}],disabledClass:[{type:a.HostBinding,args:["class.k-state-disabled"]}],reverseClass:[{type:a.HostBinding,args:["class.k-progressbar-reverse"]}],indeterminateClass:[{type:a.HostBinding,args:["class.k-progressbar-indeterminate"]}],dirAttribute:[{type:a.HostBinding,args:["attr.dir"]}],roleAttribute:[{type:a.HostBinding,args:["attr.role"]}],ariaMinAttribute:[{type:a.HostBinding,args:["attr.aria-valuemin"]}],ariaMaxAttribute:[{type:a.HostBinding,args:["attr.aria-valuemax"]}],ariaValueAttribute:[{type:a.HostBinding,args:["attr.aria-valuenow"]}],max:[{type:a.Input}],min:[{type:a.Input}],value:[{type:a.Input}],orientation:[{type:a.Input}],disabled:[{type:a.Input}],reverse:[{type:a.Input}],indeterminate:[{type:a.Input}]}});g(V,S=C),Object.defineProperty(V.prototype,"showLabel",{get:function(){return"boolean"==typeof this.label?this.label:(this.label&&!this.label.hasOwnProperty("visible")&&(this.label.visible=!0),this.label.visible)},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"labelPosition",{get:function(){return"boolean"==typeof this.label?"end":(this.label&&!this.label.hasOwnProperty("position")&&(this.label.position="end"),this.label.position)},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"isPositionStart",{get:function(){return"start"===this.labelPosition},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"isPositionCenter",{get:function(){return"center"===this.labelPosition},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"isPositionEnd",{get:function(){return"end"===this.labelPosition},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"formattedLabelValue",{get:function(){return h(this.displayValue,this.min,this.max,this.label)},enumerable:!1,configurable:!0}),V.prototype.ngOnChanges=function(e){var t,r,s,n;S.prototype.ngOnChanges.call(this,e),this.isAnimationInProgress&&(r=e,t=Boolean(r.animation),r=t&&r.animation.currentValue,t&&!r)&&(this.cancelCurrentAnimation=!0),t=e,r=this.animation,s=this.previousValue,n=this.displayValue,r&&"undefined"!=typeof requestAnimationFrame&&t.value&&s!==n&&!e.value.firstChange&&this.startAnimation(this.previousValue)},V.prototype.ngOnDestroy=function(){this.animationFrame&&cancelAnimationFrame(this.animationFrame)},V.prototype.startAnimation=function(s){var n=this,i=(this.isAnimationInProgress=!0,this.progressStatusElement.nativeElement),a=this.progressStatusWrapperElement.nativeElement,o=this.getAnimationOptions(s);this.zone.runOutsideAngular(function(){n.animationFrame&&cancelAnimationFrame(n.animationFrame);function r(){var e=(new Date).getTime()-o.startTime,e=Math.min(e/o.duration,1),t=o.startSize+o.deltaSize*e;n.renderValueChange(i,a,o.property,t,100/t*100),e<1?n.cancelCurrentAnimation?n.resetProgress(i,a,o.property):n.animationFrame=requestAnimationFrame(r):n.stopAnimation(s)}r()})},Object.defineProperty(V.prototype,"animationDuration",{get:function(){return"boolean"==typeof this.animation?400:(this.animation&&!this.animation.hasOwnProperty("duration")&&(this.animation.duration=400),this.animation.duration)},enumerable:!1,configurable:!0}),V.prototype.stopAnimation=function(e){var t=this;i.hasObservers(this.animationEnd)&&this.zone.run(function(){t.animationEnd.emit({from:e,to:t.displayValue})}),this.zone.run(function(){t.isAnimationInProgress=!1})},V.prototype.getAnimationOptions=function(e){var t="horizontal"===this.orientation,e=d(this.min,this.max,e),r=t?100*e:100,e=t?100:100*e,s=t?"width":"height",n=(new Date).getTime(),i=t?this.statusWidth-r:this.statusHeight-e;return{property:s,startTime:n,startSize:t?r:e,deltaSize:i,duration:this.animationDuration*Math.abs(i/100)}},V.prototype.renderValueChange=function(e,t,r,s,n){this.renderer.setStyle(e,r,s+"%"),this.renderer.setStyle(t,r,n+"%")},V.prototype.resetProgress=function(e,t,r){var s=this,n=d(this.min,this.max,this.value);this.renderValueChange(e,t,r,100*n,100/n),this.zone.run(function(){s.cancelCurrentAnimation=!1,s.isAnimationInProgress=!1})};var S,P=V;function V(e,t,r){var s=S.call(this,e)||this;return s.localization=e,s.zone=t,s.renderer=r,s.label=!0,s.animation=!1,s.animationEnd=new a.EventEmitter,s}P.ɵfac=l.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:l,type:P,deps:[{token:p.LocalizationService},{token:l.NgZone},{token:l.Renderer2}],target:l.ɵɵFactoryTarget.Component}),P.ɵcmp=l.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:P,selector:"kendo-progressbar",inputs:{label:"label",progressCssStyle:"progressCssStyle",progressCssClass:"progressCssClass",emptyCssStyle:"emptyCssStyle",emptyCssClass:"emptyCssClass",animation:"animation"},outputs:{animationEnd:"animationEnd"},providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.progressbar"}],viewQueries:[{propertyName:"progressStatusElement",first:!0,predicate:["progressStatus"],descendants:!0},{propertyName:"progressStatusWrapperElement",first:!0,predicate:["progressStatusWrap"],descendants:!0}],exportAs:["kendoProgressBar"],usesInheritance:!0,usesOnChanges:!0,ngImport:l,template:'\n <span class="k-progress-status-wrap"\n [class.k-progress-start]="isPositionStart"\n [class.k-progress-center]="isPositionCenter"\n [class.k-progress-end]="isPositionEnd"\n [ngStyle]="emptyCssStyle"\n [ngClass]="emptyCssClass">\n <span *ngIf="showLabel" class="k-progress-status">{{formattedLabelValue}}</span>\n </span>\n <div\n #progressStatus\n class="k-state-selected"\n [class.k-complete]="isCompleted"\n [ngStyle]="progressCssStyle"\n [ngClass]="progressCssClass"\n [style.width.%]="statusWidth"\n [style.height.%]="statusHeight"\n >\n <span\n #progressStatusWrap\n class="k-progress-status-wrap"\n [style.width.%]="statusWrapperWidth"\n [style.height.%]="statusWrapperHeight"\n [class.k-progress-start]="isPositionStart"\n [class.k-progress-center]="isPositionCenter"\n [class.k-progress-end]="isPositionEnd"\n >\n <span *ngIf="showLabel" class="k-progress-status">{{formattedLabelValue}}</span>\n </span>\n </div>\n ',isInline:!0,directives:[{type:u.NgStyle,selector:"[ngStyle]",inputs:["ngStyle"]},{type:u.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:u.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}]}),l.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:l,type:P,decorators:[{type:a.Component,args:[{exportAs:"kendoProgressBar",selector:"kendo-progressbar",template:'\n <span class="k-progress-status-wrap"\n [class.k-progress-start]="isPositionStart"\n [class.k-progress-center]="isPositionCenter"\n [class.k-progress-end]="isPositionEnd"\n [ngStyle]="emptyCssStyle"\n [ngClass]="emptyCssClass">\n <span *ngIf="showLabel" class="k-progress-status">{{formattedLabelValue}}</span>\n </span>\n <div\n #progressStatus\n class="k-state-selected"\n [class.k-complete]="isCompleted"\n [ngStyle]="progressCssStyle"\n [ngClass]="progressCssClass"\n [style.width.%]="statusWidth"\n [style.height.%]="statusHeight"\n >\n <span\n #progressStatusWrap\n class="k-progress-status-wrap"\n [style.width.%]="statusWrapperWidth"\n [style.height.%]="statusWrapperHeight"\n [class.k-progress-start]="isPositionStart"\n [class.k-progress-center]="isPositionCenter"\n [class.k-progress-end]="isPositionEnd"\n >\n <span *ngIf="showLabel" class="k-progress-status">{{formattedLabelValue}}</span>\n </span>\n </div>\n ',providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.progressbar"}]}]}],ctorParameters:function(){return[{type:p.LocalizationService},{type:l.NgZone},{type:l.Renderer2}]},propDecorators:{label:[{type:a.Input}],progressCssStyle:[{type:a.Input}],progressCssClass:[{type:a.Input}],emptyCssStyle:[{type:a.Input}],emptyCssClass:[{type:a.Input}],animation:[{type:a.Input}],animationEnd:[{type:a.Output}],progressStatusElement:[{type:a.ViewChild,args:["progressStatus",{static:!1}]}],progressStatusWrapperElement:[{type:a.ViewChild,args:["progressStatusWrap",{static:!1}]}]}});g(O,I=C),Object.defineProperty(O.prototype,"chunks",{get:function(){for(var e,t=this.chunkCount,r=Array(t).fill(!1),s=Math.floor(this._progressRatio*t),n=0;n<s;n++)r[n]=!0;return t=this.orientation,e=this.reverse,("vertical"===t&&!e||"horizontal"===t&&e)&&r.reverse(),r},enumerable:!1,configurable:!0}),Object.defineProperty(O.prototype,"chunkSizePercentage",{get:function(){return 100/this.chunkCount},enumerable:!1,configurable:!0}),Object.defineProperty(O.prototype,"orientationStyles",{get:function(){return"horizontal"===this.orientation?(this._orientationStyles.width=this.chunkSizePercentage+"%",this._orientationStyles.height=void 0):(this._orientationStyles.height=this.chunkSizePercentage+"%",this._orientationStyles.width=void 0),this._orientationStyles},enumerable:!1,configurable:!0});var I,C=O;function O(e){var t=I.call(this,e)||this;return t.localization=e,t.chunkCount=5,t._orientationStyles={width:t.chunkSizePercentage+"%"},t}C.ɵfac=l.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:l,type:C,deps:[{token:p.LocalizationService}],target:l.ɵɵFactoryTarget.Component}),C.ɵcmp=l.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:C,selector:"kendo-chunkprogressbar",inputs:{chunkCount:"chunkCount",progressCssStyle:"progressCssStyle",progressCssClass:"progressCssClass",emptyCssStyle:"emptyCssStyle",emptyCssClass:"emptyCssClass"},providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.chunkprogressbar"}],exportAs:["kendoChunkProgressBar"],usesInheritance:!0,ngImport:l,template:'\n <ul class="k-reset">\n <li class="k-item" *ngFor="let chunk of chunks; let i = index;"\n [class.k-first]="i === 0"\n [class.k-last]="i === chunkCount - 1"\n [class.k-state-selected]="chunk"\n [ngClass]="chunk ? progressCssClass : emptyCssClass"\n [ngStyle]="chunk ? progressCssStyle : emptyCssStyle"\n [style.width]="orientationStyles.width"\n [style.height]="orientationStyles.height"\n >\n </li>\n </ul>\n ',isInline:!0,directives:[{type:u.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:u.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:u.NgStyle,selector:"[ngStyle]",inputs:["ngStyle"]}]}),l.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:l,type:C,decorators:[{type:a.Component,args:[{exportAs:"kendoChunkProgressBar",selector:"kendo-chunkprogressbar",template:'\n <ul class="k-reset">\n <li class="k-item" *ngFor="let chunk of chunks; let i = index;"\n [class.k-first]="i === 0"\n [class.k-last]="i === chunkCount - 1"\n [class.k-state-selected]="chunk"\n [ngClass]="chunk ? progressCssClass : emptyCssClass"\n [ngStyle]="chunk ? progressCssStyle : emptyCssStyle"\n [style.width]="orientationStyles.width"\n [style.height]="orientationStyles.height"\n >\n </li>\n </ul>\n ',providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.chunkprogressbar"}]}]}],ctorParameters:function(){return[{type:p.LocalizationService}]},propDecorators:{chunkCount:[{type:a.Input}],progressCssStyle:[{type:a.Input}],progressCssClass:[{type:a.Input}],emptyCssStyle:[{type:a.Input}],emptyCssClass:[{type:a.Input}]}});var w=function(e){this.templateRef=e},E=(w.ɵfac=l.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:l,type:w,deps:[{token:l.TemplateRef}],target:l.ɵɵFactoryTarget.Directive}),w.ɵdir=l.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:w,selector:"[kendoCircularProgressbarCenterTemplate]",ngImport:l}),l.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:l,type:w,decorators:[{type:a.Directive,args:[{selector:"[kendoCircularProgressbarCenterTemplate]"}]}],ctorParameters:function(){return[{type:l.TemplateRef}]}}),Object.defineProperty(x.prototype,"value",{get:function(){return this._value},set:function(e){e>this.max&&this.handleErrors("value > max"),e<this.min&&this.handleErrors("value < min"),this.previousValue=this.value,this._value=e},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"max",{get:function(){return this._max},set:function(e){e<this.min&&this.handleErrors("max < min"),this._max=e},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"min",{get:function(){return this._min},set:function(e){e>this.max&&this.handleErrors("max < min"),this._min=e},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"indeterminate",{get:function(){return this._indeterminate},set:function(e){this._indeterminate=e},enumerable:!1,configurable:!0}),x.prototype.ngAfterViewInit=function(){this.initProgressArc()},x.prototype.ngOnChanges=function(e){var t=e.value,r=this.progress,s=!e.value.firstChange;t&&r&&s&&(this.animation?this.progressbarAnimation():(t=this.value-this.min,this.internalValue=e.value.currentValue,this.calculateProgress(t))),e.opacity&&this.progress&&f([{method:"setAttribute",el:this.progress.nativeElement,attr:"opacity",attrValue:this.opacity}],this.renderer),e.indeterminate&&!e.indeterminate.firstChange&&this.indeterminateState()},x.prototype.ngOnDestroy=function(){this.subscriptions.unsubscribe()},x.prototype.initProgressArc=function(){var e;this.setStyles(),this.indeterminate?this.indeterminateState():this.animation?this.progressbarAnimation():(e=this.value-this.min,this.calculateProgress(e))},x.prototype.calculateProgress=function(e){this.progressColor&&this.updateProgressColor(e),this.updateCenterTemplate(e+this.min);var t=this.progress.nativeElement,r=this.progress.nativeElement.r.baseVal.value,r=Math.PI*(2*r),e=r-(this.rtl?-1*r:r)*(e/(this.max-this.min));f([{method:"setStyle",el:t,attr:"strokeDasharray",attrValue:r},{method:"setStyle",el:t,attr:"strokeDashoffset",attrValue:e}],this.renderer)},x.prototype.progressbarAnimation=function(){var e=this.internalValue>this.value-this.min,t=this.value>this.previousValue,r=this.internalValue<this.value-this.min,s=this.value<this.previousValue;e&&t||r&&s||(this.calculateProgress(this.internalValue),e=this.internalValue,i.hasObservers(this.animationEnd)&&this.animationEnd.emit({from:e,to:this.internalValue}),t?this.internalValue+=1:--this.internalValue,requestAnimationFrame(this.progressbarAnimation.bind(this)))},x.prototype.setStyles=function(){var e=this.progress.nativeElement,t=this.scale.nativeElement,r=this.element.nativeElement.getBoundingClientRect().width,e=[{method:"setAttribute",el:e,attr:"r",attrValue:r/2-10},{method:"setAttribute",el:e,attr:"cx",attrValue:r/2},{method:"setAttribute",el:e,attr:"cy",attrValue:r/2},{method:"setAttribute",el:e,attr:"opacity",attrValue:this.opacity},{method:"setAttribute",el:t,attr:"r",attrValue:r/2-10},{method:"setAttribute",el:t,attr:"cx",attrValue:r/2},{method:"setAttribute",el:t,attr:"cy",attrValue:r/2}];f(e,this.renderer)},x.prototype.indeterminateState=function(){var e,t,r=this.progress.nativeElement;this.indeterminate?(this.calculateProgress(this.value-this.min),e=this.rtl?{from:360,to:0}:{from:0,to:360},this.renderer.removeClass(r,"k-circular-progressbar-arc"),f([{method:"setStyle",el:r,attr:"transform-origin",attrValue:"center"},{method:"setStyle",el:r,attr:"fill",attrValue:"none"},{method:"setStyle",el:r,attr:"stroke-linecap",attrValue:"round"}],this.renderer),r.innerHTML='<animateTransform attributeName="transform" type="rotate" from="'+e.from+' 0 0" to="'+e.to+' 0 0" dur="1s" repeatCount="indefinite" />'):(this.renderer.addClass(r,"k-circular-progressbar-arc"),t=this.renderer,[{method:"removeStyle",el:r,attr:"transform-origin"},{method:"removeStyle",el:r,attr:"fill"},{method:"removeStyle",el:r,attr:"stroke-linecap"}].forEach(function(e){t[e.method](e.el,e.attr)}),r.innerHTML="",this.animation&&this.progressbarAnimation())},x.prototype.updateCenterTemplate=function(e){this.centerTemplate&&(this.centerTemplateContext.value=e,this.centerTemplateContext.color=this.currentColor,this.cdr.detectChanges(),this.positionLabel())},x.prototype.positionLabel=function(){var e=this.labelElement.nativeElement,t=this.svgWrapper.nativeElement.getBoundingClientRect(),r=t.width,t=t.height,r=r/2-e.offsetWidth/2,t=t/2-e.offsetHeight/2;f([{method:"setStyle",el:e,attr:"left",attrValue:r+"px"},{method:"setStyle",el:e,attr:"top",attrValue:t+"px"}],this.renderer)},Object.defineProperty(x.prototype,"currentColor",{get:function(){return this.progress.nativeElement.style.stroke},enumerable:!1,configurable:!0}),x.prototype.updateProgressColor=function(e){var t=this.progress.nativeElement;if("string"==typeof this.progressColor)this.renderer.setStyle(t,"stroke",this.progressColor);else for(var r=0;r<this.progressColor.length;r++){var s=this.progressColor[r].from,n=this.progressColor[r].to;if(s<=e&&e<n||!s&&e<n){this.renderer.setStyle(t,"stroke",this.progressColor[r].color);break}!n&&s<=e&&this.renderer.setStyle(t,"stroke",this.progressColor[r].color)}},x.prototype.handleErrors=function(e){if(a.isDevMode())switch(e){case"value > max":throw new Error("The value of the Circular Progressbar cannot exceed the max value");case"value < min":throw new Error("The value of the Circular Progressbar cannot be lower than the min value");case"max < min":throw new Error("The min value cannot be higher than the max value")}},x.prototype.setDirection=function(){this.rtl=this.localizationService.rtl,this.element&&this.renderer.setAttribute(this.element.nativeElement,"dir",this.rtl?"rtl":"ltr"),this.labelElement&&this.renderer.setAttribute(this.labelElement.nativeElement,"dir",this.rtl?"rtl":"ltr")},x.prototype.rtlChange=function(){this.element&&this.rtl!==this.localizationService.rtl&&this.setDirection()},x);function x(e,t,r,s){this.renderer=e,this.cdr=t,this.localizationService=r,this.element=s,this.hostClasses=!0,this.WrapperSize="200px",this.animation=!0,this.opacity=1,this.animationEnd=new a.EventEmitter,this.centerTemplateContext={},this._indeterminate=!1,this._max=100,this._min=0,this._value=0,this.internalValue=0,this.subscriptions=new o.Subscription,n.validatePackage(b),this.subscriptions.add(this.localizationService.changes.subscribe(this.rtlChange.bind(this)))}E.ɵfac=l.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:l,type:E,deps:[{token:l.Renderer2},{token:l.ChangeDetectorRef},{token:p.LocalizationService},{token:l.ElementRef}],target:l.ɵɵFactoryTarget.Component}),E.ɵcmp=l.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:E,selector:"kendo-circularprogressbar",inputs:{value:"value",max:"max",min:"min",animation:"animation",opacity:"opacity",indeterminate:"indeterminate",progressColor:"progressColor"},outputs:{animationEnd:"animationEnd"},host:{properties:{"class.k-circular-progressbar":"this.hostClasses","style.width":"this.WrapperSize","style.height":"this.WrapperSize"}},providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.circularprogressbar"}],queries:[{propertyName:"centerTemplate",first:!0,predicate:w,descendants:!0}],viewQueries:[{propertyName:"progress",first:!0,predicate:["progress"],descendants:!0},{propertyName:"scale",first:!0,predicate:["scale"],descendants:!0},{propertyName:"labelElement",first:!0,predicate:["label"],descendants:!0},{propertyName:"svgWrapper",first:!0,predicate:["svgWrapper"],descendants:!0}],exportAs:["kendoCircularProgressBar"],usesOnChanges:!0,ngImport:l,template:'\n <div class="k-circular-progressbar-surface">\n <div #svgWrapper>\n <svg #svg>\n <g>\n <circle class="k-circular-progressbar-scale" #scale stroke-width="9.5"></circle>\n <circle class="k-circular-progressbar-arc" #progress stroke-width="9.5"></circle>\n </g>\n </svg>\n <div class="k-circular-progressbar-label" *ngIf="centerTemplate" #label>\n <ng-template [ngTemplateOutlet]="centerTemplate.templateRef" [ngTemplateOutletContext]="centerTemplateContext"></ng-template>\n </div>\n </div>\n </div>\n ',isInline:!0,directives:[{type:u.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:u.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}]}),l.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:l,type:E,decorators:[{type:a.Component,args:[{exportAs:"kendoCircularProgressBar",selector:"kendo-circularprogressbar",template:'\n <div class="k-circular-progressbar-surface">\n <div #svgWrapper>\n <svg #svg>\n <g>\n <circle class="k-circular-progressbar-scale" #scale stroke-width="9.5"></circle>\n <circle class="k-circular-progressbar-arc" #progress stroke-width="9.5"></circle>\n </g>\n </svg>\n <div class="k-circular-progressbar-label" *ngIf="centerTemplate" #label>\n <ng-template [ngTemplateOutlet]="centerTemplate.templateRef" [ngTemplateOutletContext]="centerTemplateContext"></ng-template>\n </div>\n </div>\n </div>\n ',providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.circularprogressbar"}]}]}],ctorParameters:function(){return[{type:l.Renderer2},{type:l.ChangeDetectorRef},{type:p.LocalizationService},{type:l.ElementRef}]},propDecorators:{hostClasses:[{type:a.HostBinding,args:["class.k-circular-progressbar"]}],WrapperSize:[{type:a.HostBinding,args:["style.width"]},{type:a.HostBinding,args:["style.height"]}],value:[{type:a.Input}],max:[{type:a.Input}],min:[{type:a.Input}],animation:[{type:a.Input}],opacity:[{type:a.Input}],indeterminate:[{type:a.Input}],progressColor:[{type:a.Input}],animationEnd:[{type:a.Output}],progress:[{type:a.ViewChild,args:["progress"]}],scale:[{type:a.ViewChild,args:["scale"]}],labelElement:[{type:a.ViewChild,args:["label"]}],svgWrapper:[{type:a.ViewChild,args:["svgWrapper"]}],centerTemplate:[{type:a.ContentChild,args:[w]}]}});var u=[P,C,E,w],t=[r.CommonModule,i.ResizeSensorModule],A=function(){};A.ɵfac=l.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:l,type:A,deps:[],target:l.ɵɵFactoryTarget.NgModule}),A.ɵmod=l.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:l,type:A,declarations:[P,C,E,w],imports:[r.CommonModule,i.ResizeSensorModule],exports:[P,C,E,w]}),A.ɵinj=l.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:l,type:A,imports:[t]}),l.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:l,type:A,decorators:[{type:a.NgModule,args:[{declarations:u,exports:u,imports:t}]}]}),e.ChunkProgressBarComponent=C,e.CircularProgressBar=E,e.CircularProgressbarCenterTemplateDirective=w,e.ProgressBarComponent=P,e.ProgressBarModule=A,Object.defineProperty(e,"__esModule",{value:!0})});
5
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@progress/kendo-licensing"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-angular-common"),require("@angular/common"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("KendoAngularProgressbar",["exports","@angular/core","@progress/kendo-licensing","@progress/kendo-angular-l10n","@progress/kendo-angular-common","@angular/common","rxjs","rxjs/operators"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoAngularProgressbar={},e.ng.core,e.KendoLicensing,e.KendoAngularL10N,e.KendoAngularCommon,e.ng.common,e.rxjs,e.rxjs.operators)}(this,function(e,a,i,t,n,r,o,l){"use strict";function s(r){if(r&&r.__esModule)return r;var s=Object.create(null);return r&&Object.keys(r).forEach(function(e){var t;"default"!==e&&(t=Object.getOwnPropertyDescriptor(r,e),Object.defineProperty(s,e,t.get?t:{enumerable:!0,get:function(){return r[e]}}))}),s.default=r,Object.freeze(s)}var p=s(a),u=s(t),c=s(n),h=s(r),g=function(e,t){return(g=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)};function m(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}g(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}Object.create;Object.create;function d(e,t,r,s){var n,i,a,o,l=1===(n=e.toString().split(".")).length?""+n[0]:n[0]+"."+n[1].substr(0,S);if("boolean"!=typeof s){if("string"!=typeof s.format)return"function"==typeof s.format?s.format(e):l;switch(s.format){case"value":return l;case"percent":return Math.floor((i=e,a=t,o=Math.abs((r-a)/100),Math.abs((i-a)/o)))+"%";default:return l}}return l}function y(e,t,r){return Math.max(Math.min(r,t),e)}function f(e,t,r){return Math.max((r-e)/(t-e),1e-4)}function b(e,t,r){return e[t]&&void 0!==e[t].currentValue?e[t].currentValue:r}function v(e,t){e.forEach(function(e){t[e.method](e.el,e.attr,""+e.attrValue)})}function C(e){return e.style.width&&e.style.height}var k={name:"@progress/kendo-angular-progressbar",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1659453263,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"},S=3,P=(Object.defineProperty(V.prototype,"isHorizontal",{get:function(){return"horizontal"===this.orientation},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"isVertical",{get:function(){return"vertical"===this.orientation},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"disabledClass",{get:function(){return this.disabled},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"reverseClass",{get:function(){return this.reverse},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"indeterminateClass",{get:function(){return this.indeterminate},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"dirAttribute",{get:function(){return this.direction},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"ariaMinAttribute",{get:function(){return String(this.min)},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"ariaMaxAttribute",{get:function(){return String(this.max)},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"ariaValueAttribute",{get:function(){return this.indeterminate?void 0:String(this.displayValue)},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"isCompleted",{get:function(){return this.value===this.max},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"statusWidth",{get:function(){return"horizontal"===this.orientation?100*this._progressRatio:100},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"statusHeight",{get:function(){return"vertical"===this.orientation?100*this._progressRatio:100},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"statusWrapperWidth",{get:function(){return"horizontal"===this.orientation?100/this._progressRatio:100},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"statusWrapperHeight",{get:function(){return"vertical"===this.orientation?100/this._progressRatio:100},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"_progressRatio",{get:function(){return f(this.min,this.max,this.displayValue)},enumerable:!1,configurable:!0}),V.prototype.ngOnChanges=function(e){var t=b(e,"min",this.min),r=b(e,"max",this.max),s=b(e,"value",this.value);if(e.min||e.max||e.value){if(e.min||e.max){var n=t,i=r;if(a.isDevMode&&i<n)throw new Error("The max value should be greater than the min.")}e.value&&(null!=s&&!Number.isNaN(s)||(this.value=t),i=this.displayValue,this.displayValue=y(this.min,this.max,s),this.previousValue=i),this.min=t,this.max=r,this.displayValue=y(this.min,this.max,s)}},V.prototype.ngOnDestroy=function(){this.localizationChangeSubscription&&this.localizationChangeSubscription.unsubscribe()},V);function V(e){var t=this;this.localization=e,this.widgetClasses=!0,this.roleAttribute="progressbar",this.max=100,this.min=0,this.value=0,this.orientation="horizontal",this.disabled=!1,this.reverse=!1,this.indeterminate=!1,this.displayValue=0,this.previousValue=0,i.validatePackage(k),this.localizationChangeSubscription=e.changes.subscribe(function(e){e=e.rtl;t.direction=e?"rtl":"ltr"})}P.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:P,deps:[{token:u.LocalizationService}],target:p.ɵɵFactoryTarget.Component}),P.ɵcmp=p.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:P,selector:"ng-component",inputs:{max:"max",min:"min",value:"value",orientation:"orientation",disabled:"disabled",reverse:"reverse",indeterminate:"indeterminate"},host:{properties:{"class.k-widget":"this.widgetClasses","class.k-progressbar":"this.widgetClasses","class.k-progressbar-horizontal":"this.isHorizontal","class.k-progressbar-vertical":"this.isVertical","class.k-disabled":"this.disabledClass","class.k-progressbar-reverse":"this.reverseClass","class.k-progressbar-indeterminate":"this.indeterminateClass","attr.dir":"this.dirAttribute","attr.role":"this.roleAttribute","attr.aria-valuemin":"this.ariaMinAttribute","attr.aria-valuemax":"this.ariaMaxAttribute","attr.aria-valuenow":"this.ariaValueAttribute"}},usesOnChanges:!0,ngImport:p,template:"",isInline:!0}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:P,decorators:[{type:a.Component,args:[{template:""}]}],ctorParameters:function(){return[{type:u.LocalizationService}]},propDecorators:{widgetClasses:[{type:a.HostBinding,args:["class.k-widget"]},{type:a.HostBinding,args:["class.k-progressbar"]}],isHorizontal:[{type:a.HostBinding,args:["class.k-progressbar-horizontal"]}],isVertical:[{type:a.HostBinding,args:["class.k-progressbar-vertical"]}],disabledClass:[{type:a.HostBinding,args:["class.k-disabled"]}],reverseClass:[{type:a.HostBinding,args:["class.k-progressbar-reverse"]}],indeterminateClass:[{type:a.HostBinding,args:["class.k-progressbar-indeterminate"]}],dirAttribute:[{type:a.HostBinding,args:["attr.dir"]}],roleAttribute:[{type:a.HostBinding,args:["attr.role"]}],ariaMinAttribute:[{type:a.HostBinding,args:["attr.aria-valuemin"]}],ariaMaxAttribute:[{type:a.HostBinding,args:["attr.aria-valuemax"]}],ariaValueAttribute:[{type:a.HostBinding,args:["attr.aria-valuenow"]}],max:[{type:a.Input}],min:[{type:a.Input}],value:[{type:a.Input}],orientation:[{type:a.Input}],disabled:[{type:a.Input}],reverse:[{type:a.Input}],indeterminate:[{type:a.Input}]}});m(x,I=P),Object.defineProperty(x.prototype,"showLabel",{get:function(){return"boolean"==typeof this.label?this.label:(this.label&&!this.label.hasOwnProperty("visible")&&(this.label.visible=!0),this.label.visible)},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"labelPosition",{get:function(){return"boolean"==typeof this.label?"end":(this.label&&!this.label.hasOwnProperty("position")&&(this.label.position="end"),this.label.position)},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"isPositionStart",{get:function(){return"start"===this.labelPosition},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"isPositionCenter",{get:function(){return"center"===this.labelPosition},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"isPositionEnd",{get:function(){return"end"===this.labelPosition},enumerable:!1,configurable:!0}),Object.defineProperty(x.prototype,"formattedLabelValue",{get:function(){return d(this.displayValue,this.min,this.max,this.label)},enumerable:!1,configurable:!0}),x.prototype.ngOnChanges=function(e){var t,r,s,n;I.prototype.ngOnChanges.call(this,e),this.isAnimationInProgress&&(r=e,t=Boolean(r.animation),r=t&&r.animation.currentValue,t&&!r)&&(this.cancelCurrentAnimation=!0),t=e,r=this.animation,s=this.previousValue,n=this.displayValue,r&&"undefined"!=typeof requestAnimationFrame&&t.value&&s!==n&&!e.value.firstChange&&this.startAnimation(this.previousValue)},x.prototype.ngOnDestroy=function(){this.animationFrame&&cancelAnimationFrame(this.animationFrame)},x.prototype.startAnimation=function(s){var n=this,i=(this.isAnimationInProgress=!0,this.progressStatusElement.nativeElement),a=this.progressStatusWrapperElement.nativeElement,o=this.getAnimationOptions(s);this.zone.runOutsideAngular(function(){n.animationFrame&&cancelAnimationFrame(n.animationFrame);function r(){var e=(new Date).getTime()-o.startTime,e=Math.min(e/o.duration,1),t=o.startSize+o.deltaSize*e;n.renderValueChange(i,a,o.property,t,100/t*100),e<1?n.cancelCurrentAnimation?n.resetProgress(i,a,o.property):n.animationFrame=requestAnimationFrame(r):n.stopAnimation(s)}r()})},Object.defineProperty(x.prototype,"animationDuration",{get:function(){return"boolean"==typeof this.animation?400:(this.animation&&!this.animation.hasOwnProperty("duration")&&(this.animation.duration=400),this.animation.duration)},enumerable:!1,configurable:!0}),x.prototype.stopAnimation=function(e){var t=this;n.hasObservers(this.animationEnd)&&this.zone.run(function(){t.animationEnd.emit({from:e,to:t.displayValue})}),this.zone.run(function(){t.isAnimationInProgress=!1})},x.prototype.getAnimationOptions=function(e){var t="horizontal"===this.orientation,e=f(this.min,this.max,e),r=t?100*e:100,e=t?100:100*e,s=t?"width":"height",n=(new Date).getTime(),i=t?this.statusWidth-r:this.statusHeight-e;return{property:s,startTime:n,startSize:t?r:e,deltaSize:i,duration:this.animationDuration*Math.abs(i/100)}},x.prototype.renderValueChange=function(e,t,r,s,n){this.renderer.setStyle(e,r,s+"%"),this.renderer.setStyle(t,r,n+"%")},x.prototype.resetProgress=function(e,t,r){var s=this,n=f(this.min,this.max,this.value);this.renderValueChange(e,t,r,100*n,100/n),this.zone.run(function(){s.cancelCurrentAnimation=!1,s.isAnimationInProgress=!1})};var I,O=x;function x(e,t,r){var s=I.call(this,e)||this;return s.localization=e,s.zone=t,s.renderer=r,s.label=!0,s.animation=!1,s.animationEnd=new a.EventEmitter,s}O.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:O,deps:[{token:u.LocalizationService},{token:p.NgZone},{token:p.Renderer2}],target:p.ɵɵFactoryTarget.Component}),O.ɵcmp=p.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:O,selector:"kendo-progressbar",inputs:{label:"label",progressCssStyle:"progressCssStyle",progressCssClass:"progressCssClass",emptyCssStyle:"emptyCssStyle",emptyCssClass:"emptyCssClass",animation:"animation"},outputs:{animationEnd:"animationEnd"},providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.progressbar"}],viewQueries:[{propertyName:"progressStatusElement",first:!0,predicate:["progressStatus"],descendants:!0},{propertyName:"progressStatusWrapperElement",first:!0,predicate:["progressStatusWrap"],descendants:!0}],exportAs:["kendoProgressBar"],usesInheritance:!0,usesOnChanges:!0,ngImport:p,template:'\n <span class="k-progress-status-wrap"\n [class.k-progress-start]="isPositionStart"\n [class.k-progress-center]="isPositionCenter"\n [class.k-progress-end]="isPositionEnd"\n [ngStyle]="emptyCssStyle"\n [ngClass]="emptyCssClass">\n <span *ngIf="showLabel" class="k-progress-status">{{formattedLabelValue}}</span>\n </span>\n <div\n #progressStatus\n class="k-selected"\n [class.k-complete]="isCompleted"\n [ngStyle]="progressCssStyle"\n [ngClass]="progressCssClass"\n [style.width.%]="statusWidth"\n [style.height.%]="statusHeight"\n >\n <span\n #progressStatusWrap\n class="k-progress-status-wrap"\n [style.width.%]="statusWrapperWidth"\n [style.height.%]="statusWrapperHeight"\n [class.k-progress-start]="isPositionStart"\n [class.k-progress-center]="isPositionCenter"\n [class.k-progress-end]="isPositionEnd"\n >\n <span *ngIf="showLabel" class="k-progress-status">{{formattedLabelValue}}</span>\n </span>\n </div>\n ',isInline:!0,directives:[{type:h.NgStyle,selector:"[ngStyle]",inputs:["ngStyle"]},{type:h.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:h.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}]}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:O,decorators:[{type:a.Component,args:[{exportAs:"kendoProgressBar",selector:"kendo-progressbar",template:'\n <span class="k-progress-status-wrap"\n [class.k-progress-start]="isPositionStart"\n [class.k-progress-center]="isPositionCenter"\n [class.k-progress-end]="isPositionEnd"\n [ngStyle]="emptyCssStyle"\n [ngClass]="emptyCssClass">\n <span *ngIf="showLabel" class="k-progress-status">{{formattedLabelValue}}</span>\n </span>\n <div\n #progressStatus\n class="k-selected"\n [class.k-complete]="isCompleted"\n [ngStyle]="progressCssStyle"\n [ngClass]="progressCssClass"\n [style.width.%]="statusWidth"\n [style.height.%]="statusHeight"\n >\n <span\n #progressStatusWrap\n class="k-progress-status-wrap"\n [style.width.%]="statusWrapperWidth"\n [style.height.%]="statusWrapperHeight"\n [class.k-progress-start]="isPositionStart"\n [class.k-progress-center]="isPositionCenter"\n [class.k-progress-end]="isPositionEnd"\n >\n <span *ngIf="showLabel" class="k-progress-status">{{formattedLabelValue}}</span>\n </span>\n </div>\n ',providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.progressbar"}]}]}],ctorParameters:function(){return[{type:u.LocalizationService},{type:p.NgZone},{type:p.Renderer2}]},propDecorators:{label:[{type:a.Input}],progressCssStyle:[{type:a.Input}],progressCssClass:[{type:a.Input}],emptyCssStyle:[{type:a.Input}],emptyCssClass:[{type:a.Input}],animation:[{type:a.Input}],animationEnd:[{type:a.Output}],progressStatusElement:[{type:a.ViewChild,args:["progressStatus",{static:!1}]}],progressStatusWrapperElement:[{type:a.ViewChild,args:["progressStatusWrap",{static:!1}]}]}});m(w,E=P),Object.defineProperty(w.prototype,"chunks",{get:function(){for(var e,t=this.chunkCount,r=Array(t).fill(!1),s=Math.floor(this._progressRatio*t),n=0;n<s;n++)r[n]=!0;return t=this.orientation,e=this.reverse,("vertical"===t&&!e||"horizontal"===t&&e)&&r.reverse(),r},enumerable:!1,configurable:!0}),Object.defineProperty(w.prototype,"chunkSizePercentage",{get:function(){return 100/this.chunkCount},enumerable:!1,configurable:!0}),Object.defineProperty(w.prototype,"orientationStyles",{get:function(){return"horizontal"===this.orientation?(this._orientationStyles.width=this.chunkSizePercentage+"%",this._orientationStyles.height=void 0):(this._orientationStyles.height=this.chunkSizePercentage+"%",this._orientationStyles.width=void 0),this._orientationStyles},enumerable:!1,configurable:!0});var E,P=w;function w(e){var t=E.call(this,e)||this;return t.localization=e,t.chunkCount=5,t._orientationStyles={width:t.chunkSizePercentage+"%"},t}P.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:P,deps:[{token:u.LocalizationService}],target:p.ɵɵFactoryTarget.Component}),P.ɵcmp=p.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:P,selector:"kendo-chunkprogressbar",inputs:{chunkCount:"chunkCount",progressCssStyle:"progressCssStyle",progressCssClass:"progressCssClass",emptyCssStyle:"emptyCssStyle",emptyCssClass:"emptyCssClass"},providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.chunkprogressbar"}],exportAs:["kendoChunkProgressBar"],usesInheritance:!0,ngImport:p,template:'\n <ul class="k-reset">\n <li class="k-item" *ngFor="let chunk of chunks; let i = index;"\n [class.k-first]="i === 0"\n [class.k-last]="i === chunkCount - 1"\n [class.k-selected]="chunk"\n [ngClass]="chunk ? progressCssClass : emptyCssClass"\n [ngStyle]="chunk ? progressCssStyle : emptyCssStyle"\n [style.width]="orientationStyles.width"\n [style.height]="orientationStyles.height"\n >\n </li>\n </ul>\n ',isInline:!0,directives:[{type:h.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:h.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:h.NgStyle,selector:"[ngStyle]",inputs:["ngStyle"]}]}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:P,decorators:[{type:a.Component,args:[{exportAs:"kendoChunkProgressBar",selector:"kendo-chunkprogressbar",template:'\n <ul class="k-reset">\n <li class="k-item" *ngFor="let chunk of chunks; let i = index;"\n [class.k-first]="i === 0"\n [class.k-last]="i === chunkCount - 1"\n [class.k-selected]="chunk"\n [ngClass]="chunk ? progressCssClass : emptyCssClass"\n [ngStyle]="chunk ? progressCssStyle : emptyCssStyle"\n [style.width]="orientationStyles.width"\n [style.height]="orientationStyles.height"\n >\n </li>\n </ul>\n ',providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.chunkprogressbar"}]}]}],ctorParameters:function(){return[{type:u.LocalizationService}]},propDecorators:{chunkCount:[{type:a.Input}],progressCssStyle:[{type:a.Input}],progressCssClass:[{type:a.Input}],emptyCssStyle:[{type:a.Input}],emptyCssClass:[{type:a.Input}]}});var A=function(e){this.templateRef=e},z=(A.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:A,deps:[{token:p.TemplateRef}],target:p.ɵɵFactoryTarget.Directive}),A.ɵdir=p.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:A,selector:"[kendoCircularProgressbarCenterTemplate]",ngImport:p}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:A,decorators:[{type:a.Directive,args:[{selector:"[kendoCircularProgressbarCenterTemplate]"}]}],ctorParameters:function(){return[{type:p.TemplateRef}]}}),Object.defineProperty(T.prototype,"value",{get:function(){return this._value},set:function(e){e>this.max&&this.handleErrors("value > max"),e<this.min&&this.handleErrors("value < min"),this.previousValue=this.value,this._value=e},enumerable:!1,configurable:!0}),Object.defineProperty(T.prototype,"max",{get:function(){return this._max},set:function(e){e<this.min&&this.handleErrors("max < min"),this._max=e},enumerable:!1,configurable:!0}),Object.defineProperty(T.prototype,"min",{get:function(){return this._min},set:function(e){e>this.max&&this.handleErrors("max < min"),this._min=e},enumerable:!1,configurable:!0}),Object.defineProperty(T.prototype,"indeterminate",{get:function(){return this._indeterminate},set:function(e){this._indeterminate=e},enumerable:!1,configurable:!0}),T.prototype.ngAfterViewInit=function(){this.initProgressArc()},T.prototype.ngOnChanges=function(e){var t;n.isChanged("value",e,!0)&&this.progress&&(this.animation?this.progressbarAnimation():(t=this.value-this.min,this.internalValue=e.value.currentValue,this.calculateProgress(t))),e.opacity&&this.progress&&v([{method:"setAttribute",el:this.progress.nativeElement,attr:"opacity",attrValue:this.opacity}],this.renderer),e.indeterminate&&!e.indeterminate.firstChange&&this.indeterminateState()},T.prototype.ngOnDestroy=function(){this.subscriptions.unsubscribe()},T.prototype.onResize=function(e){this.setStyles();var t=this.animation?this.internalValue:this.value;this.calculateProgress(t),this.updateCenterTemplate(t)},T.prototype.initProgressArc=function(){var e;this.setStyles(),this.indeterminate?this.indeterminateState():this.animation?this.progressbarAnimation():(e=this.value-this.min,this.calculateProgress(e))},T.prototype.calculateProgress=function(e){var t=this,r=(this.progressColor&&this.updateProgressColor(e),this.zone.onStable.pipe(l.take(1)).subscribe(function(){t.updateCenterTemplate(e+t.min)}),this.progress.nativeElement),s=this.progress.nativeElement.r.baseVal.value,s=Math.PI*(2*s),n=s-(this.rtl?-1*s:s)*(e/(this.max-this.min));v([{method:"setStyle",el:r,attr:"strokeDasharray",attrValue:s},{method:"setStyle",el:r,attr:"strokeDashoffset",attrValue:n}],this.renderer)},T.prototype.progressbarAnimation=function(){var e=this.internalValue>this.value-this.min,t=this.value>=this.previousValue,r=this.internalValue<this.value-this.min,s=this.value<=this.previousValue;e&&t||r&&s||(this.calculateProgress(this.internalValue),e=this.internalValue,n.hasObservers(this.animationEnd)&&this.animationEnd.emit({from:e,to:this.internalValue}),t?this.internalValue+=1:--this.internalValue,requestAnimationFrame(this.progressbarAnimation.bind(this)))},T.prototype.setStyles=function(){var e=this.progress.nativeElement,t=this.scale.nativeElement,r=this.surface.nativeElement,s=this.element.nativeElement,n=s.getBoundingClientRect().width,s=(C(s)||(n=200,v([{method:"setStyle",el:r,attr:"width",attrValue:"200px"},{method:"setStyle",el:r,attr:"height",attrValue:"200px"}],this.renderer)),[{method:"setAttribute",el:e,attr:"r",attrValue:n/2-10},{method:"setAttribute",el:e,attr:"cx",attrValue:n/2},{method:"setAttribute",el:e,attr:"cy",attrValue:n/2},{method:"setAttribute",el:e,attr:"opacity",attrValue:this.opacity},{method:"setAttribute",el:t,attr:"r",attrValue:n/2-10},{method:"setAttribute",el:t,attr:"cx",attrValue:n/2},{method:"setAttribute",el:t,attr:"cy",attrValue:n/2}]);v(s,this.renderer)},T.prototype.indeterminateState=function(){var e,t,r,s=this.progress.nativeElement;this.indeterminate?(this.calculateProgress(this.value-this.min),e=this.rtl?{from:360,to:0}:{from:0,to:360},t=void 0,t=[{method:"setStyle",el:s,attr:"transform-origin",attrValue:"center"},{method:"setStyle",el:s,attr:"fill",attrValue:"none"},{method:"setStyle",el:s,attr:"stroke-linecap",attrValue:"round"},{method:"setStyle",el:s,attr:"stroke",attrValue:(t=this.progressColor?t:getComputedStyle(s).stroke)||this.currentColor}],v(t,this.renderer),this.renderer.removeClass(s,"k-circular-progressbar-arc"),s.innerHTML='<animateTransform attributeName="transform" type="rotate" from="'+e.from+' 0 0" to="'+e.to+' 0 0" dur="1s" repeatCount="indefinite" />'):(this.renderer.addClass(s,"k-circular-progressbar-arc"),r=this.renderer,[{method:"removeStyle",el:s,attr:"transform-origin"},{method:"removeStyle",el:s,attr:"fill"},{method:"removeStyle",el:s,attr:"stroke-linecap"}].forEach(function(e){r[e.method](e.el,e.attr)}),s.innerHTML="",this.animation&&this.progressbarAnimation())},T.prototype.updateCenterTemplate=function(e){this.centerTemplate&&(this.centerTemplateContext.value=e,this.centerTemplateContext.color=this.currentColor,this.cdr.detectChanges(),this.positionLabel())},T.prototype.positionLabel=function(){var e=this.labelElement.nativeElement,t=this.element.nativeElement,r=this.surface.nativeElement,t=(r=C(t)?(s=(t=t.getBoundingClientRect()).width,t.height):(s=(t=r.getBoundingClientRect()).width,t.height),s/2-e.offsetWidth/2),s=r/2-e.offsetHeight/2;v([{method:"setStyle",el:e,attr:"left",attrValue:t+"px"},{method:"setStyle",el:e,attr:"top",attrValue:s+"px"}],this.renderer)},Object.defineProperty(T.prototype,"currentColor",{get:function(){return this.progress.nativeElement.style.stroke},enumerable:!1,configurable:!0}),T.prototype.updateProgressColor=function(e){var t=this.progress.nativeElement;if("string"==typeof this.progressColor)this.renderer.setStyle(t,"stroke",this.progressColor);else for(var r=0;r<this.progressColor.length;r++){var s=this.progressColor[r].from,n=this.progressColor[r].to;if(s<=e&&e<=n||!s&&e<=n){this.renderer.setStyle(t,"stroke",this.progressColor[r].color);break}!n&&s<=e&&this.renderer.setStyle(t,"stroke",this.progressColor[r].color)}},T.prototype.handleErrors=function(e){if(a.isDevMode())switch(e){case"value > max":throw new Error("The value of the CircularProgressbar cannot exceed the max value");case"value < min":throw new Error("The value of the CircularProgressbar cannot be lower than the min value");case"max < min":throw new Error("The min value cannot be higher than the max value")}},T.prototype.setDirection=function(){this.rtl=this.localizationService.rtl,this.element&&this.renderer.setAttribute(this.element.nativeElement,"dir",this.rtl?"rtl":"ltr"),this.labelElement&&this.renderer.setAttribute(this.labelElement.nativeElement,"dir",this.rtl?"rtl":"ltr")},T.prototype.rtlChange=function(){this.element&&this.rtl!==this.localizationService.rtl&&this.setDirection()},T);function T(e,t,r,s,n){this.renderer=e,this.cdr=t,this.localizationService=r,this.element=s,this.zone=n,this.hostClasses=!0,this.animation=!1,this.opacity=1,this.animationEnd=new a.EventEmitter,this.centerTemplateContext={},this._indeterminate=!1,this._max=100,this._min=0,this._value=0,this.previousValue=0,this.internalValue=0,this.subscriptions=new o.Subscription,i.validatePackage(k),this.subscriptions.add(this.localizationService.changes.subscribe(this.rtlChange.bind(this)))}z.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:z,deps:[{token:p.Renderer2},{token:p.ChangeDetectorRef},{token:u.LocalizationService},{token:p.ElementRef},{token:p.NgZone}],target:p.ɵɵFactoryTarget.Component}),z.ɵcmp=p.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:z,selector:"kendo-circularprogressbar",inputs:{value:"value",max:"max",min:"min",animation:"animation",opacity:"opacity",indeterminate:"indeterminate",progressColor:"progressColor"},outputs:{animationEnd:"animationEnd"},host:{properties:{"class.k-circular-progressbar":"this.hostClasses"}},providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.circularprogressbar"}],queries:[{propertyName:"centerTemplate",first:!0,predicate:A,descendants:!0}],viewQueries:[{propertyName:"progress",first:!0,predicate:["progress"],descendants:!0},{propertyName:"scale",first:!0,predicate:["scale"],descendants:!0},{propertyName:"labelElement",first:!0,predicate:["label"],descendants:!0},{propertyName:"surface",first:!0,predicate:["surface"],descendants:!0}],exportAs:["kendoCircularProgressBar"],usesOnChanges:!0,ngImport:p,template:'\n <div #surface class="k-circular-progressbar-surface">\n <div>\n <svg #svg>\n <g>\n <circle class="k-circular-progressbar-scale" #scale stroke-width="9.5"></circle>\n <circle class="k-circular-progressbar-arc" #progress stroke-width="9.5"></circle>\n </g>\n </svg>\n <div class="k-circular-progressbar-label" *ngIf="centerTemplate" #label>\n <ng-template [ngTemplateOutlet]="centerTemplate.templateRef" [ngTemplateOutletContext]="centerTemplateContext"></ng-template>\n </div>\n </div>\n </div>\n <kendo-resize-sensor (resize)="onResize($event)"></kendo-resize-sensor>\n ',isInline:!0,components:[{type:c.ResizeSensorComponent,selector:"kendo-resize-sensor",inputs:["rateLimit"],outputs:["resize"]}],directives:[{type:h.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:h.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}]}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:z,decorators:[{type:a.Component,args:[{exportAs:"kendoCircularProgressBar",selector:"kendo-circularprogressbar",template:'\n <div #surface class="k-circular-progressbar-surface">\n <div>\n <svg #svg>\n <g>\n <circle class="k-circular-progressbar-scale" #scale stroke-width="9.5"></circle>\n <circle class="k-circular-progressbar-arc" #progress stroke-width="9.5"></circle>\n </g>\n </svg>\n <div class="k-circular-progressbar-label" *ngIf="centerTemplate" #label>\n <ng-template [ngTemplateOutlet]="centerTemplate.templateRef" [ngTemplateOutletContext]="centerTemplateContext"></ng-template>\n </div>\n </div>\n </div>\n <kendo-resize-sensor (resize)="onResize($event)"></kendo-resize-sensor>\n ',providers:[t.LocalizationService,{provide:t.L10N_PREFIX,useValue:"kendo.circularprogressbar"}]}]}],ctorParameters:function(){return[{type:p.Renderer2},{type:p.ChangeDetectorRef},{type:u.LocalizationService},{type:p.ElementRef},{type:p.NgZone}]},propDecorators:{hostClasses:[{type:a.HostBinding,args:["class.k-circular-progressbar"]}],value:[{type:a.Input}],max:[{type:a.Input}],min:[{type:a.Input}],animation:[{type:a.Input}],opacity:[{type:a.Input}],indeterminate:[{type:a.Input}],progressColor:[{type:a.Input}],animationEnd:[{type:a.Output}],progress:[{type:a.ViewChild,args:["progress"]}],scale:[{type:a.ViewChild,args:["scale"]}],labelElement:[{type:a.ViewChild,args:["label"]}],surface:[{type:a.ViewChild,args:["surface"]}],centerTemplate:[{type:a.ContentChild,args:[A]}]}});c=[O,P,z,A],h=[r.CommonModule,n.ResizeSensorModule],t=function(){};t.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:t,deps:[],target:p.ɵɵFactoryTarget.NgModule}),t.ɵmod=p.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:t,declarations:[O,P,z,A],imports:[r.CommonModule,n.ResizeSensorModule],exports:[O,P,z,A]}),t.ɵinj=p.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:t,imports:[h]}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:t,decorators:[{type:a.NgModule,args:[{declarations:c,exports:c,imports:h}]}]}),e.ChunkProgressBarComponent=P,e.CircularProgressBarComponent=z,e.CircularProgressbarCenterTemplateDirective=A,e.ProgressBarComponent=O,e.ProgressBarModule=t,Object.defineProperty(e,"__esModule",{value:!0})});
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, Renderer2, SimpleChanges } from '@angular/core';
5
+ import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, Renderer2, SimpleChanges } from '@angular/core';
6
6
  import { LocalizationService } from '@progress/kendo-angular-l10n';
7
7
  import { AnimationEndEvent } from '../types/animation-end-event';
8
8
  import { CircularProgressbarCenterTemplateDirective } from './center-template.directive';
@@ -14,7 +14,7 @@ import * as i0 from "@angular/core";
14
14
  *
15
15
  * @example
16
16
  * ```ts-preview
17
- * _@Component({don’t
17
+ * _@Component({
18
18
  * selector: 'my-app',
19
19
  * template: `
20
20
  * <kendo-circularprogressbar [value]="value"></kendo-circularprogressbar>
@@ -25,13 +25,13 @@ import * as i0 from "@angular/core";
25
25
  * }
26
26
  * ```
27
27
  */
28
- export declare class CircularProgressBar implements AfterViewInit, OnChanges, OnDestroy {
28
+ export declare class CircularProgressBarComponent implements AfterViewInit, OnChanges, OnDestroy {
29
29
  private renderer;
30
30
  private cdr;
31
31
  private localizationService;
32
32
  private element;
33
+ private zone;
33
34
  hostClasses: boolean;
34
- WrapperSize: string;
35
35
  /**
36
36
  * Sets the default value of the Circular Progressbar between `min` and `max`.
37
37
  *
@@ -56,7 +56,7 @@ export declare class CircularProgressBar implements AfterViewInit, OnChanges, On
56
56
  /**
57
57
  * Indicates whether an animation will be played on value changes.
58
58
  *
59
- * @default true
59
+ * @default false
60
60
  */
61
61
  animation: boolean;
62
62
  /**
@@ -81,7 +81,7 @@ export declare class CircularProgressBar implements AfterViewInit, OnChanges, On
81
81
  progress: ElementRef;
82
82
  scale: ElementRef;
83
83
  labelElement: ElementRef;
84
- svgWrapper: ElementRef;
84
+ surface: ElementRef;
85
85
  centerTemplate: CircularProgressbarCenterTemplateDirective;
86
86
  centerTemplateContext: CenterTemplateContext;
87
87
  private _indeterminate;
@@ -92,10 +92,14 @@ export declare class CircularProgressBar implements AfterViewInit, OnChanges, On
92
92
  private internalValue;
93
93
  private rtl;
94
94
  private subscriptions;
95
- constructor(renderer: Renderer2, cdr: ChangeDetectorRef, localizationService: LocalizationService, element: ElementRef);
95
+ constructor(renderer: Renderer2, cdr: ChangeDetectorRef, localizationService: LocalizationService, element: ElementRef, zone: NgZone);
96
96
  ngAfterViewInit(): void;
97
97
  ngOnChanges(changes: SimpleChanges): void;
98
98
  ngOnDestroy(): void;
99
+ /**
100
+ * @hidden
101
+ */
102
+ onResize(_event?: any): void;
99
103
  private initProgressArc;
100
104
  private calculateProgress;
101
105
  private progressbarAnimation;
@@ -108,6 +112,6 @@ export declare class CircularProgressBar implements AfterViewInit, OnChanges, On
108
112
  private handleErrors;
109
113
  private setDirection;
110
114
  private rtlChange;
111
- static ɵfac: i0.ɵɵFactoryDeclaration<CircularProgressBar, never>;
112
- static ɵcmp: i0.ɵɵComponentDeclaration<CircularProgressBar, "kendo-circularprogressbar", ["kendoCircularProgressBar"], { "value": "value"; "max": "max"; "min": "min"; "animation": "animation"; "opacity": "opacity"; "indeterminate": "indeterminate"; "progressColor": "progressColor"; }, { "animationEnd": "animationEnd"; }, ["centerTemplate"], never>;
115
+ static ɵfac: i0.ɵɵFactoryDeclaration<CircularProgressBarComponent, never>;
116
+ static ɵcmp: i0.ɵɵComponentDeclaration<CircularProgressBarComponent, "kendo-circularprogressbar", ["kendoCircularProgressBar"], { "value": "value"; "max": "max"; "min": "min"; "animation": "animation"; "opacity": "opacity"; "indeterminate": "indeterminate"; "progressColor": "progressColor"; }, { "animationEnd": "animationEnd"; }, ["centerTemplate"], never>;
113
117
  }
package/common/util.d.ts CHANGED
@@ -44,3 +44,7 @@ export declare const setProgressBarStyles: (props: any, renderer: Renderer2) =>
44
44
  * @hidden
45
45
  */
46
46
  export declare const removeProgressBarStyles: (props: any, renderer: Renderer2) => void;
47
+ /**
48
+ * @hidden
49
+ */
50
+ export declare const hasElementSize: (element: any) => boolean;
@@ -90,7 +90,7 @@ ChunkProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
90
90
  <li class="k-item" *ngFor="let chunk of chunks; let i = index;"
91
91
  [class.k-first]="i === 0"
92
92
  [class.k-last]="i === chunkCount - 1"
93
- [class.k-state-selected]="chunk"
93
+ [class.k-selected]="chunk"
94
94
  [ngClass]="chunk ? progressCssClass : emptyCssClass"
95
95
  [ngStyle]="chunk ? progressCssStyle : emptyCssStyle"
96
96
  [style.width]="orientationStyles.width"
@@ -109,7 +109,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
109
109
  <li class="k-item" *ngFor="let chunk of chunks; let i = index;"
110
110
  [class.k-first]="i === 0"
111
111
  [class.k-last]="i === chunkCount - 1"
112
- [class.k-state-selected]="chunk"
112
+ [class.k-selected]="chunk"
113
113
  [ngClass]="chunk ? progressCssClass : emptyCssClass"
114
114
  [ngStyle]="chunk ? progressCssStyle : emptyCssStyle"
115
115
  [style.width]="orientationStyles.width"
@@ -3,22 +3,25 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Component, ContentChild, EventEmitter, HostBinding, Input, isDevMode, Output, ViewChild } from '@angular/core';
6
- import { hasObservers } from '@progress/kendo-angular-common';
6
+ import { hasObservers, isChanged } from '@progress/kendo-angular-common';
7
7
  import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
8
8
  import { validatePackage } from '@progress/kendo-licensing';
9
9
  import { Subscription } from 'rxjs';
10
- import { removeProgressBarStyles, setProgressBarStyles } from '../common/util';
10
+ import { take } from 'rxjs/operators';
11
+ import { hasElementSize, removeProgressBarStyles, setProgressBarStyles } from '../common/util';
11
12
  import { packageMetadata } from '../package-metadata';
12
13
  import { CircularProgressbarCenterTemplateDirective } from './center-template.directive';
13
14
  import * as i0 from "@angular/core";
14
15
  import * as i1 from "@progress/kendo-angular-l10n";
15
- import * as i2 from "@angular/common";
16
+ import * as i2 from "@progress/kendo-angular-common";
17
+ import * as i3 from "@angular/common";
18
+ const DEFAULT_SURFACE_SIZE = 200;
16
19
  /**
17
20
  * Represents the [Kendo UI Circular ProgressBar component for Angular]({% slug circular_progressbar %}).
18
21
  *
19
22
  * @example
20
23
  * ```ts-preview
21
- * _@Component({don’t
24
+ * _@Component({
22
25
  * selector: 'my-app',
23
26
  * template: `
24
27
  * <kendo-circularprogressbar [value]="value"></kendo-circularprogressbar>
@@ -29,20 +32,20 @@ import * as i2 from "@angular/common";
29
32
  * }
30
33
  * ```
31
34
  */
32
- export class CircularProgressBar {
33
- constructor(renderer, cdr, localizationService, element) {
35
+ export class CircularProgressBarComponent {
36
+ constructor(renderer, cdr, localizationService, element, zone) {
34
37
  this.renderer = renderer;
35
38
  this.cdr = cdr;
36
39
  this.localizationService = localizationService;
37
40
  this.element = element;
41
+ this.zone = zone;
38
42
  this.hostClasses = true;
39
- this.WrapperSize = '200px';
40
43
  /**
41
44
  * Indicates whether an animation will be played on value changes.
42
45
  *
43
- * @default true
46
+ * @default false
44
47
  */
45
- this.animation = true;
48
+ this.animation = false;
46
49
  /**
47
50
  * The opacity of the value arc.
48
51
  * @default 1
@@ -57,6 +60,7 @@ export class CircularProgressBar {
57
60
  this._max = 100;
58
61
  this._min = 0;
59
62
  this._value = 0;
63
+ this.previousValue = 0;
60
64
  this.internalValue = 0;
61
65
  this.subscriptions = new Subscription();
62
66
  validatePackage(packageMetadata);
@@ -122,10 +126,8 @@ export class CircularProgressBar {
122
126
  this.initProgressArc();
123
127
  }
124
128
  ngOnChanges(changes) {
125
- const isValueChanged = changes.value;
126
- const isProgressArcCreated = this.progress;
127
- const isValueSecondChange = !changes.value.firstChange;
128
- if (isValueChanged && isProgressArcCreated && isValueSecondChange) {
129
+ const skipFirstChange = true;
130
+ if (isChanged('value', changes, skipFirstChange) && this.progress) {
129
131
  if (this.animation) {
130
132
  this.progressbarAnimation();
131
133
  }
@@ -145,6 +147,15 @@ export class CircularProgressBar {
145
147
  ngOnDestroy() {
146
148
  this.subscriptions.unsubscribe();
147
149
  }
150
+ /**
151
+ * @hidden
152
+ */
153
+ onResize(_event) {
154
+ this.setStyles();
155
+ const value = this.animation ? this.internalValue : this.value;
156
+ this.calculateProgress(value);
157
+ this.updateCenterTemplate(value);
158
+ }
148
159
  initProgressArc() {
149
160
  this.setStyles();
150
161
  if (this.indeterminate) {
@@ -164,7 +175,10 @@ export class CircularProgressBar {
164
175
  if (this.progressColor) {
165
176
  this.updateProgressColor(value);
166
177
  }
167
- this.updateCenterTemplate(value + this.min);
178
+ // needed when we have *ngIf inside the template to render different content depending on some condition
179
+ this.zone.onStable.pipe(take(1)).subscribe(() => {
180
+ this.updateCenterTemplate(value + this.min);
181
+ });
168
182
  const progressArc = this.progress.nativeElement;
169
183
  const radius = this.progress.nativeElement.r.baseVal.value;
170
184
  const circumference = Math.PI * (radius * 2);
@@ -179,11 +193,11 @@ export class CircularProgressBar {
179
193
  progressbarAnimation() {
180
194
  const forwardProgress = {
181
195
  isOngoing: this.internalValue > this.value - this.min,
182
- isPositive: this.value > this.previousValue
196
+ isPositive: this.value >= this.previousValue
183
197
  };
184
198
  const backwardProgress = {
185
199
  isOngoing: this.internalValue < this.value - this.min,
186
- isNegative: this.value < this.previousValue
200
+ isNegative: this.value <= this.previousValue
187
201
  };
188
202
  if (forwardProgress.isOngoing && forwardProgress.isPositive ||
189
203
  backwardProgress.isOngoing && backwardProgress.isNegative) {
@@ -204,8 +218,18 @@ export class CircularProgressBar {
204
218
  setStyles() {
205
219
  const progressArc = this.progress.nativeElement;
206
220
  const scale = this.scale.nativeElement;
221
+ const surface = this.surface.nativeElement;
207
222
  const element = this.element.nativeElement;
208
- const elWidth = element.getBoundingClientRect().width;
223
+ let elWidth = element.getBoundingClientRect().width;
224
+ ;
225
+ if (!hasElementSize(element)) {
226
+ const surfaceSize = [
227
+ { method: 'setStyle', el: surface, attr: 'width', attrValue: `${DEFAULT_SURFACE_SIZE}px` },
228
+ { method: 'setStyle', el: surface, attr: 'height', attrValue: `${DEFAULT_SURFACE_SIZE}px` }
229
+ ];
230
+ elWidth = DEFAULT_SURFACE_SIZE;
231
+ setProgressBarStyles(surfaceSize, this.renderer);
232
+ }
209
233
  const attributesArray = [
210
234
  { method: 'setAttribute', el: progressArc, attr: 'r', attrValue: (elWidth / 2) - 10 },
211
235
  { method: 'setAttribute', el: progressArc, attr: 'cx', attrValue: (elWidth / 2) },
@@ -223,16 +247,21 @@ export class CircularProgressBar {
223
247
  // the indeterminate state wont work as the `k-circular-progressbar-arc` has a transform: rotate(-90deg) which is
224
248
  // interfering with the svg animation as the animateTransform brings its own transform: rotate()
225
249
  // This will be like this until the themes release a new version, bringing a new class `k-circular-progressbar-indeterminate-arc`
226
- // containing only the necassery CSS styles and we will switch between them when the state of the progressbar is switched.
250
+ // containing only the necassery CSS styles and we will switch between them when the state of the progressbar is switched.
227
251
  this.calculateProgress(this.value - this.min);
228
252
  const rotate = this.rtl ? { from: 360, to: 0 } : { from: 0, to: 360 };
229
- this.renderer.removeClass(progressArc, 'k-circular-progressbar-arc');
253
+ let color;
254
+ if (!this.progressColor) {
255
+ color = getComputedStyle(progressArc).stroke;
256
+ }
230
257
  const indeterminateStyles = [
231
258
  { method: 'setStyle', el: progressArc, attr: 'transform-origin', attrValue: 'center' },
232
259
  { method: 'setStyle', el: progressArc, attr: 'fill', attrValue: 'none' },
233
- { method: 'setStyle', el: progressArc, attr: 'stroke-linecap', attrValue: 'round' }
260
+ { method: 'setStyle', el: progressArc, attr: 'stroke-linecap', attrValue: 'round' },
261
+ { method: 'setStyle', el: progressArc, attr: 'stroke', attrValue: color ? color : this.currentColor }
234
262
  ];
235
263
  setProgressBarStyles(indeterminateStyles, this.renderer);
264
+ this.renderer.removeClass(progressArc, 'k-circular-progressbar-arc');
236
265
  progressArc.innerHTML = `<animateTransform attributeName="transform" type="rotate" from="${rotate.from} 0 0" to="${rotate.to} 0 0" dur="1s" repeatCount="indefinite" />`;
237
266
  }
238
267
  else {
@@ -260,11 +289,22 @@ export class CircularProgressBar {
260
289
  }
261
290
  positionLabel() {
262
291
  const labelEl = this.labelElement.nativeElement;
263
- const svgWrapper = this.svgWrapper.nativeElement.getBoundingClientRect();
264
- const svgWrapperWidth = svgWrapper.width;
265
- const svgWrapperHeight = svgWrapper.height;
266
- const left = (svgWrapperWidth / 2) - (labelEl.offsetWidth / 2);
267
- const top = (svgWrapperHeight / 2) - (labelEl.offsetHeight / 2);
292
+ const element = this.element.nativeElement;
293
+ const surface = this.surface.nativeElement;
294
+ let elWidth;
295
+ let elHeight;
296
+ if (!hasElementSize(element)) {
297
+ const surfaceSize = surface.getBoundingClientRect();
298
+ elWidth = surfaceSize.width;
299
+ elHeight = surfaceSize.height;
300
+ }
301
+ else {
302
+ const elementSize = element.getBoundingClientRect();
303
+ elWidth = elementSize.width;
304
+ elHeight = elementSize.height;
305
+ }
306
+ const left = (elWidth / 2) - (labelEl.offsetWidth / 2);
307
+ const top = (elHeight / 2) - (labelEl.offsetHeight / 2);
268
308
  const labelCalculations = [
269
309
  { method: 'setStyle', el: labelEl, attr: 'left', attrValue: `${left}px` },
270
310
  { method: 'setStyle', el: labelEl, attr: 'top', attrValue: `${top}px` }
@@ -284,7 +324,7 @@ export class CircularProgressBar {
284
324
  for (let i = 0; i < this.progressColor.length; i++) {
285
325
  let from = this.progressColor[i].from;
286
326
  let to = this.progressColor[i].to;
287
- if (value >= from && value < to || (!from && value < to)) {
327
+ if (value >= from && value <= to || (!from && value <= to)) {
288
328
  this.renderer.setStyle(progressArc, 'stroke', this.progressColor[i].color);
289
329
  break;
290
330
  }
@@ -298,9 +338,9 @@ export class CircularProgressBar {
298
338
  if (isDevMode()) {
299
339
  switch (type) {
300
340
  case 'value > max':
301
- throw new Error('The value of the Circular Progressbar cannot exceed the max value');
341
+ throw new Error('The value of the CircularProgressbar cannot exceed the max value');
302
342
  case 'value < min':
303
- throw new Error('The value of the Circular Progressbar cannot be lower than the min value');
343
+ throw new Error('The value of the CircularProgressbar cannot be lower than the min value');
304
344
  case 'max < min':
305
345
  throw new Error('The min value cannot be higher than the max value');
306
346
  default:
@@ -322,16 +362,16 @@ export class CircularProgressBar {
322
362
  }
323
363
  }
324
364
  }
325
- CircularProgressBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CircularProgressBar, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.LocalizationService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
326
- CircularProgressBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: CircularProgressBar, selector: "kendo-circularprogressbar", inputs: { value: "value", max: "max", min: "min", animation: "animation", opacity: "opacity", indeterminate: "indeterminate", progressColor: "progressColor" }, outputs: { animationEnd: "animationEnd" }, host: { properties: { "class.k-circular-progressbar": "this.hostClasses", "style.width": "this.WrapperSize", "style.height": "this.WrapperSize" } }, providers: [
365
+ CircularProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CircularProgressBarComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.LocalizationService }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
366
+ CircularProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: CircularProgressBarComponent, selector: "kendo-circularprogressbar", inputs: { value: "value", max: "max", min: "min", animation: "animation", opacity: "opacity", indeterminate: "indeterminate", progressColor: "progressColor" }, outputs: { animationEnd: "animationEnd" }, host: { properties: { "class.k-circular-progressbar": "this.hostClasses" } }, providers: [
327
367
  LocalizationService,
328
368
  {
329
369
  provide: L10N_PREFIX,
330
370
  useValue: 'kendo.circularprogressbar'
331
371
  }
332
- ], queries: [{ propertyName: "centerTemplate", first: true, predicate: CircularProgressbarCenterTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "progress", first: true, predicate: ["progress"], descendants: true }, { propertyName: "scale", first: true, predicate: ["scale"], descendants: true }, { propertyName: "labelElement", first: true, predicate: ["label"], descendants: true }, { propertyName: "svgWrapper", first: true, predicate: ["svgWrapper"], descendants: true }], exportAs: ["kendoCircularProgressBar"], usesOnChanges: true, ngImport: i0, template: `
333
- <div class="k-circular-progressbar-surface">
334
- <div #svgWrapper>
372
+ ], queries: [{ propertyName: "centerTemplate", first: true, predicate: CircularProgressbarCenterTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "progress", first: true, predicate: ["progress"], descendants: true }, { propertyName: "scale", first: true, predicate: ["scale"], descendants: true }, { propertyName: "labelElement", first: true, predicate: ["label"], descendants: true }, { propertyName: "surface", first: true, predicate: ["surface"], descendants: true }], exportAs: ["kendoCircularProgressBar"], usesOnChanges: true, ngImport: i0, template: `
373
+ <div #surface class="k-circular-progressbar-surface">
374
+ <div>
335
375
  <svg #svg>
336
376
  <g>
337
377
  <circle class="k-circular-progressbar-scale" #scale stroke-width="9.5"></circle>
@@ -343,15 +383,16 @@ CircularProgressBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
343
383
  </div>
344
384
  </div>
345
385
  </div>
346
- `, isInline: true, directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
347
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CircularProgressBar, decorators: [{
386
+ <kendo-resize-sensor (resize)="onResize($event)"></kendo-resize-sensor>
387
+ `, isInline: true, components: [{ type: i2.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
388
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CircularProgressBarComponent, decorators: [{
348
389
  type: Component,
349
390
  args: [{
350
391
  exportAs: 'kendoCircularProgressBar',
351
392
  selector: 'kendo-circularprogressbar',
352
393
  template: `
353
- <div class="k-circular-progressbar-surface">
354
- <div #svgWrapper>
394
+ <div #surface class="k-circular-progressbar-surface">
395
+ <div>
355
396
  <svg #svg>
356
397
  <g>
357
398
  <circle class="k-circular-progressbar-scale" #scale stroke-width="9.5"></circle>
@@ -363,6 +404,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
363
404
  </div>
364
405
  </div>
365
406
  </div>
407
+ <kendo-resize-sensor (resize)="onResize($event)"></kendo-resize-sensor>
366
408
  `, providers: [
367
409
  LocalizationService,
368
410
  {
@@ -371,15 +413,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
371
413
  }
372
414
  ]
373
415
  }]
374
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.LocalizationService }, { type: i0.ElementRef }]; }, propDecorators: { hostClasses: [{
416
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.LocalizationService }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { hostClasses: [{
375
417
  type: HostBinding,
376
418
  args: ['class.k-circular-progressbar']
377
- }], WrapperSize: [{
378
- type: HostBinding,
379
- args: ['style.width']
380
- }, {
381
- type: HostBinding,
382
- args: ['style.height']
383
419
  }], value: [{
384
420
  type: Input
385
421
  }], max: [{
@@ -405,9 +441,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
405
441
  }], labelElement: [{
406
442
  type: ViewChild,
407
443
  args: ["label"]
408
- }], svgWrapper: [{
444
+ }], surface: [{
409
445
  type: ViewChild,
410
- args: ["svgWrapper"]
446
+ args: ["surface"]
411
447
  }], centerTemplate: [{
412
448
  type: ContentChild,
413
449
  args: [CircularProgressbarCenterTemplateDirective]
@@ -159,7 +159,7 @@ export class ProgressBarBase {
159
159
  }
160
160
  }
161
161
  ProgressBarBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProgressBarBase, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
162
- ProgressBarBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ProgressBarBase, selector: "ng-component", inputs: { max: "max", min: "min", value: "value", orientation: "orientation", disabled: "disabled", reverse: "reverse", indeterminate: "indeterminate" }, host: { properties: { "class.k-widget": "this.widgetClasses", "class.k-progressbar": "this.widgetClasses", "class.k-progressbar-horizontal": "this.isHorizontal", "class.k-progressbar-vertical": "this.isVertical", "class.k-state-disabled": "this.disabledClass", "class.k-progressbar-reverse": "this.reverseClass", "class.k-progressbar-indeterminate": "this.indeterminateClass", "attr.dir": "this.dirAttribute", "attr.role": "this.roleAttribute", "attr.aria-valuemin": "this.ariaMinAttribute", "attr.aria-valuemax": "this.ariaMaxAttribute", "attr.aria-valuenow": "this.ariaValueAttribute" } }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
162
+ ProgressBarBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ProgressBarBase, selector: "ng-component", inputs: { max: "max", min: "min", value: "value", orientation: "orientation", disabled: "disabled", reverse: "reverse", indeterminate: "indeterminate" }, host: { properties: { "class.k-widget": "this.widgetClasses", "class.k-progressbar": "this.widgetClasses", "class.k-progressbar-horizontal": "this.isHorizontal", "class.k-progressbar-vertical": "this.isVertical", "class.k-disabled": "this.disabledClass", "class.k-progressbar-reverse": "this.reverseClass", "class.k-progressbar-indeterminate": "this.indeterminateClass", "attr.dir": "this.dirAttribute", "attr.role": "this.roleAttribute", "attr.aria-valuemin": "this.ariaMinAttribute", "attr.aria-valuemax": "this.ariaMaxAttribute", "attr.aria-valuenow": "this.ariaValueAttribute" } }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
163
163
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProgressBarBase, decorators: [{
164
164
  type: Component,
165
165
  args: [{
@@ -179,7 +179,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
179
179
  args: ['class.k-progressbar-vertical']
180
180
  }], disabledClass: [{
181
181
  type: HostBinding,
182
- args: ['class.k-state-disabled']
182
+ args: ['class.k-disabled']
183
183
  }], reverseClass: [{
184
184
  type: HostBinding,
185
185
  args: ['class.k-progressbar-reverse']
@@ -95,3 +95,9 @@ export const removeProgressBarStyles = (props, renderer) => {
95
95
  renderer[prop.method](prop.el, prop.attr);
96
96
  });
97
97
  };
98
+ /**
99
+ * @hidden
100
+ */
101
+ export const hasElementSize = (element) => {
102
+ return element.style.width && element.style.height;
103
+ };
package/esm2015/main.js CHANGED
@@ -4,6 +4,6 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  export { ProgressBarComponent } from './progressbar.component';
6
6
  export { ChunkProgressBarComponent } from './chunk/chunk-progressbar.component';
7
- export { CircularProgressBar } from './circularprogressbar/circular-progressbar.component';
7
+ export { CircularProgressBarComponent } from './circularprogressbar/circular-progressbar.component';
8
8
  export { ProgressBarModule } from './progressbar.module';
9
9
  export { CircularProgressbarCenterTemplateDirective } from './circularprogressbar/center-template.directive';
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-progressbar',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1658832123,
12
+ publishDate: 1659453263,
13
13
  version: '',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
15
15
  };
@@ -234,7 +234,7 @@ ProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
234
234
  </span>
235
235
  <div
236
236
  #progressStatus
237
- class="k-state-selected"
237
+ class="k-selected"
238
238
  [class.k-complete]="isCompleted"
239
239
  [ngStyle]="progressCssStyle"
240
240
  [ngClass]="progressCssClass"
@@ -270,7 +270,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
270
270
  </span>
271
271
  <div
272
272
  #progressStatus
273
- class="k-state-selected"
273
+ class="k-selected"
274
274
  [class.k-complete]="isCompleted"
275
275
  [ngStyle]="progressCssStyle"
276
276
  [ngClass]="progressCssClass"
@@ -7,10 +7,10 @@ import { NgModule } from '@angular/core';
7
7
  import { CommonModule } from '@angular/common';
8
8
  import { ProgressBarComponent } from './progressbar.component';
9
9
  import { ResizeSensorModule } from '@progress/kendo-angular-common';
10
- import { CircularProgressBar } from './circularprogressbar/circular-progressbar.component';
10
+ import { CircularProgressBarComponent } from './circularprogressbar/circular-progressbar.component';
11
11
  import { CircularProgressbarCenterTemplateDirective } from './circularprogressbar/center-template.directive';
12
12
  import * as i0 from "@angular/core";
13
- const COMPONENT_DIRECTIVES = [ProgressBarComponent, ChunkProgressBarComponent, CircularProgressBar, CircularProgressbarCenterTemplateDirective];
13
+ const COMPONENT_DIRECTIVES = [ProgressBarComponent, ChunkProgressBarComponent, CircularProgressBarComponent, CircularProgressbarCenterTemplateDirective];
14
14
  const MODULES = [CommonModule, ResizeSensorModule];
15
15
  /**
16
16
  * Represents the [NgModule]({{ site.data.urls.angular['ngmodules'] }})
@@ -46,7 +46,7 @@ const MODULES = [CommonModule, ResizeSensorModule];
46
46
  export class ProgressBarModule {
47
47
  }
48
48
  ProgressBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
49
- ProgressBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProgressBarModule, declarations: [ProgressBarComponent, ChunkProgressBarComponent, CircularProgressBar, CircularProgressbarCenterTemplateDirective], imports: [CommonModule, ResizeSensorModule], exports: [ProgressBarComponent, ChunkProgressBarComponent, CircularProgressBar, CircularProgressbarCenterTemplateDirective] });
49
+ ProgressBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProgressBarModule, declarations: [ProgressBarComponent, ChunkProgressBarComponent, CircularProgressBarComponent, CircularProgressbarCenterTemplateDirective], imports: [CommonModule, ResizeSensorModule], exports: [ProgressBarComponent, ChunkProgressBarComponent, CircularProgressBarComponent, CircularProgressbarCenterTemplateDirective] });
50
50
  ProgressBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProgressBarModule, imports: [MODULES] });
51
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProgressBarModule, decorators: [{
52
52
  type: NgModule,
@@ -7,10 +7,12 @@ import { isDevMode, Component, HostBinding, Input, EventEmitter, Output, ViewChi
7
7
  import { validatePackage } from '@progress/kendo-licensing';
8
8
  import * as i1 from '@progress/kendo-angular-l10n';
9
9
  import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
10
- import { hasObservers, ResizeSensorModule } from '@progress/kendo-angular-common';
10
+ import * as i2$1 from '@progress/kendo-angular-common';
11
+ import { hasObservers, isChanged, ResizeSensorModule } from '@progress/kendo-angular-common';
11
12
  import * as i2 from '@angular/common';
12
13
  import { CommonModule } from '@angular/common';
13
14
  import { Subscription } from 'rxjs';
15
+ import { take } from 'rxjs/operators';
14
16
 
15
17
  /**
16
18
  * @hidden
@@ -19,7 +21,7 @@ const packageMetadata = {
19
21
  name: '@progress/kendo-angular-progressbar',
20
22
  productName: 'Kendo UI for Angular',
21
23
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
22
- publishDate: 1658832123,
24
+ publishDate: 1659453263,
23
25
  version: '',
24
26
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
25
27
  };
@@ -128,6 +130,12 @@ const removeProgressBarStyles = (props, renderer) => {
128
130
  renderer[prop.method](prop.el, prop.attr);
129
131
  });
130
132
  };
133
+ /**
134
+ * @hidden
135
+ */
136
+ const hasElementSize = (element) => {
137
+ return element.style.width && element.style.height;
138
+ };
131
139
 
132
140
  /**
133
141
  * @hidden
@@ -280,7 +288,7 @@ class ProgressBarBase {
280
288
  }
281
289
  }
282
290
  ProgressBarBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProgressBarBase, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
283
- ProgressBarBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ProgressBarBase, selector: "ng-component", inputs: { max: "max", min: "min", value: "value", orientation: "orientation", disabled: "disabled", reverse: "reverse", indeterminate: "indeterminate" }, host: { properties: { "class.k-widget": "this.widgetClasses", "class.k-progressbar": "this.widgetClasses", "class.k-progressbar-horizontal": "this.isHorizontal", "class.k-progressbar-vertical": "this.isVertical", "class.k-state-disabled": "this.disabledClass", "class.k-progressbar-reverse": "this.reverseClass", "class.k-progressbar-indeterminate": "this.indeterminateClass", "attr.dir": "this.dirAttribute", "attr.role": "this.roleAttribute", "attr.aria-valuemin": "this.ariaMinAttribute", "attr.aria-valuemax": "this.ariaMaxAttribute", "attr.aria-valuenow": "this.ariaValueAttribute" } }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
291
+ ProgressBarBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ProgressBarBase, selector: "ng-component", inputs: { max: "max", min: "min", value: "value", orientation: "orientation", disabled: "disabled", reverse: "reverse", indeterminate: "indeterminate" }, host: { properties: { "class.k-widget": "this.widgetClasses", "class.k-progressbar": "this.widgetClasses", "class.k-progressbar-horizontal": "this.isHorizontal", "class.k-progressbar-vertical": "this.isVertical", "class.k-disabled": "this.disabledClass", "class.k-progressbar-reverse": "this.reverseClass", "class.k-progressbar-indeterminate": "this.indeterminateClass", "attr.dir": "this.dirAttribute", "attr.role": "this.roleAttribute", "attr.aria-valuemin": "this.ariaMinAttribute", "attr.aria-valuemax": "this.ariaMaxAttribute", "attr.aria-valuenow": "this.ariaValueAttribute" } }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
284
292
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProgressBarBase, decorators: [{
285
293
  type: Component,
286
294
  args: [{
@@ -300,7 +308,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
300
308
  args: ['class.k-progressbar-vertical']
301
309
  }], disabledClass: [{
302
310
  type: HostBinding,
303
- args: ['class.k-state-disabled']
311
+ args: ['class.k-disabled']
304
312
  }], reverseClass: [{
305
313
  type: HostBinding,
306
314
  args: ['class.k-progressbar-reverse']
@@ -562,7 +570,7 @@ ProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
562
570
  </span>
563
571
  <div
564
572
  #progressStatus
565
- class="k-state-selected"
573
+ class="k-selected"
566
574
  [class.k-complete]="isCompleted"
567
575
  [ngStyle]="progressCssStyle"
568
576
  [ngClass]="progressCssClass"
@@ -598,7 +606,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
598
606
  </span>
599
607
  <div
600
608
  #progressStatus
601
- class="k-state-selected"
609
+ class="k-selected"
602
610
  [class.k-complete]="isCompleted"
603
611
  [ngStyle]="progressCssStyle"
604
612
  [ngClass]="progressCssClass"
@@ -729,7 +737,7 @@ ChunkProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
729
737
  <li class="k-item" *ngFor="let chunk of chunks; let i = index;"
730
738
  [class.k-first]="i === 0"
731
739
  [class.k-last]="i === chunkCount - 1"
732
- [class.k-state-selected]="chunk"
740
+ [class.k-selected]="chunk"
733
741
  [ngClass]="chunk ? progressCssClass : emptyCssClass"
734
742
  [ngStyle]="chunk ? progressCssStyle : emptyCssStyle"
735
743
  [style.width]="orientationStyles.width"
@@ -748,7 +756,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
748
756
  <li class="k-item" *ngFor="let chunk of chunks; let i = index;"
749
757
  [class.k-first]="i === 0"
750
758
  [class.k-last]="i === chunkCount - 1"
751
- [class.k-state-selected]="chunk"
759
+ [class.k-selected]="chunk"
752
760
  [ngClass]="chunk ? progressCssClass : emptyCssClass"
753
761
  [ngStyle]="chunk ? progressCssStyle : emptyCssStyle"
754
762
  [style.width]="orientationStyles.width"
@@ -794,12 +802,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
794
802
  }]
795
803
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
796
804
 
805
+ const DEFAULT_SURFACE_SIZE = 200;
797
806
  /**
798
807
  * Represents the [Kendo UI Circular ProgressBar component for Angular]({% slug circular_progressbar %}).
799
808
  *
800
809
  * @example
801
810
  * ```ts-preview
802
- * _@Component({don’t
811
+ * _@Component({
803
812
  * selector: 'my-app',
804
813
  * template: `
805
814
  * <kendo-circularprogressbar [value]="value"></kendo-circularprogressbar>
@@ -810,20 +819,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
810
819
  * }
811
820
  * ```
812
821
  */
813
- class CircularProgressBar {
814
- constructor(renderer, cdr, localizationService, element) {
822
+ class CircularProgressBarComponent {
823
+ constructor(renderer, cdr, localizationService, element, zone) {
815
824
  this.renderer = renderer;
816
825
  this.cdr = cdr;
817
826
  this.localizationService = localizationService;
818
827
  this.element = element;
828
+ this.zone = zone;
819
829
  this.hostClasses = true;
820
- this.WrapperSize = '200px';
821
830
  /**
822
831
  * Indicates whether an animation will be played on value changes.
823
832
  *
824
- * @default true
833
+ * @default false
825
834
  */
826
- this.animation = true;
835
+ this.animation = false;
827
836
  /**
828
837
  * The opacity of the value arc.
829
838
  * @default 1
@@ -838,6 +847,7 @@ class CircularProgressBar {
838
847
  this._max = 100;
839
848
  this._min = 0;
840
849
  this._value = 0;
850
+ this.previousValue = 0;
841
851
  this.internalValue = 0;
842
852
  this.subscriptions = new Subscription();
843
853
  validatePackage(packageMetadata);
@@ -903,10 +913,8 @@ class CircularProgressBar {
903
913
  this.initProgressArc();
904
914
  }
905
915
  ngOnChanges(changes) {
906
- const isValueChanged = changes.value;
907
- const isProgressArcCreated = this.progress;
908
- const isValueSecondChange = !changes.value.firstChange;
909
- if (isValueChanged && isProgressArcCreated && isValueSecondChange) {
916
+ const skipFirstChange = true;
917
+ if (isChanged('value', changes, skipFirstChange) && this.progress) {
910
918
  if (this.animation) {
911
919
  this.progressbarAnimation();
912
920
  }
@@ -926,6 +934,15 @@ class CircularProgressBar {
926
934
  ngOnDestroy() {
927
935
  this.subscriptions.unsubscribe();
928
936
  }
937
+ /**
938
+ * @hidden
939
+ */
940
+ onResize(_event) {
941
+ this.setStyles();
942
+ const value = this.animation ? this.internalValue : this.value;
943
+ this.calculateProgress(value);
944
+ this.updateCenterTemplate(value);
945
+ }
929
946
  initProgressArc() {
930
947
  this.setStyles();
931
948
  if (this.indeterminate) {
@@ -945,7 +962,10 @@ class CircularProgressBar {
945
962
  if (this.progressColor) {
946
963
  this.updateProgressColor(value);
947
964
  }
948
- this.updateCenterTemplate(value + this.min);
965
+ // needed when we have *ngIf inside the template to render different content depending on some condition
966
+ this.zone.onStable.pipe(take(1)).subscribe(() => {
967
+ this.updateCenterTemplate(value + this.min);
968
+ });
949
969
  const progressArc = this.progress.nativeElement;
950
970
  const radius = this.progress.nativeElement.r.baseVal.value;
951
971
  const circumference = Math.PI * (radius * 2);
@@ -960,11 +980,11 @@ class CircularProgressBar {
960
980
  progressbarAnimation() {
961
981
  const forwardProgress = {
962
982
  isOngoing: this.internalValue > this.value - this.min,
963
- isPositive: this.value > this.previousValue
983
+ isPositive: this.value >= this.previousValue
964
984
  };
965
985
  const backwardProgress = {
966
986
  isOngoing: this.internalValue < this.value - this.min,
967
- isNegative: this.value < this.previousValue
987
+ isNegative: this.value <= this.previousValue
968
988
  };
969
989
  if (forwardProgress.isOngoing && forwardProgress.isPositive ||
970
990
  backwardProgress.isOngoing && backwardProgress.isNegative) {
@@ -985,8 +1005,18 @@ class CircularProgressBar {
985
1005
  setStyles() {
986
1006
  const progressArc = this.progress.nativeElement;
987
1007
  const scale = this.scale.nativeElement;
1008
+ const surface = this.surface.nativeElement;
988
1009
  const element = this.element.nativeElement;
989
- const elWidth = element.getBoundingClientRect().width;
1010
+ let elWidth = element.getBoundingClientRect().width;
1011
+ ;
1012
+ if (!hasElementSize(element)) {
1013
+ const surfaceSize = [
1014
+ { method: 'setStyle', el: surface, attr: 'width', attrValue: `${DEFAULT_SURFACE_SIZE}px` },
1015
+ { method: 'setStyle', el: surface, attr: 'height', attrValue: `${DEFAULT_SURFACE_SIZE}px` }
1016
+ ];
1017
+ elWidth = DEFAULT_SURFACE_SIZE;
1018
+ setProgressBarStyles(surfaceSize, this.renderer);
1019
+ }
990
1020
  const attributesArray = [
991
1021
  { method: 'setAttribute', el: progressArc, attr: 'r', attrValue: (elWidth / 2) - 10 },
992
1022
  { method: 'setAttribute', el: progressArc, attr: 'cx', attrValue: (elWidth / 2) },
@@ -1004,16 +1034,21 @@ class CircularProgressBar {
1004
1034
  // the indeterminate state wont work as the `k-circular-progressbar-arc` has a transform: rotate(-90deg) which is
1005
1035
  // interfering with the svg animation as the animateTransform brings its own transform: rotate()
1006
1036
  // This will be like this until the themes release a new version, bringing a new class `k-circular-progressbar-indeterminate-arc`
1007
- // containing only the necassery CSS styles and we will switch between them when the state of the progressbar is switched.
1037
+ // containing only the necassery CSS styles and we will switch between them when the state of the progressbar is switched.
1008
1038
  this.calculateProgress(this.value - this.min);
1009
1039
  const rotate = this.rtl ? { from: 360, to: 0 } : { from: 0, to: 360 };
1010
- this.renderer.removeClass(progressArc, 'k-circular-progressbar-arc');
1040
+ let color;
1041
+ if (!this.progressColor) {
1042
+ color = getComputedStyle(progressArc).stroke;
1043
+ }
1011
1044
  const indeterminateStyles = [
1012
1045
  { method: 'setStyle', el: progressArc, attr: 'transform-origin', attrValue: 'center' },
1013
1046
  { method: 'setStyle', el: progressArc, attr: 'fill', attrValue: 'none' },
1014
- { method: 'setStyle', el: progressArc, attr: 'stroke-linecap', attrValue: 'round' }
1047
+ { method: 'setStyle', el: progressArc, attr: 'stroke-linecap', attrValue: 'round' },
1048
+ { method: 'setStyle', el: progressArc, attr: 'stroke', attrValue: color ? color : this.currentColor }
1015
1049
  ];
1016
1050
  setProgressBarStyles(indeterminateStyles, this.renderer);
1051
+ this.renderer.removeClass(progressArc, 'k-circular-progressbar-arc');
1017
1052
  progressArc.innerHTML = `<animateTransform attributeName="transform" type="rotate" from="${rotate.from} 0 0" to="${rotate.to} 0 0" dur="1s" repeatCount="indefinite" />`;
1018
1053
  }
1019
1054
  else {
@@ -1041,11 +1076,22 @@ class CircularProgressBar {
1041
1076
  }
1042
1077
  positionLabel() {
1043
1078
  const labelEl = this.labelElement.nativeElement;
1044
- const svgWrapper = this.svgWrapper.nativeElement.getBoundingClientRect();
1045
- const svgWrapperWidth = svgWrapper.width;
1046
- const svgWrapperHeight = svgWrapper.height;
1047
- const left = (svgWrapperWidth / 2) - (labelEl.offsetWidth / 2);
1048
- const top = (svgWrapperHeight / 2) - (labelEl.offsetHeight / 2);
1079
+ const element = this.element.nativeElement;
1080
+ const surface = this.surface.nativeElement;
1081
+ let elWidth;
1082
+ let elHeight;
1083
+ if (!hasElementSize(element)) {
1084
+ const surfaceSize = surface.getBoundingClientRect();
1085
+ elWidth = surfaceSize.width;
1086
+ elHeight = surfaceSize.height;
1087
+ }
1088
+ else {
1089
+ const elementSize = element.getBoundingClientRect();
1090
+ elWidth = elementSize.width;
1091
+ elHeight = elementSize.height;
1092
+ }
1093
+ const left = (elWidth / 2) - (labelEl.offsetWidth / 2);
1094
+ const top = (elHeight / 2) - (labelEl.offsetHeight / 2);
1049
1095
  const labelCalculations = [
1050
1096
  { method: 'setStyle', el: labelEl, attr: 'left', attrValue: `${left}px` },
1051
1097
  { method: 'setStyle', el: labelEl, attr: 'top', attrValue: `${top}px` }
@@ -1065,7 +1111,7 @@ class CircularProgressBar {
1065
1111
  for (let i = 0; i < this.progressColor.length; i++) {
1066
1112
  let from = this.progressColor[i].from;
1067
1113
  let to = this.progressColor[i].to;
1068
- if (value >= from && value < to || (!from && value < to)) {
1114
+ if (value >= from && value <= to || (!from && value <= to)) {
1069
1115
  this.renderer.setStyle(progressArc, 'stroke', this.progressColor[i].color);
1070
1116
  break;
1071
1117
  }
@@ -1079,9 +1125,9 @@ class CircularProgressBar {
1079
1125
  if (isDevMode()) {
1080
1126
  switch (type) {
1081
1127
  case 'value > max':
1082
- throw new Error('The value of the Circular Progressbar cannot exceed the max value');
1128
+ throw new Error('The value of the CircularProgressbar cannot exceed the max value');
1083
1129
  case 'value < min':
1084
- throw new Error('The value of the Circular Progressbar cannot be lower than the min value');
1130
+ throw new Error('The value of the CircularProgressbar cannot be lower than the min value');
1085
1131
  case 'max < min':
1086
1132
  throw new Error('The min value cannot be higher than the max value');
1087
1133
  default:
@@ -1103,16 +1149,16 @@ class CircularProgressBar {
1103
1149
  }
1104
1150
  }
1105
1151
  }
1106
- CircularProgressBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CircularProgressBar, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.LocalizationService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
1107
- CircularProgressBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: CircularProgressBar, selector: "kendo-circularprogressbar", inputs: { value: "value", max: "max", min: "min", animation: "animation", opacity: "opacity", indeterminate: "indeterminate", progressColor: "progressColor" }, outputs: { animationEnd: "animationEnd" }, host: { properties: { "class.k-circular-progressbar": "this.hostClasses", "style.width": "this.WrapperSize", "style.height": "this.WrapperSize" } }, providers: [
1152
+ CircularProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CircularProgressBarComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.LocalizationService }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1153
+ CircularProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: CircularProgressBarComponent, selector: "kendo-circularprogressbar", inputs: { value: "value", max: "max", min: "min", animation: "animation", opacity: "opacity", indeterminate: "indeterminate", progressColor: "progressColor" }, outputs: { animationEnd: "animationEnd" }, host: { properties: { "class.k-circular-progressbar": "this.hostClasses" } }, providers: [
1108
1154
  LocalizationService,
1109
1155
  {
1110
1156
  provide: L10N_PREFIX,
1111
1157
  useValue: 'kendo.circularprogressbar'
1112
1158
  }
1113
- ], queries: [{ propertyName: "centerTemplate", first: true, predicate: CircularProgressbarCenterTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "progress", first: true, predicate: ["progress"], descendants: true }, { propertyName: "scale", first: true, predicate: ["scale"], descendants: true }, { propertyName: "labelElement", first: true, predicate: ["label"], descendants: true }, { propertyName: "svgWrapper", first: true, predicate: ["svgWrapper"], descendants: true }], exportAs: ["kendoCircularProgressBar"], usesOnChanges: true, ngImport: i0, template: `
1114
- <div class="k-circular-progressbar-surface">
1115
- <div #svgWrapper>
1159
+ ], queries: [{ propertyName: "centerTemplate", first: true, predicate: CircularProgressbarCenterTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "progress", first: true, predicate: ["progress"], descendants: true }, { propertyName: "scale", first: true, predicate: ["scale"], descendants: true }, { propertyName: "labelElement", first: true, predicate: ["label"], descendants: true }, { propertyName: "surface", first: true, predicate: ["surface"], descendants: true }], exportAs: ["kendoCircularProgressBar"], usesOnChanges: true, ngImport: i0, template: `
1160
+ <div #surface class="k-circular-progressbar-surface">
1161
+ <div>
1116
1162
  <svg #svg>
1117
1163
  <g>
1118
1164
  <circle class="k-circular-progressbar-scale" #scale stroke-width="9.5"></circle>
@@ -1124,15 +1170,16 @@ CircularProgressBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
1124
1170
  </div>
1125
1171
  </div>
1126
1172
  </div>
1127
- `, isInline: true, directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
1128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CircularProgressBar, decorators: [{
1173
+ <kendo-resize-sensor (resize)="onResize($event)"></kendo-resize-sensor>
1174
+ `, isInline: true, components: [{ type: i2$1.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
1175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CircularProgressBarComponent, decorators: [{
1129
1176
  type: Component,
1130
1177
  args: [{
1131
1178
  exportAs: 'kendoCircularProgressBar',
1132
1179
  selector: 'kendo-circularprogressbar',
1133
1180
  template: `
1134
- <div class="k-circular-progressbar-surface">
1135
- <div #svgWrapper>
1181
+ <div #surface class="k-circular-progressbar-surface">
1182
+ <div>
1136
1183
  <svg #svg>
1137
1184
  <g>
1138
1185
  <circle class="k-circular-progressbar-scale" #scale stroke-width="9.5"></circle>
@@ -1144,6 +1191,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1144
1191
  </div>
1145
1192
  </div>
1146
1193
  </div>
1194
+ <kendo-resize-sensor (resize)="onResize($event)"></kendo-resize-sensor>
1147
1195
  `, providers: [
1148
1196
  LocalizationService,
1149
1197
  {
@@ -1152,15 +1200,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1152
1200
  }
1153
1201
  ]
1154
1202
  }]
1155
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.LocalizationService }, { type: i0.ElementRef }]; }, propDecorators: { hostClasses: [{
1203
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.LocalizationService }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { hostClasses: [{
1156
1204
  type: HostBinding,
1157
1205
  args: ['class.k-circular-progressbar']
1158
- }], WrapperSize: [{
1159
- type: HostBinding,
1160
- args: ['style.width']
1161
- }, {
1162
- type: HostBinding,
1163
- args: ['style.height']
1164
1206
  }], value: [{
1165
1207
  type: Input
1166
1208
  }], max: [{
@@ -1186,15 +1228,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1186
1228
  }], labelElement: [{
1187
1229
  type: ViewChild,
1188
1230
  args: ["label"]
1189
- }], svgWrapper: [{
1231
+ }], surface: [{
1190
1232
  type: ViewChild,
1191
- args: ["svgWrapper"]
1233
+ args: ["surface"]
1192
1234
  }], centerTemplate: [{
1193
1235
  type: ContentChild,
1194
1236
  args: [CircularProgressbarCenterTemplateDirective]
1195
1237
  }] } });
1196
1238
 
1197
- const COMPONENT_DIRECTIVES = [ProgressBarComponent, ChunkProgressBarComponent, CircularProgressBar, CircularProgressbarCenterTemplateDirective];
1239
+ const COMPONENT_DIRECTIVES = [ProgressBarComponent, ChunkProgressBarComponent, CircularProgressBarComponent, CircularProgressbarCenterTemplateDirective];
1198
1240
  const MODULES = [CommonModule, ResizeSensorModule];
1199
1241
  /**
1200
1242
  * Represents the [NgModule]({{ site.data.urls.angular['ngmodules'] }})
@@ -1230,7 +1272,7 @@ const MODULES = [CommonModule, ResizeSensorModule];
1230
1272
  class ProgressBarModule {
1231
1273
  }
1232
1274
  ProgressBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1233
- ProgressBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProgressBarModule, declarations: [ProgressBarComponent, ChunkProgressBarComponent, CircularProgressBar, CircularProgressbarCenterTemplateDirective], imports: [CommonModule, ResizeSensorModule], exports: [ProgressBarComponent, ChunkProgressBarComponent, CircularProgressBar, CircularProgressbarCenterTemplateDirective] });
1275
+ ProgressBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProgressBarModule, declarations: [ProgressBarComponent, ChunkProgressBarComponent, CircularProgressBarComponent, CircularProgressbarCenterTemplateDirective], imports: [CommonModule, ResizeSensorModule], exports: [ProgressBarComponent, ChunkProgressBarComponent, CircularProgressBarComponent, CircularProgressbarCenterTemplateDirective] });
1234
1276
  ProgressBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProgressBarModule, imports: [MODULES] });
1235
1277
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ProgressBarModule, decorators: [{
1236
1278
  type: NgModule,
@@ -1245,5 +1287,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1245
1287
  * Generated bundle index. Do not edit.
1246
1288
  */
1247
1289
 
1248
- export { ChunkProgressBarComponent, CircularProgressBar, CircularProgressbarCenterTemplateDirective, ProgressBarComponent, ProgressBarModule };
1290
+ export { ChunkProgressBarComponent, CircularProgressBarComponent, CircularProgressbarCenterTemplateDirective, ProgressBarComponent, ProgressBarModule };
1249
1291
 
package/main.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  export { ProgressBarComponent } from './progressbar.component';
6
6
  export { ChunkProgressBarComponent } from './chunk/chunk-progressbar.component';
7
- export { CircularProgressBar } from './circularprogressbar/circular-progressbar.component';
7
+ export { CircularProgressBarComponent } from './circularprogressbar/circular-progressbar.component';
8
8
  export { ProgressBarOrientation } from './types/progressbar-orientation';
9
9
  export { LabelSettings } from './types/label-settings.interface';
10
10
  export { LabelPosition } from './types/label-position';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-progressbar",
3
- "version": "3.1.0-dev.202207261042",
3
+ "version": "3.1.0-dev.202208021514",
4
4
  "description": "Kendo UI Angular component starter template",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -42,6 +42,6 @@ import * as i6 from "@progress/kendo-angular-common";
42
42
  */
43
43
  export declare class ProgressBarModule {
44
44
  static ɵfac: i0.ɵɵFactoryDeclaration<ProgressBarModule, never>;
45
- static ɵmod: i0.ɵɵNgModuleDeclaration<ProgressBarModule, [typeof i1.ProgressBarComponent, typeof i2.ChunkProgressBarComponent, typeof i3.CircularProgressBar, typeof i4.CircularProgressbarCenterTemplateDirective], [typeof i5.CommonModule, typeof i6.ResizeSensorModule], [typeof i1.ProgressBarComponent, typeof i2.ChunkProgressBarComponent, typeof i3.CircularProgressBar, typeof i4.CircularProgressbarCenterTemplateDirective]>;
45
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ProgressBarModule, [typeof i1.ProgressBarComponent, typeof i2.ChunkProgressBarComponent, typeof i3.CircularProgressBarComponent, typeof i4.CircularProgressbarCenterTemplateDirective], [typeof i5.CommonModule, typeof i6.ResizeSensorModule], [typeof i1.ProgressBarComponent, typeof i2.ChunkProgressBarComponent, typeof i3.CircularProgressBarComponent, typeof i4.CircularProgressbarCenterTemplateDirective]>;
46
46
  static ɵinj: i0.ɵɵInjectorDeclaration<ProgressBarModule>;
47
47
  }