PageSourceSearch

https://alex-frei.web.app/en/chunk-3Y5UV2OF.js

js alex-frei.web.app collected 2026-10-03 12:17:03 UTC 7,741 bytes, 11 lines download raw bytes

1import{c as F,d as p}from"./chunk-EZMMEJRW.js";import{$a as g,A as y,Aa as k,C as b,Ec as Y,Fc as q,G as P,Ga as f,H as w,I as T,J as V,K as _,O as l,Pa as Z,Pb as O,R as E,Ra as U,Sb as Q,T as L,V as D,Z as B,aa as d,ca as s,cc as X,i as c,ja as W,ka as $,kb as G,lb as M,ma as j,mb as x,mc as u,na as z,nb as A,oc as I,pc as n,q as a,qa as H,r as R,vc as S,wc as o,x as v,y as N,z as C,za as h}from"./chunk-QOOWFF2T.js";var ne=(()=>{class t{constructor(){this.document=s(j),this.scroll$=v(this.document,"scroll").pipe(D(50,void 0,{leading:!0,trailing:!0}),l())}overrideScrollListener(e){this.scroll$=v(e,"scroll").pipe(D(50,void 0,{leading:!0,trailing:!0}),l())}get interval(){return this._interval?this._interval:this._interval=C(0,c).pipe(l())}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=B({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),J=new d("NgxCountAnimationConfigs");function fe(t){return[{provide:J,useValue:t}]}var K=new d("isBrowser"),re=new d("isServer");function oe(){return[{provide:K,useFactory:t=>Y(t),deps:[k]},{provide:re,useFactory:t=>q(t),deps:[k]}]}var se=t=>t*(2-t),ee=(()=>{class t{constructor(){this.isBrowser=s(K),this.destroyRef=s(z),this.ngZone=s(H),this.countService=s(ne),this.elRef=s(h),this.configs=s(J,{optional:!0}),this.startAnimation=I(),this.endAnimation=I(),this.enableLayoutChangeDetection=n(this.configs?.enableLayoutChangeDetection??!1,{transform:S}),this.enableRunOnlyInViewport=n(this.configs?.enableRunOnlyInViewport??!0,{transform:S}),this.maximumFractionDigits=n(this.configs?.maximumFractionDigits??0,{transform:o}),this.minimumFractionDigits=n(this.configs?.minimumFractionDigits??0,{transform:o}),this.ngxCountAnimation=n(0,{transform:o}),this.duration=n(this.configs?.duration??2e3,{transform:o}),this.durationFromValue=n(void 0,{transform:o}),this.initialStartDelay=n(0,{transform:o}),this.oldCount=0,this.currentCount$=this.createCurrentCountObservable()}ngOnInit(){this.elRef.nativeElement.classList.add("ngx-count-animation"),this.initializeCountAnimation()}initializeCountAnimation(){this.elRef.nativeElement.innerHTML="0",this.isBrowser&&this.ngZone.runOutsideAngular(()=>{this.checkIsInViewport||!this.enableRunOnlyInViewport()?this.startCount():this.setupViewportCheck()})}get checkIsInViewport(){return this.elRef.nativeElement.getBoundingClientRect().y<window.innerHeight}setupViewportCheck(){y(this.enableLayoutChangeDetection()?C(100,c):N(0),this.countService.scroll$).pipe(b(()=>this.checkIsInViewport),P(1),F(this.destroyRef)).subscribe(()=>this.startCount())}startCount(){this.ngZone.runOutsideAngular(()=>{this.currentCount$.pipe(w(this.initialStartDelay()),F(this.destroyRef)).subscribe(e=>{this.elRef.nativeElement.innerHTML=e.toLocaleString(["de-ch"],{maximumFractionDigits:Math.max(this.minimumFractionDigits(),this.maximumFractionDigits()),minimumFractionDigits:this.minimumFractionDigits()})})})}createCurrentCountObservable(){return this.ngZone.runOutsideAngular(()=>R([p(this.ngxCountAnimation),y(p(this.duration),p(this.durationFromValue).pipe(b(e=>e!==void 0),a(e=>e>100?1500:e>10?1e3:e>3?700:e>1?400:0)))]).pipe(w(100),E(([e,i])=>this.calculateCurrentCount(e,i))))}calculateCurrentCount(e,i){let r=c.now();return this.startAnimation.emit(),this.countService.interval.pipe(a(()=>c.now()-r),a(m=>m/i),L(m=>m<=1),a(se),a(m=>this.oldCount+Math.round((e-this.oldCount)*m*100)/100),V(e),_(()=>{this.oldCount=e,this.endAnimation.emit()}),T())}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=U({type:t,selectors:[["","ngxCountAnimation",""]],inputs:{enableLayoutChangeDetection:[1,"enableLayoutChangeDetection"],enableRunOnlyInViewport:[1,"enableRunOnlyInViewport"],maximumFractionDigits:[1,"maximumFractionDigits"],minimumFractionDigits:[1,"minimumFractionDigits"],ngxCountAnimation:[1,"ngxCountAnimation"],duration:[1,"duration"],durationFromValue:[1,"durationFromValue"],initialStartDelay:[1,"initialStartDelay"]},outputs:{startAnimation:"startAnimation",endAnimation:"endAnimation"},features:[X([oe()])]})}}return t})();var te=`<svg xmlns="http://www.w3.org/2000/svg"
2    xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid">
3    <circle cx="50" cy="50" r="32" stroke-width="8" stroke="#008fd4" stroke-dasharray="50.26548245743669 50.26548245743669" fill="none" stroke-linecap="round">
4        <animateTransform attributeName="transform" type="rotate" dur="1s" repeatCount="indefinite" keyTimes="0;1" values="0 50 50;360 50 50"></animateTransform>
5    </circle>
6    <circle cx="50" cy="50" r="23" stroke-width="8" stroke="#386579" stroke-dasharray="36.12831551628262 36.12831551628262" stroke-dashoffset="36.12831551628262" fill="none" stroke-linecap="round">
7        <animateTransform attributeName="transform" type="rotate" dur="1s" repeatCount="indefinite" keyTimes="0;1" values="0 50 50;-360 50 50"></animateTransform>
8    </circle>
9</svg>`;var De=(()=>{class t{elRef=s(h);diameter=n(32,{transform:o});mode=n("indeterminate");value=n(0,{transform:e=>{let i=o(e);return Math.max(0,Math.min(100,i||0))}});strokeWidth=n(5,{transform:e=>e?o(e)||0:5});radius=u(()=>(this.diameter()-5)/2);strokeCircumference=u(()=>Math.PI*this.radius()*2);strokeDashOffset=u(()=>this.strokeCircumference()*(100-this.value())/100);viewBox=u(()=>{let e=this.radius()*2+this.strokeWidth();return`0 0 ${e} ${e}`});circleStrokeWidth=u(()=>this.strokeWidth()/this.diameter()*100);ngOnInit(){this.mode()==="indeterminate"&&this.renderIndeterminateIcon()}renderIndeterminateIcon(){this.elRef.nativeElement.innerHTML=te;let e=this.elRef.nativeElement.firstChild;e.style.width=`${this.diameter()}px`,e.style.height=`${this.diameter()}px`}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=Z({type:t,selectors:[["af-progress-spinner"]],hostAttrs:[1,"af-progress-spinner"],inputs:{diameter:[1,"diameter"],mode:[1,"mode"],value:[1,"value"],strokeWidth:[1,"strokeWidth"]},decls:6,vars:14,consts:[["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"determinate-spinner"],["stroke","#c0c0c0","fill","none","cx","50%","cy","50%",1,"buffer-circle"],["stroke","var(--color-primary)","fill","none","cx","50%","cy","50%",1,"progress-circle"],[1,"progress-text"],["enableLayoutChangeDetection","false","enableRunOnlyInViewport","false","maximumFractionDigits","0","duration","300",3,"ngxCountAnimation"]],template:function(i,r){i&1&&(W(),M(0,"svg",0),A(1,"circle",1)(2,"circle",2),x(),$(),M(3,"div",3),A(4,"span",4),Q(5,`%
10`),x()),i&2&&(g("viewBox",r.viewBox())("width",r.diameter())("height",r.diameter()),f(),O("stroke-width",r.circleStrokeWidth()*.9,"%"),g("r",r.radius()),f(),O("stroke-dasharray",r.strokeCircumference(),"px")("stroke-dashoffset",r.strokeDashOffset(),"px")("stroke-width",r.circleStrokeWidth(),"%"),g("r",r.radius()),f(2),G("ngxCountAnimation",r.value()))},dependencies:[ee],styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:center}[_nghost-%COMP%]     .svg{shape-rendering:optimizeSpeed}.determinate-spinner[_ngcontent-%COMP%]{transform:rotate(-90deg)}.progress-circle[_ngcontent-%COMP%]{transition:stroke-dashoffset .5s ease;stroke-linecap:round}.progress-text[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-primary);white-space:nowrap;font-size:11px;font-weight:500}.buffer-circle[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_rotateBuffer 7s linear infinite;stroke-dasharray:4,10;stroke-linecap:round;transform-origin:center}@keyframes _ngcontent-%COMP%_rotateBuffer{0%{transform:rotate(360deg)}to{transform:rotate(0)}}"],changeDetection:0})}return t})();export{fe as a,ee as b,De as c};
11/**i18n:7145d090777048f7ede00ee9238fe3800846c380f170740d42e6cae8e793e3bb*/

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.