@veltdev/sdk-staging 6.0.0-beta.11 → 6.0.0-beta.13

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.
Files changed (63) hide show
  1. package/app/models/data/comment-events.data.model.d.ts +10 -0
  2. package/app/models/data/config.data.model.d.ts +121 -0
  3. package/app/utils/enums.d.ts +1 -0
  4. package/chunk-3H5W2TGU.js +1 -0
  5. package/chunk-55YE7G6I.js +13 -0
  6. package/{chunk-CP4KMRG3.js → chunk-5JIXRA34.js} +1 -1
  7. package/{chunk-ZHTTBUVQ.js → chunk-7MOQQG4Z.js} +1 -1
  8. package/{chunk-G3BNRB7R.js → chunk-AIQ4EOVH.js} +1 -1
  9. package/{chunk-SXJORH53.js → chunk-CZTTDJFW.js} +1 -1
  10. package/{chunk-NW4FJLNA.js → chunk-DUIGMOMV.js} +4 -4
  11. package/{chunk-S5GDEY2K.js → chunk-GHVMD37V.js} +1 -1
  12. package/{chunk-HUBK3P3B.js → chunk-GJ55RHPP.js} +1 -1
  13. package/{chunk-Y346MJJR.js → chunk-GNMKNWD5.js} +1 -1
  14. package/{chunk-WV6TZ6ZA.js → chunk-JDZOVFS3.js} +1 -1
  15. package/{chunk-IOU2B2OU.js → chunk-JPM7CIV3.js} +1 -1
  16. package/{chunk-N4JJS2HM.js → chunk-JXMMR7DC.js} +1 -1
  17. package/chunk-MLCIQM44.js +1 -0
  18. package/{chunk-A6I5J2N4.js → chunk-N2SSZ74J.js} +2 -2
  19. package/{chunk-D5PWD4RY.js → chunk-N3AV6IGG.js} +1 -1
  20. package/chunk-NFOSJ24G.js +167 -0
  21. package/{chunk-QHZMUGU5.js → chunk-OHH7LESC.js} +1 -1
  22. package/{chunk-CGYAGTFW.js → chunk-OWD3J56P.js} +1 -1
  23. package/{chunk-7JE6EGDW.js → chunk-P54MO3GU.js} +1 -1
  24. package/{chunk-YV7SDT6E.js → chunk-Q2QL77LS.js} +1 -1
  25. package/{chunk-WKIVFT2P.js → chunk-SAPJAJDB.js} +1 -1
  26. package/{chunk-ZMO3MMN3.js → chunk-SG6UCHMH.js} +1 -1
  27. package/{chunk-PB4ALOQE.js → chunk-SXYSM6QP.js} +1 -1
  28. package/{chunk-LCEYWVFK.js → chunk-T4D6QD4H.js} +1 -1
  29. package/{chunk-PRVNVPMV.js → chunk-TVX75U2C.js} +1 -1
  30. package/chunk-UF2D32ZI.js +1 -0
  31. package/{chunk-5IHISLEM.js → chunk-VMH5N5PO.js} +1 -1
  32. package/chunk-XM2SXO32.js +1 -0
  33. package/{chunk-XNMJJJRI.js → chunk-XM56PHBZ.js} +1 -1
  34. package/{chunk-7NW5DBIX.js → chunk-YEQZ76RF.js} +1 -1
  35. package/{chunk-RGP2XXJF.js → chunk-YFZUZKVN.js} +1 -1
  36. package/{chunk-X7LR472K.js → chunk-Z77RD4H5.js} +1 -1
  37. package/package.json +1 -1
  38. package/velt-activity-log.js +1 -1
  39. package/velt-area.js +1 -1
  40. package/velt-arrow.js +2 -2
  41. package/velt-comment.js +6 -6
  42. package/velt-crdt.js +1 -1
  43. package/velt-cursor.js +2 -2
  44. package/velt-huddle.js +3 -3
  45. package/velt-live-state-sync.js +2 -2
  46. package/velt-notification.js +1 -1
  47. package/velt-presence.js +1 -1
  48. package/velt-reaction.js +1 -1
  49. package/velt-recorder.js +1 -1
  50. package/velt-rewriter.js +2 -2
  51. package/velt-selection.js +1 -1
  52. package/velt-tag.js +1 -1
  53. package/velt-user-invite.js +1 -1
  54. package/velt-user-request.js +1 -1
  55. package/velt-video-player.js +1 -1
  56. package/velt-views.js +3 -3
  57. package/velt.js +264 -20
  58. package/chunk-2CQTKYCO.js +0 -13
  59. package/chunk-A5F7PTHM.js +0 -167
  60. package/chunk-CR55B3BL.js +0 -1
  61. package/chunk-EMJBJXH6.js +0 -1
  62. package/chunk-NGDGJUUI.js +0 -1
  63. package/chunk-SQUHH2JX.js +0 -1
@@ -1,6 +1,6 @@
1
- import{$ as y,Ab as vn,Ah as Pn,Ai as Ft,Bb as yn,Bc as At,Ci as T,D as Ct,Db as Et,Dc as In,De as tt,Di as Un,E as D,Eb as Ot,F as bt,Fa as dn,Fb as wt,G as ai,Ga as B,Ha as U,Hf as Rn,I as St,Ia as re,Ii as Lt,J as ne,Jb as Cn,Je as Tt,Ji as Nn,Kb as et,Kf as ui,L as oe,La as be,M as Ji,Na as ae,Oa as Fe,P as en,Pa as Z,Q as tn,Qe as S,Ra as Le,Rf as O,Ri as zn,S as Ce,Sa as li,T as v,Te as je,U as he,Ua as W,Uf as Tn,V as nn,Va as N,W as J,Wa as F,Xc as H,Y as on,Ya as Y,Yc as kt,Za as hn,_ as sn,_a as Dt,_b as Ne,_h as it,a as p,aa as L,b as z,ba as A,bb as Ue,bg as Mn,ca as R,da as h,db as fe,fa as xe,fe as Dn,g as $,ge as En,h as Q,hf as wn,i as ye,if as An,j as Zi,je as Rt,k as _,l as b,la as E,ma as P,mb as un,n as Qi,na as rn,nb as fn,nf as kn,o as qi,oi as xt,pa as Pe,pb as pn,pi as Fn,q as _t,qa as V,qb as gn,qe as On,qi as te,r as g,rb as mn,rc as bn,ri as $e,s as vt,sa as an,sc as hi,ta as cn,tc as ze,ti as Ln,ua as se,v as C,va as ue,vh as fi,w as Je,wa as k,wb as di,wi as Pt,x as yt,xa as ci,xb as _n,xc as Be,xg as xn,xi as Se,ya as ln,yc as Sn,yh as Mt,yi as Ve,za as It,zc as ee,zi as Ie}from"./chunk-A5F7PTHM.js";function ce(o,i=0){return Bn(o)?Number(o):arguments.length===2?i:0}function Bn(o){return!isNaN(parseFloat(o))&&!isNaN(Number(o))}function De(o){return o instanceof k?o.nativeElement:o}var jo=new A("cdk-dir-doc",{providedIn:"root",factory:$o});function $o(){return h(P)}var Vo=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;function jn(o){let i=o?.toLowerCase()||"";return i==="auto"&&typeof navigator<"u"&&navigator?.language?Vo.test(navigator.language)?"rtl":"ltr":i==="rtl"?"rtl":"ltr"}var le=(()=>{class o{get value(){return this.valueSignal()}valueSignal=V("ltr");change=new B;constructor(){let e=h(jo,{optional:!0});if(e){let t=e.body?e.body.dir:null,n=e.documentElement?e.documentElement.dir:null;this.valueSignal.set(jn(t||n||"ltr"))}}ngOnDestroy(){this.change.complete()}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();var q=(function(o){return o[o.NORMAL=0]="NORMAL",o[o.NEGATED=1]="NEGATED",o[o.INVERTED=2]="INVERTED",o})(q||{}),Ut,Ee;function Nt(){if(Ee==null){if(typeof document!="object"||!document||typeof Element!="function"||!Element)return Ee=!1,Ee;if(document.documentElement?.style&&"scrollBehavior"in document.documentElement.style)Ee=!0;else{let o=Element.prototype.scrollTo;o?Ee=!/\{\s*\[native code\]\s*\}/.test(o.toString()):Ee=!1}}return Ee}function He(){if(typeof document!="object"||!document)return q.NORMAL;if(Ut==null){let o=document.createElement("div"),i=o.style;o.dir="rtl",i.width="1px",i.overflow="auto",i.visibility="hidden",i.pointerEvents="none",i.position="absolute";let e=document.createElement("div"),t=e.style;t.width="2px",t.height="1px",o.appendChild(e),document.body.appendChild(o),Ut=q.NORMAL,o.scrollLeft===0&&(o.scrollLeft=1,Ut=o.scrollLeft===0?q.NEGATED:q.INVERTED),o.remove()}return Ut}var pe=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=N({type:o});static \u0275inj=L({})}return o})();var zt=class{};function $n(o){return o&&typeof o.connect=="function"&&!(o instanceof Zi)}var Bt=class extends zt{_data;constructor(i){super(),this._data=i}connect(){return vt(this._data)?this._data:g(this._data)}disconnect(){}},nt=(function(o){return o[o.REPLACED=0]="REPLACED",o[o.INSERTED=1]="INSERTED",o[o.MOVED=2]="MOVED",o[o.REMOVED=3]="REMOVED",o})(nt||{}),pi=new A("_ViewRepeater"),jt=class{viewCacheSize=20;_viewCache=[];applyChanges(i,e,t,n,s){i.forEachOperation((r,a,c)=>{let d,l;if(r.previousIndex==null){let u=()=>t(r,a,c);d=this._insertView(u,c,e,n(r)),l=d?nt.INSERTED:nt.REPLACED}else c==null?(this._detachAndCacheView(a,e),l=nt.REMOVED):(d=this._moveView(a,c,e,n(r)),l=nt.MOVED);s&&s({context:d?.context,operation:l,record:r})})}detach(){for(let i of this._viewCache)i.destroy();this._viewCache=[]}_insertView(i,e,t,n){let s=this._insertViewFromCache(e,t);if(s){s.context.$implicit=n;return}let r=i();return t.createEmbeddedView(r.templateRef,r.context,r.index)}_detachAndCacheView(i,e){let t=e.detach(i);this._maybeCacheView(t,e)}_moveView(i,e,t,n){let s=t.get(i);return t.move(s,e),s.context.$implicit=n,s}_maybeCacheView(i,e){if(this._viewCache.length<this.viewCacheSize)this._viewCache.push(i);else{let t=e.indexOf(i);t===-1?i.destroy():e.remove(t)}}_insertViewFromCache(i,e){let t=this._viewCache.pop();return t&&e.insert(t,i),t||null}};var Ho=["contentWrapper"],Go=["*"],Gn=new A("VIRTUAL_SCROLL_STRATEGY"),gi=class{_scrolledIndexChange=new _;scrolledIndexChange=this._scrolledIndexChange.pipe(oe());_viewport=null;_itemSize;_minBufferPx;_maxBufferPx;constructor(i,e,t){this._itemSize=i,this._minBufferPx=e,this._maxBufferPx=t}attach(i){this._viewport=i,this._updateTotalContentSize(),this._updateRenderedRange()}detach(){this._scrolledIndexChange.complete(),this._viewport=null}updateItemAndBufferSize(i,e,t){t<e,this._itemSize=i,this._minBufferPx=e,this._maxBufferPx=t,this._updateTotalContentSize(),this._updateRenderedRange()}onContentScrolled(){this._updateRenderedRange()}onDataLengthChanged(){this._updateTotalContentSize(),this._updateRenderedRange()}onContentRendered(){}onRenderedOffsetChanged(){}scrollToIndex(i,e){this._viewport&&this._viewport.scrollToOffset(i*this._itemSize,e)}_updateTotalContentSize(){this._viewport&&this._viewport.setTotalContentSize(this._viewport.getDataLength()*this._itemSize)}_updateRenderedRange(){if(!this._viewport)return;let i=this._viewport.getRenderedRange(),e={start:i.start,end:i.end},t=this._viewport.getViewportSize(),n=this._viewport.getDataLength(),s=this._viewport.measureScrollOffset(),r=this._itemSize>0?s/this._itemSize:0;if(e.end>n){let c=Math.ceil(t/this._itemSize),d=Math.max(0,Math.min(r,n-c));r!=d&&(r=d,s=d*this._itemSize,e.start=Math.floor(r)),e.end=Math.max(0,Math.min(n,e.start+c))}let a=s-e.start*this._itemSize;if(a<this._minBufferPx&&e.start!=0){let c=Math.ceil((this._maxBufferPx-a)/this._itemSize);e.start=Math.max(0,e.start-c),e.end=Math.min(n,Math.ceil(r+(t+this._minBufferPx)/this._itemSize))}else{let c=e.end*this._itemSize-(s+t);if(c<this._minBufferPx&&e.end!=n){let d=Math.ceil((this._maxBufferPx-c)/this._itemSize);d>0&&(e.end=Math.min(n,e.end+d),e.start=Math.max(0,Math.floor(r-this._minBufferPx/this._itemSize)))}}this._viewport.setRenderedRange(e),this._viewport.setRenderedContentOffset(Math.round(this._itemSize*e.start)),this._scrolledIndexChange.next(Math.floor(r))}};function Wo(o){return o._scrollStrategy}var Yo=(()=>{class o{get itemSize(){return this._itemSize}set itemSize(e){this._itemSize=ce(e)}_itemSize=20;get minBufferPx(){return this._minBufferPx}set minBufferPx(e){this._minBufferPx=ce(e)}_minBufferPx=100;get maxBufferPx(){return this._maxBufferPx}set maxBufferPx(e){this._maxBufferPx=ce(e)}_maxBufferPx=200;_scrollStrategy=new gi(this.itemSize,this.minBufferPx,this.maxBufferPx);ngOnChanges(){this._scrollStrategy.updateItemAndBufferSize(this.itemSize,this.minBufferPx,this.maxBufferPx)}static \u0275fac=function(t){return new(t||o)};static \u0275dir=F({type:o,selectors:[["cdk-virtual-scroll-viewport","itemSize",""]],inputs:{itemSize:"itemSize",minBufferPx:"minBufferPx",maxBufferPx:"maxBufferPx"},features:[Ne([{provide:Gn,useFactory:Wo,deps:[sn(()=>o)]}]),se]})}return o})(),Ko=20,ot=(()=>{class o{_ngZone=h(U);_platform=h(H);_renderer=h(ae).createRenderer(null,null);_cleanupGlobalListener;constructor(){}_scrolled=new _;_scrolledCount=0;scrollContainers=new Map;register(e){this.scrollContainers.has(e)||this.scrollContainers.set(e,e.elementScrolled().subscribe(()=>this._scrolled.next(e)))}deregister(e){let t=this.scrollContainers.get(e);t&&(t.unsubscribe(),this.scrollContainers.delete(e))}scrolled(e=Ko){return this._platform.isBrowser?new ye(t=>{this._cleanupGlobalListener||(this._cleanupGlobalListener=this._ngZone.runOutsideAngular(()=>this._renderer.listen("document","scroll",()=>this._scrolled.next())));let n=e>0?this._scrolled.pipe(bt(e)).subscribe(t):this._scrolled.subscribe(t);return this._scrolledCount++,()=>{n.unsubscribe(),this._scrolledCount--,this._scrolledCount||(this._cleanupGlobalListener?.(),this._cleanupGlobalListener=void 0)}}):g()}ngOnDestroy(){this._cleanupGlobalListener?.(),this._cleanupGlobalListener=void 0,this.scrollContainers.forEach((e,t)=>this.deregister(t)),this._scrolled.complete()}ancestorScrolled(e,t){let n=this.getAncestorScrollContainers(e);return this.scrolled(t).pipe(D(s=>!s||n.indexOf(s)>-1))}getAncestorScrollContainers(e){let t=[];return this.scrollContainers.forEach((n,s)=>{this._scrollableContainsElement(s,e)&&t.push(s)}),t}_scrollableContainsElement(e,t){let n=De(t),s=e.getElementRef().nativeElement;do if(n==s)return!0;while(n=n.parentElement);return!1}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})(),st=(()=>{class o{elementRef=h(k);scrollDispatcher=h(ot);ngZone=h(U);dir=h(le,{optional:!0});_scrollElement=this.elementRef.nativeElement;_destroyed=new _;_renderer=h(Fe);_cleanupScroll;_elementScrolled=new _;constructor(){}ngOnInit(){this._cleanupScroll=this.ngZone.runOutsideAngular(()=>this._renderer.listen(this._scrollElement,"scroll",e=>this._elementScrolled.next(e))),this.scrollDispatcher.register(this)}ngOnDestroy(){this._cleanupScroll?.(),this._elementScrolled.complete(),this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()}elementScrolled(){return this._elementScrolled}getElementRef(){return this.elementRef}scrollTo(e){let t=this.elementRef.nativeElement,n=this.dir&&this.dir.value=="rtl";e.left==null&&(e.left=n?e.end:e.start),e.right==null&&(e.right=n?e.start:e.end),e.bottom!=null&&(e.top=t.scrollHeight-t.clientHeight-e.bottom),n&&He()!=q.NORMAL?(e.left!=null&&(e.right=t.scrollWidth-t.clientWidth-e.left),He()==q.INVERTED?e.left=e.right:He()==q.NEGATED&&(e.left=e.right?-e.right:e.right)):e.right!=null&&(e.left=t.scrollWidth-t.clientWidth-e.right),this._applyScrollToOptions(e)}_applyScrollToOptions(e){let t=this.elementRef.nativeElement;Nt()?t.scrollTo(e):(e.top!=null&&(t.scrollTop=e.top),e.left!=null&&(t.scrollLeft=e.left))}measureScrollOffset(e){let t="left",n="right",s=this.elementRef.nativeElement;if(e=="top")return s.scrollTop;if(e=="bottom")return s.scrollHeight-s.clientHeight-s.scrollTop;let r=this.dir&&this.dir.value=="rtl";return e=="start"?e=r?n:t:e=="end"&&(e=r?t:n),r&&He()==q.INVERTED?e==t?s.scrollWidth-s.clientWidth-s.scrollLeft:s.scrollLeft:r&&He()==q.NEGATED?e==t?s.scrollLeft+s.scrollWidth-s.clientWidth:-s.scrollLeft:e==t?s.scrollLeft:s.scrollWidth-s.clientWidth-s.scrollLeft}static \u0275fac=function(t){return new(t||o)};static \u0275dir=F({type:o,selectors:[["","cdk-scrollable",""],["","cdkScrollable",""]]})}return o})(),Xo=20,Oe=(()=>{class o{_platform=h(H);_listeners;_viewportSize;_change=new _;_document=h(P);constructor(){let e=h(U),t=h(ae).createRenderer(null,null);e.runOutsideAngular(()=>{if(this._platform.isBrowser){let n=s=>this._change.next(s);this._listeners=[t.listen("window","resize",n),t.listen("window","orientationchange",n)]}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){this._listeners?.forEach(e=>e()),this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();let e={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),e}getViewportRect(){let e=this.getViewportScrollPosition(),{width:t,height:n}=this.getViewportSize();return{top:e.top,left:e.left,bottom:e.top+n,right:e.left+t,height:n,width:t}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};let e=this._document,t=this._getWindow(),n=e.documentElement,s=n.getBoundingClientRect(),r=-s.top||e.body.scrollTop||t.scrollY||n.scrollTop||0,a=-s.left||e.body.scrollLeft||t.scrollX||n.scrollLeft||0;return{top:r,left:a}}change(e=Xo){return e>0?this._change.pipe(bt(e)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){let e=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:e.innerWidth,height:e.innerHeight}:{width:0,height:0}}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})(),Vn=new A("VIRTUAL_SCROLLABLE"),Zo=(()=>{class o extends st{constructor(){super()}measureViewportSize(e){let t=this.elementRef.nativeElement;return e==="horizontal"?t.clientWidth:t.clientHeight}static \u0275fac=function(t){return new(t||o)};static \u0275dir=F({type:o,features:[Y]})}return o})();function Qo(o,i){return o.start==i.start&&o.end==i.end}var qo=typeof requestAnimationFrame<"u"?qi:Qi,Wn=(()=>{class o extends Zo{elementRef=h(k);_changeDetectorRef=h(Be);_scrollStrategy=h(Gn,{optional:!0});scrollable=h(Vn,{optional:!0});_platform=h(H);_detachedSubject=new _;_renderedRangeSubject=new _;get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._orientation=e,this._calculateSpacerSize())}_orientation="vertical";appendOnly=!1;scrolledIndexChange=new ye(e=>this._scrollStrategy.scrolledIndexChange.subscribe(t=>Promise.resolve().then(()=>this.ngZone.run(()=>e.next(t)))));_contentWrapper;renderedRangeStream=this._renderedRangeSubject;_totalContentSize=0;_totalContentWidth=V("");_totalContentHeight=V("");_renderedContentTransform;_renderedRange={start:0,end:0};_dataLength=0;_viewportSize=0;_forOf;_renderedContentOffset=0;_renderedContentOffsetNeedsRewrite=!1;_changeDetectionNeeded=V(!1);_runAfterChangeDetection=[];_viewportChanges=Q.EMPTY;_injector=h(E);_isDestroyed=!1;constructor(){super();let e=h(Oe);this._scrollStrategy,this._viewportChanges=e.change().subscribe(()=>{this.checkViewportSize()}),this.scrollable||(this.elementRef.nativeElement.classList.add("cdk-virtual-scrollable"),this.scrollable=this);let t=ze(()=>{this._changeDetectionNeeded()&&this._doChangeDetection()},{injector:h(Ue).injector});h(rn).onDestroy(()=>{t.destroy()})}ngOnInit(){this._platform.isBrowser&&(this.scrollable===this&&super.ngOnInit(),this.ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>{this._measureViewportSize(),this._scrollStrategy.attach(this),this.scrollable.elementScrolled().pipe(Ce(null),bt(0,qo),he(this._destroyed)).subscribe(()=>this._scrollStrategy.onContentScrolled()),this._markChangeDetectionNeeded()})))}ngOnDestroy(){this.detach(),this._scrollStrategy.detach(),this._renderedRangeSubject.complete(),this._detachedSubject.complete(),this._viewportChanges.unsubscribe(),this._isDestroyed=!0,super.ngOnDestroy()}attach(e){this._forOf,this.ngZone.runOutsideAngular(()=>{this._forOf=e,this._forOf.dataStream.pipe(he(this._detachedSubject)).subscribe(t=>{let n=t.length;n!==this._dataLength&&(this._dataLength=n,this._scrollStrategy.onDataLengthChanged()),this._doChangeDetection()})})}detach(){this._forOf=null,this._detachedSubject.next()}getDataLength(){return this._dataLength}getViewportSize(){return this._viewportSize}getRenderedRange(){return this._renderedRange}measureBoundingClientRectWithScrollOffset(e){return this.getElementRef().nativeElement.getBoundingClientRect()[e]}setTotalContentSize(e){this._totalContentSize!==e&&(this._totalContentSize=e,this._calculateSpacerSize(),this._markChangeDetectionNeeded())}setRenderedRange(e){Qo(this._renderedRange,e)||(this.appendOnly&&(e={start:0,end:Math.max(this._renderedRange.end,e.end)}),this._renderedRangeSubject.next(this._renderedRange=e),this._markChangeDetectionNeeded(()=>this._scrollStrategy.onContentRendered()))}getOffsetToRenderedContentStart(){return this._renderedContentOffsetNeedsRewrite?null:this._renderedContentOffset}setRenderedContentOffset(e,t="to-start"){e=this.appendOnly&&t==="to-start"?0:e;let n=this.dir&&this.dir.value=="rtl",s=this.orientation=="horizontal",r=s?"X":"Y",c=`translate${r}(${Number((s&&n?-1:1)*e)}px)`;this._renderedContentOffset=e,t==="to-end"&&(c+=` translate${r}(-100%)`,this._renderedContentOffsetNeedsRewrite=!0),this._renderedContentTransform!=c&&(this._renderedContentTransform=c,this._markChangeDetectionNeeded(()=>{this._renderedContentOffsetNeedsRewrite?(this._renderedContentOffset-=this.measureRenderedContentSize(),this._renderedContentOffsetNeedsRewrite=!1,this.setRenderedContentOffset(this._renderedContentOffset)):this._scrollStrategy.onRenderedOffsetChanged()}))}scrollToOffset(e,t="auto"){let n={behavior:t};this.orientation==="horizontal"?n.start=e:n.top=e,this.scrollable.scrollTo(n)}scrollToIndex(e,t="auto"){this._scrollStrategy.scrollToIndex(e,t)}measureScrollOffset(e){let t;return this.scrollable==this?t=n=>super.measureScrollOffset(n):t=n=>this.scrollable.measureScrollOffset(n),Math.max(0,t(e??(this.orientation==="horizontal"?"start":"top"))-this.measureViewportOffset())}measureViewportOffset(e){let t,n="left",s="right",r=this.dir?.value=="rtl";e=="start"?t=r?s:n:e=="end"?t=r?n:s:e?t=e:t=this.orientation==="horizontal"?"left":"top";let a=this.scrollable.measureBoundingClientRectWithScrollOffset(t);return this.elementRef.nativeElement.getBoundingClientRect()[t]-a}measureRenderedContentSize(){let e=this._contentWrapper.nativeElement;return this.orientation==="horizontal"?e.offsetWidth:e.offsetHeight}measureRangeSize(e){return this._forOf?this._forOf.measureRangeSize(e,this.orientation):0}checkViewportSize(){this._measureViewportSize(),this._scrollStrategy.onDataLengthChanged()}_measureViewportSize(){this._viewportSize=this.scrollable.measureViewportSize(this.orientation)}_markChangeDetectionNeeded(e){e&&this._runAfterChangeDetection.push(e),!bn(this._changeDetectionNeeded)&&this.ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this.ngZone.run(()=>{this._changeDetectionNeeded.set(!0)})})})}_doChangeDetection(){this._isDestroyed||this.ngZone.run(()=>{this._changeDetectorRef.markForCheck(),this._contentWrapper.nativeElement.style.transform=this._renderedContentTransform,re(()=>{this._changeDetectionNeeded.set(!1);let e=this._runAfterChangeDetection;this._runAfterChangeDetection=[];for(let t of e)t()},{injector:this._injector})})}_calculateSpacerSize(){this._totalContentHeight.set(this.orientation==="horizontal"?"":`${this._totalContentSize}px`),this._totalContentWidth.set(this.orientation==="horizontal"?`${this._totalContentSize}px`:"")}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=W({type:o,selectors:[["cdk-virtual-scroll-viewport"]],viewQuery:function(t,n){if(t&1&&Et(Ho,7),t&2){let s;Ot(s=wt())&&(n._contentWrapper=s.first)}},hostAttrs:[1,"cdk-virtual-scroll-viewport"],hostVars:4,hostBindings:function(t,n){t&2&&et("cdk-virtual-scroll-orientation-horizontal",n.orientation==="horizontal")("cdk-virtual-scroll-orientation-vertical",n.orientation!=="horizontal")},inputs:{orientation:"orientation",appendOnly:[2,"appendOnly","appendOnly",ee]},outputs:{scrolledIndexChange:"scrolledIndexChange"},features:[Ne([{provide:st,useFactory:(e,t)=>e||t,deps:[[new cn,new an(Vn)],o]}]),Y],ngContentSelectors:Go,decls:4,vars:4,consts:[["contentWrapper",""],[1,"cdk-virtual-scroll-content-wrapper"],[1,"cdk-virtual-scroll-spacer"]],template:function(t,n){t&1&&(vn(),pn(0,"div",1,0),yn(2),gn(),mn(3,"div",2)),t&2&&(dn(3),Cn("width",n._totalContentWidth())("height",n._totalContentHeight()))},styles:[`cdk-virtual-scroll-viewport{display:block;position:relative;transform:translateZ(0)}.cdk-virtual-scrollable{overflow:auto;will-change:scroll-position;contain:strict}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{height:1px;transform-origin:0 0;flex:0 0 auto}[dir=rtl] .cdk-virtual-scroll-spacer{transform-origin:100% 0}
1
+ import{$ as y,Ab as vn,Ae as S,Bb as yn,Bc as At,Bf as O,D as Ct,Db as Et,Dc as In,De as je,E as D,Eb as Ot,Ef as Tn,F as bt,Fa as dn,Fb as wt,G as ai,Ga as B,Ha as U,Hi as zn,I as St,Ia as re,J as ne,Jb as Cn,Kb as et,L as oe,La as be,M as Ji,Mh as it,Na as ae,Nf as Mn,Oa as Fe,P as en,Pa as Z,Q as tn,Ra as Le,Rd as Dn,S as Ce,Sa as li,Sd as En,Se as wn,T as v,Te as An,U as he,Ua as W,V as nn,Va as N,W as J,Wa as F,Xc as H,Y as on,Ya as Y,Yc as kt,Ye as kn,Za as hn,_ as sn,_a as Dt,_b as Ne,a as p,aa as L,ae as On,ai as xt,b as z,ba as A,bb as Ue,bi as Fn,ca as R,ci as te,da as h,db as fe,di as $e,fa as xe,fh as fi,g as $,h as Q,hg as xn,i as ye,ih as Tt,ii as Ln,j as Zi,k as _,kh as Pn,l as b,la as E,li as Pt,ma as P,mb as un,mi as Se,n as Qi,na as rn,nb as fn,ne as tt,ni as Ve,o as qi,oi as Ie,pa as Pe,pb as pn,pi as Ft,q as _t,qa as V,qb as gn,qf as Rn,r as g,rb as mn,rc as bn,ri as T,s as vt,sa as an,sc as hi,si as Un,ta as cn,tc as ze,te as Rt,tf as ui,ua as se,uh as Mt,v as C,va as ue,w as Je,wa as k,wb as di,x as yt,xa as ci,xb as _n,xc as Be,xi as Lt,ya as ln,yc as Sn,yi as Nn,za as It,zc as ee}from"./chunk-NFOSJ24G.js";function ce(o,i=0){return Bn(o)?Number(o):arguments.length===2?i:0}function Bn(o){return!isNaN(parseFloat(o))&&!isNaN(Number(o))}function De(o){return o instanceof k?o.nativeElement:o}var jo=new A("cdk-dir-doc",{providedIn:"root",factory:$o});function $o(){return h(P)}var Vo=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;function jn(o){let i=o?.toLowerCase()||"";return i==="auto"&&typeof navigator<"u"&&navigator?.language?Vo.test(navigator.language)?"rtl":"ltr":i==="rtl"?"rtl":"ltr"}var le=(()=>{class o{get value(){return this.valueSignal()}valueSignal=V("ltr");change=new B;constructor(){let e=h(jo,{optional:!0});if(e){let t=e.body?e.body.dir:null,n=e.documentElement?e.documentElement.dir:null;this.valueSignal.set(jn(t||n||"ltr"))}}ngOnDestroy(){this.change.complete()}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();var q=(function(o){return o[o.NORMAL=0]="NORMAL",o[o.NEGATED=1]="NEGATED",o[o.INVERTED=2]="INVERTED",o})(q||{}),Ut,Ee;function Nt(){if(Ee==null){if(typeof document!="object"||!document||typeof Element!="function"||!Element)return Ee=!1,Ee;if(document.documentElement?.style&&"scrollBehavior"in document.documentElement.style)Ee=!0;else{let o=Element.prototype.scrollTo;o?Ee=!/\{\s*\[native code\]\s*\}/.test(o.toString()):Ee=!1}}return Ee}function He(){if(typeof document!="object"||!document)return q.NORMAL;if(Ut==null){let o=document.createElement("div"),i=o.style;o.dir="rtl",i.width="1px",i.overflow="auto",i.visibility="hidden",i.pointerEvents="none",i.position="absolute";let e=document.createElement("div"),t=e.style;t.width="2px",t.height="1px",o.appendChild(e),document.body.appendChild(o),Ut=q.NORMAL,o.scrollLeft===0&&(o.scrollLeft=1,Ut=o.scrollLeft===0?q.NEGATED:q.INVERTED),o.remove()}return Ut}var pe=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=N({type:o});static \u0275inj=L({})}return o})();var zt=class{};function $n(o){return o&&typeof o.connect=="function"&&!(o instanceof Zi)}var Bt=class extends zt{_data;constructor(i){super(),this._data=i}connect(){return vt(this._data)?this._data:g(this._data)}disconnect(){}},nt=(function(o){return o[o.REPLACED=0]="REPLACED",o[o.INSERTED=1]="INSERTED",o[o.MOVED=2]="MOVED",o[o.REMOVED=3]="REMOVED",o})(nt||{}),pi=new A("_ViewRepeater"),jt=class{viewCacheSize=20;_viewCache=[];applyChanges(i,e,t,n,s){i.forEachOperation((r,a,c)=>{let d,l;if(r.previousIndex==null){let u=()=>t(r,a,c);d=this._insertView(u,c,e,n(r)),l=d?nt.INSERTED:nt.REPLACED}else c==null?(this._detachAndCacheView(a,e),l=nt.REMOVED):(d=this._moveView(a,c,e,n(r)),l=nt.MOVED);s&&s({context:d?.context,operation:l,record:r})})}detach(){for(let i of this._viewCache)i.destroy();this._viewCache=[]}_insertView(i,e,t,n){let s=this._insertViewFromCache(e,t);if(s){s.context.$implicit=n;return}let r=i();return t.createEmbeddedView(r.templateRef,r.context,r.index)}_detachAndCacheView(i,e){let t=e.detach(i);this._maybeCacheView(t,e)}_moveView(i,e,t,n){let s=t.get(i);return t.move(s,e),s.context.$implicit=n,s}_maybeCacheView(i,e){if(this._viewCache.length<this.viewCacheSize)this._viewCache.push(i);else{let t=e.indexOf(i);t===-1?i.destroy():e.remove(t)}}_insertViewFromCache(i,e){let t=this._viewCache.pop();return t&&e.insert(t,i),t||null}};var Ho=["contentWrapper"],Go=["*"],Gn=new A("VIRTUAL_SCROLL_STRATEGY"),gi=class{_scrolledIndexChange=new _;scrolledIndexChange=this._scrolledIndexChange.pipe(oe());_viewport=null;_itemSize;_minBufferPx;_maxBufferPx;constructor(i,e,t){this._itemSize=i,this._minBufferPx=e,this._maxBufferPx=t}attach(i){this._viewport=i,this._updateTotalContentSize(),this._updateRenderedRange()}detach(){this._scrolledIndexChange.complete(),this._viewport=null}updateItemAndBufferSize(i,e,t){t<e,this._itemSize=i,this._minBufferPx=e,this._maxBufferPx=t,this._updateTotalContentSize(),this._updateRenderedRange()}onContentScrolled(){this._updateRenderedRange()}onDataLengthChanged(){this._updateTotalContentSize(),this._updateRenderedRange()}onContentRendered(){}onRenderedOffsetChanged(){}scrollToIndex(i,e){this._viewport&&this._viewport.scrollToOffset(i*this._itemSize,e)}_updateTotalContentSize(){this._viewport&&this._viewport.setTotalContentSize(this._viewport.getDataLength()*this._itemSize)}_updateRenderedRange(){if(!this._viewport)return;let i=this._viewport.getRenderedRange(),e={start:i.start,end:i.end},t=this._viewport.getViewportSize(),n=this._viewport.getDataLength(),s=this._viewport.measureScrollOffset(),r=this._itemSize>0?s/this._itemSize:0;if(e.end>n){let c=Math.ceil(t/this._itemSize),d=Math.max(0,Math.min(r,n-c));r!=d&&(r=d,s=d*this._itemSize,e.start=Math.floor(r)),e.end=Math.max(0,Math.min(n,e.start+c))}let a=s-e.start*this._itemSize;if(a<this._minBufferPx&&e.start!=0){let c=Math.ceil((this._maxBufferPx-a)/this._itemSize);e.start=Math.max(0,e.start-c),e.end=Math.min(n,Math.ceil(r+(t+this._minBufferPx)/this._itemSize))}else{let c=e.end*this._itemSize-(s+t);if(c<this._minBufferPx&&e.end!=n){let d=Math.ceil((this._maxBufferPx-c)/this._itemSize);d>0&&(e.end=Math.min(n,e.end+d),e.start=Math.max(0,Math.floor(r-this._minBufferPx/this._itemSize)))}}this._viewport.setRenderedRange(e),this._viewport.setRenderedContentOffset(Math.round(this._itemSize*e.start)),this._scrolledIndexChange.next(Math.floor(r))}};function Wo(o){return o._scrollStrategy}var Yo=(()=>{class o{get itemSize(){return this._itemSize}set itemSize(e){this._itemSize=ce(e)}_itemSize=20;get minBufferPx(){return this._minBufferPx}set minBufferPx(e){this._minBufferPx=ce(e)}_minBufferPx=100;get maxBufferPx(){return this._maxBufferPx}set maxBufferPx(e){this._maxBufferPx=ce(e)}_maxBufferPx=200;_scrollStrategy=new gi(this.itemSize,this.minBufferPx,this.maxBufferPx);ngOnChanges(){this._scrollStrategy.updateItemAndBufferSize(this.itemSize,this.minBufferPx,this.maxBufferPx)}static \u0275fac=function(t){return new(t||o)};static \u0275dir=F({type:o,selectors:[["cdk-virtual-scroll-viewport","itemSize",""]],inputs:{itemSize:"itemSize",minBufferPx:"minBufferPx",maxBufferPx:"maxBufferPx"},features:[Ne([{provide:Gn,useFactory:Wo,deps:[sn(()=>o)]}]),se]})}return o})(),Ko=20,ot=(()=>{class o{_ngZone=h(U);_platform=h(H);_renderer=h(ae).createRenderer(null,null);_cleanupGlobalListener;constructor(){}_scrolled=new _;_scrolledCount=0;scrollContainers=new Map;register(e){this.scrollContainers.has(e)||this.scrollContainers.set(e,e.elementScrolled().subscribe(()=>this._scrolled.next(e)))}deregister(e){let t=this.scrollContainers.get(e);t&&(t.unsubscribe(),this.scrollContainers.delete(e))}scrolled(e=Ko){return this._platform.isBrowser?new ye(t=>{this._cleanupGlobalListener||(this._cleanupGlobalListener=this._ngZone.runOutsideAngular(()=>this._renderer.listen("document","scroll",()=>this._scrolled.next())));let n=e>0?this._scrolled.pipe(bt(e)).subscribe(t):this._scrolled.subscribe(t);return this._scrolledCount++,()=>{n.unsubscribe(),this._scrolledCount--,this._scrolledCount||(this._cleanupGlobalListener?.(),this._cleanupGlobalListener=void 0)}}):g()}ngOnDestroy(){this._cleanupGlobalListener?.(),this._cleanupGlobalListener=void 0,this.scrollContainers.forEach((e,t)=>this.deregister(t)),this._scrolled.complete()}ancestorScrolled(e,t){let n=this.getAncestorScrollContainers(e);return this.scrolled(t).pipe(D(s=>!s||n.indexOf(s)>-1))}getAncestorScrollContainers(e){let t=[];return this.scrollContainers.forEach((n,s)=>{this._scrollableContainsElement(s,e)&&t.push(s)}),t}_scrollableContainsElement(e,t){let n=De(t),s=e.getElementRef().nativeElement;do if(n==s)return!0;while(n=n.parentElement);return!1}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})(),st=(()=>{class o{elementRef=h(k);scrollDispatcher=h(ot);ngZone=h(U);dir=h(le,{optional:!0});_scrollElement=this.elementRef.nativeElement;_destroyed=new _;_renderer=h(Fe);_cleanupScroll;_elementScrolled=new _;constructor(){}ngOnInit(){this._cleanupScroll=this.ngZone.runOutsideAngular(()=>this._renderer.listen(this._scrollElement,"scroll",e=>this._elementScrolled.next(e))),this.scrollDispatcher.register(this)}ngOnDestroy(){this._cleanupScroll?.(),this._elementScrolled.complete(),this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()}elementScrolled(){return this._elementScrolled}getElementRef(){return this.elementRef}scrollTo(e){let t=this.elementRef.nativeElement,n=this.dir&&this.dir.value=="rtl";e.left==null&&(e.left=n?e.end:e.start),e.right==null&&(e.right=n?e.start:e.end),e.bottom!=null&&(e.top=t.scrollHeight-t.clientHeight-e.bottom),n&&He()!=q.NORMAL?(e.left!=null&&(e.right=t.scrollWidth-t.clientWidth-e.left),He()==q.INVERTED?e.left=e.right:He()==q.NEGATED&&(e.left=e.right?-e.right:e.right)):e.right!=null&&(e.left=t.scrollWidth-t.clientWidth-e.right),this._applyScrollToOptions(e)}_applyScrollToOptions(e){let t=this.elementRef.nativeElement;Nt()?t.scrollTo(e):(e.top!=null&&(t.scrollTop=e.top),e.left!=null&&(t.scrollLeft=e.left))}measureScrollOffset(e){let t="left",n="right",s=this.elementRef.nativeElement;if(e=="top")return s.scrollTop;if(e=="bottom")return s.scrollHeight-s.clientHeight-s.scrollTop;let r=this.dir&&this.dir.value=="rtl";return e=="start"?e=r?n:t:e=="end"&&(e=r?t:n),r&&He()==q.INVERTED?e==t?s.scrollWidth-s.clientWidth-s.scrollLeft:s.scrollLeft:r&&He()==q.NEGATED?e==t?s.scrollLeft+s.scrollWidth-s.clientWidth:-s.scrollLeft:e==t?s.scrollLeft:s.scrollWidth-s.clientWidth-s.scrollLeft}static \u0275fac=function(t){return new(t||o)};static \u0275dir=F({type:o,selectors:[["","cdk-scrollable",""],["","cdkScrollable",""]]})}return o})(),Xo=20,Oe=(()=>{class o{_platform=h(H);_listeners;_viewportSize;_change=new _;_document=h(P);constructor(){let e=h(U),t=h(ae).createRenderer(null,null);e.runOutsideAngular(()=>{if(this._platform.isBrowser){let n=s=>this._change.next(s);this._listeners=[t.listen("window","resize",n),t.listen("window","orientationchange",n)]}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){this._listeners?.forEach(e=>e()),this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();let e={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),e}getViewportRect(){let e=this.getViewportScrollPosition(),{width:t,height:n}=this.getViewportSize();return{top:e.top,left:e.left,bottom:e.top+n,right:e.left+t,height:n,width:t}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};let e=this._document,t=this._getWindow(),n=e.documentElement,s=n.getBoundingClientRect(),r=-s.top||e.body.scrollTop||t.scrollY||n.scrollTop||0,a=-s.left||e.body.scrollLeft||t.scrollX||n.scrollLeft||0;return{top:r,left:a}}change(e=Xo){return e>0?this._change.pipe(bt(e)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){let e=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:e.innerWidth,height:e.innerHeight}:{width:0,height:0}}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})(),Vn=new A("VIRTUAL_SCROLLABLE"),Zo=(()=>{class o extends st{constructor(){super()}measureViewportSize(e){let t=this.elementRef.nativeElement;return e==="horizontal"?t.clientWidth:t.clientHeight}static \u0275fac=function(t){return new(t||o)};static \u0275dir=F({type:o,features:[Y]})}return o})();function Qo(o,i){return o.start==i.start&&o.end==i.end}var qo=typeof requestAnimationFrame<"u"?qi:Qi,Wn=(()=>{class o extends Zo{elementRef=h(k);_changeDetectorRef=h(Be);_scrollStrategy=h(Gn,{optional:!0});scrollable=h(Vn,{optional:!0});_platform=h(H);_detachedSubject=new _;_renderedRangeSubject=new _;get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._orientation=e,this._calculateSpacerSize())}_orientation="vertical";appendOnly=!1;scrolledIndexChange=new ye(e=>this._scrollStrategy.scrolledIndexChange.subscribe(t=>Promise.resolve().then(()=>this.ngZone.run(()=>e.next(t)))));_contentWrapper;renderedRangeStream=this._renderedRangeSubject;_totalContentSize=0;_totalContentWidth=V("");_totalContentHeight=V("");_renderedContentTransform;_renderedRange={start:0,end:0};_dataLength=0;_viewportSize=0;_forOf;_renderedContentOffset=0;_renderedContentOffsetNeedsRewrite=!1;_changeDetectionNeeded=V(!1);_runAfterChangeDetection=[];_viewportChanges=Q.EMPTY;_injector=h(E);_isDestroyed=!1;constructor(){super();let e=h(Oe);this._scrollStrategy,this._viewportChanges=e.change().subscribe(()=>{this.checkViewportSize()}),this.scrollable||(this.elementRef.nativeElement.classList.add("cdk-virtual-scrollable"),this.scrollable=this);let t=ze(()=>{this._changeDetectionNeeded()&&this._doChangeDetection()},{injector:h(Ue).injector});h(rn).onDestroy(()=>{t.destroy()})}ngOnInit(){this._platform.isBrowser&&(this.scrollable===this&&super.ngOnInit(),this.ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>{this._measureViewportSize(),this._scrollStrategy.attach(this),this.scrollable.elementScrolled().pipe(Ce(null),bt(0,qo),he(this._destroyed)).subscribe(()=>this._scrollStrategy.onContentScrolled()),this._markChangeDetectionNeeded()})))}ngOnDestroy(){this.detach(),this._scrollStrategy.detach(),this._renderedRangeSubject.complete(),this._detachedSubject.complete(),this._viewportChanges.unsubscribe(),this._isDestroyed=!0,super.ngOnDestroy()}attach(e){this._forOf,this.ngZone.runOutsideAngular(()=>{this._forOf=e,this._forOf.dataStream.pipe(he(this._detachedSubject)).subscribe(t=>{let n=t.length;n!==this._dataLength&&(this._dataLength=n,this._scrollStrategy.onDataLengthChanged()),this._doChangeDetection()})})}detach(){this._forOf=null,this._detachedSubject.next()}getDataLength(){return this._dataLength}getViewportSize(){return this._viewportSize}getRenderedRange(){return this._renderedRange}measureBoundingClientRectWithScrollOffset(e){return this.getElementRef().nativeElement.getBoundingClientRect()[e]}setTotalContentSize(e){this._totalContentSize!==e&&(this._totalContentSize=e,this._calculateSpacerSize(),this._markChangeDetectionNeeded())}setRenderedRange(e){Qo(this._renderedRange,e)||(this.appendOnly&&(e={start:0,end:Math.max(this._renderedRange.end,e.end)}),this._renderedRangeSubject.next(this._renderedRange=e),this._markChangeDetectionNeeded(()=>this._scrollStrategy.onContentRendered()))}getOffsetToRenderedContentStart(){return this._renderedContentOffsetNeedsRewrite?null:this._renderedContentOffset}setRenderedContentOffset(e,t="to-start"){e=this.appendOnly&&t==="to-start"?0:e;let n=this.dir&&this.dir.value=="rtl",s=this.orientation=="horizontal",r=s?"X":"Y",c=`translate${r}(${Number((s&&n?-1:1)*e)}px)`;this._renderedContentOffset=e,t==="to-end"&&(c+=` translate${r}(-100%)`,this._renderedContentOffsetNeedsRewrite=!0),this._renderedContentTransform!=c&&(this._renderedContentTransform=c,this._markChangeDetectionNeeded(()=>{this._renderedContentOffsetNeedsRewrite?(this._renderedContentOffset-=this.measureRenderedContentSize(),this._renderedContentOffsetNeedsRewrite=!1,this.setRenderedContentOffset(this._renderedContentOffset)):this._scrollStrategy.onRenderedOffsetChanged()}))}scrollToOffset(e,t="auto"){let n={behavior:t};this.orientation==="horizontal"?n.start=e:n.top=e,this.scrollable.scrollTo(n)}scrollToIndex(e,t="auto"){this._scrollStrategy.scrollToIndex(e,t)}measureScrollOffset(e){let t;return this.scrollable==this?t=n=>super.measureScrollOffset(n):t=n=>this.scrollable.measureScrollOffset(n),Math.max(0,t(e??(this.orientation==="horizontal"?"start":"top"))-this.measureViewportOffset())}measureViewportOffset(e){let t,n="left",s="right",r=this.dir?.value=="rtl";e=="start"?t=r?s:n:e=="end"?t=r?n:s:e?t=e:t=this.orientation==="horizontal"?"left":"top";let a=this.scrollable.measureBoundingClientRectWithScrollOffset(t);return this.elementRef.nativeElement.getBoundingClientRect()[t]-a}measureRenderedContentSize(){let e=this._contentWrapper.nativeElement;return this.orientation==="horizontal"?e.offsetWidth:e.offsetHeight}measureRangeSize(e){return this._forOf?this._forOf.measureRangeSize(e,this.orientation):0}checkViewportSize(){this._measureViewportSize(),this._scrollStrategy.onDataLengthChanged()}_measureViewportSize(){this._viewportSize=this.scrollable.measureViewportSize(this.orientation)}_markChangeDetectionNeeded(e){e&&this._runAfterChangeDetection.push(e),!bn(this._changeDetectionNeeded)&&this.ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this.ngZone.run(()=>{this._changeDetectionNeeded.set(!0)})})})}_doChangeDetection(){this._isDestroyed||this.ngZone.run(()=>{this._changeDetectorRef.markForCheck(),this._contentWrapper.nativeElement.style.transform=this._renderedContentTransform,re(()=>{this._changeDetectionNeeded.set(!1);let e=this._runAfterChangeDetection;this._runAfterChangeDetection=[];for(let t of e)t()},{injector:this._injector})})}_calculateSpacerSize(){this._totalContentHeight.set(this.orientation==="horizontal"?"":`${this._totalContentSize}px`),this._totalContentWidth.set(this.orientation==="horizontal"?`${this._totalContentSize}px`:"")}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=W({type:o,selectors:[["cdk-virtual-scroll-viewport"]],viewQuery:function(t,n){if(t&1&&Et(Ho,7),t&2){let s;Ot(s=wt())&&(n._contentWrapper=s.first)}},hostAttrs:[1,"cdk-virtual-scroll-viewport"],hostVars:4,hostBindings:function(t,n){t&2&&et("cdk-virtual-scroll-orientation-horizontal",n.orientation==="horizontal")("cdk-virtual-scroll-orientation-vertical",n.orientation!=="horizontal")},inputs:{orientation:"orientation",appendOnly:[2,"appendOnly","appendOnly",ee]},outputs:{scrolledIndexChange:"scrolledIndexChange"},features:[Ne([{provide:st,useFactory:(e,t)=>e||t,deps:[[new cn,new an(Vn)],o]}]),Y],ngContentSelectors:Go,decls:4,vars:4,consts:[["contentWrapper",""],[1,"cdk-virtual-scroll-content-wrapper"],[1,"cdk-virtual-scroll-spacer"]],template:function(t,n){t&1&&(vn(),pn(0,"div",1,0),yn(2),gn(),mn(3,"div",2)),t&2&&(dn(3),Cn("width",n._totalContentWidth())("height",n._totalContentHeight()))},styles:[`cdk-virtual-scroll-viewport{display:block;position:relative;transform:translateZ(0)}.cdk-virtual-scrollable{overflow:auto;will-change:scroll-position;contain:strict}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{height:1px;transform-origin:0 0;flex:0 0 auto}[dir=rtl] .cdk-virtual-scroll-spacer{transform-origin:100% 0}
2
2
  `],encapsulation:2,changeDetection:0})}return o})();function Hn(o,i,e){let t=e;if(!t.getBoundingClientRect)return 0;let n=t.getBoundingClientRect();return o==="horizontal"?i==="start"?n.left:n.right:i==="start"?n.top:n.bottom}var Jo=(()=>{class o{_viewContainerRef=h(Le);_template=h(be);_differs=h(Sn);_viewRepeater=h(pi);_viewport=h(Wn,{skipSelf:!0});viewChange=new _;_dataSourceChanges=new _;get cdkVirtualForOf(){return this._cdkVirtualForOf}set cdkVirtualForOf(e){this._cdkVirtualForOf=e,$n(e)?this._dataSourceChanges.next(e):this._dataSourceChanges.next(new Bt(vt(e)?e:Array.from(e||[])))}_cdkVirtualForOf;get cdkVirtualForTrackBy(){return this._cdkVirtualForTrackBy}set cdkVirtualForTrackBy(e){this._needsUpdate=!0,this._cdkVirtualForTrackBy=e?(t,n)=>e(t+(this._renderedRange?this._renderedRange.start:0),n):void 0}_cdkVirtualForTrackBy;set cdkVirtualForTemplate(e){e&&(this._needsUpdate=!0,this._template=e)}get cdkVirtualForTemplateCacheSize(){return this._viewRepeater.viewCacheSize}set cdkVirtualForTemplateCacheSize(e){this._viewRepeater.viewCacheSize=ce(e)}dataStream=this._dataSourceChanges.pipe(Ce(null),Ji(),v(([e,t])=>this._changeDataSource(e,t)),en(1));_differ=null;_data;_renderedItems;_renderedRange;_needsUpdate=!1;_destroyed=new _;constructor(){let e=h(U);this.dataStream.subscribe(t=>{this._data=t,this._onRenderedDataChange()}),this._viewport.renderedRangeStream.pipe(he(this._destroyed)).subscribe(t=>{this._renderedRange=t,this.viewChange.observers.length&&e.run(()=>this.viewChange.next(this._renderedRange)),this._onRenderedDataChange()}),this._viewport.attach(this)}measureRangeSize(e,t){if(e.start>=e.end)return 0;e.start<this._renderedRange.start||e.end>this._renderedRange.end;let n=e.start-this._renderedRange.start,s=e.end-e.start,r,a;for(let c=0;c<s;c++){let d=this._viewContainerRef.get(c+n);if(d&&d.rootNodes.length){r=a=d.rootNodes[0];break}}for(let c=s-1;c>-1;c--){let d=this._viewContainerRef.get(c+n);if(d&&d.rootNodes.length){a=d.rootNodes[d.rootNodes.length-1];break}}return r&&a?Hn(t,"end",a)-Hn(t,"start",r):0}ngDoCheck(){if(this._differ&&this._needsUpdate){let e=this._differ.diff(this._renderedItems);e?this._applyChanges(e):this._updateContext(),this._needsUpdate=!1}}ngOnDestroy(){this._viewport.detach(),this._dataSourceChanges.next(void 0),this._dataSourceChanges.complete(),this.viewChange.complete(),this._destroyed.next(),this._destroyed.complete(),this._viewRepeater.detach()}_onRenderedDataChange(){this._renderedRange&&(this._renderedItems=this._data.slice(this._renderedRange.start,this._renderedRange.end),this._differ||(this._differ=this._differs.find(this._renderedItems).create((e,t)=>this.cdkVirtualForTrackBy?this.cdkVirtualForTrackBy(e,t):t)),this._needsUpdate=!0)}_changeDataSource(e,t){return e&&e.disconnect(this),this._needsUpdate=!0,t?t.connect(this):g()}_updateContext(){let e=this._data.length,t=this._viewContainerRef.length;for(;t--;){let n=this._viewContainerRef.get(t);n.context.index=this._renderedRange.start+t,n.context.count=e,this._updateComputedContextProperties(n.context),n.detectChanges()}}_applyChanges(e){this._viewRepeater.applyChanges(e,this._viewContainerRef,(s,r,a)=>this._getEmbeddedViewArgs(s,a),s=>s.item),e.forEachIdentityChange(s=>{let r=this._viewContainerRef.get(s.currentIndex);r.context.$implicit=s.item});let t=this._data.length,n=this._viewContainerRef.length;for(;n--;){let s=this._viewContainerRef.get(n);s.context.index=this._renderedRange.start+n,s.context.count=t,this._updateComputedContextProperties(s.context)}}_updateComputedContextProperties(e){e.first=e.index===0,e.last=e.index===e.count-1,e.even=e.index%2===0,e.odd=!e.even}_getEmbeddedViewArgs(e,t){return{templateRef:this._template,context:{$implicit:e.item,cdkVirtualForOf:this._cdkVirtualForOf,index:-1,count:-1,first:!1,last:!1,odd:!1,even:!1},index:t}}static ngTemplateContextGuard(e,t){return!0}static \u0275fac=function(t){return new(t||o)};static \u0275dir=F({type:o,selectors:[["","cdkVirtualFor","","cdkVirtualForOf",""]],inputs:{cdkVirtualForOf:"cdkVirtualForOf",cdkVirtualForTrackBy:"cdkVirtualForTrackBy",cdkVirtualForTemplate:"cdkVirtualForTemplate",cdkVirtualForTemplateCacheSize:"cdkVirtualForTemplateCacheSize"},features:[Ne([{provide:pi,useClass:jt}])]})}return o})();var mi=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=N({type:o});static \u0275inj=L({})}return o})(),_i=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=N({type:o});static \u0275inj=L({imports:[pe,mi,pe,mi]})}return o})();var rt=class{_attachedHost;attach(i){return this._attachedHost=i,i.attach(this)}detach(){let i=this._attachedHost;i!=null&&(this._attachedHost=null,i.detach())}get isAttached(){return this._attachedHost!=null}setAttachedHost(i){this._attachedHost=i}},Ge=class extends rt{component;viewContainerRef;injector;projectableNodes;constructor(i,e,t,n){super(),this.component=i,this.viewContainerRef=e,this.injector=t,this.projectableNodes=n}},we=class extends rt{templateRef;viewContainerRef;context;injector;constructor(i,e,t,n){super(),this.templateRef=i,this.viewContainerRef=e,this.context=t,this.injector=n}get origin(){return this.templateRef.elementRef}attach(i,e=this.context){return this.context=e,super.attach(i)}detach(){return this.context=void 0,super.detach()}},vi=class extends rt{element;constructor(i){super(),this.element=i instanceof k?i.nativeElement:i}},We=class{_attachedPortal;_disposeFn;_isDisposed=!1;hasAttached(){return!!this._attachedPortal}attach(i){if(i instanceof Ge)return this._attachedPortal=i,this.attachComponentPortal(i);if(i instanceof we)return this._attachedPortal=i,this.attachTemplatePortal(i);if(this.attachDomPortal&&i instanceof vi)return this._attachedPortal=i,this.attachDomPortal(i)}attachDomPortal=null;detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(i){this._disposeFn=i}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}},$t=class extends We{outletElement;_appRef;_defaultInjector;constructor(i,e,t){super(),this.outletElement=i,this._appRef=e,this._defaultInjector=t}attachComponentPortal(i){let e;if(i.viewContainerRef){let t=i.injector||i.viewContainerRef.injector,n=t.get(li,null,{optional:!0})||void 0;e=i.viewContainerRef.createComponent(i.component,{index:i.viewContainerRef.length,injector:t,ngModuleRef:n,projectableNodes:i.projectableNodes||void 0}),this.setDisposeFn(()=>e.destroy())}else{let t=this._appRef,n=i.injector||this._defaultInjector||E.NULL,s=n.get(xe,t.injector);e=At(i.component,{elementInjector:n,environmentInjector:s,projectableNodes:i.projectableNodes||void 0}),t.attachView(e.hostView),this.setDisposeFn(()=>{t.viewCount>0&&t.detachView(e.hostView),e.destroy()})}return this.outletElement.appendChild(this._getComponentRootNode(e)),this._attachedPortal=i,e}attachTemplatePortal(i){let e=i.viewContainerRef,t=e.createEmbeddedView(i.templateRef,i.context,{injector:i.injector});return t.rootNodes.forEach(n=>this.outletElement.appendChild(n)),t.detectChanges(),this.setDisposeFn(()=>{let n=e.indexOf(t);n!==-1&&e.remove(n)}),this._attachedPortal=i,t}attachDomPortal=i=>{let e=i.element;e.parentNode;let t=this.outletElement.ownerDocument.createComment("dom-portal");e.parentNode.insertBefore(t,e),this.outletElement.appendChild(e),this._attachedPortal=i,super.setDisposeFn(()=>{t.parentNode&&t.parentNode.replaceChild(e,t)})};dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(i){return i.hostView.rootNodes[0]}};var at=(()=>{class o extends We{_moduleRef=h(li,{optional:!0});_document=h(P);_viewContainerRef=h(Le);_isInitialized=!1;_attachedRef;constructor(){super()}get portal(){return this._attachedPortal}set portal(e){this.hasAttached()&&!e&&!this._isInitialized||(this.hasAttached()&&super.detach(),e&&super.attach(e),this._attachedPortal=e||null)}attached=new B;get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(e){e.setAttachedHost(this);let t=e.viewContainerRef!=null?e.viewContainerRef:this._viewContainerRef,n=t.createComponent(e.component,{index:t.length,injector:e.injector||t.injector,projectableNodes:e.projectableNodes||void 0,ngModuleRef:this._moduleRef||void 0});return t!==this._viewContainerRef&&this._getRootNode().appendChild(n.hostView.rootNodes[0]),super.setDisposeFn(()=>n.destroy()),this._attachedPortal=e,this._attachedRef=n,this.attached.emit(n),n}attachTemplatePortal(e){e.setAttachedHost(this);let t=this._viewContainerRef.createEmbeddedView(e.templateRef,e.context,{injector:e.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=e,this._attachedRef=t,this.attached.emit(t),t}attachDomPortal=e=>{let t=e.element;t.parentNode;let n=this._document.createComment("dom-portal");e.setAttachedHost(this),t.parentNode.insertBefore(n,t),this._getRootNode().appendChild(t),this._attachedPortal=e,super.setDisposeFn(()=>{n.parentNode&&n.parentNode.replaceChild(t,n)})};_getRootNode(){let e=this._viewContainerRef.element.nativeElement;return e.nodeType===e.ELEMENT_NODE?e:e.parentNode}static \u0275fac=function(t){return new(t||o)};static \u0275dir=F({type:o,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:[0,"cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[Y]})}return o})();var Ae=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=N({type:o});static \u0275inj=L({})}return o})();var yi;function ts(){if(yi==null){let o=typeof document<"u"?document.head:null;yi=!!(o&&(o.createShadowRoot||o.attachShadow))}return yi}function Yn(o){if(ts()){let i=o.getRootNode?o.getRootNode():null;if(typeof ShadowRoot<"u"&&ShadowRoot&&i instanceof ShadowRoot)return i}return null}function Vt(){let o=typeof document<"u"&&document?document.activeElement:null;for(;o&&o.shadowRoot;){let i=o.shadowRoot.activeElement;if(i===o)break;o=i}return o}function ie(o){return o.composedPath?o.composedPath()[0]:o.target}function Ci(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}var Ht=new WeakMap,Ye=(()=>{class o{_appRef;_injector=h(E);_environmentInjector=h(xe);load(e){let t=this._appRef=this._appRef||this._injector.get(Ue),n=Ht.get(t);n||(n={loaders:new Set,refs:[]},Ht.set(t,n),t.onDestroy(()=>{Ht.get(t)?.refs.forEach(s=>s.destroy()),Ht.delete(t)})),n.loaders.has(e)||(n.loaders.add(e),n.refs.push(At(e,{environmentInjector:this._environmentInjector})))}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();function M(o){return o==null?"":typeof o=="string"?o:`${o}px`}var bi={},ge=(()=>{class o{_appId=h(ln);getId(e){return this._appId!=="ng"&&(e+=this._appId),bi.hasOwnProperty(e)||(bi[e]=0),`${e}${bi[e]++}`}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();function me(o,...i){return i.length?i.some(e=>o[e]):o.altKey||o.shiftKey||o.ctrlKey||o.metaKey}var Kn=Nt();function Xe(o){return new Gt(o.get(Oe),o.get(P))}var Gt=class{_viewportRuler;_previousHTMLStyles={top:"",left:""};_previousScrollPosition;_isEnabled=!1;_document;constructor(i,e){this._viewportRuler=i,this._document=e}attach(){}enable(){if(this._canBeEnabled()){let i=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=i.style.left||"",this._previousHTMLStyles.top=i.style.top||"",i.style.left=M(-this._previousScrollPosition.left),i.style.top=M(-this._previousScrollPosition.top),i.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){let i=this._document.documentElement,e=this._document.body,t=i.style,n=e.style,s=t.scrollBehavior||"",r=n.scrollBehavior||"";this._isEnabled=!1,t.left=this._previousHTMLStyles.left,t.top=this._previousHTMLStyles.top,i.classList.remove("cdk-global-scrollblock"),Kn&&(t.scrollBehavior=n.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),Kn&&(t.scrollBehavior=s,n.scrollBehavior=r)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;let e=this._document.documentElement,t=this._viewportRuler.getViewportSize();return e.scrollHeight>t.height||e.scrollWidth>t.width}};function to(o,i){return new Wt(o.get(ot),o.get(U),o.get(Oe),i)}var Wt=class{_scrollDispatcher;_ngZone;_viewportRuler;_config;_scrollSubscription=null;_overlayRef;_initialScrollPosition;constructor(i,e,t,n){this._scrollDispatcher=i,this._ngZone=e,this._viewportRuler=t,this._config=n}attach(i){this._overlayRef,this._overlayRef=i}enable(){if(this._scrollSubscription)return;let i=this._scrollDispatcher.scrolled(0).pipe(D(e=>!e||!this._overlayRef.overlayElement.contains(e.getElementRef().nativeElement)));this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=i.subscribe(()=>{let e=this._viewportRuler.getViewportScrollPosition().top;Math.abs(e-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=i.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}_detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}};var ct=class{enable(){}disable(){}attach(){}};function Si(o,i){return i.some(e=>{let t=o.bottom<e.top,n=o.top>e.bottom,s=o.right<e.left,r=o.left>e.right;return t||n||s||r})}function Xn(o,i){return i.some(e=>{let t=o.top<e.top,n=o.bottom>e.bottom,s=o.left<e.left,r=o.right>e.right;return t||n||s||r})}function Qt(o,i){return new Yt(o.get(ot),o.get(Oe),o.get(U),i)}var Yt=class{_scrollDispatcher;_viewportRuler;_ngZone;_config;_scrollSubscription=null;_overlayRef;constructor(i,e,t,n){this._scrollDispatcher=i,this._viewportRuler=e,this._ngZone=t,this._config=n}attach(i){this._overlayRef,this._overlayRef=i}enable(){if(!this._scrollSubscription){let i=this._config?this._config.scrollThrottle:0;this._scrollSubscription=this._scrollDispatcher.scrolled(i).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){let e=this._overlayRef.overlayElement.getBoundingClientRect(),{width:t,height:n}=this._viewportRuler.getViewportSize();Si(e,[{width:t,height:n,bottom:n,right:t,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}})}}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}},io=(()=>{class o{_injector=h(E);constructor(){}noop=()=>new ct;close=e=>to(this._injector,e);block=()=>Xe(this._injector);reposition=e=>Qt(this._injector,e);static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})(),Re=class{positionStrategy;scrollStrategy=new ct;panelClass="";hasBackdrop=!1;backdropClass="cdk-overlay-dark-backdrop";disableAnimations;width;height;minWidth;minHeight;maxWidth;maxHeight;direction;disposeOnNavigation=!1;constructor(i){if(i){let e=Object.keys(i);for(let t of e)i[t]!==void 0&&(this[t]=i[t])}}},Ii=class{offsetX;offsetY;panelClass;originX;originY;overlayX;overlayY;constructor(i,e,t,n,s){this.offsetX=t,this.offsetY=n,this.panelClass=s,this.originX=i.originX,this.originY=i.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY}};var Kt=class{connectionPair;scrollableViewProperties;constructor(i,e){this.connectionPair=i,this.scrollableViewProperties=e}};var no=(()=>{class o{_attachedOverlays=[];_document=h(P);_isAttached;constructor(){}ngOnDestroy(){this.detach()}add(e){this.remove(e),this._attachedOverlays.push(e)}remove(e){let t=this._attachedOverlays.indexOf(e);t>-1&&this._attachedOverlays.splice(t,1),this._attachedOverlays.length===0&&this.detach()}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})(),oo=(()=>{class o extends no{_ngZone=h(U);_renderer=h(ae).createRenderer(null,null);_cleanupKeydown;add(e){super.add(e),this._isAttached||(this._ngZone.runOutsideAngular(()=>{this._cleanupKeydown=this._renderer.listen("body","keydown",this._keydownListener)}),this._isAttached=!0)}detach(){this._isAttached&&(this._cleanupKeydown?.(),this._isAttached=!1)}_keydownListener=e=>{let t=this._attachedOverlays;for(let n=t.length-1;n>-1;n--)if(t[n]._keydownEvents.observers.length>0){this._ngZone.run(()=>t[n]._keydownEvents.next(e));break}};static \u0275fac=(()=>{let e;return function(n){return(e||(e=ue(o)))(n||o)}})();static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})(),so=(()=>{class o extends no{_platform=h(H);_ngZone=h(U);_renderer=h(ae).createRenderer(null,null);_cursorOriginalValue;_cursorStyleIsSet=!1;_pointerDownEventTarget;_cleanups;add(e){if(super.add(e),!this._isAttached){let t=this._document.body,n={capture:!0},s=this._renderer;this._cleanups=this._ngZone.runOutsideAngular(()=>[s.listen(t,"pointerdown",this._pointerDownListener,n),s.listen(t,"click",this._clickListener,n),s.listen(t,"auxclick",this._clickListener,n),s.listen(t,"contextmenu",this._clickListener,n)]),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=t.style.cursor,t.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){this._isAttached&&(this._cleanups?.forEach(e=>e()),this._cleanups=void 0,this._platform.IOS&&this._cursorStyleIsSet&&(this._document.body.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1)}_pointerDownListener=e=>{this._pointerDownEventTarget=ie(e)};_clickListener=e=>{let t=ie(e),n=e.type==="click"&&this._pointerDownEventTarget?this._pointerDownEventTarget:t;this._pointerDownEventTarget=null;let s=this._attachedOverlays.slice();for(let r=s.length-1;r>-1;r--){let a=s[r];if(a._outsidePointerEvents.observers.length<1||!a.hasAttached())continue;if(Zn(a.overlayElement,t)||Zn(a.overlayElement,n))break;let c=a._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>c.next(e)):c.next(e)}};static \u0275fac=(()=>{let e;return function(n){return(e||(e=ue(o)))(n||o)}})();static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();function Zn(o,i){let e=typeof ShadowRoot<"u"&&ShadowRoot,t=i;for(;t;){if(t===o)return!0;t=e&&t instanceof ShadowRoot?t.host:t.parentNode}return!1}var ro=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275cmp=W({type:o,selectors:[["ng-component"]],hostAttrs:["cdk-overlay-style-loader",""],decls:0,vars:0,template:function(t,n){},styles:[`.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed}@layer cdk-overlay{.cdk-overlay-container{z-index:1000}}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute}@layer cdk-overlay{.cdk-global-overlay-wrapper{z-index:1000}}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%}@layer cdk-overlay{.cdk-overlay-pane{z-index:1000}}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation}@layer cdk-overlay{.cdk-overlay-backdrop{z-index:1000;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}@layer cdk-overlay{.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px}@layer cdk-overlay{.cdk-overlay-connected-position-bounding-box{z-index:1000}}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}
3
3
  `],encapsulation:2,changeDetection:0})}return o})(),qt=(()=>{class o{_platform=h(H);_containerElement;_document=h(P);_styleLoader=h(Ye);constructor(){}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._loadStyles(),this._containerElement||this._createContainer(),this._containerElement}_createContainer(){let e="cdk-overlay-container";if(this._platform.isBrowser||Ci()){let n=this._document.querySelectorAll(`.${e}[platform="server"], .${e}[platform="test"]`);for(let s=0;s<n.length;s++)n[s].remove()}let t=this._document.createElement("div");t.classList.add(e),Ci()?t.setAttribute("platform","test"):this._platform.isBrowser||t.setAttribute("platform","server"),this._document.body.appendChild(t),this._containerElement=t}_loadStyles(){this._styleLoader.load(ro)}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})(),Di=class{_renderer;_ngZone;element;_cleanupClick;_cleanupTransitionEnd;_fallbackTimeout;constructor(i,e,t,n){this._renderer=e,this._ngZone=t,this.element=i.createElement("div"),this.element.classList.add("cdk-overlay-backdrop"),this._cleanupClick=e.listen(this.element,"click",n)}detach(){this._ngZone.runOutsideAngular(()=>{let i=this.element;clearTimeout(this._fallbackTimeout),this._cleanupTransitionEnd?.(),this._cleanupTransitionEnd=this._renderer.listen(i,"transitionend",this.dispose),this._fallbackTimeout=setTimeout(this.dispose,500),i.style.pointerEvents="none",i.classList.remove("cdk-overlay-backdrop-showing")})}dispose=()=>{clearTimeout(this._fallbackTimeout),this._cleanupClick?.(),this._cleanupTransitionEnd?.(),this._cleanupClick=this._cleanupTransitionEnd=this._fallbackTimeout=void 0,this.element.remove()}},Ke=class{_portalOutlet;_host;_pane;_config;_ngZone;_keyboardDispatcher;_document;_location;_outsideClickDispatcher;_animationsDisabled;_injector;_renderer;_backdropClick=new _;_attachments=new _;_detachments=new _;_positionStrategy;_scrollStrategy;_locationChanges=Q.EMPTY;_backdropRef=null;_detachContentMutationObserver;_detachContentAfterRenderRef;_previousHostParent;_keydownEvents=new _;_outsidePointerEvents=new _;_afterNextRenderRef;constructor(i,e,t,n,s,r,a,c,d,l=!1,u,w){this._portalOutlet=i,this._host=e,this._pane=t,this._config=n,this._ngZone=s,this._keyboardDispatcher=r,this._document=a,this._location=c,this._outsideClickDispatcher=d,this._animationsDisabled=l,this._injector=u,this._renderer=w,n.scrollStrategy&&(this._scrollStrategy=n.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=n.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropRef?.element||null}get hostElement(){return this._host}attach(i){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);let e=this._portalOutlet.attach(i);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._afterNextRenderRef?.destroy(),this._afterNextRenderRef=re(()=>{this.hasAttached()&&this.updatePosition()},{injector:this._injector}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._completeDetachContent(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),typeof e?.onDestroy=="function"&&e.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();let i=this._portalOutlet.detach();return this._detachments.next(),this._completeDetachContent(),this._keyboardDispatcher.remove(this),this._detachContentWhenEmpty(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),i}dispose(){let i=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._backdropRef?.dispose(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._afterNextRenderRef?.destroy(),this._previousHostParent=this._pane=this._host=this._backdropRef=null,i&&this._detachments.next(),this._detachments.complete(),this._completeDetachContent()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(i){i!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=i,this.hasAttached()&&(i.attach(this),this.updatePosition()))}updateSize(i){this._config=p(p({},this._config),i),this._updateElementSize()}setDirection(i){this._config=z(p({},this._config),{direction:i}),this._updateElementDirection()}addPanelClass(i){this._pane&&this._toggleClasses(this._pane,i,!0)}removePanelClass(i){this._pane&&this._toggleClasses(this._pane,i,!1)}getDirection(){let i=this._config.direction;return i?typeof i=="string"?i:i.value:"ltr"}updateScrollStrategy(i){i!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=i,this.hasAttached()&&(i.attach(this),i.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;let i=this._pane.style;i.width=M(this._config.width),i.height=M(this._config.height),i.minWidth=M(this._config.minWidth),i.minHeight=M(this._config.minHeight),i.maxWidth=M(this._config.maxWidth),i.maxHeight=M(this._config.maxHeight)}_togglePointerEvents(i){this._pane.style.pointerEvents=i?"":"none"}_attachBackdrop(){let i="cdk-overlay-backdrop-showing";this._backdropRef?.dispose(),this._backdropRef=new Di(this._document,this._renderer,this._ngZone,e=>{this._backdropClick.next(e)}),this._animationsDisabled&&this._backdropRef.element.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropRef.element,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropRef.element,this._host),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this._backdropRef?.element.classList.add(i))}):this._backdropRef.element.classList.add(i)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){this._animationsDisabled?(this._backdropRef?.dispose(),this._backdropRef=null):this._backdropRef?.detach()}_toggleClasses(i,e,t){let n=kt(e||[]).filter(s=>!!s);n.length&&(t?i.classList.add(...n):i.classList.remove(...n))}_detachContentWhenEmpty(){let i=!1;try{this._detachContentAfterRenderRef=re(()=>{i=!0,this._detachContent()},{injector:this._injector})}catch(e){if(i)throw e;this._detachContent()}globalThis.MutationObserver&&this._pane&&(this._detachContentMutationObserver||=new globalThis.MutationObserver(()=>{this._detachContent()}),this._detachContentMutationObserver.observe(this._pane,{childList:!0}))}_detachContent(){(!this._pane||!this._host||this._pane.children.length===0)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),this._completeDetachContent())}_completeDetachContent(){this._detachContentAfterRenderRef?.destroy(),this._detachContentAfterRenderRef=void 0,this._detachContentMutationObserver?.disconnect()}_disposeScrollStrategy(){let i=this._scrollStrategy;i?.disable(),i?.detach?.()}},Qn="cdk-overlay-connected-position-bounding-box",is=/([A-Za-z%]+)$/;function wi(o,i){return new Xt(i,o.get(Oe),o.get(P),o.get(H),o.get(qt))}var Xt=class{_viewportRuler;_document;_platform;_overlayContainer;_overlayRef;_isInitialRender;_lastBoundingBoxSize={width:0,height:0};_isPushed=!1;_canPush=!0;_growAfterOpen=!1;_hasFlexibleDimensions=!0;_positionLocked=!1;_originRect;_overlayRect;_viewportRect;_containerRect;_viewportMargin=0;_scrollables=[];_preferredPositions=[];_origin;_pane;_isDisposed;_boundingBox;_lastPosition;_lastScrollVisibility;_positionChanges=new _;_resizeSubscription=Q.EMPTY;_offsetX=0;_offsetY=0;_transformOriginSelector;_appliedPanelClasses=[];_previousPushAmount;positionChanges=this._positionChanges;get positions(){return this._preferredPositions}constructor(i,e,t,n,s){this._viewportRuler=e,this._document=t,this._platform=n,this._overlayContainer=s,this.setOrigin(i)}attach(i){this._overlayRef&&this._overlayRef,this._validatePositions(),i.hostElement.classList.add(Qn),this._overlayRef=i,this._boundingBox=i.hostElement,this._pane=i.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition){this.reapplyLastPosition();return}this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();let i=this._originRect,e=this._overlayRect,t=this._viewportRect,n=this._containerRect,s=[],r;for(let a of this._preferredPositions){let c=this._getOriginPoint(i,n,a),d=this._getOverlayPoint(c,e,a),l=this._getOverlayFit(d,e,t,a);if(l.isCompletelyWithinViewport){this._isPushed=!1,this._applyPosition(a,c);return}if(this._canFitWithFlexibleDimensions(l,d,t)){s.push({position:a,origin:c,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(c,a)});continue}(!r||r.overlayFit.visibleArea<l.visibleArea)&&(r={overlayFit:l,overlayPoint:d,originPoint:c,position:a,overlayRect:e})}if(s.length){let a=null,c=-1;for(let d of s){let l=d.boundingBoxRect.width*d.boundingBoxRect.height*(d.position.weight||1);l>c&&(c=l,a=d)}this._isPushed=!1,this._applyPosition(a.position,a.origin);return}if(this._canPush){this._isPushed=!0,this._applyPosition(r.position,r.originPoint);return}this._applyPosition(r.position,r.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&ke(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(Qn),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;let i=this._lastPosition;if(i){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();let e=this._getOriginPoint(this._originRect,this._containerRect,i);this._applyPosition(i,e)}else this.apply()}withScrollableContainers(i){return this._scrollables=i,this}withPositions(i){return this._preferredPositions=i,i.indexOf(this._lastPosition)===-1&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(i){return this._viewportMargin=i,this}withFlexibleDimensions(i=!0){return this._hasFlexibleDimensions=i,this}withGrowAfterOpen(i=!0){return this._growAfterOpen=i,this}withPush(i=!0){return this._canPush=i,this}withLockedPosition(i=!0){return this._positionLocked=i,this}setOrigin(i){return this._origin=i,this}withDefaultOffsetX(i){return this._offsetX=i,this}withDefaultOffsetY(i){return this._offsetY=i,this}withTransformOriginOn(i){return this._transformOriginSelector=i,this}_getOriginPoint(i,e,t){let n;if(t.originX=="center")n=i.left+i.width/2;else{let r=this._isRtl()?i.right:i.left,a=this._isRtl()?i.left:i.right;n=t.originX=="start"?r:a}e.left<0&&(n-=e.left);let s;return t.originY=="center"?s=i.top+i.height/2:s=t.originY=="top"?i.top:i.bottom,e.top<0&&(s-=e.top),{x:n,y:s}}_getOverlayPoint(i,e,t){let n;t.overlayX=="center"?n=-e.width/2:t.overlayX==="start"?n=this._isRtl()?-e.width:0:n=this._isRtl()?0:-e.width;let s;return t.overlayY=="center"?s=-e.height/2:s=t.overlayY=="top"?0:-e.height,{x:i.x+n,y:i.y+s}}_getOverlayFit(i,e,t,n){let s=Jn(e),{x:r,y:a}=i,c=this._getOffset(n,"x"),d=this._getOffset(n,"y");c&&(r+=c),d&&(a+=d);let l=0-r,u=r+s.width-t.width,w=0-a,f=a+s.height-t.height,m=this._subtractOverflows(s.width,l,u),I=this._subtractOverflows(s.height,w,f),K=m*I;return{visibleArea:K,isCompletelyWithinViewport:s.width*s.height===K,fitsInViewportVertically:I===s.height,fitsInViewportHorizontally:m==s.width}}_canFitWithFlexibleDimensions(i,e,t){if(this._hasFlexibleDimensions){let n=t.bottom-e.y,s=t.right-e.x,r=qn(this._overlayRef.getConfig().minHeight),a=qn(this._overlayRef.getConfig().minWidth),c=i.fitsInViewportVertically||r!=null&&r<=n,d=i.fitsInViewportHorizontally||a!=null&&a<=s;return c&&d}return!1}_pushOverlayOnScreen(i,e,t){if(this._previousPushAmount&&this._positionLocked)return{x:i.x+this._previousPushAmount.x,y:i.y+this._previousPushAmount.y};let n=Jn(e),s=this._viewportRect,r=Math.max(i.x+n.width-s.width,0),a=Math.max(i.y+n.height-s.height,0),c=Math.max(s.top-t.top-i.y,0),d=Math.max(s.left-t.left-i.x,0),l=0,u=0;return n.width<=s.width?l=d||-r:l=i.x<this._viewportMargin?s.left-t.left-i.x:0,n.height<=s.height?u=c||-a:u=i.y<this._viewportMargin?s.top-t.top-i.y:0,this._previousPushAmount={x:l,y:u},{x:i.x+l,y:i.y+u}}_applyPosition(i,e){if(this._setTransformOrigin(i),this._setOverlayElementStyles(e,i),this._setBoundingBoxStyles(e,i),i.panelClass&&this._addPanelClasses(i.panelClass),this._positionChanges.observers.length){let t=this._getScrollVisibility();if(i!==this._lastPosition||!this._lastScrollVisibility||!ns(this._lastScrollVisibility,t)){let n=new Kt(i,t);this._positionChanges.next(n)}this._lastScrollVisibility=t}this._lastPosition=i,this._isInitialRender=!1}_setTransformOrigin(i){if(!this._transformOriginSelector)return;let e=this._boundingBox.querySelectorAll(this._transformOriginSelector),t,n=i.overlayY;i.overlayX==="center"?t="center":this._isRtl()?t=i.overlayX==="start"?"right":"left":t=i.overlayX==="start"?"left":"right";for(let s=0;s<e.length;s++)e[s].style.transformOrigin=`${t} ${n}`}_calculateBoundingBoxRect(i,e){let t=this._viewportRect,n=this._isRtl(),s,r,a;if(e.overlayY==="top")r=i.y,s=t.height-r+this._viewportMargin;else if(e.overlayY==="bottom")a=t.height-i.y+this._viewportMargin*2,s=t.height-a+this._viewportMargin;else{let f=Math.min(t.bottom-i.y+t.top,i.y),m=this._lastBoundingBoxSize.height;s=f*2,r=i.y-f,s>m&&!this._isInitialRender&&!this._growAfterOpen&&(r=i.y-m/2)}let c=e.overlayX==="start"&&!n||e.overlayX==="end"&&n,d=e.overlayX==="end"&&!n||e.overlayX==="start"&&n,l,u,w;if(d)w=t.width-i.x+this._viewportMargin*2,l=i.x-this._viewportMargin;else if(c)u=i.x,l=t.right-i.x;else{let f=Math.min(t.right-i.x+t.left,i.x),m=this._lastBoundingBoxSize.width;l=f*2,u=i.x-f,l>m&&!this._isInitialRender&&!this._growAfterOpen&&(u=i.x-m/2)}return{top:r,left:u,bottom:a,right:w,width:l,height:s}}_setBoundingBoxStyles(i,e){let t=this._calculateBoundingBoxRect(i,e);!this._isInitialRender&&!this._growAfterOpen&&(t.height=Math.min(t.height,this._lastBoundingBoxSize.height),t.width=Math.min(t.width,this._lastBoundingBoxSize.width));let n={};if(this._hasExactPosition())n.top=n.left="0",n.bottom=n.right=n.maxHeight=n.maxWidth="",n.width=n.height="100%";else{let s=this._overlayRef.getConfig().maxHeight,r=this._overlayRef.getConfig().maxWidth;n.height=M(t.height),n.top=M(t.top),n.bottom=M(t.bottom),n.width=M(t.width),n.left=M(t.left),n.right=M(t.right),e.overlayX==="center"?n.alignItems="center":n.alignItems=e.overlayX==="end"?"flex-end":"flex-start",e.overlayY==="center"?n.justifyContent="center":n.justifyContent=e.overlayY==="bottom"?"flex-end":"flex-start",s&&(n.maxHeight=M(s)),r&&(n.maxWidth=M(r))}this._lastBoundingBoxSize=t,ke(this._boundingBox.style,n)}_resetBoundingBoxStyles(){ke(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){ke(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(i,e){let t={},n=this._hasExactPosition(),s=this._hasFlexibleDimensions,r=this._overlayRef.getConfig();if(n){let l=this._viewportRuler.getViewportScrollPosition();ke(t,this._getExactOverlayY(e,i,l)),ke(t,this._getExactOverlayX(e,i,l))}else t.position="static";let a="",c=this._getOffset(e,"x"),d=this._getOffset(e,"y");c&&(a+=`translateX(${c}px) `),d&&(a+=`translateY(${d}px)`),t.transform=a.trim(),r.maxHeight&&(n?t.maxHeight=M(r.maxHeight):s&&(t.maxHeight="")),r.maxWidth&&(n?t.maxWidth=M(r.maxWidth):s&&(t.maxWidth="")),ke(this._pane.style,t)}_getExactOverlayY(i,e,t){let n={top:"",bottom:""},s=this._getOverlayPoint(e,this._overlayRect,i);if(this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,t)),i.overlayY==="bottom"){let r=this._document.documentElement.clientHeight;n.bottom=`${r-(s.y+this._overlayRect.height)}px`}else n.top=M(s.y);return n}_getExactOverlayX(i,e,t){let n={left:"",right:""},s=this._getOverlayPoint(e,this._overlayRect,i);this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,t));let r;if(this._isRtl()?r=i.overlayX==="end"?"left":"right":r=i.overlayX==="end"?"right":"left",r==="right"){let a=this._document.documentElement.clientWidth;n.right=`${a-(s.x+this._overlayRect.width)}px`}else n.left=M(s.x);return n}_getScrollVisibility(){let i=this._getOriginRect(),e=this._pane.getBoundingClientRect(),t=this._scrollables.map(n=>n.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:Xn(i,t),isOriginOutsideView:Si(i,t),isOverlayClipped:Xn(e,t),isOverlayOutsideView:Si(e,t)}}_subtractOverflows(i,...e){return e.reduce((t,n)=>t-Math.max(n,0),i)}_getNarrowedViewportRect(){let i=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,t=this._viewportRuler.getViewportScrollPosition();return{top:t.top+this._viewportMargin,left:t.left+this._viewportMargin,right:t.left+i-this._viewportMargin,bottom:t.top+e-this._viewportMargin,width:i-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return this._overlayRef.getDirection()==="rtl"}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(i,e){return e==="x"?i.offsetX==null?this._offsetX:i.offsetX:i.offsetY==null?this._offsetY:i.offsetY}_validatePositions(){}_addPanelClasses(i){this._pane&&kt(i).forEach(e=>{e!==""&&this._appliedPanelClasses.indexOf(e)===-1&&(this._appliedPanelClasses.push(e),this._pane.classList.add(e))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(i=>{this._pane.classList.remove(i)}),this._appliedPanelClasses=[])}_getOriginRect(){let i=this._origin;if(i instanceof k)return i.nativeElement.getBoundingClientRect();if(i instanceof Element)return i.getBoundingClientRect();let e=i.width||0,t=i.height||0;return{top:i.y,bottom:i.y+t,left:i.x,right:i.x+e,height:t,width:e}}};function ke(o,i){for(let e in i)i.hasOwnProperty(e)&&(o[e]=i[e]);return o}function qn(o){if(typeof o!="number"&&o!=null){let[i,e]=o.split(is);return!e||e==="px"?parseFloat(i):null}return o||null}function Jn(o){return{top:Math.floor(o.top),right:Math.floor(o.right),bottom:Math.floor(o.bottom),left:Math.floor(o.left),width:Math.floor(o.width),height:Math.floor(o.height)}}function ns(o,i){return o===i?!0:o.isOriginClipped===i.isOriginClipped&&o.isOriginOutsideView===i.isOriginOutsideView&&o.isOverlayClipped===i.isOverlayClipped&&o.isOverlayOutsideView===i.isOverlayOutsideView}var eo="cdk-global-overlay-wrapper";function Ze(o){return new Zt}var Zt=class{_overlayRef;_cssPosition="static";_topOffset="";_bottomOffset="";_alignItems="";_xPosition="";_xOffset="";_width="";_height="";_isDisposed=!1;attach(i){let e=i.getConfig();this._overlayRef=i,this._width&&!e.width&&i.updateSize({width:this._width}),this._height&&!e.height&&i.updateSize({height:this._height}),i.hostElement.classList.add(eo),this._isDisposed=!1}top(i=""){return this._bottomOffset="",this._topOffset=i,this._alignItems="flex-start",this}left(i=""){return this._xOffset=i,this._xPosition="left",this}bottom(i=""){return this._topOffset="",this._bottomOffset=i,this._alignItems="flex-end",this}right(i=""){return this._xOffset=i,this._xPosition="right",this}start(i=""){return this._xOffset=i,this._xPosition="start",this}end(i=""){return this._xOffset=i,this._xPosition="end",this}width(i=""){return this._overlayRef?this._overlayRef.updateSize({width:i}):this._width=i,this}height(i=""){return this._overlayRef?this._overlayRef.updateSize({height:i}):this._height=i,this}centerHorizontally(i=""){return this.left(i),this._xPosition="center",this}centerVertically(i=""){return this.top(i),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;let i=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,t=this._overlayRef.getConfig(),{width:n,height:s,maxWidth:r,maxHeight:a}=t,c=(n==="100%"||n==="100vw")&&(!r||r==="100%"||r==="100vw"),d=(s==="100%"||s==="100vh")&&(!a||a==="100%"||a==="100vh"),l=this._xPosition,u=this._xOffset,w=this._overlayRef.getConfig().direction==="rtl",f="",m="",I="";c?I="flex-start":l==="center"?(I="center",w?m=u:f=u):w?l==="left"||l==="end"?(I="flex-end",f=u):(l==="right"||l==="start")&&(I="flex-start",m=u):l==="left"||l==="start"?(I="flex-start",f=u):(l==="right"||l==="end")&&(I="flex-end",m=u),i.position=this._cssPosition,i.marginLeft=c?"0":f,i.marginTop=d?"0":this._topOffset,i.marginBottom=this._bottomOffset,i.marginRight=c?"0":m,e.justifyContent=I,e.alignItems=d?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;let i=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,t=e.style;e.classList.remove(eo),t.justifyContent=t.alignItems=i.marginTop=i.marginBottom=i.marginLeft=i.marginRight=i.position="",this._overlayRef=null,this._isDisposed=!0}},ao=(()=>{class o{_injector=h(E);constructor(){}global(){return Ze()}flexibleConnectedTo(e){return wi(this._injector,e)}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();function lt(o,i){o.get(Ye).load(ro);let e=o.get(qt),t=o.get(P),n=o.get(ge),s=o.get(Ue),r=o.get(le),a=t.createElement("div"),c=t.createElement("div");c.id=n.getId("cdk-overlay-"),c.classList.add("cdk-overlay-pane"),a.appendChild(c),e.getContainerElement().appendChild(a);let d=new $t(c,s,o),l=new Re(i),u=o.get(Fe,null,{optional:!0})||o.get(ae).createRenderer(null,null);return l.direction=l.direction||r.value,new Ke(d,a,c,l,o.get(U),o.get(oo),t,o.get(In),o.get(so),i?.disableAnimations??o.get(It,null,{optional:!0})==="NoopAnimations",o.get(xe),u)}var co=(()=>{class o{scrollStrategies=h(io);_positionBuilder=h(ao);_injector=h(E);constructor(){}create(e){return lt(this._injector,e)}position(){return this._positionBuilder}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})(),os=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],lo=new A("cdk-connected-overlay-scroll-strategy",{providedIn:"root",factory:()=>{let o=h(E);return()=>Qt(o)}}),Ei=(()=>{class o{elementRef=h(k);constructor(){}static \u0275fac=function(t){return new(t||o)};static \u0275dir=F({type:o,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]})}return o})(),ss=(()=>{class o{_dir=h(le,{optional:!0});_injector=h(E);_overlayRef;_templatePortal;_backdropSubscription=Q.EMPTY;_attachSubscription=Q.EMPTY;_detachSubscription=Q.EMPTY;_positionSubscription=Q.EMPTY;_offsetX;_offsetY;_position;_scrollStrategyFactory=h(lo);_disposeOnNavigation=!1;_ngZone=h(U);origin;positions;positionStrategy;get offsetX(){return this._offsetX}set offsetX(e){this._offsetX=e,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(e){this._offsetY=e,this._position&&this._updatePositionStrategy(this._position)}width;height;minWidth;minHeight;backdropClass;panelClass;viewportMargin=0;scrollStrategy;open=!1;disableClose=!1;transformOriginSelector;hasBackdrop=!1;lockPosition=!1;flexibleDimensions=!1;growAfterOpen=!1;push=!1;get disposeOnNavigation(){return this._disposeOnNavigation}set disposeOnNavigation(e){this._disposeOnNavigation=e}backdropClick=new B;positionChange=new B;attach=new B;detach=new B;overlayKeydown=new B;overlayOutsideClick=new B;constructor(){let e=h(be),t=h(Le);this._templatePortal=new we(e,t),this.scrollStrategy=this._scrollStrategyFactory()}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef?.dispose()}ngOnChanges(e){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef?.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),e.origin&&this.open&&this._position.apply()),e.open&&(this.open?this.attachOverlay():this.detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=os);let e=this._overlayRef=lt(this._injector,this._buildConfig());this._attachSubscription=e.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=e.detachments().subscribe(()=>this.detach.emit()),e.keydownEvents().subscribe(t=>{this.overlayKeydown.next(t),t.keyCode===27&&!this.disableClose&&!me(t)&&(t.preventDefault(),this.detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(t=>{let n=this._getOriginElement(),s=ie(t);(!n||n!==s&&!n.contains(s))&&this.overlayOutsideClick.next(t)})}_buildConfig(){let e=this._position=this.positionStrategy||this._createPositionStrategy(),t=new Re({direction:this._dir||"ltr",positionStrategy:e,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop,disposeOnNavigation:this.disposeOnNavigation});return(this.width||this.width===0)&&(t.width=this.width),(this.height||this.height===0)&&(t.height=this.height),(this.minWidth||this.minWidth===0)&&(t.minWidth=this.minWidth),(this.minHeight||this.minHeight===0)&&(t.minHeight=this.minHeight),this.backdropClass&&(t.backdropClass=this.backdropClass),this.panelClass&&(t.panelClass=this.panelClass),t}_updatePositionStrategy(e){let t=this.positions.map(n=>({originX:n.originX,originY:n.originY,overlayX:n.overlayX,overlayY:n.overlayY,offsetX:n.offsetX||this.offsetX,offsetY:n.offsetY||this.offsetY,panelClass:n.panelClass||void 0}));return e.setOrigin(this._getOrigin()).withPositions(t).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){let e=wi(this._injector,this._getOrigin());return this._updatePositionStrategy(e),e}_getOrigin(){return this.origin instanceof Ei?this.origin.elementRef:this.origin}_getOriginElement(){return this.origin instanceof Ei?this.origin.elementRef.nativeElement:this.origin instanceof k?this.origin.nativeElement:typeof Element<"u"&&this.origin instanceof Element?this.origin:null}attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(e=>{this.backdropClick.emit(e)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(nn(()=>this.positionChange.observers.length>0)).subscribe(e=>{this._ngZone.run(()=>this.positionChange.emit(e)),this.positionChange.observers.length===0&&this._positionSubscription.unsubscribe()})),this.open=!0}detachOverlay(){this._overlayRef?.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.open=!1}static \u0275fac=function(t){return new(t||o)};static \u0275dir=F({type:o,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{origin:[0,"cdkConnectedOverlayOrigin","origin"],positions:[0,"cdkConnectedOverlayPositions","positions"],positionStrategy:[0,"cdkConnectedOverlayPositionStrategy","positionStrategy"],offsetX:[0,"cdkConnectedOverlayOffsetX","offsetX"],offsetY:[0,"cdkConnectedOverlayOffsetY","offsetY"],width:[0,"cdkConnectedOverlayWidth","width"],height:[0,"cdkConnectedOverlayHeight","height"],minWidth:[0,"cdkConnectedOverlayMinWidth","minWidth"],minHeight:[0,"cdkConnectedOverlayMinHeight","minHeight"],backdropClass:[0,"cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:[0,"cdkConnectedOverlayPanelClass","panelClass"],viewportMargin:[0,"cdkConnectedOverlayViewportMargin","viewportMargin"],scrollStrategy:[0,"cdkConnectedOverlayScrollStrategy","scrollStrategy"],open:[0,"cdkConnectedOverlayOpen","open"],disableClose:[0,"cdkConnectedOverlayDisableClose","disableClose"],transformOriginSelector:[0,"cdkConnectedOverlayTransformOriginOn","transformOriginSelector"],hasBackdrop:[2,"cdkConnectedOverlayHasBackdrop","hasBackdrop",ee],lockPosition:[2,"cdkConnectedOverlayLockPosition","lockPosition",ee],flexibleDimensions:[2,"cdkConnectedOverlayFlexibleDimensions","flexibleDimensions",ee],growAfterOpen:[2,"cdkConnectedOverlayGrowAfterOpen","growAfterOpen",ee],push:[2,"cdkConnectedOverlayPush","push",ee],disposeOnNavigation:[2,"cdkConnectedOverlayDisposeOnNavigation","disposeOnNavigation",ee]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[se]})}return o})();function rs(o){let i=h(E);return()=>Qt(i)}var as={provide:lo,useFactory:rs},dt=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=N({type:o});static \u0275inj=L({providers:[co,as],imports:[pe,Ae,_i,_i]})}return o})();function Ai(o){return o.buttons===0||o.detail===0}function ki(o){let i=o.touches&&o.touches[0]||o.changedTouches&&o.changedTouches[0];return!!i&&i.identifier===-1&&(i.radiusX==null||i.radiusX===1)&&(i.radiusY==null||i.radiusY===1)}var ht;function cs(){if(ht==null&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>ht=!0}))}finally{ht=ht||!1}return ht}function ho(o){return cs()?o:!!o.capture}var uo=new A("cdk-input-modality-detector-options"),fo={ignoreKeys:[18,17,224,91,16]},po=650,Ri={passive:!0,capture:!0},go=(()=>{class o{_platform=h(H);_listenerCleanups;modalityDetected;modalityChanged;get mostRecentModality(){return this._modality.value}_mostRecentTarget=null;_modality=new b(null);_options;_lastTouchMs=0;_onKeydown=e=>{this._options?.ignoreKeys?.some(t=>t===e.keyCode)||(this._modality.next("keyboard"),this._mostRecentTarget=ie(e))};_onMousedown=e=>{Date.now()-this._lastTouchMs<po||(this._modality.next(Ai(e)?"keyboard":"mouse"),this._mostRecentTarget=ie(e))};_onTouchstart=e=>{if(ki(e)){this._modality.next("keyboard");return}this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=ie(e)};constructor(){let e=h(U),t=h(P),n=h(uo,{optional:!0});if(this._options=p(p({},fo),n),this.modalityDetected=this._modality.pipe(tn(1)),this.modalityChanged=this.modalityDetected.pipe(oe()),this._platform.isBrowser){let s=h(ae).createRenderer(null,null);this._listenerCleanups=e.runOutsideAngular(()=>[s.listen(t,"keydown",this._onKeydown,Ri),s.listen(t,"mousedown",this._onMousedown,Ri),s.listen(t,"touchstart",this._onTouchstart,Ri)])}}ngOnDestroy(){this._modality.complete(),this._listenerCleanups?.forEach(e=>e())}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})(),ut=(function(o){return o[o.IMMEDIATE=0]="IMMEDIATE",o[o.EVENTUAL=1]="EVENTUAL",o})(ut||{}),mo=new A("cdk-focus-monitor-default-options"),Jt=ho({passive:!0,capture:!0}),Ti=(()=>{class o{_ngZone=h(U);_platform=h(H);_inputModalityDetector=h(go);_origin=null;_lastFocusOrigin;_windowFocused=!1;_windowFocusTimeoutId;_originTimeoutId;_originFromTouchInteraction=!1;_elementInfo=new Map;_monitoredElementCount=0;_rootNodeFocusListenerCount=new Map;_detectionMode;_windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)};_document=h(P);_stopInputModalityDetector=new _;constructor(){let e=h(mo,{optional:!0});this._detectionMode=e?.detectionMode||ut.IMMEDIATE}_rootNodeFocusAndBlurListener=e=>{let t=ie(e);for(let n=t;n;n=n.parentElement)e.type==="focus"?this._onFocus(e,n):this._onBlur(e,n)};monitor(e,t=!1){let n=De(e);if(!this._platform.isBrowser||n.nodeType!==1)return g();let s=Yn(n)||this._document,r=this._elementInfo.get(n);if(r)return t&&(r.checkChildren=!0),r.subject;let a={checkChildren:t,subject:new _,rootNode:s};return this._elementInfo.set(n,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(e){let t=De(e),n=this._elementInfo.get(t);n&&(n.subject.complete(),this._setClasses(t),this._elementInfo.delete(t),this._removeGlobalListeners(n))}focusVia(e,t,n){let s=De(e),r=this._document.activeElement;s===r?this._getClosestElementsInfo(s).forEach(([a,c])=>this._originChanged(a,t,c)):(this._setOrigin(t),typeof s.focus=="function"&&s.focus(n))}ngOnDestroy(){this._elementInfo.forEach((e,t)=>this.stopMonitoring(t))}_getWindow(){return this._document.defaultView||window}_getFocusOrigin(e){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(e)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:e&&this._isLastInteractionFromInputLabel(e)?"mouse":"program"}_shouldBeAttributedToTouch(e){return this._detectionMode===ut.EVENTUAL||!!e?.contains(this._inputModalityDetector._mostRecentTarget)}_setClasses(e,t){e.classList.toggle("cdk-focused",!!t),e.classList.toggle("cdk-touch-focused",t==="touch"),e.classList.toggle("cdk-keyboard-focused",t==="keyboard"),e.classList.toggle("cdk-mouse-focused",t==="mouse"),e.classList.toggle("cdk-program-focused",t==="program")}_setOrigin(e,t=!1){this._ngZone.runOutsideAngular(()=>{if(this._origin=e,this._originFromTouchInteraction=e==="touch"&&t,this._detectionMode===ut.IMMEDIATE){clearTimeout(this._originTimeoutId);let n=this._originFromTouchInteraction?po:1;this._originTimeoutId=setTimeout(()=>this._origin=null,n)}})}_onFocus(e,t){let n=this._elementInfo.get(t),s=ie(e);!n||!n.checkChildren&&t!==s||this._originChanged(t,this._getFocusOrigin(s),n)}_onBlur(e,t){let n=this._elementInfo.get(t);!n||n.checkChildren&&e.relatedTarget instanceof Node&&t.contains(e.relatedTarget)||(this._setClasses(t),this._emitOrigin(n,null))}_emitOrigin(e,t){e.subject.observers.length&&this._ngZone.run(()=>e.subject.next(t))}_registerGlobalListeners(e){if(!this._platform.isBrowser)return;let t=e.rootNode,n=this._rootNodeFocusListenerCount.get(t)||0;n||this._ngZone.runOutsideAngular(()=>{t.addEventListener("focus",this._rootNodeFocusAndBlurListener,Jt),t.addEventListener("blur",this._rootNodeFocusAndBlurListener,Jt)}),this._rootNodeFocusListenerCount.set(t,n+1),++this._monitoredElementCount===1&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(he(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(e){let t=e.rootNode;if(this._rootNodeFocusListenerCount.has(t)){let n=this._rootNodeFocusListenerCount.get(t);n>1?this._rootNodeFocusListenerCount.set(t,n-1):(t.removeEventListener("focus",this._rootNodeFocusAndBlurListener,Jt),t.removeEventListener("blur",this._rootNodeFocusAndBlurListener,Jt),this._rootNodeFocusListenerCount.delete(t))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(e,t,n){this._setClasses(e,t),this._emitOrigin(n,t),this._lastFocusOrigin=t}_getClosestElementsInfo(e){let t=[];return this._elementInfo.forEach((n,s)=>{(s===e||n.checkChildren&&s.contains(e))&&t.push([s,n])}),t}_isLastInteractionFromInputLabel(e){let{_mostRecentTarget:t,mostRecentModality:n}=this._inputModalityDetector;if(n!=="mouse"||!t||t===e||e.nodeName!=="INPUT"&&e.nodeName!=="TEXTAREA"||e.disabled)return!1;let s=e.labels;if(s){for(let r=0;r<s.length;r++)if(s[r].contains(t))return!0}return!1}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();var _o=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275cmp=W({type:o,selectors:[["ng-component"]],exportAs:["cdkVisuallyHidden"],decls:0,vars:0,template:function(t,n){},styles:[`.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}
4
4
  `],encapsulation:2,changeDetection:0})}return o})();var ls=(()=>{class o{create(e){return typeof MutationObserver>"u"?null:new MutationObserver(e)}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();var vo=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=N({type:o});static \u0275inj=L({providers:[ls]})}return o})();var Pi=(()=>{class o{_platform=h(H);constructor(){}isDisabled(e){return e.hasAttribute("disabled")}isVisible(e){return hs(e)&&getComputedStyle(e).visibility==="visible"}isTabbable(e){if(!this._platform.isBrowser)return!1;let t=ds(ys(e));if(t&&(yo(t)===-1||!this.isVisible(t)))return!1;let n=e.nodeName.toLowerCase(),s=yo(e);return e.hasAttribute("contenteditable")?s!==-1:n==="iframe"||n==="object"||this._platform.WEBKIT&&this._platform.IOS&&!_s(e)?!1:n==="audio"?e.hasAttribute("controls")?s!==-1:!1:n==="video"?s===-1?!1:s!==null?!0:this._platform.FIREFOX||e.hasAttribute("controls"):e.tabIndex>=0}isFocusable(e,t){return vs(e)&&!this.isDisabled(e)&&(t?.ignoreVisibility||this.isVisible(e))}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();function ds(o){try{return o.frameElement}catch{return null}}function hs(o){return!!(o.offsetWidth||o.offsetHeight||typeof o.getClientRects=="function"&&o.getClientRects().length)}function us(o){let i=o.nodeName.toLowerCase();return i==="input"||i==="select"||i==="button"||i==="textarea"}function fs(o){return gs(o)&&o.type=="hidden"}function ps(o){return ms(o)&&o.hasAttribute("href")}function gs(o){return o.nodeName.toLowerCase()=="input"}function ms(o){return o.nodeName.toLowerCase()=="a"}function So(o){if(!o.hasAttribute("tabindex")||o.tabIndex===void 0)return!1;let i=o.getAttribute("tabindex");return!!(i&&!isNaN(parseInt(i,10)))}function yo(o){if(!So(o))return null;let i=parseInt(o.getAttribute("tabindex")||"",10);return isNaN(i)?-1:i}function _s(o){let i=o.nodeName.toLowerCase(),e=i==="input"&&o.type;return e==="text"||e==="password"||i==="select"||i==="textarea"}function vs(o){return fs(o)?!1:us(o)||ps(o)||o.hasAttribute("contenteditable")||So(o)}function ys(o){return o.ownerDocument&&o.ownerDocument.defaultView||window}var xi=class{_element;_checker;_ngZone;_document;_injector;_startAnchor;_endAnchor;_hasAttached=!1;startAnchorListener=()=>this.focusLastTabbableElement();endAnchorListener=()=>this.focusFirstTabbableElement();get enabled(){return this._enabled}set enabled(i){this._enabled=i,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(i,this._startAnchor),this._toggleAnchorTabIndex(i,this._endAnchor))}_enabled=!0;constructor(i,e,t,n,s=!1,r){this._element=i,this._checker=e,this._ngZone=t,this._document=n,this._injector=r,s||this.attachAnchors()}destroy(){let i=this._startAnchor,e=this._endAnchor;i&&(i.removeEventListener("focus",this.startAnchorListener),i.remove()),e&&(e.removeEventListener("focus",this.endAnchorListener),e.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return this._hasAttached?!0:(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(i){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(i)))})}focusFirstTabbableElementWhenReady(i){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(i)))})}focusLastTabbableElementWhenReady(i){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(i)))})}_getRegionBoundary(i){let e=this._element.querySelectorAll(`[cdk-focus-region-${i}], [cdkFocusRegion${i}], [cdk-focus-${i}]`);return i=="start"?e.length?e[0]:this._getFirstTabbableElement(this._element):e.length?e[e.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(i){let e=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(e){if(!this._checker.isFocusable(e)){let t=this._getFirstTabbableElement(e);return t?.focus(i),!!t}return e.focus(i),!0}return this.focusFirstTabbableElement(i)}focusFirstTabbableElement(i){let e=this._getRegionBoundary("start");return e&&e.focus(i),!!e}focusLastTabbableElement(i){let e=this._getRegionBoundary("end");return e&&e.focus(i),!!e}hasAttached(){return this._hasAttached}_getFirstTabbableElement(i){if(this._checker.isFocusable(i)&&this._checker.isTabbable(i))return i;let e=i.children;for(let t=0;t<e.length;t++){let n=e[t].nodeType===this._document.ELEMENT_NODE?this._getFirstTabbableElement(e[t]):null;if(n)return n}return null}_getLastTabbableElement(i){if(this._checker.isFocusable(i)&&this._checker.isTabbable(i))return i;let e=i.children;for(let t=e.length-1;t>=0;t--){let n=e[t].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[t]):null;if(n)return n}return null}_createAnchor(){let i=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,i),i.classList.add("cdk-visually-hidden"),i.classList.add("cdk-focus-trap-anchor"),i.setAttribute("aria-hidden","true"),i}_toggleAnchorTabIndex(i,e){i?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(i){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(i,this._startAnchor),this._toggleAnchorTabIndex(i,this._endAnchor))}_executeOnStable(i){this._injector?re(i,{injector:this._injector}):setTimeout(i)}},Fi=(()=>{class o{_checker=h(Pi);_ngZone=h(U);_document=h(P);_injector=h(E);constructor(){h(Ye).load(_o)}create(e,t=!1){return new xi(e,this._checker,this._ngZone,this._document,t,this._injector)}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();var _e=(function(o){return o[o.NONE=0]="NONE",o[o.BLACK_ON_WHITE=1]="BLACK_ON_WHITE",o[o.WHITE_ON_BLACK=2]="WHITE_ON_BLACK",o})(_e||{}),Co="cdk-high-contrast-black-on-white",bo="cdk-high-contrast-white-on-black",Mi="cdk-high-contrast-active",ei=(()=>{class o{_platform=h(H);_hasCheckedHighContrastMode;_document=h(P);_breakpointSubscription;constructor(){this._breakpointSubscription=h(En).observe("(forced-colors: active)").subscribe(()=>{this._hasCheckedHighContrastMode&&(this._hasCheckedHighContrastMode=!1,this._applyBodyHighContrastModeCssClasses())})}getHighContrastMode(){if(!this._platform.isBrowser)return _e.NONE;let e=this._document.createElement("div");e.style.backgroundColor="rgb(1,2,3)",e.style.position="absolute",this._document.body.appendChild(e);let t=this._document.defaultView||window,n=t&&t.getComputedStyle?t.getComputedStyle(e):null,s=(n&&n.backgroundColor||"").replace(/ /g,"");switch(e.remove(),s){case"rgb(0,0,0)":case"rgb(45,50,54)":case"rgb(32,32,32)":return _e.WHITE_ON_BLACK;case"rgb(255,255,255)":case"rgb(255,250,239)":return _e.BLACK_ON_WHITE}return _e.NONE}ngOnDestroy(){this._breakpointSubscription.unsubscribe()}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){let e=this._document.body.classList;e.remove(Mi,Co,bo),this._hasCheckedHighContrastMode=!0;let t=this.getHighContrastMode();t===_e.BLACK_ON_WHITE?e.add(Mi,Co):t===_e.WHITE_ON_BLACK&&e.add(Mi,bo)}}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})(),Li=(()=>{class o{constructor(){h(ei)._applyBodyHighContrastModeCssClasses()}static \u0275fac=function(t){return new(t||o)};static \u0275mod=N({type:o});static \u0275inj=L({imports:[vo]})}return o})();function Cs(o,i){}var ve=class{viewContainerRef;injector;id;role="dialog";panelClass="";hasBackdrop=!0;backdropClass="";disableClose=!1;closePredicate;width="";height="";minWidth;minHeight;maxWidth;maxHeight;positionStrategy;data=null;direction;ariaDescribedBy=null;ariaLabelledBy=null;ariaLabel=null;ariaModal=!1;autoFocus="first-tabbable";restoreFocus=!0;scrollStrategy;closeOnNavigation=!0;closeOnDestroy=!0;closeOnOverlayDetachments=!0;disableAnimations=!1;providers;container;templateContext};var Ni=(()=>{class o extends We{_elementRef=h(k);_focusTrapFactory=h(Fi);_config;_interactivityChecker=h(Pi);_ngZone=h(U);_focusMonitor=h(Ti);_renderer=h(Fe);_changeDetectorRef=h(Be);_injector=h(E);_platform=h(H);_document=h(P);_portalOutlet;_focusTrapped=new _;_focusTrap=null;_elementFocusedBeforeDialogWasOpened=null;_closeInteractionType=null;_ariaLabelledByQueue=[];_isDestroyed=!1;constructor(){super(),this._config=h(ve,{optional:!0})||new ve,this._config.ariaLabelledBy&&this._ariaLabelledByQueue.push(this._config.ariaLabelledBy)}_addAriaLabelledBy(e){this._ariaLabelledByQueue.push(e),this._changeDetectorRef.markForCheck()}_removeAriaLabelledBy(e){let t=this._ariaLabelledByQueue.indexOf(e);t>-1&&(this._ariaLabelledByQueue.splice(t,1),this._changeDetectorRef.markForCheck())}_contentAttached(){this._initializeFocusTrap(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._focusTrapped.complete(),this._isDestroyed=!0,this._restoreFocus()}attachComponentPortal(e){this._portalOutlet.hasAttached();let t=this._portalOutlet.attachComponentPortal(e);return this._contentAttached(),t}attachTemplatePortal(e){this._portalOutlet.hasAttached();let t=this._portalOutlet.attachTemplatePortal(e);return this._contentAttached(),t}attachDomPortal=e=>{this._portalOutlet.hasAttached();let t=this._portalOutlet.attachDomPortal(e);return this._contentAttached(),t};_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(e,t){this._interactivityChecker.isFocusable(e)||(e.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let n=()=>{s(),r(),e.removeAttribute("tabindex")},s=this._renderer.listen(e,"blur",n),r=this._renderer.listen(e,"mousedown",n)})),e.focus(t)}_focusByCssSelector(e,t){let n=this._elementRef.nativeElement.querySelector(e);n&&this._forceFocus(n,t)}_trapFocus(e){this._isDestroyed||re(()=>{let t=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||t.focus(e);break;case!0:case"first-tabbable":this._focusTrap?.focusInitialElement(e)||this._focusDialogContainer(e);break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]',e);break;default:this._focusByCssSelector(this._config.autoFocus,e);break}this._focusTrapped.next()},{injector:this._injector})}_restoreFocus(){let e=this._config.restoreFocus,t=null;if(typeof e=="string"?t=this._document.querySelector(e):typeof e=="boolean"?t=e?this._elementFocusedBeforeDialogWasOpened:null:e&&(t=e),this._config.restoreFocus&&t&&typeof t.focus=="function"){let n=Vt(),s=this._elementRef.nativeElement;(!n||n===this._document.body||n===s||s.contains(n))&&(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(e){this._elementRef.nativeElement.focus?.(e)}_containsFocus(){let e=this._elementRef.nativeElement,t=Vt();return e===t||e.contains(t)}_initializeFocusTrap(){this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=Vt()))}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=W({type:o,selectors:[["cdk-dialog-container"]],viewQuery:function(t,n){if(t&1&&Et(at,7),t&2){let s;Ot(s=wt())&&(n._portalOutlet=s.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(t,n){t&2&&fe("id",n._config.id||null)("role",n._config.role)("aria-modal",n._config.ariaModal)("aria-labelledby",n._config.ariaLabel?null:n._ariaLabelledByQueue[0])("aria-label",n._config.ariaLabel)("aria-describedby",n._config.ariaDescribedBy||null)},features:[Y],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(t,n){t&1&&Dt(0,Cs,0,0,"ng-template",0)},dependencies:[at],styles:[`.cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}
5
5
  `],encapsulation:2})}return o})(),ft=class{overlayRef;config;componentInstance;componentRef;containerInstance;disableClose;closed=new _;backdropClick;keydownEvents;outsidePointerEvents;id;_detachSubscription;constructor(i,e){this.overlayRef=i,this.config=e,this.disableClose=e.disableClose,this.backdropClick=i.backdropClick(),this.keydownEvents=i.keydownEvents(),this.outsidePointerEvents=i.outsidePointerEvents(),this.id=e.id,this.keydownEvents.subscribe(t=>{t.keyCode===27&&!this.disableClose&&!me(t)&&(t.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{!this.disableClose&&this._canClose()?this.close(void 0,{focusOrigin:"mouse"}):this.containerInstance._recaptureFocus?.()}),this._detachSubscription=i.detachments().subscribe(()=>{e.closeOnOverlayDetachments!==!1&&this.close()})}close(i,e){if(this._canClose(i)){let t=this.closed;this.containerInstance._closeInteractionType=e?.focusOrigin||"program",this._detachSubscription.unsubscribe(),this.overlayRef.dispose(),t.next(i),t.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(i="",e=""){return this.overlayRef.updateSize({width:i,height:e}),this}addPanelClass(i){return this.overlayRef.addPanelClass(i),this}removePanelClass(i){return this.overlayRef.removePanelClass(i),this}_canClose(i){let e=this.config;return!!this.containerInstance&&(!e.closePredicate||e.closePredicate(i,e,this.componentInstance))}},bs=new A("DialogScrollStrategy",{providedIn:"root",factory:()=>{let o=h(E);return()=>Xe(o)}}),Ss=new A("DialogData"),Is=new A("DefaultDialogConfig");function Ds(o){let i=V(o),e=new B;return{valueSignal:i,get value(){return i()},change:e,ngOnDestroy(){e.complete()}}}var zi=(()=>{class o{_injector=h(E);_defaultOptions=h(Is,{optional:!0});_parentDialog=h(o,{optional:!0,skipSelf:!0});_overlayContainer=h(qt);_idGenerator=h(ge);_openDialogsAtThisLevel=[];_afterAllClosedAtThisLevel=new _;_afterOpenedAtThisLevel=new _;_ariaHiddenElements=new Map;_scrollStrategy=h(bs);get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}afterAllClosed=yt(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Ce(void 0)));constructor(){}open(e,t){let n=this._defaultOptions||new ve;t=p(p({},n),t),t.id=t.id||this._idGenerator.getId("cdk-dialog-"),t.id&&this.getDialogById(t.id);let s=this._getOverlayConfig(t),r=lt(this._injector,s),a=new ft(r,t),c=this._attachContainer(r,a,t);if(a.containerInstance=c,!this.openDialogs.length){let d=this._overlayContainer.getContainerElement();c._focusTrapped?c._focusTrapped.pipe(ne(1)).subscribe(()=>{this._hideNonDialogContentFromAssistiveTechnology(d)}):this._hideNonDialogContentFromAssistiveTechnology(d)}return this._attachDialogContent(e,a,c,t),this.openDialogs.push(a),a.closed.subscribe(()=>this._removeOpenDialog(a,!0)),this.afterOpened.next(a),a}closeAll(){Ui(this.openDialogs,e=>e.close())}getDialogById(e){return this.openDialogs.find(t=>t.id===e)}ngOnDestroy(){Ui(this._openDialogsAtThisLevel,e=>{e.config.closeOnDestroy===!1&&this._removeOpenDialog(e,!1)}),Ui(this._openDialogsAtThisLevel,e=>e.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(e){let t=new Re({positionStrategy:e.positionStrategy||Ze().centerHorizontally().centerVertically(),scrollStrategy:e.scrollStrategy||this._scrollStrategy(),panelClass:e.panelClass,hasBackdrop:e.hasBackdrop,direction:e.direction,minWidth:e.minWidth,minHeight:e.minHeight,maxWidth:e.maxWidth,maxHeight:e.maxHeight,width:e.width,height:e.height,disposeOnNavigation:e.closeOnNavigation,disableAnimations:e.disableAnimations});return e.backdropClass&&(t.backdropClass=e.backdropClass),t}_attachContainer(e,t,n){let s=n.injector||n.viewContainerRef?.injector,r=[{provide:ve,useValue:n},{provide:ft,useValue:t},{provide:Ke,useValue:e}],a;n.container?typeof n.container=="function"?a=n.container:(a=n.container.type,r.push(...n.container.providers(n))):a=Ni;let c=new Ge(a,n.viewContainerRef,E.create({parent:s||this._injector,providers:r}));return e.attach(c).instance}_attachDialogContent(e,t,n,s){if(e instanceof be){let r=this._createInjector(s,t,n,void 0),a={$implicit:s.data,dialogRef:t};s.templateContext&&(a=p(p({},a),typeof s.templateContext=="function"?s.templateContext():s.templateContext)),n.attachTemplatePortal(new we(e,null,a,r))}else{let r=this._createInjector(s,t,n,this._injector),a=n.attachComponentPortal(new Ge(e,s.viewContainerRef,r));t.componentRef=a,t.componentInstance=a.instance}}_createInjector(e,t,n,s){let r=e.injector||e.viewContainerRef?.injector,a=[{provide:Ss,useValue:e.data},{provide:ft,useValue:t}];return e.providers&&(typeof e.providers=="function"?a.push(...e.providers(t,e,n)):a.push(...e.providers)),e.direction&&(!r||!r.get(le,null,{optional:!0}))&&a.push({provide:le,useValue:Ds(e.direction)}),E.create({parent:r||s,providers:a})}_removeOpenDialog(e,t){let n=this.openDialogs.indexOf(e);n>-1&&(this.openDialogs.splice(n,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((s,r)=>{s?r.setAttribute("aria-hidden",s):r.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),t&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(e){if(e.parentElement){let t=e.parentElement.children;for(let n=t.length-1;n>-1;n--){let s=t[n];s!==e&&s.nodeName!=="SCRIPT"&&s.nodeName!=="STYLE"&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_getAfterAllClosed(){let e=this._parentDialog;return e?e._getAfterAllClosed():this._afterAllClosedAtThisLevel}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();function Ui(o,i){let e=o.length;for(;e--;)i(o[e])}var Io=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=N({type:o});static \u0275inj=L({providers:[zi],imports:[dt,Ae,Li,Ae]})}return o})();var Es=new A("MATERIAL_ANIMATIONS");var Do=null;function Os(){return h(Es,{optional:!0})?.animationsDisabled||h(It,{optional:!0})==="NoopAnimations"?"di-disabled":(Do??=h(Dn).matchMedia("(prefers-reduced-motion)").matches,Do?"reduced-motion":"enabled")}function Bi(){return Os()!=="enabled"}var ws=200,ti=class{_letterKeyStream=new _;_items=[];_selectedItemIndex=-1;_pressedLetters=[];_skipPredicateFn;_selectedItem=new _;selectedItem=this._selectedItem;constructor(i,e){let t=typeof e?.debounceInterval=="number"?e.debounceInterval:ws;e?.skipPredicate&&(this._skipPredicateFn=e.skipPredicate),this.setItems(i),this._setupKeyHandler(t)}destroy(){this._pressedLetters=[],this._letterKeyStream.complete(),this._selectedItem.complete()}setCurrentSelectedItemIndex(i){this._selectedItemIndex=i}setItems(i){this._items=i}handleKey(i){let e=i.keyCode;i.key&&i.key.length===1?this._letterKeyStream.next(i.key.toLocaleUpperCase()):(e>=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e))}isTyping(){return this._pressedLetters.length>0}reset(){this._pressedLetters=[]}_setupKeyHandler(i){this._letterKeyStream.pipe(J(e=>this._pressedLetters.push(e)),St(i),D(()=>this._pressedLetters.length>0),C(()=>this._pressedLetters.join("").toLocaleUpperCase())).subscribe(e=>{for(let t=1;t<this._items.length+1;t++){let n=(this._selectedItemIndex+t)%this._items.length,s=this._items[n];if(!this._skipPredicateFn?.(s)&&s.getLabel?.().toLocaleUpperCase().trim().indexOf(e)===0){this._selectedItem.next(s);break}}this._pressedLetters=[]})}};var Qe=class{_items;_activeItemIndex=V(-1);_activeItem=V(null);_wrap=!1;_typeaheadSubscription=Q.EMPTY;_itemChangesSubscription;_vertical=!0;_horizontal;_allowedModifierKeys=[];_homeAndEnd=!1;_pageUpAndDown={enabled:!1,delta:10};_effectRef;_typeahead;_skipPredicateFn=i=>i.disabled;constructor(i,e){this._items=i,i instanceof ci?this._itemChangesSubscription=i.changes.subscribe(t=>this._itemsChanged(t.toArray())):Pe(i)&&(this._effectRef=ze(()=>this._itemsChanged(i()),{injector:e}))}tabOut=new _;change=new _;skipPredicate(i){return this._skipPredicateFn=i,this}withWrap(i=!0){return this._wrap=i,this}withVerticalOrientation(i=!0){return this._vertical=i,this}withHorizontalOrientation(i){return this._horizontal=i,this}withAllowedModifierKeys(i){return this._allowedModifierKeys=i,this}withTypeAhead(i=200){this._typeaheadSubscription.unsubscribe();let e=this._getItemsArray();return this._typeahead=new ti(e,{debounceInterval:typeof i=="number"?i:void 0,skipPredicate:t=>this._skipPredicateFn(t)}),this._typeaheadSubscription=this._typeahead.selectedItem.subscribe(t=>{this.setActiveItem(t)}),this}cancelTypeahead(){return this._typeahead?.reset(),this}withHomeAndEnd(i=!0){return this._homeAndEnd=i,this}withPageUpDown(i=!0,e=10){return this._pageUpAndDown={enabled:i,delta:e},this}setActiveItem(i){let e=this._activeItem();this.updateActiveItem(i),this._activeItem()!==e&&this.change.next(this._activeItemIndex())}onKeydown(i){let e=i.keyCode,n=["altKey","ctrlKey","metaKey","shiftKey"].every(s=>!i[s]||this._allowedModifierKeys.indexOf(s)>-1);switch(e){case 9:this.tabOut.next();return;case 40:if(this._vertical&&n){this.setNextItemActive();break}else return;case 38:if(this._vertical&&n){this.setPreviousItemActive();break}else return;case 39:if(this._horizontal&&n){this._horizontal==="rtl"?this.setPreviousItemActive():this.setNextItemActive();break}else return;case 37:if(this._horizontal&&n){this._horizontal==="rtl"?this.setNextItemActive():this.setPreviousItemActive();break}else return;case 36:if(this._homeAndEnd&&n){this.setFirstItemActive();break}else return;case 35:if(this._homeAndEnd&&n){this.setLastItemActive();break}else return;case 33:if(this._pageUpAndDown.enabled&&n){let s=this._activeItemIndex()-this._pageUpAndDown.delta;this._setActiveItemByIndex(s>0?s:0,1);break}else return;case 34:if(this._pageUpAndDown.enabled&&n){let s=this._activeItemIndex()+this._pageUpAndDown.delta,r=this._getItemsArray().length;this._setActiveItemByIndex(s<r?s:r-1,-1);break}else return;default:(n||me(i,"shiftKey"))&&this._typeahead?.handleKey(i);return}this._typeahead?.reset(),i.preventDefault()}get activeItemIndex(){return this._activeItemIndex()}get activeItem(){return this._activeItem()}isTyping(){return!!this._typeahead&&this._typeahead.isTyping()}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._getItemsArray().length-1,-1)}setNextItemActive(){this._activeItemIndex()<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex()<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(i){let e=this._getItemsArray(),t=typeof i=="number"?i:e.indexOf(i),n=e[t];this._activeItem.set(n??null),this._activeItemIndex.set(t),this._typeahead?.setCurrentSelectedItemIndex(t)}destroy(){this._typeaheadSubscription.unsubscribe(),this._itemChangesSubscription?.unsubscribe(),this._effectRef?.destroy(),this._typeahead?.destroy(),this.tabOut.complete(),this.change.complete()}_setActiveItemByDelta(i){this._wrap?this._setActiveInWrapMode(i):this._setActiveInDefaultMode(i)}_setActiveInWrapMode(i){let e=this._getItemsArray();for(let t=1;t<=e.length;t++){let n=(this._activeItemIndex()+i*t+e.length)%e.length,s=e[n];if(!this._skipPredicateFn(s)){this.setActiveItem(n);return}}}_setActiveInDefaultMode(i){this._setActiveItemByIndex(this._activeItemIndex()+i,i)}_setActiveItemByIndex(i,e){let t=this._getItemsArray();if(t[i]){for(;this._skipPredicateFn(t[i]);)if(i+=e,!t[i])return;this.setActiveItem(i)}}_getItemsArray(){return Pe(this._items)?this._items():this._items instanceof ci?this._items.toArray():this._items}_itemsChanged(i){this._typeahead?.setItems(i);let e=this._activeItem();if(e){let t=i.indexOf(e);t>-1&&t!==this._activeItemIndex()&&(this._activeItemIndex.set(t),this._typeahead?.setCurrentSelectedItemIndex(t))}}};var ji=class extends Qe{setActiveItem(i){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(i),this.activeItem&&this.activeItem.setActiveStyles()}};var $i=class extends Qe{_origin="program";setFocusOrigin(i){return this._origin=i,this}setActiveItem(i){super.setActiveItem(i),this.activeItem&&this.activeItem.focus(this._origin)}};var Eo=" ";function rl(o,i,e){let t=Oo(o,i);e=e.trim(),!t.some(n=>n.trim()===e)&&(t.push(e),o.setAttribute(i,t.join(Eo)))}function al(o,i,e){let t=Oo(o,i);e=e.trim();let n=t.filter(s=>s!==e);n.length?o.setAttribute(i,n.join(Eo)):o.removeAttribute(i)}function Oo(o,i){return o.getAttribute(i)?.match(/\S+/g)??[]}var Vi=(()=>{class o{constructor(){h(ei)._applyBodyHighContrastModeCssClasses()}static \u0275fac=function(t){return new(t||o)};static \u0275mod=N({type:o});static \u0275inj=L({imports:[pe,pe]})}return o})();function As(o,i){}var gt=class{viewContainerRef;injector;id;role="dialog";panelClass="";hasBackdrop=!0;backdropClass="";disableClose=!1;closePredicate;width="";height="";minWidth;minHeight;maxWidth;maxHeight;position;data=null;direction;ariaDescribedBy=null;ariaLabelledBy=null;ariaLabel=null;ariaModal=!1;autoFocus="first-tabbable";restoreFocus=!0;delayFocusTrap=!0;scrollStrategy;closeOnNavigation=!0;enterAnimationDuration;exitAnimationDuration},Hi="mdc-dialog--open",wo="mdc-dialog--opening",Ao="mdc-dialog--closing",ks=150,Rs=75,To=(()=>{class o extends Ni{_animationStateChanged=new B;_animationsEnabled=!Bi();_actionSectionCount=0;_hostElement=this._elementRef.nativeElement;_enterAnimationDuration=this._animationsEnabled?Ro(this._config.enterAnimationDuration)??ks:0;_exitAnimationDuration=this._animationsEnabled?Ro(this._config.exitAnimationDuration)??Rs:0;_animationTimer=null;_contentAttached(){super._contentAttached(),this._startOpenAnimation()}_startOpenAnimation(){this._animationStateChanged.emit({state:"opening",totalTime:this._enterAnimationDuration}),this._animationsEnabled?(this._hostElement.style.setProperty(ko,`${this._enterAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(wo,Hi)),this._waitForAnimationToComplete(this._enterAnimationDuration,this._finishDialogOpen)):(this._hostElement.classList.add(Hi),Promise.resolve().then(()=>this._finishDialogOpen()))}_startExitAnimation(){this._animationStateChanged.emit({state:"closing",totalTime:this._exitAnimationDuration}),this._hostElement.classList.remove(Hi),this._animationsEnabled?(this._hostElement.style.setProperty(ko,`${this._exitAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(Ao)),this._waitForAnimationToComplete(this._exitAnimationDuration,this._finishDialogClose)):Promise.resolve().then(()=>this._finishDialogClose())}_updateActionSectionCount(e){this._actionSectionCount+=e,this._changeDetectorRef.markForCheck()}_finishDialogOpen=()=>{this._clearAnimationClasses(),this._openAnimationDone(this._enterAnimationDuration)};_finishDialogClose=()=>{this._clearAnimationClasses(),this._animationStateChanged.emit({state:"closed",totalTime:this._exitAnimationDuration})};_clearAnimationClasses(){this._hostElement.classList.remove(wo,Ao)}_waitForAnimationToComplete(e,t){this._animationTimer!==null&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(t,e)}_requestAnimationFrame(e){this._ngZone.runOutsideAngular(()=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(e):e()})}_captureInitialFocus(){this._config.delayFocusTrap||this._trapFocus()}_openAnimationDone(e){this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:e})}ngOnDestroy(){super.ngOnDestroy(),this._animationTimer!==null&&clearTimeout(this._animationTimer)}attachComponentPortal(e){let t=super.attachComponentPortal(e);return t.location.nativeElement.classList.add("mat-mdc-dialog-component-host"),t}static \u0275fac=(()=>{let e;return function(n){return(e||(e=ue(o)))(n||o)}})();static \u0275cmp=W({type:o,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1",1,"mat-mdc-dialog-container","mdc-dialog"],hostVars:10,hostBindings:function(t,n){t&2&&(di("id",n._config.id),fe("aria-modal",n._config.ariaModal)("role",n._config.role)("aria-labelledby",n._config.ariaLabel?null:n._ariaLabelledByQueue[0])("aria-label",n._config.ariaLabel)("aria-describedby",n._config.ariaDescribedBy||null),et("_mat-animation-noopable",!n._animationsEnabled)("mat-mdc-dialog-container-with-actions",n._actionSectionCount>0))},features:[Y],decls:3,vars:0,consts:[[1,"mat-mdc-dialog-inner-container","mdc-dialog__container"],[1,"mat-mdc-dialog-surface","mdc-dialog__surface"],["cdkPortalOutlet",""]],template:function(t,n){t&1&&(un(0,"div",0)(1,"div",1),Dt(2,As,0,0,"ng-template",2),fn()())},dependencies:[at],styles:[`.mat-mdc-dialog-container{width:100%;height:100%;display:block;box-sizing:border-box;max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;outline:0}.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-max-width, 560px);min-width:var(--mat-dialog-container-min-width, 280px)}@media(max-width: 599px){.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-small-max-width, calc(100vw - 32px))}}.mat-mdc-dialog-inner-container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;opacity:0;transition:opacity linear var(--mat-dialog-transition-duration, 0ms);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit}.mdc-dialog--closing .mat-mdc-dialog-inner-container{transition:opacity 75ms linear;transform:none}.mdc-dialog--open .mat-mdc-dialog-inner-container{opacity:1}._mat-animation-noopable .mat-mdc-dialog-inner-container{transition:none}.mat-mdc-dialog-surface{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;width:100%;height:100%;position:relative;overflow-y:auto;outline:0;transform:scale(0.8);transition:transform var(--mat-dialog-transition-duration, 0ms) cubic-bezier(0, 0, 0.2, 1);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;box-shadow:var(--mat-dialog-container-elevation-shadow, none);border-radius:var(--mat-dialog-container-shape, var(--mat-sys-corner-extra-large, 4px));background-color:var(--mat-dialog-container-color, var(--mat-sys-surface, white))}[dir=rtl] .mat-mdc-dialog-surface{text-align:right}.mdc-dialog--open .mat-mdc-dialog-surface,.mdc-dialog--closing .mat-mdc-dialog-surface{transform:none}._mat-animation-noopable .mat-mdc-dialog-surface{transition:none}.mat-mdc-dialog-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:2px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mat-mdc-dialog-title{display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:var(--mat-dialog-headline-padding, 6px 24px 13px)}.mat-mdc-dialog-title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}[dir=rtl] .mat-mdc-dialog-title{text-align:right}.mat-mdc-dialog-container .mat-mdc-dialog-title{color:var(--mat-dialog-subhead-color, var(--mat-sys-on-surface, rgba(0, 0, 0, 0.87)));font-family:var(--mat-dialog-subhead-font, var(--mat-sys-headline-small-font, inherit));line-height:var(--mat-dialog-subhead-line-height, var(--mat-sys-headline-small-line-height, 1.5rem));font-size:var(--mat-dialog-subhead-size, var(--mat-sys-headline-small-size, 1rem));font-weight:var(--mat-dialog-subhead-weight, var(--mat-sys-headline-small-weight, 400));letter-spacing:var(--mat-dialog-subhead-tracking, var(--mat-sys-headline-small-tracking, 0.03125em))}.mat-mdc-dialog-content{display:block;flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;max-height:65vh}.mat-mdc-dialog-content>:first-child{margin-top:0}.mat-mdc-dialog-content>:last-child{margin-bottom:0}.mat-mdc-dialog-container .mat-mdc-dialog-content{color:var(--mat-dialog-supporting-text-color, var(--mat-sys-on-surface-variant, rgba(0, 0, 0, 0.6)));font-family:var(--mat-dialog-supporting-text-font, var(--mat-sys-body-medium-font, inherit));line-height:var(--mat-dialog-supporting-text-line-height, var(--mat-sys-body-medium-line-height, 1.5rem));font-size:var(--mat-dialog-supporting-text-size, var(--mat-sys-body-medium-size, 1rem));font-weight:var(--mat-dialog-supporting-text-weight, var(--mat-sys-body-medium-weight, 400));letter-spacing:var(--mat-dialog-supporting-text-tracking, var(--mat-sys-body-medium-tracking, 0.03125em))}.mat-mdc-dialog-container .mat-mdc-dialog-content{padding:var(--mat-dialog-content-padding, 20px 24px)}.mat-mdc-dialog-container-with-actions .mat-mdc-dialog-content{padding:var(--mat-dialog-with-actions-content-padding, 20px 24px 0)}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:0}.mat-mdc-dialog-actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;box-sizing:border-box;min-height:52px;margin:0;border-top:1px solid rgba(0,0,0,0);padding:var(--mat-dialog-actions-padding, 16px 24px);justify-content:var(--mat-dialog-actions-alignment, flex-end)}@media(forced-colors: active){.mat-mdc-dialog-actions{border-top-color:CanvasText}}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-start,.mat-mdc-dialog-actions[align=start]{justify-content:start}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-center,.mat-mdc-dialog-actions[align=center]{justify-content:center}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-end,.mat-mdc-dialog-actions[align=end]{justify-content:flex-end}.mat-mdc-dialog-actions .mat-button-base+.mat-button-base,.mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-mdc-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}.mat-mdc-dialog-component-host{display:contents}
6
- `],encapsulation:2})}return o})(),ko="--mat-dialog-transition-duration";function Ro(o){return o==null?null:typeof o=="number"?o:o.endsWith("ms")?ce(o.substring(0,o.length-2)):o.endsWith("s")?ce(o.substring(0,o.length-1))*1e3:o==="0"?0:null}var pt=(function(o){return o[o.OPEN=0]="OPEN",o[o.CLOSING=1]="CLOSING",o[o.CLOSED=2]="CLOSED",o})(pt||{}),qe=class{_ref;_config;_containerInstance;componentInstance;componentRef;disableClose;id;_afterOpened=new _;_beforeClosed=new _;_result;_closeFallbackTimeout;_state=pt.OPEN;_closeInteractionType;constructor(i,e,t){this._ref=i,this._config=e,this._containerInstance=t,this.disableClose=e.disableClose,this.id=i.id,i.addPanelClass("mat-mdc-dialog-panel"),t._animationStateChanged.pipe(D(n=>n.state==="opened"),ne(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(D(n=>n.state==="closed"),ne(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),i.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),Ct(this.backdropClick(),this.keydownEvents().pipe(D(n=>n.keyCode===27&&!this.disableClose&&!me(n)))).subscribe(n=>{this.disableClose||(n.preventDefault(),Gi(this,n.type==="keydown"?"keyboard":"mouse"))})}close(i){let e=this._config.closePredicate;e&&!e(i,this._config,this.componentInstance)||(this._result=i,this._containerInstance._animationStateChanged.pipe(D(t=>t.state==="closing"),ne(1)).subscribe(t=>{this._beforeClosed.next(i),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=pt.CLOSING,this._containerInstance._startExitAnimation())}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(i){let e=this._ref.config.positionStrategy;return i&&(i.left||i.right)?i.left?e.left(i.left):e.right(i.right):e.centerHorizontally(),i&&(i.top||i.bottom)?i.top?e.top(i.top):e.bottom(i.bottom):e.centerVertically(),this._ref.updatePosition(),this}updateSize(i="",e=""){return this._ref.updateSize(i,e),this}addPanelClass(i){return this._ref.addPanelClass(i),this}removePanelClass(i){return this._ref.removePanelClass(i),this}getState(){return this._state}_finishDialogClose(){this._state=pt.CLOSED,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}};function Gi(o,i,e){return o._closeInteractionType=i,o.close(e)}var Mo=new A("MatMdcDialogData"),xo=new A("mat-mdc-dialog-default-options"),Po=new A("mat-mdc-dialog-scroll-strategy",{providedIn:"root",factory:()=>{let o=h(E);return()=>Xe(o)}}),ii=(()=>{class o{_defaultOptions=h(xo,{optional:!0});_scrollStrategy=h(Po);_parentDialog=h(o,{optional:!0,skipSelf:!0});_idGenerator=h(ge);_injector=h(E);_dialog=h(zi);_animationsDisabled=Bi();_openDialogsAtThisLevel=[];_afterAllClosedAtThisLevel=new _;_afterOpenedAtThisLevel=new _;dialogConfigClass=gt;_dialogRefConstructor;_dialogContainerType;_dialogDataToken;get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){let e=this._parentDialog;return e?e._getAfterAllClosed():this._afterAllClosedAtThisLevel}afterAllClosed=yt(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Ce(void 0)));constructor(){this._dialogRefConstructor=qe,this._dialogContainerType=To,this._dialogDataToken=Mo}open(e,t){let n;t=p(p({},this._defaultOptions||new gt),t),t.id=t.id||this._idGenerator.getId("mat-mdc-dialog-"),t.scrollStrategy=t.scrollStrategy||this._scrollStrategy();let s=this._dialog.open(e,z(p({},t),{positionStrategy:Ze(this._injector).centerHorizontally().centerVertically(),disableClose:!0,closePredicate:void 0,closeOnDestroy:!1,closeOnOverlayDetachments:!1,disableAnimations:this._animationsDisabled||t.enterAnimationDuration?.toLocaleString()==="0"||t.exitAnimationDuration?.toString()==="0",container:{type:this._dialogContainerType,providers:()=>[{provide:this.dialogConfigClass,useValue:t},{provide:ve,useValue:t}]},templateContext:()=>({dialogRef:n}),providers:(r,a,c)=>(n=new this._dialogRefConstructor(r,t,c),n.updatePosition(t?.position),[{provide:this._dialogContainerType,useValue:c},{provide:this._dialogDataToken,useValue:a.data},{provide:this._dialogRefConstructor,useValue:n}])}));return n.componentRef=s.componentRef,n.componentInstance=s.componentInstance,this.openDialogs.push(n),this.afterOpened.next(n),n.afterClosed().subscribe(()=>{let r=this.openDialogs.indexOf(n);r>-1&&(this.openDialogs.splice(r,1),this.openDialogs.length||this._getAfterAllClosed().next())}),n}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(e){return this.openDialogs.find(t=>t.id===e)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(e){let t=e.length;for(;t--;)e[t].close()}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})(),Ts=(()=>{class o{dialogRef=h(qe,{optional:!0});_elementRef=h(k);_dialog=h(ii);ariaLabel;type="button";dialogResult;_matDialogClose;constructor(){}ngOnInit(){this.dialogRef||(this.dialogRef=Lo(this._elementRef,this._dialog.openDialogs))}ngOnChanges(e){let t=e._matDialogClose||e._matDialogCloseResult;t&&(this.dialogResult=t.currentValue)}_onButtonClick(e){Gi(this.dialogRef,e.screenX===0&&e.screenY===0?"keyboard":"mouse",this.dialogResult)}static \u0275fac=function(t){return new(t||o)};static \u0275dir=F({type:o,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function(t,n){t&1&&_n("click",function(r){return n._onButtonClick(r)}),t&2&&fe("aria-label",n.ariaLabel||null)("type",n.type)},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],type:"type",dialogResult:[0,"mat-dialog-close","dialogResult"],_matDialogClose:[0,"matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],features:[se]})}return o})(),Fo=(()=>{class o{_dialogRef=h(qe,{optional:!0});_elementRef=h(k);_dialog=h(ii);constructor(){}ngOnInit(){this._dialogRef||(this._dialogRef=Lo(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{this._onAdd()})}ngOnDestroy(){this._dialogRef?._containerInstance&&Promise.resolve().then(()=>{this._onRemove()})}static \u0275fac=function(t){return new(t||o)};static \u0275dir=F({type:o})}return o})(),Ms=(()=>{class o extends Fo{id=h(ge).getId("mat-mdc-dialog-title-");_onAdd(){this._dialogRef._containerInstance?._addAriaLabelledBy?.(this.id)}_onRemove(){this._dialogRef?._containerInstance?._removeAriaLabelledBy?.(this.id)}static \u0275fac=(()=>{let e;return function(n){return(e||(e=ue(o)))(n||o)}})();static \u0275dir=F({type:o,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-mdc-dialog-title","mdc-dialog__title"],hostVars:1,hostBindings:function(t,n){t&2&&di("id",n.id)},inputs:{id:"id"},exportAs:["matDialogTitle"],features:[Y]})}return o})(),xs=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275dir=F({type:o,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-mdc-dialog-content","mdc-dialog__content"],features:[hn([st])]})}return o})(),Ps=(()=>{class o extends Fo{align;_onAdd(){this._dialogRef._containerInstance?._updateActionSectionCount?.(1)}_onRemove(){this._dialogRef._containerInstance?._updateActionSectionCount?.(-1)}static \u0275fac=(()=>{let e;return function(n){return(e||(e=ue(o)))(n||o)}})();static \u0275dir=F({type:o,selectors:[["","mat-dialog-actions",""],["mat-dialog-actions"],["","matDialogActions",""]],hostAttrs:[1,"mat-mdc-dialog-actions","mdc-dialog__actions"],hostVars:6,hostBindings:function(t,n){t&2&&et("mat-mdc-dialog-actions-align-start",n.align==="start")("mat-mdc-dialog-actions-align-center",n.align==="center")("mat-mdc-dialog-actions-align-end",n.align==="end")},inputs:{align:"align"},features:[Y]})}return o})();function Lo(o,i){let e=o.nativeElement.parentElement;for(;e&&!e.classList.contains("mat-mdc-dialog-container");)e=e.parentElement;return e?i.find(t=>t.id===e.id):null}var Fs=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=N({type:o});static \u0275inj=L({providers:[ii],imports:[Io,dt,Ae,Vi,Vi]})}return o})();var td=(()=>{let i=class i{constructor(t,n,s,r,a,c,d,l,u,w){this.analyticsService=t,this.authService=n,this.configService=s,this.coreActionsService=r,this.databaseService=a,this.docService=c,this.loggingService=d,this.commonDbService=l,this.usersService=u,this.serviceBook=w,this.db=null,this.internalUserContacts$=new b([]),this.userGlobalContact$=new b(!1),this.userGroupContact$=new b(null),this.users$=new b([]),this.userPersonalContacts=[],this.userGroupContacts=[],this.userGlobalContacts=[],this.users=[],this.documentPaths=null,this.userAccessFields$=new b({}),this.userOrganizationContacts$=new b([]),this.userFolderContacts$=new b([]),this.userDocumentContacts$=new b([]),this.userOrganizationGroups$=new b([]),this.onContactSelectedSubject$=new _,this.documentAccessType=null,this.atHereEnabled$=new b(!1),this.atHereLabel$=new b("here"),this.atHereDescription$=new b(null),this.contactListScopeForOrganizationUsers$=new b([S.ALL]),this.customUserContacts$=new b(null),this.customUserContactsConfig$=new b({merge:!1}),this.orgList$=new b([]),this.currentOrganizationUserIAM$=new b(null),this.userContacts$=new b([]),this.userSnippylyIdContacts$=new b(null),this.usersByOrganizationId$=new b({}),this.temporaryUserIds$=new b([]),this.usersByOrganizationIdAndDocumentId$=new b({}),this.usersByOrganizationIdAndFolderId$=new b({}),this.userById$=new b({}),this.searchUsersSubject$=new _,this.searchUsersDebounceTime=300,this.pendingSearchPromises=new Map,this.authService.setContactService(this),this.usersService.setContactService(this),this.serviceBook.observe(it).subscribe(f=>{this.commentService=f??void 0}),this.authService.getUser$().pipe(v(f=>this.docService.getDocumentPaths$().pipe(J(m=>{this.documentPaths=m}),C(()=>f)))).subscribe(f=>$(this,null,function*(){if(this.user=f,f&&this.documentPaths)if(!f?.organizationId)this.getLoggedInUsers$().subscribe(),this.getUserContactsFromDb$(),yield this.migrateLoggedInUserFromEmailToUserIdPath(f),this.setLoggedInUser(f),yield this.moveGlobalContactUserFromEmailToUserIdPath(f),this.updateUserInGlobalContactsIfAvailable(f),f?.groupId&&(yield this.migrateGroupContactsFromEmailToUserIdPath(f?.groupId)),this.checkToSetLoggedInUserInGroupContacts();else{let m=this.userPermissionService?.getCurrentUserPermissions(),I=this.documentPaths.folderId,K=!0;I&&m?.[f?.userId]?.folders?.[I]?.errorCode===ui.PERMISSION_DENIED&&(K=!1),this.getOrganizationContactsFromDb$(),K&&this.getFolderContactsFromDb$(),this.getDocumentContactsFromDb$(),this.getOrganizationGroupsFromDb$(),this.getTemporaryUsers()}else this.getUserContactSubscription?.unsubscribe(),this.getUserContactSubscription=void 0,this.getLoggedInUsersSubscription?.unsubscribe(),this.getLoggedInUsersSubscription=void 0,this.getOrganizationContactsSubscription?.unsubscribe(),this.getOrganizationContactsSubscription=void 0,this.getFolderContactsSubscription?.unsubscribe(),this.getFolderContactsSubscription=void 0,this.getDocumentContactsSubscription?.unsubscribe(),this.getDocumentContactsSubscription=void 0,this.getOrganizationGroupsSubscription?.unsubscribe(),this.getOrganizationGroupsSubscription=void 0}),f=>{this.loggingService.catch("Error in ContactService constructor getUser$: ",f)}),this.databaseService.getDb().pipe(D(f=>!!f),ne(1)).subscribe(f=>{f&&(this.db=f)},f=>{this.loggingService.catch("Error in ContactService constructor getDb: ",f)}),this.getOrganizationGroups$().subscribe(f=>{this.authService.setOrganizationUserGroups(f)}),Je([this.getInternalUserContacts$(),this.getCustomUserContacts$(),this.getCustomUserContactsConfig$()]).subscribe(([f,m,I])=>{m?I?.merge?this.userContacts$.next([...f||[],...m||[]]):this.userContacts$.next(m||[]):this.userContacts$.next(f||[])}),this.getUserContacts$().subscribe(f=>{try{f?.forEach(m=>{let I=m?.userSnippylyId||xn(this.configService.getApiKey(),m.userId);I&&this.userSnippylyIdContacts$.next(z(p({},this.userSnippylyIdContacts$.value),{[I]:m}))})}catch{}})}setCommentService(t){try{this.commentService=t}catch(n){this.loggingService.catch("Error in ContactService setCommentService: ",n)}}setUserPermissionService(t){try{this.userPermissionService=t}catch(n){this.loggingService.catch("Error in ContactService setUserPermissionService: ",n)}}clearCache(){this.loggingService.log("%c[WB] Calling FUNCTION: clearCache in ContactService","color: green;");try{this.documentPaths=null,this.usersByOrganizationId$.next({}),this.temporaryUserIds$.next([]),this.usersByOrganizationIdAndFolderId$.next({}),this.usersByOrganizationIdAndDocumentId$.next({}),this.userById$.next({}),this.userOrganizationContacts$.next([]),this.userFolderContacts$.next([]),this.userDocumentContacts$.next([]),this.userOrganizationGroups$.next([]),this.userContacts$.next([]),this.userSnippylyIdContacts$.next(null),this.userGlobalContact$.next(!1),this.userGroupContact$.next(null),this.users$.next([]),this.userPersonalContacts=[],this.userGroupContacts=[],this.userGlobalContacts=[],this.users=[],this.currentOrganizationUserIAM$.next(null)}catch(t){this.loggingService.catch("Error in ContactService clearCache: ",t)}}setDocumentAccessType(t){try{this.documentAccessType=t}catch(n){this.loggingService.catch("Error in ContactService setDocumentAccessType: ",n)}}checkIfUserGlobalContact(t){return $(this,null,function*(){try{if(t?.userId&&this.documentPaths?.globalContacts){let n=yield this.commonDbService?.getData({feature:"globalContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.userId),skipFirestore:!0}});if(Object.keys(n??{}).length>0)return!0}if(t?.email&&this.documentPaths?.globalContacts){let n=yield this.commonDbService?.getData({feature:"globalContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.email),skipFirestore:!0}});if(Object.keys(n??{}).length>0)return!0}return!1}catch(n){return this.loggingService.catch("Error in ContactService isUserGlobalContact: ",n),!1}})}setLoggedInUser(t){try{t?.userId&&this.documentPaths?.logins&&(this.commonDbService.updateData({feature:"logins",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.userId),skipFirestore:!0},data:JSON.parse(JSON.stringify(z(p({},t),{contacts:void 0})))}),this.setLoggedInUserPrivateContacts(t,t?.contacts))}catch(n){this.loggingService.catch("Error in ContactService setLoggedInUser: ",n)}}migrateLoggedInUserFromEmailToUserIdPath(t){return $(this,null,function*(){try{if(t?.email&&this.documentPaths?.logins){let n=yield this.commonDbService?.getData({feature:"logins",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.email),skipFirestore:!0}});if(Object.keys(n??{}).length>0){let s=n;if(s){if(s?.contacts){let r={};Object.keys(s?.contacts??{})?.forEach(a=>{let c=s.contacts[a];if(c?.userId){let d=O(c?.userId);r[d]=c}}),s.contacts=r}yield this.commonDbService.updateData({feature:"logins",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.userId),skipFirestore:!0},data:JSON.parse(JSON.stringify(s))}),yield this.commonDbService.deleteData({feature:"logins",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.email),skipFirestore:!0}})}}}}catch(n){this.loggingService.catch("Error in ContactService migrateLoggedInUserFromEmailToUserIdPath: ",n)}})}addGlobalContact(t){try{t?.userId&&this.documentPaths?.globalContacts&&this.commonDbService.updateData({feature:"globalContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.userId),skipFirestore:!0},data:JSON.parse(JSON.stringify(t))})}catch(n){this.loggingService.catch("Error in ContactService addGlobalContact: ",n)}}getUserAccessFields(){return JSON.parse(JSON.stringify(this.userAccessFields$.value))}getUserAccessFieldsByUserId(t){return this.getUserAccessFields()?.[t]}setUserAccessFields(t){try{let n=this.getUserAccessFields();t.forEach(r=>{n[r.user.userId]=r.accessFields||[]});let s=this.authService.getUser()?.userId;if(s&&n?.[s]?.length){let r=this.userPermissionService?.getCurrentUserPermissions();r&&(r[s]||(r[s]={}),r[s].context={accessFields:n[s]},this.userPermissionService?.setCurrentUserPermissions(r))}this.userAccessFields$.next(JSON.parse(JSON.stringify(n)))}catch(n){this.loggingService.catch("Error in ContactService setUserAccessFields: ",n)}}updateUserInGlobalContactsIfAvailable(t){return $(this,null,function*(){try{if(t?.userId&&this.documentPaths?.globalContacts&&(yield this.checkIfUserGlobalContact(t))){let s=new kn;s.userId=t?.userId,s.userSnippylyId=t?.userSnippylyId,s.email=t?.email,s.name=t?.name,s.photoUrl=t?.photoUrl,this.commonDbService.updateData({feature:"globalContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.userId),skipFirestore:!0},data:JSON.parse(JSON.stringify(s))})}}catch(n){this.loggingService.catch("Error in ContactService updateUserInGlobalContactsIfAvailable: ",n)}})}moveGlobalContactUserFromEmailToUserIdPath(t){return $(this,null,function*(){try{if(t?.email&&t?.userId&&this.documentPaths?.globalContacts){let n=yield this.commonDbService?.getData({feature:"globalContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.email),skipFirestore:!0}});if(Object.keys(n??{}).length>0){let s=n;s&&(yield this.commonDbService.updateData({feature:"globalContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.userId),skipFirestore:!0},data:JSON.parse(JSON.stringify(s))}),yield this.commonDbService.deleteData({feature:"globalContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.email),skipFirestore:!0}}))}}}catch(n){this.loggingService.catch("Error in ContactService removeUserFromGlobalContactsByEmail: ",n)}})}setLoggedInUserPrivateContacts(t,n){try{if(t?.userId&&this.documentPaths?.logins){let s,r=n?.filter(c=>c?.visibility!=="group"),a=!1;this.authService.getUserOptions()&&(a=!!this.authService.getUserOptions()?.replaceContacts||!!this.authService.getUserOptions()?.replacePrivateContacts),r?.length?(s={},r?.forEach(c=>{if(c?.userId){let d=O(c?.userId);s[d]=c}}),a?this.commonDbService.setData({feature:"allLoginContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.userId),skipFirestore:!0},data:JSON.parse(JSON.stringify(s))}):this.commonDbService.updateData({feature:"allLoginContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.userId),skipFirestore:!0},data:JSON.parse(JSON.stringify(s))})):a&&this.commonDbService.deleteData({feature:"allLoginContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.userId),skipFirestore:!0}})}}catch(s){this.loggingService.catch("Error in ContactService setLoggedInUserPrivateContacts: ",s)}}migrateGroupContactsFromEmailToUserIdPath(t){return $(this,null,function*(){try{if(this.documentPaths?.groupContacts&&t){let n=yield this.commonDbService?.getData({feature:"groupContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",groupId:t,skipFirestore:!0}});n&&Object.keys(n??{}).forEach(s=>$(this,null,function*(){let r=n[s];r?.email&&r?.userId&&O(r?.email)===s&&(yield this.commonDbService.deleteData({feature:"groupContactsUser",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",groupId:t,userId:s,skipFirestore:!0}}),yield this.commonDbService.updateData({feature:"groupContactsUser",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",groupId:t,userId:O(r?.userId),skipFirestore:!0},data:JSON.parse(JSON.stringify(r))}))}))}}catch(n){this.loggingService.catch("Error in ContactService migrateGroupContacts: ",n)}})}checkToSetLoggedInUserInGroupContacts(){return $(this,null,function*(){try{this.user?.groupId&&this.user?.userId&&((yield this.checkIfUserGlobalContact(this.user))||this.docService.getDocumentIam$().pipe(ne(1)).subscribe(n=>$(this,null,function*(){if(this.user?.groupId&&this.user?.userId){let s=!1,r=this.docService.getDocumentAccessType(n);if(!r||r===Tt.PUBLIC)s=!0;else if(r===Tt.RESTRICTED){let a=O(this.user?.userId);if(n?.users?.[a]&&(s=!0),this.user?.email){let c=O(this.user?.email);n?.users?.[c]&&(s=!0)}}if(s){let a=new Rn;a.email=this.user.email,a.visibility="group",a.name=this.user.name,a.photoUrl=this.user.photoUrl,a.userId=this.user.userId,(this.authService.getUserOptions()?.replaceContacts||this.authService.getUserOptions()?.replaceGroupContacts)&&(yield this.removeGroupContacts(this.user?.groupId)),this.setLoggedInUserGroupContacts(this.user?.groupId,[a]),this.user?.contacts&&this.user?.groupId&&this.setLoggedInUserGroupContacts(this.user?.groupId,this.user?.contacts)}}})))}catch(t){this.loggingService.catch("Error in ContactService checkToSetLoggedInUserInGroupContacts: ",t)}})}setLoggedInUserGroupContacts(t,n){try{let s=n?.filter(r=>r?.visibility==="group");s?.length&&s.forEach(r=>$(this,null,function*(){if(r?.userId&&t&&this.documentPaths?.groupContacts){if(this.configService?.getSF()&&(yield this.checkIfUserGlobalContact(r)))return;yield this.commonDbService.updateData({feature:"groupContactsUser",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",groupId:t,userId:O(r?.userId),skipFirestore:!0},data:JSON.parse(JSON.stringify(r))}),r?.email&&(yield this.commonDbService.deleteData({feature:"groupContactsUser",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",groupId:t,userId:O(r?.email),skipFirestore:!0}}))}}))}catch(s){this.loggingService.catch("Error in ContactService setLoggedInUserGroupContacts: ",s)}}removeGroupContacts(t){return $(this,null,function*(){try{if(this.documentPaths?.groupContacts&&t)return this.commonDbService.deleteData({feature:"groupContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",groupId:t,skipFirestore:!0}})}catch(n){this.loggingService.catch("Error in ContactService removeGroupContacts: ",n)}})}mergeUserContacts(){try{let t=[];this.userPersonalContacts&&t.push(...this.userPersonalContacts),this.userGroupContacts&&t.push(...this.userGroupContacts),this.userGlobalContacts&&t.push(...this.userGlobalContacts);let n={};t.forEach(s=>{s?.userId?(!s?.email||!n[s.email])&&(n[s.userId]=s):s?.email&&(!s?.userId||!n[s.userId])&&(n[s.email]=s)}),t=Object.values(n??{}),this.internalUserContacts$.next(t)}catch(t){this.loggingService.catch("Error in ContactService mergeUserContacts: ",t)}}getInternalUserContacts(){return this.internalUserContacts$.value}getInternalUserContacts$(){return this.internalUserContacts$.asObservable()}getUserContacts$(t){try{let{organizationId:n,documentId:s,veltFolderId:r}=t||{};return n&&s?Je([this.usersByOrganizationId$,this.usersByOrganizationIdAndFolderId$,this.usersByOrganizationIdAndDocumentId$,this.userById$,this.customUserContacts$,this.customUserContactsConfig$,this.getContactListScopeForOrganizationUsers$(),this.temporaryUserIds$]).pipe(C(([a,c,d,l,u,w,f,m])=>{let I={},K=!1;w&&!w?.merge&&(K=!0);let x=Te=>f.some(Me=>Te.includes(Me)),X=x([S.ALL,S.ORGANIZATION])?Object.keys(a?.[n]||{}):[],G=r?x([S.ALL,S.FOLDER])?Object.keys(c?.[n]?.[r]||{}):[]:[],si=x([S.ALL,S.DOCUMENT])?Object.keys(d?.[n]?.[s]||{}):[];if([...X,...G||[],...si,...m].forEach(Te=>{let Me=l?.[Te];Me&&(I[Te]=Me)}),u){let{merge:Te,options:Me}=w||{},{organizationId:Wi,documentId:Yi,folderId:Ki}=Me||{},Xi=Ki?Tn(Ki):void 0;(!Wi||Wi===n)&&(!Yi||Yi===s)&&(!Xi||Xi===r)&&(Te||(I={}),u.forEach(ri=>{ri?.userId&&(I[ri.userId]=ri)}))}return Object.values(I??{})})):this.userContacts$.asObservable().pipe(C(a=>a))}catch(n){return this.loggingService.catch("Error in ContactService getUserContacts$ metadata: ",n),g([])}}getUserContactsBySnippylyId$(){return this.userSnippylyIdContacts$.asObservable()}getUserBySnippylyId(t){return this.userSnippylyIdContacts$.value?.[t]}getAtHereLabel(){return this.atHereLabel$.asObservable()}getAtHereDescription(){return this.atHereDescription$.asObservable()}getUserContactsFromDb$(){this.getUserContactSubscription||(this.getUserContactSubscription=this.authService.getUser$().pipe(D(t=>!!t),v(t=>this.docService.getDocumentPaths$().pipe(D(n=>!!n),J(n=>{this.documentPaths=n}),C(()=>t))),v(t=>{if(this.userGroupContacts=[],this.userPersonalContacts=[],!t)return g();if(!this.documentPaths)return g();let n=[];return n.push(this.commonDbService.dbListener({feature:"allGlobalContacts",properties:{documentId:this.documentPaths?.documentId,organizationId:this.documentPaths?.organizationId,skipFirestore:!0}}).pipe(C(s=>s?.data),J(s=>{s?(this.userGlobalContacts=Object.values(s??{}),this.userGlobalContacts?.find(r=>r.userId===this.user?.userId)?this.userGlobalContact$.next(!0):this.userGlobalContact$.next(!1)):(this.userGlobalContacts=[],this.userGlobalContact$.next(!1))}))),n.push(this.commonDbService.dbListener({feature:"groupContacts",properties:{documentId:this.documentPaths?.documentId,organizationId:this.documentPaths?.organizationId,skipFirestore:!0,groupId:t?.groupId}}).pipe(C(s=>s?.data),J(s=>{s?(this.userGroupContacts=Object.values(s??{}),this.userGroupContacts?.find(r=>r?.userId===this.user?.userId)?this.userGroupContact$.next(!0):this.userGroupContact$.next(!1)):(this.userGroupContacts=[],this.userGroupContact$.next(!1))}))),n.push(this.commonDbService.dbListener({feature:"allLoginContacts",properties:{documentId:this.documentPaths?.documentId,organizationId:this.documentPaths?.organizationId,skipFirestore:!0,userId:O(t?.userId)}}).pipe(C(s=>s?.data),J(s=>{s?this.userPersonalContacts=Object.values(s??{}):this.userPersonalContacts=[]}))),Ct(...n).pipe(he(this.authService.getUser$().pipe(D(s=>!s))))})).subscribe(()=>{this.mergeUserContacts()},t=>{this.loggingService.catch("Error in ContactService getUserContacts$ subscription: ",t)}))}addUserContact(t){try{this.user?.organizationId||this.user?.groupId&&(t.visibility="group",this.setLoggedInUserGroupContacts(this.user?.groupId,[t]))}catch(n){this.loggingService.catch("Error in ContactService addUserContact: ",n)}}isUserGlobalContact$(){return this.userGlobalContact$.asObservable().pipe(oe(Mt))}isUserGlobalContact(){return this.userGlobalContact$.value}isUserGroupContact$(){return this.userGroupContact$.asObservable()}isUserGroupContact(){return this.userGroupContact$.value}getLoggedInUsers$(){return this.getLoggedInUsersSubscription||(this.getLoggedInUsersSubscription=this.authService.getUser$().pipe(v(t=>t?this.documentPaths?t?.userId&&this.documentPaths?.logins?this.commonDbService.dbListener({feature:"allLogins",properties:{documentId:this.documentPaths?.documentId,organizationId:this.documentPaths?.organizationId,skipFirestore:!0}}).pipe(C(n=>n?.data),J(n=>{n?this.users=Object.values(n??{}):this.users=[]})):(this.users=[],g()):g():g())).subscribe(()=>{this.users$.next(this.users)},t=>{this.loggingService.catch("Error in ContactService getLoggedInUsers$ subscription: ",t)})),this.users$.asObservable()}getUsersMap$(){return this.authService.getUser$().pipe(v(t=>t?.organizationId?this.userById$.pipe(C(n=>{let s={};return Object.values(n||{}).forEach(r=>{r?.userSnippylyId&&(s[r?.userSnippylyId]=r)}),s})):this.users$.pipe(C(n=>{let s={};return n.forEach(r=>{s[r.userSnippylyId]=r}),s}))))}getUserByEmail$(t){return this.users$.pipe(C(n=>n.find(s=>s.email===t)))}getUserByEmail(t){return this.users?.find(n=>n.email===t)}getContactByEmail(t){return this.getInternalUserContacts().find(n=>n.email===t)}getUserByUserId$(t){return this.users$.pipe(C(n=>n.find(s=>s.userId===t)))}getUserGroupContacts(){return this.userGroupContacts}getTemporaryUsers(){try{let t=this.authService.getUser();this.docService.getOrganizationConfig$().pipe(D(n=>!!n),C(n=>n?.organizationId)).subscribe(n=>$(this,null,function*(){if(n&&t){let s=((yield this.commonDbService?.queryData({feature:"allPermissionsUsers",properties:{organizationId:n,useCollectionGroup:!1,isCollection:!0,firestoreQuery:[T("expiresAt",">",new Date().getTime())]}}))??[]).filter(r=>r?.userId!==t?.userId);if(s?.length){let r=s.map(l=>l?.userId),a=Mn(),c=An.GET_TEMPORARY_USERS;this.coreActionsService.triggerAction(On.USER_RESOLVER,{event:Rt.Events.Resolver.USER_RESOLUTION_REQUEST_FORMED,timestamp:new Date().getTime(),uniqueId:a,moduleName:c,methodName:wn.GET_TEMPORARY_USERS,source:"internal",payload:{userIds:r}});let d=yield this.usersService.resolveUsers({userIds:r,uniqueId:a,moduleName:c});if(d){let l={};Object.entries(d).forEach(([w,f])=>{l[w]=f}),this.userById$.next(p(p({},this.userById$.value),l));let u=new Set([...this.temporaryUserIds$.value,...Object.keys(l)]);this.temporaryUserIds$.next(Array.from(u))}}}}))}catch(t){this.loggingService.catch("Error in ContactService getTemporaryUsers: ",t)}}searchUsers(t){return $(this,null,function*(){try{if(!t||typeof t!="string"||!t.trim())return[];let n=t.trim();return this.searchUsersDebounced$||(this.searchUsersDebounced$=this.searchUsersSubject$.pipe(St(this.searchUsersDebounceTime),oe(),v(s=>_t(this.performSearch(s)).pipe(C(r=>({searchText:s,results:r})),ai(r=>(this.loggingService.catch("Error in ContactService performSearch: ",r),g({searchText:s,results:[]})))))),this.searchUsersDebounced$.subscribe({next:({searchText:s,results:r})=>{Array.from(this.pendingSearchPromises.keys()).forEach(d=>{if(d!==s){let l=this.pendingSearchPromises.get(d);l&&(l.forEach(({resolve:u})=>u([])),this.pendingSearchPromises.delete(d))}});let c=this.pendingSearchPromises.get(s);c&&(c.forEach(({resolve:d})=>d(r)),this.pendingSearchPromises.delete(s))},error:s=>{this.pendingSearchPromises.forEach(r=>{r.forEach(({reject:a})=>a(s))}),this.pendingSearchPromises.clear()}})),new Promise((s,r)=>{this.pendingSearchPromises.has(n)||this.pendingSearchPromises.set(n,[]),this.pendingSearchPromises.get(n).push({resolve:s,reject:r}),this.searchUsersSubject$.next(n)})}catch(n){return this.loggingService.catch("Error in ContactService searchUsers: ",n),[]}})}performSearch(t){return $(this,null,function*(){try{let n=this.docService.getOrganizationConfig()?.organizationId;if(!n)return[];let s=this.documentPaths?.veltFolderId,r=this.docService.getDocumentIds().map(x=>x?.documentId),a=t.toLowerCase().trim(),c=a+"\uF8FF",d=[],l=r?.filter(x=>!!x)||[],u=l.length>0,w=!!s;if(u){let x=[];for(let G=0;G<l.length;G+=20)x.push(l.slice(G,G+20));x.forEach(G=>{let si=[T("documentIds","array-contains-any",G),T("viewerDocumentIds","array-contains-any",G)],mt=[T("organizationIds","array-contains-any",[n]),T("viewerOrganizationIds","array-contains-any",[n]),...si];w&&mt.push(T("folderIds","array-contains-any",[s]),T("viewerFolderIds","array-contains-any",[s])),d.push(this.commonDbService.queryData({feature:"allDocumentUsers",properties:{organizationId:n,isCollection:!0,useCollectionGroup:!1,useQuery:!0,firestoreQuery:[Se(Ie(...mt),T("user.name_lowercase",">=",a),T("user.name_lowercase","<",c)),Ve(10)]}}).catch(()=>[])),d.push(this.commonDbService.queryData({feature:"allDocumentUsers",properties:{organizationId:n,isCollection:!0,useCollectionGroup:!1,useQuery:!0,firestoreQuery:[Se(Ie(...mt),T("user.email_lowercase",">=",a),T("user.email_lowercase","<",c)),Ve(10)]}}).catch(()=>[]))})}let f=yield Promise.all(d),m=[];f.forEach(x=>{x&&Array.isArray(x)?x.forEach(X=>{X&&X.user&&X.user.userId&&m.push(X)}):x&&typeof x=="object"&&Object.values(x).forEach(G=>{G&&G.user&&G.user.userId&&m.push(G)})});let I=new Map;m.forEach(x=>{let X=x.user?.userId;X&&!I.has(X)&&I.set(X,x)});let K=Array.from(I.values());return this.setResolvedUsers(K,!0),K}catch(n){return this.loggingService.catch("Error in ContactService performSearch: ",n),[]}})}setResolvedUsers(t,n=!1){try{if(t?.length){let s=[],r=[],a=[],c=this.docService.getOrganizationConfig()?.organizationId,d=this.documentPaths?.veltFolderId,l=this.docService.getDocumentIds().map(f=>f?.documentId);t.forEach(f=>{this.userById$.value[f?.user?.userId]||(c&&f?.organizationIds?.includes(c)&&!s.find(m=>m?.user?.userId===f?.user?.userId)&&s.push(f),d&&f?.folderIds?.includes(d)&&!r.find(m=>m?.user?.userId===f?.user?.userId)&&r.push(f),l?.some(m=>f?.documentIds?.includes(m))&&!a.find(m=>m?.user?.userId===f?.user?.userId)&&a.push(f))}),s?.length&&this.setUserOrganizationContacts(s,c,n),r?.length&&this.setUserFolderContacts(r,n),a?.length&&this.setUserDocumentContacts(a,n);let w=[...s,...r,...a].filter((f,m,I)=>m===I.findIndex(K=>K.user.userId===f.user.userId));w?.length&&(this.setUserAccessFields(w),this.mergeOrganizationAndDocumentContacts())}}catch(s){this.loggingService.catch("Error in ContactService setResolvedUsers: ",s)}}getOrganizationContactsFromDb$(){try{this.getOrganizationContactsSubscription||(this.getOrganizationContactsSubscription=this.authService.getUser$().pipe(v(t=>t?.organizationId?g(t).pipe(v(n=>this.docService.getOrganizationConfig$().pipe(D(s=>!!s),C(()=>n))),v(n=>this.usersService.getResolveOrganizationUsers$().pipe(D(s=>s),C(()=>n))),v(n=>{let s=this.docService.getOrganizationConfig()?.organizationId;return this.setUserOrganizationContacts([],s),n?s?this.commonDbService.dbListener({feature:"allOrganizationUsers",properties:{organizationId:s,isCollection:!0,useQuery:!0,firestoreQuery:[Se(Ie(T("organizationIds","array-contains-any",[s]),T("viewerOrganizationIds","array-contains-any",[s]))),Ft("id"),...this.commentService?.getPaginatedContactList()?[Ve(10)]:[]]}}).pipe(C(r=>r?.data),v(r=>this.commentService?.getPaginatedContactList()&&!Object.values(r??{}).find(a=>a?.user?.userId===this.authService.getUser()?.userId)?_t(this.commonDbService.queryData({feature:"allOrganizationUsers",properties:{organizationId:s,isCollection:!0,useQuery:!0,firestoreQuery:[Se(Ie(T("organizationIds","array-contains-any",[s]),T("viewerOrganizationIds","array-contains-any",[s])),T("user.userId","==",this.authService.getUser()?.userId))]}})).pipe(C(a=>{if(a&&a.length>0){let c=a[0],d=c?.user?.userId||c?.id;if(d&&r){let l=O(d);return z(p({},r),{[l]:c})}}return r})):g(r)),C(r=>{if(r){typeof r=="object"&&(r?.undefined&&delete r.undefined,r?.null&&delete r.null);let a=Object.values(r??{});this.setUserAccessFields(a),this.setUserOrganizationContacts(a,s)}else this.setUserOrganizationContacts([],s)})):g():g()}),v(()=>this.getContactListScopeForOrganizationUsers$())):(this.setUserOrganizationContacts([]),g()))).subscribe(()=>{this.mergeOrganizationAndDocumentContacts()},t=>{this.loggingService.catch("Error in ContactService getOrganizationContactsFromDb$ subscription: ",t)}))}catch{}}getFolderContactsFromDb$(){try{this.getFolderContactsSubscription||(this.getFolderContactsSubscription=this.authService.getUser$().pipe(v(t=>t?g(t).pipe(v(n=>this.docService.getOrganizationConfig$().pipe(D(s=>!!s),C(()=>n))),v(n=>this.usersService.getResolveFolderUsers$().pipe(D(s=>s),C(()=>n))),v(n=>{let s=this.docService.getOrganizationConfig()?.organizationId;if(this.setUserFolderContacts([]),!n)return g();if(!this.commonDbService.shouldUseFirestore())return g();if(!this.documentPaths?.veltFolderId)return g();let r=g([]);return r=this.commonDbService.dbListener({feature:"allFolderUsers",properties:{organizationId:s,folderId:this.documentPaths?.veltFolderId,isCollection:!0,useQuery:!0,firestoreQuery:[Se(Ie(T("folderIds","array-contains-any",[this.documentPaths?.veltFolderId]),T("viewerFolderIds","array-contains-any",[this.documentPaths?.veltFolderId]))),Ft("id"),...this.commentService?.getPaginatedContactList()?[Ve(10)]:[]]}}).pipe(C(a=>a?.data)),r.pipe(C(a=>{if(a){typeof a=="object"&&(a?.undefined&&delete a.undefined,a?.null&&delete a.null);let c=Object.values(a??{});this.setUserAccessFields(c),this.setUserFolderContacts(c)}else this.setUserFolderContacts([])}))}),v(()=>this.getContactListScopeForOrganizationUsers$())):(this.setUserFolderContacts([]),g()))).subscribe(()=>{this.mergeOrganizationAndDocumentContacts()},t=>{this.loggingService.catch("Error in ContactService getFolderContactsFromDb$ subscription: ",t)}))}catch{}}getDocumentContactsFromDb$(){try{this.getDocumentContactsSubscription||(this.getDocumentContactsSubscription=this.authService.getUser$().pipe(v(t=>t?g(t).pipe(v(n=>this.docService.getDocumentPaths$().pipe(D(s=>!!s),J(s=>{this.documentPaths=s}),C(()=>n))),v(n=>this.usersService.getResolveDocumentUsers$().pipe(D(s=>s),C(()=>n))),v(n=>(this.setUserDocumentContacts([]),n?this.documentPaths?this.docService.getDocumentIds$().pipe(v(s=>{let r=s?.length>0?s.map(l=>l.documentId):[this.documentPaths?.documentId??""];if(r.some(l=>!l)||!this.documentPaths)return g();let a=g([]),c={isCollection:!0,useQuery:!0};this.commonDbService.shouldUseFirestore()||(c.documentId=r?.length?r[0]:void 0,c.organizationId=this.documentPaths?.organizationId);let d=[];for(let l=0;l<r.length;l+=je.LISTENER_BATCH_SIZE)d.push(r.slice(l,l+je.LISTENER_BATCH_SIZE));return a=Je(d.map(l=>this.commonDbService.dbListener({feature:"allDocumentUsers",properties:z(p({},c),{firestoreQuery:[Se(Ie(T("documentIds","array-contains-any",l),T("viewerDocumentIds","array-contains-any",l))),Ft("id"),...this.commentService?.getPaginatedContactList()?[Ve(10)]:[]]})}).pipe(on()))).pipe(C(l=>Pn(l)?.data)),a.pipe(C(l=>{if(l){typeof l=="object"&&(l?.undefined&&delete l.undefined,l?.null&&delete l.null);let u=Object.values(l??{});this.setUserAccessFields(u),this.setUserDocumentContacts(u)}else this.setUserDocumentContacts([])}))})):g():g())),v(()=>this.getContactListScopeForOrganizationUsers$())):(this.setUserDocumentContacts([]),g()))).subscribe(()=>{this.mergeOrganizationAndDocumentContacts()},t=>{this.loggingService.catch("Error in ContactService getDocumentContactsFromDb$ subscription: ",t)}))}catch{}}setUserOrganizationContacts(t,n,s=!0){try{let r=t.find(c=>c.user.userId===this.user?.userId);r&&this.setCurrentOrganizationUserIAM(r);let a=t.map(c=>c.user)?.filter(c=>!this.userOrganizationContacts$.value.find(d=>d.userId===c.userId));if(this.userOrganizationContacts$.next([...this.userOrganizationContacts$.value,...a]),s&&this.usersService.setUserByIds(a),n){let c={};c[n]={};let d={};t.forEach(u=>{c[n][u.user.userId]=u,d[u.user.userId]=u.user}),this.userById$.next(p(p({},this.userById$.value),d));let l=this.usersByOrganizationId$.value?.[n];l&&(c[n]=p(p({},l),c[n])),this.usersByOrganizationId$.next(z(p({},this.usersByOrganizationId$.value),{[n]:c[n]}))}else this.usersByOrganizationId$.next({})}catch(r){this.loggingService.catch("Error in ContactService setUserOrganizationContacts: ",r)}}getUserOrganizationContacts$(){return this.getContactListScopeForOrganizationUsers$().pipe(v(()=>this.checkContactListScopeForOrganizationUsers([S.ALL,S.ORGANIZATION])?this.userOrganizationContacts$.asObservable():g([])))}getUserOrganizationContacts(){return this.checkContactListScopeForOrganizationUsers([S.ALL,S.ORGANIZATION])?this.userOrganizationContacts$.value:[]}setUserFolderContacts(t,n=!0){try{let s=t?.map(d=>d?.user)?.filter(d=>!this.userFolderContacts$.value.find(l=>l.userId===d.userId));this.userFolderContacts$.next([...this.userFolderContacts$.value,...s]),n&&this.usersService.setUserByIds(s);let r=this.usersByOrganizationIdAndFolderId$.value||{},a=p({},r),c={};t?.forEach(d=>{let{organizationId:l}=d?.metadata||{};l&&(a[l]||(a[l]={}),d.folderIds?.forEach(u=>{a[l][u]||(a[l][u]={}),a[l][u]=z(p({},a[l][u]),{[d.user.userId]:d}),c[d.user.userId]=d.user}))}),this.userById$.next(p(p({},this.userById$.value),c)),this.usersByOrganizationIdAndFolderId$.next(a)}catch(s){this.loggingService.catch("Error in ContactService updateUserFolderContacts: ",s)}}getUserFolderContacts$(){return this.getContactListScopeForOrganizationUsers$().pipe(v(()=>this.checkContactListScopeForOrganizationUsers([S.ALL,S.FOLDER])?this.userFolderContacts$.asObservable():g([])))}getUserFolderContacts(){return this.checkContactListScopeForOrganizationUsers([S.ALL,S.FOLDER])?this.userFolderContacts$.value:[]}setUserDocumentContacts(t,n=!0){try{let s=t?.map(d=>d?.user)?.filter(d=>!this.userDocumentContacts$.value.find(l=>l.userId===d.userId));this.userDocumentContacts$.next([...this.userDocumentContacts$.value,...s]),n&&this.usersService.setUserByIds(s);let r=this.usersByOrganizationIdAndDocumentId$.value||{},a=p({},r),c={};t?.forEach(d=>{let{organizationId:l}=d?.metadata||{};l&&(a[l]||(a[l]={}),d.documentIds?.forEach(u=>{a[l][u]||(a[l][u]={}),a[l][u]=z(p({},a[l][u]),{[d.user.userId]:d}),c[d.user.userId]=d.user}))}),this.userById$.next(p(p({},this.userById$.value),c)),this.usersByOrganizationIdAndDocumentId$.next(a)}catch(s){this.loggingService.catch("Error in ContactService updateUserDocumentContacts: ",s)}}getUserDocumentContacts$(){return this.getContactListScopeForOrganizationUsers$().pipe(v(()=>this.checkContactListScopeForOrganizationUsers([S.ALL,S.DOCUMENT])?this.userDocumentContacts$.asObservable():g([])))}getUserDocumentContacts(){return this.checkContactListScopeForOrganizationUsers([S.ALL,S.DOCUMENT])?this.userDocumentContacts$.value:[]}setCurrentOrganizationUserIAM(t){try{this.currentOrganizationUserIAM$.next(JSON.parse(JSON.stringify(t)))}catch(n){this.loggingService.catch("Error in ContactService setCurrentOrganizationUserIAM: ",n)}}getCurrentOrganizationUserIAM$(){return this.currentOrganizationUserIAM$.asObservable().pipe(oe(Mt))}getCurrentOrganizationUserIAM(){return this.currentOrganizationUserIAM$.value}mergeOrganizationAndDocumentContacts(){try{this.mergeContactsDebounceTimer&&clearTimeout(this.mergeContactsDebounceTimer),this.mergeContactsDebounceTimer=setTimeout(()=>{this.executeMergeContacts()},200)}catch(t){this.loggingService.catch("Error in ContactService mergeOrganizationAndDocumentContacts: ",t)}}executeMergeContacts(){try{let t=this.getContactListScopeForOrganizationUsers(),n=[];t.includes(S.ALL)?n=[...this.getUserOrganizationContacts(),...this.getUserFolderContacts(),...this.getUserDocumentContacts()]:t.includes(S.ORGANIZATION)?n=[...this.getUserOrganizationContacts()]:t.includes(S.FOLDER)?n=[...this.getUserFolderContacts()]:t.includes(S.DOCUMENT)&&(n=[...this.getUserDocumentContacts()]);let s=[...new Map(n.filter(r=>r?.userId).map(r=>[r.userId,r])).values()];this.internalUserContacts$.next(s)}catch(t){this.loggingService.catch("Error in ContactService mergeOrganizationAndDocumentContacts: ",t)}}getOrganizationGroupsFromDb$(){try{this.getOrganizationGroupsSubscription||(this.getOrganizationGroupsSubscription=this.authService.getUser$().pipe(v(t=>t?.organizationId?g(t).pipe(v(n=>this.docService.getOrganizationConfig$().pipe(D(s=>!!s),C(()=>n))),v(n=>{if(this.setUserOrganizationGroups([]),!n)return g();let s=this.docService.getOrganizationConfig(),r=s?.organizationId,a=s?.clientOrganizationId??"";if(!r)return g();let c=n.userId??"";return _t(this.userPermissionService?.getUserPermissionsFromCacheOrFetch({organizationId:a})??Promise.resolve({})).pipe(v(d=>c&&a&&d?.[c]?.organization?.[a]?.errorCode===ui.PERMISSION_DENIED?g():this.commonDbService.dbListener({feature:"allOrganizationGroups",properties:{organizationId:r,isCollection:!0}}).pipe(C(l=>l?.data),C(l=>{l?(typeof l=="object"&&(l?.undefined&&delete l.undefined,l?.null&&delete l.null),this.setUserOrganizationGroups(Object.values(l??{}))):this.setUserOrganizationGroups([])}))))})):(this.setUserOrganizationGroups([]),g()))).subscribe(()=>{},t=>{this.loggingService.catch("Error in ContactService getOrganizationGroupsFromDb$ subscription: ",t)}))}catch{}}setUserOrganizationGroups(t){try{this.userOrganizationGroups$.next(t)}catch(n){this.loggingService.catch("Error in ContactService setUserOrganizationGroups: ",n)}}onContactSelected(t){try{if(t?.userId){let n=!!this.getUserDocumentContacts().find(r=>r.userId===t.userId),s=!!this.getUserOrganizationContacts().find(r=>r.userId===t.userId);switch(this.documentAccessType){case Tt.RESTRICTED:if(!n){let r={contact:t,isOrganizationContact:s,isDocumentContact:n,documentAccessType:this.documentAccessType};this.onContactSelectedSubject$.next(r)}break}}else{let n={contact:t,isOrganizationContact:!1,isDocumentContact:!1,documentAccessType:this.documentAccessType};this.onContactSelectedSubject$.next(n)}}catch(n){this.loggingService.catch("Error in ContactService onContactSelected: ",n)}}onContactSelected$(){return this.onContactSelectedSubject$.asObservable()}getOrganizationGroups$(){return this.getContactListScopeForOrganizationUsers$().pipe(v(()=>this.checkContactListScopeForOrganizationUsers([S.ALL,S.ORGANIZATION_USER_GROUP])?this.userOrganizationGroups$.asObservable():g([])))}enableAtHere(){try{if(this.analyticsService.setFeatureConfig({feature:tt.COMMENT,config:{atHereEnabled:!0}}),this.atHereEnabled$.value===!0)return;this.atHereEnabled$.next(!0)}catch(t){this.loggingService.catch("Error in ContactService enableAtHere: ",t)}}setAtHereLabel(t){try{this.analyticsService.setFeatureConfig({feature:tt.COMMENT,config:{atHereLabel:t}}),t&&this.atHereLabel$.next(t)}catch(n){this.loggingService.catch("Error in ContactService setAtHereLabel: ",n)}}setAtHereDescription(t){try{this.analyticsService.setFeatureConfig({feature:tt.COMMENT,config:{atHereDescription:t}}),t&&this.atHereDescription$.next(t)}catch(n){this.loggingService.catch("Error in ContactService setAtHereDescription: ",n)}}disableAtHere(){try{if(this.analyticsService.setFeatureConfig({feature:tt.COMMENT,config:{atHereEnabled:!1}}),this.atHereEnabled$.value===!1)return;this.atHereEnabled$.next(!1)}catch(t){this.loggingService.catch("Error in ContactService disableAtHere: ",t)}}getAtHereEnabled$(){return this.getContactListScopeForOrganizationUsers$().pipe(v(()=>this.checkContactListScopeForOrganizationUsers([S.ALL,S.DOCUMENT])?this.atHereEnabled$.asObservable():g(!1)))}getAtHereEnabled(){return this.checkContactListScopeForOrganizationUsers([S.ALL,S.DOCUMENT])?this.atHereEnabled$.value:!1}updateContactListScopeForOrganizationUsers(t){try{this.contactListScopeForOrganizationUsers$.next(t)}catch(n){this.loggingService.catch("Error in ContactService updateContactListScopeForOrganizationUsers: ",n)}}getContactListScopeForOrganizationUsers$(){return this.contactListScopeForOrganizationUsers$.asObservable()}getContactListScopeForOrganizationUsers(){return this.contactListScopeForOrganizationUsers$.value}checkContactListScopeForOrganizationUsers(t){return this.getContactListScopeForOrganizationUsers().some(n=>t.includes(n))}updateContactList(t,n){return $(this,null,function*(){try{this.analyticsService.trackEvent(Rt.Events.Contact.UPDATE_CONTACT_LIST_TRIGGERED,{contactsCount:t?.length,config:n}),this.usersService.setContactListUsers(t),this.customUserContacts$.next(t),this.customUserContactsConfig$.next(n)}catch(s){this.loggingService.catch("Error in CommentService updateContactList: ",s)}})}updateOrgList(t){try{let n=t?.orgList??[];this.analyticsService.trackEvent(Rt.Events.Contact.UPDATE_ORG_LIST_TRIGGERED,{orgCount:n?.length}),this.orgList$.next(n)}catch(n){this.loggingService.catch("Error in ContactService updateOrgList: ",n)}}getOrgList$(){return this.orgList$.asObservable()}getOrgList(){return this.orgList$.value}convert(t){try{if(t?.options){let{documentId:n,organizationId:s}=this.docService.getServerId(t?.options);t.options=z(p({},t?.options),{documentId:n,organizationId:s})}return this}catch(n){return this.loggingService.catch("Error in ContactService convert: ",n),this}}getContactList$(){try{return this.authService.getUser$().pipe(v(t=>t?Je([this.userOrganizationContacts$.asObservable(),this.userFolderContacts$.asObservable(),this.userDocumentContacts$.asObservable(),this.userOrganizationGroups$.asObservable(),this.customUserContacts$.asObservable()]).pipe(C(([n,s,r,a,c])=>{let d={};d.organizationUsers=n?.map(u=>this.convertToClientUser(u)),d.folderUsers=s?.map(u=>this.convertToClientUser(u)),d.documentUsers=r?.map(u=>this.convertToClientUser(u)),d.updatedContactList=c?.map(u=>this.convertToClientUser(u));let l=[];return a?.forEach(u=>{let w=this.convertToClientUserGroup(u,d.organizationUsers||[]);w&&l.push(w)}),d.userGroups=l,d}),oe(Mt)):g(null)),ai(t=>(this.loggingService.catch("Error in ContactService getContactList$: ",t),g(null))))}catch(t){return this.loggingService.catch("Error in ContactService getContactList$: ",t),g(null)}}convertToClientUserGroup(t,n){try{let s={groupId:t?.metadata?.clientGroupId,groupName:t?.metadata?.groupName,users:[]},r={};return n?.forEach(a=>{if(a?.userId){let c=O(a.userId);r[c]=a}}),Object.keys(t?.users??{}).forEach(a=>{r[a]&&s.users?.push(r[a])}),s}catch(s){return this.loggingService.catch("Error in ContactService convertToClientUserGroup: ",s),null}}convertToClientUser(t){try{return t&&(t=JSON.parse(JSON.stringify(t)),t?.clientGroupId&&(t.groupId=t.clientGroupId,delete t.clientGroupId),t?.clientOrganizationId&&(t.organizationId=t.clientOrganizationId,delete t.clientOrganizationId),t?.userSnippylyId&&delete t.userSnippylyId),t}catch(n){return this.loggingService.catch("Error in ContactService convertToClientUser: ",n),t}}getCustomUserContacts(){return this.customUserContacts$.value}getCustomUserContacts$(){return this.customUserContacts$.asObservable()}getCustomUserContactsConfig(){return this.customUserContactsConfig$.value}getCustomUserContactsConfig$(){return this.customUserContactsConfig$.asObservable()}};i.\u0275fac=function(n){return new(n||i)(R(Fn),R(Pt),R($e),R(Ln),R(Un),R(Lt),R(te),R(zn),R(Nn),R(xt))},i.\u0275prov=y({token:i,factory:i.\u0275fac,providedIn:"root"});let o=i;return o})();var de={user:"componentConfigSignal.appState.user",isUserAdmin:"componentConfigSignal.appState.isUserAdmin",isKnownUser:"componentConfigSignal.appState.isKnownUser",repliesUniqueUsers:"componentConfigSignal.appState.repliesUniqueUsers",annotation:"componentConfigSignal.data.annotation",annotations:"componentConfigSignal.data.annotations",allAnnotations:"componentConfigSignal.data.allAnnotations",ghostComment:"componentConfigSignal.data.ghostComment",selectedFiles:"parentLocalUIState.selectedFiles",invalidSelectedFiles:"parentLocalUIState.invalidSelectedFiles",selectedAttachments:"parentLocalUIState.selectedAttachments",editComment:"parentLocalUIState.editComment",editCommentIndex:"parentLocalUIState.editCommentIndex",assignTo:"componentConfigSignal.data.assignTo",selectedUserContacts:"componentConfigSignal.data.selectedUserContacts",agentName:"componentConfigSignal.data.annotation.agent.agentName",agentAvatar:"componentConfigSignal.data.annotation.agent.avatar",agentResultTitle:"componentConfigSignal.data.annotation.agent.result.title",localRecordedData:"parentLocalUIState.localRecordedData",customList:"componentConfigSignal.data.customList",toOrganizationUserGroup:"componentConfigSignal.data.toOrganizationUserGroup",taggedUserContacts:"componentConfigSignal.data.taggedUserContacts",taggedGroups:"componentConfigSignal.data.taggedGroups",attachmentsToDelete:"parentLocalUIState.attachmentsToDelete",customChipData:"componentConfigSignal.data.customChipData",selectedCustomChipSet:"componentConfigSignal.data.selectedCustomChipSet",currentDialogView:"componentConfigSignal.data.currentDialogView",sidebarMode:"parentLocalUIState.sidebarMode",inboxMode:"parentLocalUIState.inboxMode",dialogMode:"parentLocalUIState.dialogMode",inlineCommentMode:"parentLocalUIState.inlineCommentMode",inlineCommentSectionMode:"parentLocalUIState.inlineCommentSectionMode",focusedThreadMode:"parentLocalUIState.focusedThreadMode",isFocusedThreadEnabled:"parentLocalUIState.isFocusedThreadEnabled",pageModeComposer:"parentLocalUIState.pageModeComposer",darkMode:"parentLocalUIState.darkMode",variant:"parentLocalUIState.variant",disabled:"parentLocalUIState.disabled",commentPinSelected:"parentLocalUIState.commentPinSelected",fullExpanded:"parentLocalUIState.fullExpanded",commentDialogSelected:"parentLocalUIState.commentDialogSelected",readOnly:"parentLocalUIState.readOnly",dialogShadowDOM:"parentLocalUIState.dialogShadowDOM",locationVersion:"parentLocalUIState.locationVersion",composerPosition:"parentLocalUIState.composerPosition",dialogOpenedInSidebar:"parentLocalUIState.dialogOpenedInSidebar",expandOnSelection:"parentLocalUIState.expandOnSelection",selectedVisibility:"parentLocalUIState.selectedVisibility",selectedVisibilityUsers:"parentLocalUIState.selectedVisibilityUsers",containerComponentId:"componentConfigSignal.uiState.containerComponentId",isPrivateComment:"componentConfigSignal.uiState.isPrivateComment",assignToMenuOpened:"parentLocalUIState.assignToMenuOpened",showGhostCommentMessage:"componentConfigSignal.uiState.showGhostCommentMessage",showReplies:"componentConfigSignal.uiState.showReplies",collapsedComments:"componentConfigSignal.uiState.collapsedComments",collapsedRepliesPreview:"componentConfigSignal.uiState.collapsedRepliesPreview",showAllComments:"componentConfigSignal.uiState.showAllComments",composerContent:"parentLocalUIState.composerContent",composerContentHTML:"parentLocalUIState.composerContentHTML",composerInOpenState:"parentLocalUIState.composerInOpenState",composerMode:"componentConfigSignal.uiState.composerMode",multiThreadAnnotationId:"componentConfigSignal.uiState.multiThreadAnnotationId",maxReplyAvatars:"componentConfigSignal.uiState.maxReplyAvatars",showSuggestionModeActions:"componentConfigSignal.uiState.showSuggestionModeActions",uploadingAttachments:"componentConfigSignal.uiState.uploadingAttachments",playVideoInFullScreen:"componentConfigSignal.uiState.playVideoInFullScreen",commentDialogUniqueId:"componentConfigSignal.uiState.commentDialogUniqueId",recorderInitConfig:"componentConfigSignal.uiState.recorderInitConfig",isInputFocused:"componentConfigSignal.uiState.isInputFocused",showCommentButtons:"componentConfigSignal.uiState.showCommentButtons",isAutocompleteDropdownOpen:"componentConfigSignal.uiState.isAutocompleteDropdownOpen",bottomSheetMode:"componentConfigSignal.uiState.bottomSheetMode",commentComposerMode:"componentConfigSignal.uiState.commentComposerMode",shouldScrollToBottom:"componentConfigSignal.uiState.shouldScrollToBottom",deviceType:"componentConfigSignal.uiState.deviceType",showReplyComposer:"componentConfigSignal.uiState.showReplyComposer",reactionToolOpenIndex:"componentConfigSignal.uiState.reactionToolOpenIndex",openDropdownIndexValue:"componentConfigSignal.uiState.openDropdownIndexValue",hasReactionsByCommentId:"componentConfigSignal.uiState.hasReactionsByCommentId",newComment:"parentLocalUIState.composerContent",newCommentHTML:"parentLocalUIState.composerContentHTML",canResolveAnnotation:"componentConfigSignal.featureState.canResolveAnnotation",canUnresolveAnnotation:"componentConfigSignal.featureState.canUnresolveAnnotation",dialogSelectedByKnownUser:"componentConfigSignal.featureState.dialogSelectedByKnownUser",resolveStatusAccessAdminOnly:"componentConfigSignal.featureState.resolveStatusAccessAdminOnly",enableResolve:"componentConfigSignal.featureState.enableResolve",isPlanExpired:"componentConfigSignal.featureState.isPlanExpired",moderatorMode:"componentConfigSignal.featureState.moderatorMode",enableAutoCategorize:"componentConfigSignal.featureState.enableAutoCategorize",suggestionMode:"componentConfigSignal.featureState.suggestionMode",commentAcceptedStatus:"componentConfigSignal.featureState.commentAcceptedStatus",commentRejectedStatus:"componentConfigSignal.featureState.commentRejectedStatus",enableSignInButton:"componentConfigSignal.featureState.enableSignInButton",enableUpgradeButton:"componentConfigSignal.featureState.enableUpgradeButton",enableGhostCommentsMessage:"componentConfigSignal.featureState.enableGhostCommentsMessage",replyAvatars:"componentConfigSignal.featureState.replyAvatars",userMentions:"componentConfigSignal.featureState.userMentions",recordingSummaryEnabled:"componentConfigSignal.featureState.recordingSummaryEnabled",enableAttachment:"componentConfigSignal.featureState.enableAttachment",allowedFileTypes:"componentConfigSignal.featureState.allowedFileTypes",allowedRecordings:"componentConfigSignal.featureState.allowedRecordings",screenSharingSupported:"componentConfigSignal.featureState.screenSharingSupported",enterKeyToSubmit:"componentConfigSignal.featureState.enterKeyToSubmit",deleteOnBackspace:"componentConfigSignal.featureState.deleteOnBackspace",showScreenSizeInfo:"componentConfigSignal.uiState.showScreenSizeInfo",enableReactions:"componentConfigSignal.featureState.enableReactions",isInsidePdfViewer:"componentConfigSignal.featureState.isInsidePdfViewer",sidebarButtonOnCommentDialogVisible:"componentConfigSignal.uiState.sidebarButtonOnCommentDialogVisible",enableStatus:"componentConfigSignal.featureState.enableStatus",customStatusesShown:"componentConfigSignal.featureState.customStatusesShown",statusOptions:"componentConfigSignal.featureState.statusOptions",enablePriority:"componentConfigSignal.featureState.enablePriority",visibilityOptions:"componentConfigSignal.featureState.visibilityOptions",priorityOptions:"componentConfigSignal.featureState.priorityOptions",enableAssignment:"componentConfigSignal.featureState.enableAssignment",enableNotifications:"componentConfigSignal.featureState.enableNotifications",enableEdit:"componentConfigSignal.featureState.enableEdit",enableDelete:"componentConfigSignal.featureState.enableDelete",enablePrivateMode:"componentConfigSignal.featureState.enablePrivateMode",deleteThreadWithFirstComment:"componentConfigSignal.featureState.deleteThreadWithFirstComment",seenByUsers:"componentConfigSignal.featureState.seenByUsers",allowAssignment:"componentConfigSignal.featureState.enableAssignment",allowToggleNotification:"componentConfigSignal.featureState.enableNotifications",allowEdit:"componentConfigSignal.featureState.enableEdit",allowChangeCommentAccessMode:"componentConfigSignal.featureState.enablePrivateMode",notificationEnabled:"notificationEnabled",mainCommentId:"componentConfigSignal.data.annotation.comments.0.commentId",commentObj:"commentObj",commentIndex:"commentIndex",userContact:"selectorItem.contact",comment:"commentObj",commentAnnotation:"componentConfigSignal.data.annotation",commentAnnotations:"componentConfigSignal.data.annotations",context:"parentLocalUIState.context",focusedAnnotation:"focusedAnnotation",notification:"notification",unreadNotificationsForYou:"componentConfigSignal.data.unreadNotificationsForYou",notificationsPanelVisible:"componentConfigSignal.uiState.notificationsPanelVisible",notificationsForYouInSession:"componentConfigSignal.data.notificationsForYouInSession",notificationsInSession:"componentConfigSignal.data.notificationsInSession",notificationsByUserMap:"componentConfigSignal.data.notificationsByUserMap",notificationsByDocumentId:"componentConfigSignal.data.notificationsByDocumentId",notificationsByDate:"componentConfigSignal.data.notificationsByDate",currentDocumentName:"componentConfigSignal.data.currentDocumentName",settingsConfig:"componentConfigSignal.data.settingsConfig",settingsSelectedOption:"componentConfigSignal.data.settingsSelectedOption",selectedTab:"componentConfigSignal.uiState.selectedTab",tabConfig:"componentConfigSignal.uiState.tabConfig",TABS:"componentConfigSignal.uiState.TABS",tabPage:"componentConfigSignal.uiState.tabPage",pageSize:"componentConfigSignal.uiState.pageSize",panelOpenMode:"componentConfigSignal.uiState.panelOpenMode",settingsOpen:"componentConfigSignal.uiState.settingsOpen",settingsAccordionExpanded:"componentConfigSignal.uiState.settingsAccordionExpanded",settingsMutedAll:"componentConfigSignal.uiState.settingsMutedAll",settingsItemRecentlyClosed:"componentConfigSignal.uiState.settingsItemRecentlyClosed",settingsLayout:"componentConfigSignal.uiState.settingsLayout",tabCount:"componentConfigSignal.uiState.tabCount",usersExpanded:"componentConfigSignal.uiState.usersExpanded",documentExpanded:"componentConfigSignal.uiState.documentExpanded",shadowDom:"componentConfigSignal.uiState.shadowDom",settingsEnabled:"componentConfigSignal.featureState.settingsEnabled",selectedMinimalFilterDropdownOption:"selectedMinimalFilterDropdownOption",appliedFiltersCount:"appliedFiltersCount",filteredCommentAnnotationsCount:"filteredCommentAnnotationsCount",unreadCommentAnnotationCount:"unreadCommentAnnotationCount",isEnabled:"componentConfigSignal.featureState.isEnabled",allActivities:"componentConfigSignal.data.allActivities",filteredActivities:"componentConfigSignal.data.filteredActivities",groupedActivities:"componentConfigSignal.data.groupedActivities",virtualScrollItems:"componentConfigSignal.data.virtualScrollItems",activeFilter:"componentConfigSignal.data.activeFilter",availableFilters:"componentConfigSignal.data.availableFilters",isOpen:"componentConfigSignal.uiState.isOpen",expandedGroups:"componentConfigSignal.uiState.expandedGroups",defaultVisibleCount:"componentConfigSignal.uiState.defaultVisibleCount",filterDropdownOpen:"componentConfigSignal.uiState.filterDropdownOpen",activity:"activityRecord",activityRecord:"activityRecord",dateGroup:"dateGroup",filter:"filterOption",filterOption:"filterOption",isActive:"isActive",isExpanded:"isExpanded",remainingCount:"remainingCount",showAdder:"componentConfigSignal.uiState.showAdder",commentToolEnabled:"componentConfigSignal.uiState.commentToolEnabled",isUserAllowed:"componentConfigSignal.uiState.isUserAllowed",enableTextComments:"componentConfigSignal.uiState.enableTextComments",rewriterEnabled:"componentConfigSignal.uiState.rewriterEnabled",rewriterDefaultUIEnabled:"componentConfigSignal.uiState.rewriterDefaultUIEnabled",selectedWordsCount:"componentConfigSignal.data.selectedWordsCount",selectedCharactersCount:"componentConfigSignal.data.selectedCharactersCount",allowedElementIds:"componentConfigSignal.data.allowedElementIds",contextId:"componentConfigSignal.data.contextId",position:"componentConfigSignal.data.position",MIN_ALLOWED_WORDS_COUNT:"componentConfigSignal.uiState.MIN_ALLOWED_WORDS_COUNT",MIN_ALLOWED_CHARACTERS_COUNT:"componentConfigSignal.uiState.MIN_ALLOWED_CHARACTERS_COUNT",MAX_ALLOWED_CHARACTERS_COUNT:"componentConfigSignal.uiState.MAX_ALLOWED_CHARACTERS_COUNT",filteredAnnotations:"componentConfigSignal.data.filteredAnnotations",multiThreadCommentAnnotation:"componentConfigSignal.data.multiThreadCommentAnnotation",nonDraftCommentsCount:"componentConfigSignal.data.nonDraftCommentsCount",commentPinType:"componentConfigSignal.uiState.commentPinType",hideMultiThreadAnnotationComposer:"componentConfigSignal.uiState.hideMultiThreadAnnotationComposer",dialogVariant:"componentConfigSignal.uiState.dialogVariant",minimalFilter:"componentConfigSignal.uiState.minimalFilter",minimalFilterDropdownOpen:"componentConfigSignal.uiState.minimalFilterDropdownOpen",minimalActionsDropdownOpen:"componentConfigSignal.uiState.minimalActionsDropdownOpen",noCommentsFoundForAppliedFilters:"componentConfigSignal.uiState.noCommentsFoundForAppliedFilters",noCommentsFound:"componentConfigSignal.uiState.noCommentsFound",isSelected:"isSelected",composerCommentAnnotation:"componentConfigSignal.data.composerCommentAnnotation",statuses:"componentConfigSignal.data.statuses",skeletonLoading:"componentConfigSignal.uiState.skeletonLoading",filterState:"componentConfigSignal.uiState.filterState",sortState:"componentConfigSignal.uiState.sortState",isResolvedCommentsOnDomFilterSelected:"componentConfigSignal.uiState.isResolvedCommentsOnDomFilterSelected",resolvedCommentsOnDom:"componentConfigSignal.uiState.resolvedCommentsOnDom",selectedAnnotationsMap:"componentConfigSignal.uiState.selectedAnnotationsMap",selectedAnnotationsLocationMap:"componentConfigSignal.uiState.selectedAnnotationsLocationMap",composerVariant:"parentLocalUIState.composerVariant",multiThread:"parentLocalUIState.multiThread",commentPlaceholder:"parentLocalUIState.commentPlaceholder",replyPlaceholder:"parentLocalUIState.replyPlaceholder",composerPlaceholder:"parentLocalUIState.composerPlaceholder",editPlaceholder:"parentLocalUIState.editPlaceholder",editCommentPlaceholder:"parentLocalUIState.editCommentPlaceholder",editReplyPlaceholder:"parentLocalUIState.editReplyPlaceholder",targetElementId:"parentLocalUIState.targetElementId",folderId:"parentLocalUIState.folderId",veltFolderId:"parentLocalUIState.veltFolderId",clientDocumentId:"parentLocalUIState.clientDocumentId",documentId:"parentLocalUIState.documentId",locationId:"parentLocalUIState.locationId",contextOptions:"parentLocalUIState.contextOptions",messageTruncation:"parentLocalUIState.messageTruncation",messageTruncationLines:"parentLocalUIState.messageTruncationLines",unresolvedAnnotationsCount:"componentConfigSignal.data.unresolvedAnnotationsCount",unreadCount:"componentConfigSignal.data.unreadCount",commentBubbleTargetPinHover:"parentLocalUIState.commentBubbleTargetPinHover",openDialog:"parentLocalUIState.openDialog",showAvatar:"parentLocalUIState.showAvatar",commentCountType:"parentLocalUIState.commentCountType"},zs=["user","annotation","annotations","allAnnotations","userContact","comment","commentAnnotation","commentAnnotations","recorderInitConfig","ghostComment","editComment","assignTo","customChipData","currentDialogView","context","focusedAnnotation","notification","selectedMinimalFilterDropdownOption","unreadNotificationsForYou","notificationsForYouInSession","notificationsInSession","notificationsByUserMap","notificationsByDocumentId","notificationsByDate","settingsConfig","settingsSelectedOption","settingsAccordionExpanded","tabConfig","tabPage","TABS","allActivities","filteredActivities","groupedActivities","virtualScrollItems","availableFilters","expandedGroups","activity","activityRecord","dateGroup","filter","filterOption","position","allowedElementIds","filteredAnnotations","multiThreadCommentAnnotation","composerCommentAnnotation","statuses","filterState","sortState","selectedAnnotationsMap","selectedAnnotationsLocationMap","contextOptions"],oi=(()=>{let _DynamicDataService=class _DynamicDataService{constructor(o,i,e,t,n,s){this.authService=o,this.serviceBook=i,this.loggingService=e,this.injector=t,this.docService=n,this.configService=s,this.subscriptions=[],this.commonData$=new b({}),this.evaluateConditionTriggered=new B,this.conditionRegex=/\{(.*?)\}/g,this.extractedProps={},this.condition="",this.dataComponentConfigSignal=V({});try{this.subscriptions.push(this.authService.getUser$().subscribe(r=>{this.commonData$.next(z(p({},this.commonData$.value),{user:r}))})),this.subscriptions.push(this.serviceBook.observe(it).pipe(D(Boolean),v(r=>r.getUnreadCommentAnnotationCountOnCurrentDocument$())).subscribe(r=>{this.commonData$.next(z(p({},this.commonData$.value),{unreadCommentAnnotationCount:r?.count||0}))})),this.subscriptions.push(this.serviceBook.observe(it).pipe(D(Boolean),v(r=>r.getUnreadCommentCountOnCurrentDocument$())).subscribe(r=>{this.commonData$.next(z(p({},this.commonData$.value),{unreadCommentCount:r?.count||0}))})),this.subscriptions.push(this.docService.getUIState$().subscribe(r=>{this.commonData$.next(p(p({},this.commonData$.value),r))})),this.subscriptions.push(this.getCommonData().subscribe(r=>{this.dataComponentConfigSignal.update(a=>(a=p(p({},a),r),a)),this.executeConditionalClasses()})),this.subscriptions.push(this.evaluateConditionTriggered.subscribe(r=>{this.extractedProps=r.extractedProps,this.evaluateCondition(r.className,r.elementRef,r.condition)}))}catch(r){this.loggingService.catch("Error in DynamicDataService constructor: ",r)}}ngOnDestroy(){try{this.subscriptions.forEach(o=>o.unsubscribe())}catch(o){this.loggingService.catch("Error in DynamicDataService ngOnDestroy: ",o)}}getCommonData(){return this.commonData$.asObservable()}getModifiedPathBasedOnCondition(o,i){try{return Object.keys(i).forEach(e=>{i[e].path=this.modifyPathBasedOnCondition(e,o)}),i}catch(e){this.loggingService.catch("Error in DynamicDataService getModifiedPathBasedOnCondition: ",e)}}getComputedValues(o,i,e,t,n,s){try{Object.keys(e).forEach(r=>{let a;if(Pe(o)?a=hi(()=>fi(o(),e[r].path)):a=hi(()=>fi(o,e[r].path)),Pe(a()))ze(()=>{try{let c=a()();e[r].value=c,this.evaluateConditionTriggered.emit({extractedProps:e,className:t,elementRef:n,condition:s})}catch{}},{injector:this.injector});else{let c=a();e[r].value=c,this.evaluateConditionTriggered.emit({extractedProps:e,className:t,elementRef:n,condition:s})}})}catch(r){this.loggingService.catch("Error in DynamicDataService getComputedValues: ",r)}}modifyPathBasedOnCondition(o,i){try{let e=o.match(/^([^\.\[]+)/),t=e?e[1]:o,n=o.slice(t.length);if(de[o])return de[o];if(["commentDialogOptionsDropdownConfigSignal","commentDialogStatusDropdownConfigSignal"].includes(t)&&n.startsWith(".")){let r=n.slice(1),a=r.match(/^([^\.\[]+)/),c=a?a[1]:r,d=r.slice(c.length);return de[c]?de[c]+d:"componentConfigSignal."+r}if(t&&i&&typeof i=="function"){let r=i();if(r&&t in r){let c=o.match(/\[(.*?)\]/);if(c&&c[1]){let d=c[1];if(d.includes(".")){let l=d.split(".")[0];if(de[l]){let u=d.replace(l,de[l]);return o.replace(`[${d}]`,`[${u}]`)}return l&&r&&l in r?o:o.replace(`[${d}]`,`[componentConfigSignal.${d}]`)}}return o}let a=r?.componentConfigSignal;if(a&&typeof a=="function"){let c=a();if(c&&t in c)return"componentConfigSignal."+o}}return de[t]?zs.includes(t)?de[t]+n:de[t]:"componentConfigSignal."+o}catch(e){return this.loggingService.catch("Error in DynamicDataService modifyPathBasedOnCondition: ",e),o}}applyConditionalClasses(o,i){try{this.elementRef=o,this.data=i}catch(e){this.loggingService.catch("Error in DynamicDataService applyConditionalClasses: ",e)}}executeConditionalClasses(){try{let o=this.getHostElementAttributes(this.elementRef),e=[...Object.keys(o).filter(t=>t.startsWith("velt-class-")).map(t=>({name:t,value:o[t]}))];if(o["velt-class"]){let t=o["velt-class"],n=/'([^']+)':\s*([^,]+)(?:,|$)/g,s=[],r=0,a=100,c;for(;(c=n.exec(t))!==null;){if(r++>a){this.loggingService.catch("Too many class definitions detected.");break}if(c.length<3)continue;let[,d,l]=c;!d||!l||d.split(" ").forEach(u=>{u.trim()&&s.push({name:`velt-class-${u.trim()}`,value:l.trim()})})}e=[...e,...s]}this.data&&typeof this.data=="object"&&Object.keys(this.data).forEach(t=>{this.updateDataComponentConfigSignal(t,this.data[t])}),e.forEach(t=>{let n=t.name.replace("velt-class-","");this.condition=t.value,this.condition&&(this.extractProps(),this.extractedProps=this.getModifiedPathBasedOnCondition(this.dataComponentConfigSignal,this.extractedProps),this.getComputedValues(this.dataComponentConfigSignal,this.evaluateCondition,this.extractedProps,n,this.elementRef,t.value))})}catch(o){this.loggingService.catch("Error in DynamicDataService applyConditionalClasses: ",o)}}updateDataComponentConfigSignal(o,i){try{o==="dataComponentConfigSignal"?this.dataComponentConfigSignal.set(i):this.dataComponentConfigSignal.update(e=>z(p({},e),{[o]:i}))}catch(e){this.loggingService.catch("Error in DataComponent updateDataComponentConfigSignal: ",e)}}extractProps(){try{this.extractedProps={},this.conditionRegex.lastIndex=0;let o;for(;(o=this.conditionRegex.exec(this.condition))!==null;){let i=o[1];this.extractedProps[i]={value:null,path:null,isDynamicPath:this.hasDynamicParts(i)}}}catch(o){this.loggingService.catch("Error in DynamicDataService extractProps: ",o)}}hasDynamicParts(o){try{let i=/\[[^\]'"]*[^\]'"]\]/.test(o),e=/\[[^[\]]*[\.\[][^[\]]*\]/.test(o);return i||e}catch(i){return this.loggingService.catch("Error checking for dynamic path: ",i),!1}}evaluateCondition(o,i,e){try{if(e){let t=this.extractedProps,n=e.replace(this.conditionRegex,(a,c)=>{let d=t[c];if(d&&d.value!==void 0){let l=d.value;return typeof l=="string"?`'${l}'`:typeof l=="boolean"||typeof l=="number"?String(l):l===null?"null":typeof l=="object"?l?"true":"false":String(l)}return"false"}),s=this.sanitizeCondition(n),r=this.safeEval(s);return o&&i&&(r?this.setHostElementClasses(i,o):this.removeHostElementClasses(i,o)),r}return!1}catch(t){return this.loggingService.catch("Error in IfComponent evaluateCondition: ",t),!1}}sanitizeCondition(o){try{return o.replace(/[^a-zA-Z0-9\s\+\-\*\/\%\(\)\!\=\<\>\|\&\.\[\]\{\},'"]/g,"")}catch(i){return this.loggingService.catch("Error in IfComponent sanitizeCondition: ",i),""}}safeEval(expression){try{if(this.configService.getSafeEval()){let o=this.tokenize(expression.trim());return this.evaluateTokens(o)}else return eval(expression)}catch(o){return this.loggingService.catch("safeEval error",o),!1}}tokenize(o){try{if(!o||o.trim()==="")return[];let i=[],e=0;for(;e<o.length;){let t=o[e];if(/\s/.test(t)){e++;continue}if(t==='"'||t==="'"){let n=t,s="";for(e++;e<o.length;)if(o[e]==="\\"&&e+1<o.length)s+=o[e+1],e+=2;else if(o[e]===n){e++;break}else s+=o[e],e++;i.push({type:"string",value:s});continue}if(t==="("){i.push({type:"lparen",value:"("}),e++;continue}if(t===")"){i.push({type:"rparen",value:")"}),e++;continue}if(e<o.length-2&&o.substring(e,e+3)==="==="){i.push({type:"operator",value:"===",precedence:4}),e+=3;continue}if(e<o.length-2&&o.substring(e,e+3)==="!=="){i.push({type:"operator",value:"!==",precedence:4}),e+=3;continue}if(e<o.length-1&&o.substring(e,e+2)==="&&"){i.push({type:"operator",value:"&&",precedence:2}),e+=2;continue}if(e<o.length-1&&o.substring(e,e+2)==="||"){i.push({type:"operator",value:"||",precedence:1}),e+=2;continue}if(e<o.length-1&&o.substring(e,e+2)==="<="){i.push({type:"operator",value:"<=",precedence:4}),e+=2;continue}if(e<o.length-1&&o.substring(e,e+2)===">="){i.push({type:"operator",value:">=",precedence:4}),e+=2;continue}if(e<o.length-1&&o.substring(e,e+2)==="=="){i.push({type:"operator",value:"==",precedence:4}),e+=2;continue}if(e<o.length-1&&o.substring(e,e+2)==="!="){i.push({type:"operator",value:"!=",precedence:4}),e+=2;continue}if(t==="!"){i.push({type:"unary",value:"!",precedence:5}),e++;continue}if(t==="<"){i.push({type:"operator",value:"<",precedence:4}),e++;continue}if(t===">"){i.push({type:"operator",value:">",precedence:4}),e++;continue}if(/[a-zA-Z0-9._]/.test(t)){let n="";for(;e<o.length&&/[a-zA-Z0-9._]/.test(o[e]);)n+=o[e],e++;/^-?\d+(\.\d+)?$/.test(n)?i.push({type:"number",value:parseFloat(n)}):n==="true"||n==="false"?i.push({type:"boolean",value:n==="true"}):n==="null"?i.push({type:"null",value:null}):n==="undefined"?i.push({type:"undefined",value:void 0}):i.push({type:"identifier",value:n});continue}e++}return i}catch(i){return this.loggingService.catch("tokenize error",i),[]}}evaluateTokens(o){try{if(!o||o.length===0)return!1;let i=this.infixToPostfix(o);return this.evaluatePostfix(i)}catch(i){return this.loggingService.catch("evaluateTokens error",i),!1}}infixToPostfix(o){try{let i=[],e=[];for(let t of o)if(t.type==="string"||t.type==="number"||t.type==="boolean"||t.type==="null"||t.type==="undefined"||t.type==="identifier")i.push(t);else if(t.type==="unary")e.push(t);else if(t.type==="operator"){for(;e.length>0;){let n=e[e.length-1];if(n.type==="lparen"||n.precedence!==void 0&&n.precedence<t.precedence)break;i.push(e.pop())}e.push(t)}else if(t.type==="lparen")e.push(t);else if(t.type==="rparen"){for(;e.length>0&&e[e.length-1].type!=="lparen";)i.push(e.pop());e.length>0&&e.pop()}for(;e.length>0;){let t=e.pop();t.type!=="lparen"&&t.type!=="rparen"&&i.push(t)}return i}catch(i){return this.loggingService.catch("infixToPostfix error",i),[]}}evaluatePostfix(o){try{let i=[];for(let e of o)if(e.type==="string"||e.type==="number"||e.type==="boolean"||e.type==="null"||e.type==="undefined"||e.type==="identifier")i.push(e.value);else if(e.type==="unary"){if(i.length>=1){let t=i.pop();e.value==="!"&&i.push(!this.isTruthy(t))}}else if(e.type==="operator"&&i.length>=2){let t=i.pop(),n=i.pop();e.value==="&&"?i.push(this.isTruthy(n)&&this.isTruthy(t)):e.value==="||"?i.push(this.isTruthy(n)||this.isTruthy(t)):i.push(this.compare(n,t,e.value))}return i.length===1?this.isTruthy(i[0]):!1}catch(i){return this.loggingService.catch("evaluatePostfix error",i),!1}}parseValue(o){try{let i=o.trim();return i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'")?i.substring(1,i.length-1):/^-?\d+(\.\d+)?$/.test(i)?parseFloat(i):i==="true"?!0:i==="false"?!1:i==="null"?null:i==="undefined"?void 0:i}catch(i){return this.loggingService.catch("parseValue error",i),o}}compare(o,i,e){try{switch(e){case"===":return o===i;case"!==":return o!==i;case"==":return o==i;case"!=":return o!=i;case"<":return o<i;case">":return o>i;case"<=":return o<=i;case">=":return o>=i;default:return!1}}catch(t){return this.loggingService.catch("compare error",t),!1}}isTruthy(o){try{return o==null||o===""||o==="false"?!1:o==="true"?!0:typeof o=="number"?o!==0:!!o}catch(i){return this.loggingService.catch("isTruthy error",i),!1}}getHostElementAttributes(o){try{let i=o,e={};for(let t of i.attributes)e[t.name]=t.value;return e}catch{return{}}}setHostElementClasses(o,i){try{o.classList.add(i)}catch{}}removeHostElementClasses(o,i){try{o.classList.remove(i)}catch{}}};_DynamicDataService.\u0275fac=function(i){return new(i||_DynamicDataService)(R(Pt),R(xt),R(te),R(E),R(Lt),R($e))},_DynamicDataService.\u0275prov=y({token:_DynamicDataService,factory:_DynamicDataService.\u0275fac,providedIn:"root"});let DynamicDataService=_DynamicDataService;return DynamicDataService})();var zo=(()=>{let i=class i{constructor(t,n){this.loggingService=t,this.configService=n,this.darkMode$=new b(!1)}setDarkMode(t){try{let n=document.documentElement;if(!n)return;t?n.setAttribute(je.ATTRIBUTES.VELT_THEME,"dark"):n.removeAttribute(je.ATTRIBUTES.VELT_THEME),this.darkMode$.next(t)}catch(n){this.loggingService.catch("Error in theme service setDarkMode: ",n)}}getDarkMode$(){return this.darkMode$.asObservable()}updateListenerOnConfigChange(){try{this.configService.getConfig$().subscribe(t=>{if(t&&t.usePrefersColorScheme){this.enablePrefersColorScheme();return}this.disablePrefersColorScheme()})}catch(t){this.loggingService.catch("Error in theme service updateListenerOnConfigChange: ",t)}}enablePrefersColorScheme(){try{if(this.disablePrefersColorScheme(),!window.matchMedia)return;this.darkModeQuery=window.matchMedia("(prefers-color-scheme: dark)"),this.setDarkMode(this.darkModeQuery.matches),this.darkModeQueryListener=t=>{this.setDarkMode(t.matches)},this.darkModeQuery.addEventListener("change",this.darkModeQueryListener)}catch(t){this.loggingService.catch("Error in theme service enablePrefersColorScheme: ",t)}}disablePrefersColorScheme(){try{this.darkModeQuery&&this.darkModeQueryListener&&this.darkModeQuery.removeEventListener("change",this.darkModeQueryListener)}catch(t){this.loggingService.catch("Error in theme service disablePrefersColorScheme: ",t)}}};i.\u0275fac=function(n){return new(n||i)(R(te),R($e))},i.\u0275prov=y({token:i,factory:i.\u0275fac,providedIn:"root"});let o=i;return o})();var Bo=(()=>{let i=class i{set veltIf(t){try{t&&this.setIfCondition(t)}catch(n){this._loggingService.catch("Error in BaseComponent set veltIf:",n)}}constructor(t,n,s){this._elementRef=t,this._dynamicDataService=n,this._loggingService=s,this.componentConfigSignal=V({}),this.veltElement=!0,this.conditionSignal=V(null)}initializeComponentConfigSignal(t){try{this.componentConfigSignal.set(t)}catch(n){this._loggingService.catch("Error in BaseComponent initializeComponentConfigSignal:",n)}}ngOnInit(){try{this._dynamicDataService.applyConditionalClasses(this._elementRef?.nativeElement,{componentConfigSignal:this.componentConfigSignal})}catch(t){this._loggingService.catch("Error in BaseComponent ngOnInit:",t)}}ngOnDestroy(){}setIfCondition(t){try{this.conditionSignal.set(t)}catch(n){this._loggingService.catch("Error in BaseComponent setIfCondition:",n)}}};i.\u0275fac=function(n){return new(n||i)(Z(k),Z(oi),Z(te))},i.\u0275cmp=W({type:i,selectors:[["app-base"]],hostVars:1,hostBindings:function(n,s){n&2&&fe("data-velt-element",s.veltElement)},inputs:{componentConfigSignal:"componentConfigSignal",template:"template",wireframe:"wireframe",veltIf:"veltIf"},standalone:!1,decls:0,vars:0,template:function(n,s){},encapsulation:2});let o=i;return o})();var Id=(()=>{let i=class i extends Bo{onDarkModeChange(){return this.darkModeSubject$.asObservable()}constructor(t,n,s,r,a,c,d){super(t,c,d),this._elementRef=t,this._themeService=n,this._changeDetector=s,this._featureService=r,this._componentDarkModeObservable=a,this._componentDarkMode=null,this._globalDarkMode=!1,this._featureDarkMode=!1,this._themeSubscriptions=[],this._darkMode=!1,this.darkMode=!1,this.darkModeSubject$=new b(!1);try{if(this._themeSubscriptions.push(this._themeService.getDarkMode$().subscribe(l=>{this._globalDarkMode=l,this.setDarkMode()})),this._featureService){let l=this._featureService;typeof l.getCommentContainerDarkMode=="function"?this._themeSubscriptions.push(l.getCommentContainerDarkMode().subscribe(u=>{this._featureDarkMode=u,this.setDarkMode()})):typeof l.getDarkMode$=="function"&&this._themeSubscriptions.push(l.getDarkMode$().subscribe(u=>{u!==null&&(this._featureDarkMode=u),this.setDarkMode()}))}this._componentDarkModeObservable&&this._componentDarkModeObservable instanceof ye&&this._themeSubscriptions.push(this._componentDarkModeObservable.subscribe(l=>{this._componentDarkMode=l,this.setDarkMode()}))}catch{}}ngOnInit(){super.ngOnInit()}ngOnChanges(t){try{if(t._darkMode){let n=t._darkMode.currentValue;typeof n=="string"&&(n=n==="true"),this._componentDarkMode=n,this.setDarkMode()}}catch{}}setComponentDarkMode(t){try{this._componentDarkMode=t,this.setDarkMode()}catch{}}setDarkMode(){try{this._componentDarkMode===null?this._featureDarkMode?this.darkMode=!0:this.darkMode=!!this._globalDarkMode:this.darkMode=!!this._componentDarkMode,this.darkMode?this._elementRef.nativeElement.hasAttribute("dark")||this._elementRef.nativeElement.setAttribute("dark",""):this._elementRef.nativeElement.hasAttribute("dark")&&this._elementRef.nativeElement.removeAttribute("dark"),this.darkModeSubject$.next(this.darkMode),this._changeDetector&&this._changeDetector.markForCheck()}catch{}}ngOnDestroy(){try{super.ngOnDestroy(),this._themeSubscriptions.forEach(t=>{t.unsubscribe()})}catch{}}};i.\u0275fac=function(n){return new(n||i)(Z(k),Z(zo),Z(Be),Z("FeatureService",8),Z(ye),Z(oi),Z(te))},i.\u0275cmp=W({type:i,selectors:[["app-themed"]],inputs:{_darkMode:[0,"darkMode","_darkMode"]},standalone:!1,features:[Y,se],decls:0,vars:0,template:function(n,s){},encapsulation:2,changeDetection:0});let o=i;return o})();export{Yn as a,Vt as b,ie as c,Ai as d,ki as e,ce as f,De as g,Ye as h,le as i,Gn as j,Yo as k,Oe as l,Wn as m,Jo as n,mi as o,_i as p,ge as q,Ge as r,we as s,$t as t,at as u,Ae as v,me as w,Xe as x,Qt as y,Re as z,Ii as A,wi as B,Ze as C,ao as D,lt as E,co as F,Ei as G,ss as H,dt as I,ho as J,Ti as K,_o as L,Li as M,ji as N,$i as O,rl as P,al as Q,Bi as R,Vi as S,Ni as T,zi as U,Io as V,qe as W,Mo as X,ii as Y,Ts as Z,Ms as _,xs as $,Ps as aa,Fs as ba,td as ca,oi as da,zo as ea,Bo as fa,Id as ga};
6
+ `],encapsulation:2})}return o})(),ko="--mat-dialog-transition-duration";function Ro(o){return o==null?null:typeof o=="number"?o:o.endsWith("ms")?ce(o.substring(0,o.length-2)):o.endsWith("s")?ce(o.substring(0,o.length-1))*1e3:o==="0"?0:null}var pt=(function(o){return o[o.OPEN=0]="OPEN",o[o.CLOSING=1]="CLOSING",o[o.CLOSED=2]="CLOSED",o})(pt||{}),qe=class{_ref;_config;_containerInstance;componentInstance;componentRef;disableClose;id;_afterOpened=new _;_beforeClosed=new _;_result;_closeFallbackTimeout;_state=pt.OPEN;_closeInteractionType;constructor(i,e,t){this._ref=i,this._config=e,this._containerInstance=t,this.disableClose=e.disableClose,this.id=i.id,i.addPanelClass("mat-mdc-dialog-panel"),t._animationStateChanged.pipe(D(n=>n.state==="opened"),ne(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(D(n=>n.state==="closed"),ne(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),i.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),Ct(this.backdropClick(),this.keydownEvents().pipe(D(n=>n.keyCode===27&&!this.disableClose&&!me(n)))).subscribe(n=>{this.disableClose||(n.preventDefault(),Gi(this,n.type==="keydown"?"keyboard":"mouse"))})}close(i){let e=this._config.closePredicate;e&&!e(i,this._config,this.componentInstance)||(this._result=i,this._containerInstance._animationStateChanged.pipe(D(t=>t.state==="closing"),ne(1)).subscribe(t=>{this._beforeClosed.next(i),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=pt.CLOSING,this._containerInstance._startExitAnimation())}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(i){let e=this._ref.config.positionStrategy;return i&&(i.left||i.right)?i.left?e.left(i.left):e.right(i.right):e.centerHorizontally(),i&&(i.top||i.bottom)?i.top?e.top(i.top):e.bottom(i.bottom):e.centerVertically(),this._ref.updatePosition(),this}updateSize(i="",e=""){return this._ref.updateSize(i,e),this}addPanelClass(i){return this._ref.addPanelClass(i),this}removePanelClass(i){return this._ref.removePanelClass(i),this}getState(){return this._state}_finishDialogClose(){this._state=pt.CLOSED,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}};function Gi(o,i,e){return o._closeInteractionType=i,o.close(e)}var Mo=new A("MatMdcDialogData"),xo=new A("mat-mdc-dialog-default-options"),Po=new A("mat-mdc-dialog-scroll-strategy",{providedIn:"root",factory:()=>{let o=h(E);return()=>Xe(o)}}),ii=(()=>{class o{_defaultOptions=h(xo,{optional:!0});_scrollStrategy=h(Po);_parentDialog=h(o,{optional:!0,skipSelf:!0});_idGenerator=h(ge);_injector=h(E);_dialog=h(zi);_animationsDisabled=Bi();_openDialogsAtThisLevel=[];_afterAllClosedAtThisLevel=new _;_afterOpenedAtThisLevel=new _;dialogConfigClass=gt;_dialogRefConstructor;_dialogContainerType;_dialogDataToken;get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){let e=this._parentDialog;return e?e._getAfterAllClosed():this._afterAllClosedAtThisLevel}afterAllClosed=yt(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Ce(void 0)));constructor(){this._dialogRefConstructor=qe,this._dialogContainerType=To,this._dialogDataToken=Mo}open(e,t){let n;t=p(p({},this._defaultOptions||new gt),t),t.id=t.id||this._idGenerator.getId("mat-mdc-dialog-"),t.scrollStrategy=t.scrollStrategy||this._scrollStrategy();let s=this._dialog.open(e,z(p({},t),{positionStrategy:Ze(this._injector).centerHorizontally().centerVertically(),disableClose:!0,closePredicate:void 0,closeOnDestroy:!1,closeOnOverlayDetachments:!1,disableAnimations:this._animationsDisabled||t.enterAnimationDuration?.toLocaleString()==="0"||t.exitAnimationDuration?.toString()==="0",container:{type:this._dialogContainerType,providers:()=>[{provide:this.dialogConfigClass,useValue:t},{provide:ve,useValue:t}]},templateContext:()=>({dialogRef:n}),providers:(r,a,c)=>(n=new this._dialogRefConstructor(r,t,c),n.updatePosition(t?.position),[{provide:this._dialogContainerType,useValue:c},{provide:this._dialogDataToken,useValue:a.data},{provide:this._dialogRefConstructor,useValue:n}])}));return n.componentRef=s.componentRef,n.componentInstance=s.componentInstance,this.openDialogs.push(n),this.afterOpened.next(n),n.afterClosed().subscribe(()=>{let r=this.openDialogs.indexOf(n);r>-1&&(this.openDialogs.splice(r,1),this.openDialogs.length||this._getAfterAllClosed().next())}),n}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(e){return this.openDialogs.find(t=>t.id===e)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(e){let t=e.length;for(;t--;)e[t].close()}static \u0275fac=function(t){return new(t||o)};static \u0275prov=y({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})(),Ts=(()=>{class o{dialogRef=h(qe,{optional:!0});_elementRef=h(k);_dialog=h(ii);ariaLabel;type="button";dialogResult;_matDialogClose;constructor(){}ngOnInit(){this.dialogRef||(this.dialogRef=Lo(this._elementRef,this._dialog.openDialogs))}ngOnChanges(e){let t=e._matDialogClose||e._matDialogCloseResult;t&&(this.dialogResult=t.currentValue)}_onButtonClick(e){Gi(this.dialogRef,e.screenX===0&&e.screenY===0?"keyboard":"mouse",this.dialogResult)}static \u0275fac=function(t){return new(t||o)};static \u0275dir=F({type:o,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function(t,n){t&1&&_n("click",function(r){return n._onButtonClick(r)}),t&2&&fe("aria-label",n.ariaLabel||null)("type",n.type)},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],type:"type",dialogResult:[0,"mat-dialog-close","dialogResult"],_matDialogClose:[0,"matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],features:[se]})}return o})(),Fo=(()=>{class o{_dialogRef=h(qe,{optional:!0});_elementRef=h(k);_dialog=h(ii);constructor(){}ngOnInit(){this._dialogRef||(this._dialogRef=Lo(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{this._onAdd()})}ngOnDestroy(){this._dialogRef?._containerInstance&&Promise.resolve().then(()=>{this._onRemove()})}static \u0275fac=function(t){return new(t||o)};static \u0275dir=F({type:o})}return o})(),Ms=(()=>{class o extends Fo{id=h(ge).getId("mat-mdc-dialog-title-");_onAdd(){this._dialogRef._containerInstance?._addAriaLabelledBy?.(this.id)}_onRemove(){this._dialogRef?._containerInstance?._removeAriaLabelledBy?.(this.id)}static \u0275fac=(()=>{let e;return function(n){return(e||(e=ue(o)))(n||o)}})();static \u0275dir=F({type:o,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-mdc-dialog-title","mdc-dialog__title"],hostVars:1,hostBindings:function(t,n){t&2&&di("id",n.id)},inputs:{id:"id"},exportAs:["matDialogTitle"],features:[Y]})}return o})(),xs=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275dir=F({type:o,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-mdc-dialog-content","mdc-dialog__content"],features:[hn([st])]})}return o})(),Ps=(()=>{class o extends Fo{align;_onAdd(){this._dialogRef._containerInstance?._updateActionSectionCount?.(1)}_onRemove(){this._dialogRef._containerInstance?._updateActionSectionCount?.(-1)}static \u0275fac=(()=>{let e;return function(n){return(e||(e=ue(o)))(n||o)}})();static \u0275dir=F({type:o,selectors:[["","mat-dialog-actions",""],["mat-dialog-actions"],["","matDialogActions",""]],hostAttrs:[1,"mat-mdc-dialog-actions","mdc-dialog__actions"],hostVars:6,hostBindings:function(t,n){t&2&&et("mat-mdc-dialog-actions-align-start",n.align==="start")("mat-mdc-dialog-actions-align-center",n.align==="center")("mat-mdc-dialog-actions-align-end",n.align==="end")},inputs:{align:"align"},features:[Y]})}return o})();function Lo(o,i){let e=o.nativeElement.parentElement;for(;e&&!e.classList.contains("mat-mdc-dialog-container");)e=e.parentElement;return e?i.find(t=>t.id===e.id):null}var Fs=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=N({type:o});static \u0275inj=L({providers:[ii],imports:[Io,dt,Ae,Vi,Vi]})}return o})();var td=(()=>{let i=class i{constructor(t,n,s,r,a,c,d,l,u,w){this.analyticsService=t,this.authService=n,this.configService=s,this.coreActionsService=r,this.databaseService=a,this.docService=c,this.loggingService=d,this.commonDbService=l,this.usersService=u,this.serviceBook=w,this.db=null,this.internalUserContacts$=new b([]),this.userGlobalContact$=new b(!1),this.userGroupContact$=new b(null),this.users$=new b([]),this.userPersonalContacts=[],this.userGroupContacts=[],this.userGlobalContacts=[],this.users=[],this.documentPaths=null,this.userAccessFields$=new b({}),this.userOrganizationContacts$=new b([]),this.userFolderContacts$=new b([]),this.userDocumentContacts$=new b([]),this.userOrganizationGroups$=new b([]),this.onContactSelectedSubject$=new _,this.documentAccessType=null,this.atHereEnabled$=new b(!1),this.atHereLabel$=new b("here"),this.atHereDescription$=new b(null),this.contactListScopeForOrganizationUsers$=new b([S.ALL]),this.customUserContacts$=new b(null),this.customUserContactsConfig$=new b({merge:!1}),this.orgList$=new b([]),this.currentOrganizationUserIAM$=new b(null),this.userContacts$=new b([]),this.userSnippylyIdContacts$=new b(null),this.usersByOrganizationId$=new b({}),this.temporaryUserIds$=new b([]),this.usersByOrganizationIdAndDocumentId$=new b({}),this.usersByOrganizationIdAndFolderId$=new b({}),this.userById$=new b({}),this.searchUsersSubject$=new _,this.searchUsersDebounceTime=300,this.pendingSearchPromises=new Map,this.authService.setContactService(this),this.usersService.setContactService(this),this.serviceBook.observe(it).subscribe(f=>{this.commentService=f??void 0}),this.authService.getUser$().pipe(v(f=>this.docService.getDocumentPaths$().pipe(J(m=>{this.documentPaths=m}),C(()=>f)))).subscribe(f=>$(this,null,function*(){if(this.user=f,f&&this.documentPaths)if(!f?.organizationId)this.getLoggedInUsers$().subscribe(),this.getUserContactsFromDb$(),yield this.migrateLoggedInUserFromEmailToUserIdPath(f),this.setLoggedInUser(f),yield this.moveGlobalContactUserFromEmailToUserIdPath(f),this.updateUserInGlobalContactsIfAvailable(f),f?.groupId&&(yield this.migrateGroupContactsFromEmailToUserIdPath(f?.groupId)),this.checkToSetLoggedInUserInGroupContacts();else{let m=this.userPermissionService?.getCurrentUserPermissions(),I=this.documentPaths.folderId,K=!0;I&&m?.[f?.userId]?.folders?.[I]?.errorCode===ui.PERMISSION_DENIED&&(K=!1),this.getOrganizationContactsFromDb$(),K&&this.getFolderContactsFromDb$(),this.getDocumentContactsFromDb$(),this.getOrganizationGroupsFromDb$(),this.getTemporaryUsers()}else this.getUserContactSubscription?.unsubscribe(),this.getUserContactSubscription=void 0,this.getLoggedInUsersSubscription?.unsubscribe(),this.getLoggedInUsersSubscription=void 0,this.getOrganizationContactsSubscription?.unsubscribe(),this.getOrganizationContactsSubscription=void 0,this.getFolderContactsSubscription?.unsubscribe(),this.getFolderContactsSubscription=void 0,this.getDocumentContactsSubscription?.unsubscribe(),this.getDocumentContactsSubscription=void 0,this.getOrganizationGroupsSubscription?.unsubscribe(),this.getOrganizationGroupsSubscription=void 0}),f=>{this.loggingService.catch("Error in ContactService constructor getUser$: ",f)}),this.databaseService.getDb().pipe(D(f=>!!f),ne(1)).subscribe(f=>{f&&(this.db=f)},f=>{this.loggingService.catch("Error in ContactService constructor getDb: ",f)}),this.getOrganizationGroups$().subscribe(f=>{this.authService.setOrganizationUserGroups(f)}),Je([this.getInternalUserContacts$(),this.getCustomUserContacts$(),this.getCustomUserContactsConfig$()]).subscribe(([f,m,I])=>{m?I?.merge?this.userContacts$.next([...f||[],...m||[]]):this.userContacts$.next(m||[]):this.userContacts$.next(f||[])}),this.getUserContacts$().subscribe(f=>{try{f?.forEach(m=>{let I=m?.userSnippylyId||xn(this.configService.getApiKey(),m.userId);I&&this.userSnippylyIdContacts$.next(z(p({},this.userSnippylyIdContacts$.value),{[I]:m}))})}catch{}})}setCommentService(t){try{this.commentService=t}catch(n){this.loggingService.catch("Error in ContactService setCommentService: ",n)}}setUserPermissionService(t){try{this.userPermissionService=t}catch(n){this.loggingService.catch("Error in ContactService setUserPermissionService: ",n)}}clearCache(){this.loggingService.log("%c[WB] Calling FUNCTION: clearCache in ContactService","color: green;");try{this.documentPaths=null,this.usersByOrganizationId$.next({}),this.temporaryUserIds$.next([]),this.usersByOrganizationIdAndFolderId$.next({}),this.usersByOrganizationIdAndDocumentId$.next({}),this.userById$.next({}),this.userOrganizationContacts$.next([]),this.userFolderContacts$.next([]),this.userDocumentContacts$.next([]),this.userOrganizationGroups$.next([]),this.userContacts$.next([]),this.userSnippylyIdContacts$.next(null),this.userGlobalContact$.next(!1),this.userGroupContact$.next(null),this.users$.next([]),this.userPersonalContacts=[],this.userGroupContacts=[],this.userGlobalContacts=[],this.users=[],this.currentOrganizationUserIAM$.next(null)}catch(t){this.loggingService.catch("Error in ContactService clearCache: ",t)}}setDocumentAccessType(t){try{this.documentAccessType=t}catch(n){this.loggingService.catch("Error in ContactService setDocumentAccessType: ",n)}}checkIfUserGlobalContact(t){return $(this,null,function*(){try{if(t?.userId&&this.documentPaths?.globalContacts){let n=yield this.commonDbService?.getData({feature:"globalContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.userId),skipFirestore:!0}});if(Object.keys(n??{}).length>0)return!0}if(t?.email&&this.documentPaths?.globalContacts){let n=yield this.commonDbService?.getData({feature:"globalContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.email),skipFirestore:!0}});if(Object.keys(n??{}).length>0)return!0}return!1}catch(n){return this.loggingService.catch("Error in ContactService isUserGlobalContact: ",n),!1}})}setLoggedInUser(t){try{t?.userId&&this.documentPaths?.logins&&(this.commonDbService.updateData({feature:"logins",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.userId),skipFirestore:!0},data:JSON.parse(JSON.stringify(z(p({},t),{contacts:void 0})))}),this.setLoggedInUserPrivateContacts(t,t?.contacts))}catch(n){this.loggingService.catch("Error in ContactService setLoggedInUser: ",n)}}migrateLoggedInUserFromEmailToUserIdPath(t){return $(this,null,function*(){try{if(t?.email&&this.documentPaths?.logins){let n=yield this.commonDbService?.getData({feature:"logins",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.email),skipFirestore:!0}});if(Object.keys(n??{}).length>0){let s=n;if(s){if(s?.contacts){let r={};Object.keys(s?.contacts??{})?.forEach(a=>{let c=s.contacts[a];if(c?.userId){let d=O(c?.userId);r[d]=c}}),s.contacts=r}yield this.commonDbService.updateData({feature:"logins",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.userId),skipFirestore:!0},data:JSON.parse(JSON.stringify(s))}),yield this.commonDbService.deleteData({feature:"logins",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.email),skipFirestore:!0}})}}}}catch(n){this.loggingService.catch("Error in ContactService migrateLoggedInUserFromEmailToUserIdPath: ",n)}})}addGlobalContact(t){try{t?.userId&&this.documentPaths?.globalContacts&&this.commonDbService.updateData({feature:"globalContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.userId),skipFirestore:!0},data:JSON.parse(JSON.stringify(t))})}catch(n){this.loggingService.catch("Error in ContactService addGlobalContact: ",n)}}getUserAccessFields(){return JSON.parse(JSON.stringify(this.userAccessFields$.value))}getUserAccessFieldsByUserId(t){return this.getUserAccessFields()?.[t]}setUserAccessFields(t){try{let n=this.getUserAccessFields();t.forEach(r=>{n[r.user.userId]=r.accessFields||[]});let s=this.authService.getUser()?.userId;if(s&&n?.[s]?.length){let r=this.userPermissionService?.getCurrentUserPermissions();r&&(r[s]||(r[s]={}),r[s].context={accessFields:n[s]},this.userPermissionService?.setCurrentUserPermissions(r))}this.userAccessFields$.next(JSON.parse(JSON.stringify(n)))}catch(n){this.loggingService.catch("Error in ContactService setUserAccessFields: ",n)}}updateUserInGlobalContactsIfAvailable(t){return $(this,null,function*(){try{if(t?.userId&&this.documentPaths?.globalContacts&&(yield this.checkIfUserGlobalContact(t))){let s=new kn;s.userId=t?.userId,s.userSnippylyId=t?.userSnippylyId,s.email=t?.email,s.name=t?.name,s.photoUrl=t?.photoUrl,this.commonDbService.updateData({feature:"globalContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.userId),skipFirestore:!0},data:JSON.parse(JSON.stringify(s))})}}catch(n){this.loggingService.catch("Error in ContactService updateUserInGlobalContactsIfAvailable: ",n)}})}moveGlobalContactUserFromEmailToUserIdPath(t){return $(this,null,function*(){try{if(t?.email&&t?.userId&&this.documentPaths?.globalContacts){let n=yield this.commonDbService?.getData({feature:"globalContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.email),skipFirestore:!0}});if(Object.keys(n??{}).length>0){let s=n;s&&(yield this.commonDbService.updateData({feature:"globalContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.userId),skipFirestore:!0},data:JSON.parse(JSON.stringify(s))}),yield this.commonDbService.deleteData({feature:"globalContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.email),skipFirestore:!0}}))}}}catch(n){this.loggingService.catch("Error in ContactService removeUserFromGlobalContactsByEmail: ",n)}})}setLoggedInUserPrivateContacts(t,n){try{if(t?.userId&&this.documentPaths?.logins){let s,r=n?.filter(c=>c?.visibility!=="group"),a=!1;this.authService.getUserOptions()&&(a=!!this.authService.getUserOptions()?.replaceContacts||!!this.authService.getUserOptions()?.replacePrivateContacts),r?.length?(s={},r?.forEach(c=>{if(c?.userId){let d=O(c?.userId);s[d]=c}}),a?this.commonDbService.setData({feature:"allLoginContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.userId),skipFirestore:!0},data:JSON.parse(JSON.stringify(s))}):this.commonDbService.updateData({feature:"allLoginContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.userId),skipFirestore:!0},data:JSON.parse(JSON.stringify(s))})):a&&this.commonDbService.deleteData({feature:"allLoginContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",userId:O(t?.userId),skipFirestore:!0}})}}catch(s){this.loggingService.catch("Error in ContactService setLoggedInUserPrivateContacts: ",s)}}migrateGroupContactsFromEmailToUserIdPath(t){return $(this,null,function*(){try{if(this.documentPaths?.groupContacts&&t){let n=yield this.commonDbService?.getData({feature:"groupContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",groupId:t,skipFirestore:!0}});n&&Object.keys(n??{}).forEach(s=>$(this,null,function*(){let r=n[s];r?.email&&r?.userId&&O(r?.email)===s&&(yield this.commonDbService.deleteData({feature:"groupContactsUser",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",groupId:t,userId:s,skipFirestore:!0}}),yield this.commonDbService.updateData({feature:"groupContactsUser",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",groupId:t,userId:O(r?.userId),skipFirestore:!0},data:JSON.parse(JSON.stringify(r))}))}))}}catch(n){this.loggingService.catch("Error in ContactService migrateGroupContacts: ",n)}})}checkToSetLoggedInUserInGroupContacts(){return $(this,null,function*(){try{this.user?.groupId&&this.user?.userId&&((yield this.checkIfUserGlobalContact(this.user))||this.docService.getDocumentIam$().pipe(ne(1)).subscribe(n=>$(this,null,function*(){if(this.user?.groupId&&this.user?.userId){let s=!1,r=this.docService.getDocumentAccessType(n);if(!r||r===Rt.PUBLIC)s=!0;else if(r===Rt.RESTRICTED){let a=O(this.user?.userId);if(n?.users?.[a]&&(s=!0),this.user?.email){let c=O(this.user?.email);n?.users?.[c]&&(s=!0)}}if(s){let a=new Rn;a.email=this.user.email,a.visibility="group",a.name=this.user.name,a.photoUrl=this.user.photoUrl,a.userId=this.user.userId,(this.authService.getUserOptions()?.replaceContacts||this.authService.getUserOptions()?.replaceGroupContacts)&&(yield this.removeGroupContacts(this.user?.groupId)),this.setLoggedInUserGroupContacts(this.user?.groupId,[a]),this.user?.contacts&&this.user?.groupId&&this.setLoggedInUserGroupContacts(this.user?.groupId,this.user?.contacts)}}})))}catch(t){this.loggingService.catch("Error in ContactService checkToSetLoggedInUserInGroupContacts: ",t)}})}setLoggedInUserGroupContacts(t,n){try{let s=n?.filter(r=>r?.visibility==="group");s?.length&&s.forEach(r=>$(this,null,function*(){if(r?.userId&&t&&this.documentPaths?.groupContacts){if(this.configService?.getSF()&&(yield this.checkIfUserGlobalContact(r)))return;yield this.commonDbService.updateData({feature:"groupContactsUser",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",groupId:t,userId:O(r?.userId),skipFirestore:!0},data:JSON.parse(JSON.stringify(r))}),r?.email&&(yield this.commonDbService.deleteData({feature:"groupContactsUser",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",groupId:t,userId:O(r?.email),skipFirestore:!0}}))}}))}catch(s){this.loggingService.catch("Error in ContactService setLoggedInUserGroupContacts: ",s)}}removeGroupContacts(t){return $(this,null,function*(){try{if(this.documentPaths?.groupContacts&&t)return this.commonDbService.deleteData({feature:"groupContacts",properties:{documentId:this.documentPaths?.documentId??"",organizationId:this.documentPaths?.organizationId??"",groupId:t,skipFirestore:!0}})}catch(n){this.loggingService.catch("Error in ContactService removeGroupContacts: ",n)}})}mergeUserContacts(){try{let t=[];this.userPersonalContacts&&t.push(...this.userPersonalContacts),this.userGroupContacts&&t.push(...this.userGroupContacts),this.userGlobalContacts&&t.push(...this.userGlobalContacts);let n={};t.forEach(s=>{s?.userId?(!s?.email||!n[s.email])&&(n[s.userId]=s):s?.email&&(!s?.userId||!n[s.userId])&&(n[s.email]=s)}),t=Object.values(n??{}),this.internalUserContacts$.next(t)}catch(t){this.loggingService.catch("Error in ContactService mergeUserContacts: ",t)}}getInternalUserContacts(){return this.internalUserContacts$.value}getInternalUserContacts$(){return this.internalUserContacts$.asObservable()}getUserContacts$(t){try{let{organizationId:n,documentId:s,veltFolderId:r}=t||{};return n&&s?Je([this.usersByOrganizationId$,this.usersByOrganizationIdAndFolderId$,this.usersByOrganizationIdAndDocumentId$,this.userById$,this.customUserContacts$,this.customUserContactsConfig$,this.getContactListScopeForOrganizationUsers$(),this.temporaryUserIds$]).pipe(C(([a,c,d,l,u,w,f,m])=>{let I={},K=!1;w&&!w?.merge&&(K=!0);let x=Te=>f.some(Me=>Te.includes(Me)),X=x([S.ALL,S.ORGANIZATION])?Object.keys(a?.[n]||{}):[],G=r?x([S.ALL,S.FOLDER])?Object.keys(c?.[n]?.[r]||{}):[]:[],si=x([S.ALL,S.DOCUMENT])?Object.keys(d?.[n]?.[s]||{}):[];if([...X,...G||[],...si,...m].forEach(Te=>{let Me=l?.[Te];Me&&(I[Te]=Me)}),u){let{merge:Te,options:Me}=w||{},{organizationId:Wi,documentId:Yi,folderId:Ki}=Me||{},Xi=Ki?Tn(Ki):void 0;(!Wi||Wi===n)&&(!Yi||Yi===s)&&(!Xi||Xi===r)&&(Te||(I={}),u.forEach(ri=>{ri?.userId&&(I[ri.userId]=ri)}))}return Object.values(I??{})})):this.userContacts$.asObservable().pipe(C(a=>a))}catch(n){return this.loggingService.catch("Error in ContactService getUserContacts$ metadata: ",n),g([])}}getUserContactsBySnippylyId$(){return this.userSnippylyIdContacts$.asObservable()}getUserBySnippylyId(t){return this.userSnippylyIdContacts$.value?.[t]}getAtHereLabel(){return this.atHereLabel$.asObservable()}getAtHereDescription(){return this.atHereDescription$.asObservable()}getUserContactsFromDb$(){this.getUserContactSubscription||(this.getUserContactSubscription=this.authService.getUser$().pipe(D(t=>!!t),v(t=>this.docService.getDocumentPaths$().pipe(D(n=>!!n),J(n=>{this.documentPaths=n}),C(()=>t))),v(t=>{if(this.userGroupContacts=[],this.userPersonalContacts=[],!t)return g();if(!this.documentPaths)return g();let n=[];return n.push(this.commonDbService.dbListener({feature:"allGlobalContacts",properties:{documentId:this.documentPaths?.documentId,organizationId:this.documentPaths?.organizationId,skipFirestore:!0}}).pipe(C(s=>s?.data),J(s=>{s?(this.userGlobalContacts=Object.values(s??{}),this.userGlobalContacts?.find(r=>r.userId===this.user?.userId)?this.userGlobalContact$.next(!0):this.userGlobalContact$.next(!1)):(this.userGlobalContacts=[],this.userGlobalContact$.next(!1))}))),n.push(this.commonDbService.dbListener({feature:"groupContacts",properties:{documentId:this.documentPaths?.documentId,organizationId:this.documentPaths?.organizationId,skipFirestore:!0,groupId:t?.groupId}}).pipe(C(s=>s?.data),J(s=>{s?(this.userGroupContacts=Object.values(s??{}),this.userGroupContacts?.find(r=>r?.userId===this.user?.userId)?this.userGroupContact$.next(!0):this.userGroupContact$.next(!1)):(this.userGroupContacts=[],this.userGroupContact$.next(!1))}))),n.push(this.commonDbService.dbListener({feature:"allLoginContacts",properties:{documentId:this.documentPaths?.documentId,organizationId:this.documentPaths?.organizationId,skipFirestore:!0,userId:O(t?.userId)}}).pipe(C(s=>s?.data),J(s=>{s?this.userPersonalContacts=Object.values(s??{}):this.userPersonalContacts=[]}))),Ct(...n).pipe(he(this.authService.getUser$().pipe(D(s=>!s))))})).subscribe(()=>{this.mergeUserContacts()},t=>{this.loggingService.catch("Error in ContactService getUserContacts$ subscription: ",t)}))}addUserContact(t){try{this.user?.organizationId||this.user?.groupId&&(t.visibility="group",this.setLoggedInUserGroupContacts(this.user?.groupId,[t]))}catch(n){this.loggingService.catch("Error in ContactService addUserContact: ",n)}}isUserGlobalContact$(){return this.userGlobalContact$.asObservable().pipe(oe(Tt))}isUserGlobalContact(){return this.userGlobalContact$.value}isUserGroupContact$(){return this.userGroupContact$.asObservable()}isUserGroupContact(){return this.userGroupContact$.value}getLoggedInUsers$(){return this.getLoggedInUsersSubscription||(this.getLoggedInUsersSubscription=this.authService.getUser$().pipe(v(t=>t?this.documentPaths?t?.userId&&this.documentPaths?.logins?this.commonDbService.dbListener({feature:"allLogins",properties:{documentId:this.documentPaths?.documentId,organizationId:this.documentPaths?.organizationId,skipFirestore:!0}}).pipe(C(n=>n?.data),J(n=>{n?this.users=Object.values(n??{}):this.users=[]})):(this.users=[],g()):g():g())).subscribe(()=>{this.users$.next(this.users)},t=>{this.loggingService.catch("Error in ContactService getLoggedInUsers$ subscription: ",t)})),this.users$.asObservable()}getUsersMap$(){return this.authService.getUser$().pipe(v(t=>t?.organizationId?this.userById$.pipe(C(n=>{let s={};return Object.values(n||{}).forEach(r=>{r?.userSnippylyId&&(s[r?.userSnippylyId]=r)}),s})):this.users$.pipe(C(n=>{let s={};return n.forEach(r=>{s[r.userSnippylyId]=r}),s}))))}getUserByEmail$(t){return this.users$.pipe(C(n=>n.find(s=>s.email===t)))}getUserByEmail(t){return this.users?.find(n=>n.email===t)}getContactByEmail(t){return this.getInternalUserContacts().find(n=>n.email===t)}getUserByUserId$(t){return this.users$.pipe(C(n=>n.find(s=>s.userId===t)))}getUserGroupContacts(){return this.userGroupContacts}getTemporaryUsers(){try{let t=this.authService.getUser();this.docService.getOrganizationConfig$().pipe(D(n=>!!n),C(n=>n?.organizationId)).subscribe(n=>$(this,null,function*(){if(n&&t){let s=((yield this.commonDbService?.queryData({feature:"allPermissionsUsers",properties:{organizationId:n,useCollectionGroup:!1,isCollection:!0,firestoreQuery:[T("expiresAt",">",new Date().getTime())]}}))??[]).filter(r=>r?.userId!==t?.userId);if(s?.length){let r=s.map(l=>l?.userId),a=Mn(),c=An.GET_TEMPORARY_USERS;this.coreActionsService.triggerAction(On.USER_RESOLVER,{event:Mt.Events.Resolver.USER_RESOLUTION_REQUEST_FORMED,timestamp:new Date().getTime(),uniqueId:a,moduleName:c,methodName:wn.GET_TEMPORARY_USERS,source:"internal",payload:{userIds:r}});let d=yield this.usersService.resolveUsers({userIds:r,uniqueId:a,moduleName:c});if(d){let l={};Object.entries(d).forEach(([w,f])=>{l[w]=f}),this.userById$.next(p(p({},this.userById$.value),l));let u=new Set([...this.temporaryUserIds$.value,...Object.keys(l)]);this.temporaryUserIds$.next(Array.from(u))}}}}))}catch(t){this.loggingService.catch("Error in ContactService getTemporaryUsers: ",t)}}searchUsers(t){return $(this,null,function*(){try{if(!t||typeof t!="string"||!t.trim())return[];let n=t.trim();return this.searchUsersDebounced$||(this.searchUsersDebounced$=this.searchUsersSubject$.pipe(St(this.searchUsersDebounceTime),oe(),v(s=>_t(this.performSearch(s)).pipe(C(r=>({searchText:s,results:r})),ai(r=>(this.loggingService.catch("Error in ContactService performSearch: ",r),g({searchText:s,results:[]})))))),this.searchUsersDebounced$.subscribe({next:({searchText:s,results:r})=>{Array.from(this.pendingSearchPromises.keys()).forEach(d=>{if(d!==s){let l=this.pendingSearchPromises.get(d);l&&(l.forEach(({resolve:u})=>u([])),this.pendingSearchPromises.delete(d))}});let c=this.pendingSearchPromises.get(s);c&&(c.forEach(({resolve:d})=>d(r)),this.pendingSearchPromises.delete(s))},error:s=>{this.pendingSearchPromises.forEach(r=>{r.forEach(({reject:a})=>a(s))}),this.pendingSearchPromises.clear()}})),new Promise((s,r)=>{this.pendingSearchPromises.has(n)||this.pendingSearchPromises.set(n,[]),this.pendingSearchPromises.get(n).push({resolve:s,reject:r}),this.searchUsersSubject$.next(n)})}catch(n){return this.loggingService.catch("Error in ContactService searchUsers: ",n),[]}})}performSearch(t){return $(this,null,function*(){try{let n=this.docService.getOrganizationConfig()?.organizationId;if(!n)return[];let s=this.documentPaths?.veltFolderId,r=this.docService.getDocumentIds().map(x=>x?.documentId),a=t.toLowerCase().trim(),c=a+"\uF8FF",d=[],l=r?.filter(x=>!!x)||[],u=l.length>0,w=!!s;if(u){let x=[];for(let G=0;G<l.length;G+=20)x.push(l.slice(G,G+20));x.forEach(G=>{let si=[T("documentIds","array-contains-any",G),T("viewerDocumentIds","array-contains-any",G)],mt=[T("organizationIds","array-contains-any",[n]),T("viewerOrganizationIds","array-contains-any",[n]),...si];w&&mt.push(T("folderIds","array-contains-any",[s]),T("viewerFolderIds","array-contains-any",[s])),d.push(this.commonDbService.queryData({feature:"allDocumentUsers",properties:{organizationId:n,isCollection:!0,useCollectionGroup:!1,useQuery:!0,firestoreQuery:[Se(Ie(...mt),T("user.name_lowercase",">=",a),T("user.name_lowercase","<",c)),Ve(10)]}}).catch(()=>[])),d.push(this.commonDbService.queryData({feature:"allDocumentUsers",properties:{organizationId:n,isCollection:!0,useCollectionGroup:!1,useQuery:!0,firestoreQuery:[Se(Ie(...mt),T("user.email_lowercase",">=",a),T("user.email_lowercase","<",c)),Ve(10)]}}).catch(()=>[]))})}let f=yield Promise.all(d),m=[];f.forEach(x=>{x&&Array.isArray(x)?x.forEach(X=>{X&&X.user&&X.user.userId&&m.push(X)}):x&&typeof x=="object"&&Object.values(x).forEach(G=>{G&&G.user&&G.user.userId&&m.push(G)})});let I=new Map;m.forEach(x=>{let X=x.user?.userId;X&&!I.has(X)&&I.set(X,x)});let K=Array.from(I.values());return this.setResolvedUsers(K,!0),K}catch(n){return this.loggingService.catch("Error in ContactService performSearch: ",n),[]}})}setResolvedUsers(t,n=!1){try{if(t?.length){let s=[],r=[],a=[],c=this.docService.getOrganizationConfig()?.organizationId,d=this.documentPaths?.veltFolderId,l=this.docService.getDocumentIds().map(f=>f?.documentId);t.forEach(f=>{this.userById$.value[f?.user?.userId]||(c&&f?.organizationIds?.includes(c)&&!s.find(m=>m?.user?.userId===f?.user?.userId)&&s.push(f),d&&f?.folderIds?.includes(d)&&!r.find(m=>m?.user?.userId===f?.user?.userId)&&r.push(f),l?.some(m=>f?.documentIds?.includes(m))&&!a.find(m=>m?.user?.userId===f?.user?.userId)&&a.push(f))}),s?.length&&this.setUserOrganizationContacts(s,c,n),r?.length&&this.setUserFolderContacts(r,n),a?.length&&this.setUserDocumentContacts(a,n);let w=[...s,...r,...a].filter((f,m,I)=>m===I.findIndex(K=>K.user.userId===f.user.userId));w?.length&&(this.setUserAccessFields(w),this.mergeOrganizationAndDocumentContacts())}}catch(s){this.loggingService.catch("Error in ContactService setResolvedUsers: ",s)}}getOrganizationContactsFromDb$(){try{this.getOrganizationContactsSubscription||(this.getOrganizationContactsSubscription=this.authService.getUser$().pipe(v(t=>t?.organizationId?g(t).pipe(v(n=>this.docService.getOrganizationConfig$().pipe(D(s=>!!s),C(()=>n))),v(n=>this.usersService.getResolveOrganizationUsers$().pipe(D(s=>s),C(()=>n))),v(n=>{let s=this.docService.getOrganizationConfig()?.organizationId;return this.setUserOrganizationContacts([],s),n?s?this.commonDbService.dbListener({feature:"allOrganizationUsers",properties:{organizationId:s,isCollection:!0,useQuery:!0,firestoreQuery:[Se(Ie(T("organizationIds","array-contains-any",[s]),T("viewerOrganizationIds","array-contains-any",[s]))),Ft("id"),...this.commentService?.getPaginatedContactList()?[Ve(10)]:[]]}}).pipe(C(r=>r?.data),v(r=>this.commentService?.getPaginatedContactList()&&!Object.values(r??{}).find(a=>a?.user?.userId===this.authService.getUser()?.userId)?_t(this.commonDbService.queryData({feature:"allOrganizationUsers",properties:{organizationId:s,isCollection:!0,useQuery:!0,firestoreQuery:[Se(Ie(T("organizationIds","array-contains-any",[s]),T("viewerOrganizationIds","array-contains-any",[s])),T("user.userId","==",this.authService.getUser()?.userId))]}})).pipe(C(a=>{if(a&&a.length>0){let c=a[0],d=c?.user?.userId||c?.id;if(d&&r){let l=O(d);return z(p({},r),{[l]:c})}}return r})):g(r)),C(r=>{if(r){typeof r=="object"&&(r?.undefined&&delete r.undefined,r?.null&&delete r.null);let a=Object.values(r??{});this.setUserAccessFields(a),this.setUserOrganizationContacts(a,s)}else this.setUserOrganizationContacts([],s)})):g():g()}),v(()=>this.getContactListScopeForOrganizationUsers$())):(this.setUserOrganizationContacts([]),g()))).subscribe(()=>{this.mergeOrganizationAndDocumentContacts()},t=>{this.loggingService.catch("Error in ContactService getOrganizationContactsFromDb$ subscription: ",t)}))}catch{}}getFolderContactsFromDb$(){try{this.getFolderContactsSubscription||(this.getFolderContactsSubscription=this.authService.getUser$().pipe(v(t=>t?g(t).pipe(v(n=>this.docService.getOrganizationConfig$().pipe(D(s=>!!s),C(()=>n))),v(n=>this.usersService.getResolveFolderUsers$().pipe(D(s=>s),C(()=>n))),v(n=>{let s=this.docService.getOrganizationConfig()?.organizationId;if(this.setUserFolderContacts([]),!n)return g();if(!this.commonDbService.shouldUseFirestore())return g();if(!this.documentPaths?.veltFolderId)return g();let r=g([]);return r=this.commonDbService.dbListener({feature:"allFolderUsers",properties:{organizationId:s,folderId:this.documentPaths?.veltFolderId,isCollection:!0,useQuery:!0,firestoreQuery:[Se(Ie(T("folderIds","array-contains-any",[this.documentPaths?.veltFolderId]),T("viewerFolderIds","array-contains-any",[this.documentPaths?.veltFolderId]))),Ft("id"),...this.commentService?.getPaginatedContactList()?[Ve(10)]:[]]}}).pipe(C(a=>a?.data)),r.pipe(C(a=>{if(a){typeof a=="object"&&(a?.undefined&&delete a.undefined,a?.null&&delete a.null);let c=Object.values(a??{});this.setUserAccessFields(c),this.setUserFolderContacts(c)}else this.setUserFolderContacts([])}))}),v(()=>this.getContactListScopeForOrganizationUsers$())):(this.setUserFolderContacts([]),g()))).subscribe(()=>{this.mergeOrganizationAndDocumentContacts()},t=>{this.loggingService.catch("Error in ContactService getFolderContactsFromDb$ subscription: ",t)}))}catch{}}getDocumentContactsFromDb$(){try{this.getDocumentContactsSubscription||(this.getDocumentContactsSubscription=this.authService.getUser$().pipe(v(t=>t?g(t).pipe(v(n=>this.docService.getDocumentPaths$().pipe(D(s=>!!s),J(s=>{this.documentPaths=s}),C(()=>n))),v(n=>this.usersService.getResolveDocumentUsers$().pipe(D(s=>s),C(()=>n))),v(n=>(this.setUserDocumentContacts([]),n?this.documentPaths?this.docService.getDocumentIds$().pipe(v(s=>{let r=s?.length>0?s.map(l=>l.documentId):[this.documentPaths?.documentId??""];if(r.some(l=>!l)||!this.documentPaths)return g();let a=g([]),c={isCollection:!0,useQuery:!0};this.commonDbService.shouldUseFirestore()||(c.documentId=r?.length?r[0]:void 0,c.organizationId=this.documentPaths?.organizationId);let d=[];for(let l=0;l<r.length;l+=je.LISTENER_BATCH_SIZE)d.push(r.slice(l,l+je.LISTENER_BATCH_SIZE));return a=Je(d.map(l=>this.commonDbService.dbListener({feature:"allDocumentUsers",properties:z(p({},c),{firestoreQuery:[Se(Ie(T("documentIds","array-contains-any",l),T("viewerDocumentIds","array-contains-any",l))),Ft("id"),...this.commentService?.getPaginatedContactList()?[Ve(10)]:[]]})}).pipe(on()))).pipe(C(l=>Pn(l)?.data)),a.pipe(C(l=>{if(l){typeof l=="object"&&(l?.undefined&&delete l.undefined,l?.null&&delete l.null);let u=Object.values(l??{});this.setUserAccessFields(u),this.setUserDocumentContacts(u)}else this.setUserDocumentContacts([])}))})):g():g())),v(()=>this.getContactListScopeForOrganizationUsers$())):(this.setUserDocumentContacts([]),g()))).subscribe(()=>{this.mergeOrganizationAndDocumentContacts()},t=>{this.loggingService.catch("Error in ContactService getDocumentContactsFromDb$ subscription: ",t)}))}catch{}}setUserOrganizationContacts(t,n,s=!0){try{let r=t.find(c=>c.user.userId===this.user?.userId);r&&this.setCurrentOrganizationUserIAM(r);let a=t.map(c=>c.user)?.filter(c=>!this.userOrganizationContacts$.value.find(d=>d.userId===c.userId));if(this.userOrganizationContacts$.next([...this.userOrganizationContacts$.value,...a]),s&&this.usersService.setUserByIds(a),n){let c={};c[n]={};let d={};t.forEach(u=>{c[n][u.user.userId]=u,d[u.user.userId]=u.user}),this.userById$.next(p(p({},this.userById$.value),d));let l=this.usersByOrganizationId$.value?.[n];l&&(c[n]=p(p({},l),c[n])),this.usersByOrganizationId$.next(z(p({},this.usersByOrganizationId$.value),{[n]:c[n]}))}else this.usersByOrganizationId$.next({})}catch(r){this.loggingService.catch("Error in ContactService setUserOrganizationContacts: ",r)}}getUserOrganizationContacts$(){return this.getContactListScopeForOrganizationUsers$().pipe(v(()=>this.checkContactListScopeForOrganizationUsers([S.ALL,S.ORGANIZATION])?this.userOrganizationContacts$.asObservable():g([])))}getUserOrganizationContacts(){return this.checkContactListScopeForOrganizationUsers([S.ALL,S.ORGANIZATION])?this.userOrganizationContacts$.value:[]}setUserFolderContacts(t,n=!0){try{let s=t?.map(d=>d?.user)?.filter(d=>!this.userFolderContacts$.value.find(l=>l.userId===d.userId));this.userFolderContacts$.next([...this.userFolderContacts$.value,...s]),n&&this.usersService.setUserByIds(s);let r=this.usersByOrganizationIdAndFolderId$.value||{},a=p({},r),c={};t?.forEach(d=>{let{organizationId:l}=d?.metadata||{};l&&(a[l]||(a[l]={}),d.folderIds?.forEach(u=>{a[l][u]||(a[l][u]={}),a[l][u]=z(p({},a[l][u]),{[d.user.userId]:d}),c[d.user.userId]=d.user}))}),this.userById$.next(p(p({},this.userById$.value),c)),this.usersByOrganizationIdAndFolderId$.next(a)}catch(s){this.loggingService.catch("Error in ContactService updateUserFolderContacts: ",s)}}getUserFolderContacts$(){return this.getContactListScopeForOrganizationUsers$().pipe(v(()=>this.checkContactListScopeForOrganizationUsers([S.ALL,S.FOLDER])?this.userFolderContacts$.asObservable():g([])))}getUserFolderContacts(){return this.checkContactListScopeForOrganizationUsers([S.ALL,S.FOLDER])?this.userFolderContacts$.value:[]}setUserDocumentContacts(t,n=!0){try{let s=t?.map(d=>d?.user)?.filter(d=>!this.userDocumentContacts$.value.find(l=>l.userId===d.userId));this.userDocumentContacts$.next([...this.userDocumentContacts$.value,...s]),n&&this.usersService.setUserByIds(s);let r=this.usersByOrganizationIdAndDocumentId$.value||{},a=p({},r),c={};t?.forEach(d=>{let{organizationId:l}=d?.metadata||{};l&&(a[l]||(a[l]={}),d.documentIds?.forEach(u=>{a[l][u]||(a[l][u]={}),a[l][u]=z(p({},a[l][u]),{[d.user.userId]:d}),c[d.user.userId]=d.user}))}),this.userById$.next(p(p({},this.userById$.value),c)),this.usersByOrganizationIdAndDocumentId$.next(a)}catch(s){this.loggingService.catch("Error in ContactService updateUserDocumentContacts: ",s)}}getUserDocumentContacts$(){return this.getContactListScopeForOrganizationUsers$().pipe(v(()=>this.checkContactListScopeForOrganizationUsers([S.ALL,S.DOCUMENT])?this.userDocumentContacts$.asObservable():g([])))}getUserDocumentContacts(){return this.checkContactListScopeForOrganizationUsers([S.ALL,S.DOCUMENT])?this.userDocumentContacts$.value:[]}setCurrentOrganizationUserIAM(t){try{this.currentOrganizationUserIAM$.next(JSON.parse(JSON.stringify(t)))}catch(n){this.loggingService.catch("Error in ContactService setCurrentOrganizationUserIAM: ",n)}}getCurrentOrganizationUserIAM$(){return this.currentOrganizationUserIAM$.asObservable().pipe(oe(Tt))}getCurrentOrganizationUserIAM(){return this.currentOrganizationUserIAM$.value}mergeOrganizationAndDocumentContacts(){try{this.mergeContactsDebounceTimer&&clearTimeout(this.mergeContactsDebounceTimer),this.mergeContactsDebounceTimer=setTimeout(()=>{this.executeMergeContacts()},200)}catch(t){this.loggingService.catch("Error in ContactService mergeOrganizationAndDocumentContacts: ",t)}}executeMergeContacts(){try{let t=this.getContactListScopeForOrganizationUsers(),n=[];t.includes(S.ALL)?n=[...this.getUserOrganizationContacts(),...this.getUserFolderContacts(),...this.getUserDocumentContacts()]:t.includes(S.ORGANIZATION)?n=[...this.getUserOrganizationContacts()]:t.includes(S.FOLDER)?n=[...this.getUserFolderContacts()]:t.includes(S.DOCUMENT)&&(n=[...this.getUserDocumentContacts()]);let s=[...new Map(n.filter(r=>r?.userId).map(r=>[r.userId,r])).values()];this.internalUserContacts$.next(s)}catch(t){this.loggingService.catch("Error in ContactService mergeOrganizationAndDocumentContacts: ",t)}}getOrganizationGroupsFromDb$(){try{this.getOrganizationGroupsSubscription||(this.getOrganizationGroupsSubscription=this.authService.getUser$().pipe(v(t=>t?.organizationId?g(t).pipe(v(n=>this.docService.getOrganizationConfig$().pipe(D(s=>!!s),C(()=>n))),v(n=>{if(this.setUserOrganizationGroups([]),!n)return g();let s=this.docService.getOrganizationConfig(),r=s?.organizationId,a=s?.clientOrganizationId??"";if(!r)return g();let c=n.userId??"";return _t(this.userPermissionService?.getUserPermissionsFromCacheOrFetch({organizationId:a})??Promise.resolve({})).pipe(v(d=>c&&a&&d?.[c]?.organization?.[a]?.errorCode===ui.PERMISSION_DENIED?g():this.commonDbService.dbListener({feature:"allOrganizationGroups",properties:{organizationId:r,isCollection:!0}}).pipe(C(l=>l?.data),C(l=>{l?(typeof l=="object"&&(l?.undefined&&delete l.undefined,l?.null&&delete l.null),this.setUserOrganizationGroups(Object.values(l??{}))):this.setUserOrganizationGroups([])}))))})):(this.setUserOrganizationGroups([]),g()))).subscribe(()=>{},t=>{this.loggingService.catch("Error in ContactService getOrganizationGroupsFromDb$ subscription: ",t)}))}catch{}}setUserOrganizationGroups(t){try{this.userOrganizationGroups$.next(t)}catch(n){this.loggingService.catch("Error in ContactService setUserOrganizationGroups: ",n)}}onContactSelected(t){try{if(t?.userId){let n=!!this.getUserDocumentContacts().find(r=>r.userId===t.userId),s=!!this.getUserOrganizationContacts().find(r=>r.userId===t.userId);switch(this.documentAccessType){case Rt.RESTRICTED:if(!n){let r={contact:t,isOrganizationContact:s,isDocumentContact:n,documentAccessType:this.documentAccessType};this.onContactSelectedSubject$.next(r)}break}}else{let n={contact:t,isOrganizationContact:!1,isDocumentContact:!1,documentAccessType:this.documentAccessType};this.onContactSelectedSubject$.next(n)}}catch(n){this.loggingService.catch("Error in ContactService onContactSelected: ",n)}}onContactSelected$(){return this.onContactSelectedSubject$.asObservable()}getOrganizationGroups$(){return this.getContactListScopeForOrganizationUsers$().pipe(v(()=>this.checkContactListScopeForOrganizationUsers([S.ALL,S.ORGANIZATION_USER_GROUP])?this.userOrganizationGroups$.asObservable():g([])))}enableAtHere(){try{if(this.analyticsService.setFeatureConfig({feature:tt.COMMENT,config:{atHereEnabled:!0}}),this.atHereEnabled$.value===!0)return;this.atHereEnabled$.next(!0)}catch(t){this.loggingService.catch("Error in ContactService enableAtHere: ",t)}}setAtHereLabel(t){try{this.analyticsService.setFeatureConfig({feature:tt.COMMENT,config:{atHereLabel:t}}),t&&this.atHereLabel$.next(t)}catch(n){this.loggingService.catch("Error in ContactService setAtHereLabel: ",n)}}setAtHereDescription(t){try{this.analyticsService.setFeatureConfig({feature:tt.COMMENT,config:{atHereDescription:t}}),t&&this.atHereDescription$.next(t)}catch(n){this.loggingService.catch("Error in ContactService setAtHereDescription: ",n)}}disableAtHere(){try{if(this.analyticsService.setFeatureConfig({feature:tt.COMMENT,config:{atHereEnabled:!1}}),this.atHereEnabled$.value===!1)return;this.atHereEnabled$.next(!1)}catch(t){this.loggingService.catch("Error in ContactService disableAtHere: ",t)}}getAtHereEnabled$(){return this.getContactListScopeForOrganizationUsers$().pipe(v(()=>this.checkContactListScopeForOrganizationUsers([S.ALL,S.DOCUMENT])?this.atHereEnabled$.asObservable():g(!1)))}getAtHereEnabled(){return this.checkContactListScopeForOrganizationUsers([S.ALL,S.DOCUMENT])?this.atHereEnabled$.value:!1}updateContactListScopeForOrganizationUsers(t){try{this.contactListScopeForOrganizationUsers$.next(t)}catch(n){this.loggingService.catch("Error in ContactService updateContactListScopeForOrganizationUsers: ",n)}}getContactListScopeForOrganizationUsers$(){return this.contactListScopeForOrganizationUsers$.asObservable()}getContactListScopeForOrganizationUsers(){return this.contactListScopeForOrganizationUsers$.value}checkContactListScopeForOrganizationUsers(t){return this.getContactListScopeForOrganizationUsers().some(n=>t.includes(n))}updateContactList(t,n){return $(this,null,function*(){try{this.analyticsService.trackEvent(Mt.Events.Contact.UPDATE_CONTACT_LIST_TRIGGERED,{contactsCount:t?.length,config:n}),this.usersService.setContactListUsers(t),this.customUserContacts$.next(t),this.customUserContactsConfig$.next(n)}catch(s){this.loggingService.catch("Error in CommentService updateContactList: ",s)}})}updateOrgList(t){try{let n=t?.orgList??[];this.analyticsService.trackEvent(Mt.Events.Contact.UPDATE_ORG_LIST_TRIGGERED,{orgCount:n?.length}),this.orgList$.next(n)}catch(n){this.loggingService.catch("Error in ContactService updateOrgList: ",n)}}getOrgList$(){return this.orgList$.asObservable()}getOrgList(){return this.orgList$.value}convert(t){try{if(t?.options){let{documentId:n,organizationId:s}=this.docService.getServerId(t?.options);t.options=z(p({},t?.options),{documentId:n,organizationId:s})}return this}catch(n){return this.loggingService.catch("Error in ContactService convert: ",n),this}}getContactList$(){try{return this.authService.getUser$().pipe(v(t=>t?Je([this.userOrganizationContacts$.asObservable(),this.userFolderContacts$.asObservable(),this.userDocumentContacts$.asObservable(),this.userOrganizationGroups$.asObservable(),this.customUserContacts$.asObservable()]).pipe(C(([n,s,r,a,c])=>{let d={};d.organizationUsers=n?.map(u=>this.convertToClientUser(u)),d.folderUsers=s?.map(u=>this.convertToClientUser(u)),d.documentUsers=r?.map(u=>this.convertToClientUser(u)),d.updatedContactList=c?.map(u=>this.convertToClientUser(u));let l=[];return a?.forEach(u=>{let w=this.convertToClientUserGroup(u,d.organizationUsers||[]);w&&l.push(w)}),d.userGroups=l,d}),oe(Tt)):g(null)),ai(t=>(this.loggingService.catch("Error in ContactService getContactList$: ",t),g(null))))}catch(t){return this.loggingService.catch("Error in ContactService getContactList$: ",t),g(null)}}convertToClientUserGroup(t,n){try{let s={groupId:t?.metadata?.clientGroupId,groupName:t?.metadata?.groupName,users:[]},r={};return n?.forEach(a=>{if(a?.userId){let c=O(a.userId);r[c]=a}}),Object.keys(t?.users??{}).forEach(a=>{r[a]&&s.users?.push(r[a])}),s}catch(s){return this.loggingService.catch("Error in ContactService convertToClientUserGroup: ",s),null}}convertToClientUser(t){try{return t&&(t=JSON.parse(JSON.stringify(t)),t?.clientGroupId&&(t.groupId=t.clientGroupId,delete t.clientGroupId),t?.clientOrganizationId&&(t.organizationId=t.clientOrganizationId,delete t.clientOrganizationId),t?.userSnippylyId&&delete t.userSnippylyId),t}catch(n){return this.loggingService.catch("Error in ContactService convertToClientUser: ",n),t}}getCustomUserContacts(){return this.customUserContacts$.value}getCustomUserContacts$(){return this.customUserContacts$.asObservable()}getCustomUserContactsConfig(){return this.customUserContactsConfig$.value}getCustomUserContactsConfig$(){return this.customUserContactsConfig$.asObservable()}};i.\u0275fac=function(n){return new(n||i)(R(Fn),R(Pt),R($e),R(Ln),R(Un),R(Lt),R(te),R(zn),R(Nn),R(xt))},i.\u0275prov=y({token:i,factory:i.\u0275fac,providedIn:"root"});let o=i;return o})();var de={user:"componentConfigSignal.appState.user",isUserAdmin:"componentConfigSignal.appState.isUserAdmin",isKnownUser:"componentConfigSignal.appState.isKnownUser",repliesUniqueUsers:"componentConfigSignal.appState.repliesUniqueUsers",annotation:"componentConfigSignal.data.annotation",annotations:"componentConfigSignal.data.annotations",allAnnotations:"componentConfigSignal.data.allAnnotations",ghostComment:"componentConfigSignal.data.ghostComment",selectedFiles:"parentLocalUIState.selectedFiles",invalidSelectedFiles:"parentLocalUIState.invalidSelectedFiles",selectedAttachments:"parentLocalUIState.selectedAttachments",editComment:"parentLocalUIState.editComment",editCommentIndex:"parentLocalUIState.editCommentIndex",assignTo:"componentConfigSignal.data.assignTo",selectedUserContacts:"componentConfigSignal.data.selectedUserContacts",agentName:"componentConfigSignal.data.annotation.agent.agentName",agentAvatar:"componentConfigSignal.data.annotation.agent.avatar",agentResultTitle:"componentConfigSignal.data.annotation.agent.result.title",localRecordedData:"parentLocalUIState.localRecordedData",customList:"componentConfigSignal.data.customList",toOrganizationUserGroup:"componentConfigSignal.data.toOrganizationUserGroup",taggedUserContacts:"componentConfigSignal.data.taggedUserContacts",taggedGroups:"componentConfigSignal.data.taggedGroups",attachmentsToDelete:"parentLocalUIState.attachmentsToDelete",customChipData:"componentConfigSignal.data.customChipData",selectedCustomChipSet:"componentConfigSignal.data.selectedCustomChipSet",currentDialogView:"componentConfigSignal.data.currentDialogView",sidebarMode:"parentLocalUIState.sidebarMode",inboxMode:"parentLocalUIState.inboxMode",dialogMode:"parentLocalUIState.dialogMode",inlineCommentMode:"parentLocalUIState.inlineCommentMode",inlineCommentSectionMode:"parentLocalUIState.inlineCommentSectionMode",focusedThreadMode:"parentLocalUIState.focusedThreadMode",isFocusedThreadEnabled:"parentLocalUIState.isFocusedThreadEnabled",pageModeComposer:"parentLocalUIState.pageModeComposer",darkMode:"parentLocalUIState.darkMode",variant:"parentLocalUIState.variant",disabled:"parentLocalUIState.disabled",commentPinSelected:"parentLocalUIState.commentPinSelected",fullExpanded:"parentLocalUIState.fullExpanded",commentDialogSelected:"parentLocalUIState.commentDialogSelected",readOnly:"parentLocalUIState.readOnly",dialogShadowDOM:"parentLocalUIState.dialogShadowDOM",locationVersion:"parentLocalUIState.locationVersion",composerPosition:"parentLocalUIState.composerPosition",dialogOpenedInSidebar:"parentLocalUIState.dialogOpenedInSidebar",expandOnSelection:"parentLocalUIState.expandOnSelection",selectedVisibility:"parentLocalUIState.selectedVisibility",selectedVisibilityUsers:"parentLocalUIState.selectedVisibilityUsers",containerComponentId:"componentConfigSignal.uiState.containerComponentId",isPrivateComment:"componentConfigSignal.uiState.isPrivateComment",assignToMenuOpened:"parentLocalUIState.assignToMenuOpened",showGhostCommentMessage:"componentConfigSignal.uiState.showGhostCommentMessage",showReplies:"componentConfigSignal.uiState.showReplies",collapsedComments:"componentConfigSignal.uiState.collapsedComments",collapsedRepliesPreview:"componentConfigSignal.uiState.collapsedRepliesPreview",showAllComments:"componentConfigSignal.uiState.showAllComments",composerContent:"parentLocalUIState.composerContent",composerContentHTML:"parentLocalUIState.composerContentHTML",composerInOpenState:"parentLocalUIState.composerInOpenState",composerMode:"componentConfigSignal.uiState.composerMode",multiThreadAnnotationId:"componentConfigSignal.uiState.multiThreadAnnotationId",maxReplyAvatars:"componentConfigSignal.uiState.maxReplyAvatars",showSuggestionModeActions:"componentConfigSignal.uiState.showSuggestionModeActions",uploadingAttachments:"componentConfigSignal.uiState.uploadingAttachments",playVideoInFullScreen:"componentConfigSignal.uiState.playVideoInFullScreen",commentDialogUniqueId:"componentConfigSignal.uiState.commentDialogUniqueId",recorderInitConfig:"componentConfigSignal.uiState.recorderInitConfig",isInputFocused:"componentConfigSignal.uiState.isInputFocused",showCommentButtons:"componentConfigSignal.uiState.showCommentButtons",isAutocompleteDropdownOpen:"componentConfigSignal.uiState.isAutocompleteDropdownOpen",bottomSheetMode:"componentConfigSignal.uiState.bottomSheetMode",commentComposerMode:"componentConfigSignal.uiState.commentComposerMode",shouldScrollToBottom:"componentConfigSignal.uiState.shouldScrollToBottom",deviceType:"componentConfigSignal.uiState.deviceType",showReplyComposer:"componentConfigSignal.uiState.showReplyComposer",reactionToolOpenIndex:"componentConfigSignal.uiState.reactionToolOpenIndex",openDropdownIndexValue:"componentConfigSignal.uiState.openDropdownIndexValue",hasReactionsByCommentId:"componentConfigSignal.uiState.hasReactionsByCommentId",newComment:"parentLocalUIState.composerContent",newCommentHTML:"parentLocalUIState.composerContentHTML",canResolveAnnotation:"componentConfigSignal.featureState.canResolveAnnotation",canUnresolveAnnotation:"componentConfigSignal.featureState.canUnresolveAnnotation",dialogSelectedByKnownUser:"componentConfigSignal.featureState.dialogSelectedByKnownUser",resolveStatusAccessAdminOnly:"componentConfigSignal.featureState.resolveStatusAccessAdminOnly",enableResolve:"componentConfigSignal.featureState.enableResolve",isPlanExpired:"componentConfigSignal.featureState.isPlanExpired",moderatorMode:"componentConfigSignal.featureState.moderatorMode",enableAutoCategorize:"componentConfigSignal.featureState.enableAutoCategorize",suggestionMode:"componentConfigSignal.featureState.suggestionMode",commentAcceptedStatus:"componentConfigSignal.featureState.commentAcceptedStatus",commentRejectedStatus:"componentConfigSignal.featureState.commentRejectedStatus",enableSignInButton:"componentConfigSignal.featureState.enableSignInButton",enableUpgradeButton:"componentConfigSignal.featureState.enableUpgradeButton",enableGhostCommentsMessage:"componentConfigSignal.featureState.enableGhostCommentsMessage",replyAvatars:"componentConfigSignal.featureState.replyAvatars",userMentions:"componentConfigSignal.featureState.userMentions",recordingSummaryEnabled:"componentConfigSignal.featureState.recordingSummaryEnabled",enableAttachment:"componentConfigSignal.featureState.enableAttachment",allowedFileTypes:"componentConfigSignal.featureState.allowedFileTypes",allowedRecordings:"componentConfigSignal.featureState.allowedRecordings",screenSharingSupported:"componentConfigSignal.featureState.screenSharingSupported",enterKeyToSubmit:"componentConfigSignal.featureState.enterKeyToSubmit",deleteOnBackspace:"componentConfigSignal.featureState.deleteOnBackspace",showScreenSizeInfo:"componentConfigSignal.uiState.showScreenSizeInfo",enableReactions:"componentConfigSignal.featureState.enableReactions",isInsidePdfViewer:"componentConfigSignal.featureState.isInsidePdfViewer",sidebarButtonOnCommentDialogVisible:"componentConfigSignal.uiState.sidebarButtonOnCommentDialogVisible",enableStatus:"componentConfigSignal.featureState.enableStatus",customStatusesShown:"componentConfigSignal.featureState.customStatusesShown",statusOptions:"componentConfigSignal.featureState.statusOptions",enablePriority:"componentConfigSignal.featureState.enablePriority",visibilityOptions:"componentConfigSignal.featureState.visibilityOptions",priorityOptions:"componentConfigSignal.featureState.priorityOptions",enableAssignment:"componentConfigSignal.featureState.enableAssignment",enableNotifications:"componentConfigSignal.featureState.enableNotifications",enableEdit:"componentConfigSignal.featureState.enableEdit",enableDelete:"componentConfigSignal.featureState.enableDelete",enablePrivateMode:"componentConfigSignal.featureState.enablePrivateMode",deleteThreadWithFirstComment:"componentConfigSignal.featureState.deleteThreadWithFirstComment",seenByUsers:"componentConfigSignal.featureState.seenByUsers",allowAssignment:"componentConfigSignal.featureState.enableAssignment",allowToggleNotification:"componentConfigSignal.featureState.enableNotifications",allowEdit:"componentConfigSignal.featureState.enableEdit",allowChangeCommentAccessMode:"componentConfigSignal.featureState.enablePrivateMode",notificationEnabled:"notificationEnabled",mainCommentId:"componentConfigSignal.data.annotation.comments.0.commentId",commentObj:"commentObj",commentIndex:"commentIndex",userContact:"selectorItem.contact",comment:"commentObj",commentAnnotation:"componentConfigSignal.data.annotation",commentAnnotations:"componentConfigSignal.data.annotations",context:"parentLocalUIState.context",focusedAnnotation:"focusedAnnotation",notification:"notification",unreadNotificationsForYou:"componentConfigSignal.data.unreadNotificationsForYou",notificationsPanelVisible:"componentConfigSignal.uiState.notificationsPanelVisible",notificationsForYouInSession:"componentConfigSignal.data.notificationsForYouInSession",notificationsInSession:"componentConfigSignal.data.notificationsInSession",notificationsByUserMap:"componentConfigSignal.data.notificationsByUserMap",notificationsByDocumentId:"componentConfigSignal.data.notificationsByDocumentId",notificationsByDate:"componentConfigSignal.data.notificationsByDate",currentDocumentName:"componentConfigSignal.data.currentDocumentName",settingsConfig:"componentConfigSignal.data.settingsConfig",settingsSelectedOption:"componentConfigSignal.data.settingsSelectedOption",selectedTab:"componentConfigSignal.uiState.selectedTab",tabConfig:"componentConfigSignal.uiState.tabConfig",TABS:"componentConfigSignal.uiState.TABS",tabPage:"componentConfigSignal.uiState.tabPage",pageSize:"componentConfigSignal.uiState.pageSize",panelOpenMode:"componentConfigSignal.uiState.panelOpenMode",settingsOpen:"componentConfigSignal.uiState.settingsOpen",settingsAccordionExpanded:"componentConfigSignal.uiState.settingsAccordionExpanded",settingsMutedAll:"componentConfigSignal.uiState.settingsMutedAll",settingsItemRecentlyClosed:"componentConfigSignal.uiState.settingsItemRecentlyClosed",settingsLayout:"componentConfigSignal.uiState.settingsLayout",tabCount:"componentConfigSignal.uiState.tabCount",usersExpanded:"componentConfigSignal.uiState.usersExpanded",documentExpanded:"componentConfigSignal.uiState.documentExpanded",shadowDom:"componentConfigSignal.uiState.shadowDom",settingsEnabled:"componentConfigSignal.featureState.settingsEnabled",selectedMinimalFilterDropdownOption:"selectedMinimalFilterDropdownOption",appliedFiltersCount:"appliedFiltersCount",filteredCommentAnnotationsCount:"filteredCommentAnnotationsCount",unreadCommentAnnotationCount:"unreadCommentAnnotationCount",isEnabled:"componentConfigSignal.featureState.isEnabled",allActivities:"componentConfigSignal.data.allActivities",filteredActivities:"componentConfigSignal.data.filteredActivities",groupedActivities:"componentConfigSignal.data.groupedActivities",virtualScrollItems:"componentConfigSignal.data.virtualScrollItems",activeFilter:"componentConfigSignal.data.activeFilter",availableFilters:"componentConfigSignal.data.availableFilters",isOpen:"componentConfigSignal.uiState.isOpen",expandedGroups:"componentConfigSignal.uiState.expandedGroups",defaultVisibleCount:"componentConfigSignal.uiState.defaultVisibleCount",filterDropdownOpen:"componentConfigSignal.uiState.filterDropdownOpen",activity:"activityRecord",activityRecord:"activityRecord",dateGroup:"dateGroup",filter:"filterOption",filterOption:"filterOption",isActive:"isActive",isExpanded:"isExpanded",remainingCount:"remainingCount",showAdder:"componentConfigSignal.uiState.showAdder",commentToolEnabled:"componentConfigSignal.uiState.commentToolEnabled",isUserAllowed:"componentConfigSignal.uiState.isUserAllowed",enableTextComments:"componentConfigSignal.uiState.enableTextComments",rewriterEnabled:"componentConfigSignal.uiState.rewriterEnabled",rewriterDefaultUIEnabled:"componentConfigSignal.uiState.rewriterDefaultUIEnabled",selectedWordsCount:"componentConfigSignal.data.selectedWordsCount",selectedCharactersCount:"componentConfigSignal.data.selectedCharactersCount",allowedElementIds:"componentConfigSignal.data.allowedElementIds",contextId:"componentConfigSignal.data.contextId",position:"componentConfigSignal.data.position",MIN_ALLOWED_WORDS_COUNT:"componentConfigSignal.uiState.MIN_ALLOWED_WORDS_COUNT",MIN_ALLOWED_CHARACTERS_COUNT:"componentConfigSignal.uiState.MIN_ALLOWED_CHARACTERS_COUNT",MAX_ALLOWED_CHARACTERS_COUNT:"componentConfigSignal.uiState.MAX_ALLOWED_CHARACTERS_COUNT",filteredAnnotations:"componentConfigSignal.data.filteredAnnotations",multiThreadCommentAnnotation:"componentConfigSignal.data.multiThreadCommentAnnotation",nonDraftCommentsCount:"componentConfigSignal.data.nonDraftCommentsCount",commentPinType:"componentConfigSignal.uiState.commentPinType",hideMultiThreadAnnotationComposer:"componentConfigSignal.uiState.hideMultiThreadAnnotationComposer",dialogVariant:"componentConfigSignal.uiState.dialogVariant",minimalFilter:"componentConfigSignal.uiState.minimalFilter",minimalFilterDropdownOpen:"componentConfigSignal.uiState.minimalFilterDropdownOpen",minimalActionsDropdownOpen:"componentConfigSignal.uiState.minimalActionsDropdownOpen",noCommentsFoundForAppliedFilters:"componentConfigSignal.uiState.noCommentsFoundForAppliedFilters",noCommentsFound:"componentConfigSignal.uiState.noCommentsFound",isSelected:"isSelected",composerCommentAnnotation:"componentConfigSignal.data.composerCommentAnnotation",statuses:"componentConfigSignal.data.statuses",skeletonLoading:"componentConfigSignal.uiState.skeletonLoading",filterState:"componentConfigSignal.uiState.filterState",sortState:"componentConfigSignal.uiState.sortState",isResolvedCommentsOnDomFilterSelected:"componentConfigSignal.uiState.isResolvedCommentsOnDomFilterSelected",resolvedCommentsOnDom:"componentConfigSignal.uiState.resolvedCommentsOnDom",selectedAnnotationsMap:"componentConfigSignal.uiState.selectedAnnotationsMap",selectedAnnotationsLocationMap:"componentConfigSignal.uiState.selectedAnnotationsLocationMap",composerVariant:"parentLocalUIState.composerVariant",multiThread:"parentLocalUIState.multiThread",commentPlaceholder:"parentLocalUIState.commentPlaceholder",replyPlaceholder:"parentLocalUIState.replyPlaceholder",composerPlaceholder:"parentLocalUIState.composerPlaceholder",editPlaceholder:"parentLocalUIState.editPlaceholder",editCommentPlaceholder:"parentLocalUIState.editCommentPlaceholder",editReplyPlaceholder:"parentLocalUIState.editReplyPlaceholder",targetElementId:"parentLocalUIState.targetElementId",folderId:"parentLocalUIState.folderId",veltFolderId:"parentLocalUIState.veltFolderId",clientDocumentId:"parentLocalUIState.clientDocumentId",documentId:"parentLocalUIState.documentId",locationId:"parentLocalUIState.locationId",contextOptions:"parentLocalUIState.contextOptions",messageTruncation:"parentLocalUIState.messageTruncation",messageTruncationLines:"parentLocalUIState.messageTruncationLines",unresolvedAnnotationsCount:"componentConfigSignal.data.unresolvedAnnotationsCount",unreadCount:"componentConfigSignal.data.unreadCount",commentBubbleTargetPinHover:"parentLocalUIState.commentBubbleTargetPinHover",openDialog:"parentLocalUIState.openDialog",showAvatar:"parentLocalUIState.showAvatar",commentCountType:"parentLocalUIState.commentCountType"},zs=["user","annotation","annotations","allAnnotations","userContact","comment","commentAnnotation","commentAnnotations","recorderInitConfig","ghostComment","editComment","assignTo","customChipData","currentDialogView","context","focusedAnnotation","notification","selectedMinimalFilterDropdownOption","unreadNotificationsForYou","notificationsForYouInSession","notificationsInSession","notificationsByUserMap","notificationsByDocumentId","notificationsByDate","settingsConfig","settingsSelectedOption","settingsAccordionExpanded","tabConfig","tabPage","TABS","allActivities","filteredActivities","groupedActivities","virtualScrollItems","availableFilters","expandedGroups","activity","activityRecord","dateGroup","filter","filterOption","position","allowedElementIds","filteredAnnotations","multiThreadCommentAnnotation","composerCommentAnnotation","statuses","filterState","sortState","selectedAnnotationsMap","selectedAnnotationsLocationMap","contextOptions"],oi=(()=>{let _DynamicDataService=class _DynamicDataService{constructor(o,i,e,t,n,s){this.authService=o,this.serviceBook=i,this.loggingService=e,this.injector=t,this.docService=n,this.configService=s,this.subscriptions=[],this.commonData$=new b({}),this.evaluateConditionTriggered=new B,this.conditionRegex=/\{(.*?)\}/g,this.extractedProps={},this.condition="",this.dataComponentConfigSignal=V({});try{this.subscriptions.push(this.authService.getUser$().subscribe(r=>{this.commonData$.next(z(p({},this.commonData$.value),{user:r}))})),this.subscriptions.push(this.serviceBook.observe(it).pipe(D(Boolean),v(r=>r.getUnreadCommentAnnotationCountOnCurrentDocument$())).subscribe(r=>{this.commonData$.next(z(p({},this.commonData$.value),{unreadCommentAnnotationCount:r?.count||0}))})),this.subscriptions.push(this.serviceBook.observe(it).pipe(D(Boolean),v(r=>r.getUnreadCommentCountOnCurrentDocument$())).subscribe(r=>{this.commonData$.next(z(p({},this.commonData$.value),{unreadCommentCount:r?.count||0}))})),this.subscriptions.push(this.docService.getUIState$().subscribe(r=>{this.commonData$.next(p(p({},this.commonData$.value),r))})),this.subscriptions.push(this.getCommonData().subscribe(r=>{this.dataComponentConfigSignal.update(a=>(a=p(p({},a),r),a)),this.executeConditionalClasses()})),this.subscriptions.push(this.evaluateConditionTriggered.subscribe(r=>{this.extractedProps=r.extractedProps,this.evaluateCondition(r.className,r.elementRef,r.condition)}))}catch(r){this.loggingService.catch("Error in DynamicDataService constructor: ",r)}}ngOnDestroy(){try{this.subscriptions.forEach(o=>o.unsubscribe())}catch(o){this.loggingService.catch("Error in DynamicDataService ngOnDestroy: ",o)}}getCommonData(){return this.commonData$.asObservable()}getModifiedPathBasedOnCondition(o,i){try{return Object.keys(i).forEach(e=>{i[e].path=this.modifyPathBasedOnCondition(e,o)}),i}catch(e){this.loggingService.catch("Error in DynamicDataService getModifiedPathBasedOnCondition: ",e)}}getComputedValues(o,i,e,t,n,s){try{Object.keys(e).forEach(r=>{let a;if(Pe(o)?a=hi(()=>fi(o(),e[r].path)):a=hi(()=>fi(o,e[r].path)),Pe(a()))ze(()=>{try{let c=a()();e[r].value=c,this.evaluateConditionTriggered.emit({extractedProps:e,className:t,elementRef:n,condition:s})}catch{}},{injector:this.injector});else{let c=a();e[r].value=c,this.evaluateConditionTriggered.emit({extractedProps:e,className:t,elementRef:n,condition:s})}})}catch(r){this.loggingService.catch("Error in DynamicDataService getComputedValues: ",r)}}modifyPathBasedOnCondition(o,i){try{let e=o.match(/^([^\.\[]+)/),t=e?e[1]:o,n=o.slice(t.length);if(de[o])return de[o];if(["commentDialogOptionsDropdownConfigSignal","commentDialogStatusDropdownConfigSignal"].includes(t)&&n.startsWith(".")){let r=n.slice(1),a=r.match(/^([^\.\[]+)/),c=a?a[1]:r,d=r.slice(c.length);return de[c]?de[c]+d:"componentConfigSignal."+r}if(t&&i&&typeof i=="function"){let r=i();if(r&&t in r){let c=o.match(/\[(.*?)\]/);if(c&&c[1]){let d=c[1];if(d.includes(".")){let l=d.split(".")[0];if(de[l]){let u=d.replace(l,de[l]);return o.replace(`[${d}]`,`[${u}]`)}return l&&r&&l in r?o:o.replace(`[${d}]`,`[componentConfigSignal.${d}]`)}}return o}let a=r?.componentConfigSignal;if(a&&typeof a=="function"){let c=a();if(c&&t in c)return"componentConfigSignal."+o}}return de[t]?zs.includes(t)?de[t]+n:de[t]:"componentConfigSignal."+o}catch(e){return this.loggingService.catch("Error in DynamicDataService modifyPathBasedOnCondition: ",e),o}}applyConditionalClasses(o,i){try{this.elementRef=o,this.data=i}catch(e){this.loggingService.catch("Error in DynamicDataService applyConditionalClasses: ",e)}}executeConditionalClasses(){try{let o=this.getHostElementAttributes(this.elementRef),e=[...Object.keys(o).filter(t=>t.startsWith("velt-class-")).map(t=>({name:t,value:o[t]}))];if(o["velt-class"]){let t=o["velt-class"],n=/'([^']+)':\s*([^,]+)(?:,|$)/g,s=[],r=0,a=100,c;for(;(c=n.exec(t))!==null;){if(r++>a){this.loggingService.catch("Too many class definitions detected.");break}if(c.length<3)continue;let[,d,l]=c;!d||!l||d.split(" ").forEach(u=>{u.trim()&&s.push({name:`velt-class-${u.trim()}`,value:l.trim()})})}e=[...e,...s]}this.data&&typeof this.data=="object"&&Object.keys(this.data).forEach(t=>{this.updateDataComponentConfigSignal(t,this.data[t])}),e.forEach(t=>{let n=t.name.replace("velt-class-","");this.condition=t.value,this.condition&&(this.extractProps(),this.extractedProps=this.getModifiedPathBasedOnCondition(this.dataComponentConfigSignal,this.extractedProps),this.getComputedValues(this.dataComponentConfigSignal,this.evaluateCondition,this.extractedProps,n,this.elementRef,t.value))})}catch(o){this.loggingService.catch("Error in DynamicDataService applyConditionalClasses: ",o)}}updateDataComponentConfigSignal(o,i){try{o==="dataComponentConfigSignal"?this.dataComponentConfigSignal.set(i):this.dataComponentConfigSignal.update(e=>z(p({},e),{[o]:i}))}catch(e){this.loggingService.catch("Error in DataComponent updateDataComponentConfigSignal: ",e)}}extractProps(){try{this.extractedProps={},this.conditionRegex.lastIndex=0;let o;for(;(o=this.conditionRegex.exec(this.condition))!==null;){let i=o[1];this.extractedProps[i]={value:null,path:null,isDynamicPath:this.hasDynamicParts(i)}}}catch(o){this.loggingService.catch("Error in DynamicDataService extractProps: ",o)}}hasDynamicParts(o){try{let i=/\[[^\]'"]*[^\]'"]\]/.test(o),e=/\[[^[\]]*[\.\[][^[\]]*\]/.test(o);return i||e}catch(i){return this.loggingService.catch("Error checking for dynamic path: ",i),!1}}evaluateCondition(o,i,e){try{if(e){let t=this.extractedProps,n=e.replace(this.conditionRegex,(a,c)=>{let d=t[c];if(d&&d.value!==void 0){let l=d.value;return typeof l=="string"?`'${l}'`:typeof l=="boolean"||typeof l=="number"?String(l):l===null?"null":typeof l=="object"?l?"true":"false":String(l)}return"false"}),s=this.sanitizeCondition(n),r=this.safeEval(s);return o&&i&&(r?this.setHostElementClasses(i,o):this.removeHostElementClasses(i,o)),r}return!1}catch(t){return this.loggingService.catch("Error in IfComponent evaluateCondition: ",t),!1}}sanitizeCondition(o){try{return o.replace(/[^a-zA-Z0-9\s\+\-\*\/\%\(\)\!\=\<\>\|\&\.\[\]\{\},'"]/g,"")}catch(i){return this.loggingService.catch("Error in IfComponent sanitizeCondition: ",i),""}}safeEval(expression){try{if(this.configService.getSafeEval()){let o=this.tokenize(expression.trim());return this.evaluateTokens(o)}else return eval(expression)}catch(o){return this.loggingService.catch("safeEval error",o),!1}}tokenize(o){try{if(!o||o.trim()==="")return[];let i=[],e=0;for(;e<o.length;){let t=o[e];if(/\s/.test(t)){e++;continue}if(t==='"'||t==="'"){let n=t,s="";for(e++;e<o.length;)if(o[e]==="\\"&&e+1<o.length)s+=o[e+1],e+=2;else if(o[e]===n){e++;break}else s+=o[e],e++;i.push({type:"string",value:s});continue}if(t==="("){i.push({type:"lparen",value:"("}),e++;continue}if(t===")"){i.push({type:"rparen",value:")"}),e++;continue}if(e<o.length-2&&o.substring(e,e+3)==="==="){i.push({type:"operator",value:"===",precedence:4}),e+=3;continue}if(e<o.length-2&&o.substring(e,e+3)==="!=="){i.push({type:"operator",value:"!==",precedence:4}),e+=3;continue}if(e<o.length-1&&o.substring(e,e+2)==="&&"){i.push({type:"operator",value:"&&",precedence:2}),e+=2;continue}if(e<o.length-1&&o.substring(e,e+2)==="||"){i.push({type:"operator",value:"||",precedence:1}),e+=2;continue}if(e<o.length-1&&o.substring(e,e+2)==="<="){i.push({type:"operator",value:"<=",precedence:4}),e+=2;continue}if(e<o.length-1&&o.substring(e,e+2)===">="){i.push({type:"operator",value:">=",precedence:4}),e+=2;continue}if(e<o.length-1&&o.substring(e,e+2)==="=="){i.push({type:"operator",value:"==",precedence:4}),e+=2;continue}if(e<o.length-1&&o.substring(e,e+2)==="!="){i.push({type:"operator",value:"!=",precedence:4}),e+=2;continue}if(t==="!"){i.push({type:"unary",value:"!",precedence:5}),e++;continue}if(t==="<"){i.push({type:"operator",value:"<",precedence:4}),e++;continue}if(t===">"){i.push({type:"operator",value:">",precedence:4}),e++;continue}if(/[a-zA-Z0-9._]/.test(t)){let n="";for(;e<o.length&&/[a-zA-Z0-9._]/.test(o[e]);)n+=o[e],e++;/^-?\d+(\.\d+)?$/.test(n)?i.push({type:"number",value:parseFloat(n)}):n==="true"||n==="false"?i.push({type:"boolean",value:n==="true"}):n==="null"?i.push({type:"null",value:null}):n==="undefined"?i.push({type:"undefined",value:void 0}):i.push({type:"identifier",value:n});continue}e++}return i}catch(i){return this.loggingService.catch("tokenize error",i),[]}}evaluateTokens(o){try{if(!o||o.length===0)return!1;let i=this.infixToPostfix(o);return this.evaluatePostfix(i)}catch(i){return this.loggingService.catch("evaluateTokens error",i),!1}}infixToPostfix(o){try{let i=[],e=[];for(let t of o)if(t.type==="string"||t.type==="number"||t.type==="boolean"||t.type==="null"||t.type==="undefined"||t.type==="identifier")i.push(t);else if(t.type==="unary")e.push(t);else if(t.type==="operator"){for(;e.length>0;){let n=e[e.length-1];if(n.type==="lparen"||n.precedence!==void 0&&n.precedence<t.precedence)break;i.push(e.pop())}e.push(t)}else if(t.type==="lparen")e.push(t);else if(t.type==="rparen"){for(;e.length>0&&e[e.length-1].type!=="lparen";)i.push(e.pop());e.length>0&&e.pop()}for(;e.length>0;){let t=e.pop();t.type!=="lparen"&&t.type!=="rparen"&&i.push(t)}return i}catch(i){return this.loggingService.catch("infixToPostfix error",i),[]}}evaluatePostfix(o){try{let i=[];for(let e of o)if(e.type==="string"||e.type==="number"||e.type==="boolean"||e.type==="null"||e.type==="undefined"||e.type==="identifier")i.push(e.value);else if(e.type==="unary"){if(i.length>=1){let t=i.pop();e.value==="!"&&i.push(!this.isTruthy(t))}}else if(e.type==="operator"&&i.length>=2){let t=i.pop(),n=i.pop();e.value==="&&"?i.push(this.isTruthy(n)&&this.isTruthy(t)):e.value==="||"?i.push(this.isTruthy(n)||this.isTruthy(t)):i.push(this.compare(n,t,e.value))}return i.length===1?this.isTruthy(i[0]):!1}catch(i){return this.loggingService.catch("evaluatePostfix error",i),!1}}parseValue(o){try{let i=o.trim();return i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'")?i.substring(1,i.length-1):/^-?\d+(\.\d+)?$/.test(i)?parseFloat(i):i==="true"?!0:i==="false"?!1:i==="null"?null:i==="undefined"?void 0:i}catch(i){return this.loggingService.catch("parseValue error",i),o}}compare(o,i,e){try{switch(e){case"===":return o===i;case"!==":return o!==i;case"==":return o==i;case"!=":return o!=i;case"<":return o<i;case">":return o>i;case"<=":return o<=i;case">=":return o>=i;default:return!1}}catch(t){return this.loggingService.catch("compare error",t),!1}}isTruthy(o){try{return o==null||o===""||o==="false"?!1:o==="true"?!0:typeof o=="number"?o!==0:!!o}catch(i){return this.loggingService.catch("isTruthy error",i),!1}}getHostElementAttributes(o){try{let i=o,e={};for(let t of i.attributes)e[t.name]=t.value;return e}catch{return{}}}setHostElementClasses(o,i){try{o.classList.add(i)}catch{}}removeHostElementClasses(o,i){try{o.classList.remove(i)}catch{}}};_DynamicDataService.\u0275fac=function(i){return new(i||_DynamicDataService)(R(Pt),R(xt),R(te),R(E),R(Lt),R($e))},_DynamicDataService.\u0275prov=y({token:_DynamicDataService,factory:_DynamicDataService.\u0275fac,providedIn:"root"});let DynamicDataService=_DynamicDataService;return DynamicDataService})();var zo=(()=>{let i=class i{constructor(t,n){this.loggingService=t,this.configService=n,this.darkMode$=new b(!1)}setDarkMode(t){try{let n=document.documentElement;if(!n)return;t?n.setAttribute(je.ATTRIBUTES.VELT_THEME,"dark"):n.removeAttribute(je.ATTRIBUTES.VELT_THEME),this.darkMode$.next(t)}catch(n){this.loggingService.catch("Error in theme service setDarkMode: ",n)}}getDarkMode$(){return this.darkMode$.asObservable()}updateListenerOnConfigChange(){try{this.configService.getConfig$().subscribe(t=>{if(t&&t.usePrefersColorScheme){this.enablePrefersColorScheme();return}this.disablePrefersColorScheme()})}catch(t){this.loggingService.catch("Error in theme service updateListenerOnConfigChange: ",t)}}enablePrefersColorScheme(){try{if(this.disablePrefersColorScheme(),!window.matchMedia)return;this.darkModeQuery=window.matchMedia("(prefers-color-scheme: dark)"),this.setDarkMode(this.darkModeQuery.matches),this.darkModeQueryListener=t=>{this.setDarkMode(t.matches)},this.darkModeQuery.addEventListener("change",this.darkModeQueryListener)}catch(t){this.loggingService.catch("Error in theme service enablePrefersColorScheme: ",t)}}disablePrefersColorScheme(){try{this.darkModeQuery&&this.darkModeQueryListener&&this.darkModeQuery.removeEventListener("change",this.darkModeQueryListener)}catch(t){this.loggingService.catch("Error in theme service disablePrefersColorScheme: ",t)}}};i.\u0275fac=function(n){return new(n||i)(R(te),R($e))},i.\u0275prov=y({token:i,factory:i.\u0275fac,providedIn:"root"});let o=i;return o})();var Bo=(()=>{let i=class i{set veltIf(t){try{t&&this.setIfCondition(t)}catch(n){this._loggingService.catch("Error in BaseComponent set veltIf:",n)}}constructor(t,n,s){this._elementRef=t,this._dynamicDataService=n,this._loggingService=s,this.componentConfigSignal=V({}),this.veltElement=!0,this.conditionSignal=V(null)}initializeComponentConfigSignal(t){try{this.componentConfigSignal.set(t)}catch(n){this._loggingService.catch("Error in BaseComponent initializeComponentConfigSignal:",n)}}ngOnInit(){try{this._dynamicDataService.applyConditionalClasses(this._elementRef?.nativeElement,{componentConfigSignal:this.componentConfigSignal})}catch(t){this._loggingService.catch("Error in BaseComponent ngOnInit:",t)}}ngOnDestroy(){}setIfCondition(t){try{this.conditionSignal.set(t)}catch(n){this._loggingService.catch("Error in BaseComponent setIfCondition:",n)}}};i.\u0275fac=function(n){return new(n||i)(Z(k),Z(oi),Z(te))},i.\u0275cmp=W({type:i,selectors:[["app-base"]],hostVars:1,hostBindings:function(n,s){n&2&&fe("data-velt-element",s.veltElement)},inputs:{componentConfigSignal:"componentConfigSignal",template:"template",wireframe:"wireframe",veltIf:"veltIf"},standalone:!1,decls:0,vars:0,template:function(n,s){},encapsulation:2});let o=i;return o})();var Id=(()=>{let i=class i extends Bo{onDarkModeChange(){return this.darkModeSubject$.asObservable()}constructor(t,n,s,r,a,c,d){super(t,c,d),this._elementRef=t,this._themeService=n,this._changeDetector=s,this._featureService=r,this._componentDarkModeObservable=a,this._componentDarkMode=null,this._globalDarkMode=!1,this._featureDarkMode=!1,this._themeSubscriptions=[],this._darkMode=!1,this.darkMode=!1,this.darkModeSubject$=new b(!1);try{if(this._themeSubscriptions.push(this._themeService.getDarkMode$().subscribe(l=>{this._globalDarkMode=l,this.setDarkMode()})),this._featureService){let l=this._featureService;typeof l.getCommentContainerDarkMode=="function"?this._themeSubscriptions.push(l.getCommentContainerDarkMode().subscribe(u=>{this._featureDarkMode=u,this.setDarkMode()})):typeof l.getDarkMode$=="function"&&this._themeSubscriptions.push(l.getDarkMode$().subscribe(u=>{u!==null&&(this._featureDarkMode=u),this.setDarkMode()}))}this._componentDarkModeObservable&&this._componentDarkModeObservable instanceof ye&&this._themeSubscriptions.push(this._componentDarkModeObservable.subscribe(l=>{this._componentDarkMode=l,this.setDarkMode()}))}catch{}}ngOnInit(){super.ngOnInit()}ngOnChanges(t){try{if(t._darkMode){let n=t._darkMode.currentValue;typeof n=="string"&&(n=n==="true"),this._componentDarkMode=n,this.setDarkMode()}}catch{}}setComponentDarkMode(t){try{this._componentDarkMode=t,this.setDarkMode()}catch{}}setDarkMode(){try{this._componentDarkMode===null?this._featureDarkMode?this.darkMode=!0:this.darkMode=!!this._globalDarkMode:this.darkMode=!!this._componentDarkMode,this.darkMode?this._elementRef.nativeElement.hasAttribute("dark")||this._elementRef.nativeElement.setAttribute("dark",""):this._elementRef.nativeElement.hasAttribute("dark")&&this._elementRef.nativeElement.removeAttribute("dark"),this.darkModeSubject$.next(this.darkMode),this._changeDetector&&this._changeDetector.markForCheck()}catch{}}ngOnDestroy(){try{super.ngOnDestroy(),this._themeSubscriptions.forEach(t=>{t.unsubscribe()})}catch{}}};i.\u0275fac=function(n){return new(n||i)(Z(k),Z(zo),Z(Be),Z("FeatureService",8),Z(ye),Z(oi),Z(te))},i.\u0275cmp=W({type:i,selectors:[["app-themed"]],inputs:{_darkMode:[0,"darkMode","_darkMode"]},standalone:!1,features:[Y,se],decls:0,vars:0,template:function(n,s){},encapsulation:2,changeDetection:0});let o=i;return o})();export{Yn as a,Vt as b,ie as c,Ai as d,ki as e,ce as f,De as g,Ye as h,le as i,Gn as j,Yo as k,Oe as l,Wn as m,Jo as n,mi as o,_i as p,ge as q,Ge as r,we as s,$t as t,at as u,Ae as v,me as w,Xe as x,Qt as y,Re as z,Ii as A,wi as B,Ze as C,ao as D,lt as E,co as F,Ei as G,ss as H,dt as I,ho as J,Ti as K,_o as L,Li as M,ji as N,$i as O,rl as P,al as Q,Bi as R,Vi as S,Ni as T,zi as U,Io as V,qe as W,Mo as X,ii as Y,Ts as Z,Ms as _,xs as $,Ps as aa,Fs as ba,td as ca,oi as da,zo as ea,Bo as fa,Id as ga};