1import{s as r}from"./chunk-34ES7PFP.js";import{J as o,Vb as t,W as l,Wa as a,ac as b,e as n,eb as v,hb as h,lb as c}from"./chunk-FICYTAQ6.js";var f=class s{constructor(e,i){this.element=e;this.platform=i;this.threshold=1;this.afterViewInit$=new n(!1);this.isIntersecting=void 0;this.visibilityMonitor=!0;this.visibilityChange=new a(void 0)}ngOnInit(){r(this.platform)&&this.reconnectObserver()}ngOnChanges(){r(this.platform)&&this.reconnectObserver()}ngAfterViewInit(){this.afterViewInit$.next(!0)}ngOnDestroy(){this.afterViewInit$.complete(),this.disconnectObserver(),this.clearVisibilityTimer(),this.visibilityMonitor&&this.visibilityChange.emit(!1)}reconnectObserver(){this.disconnectObserver(),this.observer=new IntersectionObserver((e,i)=>{e.forEach(m=>{let{isIntersecting:y,target:d}=m;y?(this.clearVisibilityTimer(),this.visibilityTimer=setTimeout(()=>{this.visibilityMonitor&&this.visibilityChange.emit(!0),this.visibilityMonitor||i.disconnect()},2e3)):(this.clearVisibilityTimer(),this.visibilityMonitor&&this.visibilityChange.emit(!1))})},{root:null,threshold:+this.threshold}),this.afterViewInit$.pipe(o(Boolean),l(1)).subscribe(()=>{this.observer&&this.observer.observe(this.element.nativeElement)})}disconnectObserver(){this.observer&&(this.observer.disconnect(),this.observer=void 0)}clearVisibilityTimer(){this.visibilityTimer&&(clearTimeout(this.visibilityTimer),this.visibilityTimer=null)}static{this.\u0275fac=function(i){return new(i||s)(t(h),t(c))}}static{this.\u0275dir=b({type:s,selectors:[["","trackVisibility",""]],inputs:{threshold:[0,"trackVisibility","threshold"],visibilityMonitor:"visibilityMonitor"},outputs:{visibilityChange:"visibilityChange"},standalone:!1,features:[v]})}};export{f as a};
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.