1import{$a as B,Fb as M,Gb as O,Qa as s,R as A,Wa as P,aa as D,ab as j,ac as q,ba as N,ca as R,da as h,db as b,ha as U,jb as p,ka as z,kb as L,kc as J,la as $,lb as g,lc as K,oa as Z,oc as Q,pb as S,qb as k,rb as C,sb as G,tb as W,ub as H,v as T,wb as Y,xb as c}from"./chunk-GCEC5VGM.js";function et(i,r){if(i&1&&(h(),S(0,"linearGradient"),C(1,"stop",5)(2,"stop",6),k()),i&2){let t=c(2);p("id",t.svg.outerLinearGradient.id),s(),p("stop-color",t.svg.outerLinearGradient.colorStop1)("stop-opacity",1),s(),p("stop-color",t.svg.outerLinearGradient.colorStop2)("stop-opacity",1)}}function ot(i,r){if(i&1&&(h(),S(0,"radialGradient"),C(1,"stop",5)(2,"stop",6),k()),i&2){let t=c(2);p("id",t.svg.radialGradient.id),s(),p("stop-color",t.svg.radialGradient.colorStop1)("stop-opacity",1),s(),p("stop-color",t.svg.radialGradient.colorStop2)("stop-opacity",1)}}function nt(i,r){if(i&1&&(h(),C(0,"circle")),i&2){let t=c(3);p("cx",t.svg.backgroundCircle.cx)("cy",t.svg.backgroundCircle.cy)("r",t.svg.backgroundCircle.r)("fill",t.svg.backgroundCircle.fill)("fill-opacity",t.svg.backgroundCircle.fillOpacity)("stroke",t.svg.backgroundCircle.stroke)("stroke-width",t.svg.backgroundCircle.strokeWidth)}}function st(i,r){if(i&1&&(h(),C(0,"circle")),i&2){let t=c(3);L("fill","url(",t.window.location.href,"#",t.svg.radialGradient.id,")"),p("cx",t.svg.backgroundCircle.cx)("cy",t.svg.backgroundCircle.cy)("r",t.svg.backgroundCircle.r)("fill-opacity",t.svg.backgroundCircle.fillOpacity)("stroke",t.svg.backgroundCircle.stroke)("stroke-width",t.svg.backgroundCircle.strokeWidth)}}function rt(i,r){if(i&1&&(h(),G(0),b(1,nt,1,7,"circle",2)(2,st,1,9,"circle",2),W()),i&2){let t=c(2);s(),g("ngIf",!t.options.backgroundGradient),s(),g("ngIf",t.options.backgroundGradient)}}function at(i,r){if(i&1&&(h(),C(0,"circle")),i&2){let t=c(2);p("cx",t.svg.circle.cx)("cy",t.svg.circle.cy)("r",t.svg.circle.r)("fill",t.svg.circle.fill)("stroke",t.svg.circle.stroke)("stroke-width",t.svg.circle.strokeWidth)}}function lt(i,r){if(i&1&&(h(),C(0,"path")),i&2){let t=c(3);p("d",t.svg.path.d)("stroke",t.svg.path.stroke)("stroke-width",t.svg.path.strokeWidth)("stroke-linecap",t.svg.path.strokeLinecap)("fill",t.svg.path.fill)}}function ct(i,r){if(i&1&&(h(),C(0,"path")),i&2){let t=c(3);L("stroke","url(",t.window.location.href,"#",t.svg.outerLinearGradient.id,")"),p("d",t.svg.path.d)("stroke-width",t.svg.path.strokeWidth)("stroke-linecap",t.svg.path.strokeLinecap)("fill",t.svg.path.fill)}}function ht(i,r){if(i&1&&(h(),G(0),b(1,lt,1,5,"path",2)(2,ct,1,7,"path",2),W()),i&2){let t=c(2);s(),g("ngIf",!t.options.outerStrokeGradient),s(),g("ngIf",t.options.outerStrokeGradient)}}function pt(i,r){if(i&1&&(h(),S(0,"tspan"),M(1),k()),i&2){let t=r.$implicit,n=c(4);p("x",n.svg.title.x)("y",n.svg.title.y)("dy",t.dy)("font-size",n.svg.title.fontSize)("font-weight",n.svg.title.fontWeight)("fill",n.svg.title.color),s(),O(t.span)}}function gt(i,r){if(i&1&&(h(),G(0),b(1,pt,2,7,"tspan",8),W()),i&2){let t=c(3);s(),g("ngForOf",t.svg.title.tspans)}}function ut(i,r){if(i&1&&(h(),S(0,"tspan"),M(1),k()),i&2){let t=c(3);p("font-size",t.svg.units.fontSize)("font-weight",t.svg.units.fontWeight)("fill",t.svg.units.color),s(),O(t.svg.units.text)}}function dt(i,r){if(i&1&&(h(),S(0,"tspan"),M(1),k()),i&2){let t=r.$implicit,n=c(4);p("x",n.svg.subtitle.x)("y",n.svg.subtitle.y)("dy",t.dy)("font-size",n.svg.subtitle.fontSize)("font-weight",n.svg.subtitle.fontWeight)("fill",n.svg.subtitle.color),s(),O(t.span)}}function mt(i,r){if(i&1&&(h(),G(0),b(1,dt,2,7,"tspan",8),W()),i&2){let t=c(3);s(),g("ngForOf",t.svg.subtitle.tspans)}}function _t(i,r){if(i&1&&(h(),S(0,"text",7),b(1,gt,2,1,"ng-container",2)(2,ut,2,4,"tspan",2)(3,mt,2,1,"ng-container",2),k()),i&2){let t=c(2);p("x",t.svg.circle.cx)("y",t.svg.circle.cy)("text-anchor",t.svg.title.textAnchor),s(),g("ngIf",t.options.showTitle),s(),g("ngIf",t.options.showUnits),s(),g("ngIf",t.options.showSubtitle)}}function ft(i,r){if(i&1&&(h(),C(0,"image",9)),i&2){let t=c(2);p("height",t.svg.image.height)("width",t.svg.image.width)("href",t.svg.image.src,null,"xlink")("x",t.svg.image.x)("y",t.svg.image.y)}}function vt(i,r){if(i&1){let t=H();h(),S(0,"svg",1),Y("click",function(w){N(t);let f=c();return R(f.emitClickEvent(w))}
1),S(1,"defs"),b(2,et,3,5,"linearGradient",2)(3,ot,3,5,"radialGradient",2),k(),b(4,rt,3,2,"ng-container",2)(5,at,1,6,"circle",2)(6,ht,3,2,"ng-container",2)(7,_t,4,6,"text",3)(8,ft,1,5,"image",4),k()}if(i&2){let t=c();p("viewBox",t.svg.viewBox)("height",t.svg.height)("width",t.svg.width)("class",t.options.class),s(2),g("ngIf",t.options.outerStrokeGradient),s(),g("ngIf",t.options.backgroundGradient),s(),g("ngIf",t.options.showBackground),s(),g("ngIf",t.options.showInnerStroke),s(),g("ngIf",+t.options.percent!=0||t.options.showZeroOuterStroke),s(),g("ngIf",!t.options.showImage&&(t.options.showTitle||t.options.showUnits||t.options.showSubtitle)),s(),g("ngIf",t.options.showImage)}}var F=class{constructor(){this.class="",this.backgroundGradient=!1,this.backgroundColor="transparent",this.backgroundGradientStopColor="transparent",this.backgroundOpacity=1,this.backgroundStroke="transparent",this.backgroundStrokeWidth=0,this.backgroundPadding=5,this.percent=0,this.radius=90,this.space=4,this.toFixed=0,this.maxPercent=1e3,this.renderOnClick=!0,this.units="%",this.unitsFontSize="10",this.unitsFontWeight="normal",this.unitsColor="#444444",this.outerStrokeGradient=!1,this.outerStrokeWidth=8,this.outerStrokeColor="#78C000",this.outerStrokeGradientStopColor="transparent",this.outerStrokeLinecap="round",this.innerStrokeColor="#C7E596",this.innerStrokeWidth=4,this.titleFormat=void 0,this.title="auto",this.titleColor="#444444",this.titleFontSize="20",this.titleFontWeight="normal",this.subtitleFormat=void 0,this.subtitle="progress",this.subtitleColor="#A9A9A9",this.subtitleFontSize="10",this.subtitleFontWeight="normal",this.imageSrc=void 0,this.imageHeight=0,this.imageWidth=0,this.animation=!0,this.animateTitle=!0,this.animateSubtitle=!1,this.animationDuration=500,this.showTitle=!0,this.showSubtitle=!0,this.showUnits=!0,this.showImage=!1,this.showBackground=!0,this.showInnerStroke=!0,this.clockwise=!0,this.responsive=!1,this.startFromZero=!0,this.showZeroOuterStroke=!0,this.lazy=!1}},Pt=(()=>{class i{constructor(t,n,w,f){this.ngZone=n,this.elRef=w,this.onClick=new z,this.svgElement=null,this.isInViewport=!1,this.onViewportChanged=new z,this._viewportChangedSubscriber=null,this.options=new F,this.defaultOptions=new F,this._lastPercent=0,this._gradientUUID=null,this.render=()=>{this.applyOptions(),this.options.lazy?(this.svgElement===null&&this.draw(this._lastPercent),this.isInViewport&&(this.options.animation&&this.options.animationDuration>0?this.animate(this._lastPercent,this.options.percent):this.draw(this.options.percent),this._lastPercent=this.options.percent)):(this.options.animation&&this.options.animationDuration>0?this.animate(this._lastPercent,this.options.percent):this.draw(this.options.percent),this._lastPercent=this.options.percent)},this.polarToCartesian=(e,a,l,o)=>{let u=o*Math.PI/180,d=e+Math.sin(u)*l,m=a-Math.cos(u)*l;return{x:d,y:m}},this.draw=e=>{e=e===void 0?this.options.percent:Math.abs(e);let a=e>100?100:e,l=this.options.radius*2+this.options.outerStrokeWidth*2;this.options.showBackground&&(l+=this.options.backgroundStrokeWidth*2+this.max(0,this.options.backgroundPadding*2));let o={x:l/2,y:l/2},u={x:o.x,y:o.y-this.options.radius},d=this.polarToCartesian(o.x,o.y,this.options.radius,360*(this.options.clockwise?a:100-a)/100);a===100&&(d.x=d.x+(this.options.clockwise?-.01:.01));let m,I;a>50?[m,I]=this.options.clockwise?[1,1]:[1,0]:[m,I]=this.options.clockwise?[0,1]:[0,0];let v=this.options.animateTitle?e:this.options.percent,X=v>this.options.maxPercent?`${this.options.maxPercent.toFixed(this.options.toFixed)}+`:v.toFixed(this.options.toFixed),tt=this.options.animateSubtitle?e:this.options.percent,x={x:o.x,y:o.y,textAnchor:"middle",color:this.options.titleColor,fontSize:this.options.titleFontSize,fontWeight:this.options.titleFontWeight,texts:[],tspans:[]};if(this.options.titleFormat!==void 0&&this.options.titleFormat.constructor.name==="Function"){let _=this.options.titleFormat(v);_ instanceof Array?x.texts=[..._]:x.texts.push(_.toString())}else this.options.title==="auto"?x.texts.push(X):this.options.title instanceof Array?x.texts=[...this.options.title]:x.texts.push(this.options.title.toString());let y={x:o.x,y:o.y,textAnchor:"middle",color:this.options.subtitleColor,fontSize:this.options.subtitleFontSize,fontWeight:this.options.subtitleFontWeight,texts:[],tspans:[]};if(this.options.subtitleFormat!==void 0&&this.options.subtitleFormat.constructor.name==="Function"){let _=this.options.subtitleFormat(tt);_ instanceof Array?y.texts=[..._]:y.texts.push(_.toString())}else this.options.subtitle instanceof Array?y.texts=[...this.options.subtitle]:y.texts.push(this.options.subtitle.toString());let it={text:`${this.options.units}`,fontSize:this.options.unitsFontSize,fontWeight:this.options.unitsFontWeight,color:this.options.unitsColor},E=0,V=1;if(this.options.showTitle&&(E+=x.texts.length),this.options.showSubtitle&&(E+=y.texts.length),this.options.showTitle)for(let _ of x.texts)x.tspans.push({span:_,dy:this.getRelativeY(V,E)}),V++;if(this.options.showSubtitle)for(let _ of y.texts)y.tspans.push({span:_,dy:this.getRelativeY(V,E)}),V++;this._gradientUUID===null&&(this._gradientUUID=this.uuid()),this.svg={viewBox:`0 0 ${l} ${l}`,width:this.options.responsive?"100%":l,height:this.options.responsive?"100%":l,backgroundCircle:{cx:o.x,cy:o.y,r:this.options.radius+this.options.outerStrokeWidth/2+this.options.backgroundPadding,fill:this.options.backgroundColor,fillOpacity:this.options.backgroundOpacity,stroke:this.options.backgroundStroke,strokeWidth:this.options.backgroundStrokeWidth},path:{d:`M ${u.x} ${u.y} 2 A ${this.options.radius} ${this.options.radius} 0 ${m} ${I} ${d.x} ${d.y}`,stroke:this.options.outerStrokeColor,strokeWidth:this.options.outerStrokeWidth,strokeLinecap:this.options.outerStrokeLinecap,fill:"none"},circle:{cx:o.x,cy:o.y,r:this.options.radius-this.options.space-this.options.outerStrokeWidth/2-this.options.innerStrokeWidth/2,fill:"none",stroke:this.options.innerStrokeColor,strokeWidth:this.options.innerStrokeWidth},title:x,units:it,subtitle:y,image:{x:o.x-this.options.imageWidth/2,y:o.y-this.options.imageHeight/2,src:this.options.imageSrc,width:this.options.imageWidth,height:this.options.imageHeight},outerLinearGradient:{id:"outer-linear-"+this._gradientUUID,colorStop1:this.options.outerStrokeColor,colorStop2:this.options.outerStrokeGradientStopColor==="transparent"?"#FFF":this.options.outerStrokeGradientStopColor},radialGradient:{id:"radial-"+this._gradientUUID,colorStop1:this.options.backgroundColor,colorStop2:this.options.backgroundGradientStopColor==="transparent"?"#FFF":this.options.backgroundGradientStopColor}}},this.getAnimationParameters=(e,a)=>{let o,u,d,m=this.options.startFromZero||e<0?0:e,I=a<0?0:this.min(a,this.options.maxPercent),v=Math.abs(Math.round(I-m));return v>=100?(o=100,!this.options.animateTitle&&!this.options.animateSubtitle?u=1:u=Math.round(v/o)):(o=v,u=1),d=Math.round(this.options.animationDuration/o),d<10&&(d=10,o=this.options.animationDuration/d,!this.options.animateTitle&&!this.options.animateSubtitle&&v>
2100?u=Math.round(100/o):u=Math.round(v/o)),u<1&&(u=1),{times:o,step:u,interval:d}},this.animate=(e,a)=>{this._timerSubscription&&!this._timerSubscription.closed&&this._timerSubscription.unsubscribe();let l=this.options.startFromZero?0:e,o=a,{step:u,interval:d}=this.getAnimationParameters(l,o),m=l;l<o?this._timerSubscription=T(0,d).subscribe(()=>{m+=u,m<=o?!this.options.animateTitle&&!this.options.animateSubtitle&&m>=100?(this.draw(o),this._timerSubscription.unsubscribe()):this.draw(m):(this.draw(o),this._timerSubscription.unsubscribe())}):this._timerSubscription=T(0,d).subscribe(()=>{m-=u,m>=o?!this.options.animateTitle&&!this.options.animateSubtitle&&o>=100?(this.draw(o),this._timerSubscription.unsubscribe()):this.draw(m):(this.draw(o),this._timerSubscription.unsubscribe())})},this.applyOptions=()=>{for(let e of Object.keys(this.options))this.hasOwnProperty(e)&&this[e]!==void 0?this.options[e]=this[e]:this.templateOptions&&this.templateOptions[e]!==void 0&&(this.options[e]=this.templateOptions[e]);this.options.radius=Math.abs(+this.options.radius),this.options.space=+this.options.space,this.options.percent=+this.options.percent>0?+this.options.percent:0,this.options.maxPercent=Math.abs(+this.options.maxPercent),this.options.animationDuration=Math.abs(this.options.animationDuration),this.options.outerStrokeWidth=Math.abs(+this.options.outerStrokeWidth),this.options.innerStrokeWidth=Math.abs(+this.options.innerStrokeWidth),this.options.backgroundPadding=+this.options.backgroundPadding},this.getRelativeY=(e,a)=>(-.18+1*(e-a/2)).toFixed(2)+"em",this.min=(e,a)=>e<a?e:a,this.max=(e,a)=>e>a?e:a,this.uuid=()=>{var e=new Date().getTime(),a="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(l){var o=(e+Math.random()*16)%16|0;return e=Math.floor(e/16),(l=="x"?o:o&3|8).toString(16)});return a},this.checkViewport=()=>{this.findSvgElement();let e=this.isInViewport;this.isInViewport=this.isElementInViewport(this.svgElement),e!==this.isInViewport&&this.onViewportChanged.observers.length>0&&this.ngZone.run(()=>{this.onViewportChanged.emit({oldValue:e,newValue:this.isInViewport})})},this.onScroll=e=>{this.checkViewport()},this.loadEventsForLazyMode=()=>{if(this.options.lazy){this.ngZone.runOutsideAngular(()=>{this.document.addEventListener("scroll",this.onScroll,!0),this.window.addEventListener("resize",this.onScroll,!0)}),this._viewportChangedSubscriber===null&&(this._viewportChangedSubscriber=this.onViewportChanged.subscribe(({oldValue:a,newValue:l})=>{l&&this.render()}));let e=T(0,50).subscribe(()=>{this.svgElement===null?this.checkViewport():e.unsubscribe()})}},this.unloadEventsForLazyMode=()=>{this.document.removeEventListener("scroll",this.onScroll,!0),this.window.removeEventListener("resize",this.onScroll,!0),this._viewportChangedSubscriber!==null&&(this._viewportChangedSubscriber.unsubscribe(),this._viewportChangedSubscriber=null)},this.document=f.get(q),this.window=this.document.defaultView,Object.assign(this.options,t),Object.assign(this.defaultOptions,t)}emitClickEvent(t){this.options.renderOnClick&&this.animate(0,this.options.percent),this.onClick.observers.length>0&&this.onClick.emit(t)}isDrawing(){return this._timerSubscription&&!this._timerSubscription.closed}findSvgElement(){if(this.svgElement===null){let t=this.elRef.nativeElement.getElementsByTagName("svg");t.length>0&&(this.svgElement=t[0])}}isElementInViewport(t){if(t==null)return!1;let n=t.getBoundingClientRect(),w=t.parentNode,f;do{if(f=w.getBoundingClientRect(),n.top>=f.bottom||n.bottom<=f.top||n.left>=f.right||n.right<=f.left)return!1;w=w.parentNode}while(w!=this.document.body);return!(n.top>=(this.window.innerHeight||this.document.documentElement.clientHeight)||n.bottom<=0||n.left>=(this.window.innerWidth||this.document.documentElement.clientWidth)||n.right<=0)}ngOnInit(){this.loadEventsForLazyMode()}ngOnDestroy(){this.unloadEventsForLazyMode()}ngOnChanges(t){this.render(),"lazy"in t&&(t.lazy.currentValue?this.loadEventsForLazyMode():this.unloadEventsForLazyMode())}}return i.\u0275fac=function(t){return new(t||i)(P(F),P($),P(Z),P(U))},i.\u0275cmp=B({type:i,selectors:[["circle-progress"]],inputs:{name:"name",class:"class",backgroundGradient:"backgroundGradient",backgroundColor:"backgroundColor",backgroundGradientStopColor:"backgroundGradientStopColor",backgroundOpacity:"backgroundOpacity",backgroundStroke:"backgroundStroke",backgroundStrokeWidth:"backgroundStrokeWidth",backgroundPadding:"backgroundPadding",radius:"radius",space:"space",percent:"percent",toFixed:"toFixed",maxPercent:"maxPercent",renderOnClick:"renderOnClick",units:"units",unitsFontSize:"unitsFontSize",unitsFontWeight:"unitsFontWeight",unitsColor:"unitsColor",outerStrokeGradient:"outerStrokeGradient",outerStrokeWidth:"outerStrokeWidth",outerStrokeColor:"outerStrokeColor",outerStrokeGradientStopColor:"outerStrokeGradientStopColor",outerStrokeLinecap:"outerStrokeLinecap",innerStrokeColor:"innerStrokeColor",innerStrokeWidth:"innerStrokeWidth",titleFormat:"titleFormat",title:"title",titleColor:"titleColor",titleFontSize:"titleFontSize",titleFontWeight:"titleFontWeight",subt
2itleFormat:"subtitleFormat",subtitle:"subtitle",subtitleColor:"subtitleColor",subtitleFontSize:"subtitleFontSize",subtitleFontWeight:"subtitleFontWeight",imageSrc:"imageSrc",imageHeight:"imageHeight",imageWidth:"imageWidth",animation:"animation",animateTitle:"animateTitle",animateSubtitle:"animateSubtitle",animationDuration:"animationDuration",showTitle:"showTitle",showSubtitle:"showSubtitle",showUnits:"showUnits",showImage:"showImage",showBackground:"showBackground",showInnerStroke:"showInnerStroke",clockwise:"clockwise",responsive:"responsive",startFromZero:"startFromZero",showZeroOuterStroke:"showZeroOuterStroke",lazy:"lazy",templateOptions:[0,"options","templateOptions"]},outputs:{onClick:"onClick"},standalone:!1,features:[D],decls:1,vars:1,consts:[["xmlns","http://www.w3.org/2000/svg","preserveAspectRatio","xMidYMid meet",3,"click",4,"ngIf"],["xmlns","http://www.w3.org/2000/svg","preserveAspectRatio","xMidYMid meet",3,"click"],[4,"ngIf"],["alignment-baseline","baseline",4,"ngIf"],["preserveAspectRatio","none",4,"ngIf"],["offset","5%"],["offset","95%"],["alignment-baseline","baseline"],[4,"ngFor","ngForOf"],["preserveAspectRatio","none"]],template:function(t,n){t&1&&b(0,vt,9,11,"svg",0),t&2&&g("ngIf",n.svg)},dependencies:[J,K],encapsulation:2}),i})(),Gt=(()=>{class i{static forRoot(t={}){return{ngModule:i,providers:[{provide:F,useValue:t}]}}}return i.\u0275fac=function(t){return new(t||i)},i.\u0275mod=j({type:i}),i.\u0275inj=A({imports:[Q]}),i})();export{Pt as a,Gt as b};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.