1import {w}from'./chunk-ByHjPY7G.js';import {j}from'./chunk-nJN1N4nk.js';import {i as ii}from'./chunk-YQfd79QB.js';import {m}from'./chunk-CSxVrAaL.js';import {x,s}from'./chunk-DKa_lTad.js';import {B as Bt}from'./chunk-CJ2yeGM5.js';import {Y as Yt}from'./chunk-CO5Um0T6.js';import {$ as $t}from'./chunk-3ogcLuT5.js';import {f}from'./chunk-CjNSgPDz.js';import {h as he}from'./chunk-C2EVnWPI.js';import {c as ce}from'./chunk-Cha4_V9g.js';import'./chunk-yuXVPJRt.js';import {g,b as gr,fe as qi,E,D,d0 as UD,H,bP as V,bQ as P,eZ as U,aE as lt,bO as Gt,O,a as G,h as c$1,eK as ht,dZ as Zt,A as Ao$1,K as Kb,k as Kv,x as xM,V as Vg,bt as Is,dg as jc,bu as Tg,bS as Dc,bY as Sc,T as Tt,cr as pe,d5 as Pe,a3 as qd,av as on$1,N as NC,ff as xu,fg as BC,fh as ad,P as Pg,bT as zc,l as b0,L as L0,bF as Nh,Y as Yx,cw as Ux,cx as ql,cy as Dp,m as dn$1,b2 as da,bI as kh,bR as Ch,n as Vw,bA as Pw,o as nk,t as td,p as tC,q as bC,s as sv,aF as ta,aG as pr,aH as ov,X as XC,c0 as $C,_ as _D,aO as oD,aP as lD,r as il,cB as Hg,u as XD,v as rM,F as Fb,fi as Rb,eO as Ab,w as t1,y as A1,z as gS,B as Vs,C as zs,aY as Hs,I as Fi,J as NS,Z as ZS,M as EI,Q as us,R as ms,S as HI,U as ZI,$ as Dn$1,a0 as kE,a1 as Jv,a2 as go,a4 as YE,a5 as OT,a6 as lA,aM as ZM,cA as zM,a7 as mt,aR as o_,a8 as cy,aa as Xs,ab as my,aB as Qm,ad as hd,aS as Pp,bi as v_,aU as Lp,ac as V_,ae as fS,a9 as qT,ai as ay,bC as tS,ag as _C,aj as ky,al as hS,ah as ZT,aZ as Ey,a_ as g_,a$ as m_,b8 as an$1,b9 as jm,cU as $v,cW as Xv,cV as Zv,ak as Dd,by as vr,bs as Fg,bv as Ag,bV as $s,bG as jt,d7 as Bp,d8 as Zl,af as KT,bB as lb,bE as fb,am as XT,bz as yr,bU as wh,bW as kc,e_ as xc,f as f$1,bZ as Vy,b_ as G_,b$ as By,bD as Z_,bp as Xi,bq as ht$1,ek as Yc,d1 as Kv$1,aV as QT,bb as YT,cs as Og,dh as bc,bw as Gt$1,bx as $c,b1 as ei,b3 as ed,aT as l_,eF as iy,ba as _y,aD as Fy,bg as gS$1,cG as yd,cH as Da}from'./main-CTPND76J.js';import {R as Ri}from'./chunk-CLFEoJNz.js';import'./chunk-CAH8VGMK.js';function Eo(o,f){o&1&&(Xs(0,"mat-error"),V_(1),fS(2,"translate"),hd()),o&2&&(_C(),Dd(" ",hS(2,1,"This field allowed characters count:")," 3-100 "));}var fo=(()=>{class o{constructor(t,i,e,s,d,M){this.data=t,this.contactService=i,this.errorService=e,this.translate=s,this.toastr=d,this.loadingService=M,this.dialogRef=g(an$1),this.submitted=g(jm),this.groupId=t.groupId,this.groupName=t.groupName;}updateGroup(t){if(this.groupId){let i=t.value.name;this.loadingService.loadingOn(),this.sub=this.contactService.updateGroup(this.groupId,i).subscribe({next:e=>{this.loadingService.loadingOff(),e?.succeeded?(this.submitted=true,this.toastr.success("Updated Successfully"),this.dialogRef.close(true)):this.errorService.setError(e,"Failed to Update");},error:e=>{this.errorService.setError(e,"Failed to Update");}});}}close(){this.dialogRef.close();}static{this.\u0275fac=function(i){return new(i||o)(H(jm),H(m),H(Gt),H(O),H(lt),H(P))};}static{this.\u0275cmp=Kb({type:o,selectors:[["update-group-dialog"]],decls:20,vars:15,consts:[["updateForm","ngForm"],["name","ngModel"],["method","post","novalidate","",3,"ngSubmit"],["mat-dialog-title","",1,"mat-subtitle-1"],[1,"mat-subtitle-2","f-w-600","m-b-8","d-block","m-t-12"],["color","primary",1,"w-100"],["matInput","","type","text","name","name","required","","minlength","3","maxlength","100",3,"ngModelChange","ngModel"],["type","button","mat-stroked-button","","color","warn",3,"click"],["type","submit","mat-flat-button","","color","primary","cdkFocusInitial","",3,"disabled"]],template:function(i,e){if(i&1){let s=o_();Xs(0,"form",2,0),my("ngSubmit",function(){Pp(s);let M=v_(1);return Lp(e.updateGroup(M))}),Xs(2,"h5",3),V_(3),fS(4,"translate"),hd(),Xs(5,"mat-dialog-content")(6,"mat-label",4),V_(7),fS(8,"translate"),hd(),Xs(9,"mat-form-field",5)(10,"input",6,1),Vy("ngModelChange",function(M){return Pp(s),G_(e.groupName,M)||(e.groupName=M),Lp(M)}),hd(),lb(),qT(12,Eo,3,3,"mat-error"),hd()(),Xs(13,"mat-dialog-actions")(14,"button",7),my("click",function(){return e.close()}),V_(15),fS(16,"translate"),hd(),Xs(17,"button",8),V_(18),fS(19,"translate"),hd()()();}if(i&2){let s=v_(1),d=v_(11);_C(3),ky(hS(4,7,"Enter the group name")),_C(4),ky(hS(8,9,"Group New Name")),_C(3),By("ngModel",e.groupName),fb(),_C(2),ZT(d.invalid&&(d.dirty||d.touched)?12:-1),_C(3),ky(hS(16,11,"Close")),_C(2),ay("disabled",s.invalid),_C(),ky(hS(19,13,"Update"));}},dependencies:[YE,Tt,dn$1,da,vr,wh,Vw,Pw,Pg,Fg,Is,Tg,Ag,$s,kc,Dc,zc,jt,Vg,Vs,zs,$v,Jv,Zv,Xv,EI,_D,Kv,b0,L0,Yx,nk,td,tC,bC,sv,NC,XC,il,XD,rM,Fb,t1,A1,gS,NS,ZS,us,HI,ZI,Dn$1,kE,go,qd,OT,lA,mt],encapsulation:2,changeDetection:1});}}return o}
1)();function Po(o,f){o&1&&(Xs(0,"mat-error"),V_(1),fS(2,"translate"),hd()),o&2&&(_C(),Dd(" ",hS(2,1,"This field allowed characters count:")," 3-100 "));}var oi=(()=>{class o{constructor(t,i,e,s,d,M){this.usersService=t,this.errorService=i,this.contactService=e,this.translate=s,this.toastr=d,this.loadingService=M,this.dialogRef=g(an$1),this.submitted=g(jm);}createGroup(t){let i=t.value.name;this.loadingService.loadingOn(),this.sub=this.contactService.createGroup(i).subscribe({next:e=>{this.loadingService.loadingOff(),e?.succeeded?(this.submitted=true,this.toastr.success("Added Successfully"),this.dialogRef.close(e)):this.errorService.setError(e,"Failed to Add");},error:e=>{this.errorService.setError(e,"Failed to Add");}});}close(){this.dialogRef.close();}static{this.\u0275fac=function(i){return new(i||o)(H(f$1),H(Gt),H(m),H(O),H(lt),H(P))};}static{this.\u0275cmp=Kb({type:o,selectors:[["create-group-dialog"]],decls:20,vars:14,consts:[["createForm","ngForm"],["name","ngModel"],["method","post","novalidate","",3,"ngSubmit"],["mat-dialog-title","",1,"mat-subtitle-1"],[1,"mat-subtitle-2","f-w-600","m-b-8","d-block","m-t-12"],["color","primary",1,"w-100"],["matInput","","type","text","ngModel","","name","name","required","","minlength","3","maxlength","100"],["type","button","mat-stroked-button","","color","warn",3,"click"],["type","submit","mat-flat-button","","color","primary","cdkFocusInitial","",3,"disabled"]],template:function(i,e){if(i&1){let s=o_();Xs(0,"form",2,0),my("ngSubmit",function(){Pp(s);let M=v_(1);return Lp(e.createGroup(M))}),Xs(2,"h5",3),V_(3),fS(4,"translate"),hd(),Xs(5,"mat-dialog-content")(6,"mat-label",4),V_(7),fS(8,"translate"),hd(),Xs(9,"mat-form-field",5),cy(10,"input",6,1),lb(),qT(12,Po,3,3,"mat-error"),hd()(),Xs(13,"mat-dialog-actions")(14,"button",7),my("click",function(){return e.close()}),V_(15),fS(16,"translate"),hd(),Xs(17,"button",8),V_(18),fS(19,"translate"),hd()()();}if(i&2){let s=v_(1),d=v_(11);_C(3),ky(hS(4,6,"Enter the group name")),_C(4),ky(hS(8,8,"Group Name")),_C(3),fb(),_C(2),ZT(d.invalid&&(d.dirty||d.touched)?12:-1),_C(3),ky(hS(16,10,"Close")),_C(2),ay("disabled",s.invalid),_C(),ky(hS(19,12,"Create"));}},dependencies:[YE,dn$1,da,vr,wh,Vw,Pw,Tt,Pg,Fg,Is,Tg,Ag,$s,kc,Dc,zc,jt,Vg,Vs,zs,$v,Jv,Zv,Xv,EI,_D,Kv,b0,L0,Yx,nk,td,tC,bC,sv,NC,XC,il,XD,rM,Fb,t1,A1,gS,NS,ZS,us,HI,ZI,Dn$1,kE,go,qd,OT,lA,mt],encapsulation:2,changeDetection:1});}}return o})();function Io(o,f){o&1&&(Xs(0,"mat-error"),V_(1),fS(2,"translate"),hd()),o&2&&(_C(),Dd(" ",hS(2,1,"This field allowed characters count:")," 3-100 "));}function Oo(o,f){o&1&&(Xs(0,"mat-error"),V_(1),fS(2,"translate"),hd()),o&2&&(_C(),Dd(" ",hS(2,1,"Invalid email")," "));}var _o=(()=>{class o{constructor(t,i,e){this.errorService=t,this.contactService=i,this.router=e,this.dialogRef=g(an$1),this.submitted=g(jm),this.countryCode="",this.phoneNumber="",this.separatorKeysCodes=[13],this.tagsArray=[],this.currentTagLength=0,this.phoneValid=false;}createContact(t){let i=t.value.name,e=this.fullPhone,s=t.value.email||null,d=this.tagsArray.join(";")||null;this.sub=this.contactService.createContact(i,e,s,d).subscribe({next:M=>{M&&M.succeeded?this.dialogRef.close(M):this.errorService.setError(M,"Failed to Add");},error:M=>{this.errorService.setError(M,"Failed to Add");}});}close(){this.dialogRef.close();}onCountryCodeChanged(t){this.countryCode=t;}onPhoneChanged(t){this.phoneNumber=t;}onFullPhoneChanged(t){this.fullPhone=t;}onPhoneValidChanged(t){this.phoneValid=t;}onTagsChange(t){this.tagsArray=[...t];}onTagInputLengthChange(t){this.currentTagLength=t;}static{this.\u0275fac=function(i){return new(i||o)(H(Gt),H(m),H(G))};}static{this.\u0275cmp=Kb({type:o,selectors:[["create-contact-dialog"]],decls:41,vars:33,consts:[["createForm","ngForm"],["name","ngModel"],["email","ngModel"],["method","post","novalidate","",3,"ngSubmit"],["mat-dialog-title","",1,"mat-subtitle-1"],[1,"mat-subtitle-2","f-w-600","m-b-8","d-block","m-t-12"],["color","primary",1,"w-100"],["matInput","","type","text","name","name","ngModel","","required","","minlength","3","maxlength","100"],["align","end"],["countryCodeName","countryCode","phoneNumberName","phoneNumber",3,"countryCodeChange","phoneNumberChange","fullPhoneChange","phoneValidChange"],[1,"mat-subtitle-2","f-w-600","m-b-8","d-block"],["matInput","","type","email","ngModel","","name","email","email",""],["mode","edit",3,"tagsChange","input
1LengthChange","tags","maxTags","maxLength","placeholder","separatorKeys"],[1,"d-flex","justify-content-between","align-items-center","m-t-4"],[1,"m-0"],["align","end",1,"m-0"],[1,"d-flex","justify-content-end"],["type","button","mat-stroked-button","","color","warn",3,"click"],["type","submit","mat-flat-button","","color","primary","cdkFocusInitial","",3,"disabled"]],template:function(i,e){if(i&1){let s=o_();Xs(0,"form",3,0),my("ngSubmit",function(){Pp(s);let M=v_(1);return Lp(e.createContact(M))}),Xs(2,"h5",4),V_(3),fS(4,"translate"),hd(),Xs(5,"mat-dialog-content")(6,"mat-label",5),V_(7),fS(8,"translate"),hd(),Xs(9,"mat-form-field",6),cy(10,"input",7,1),lb(),Xs(12,"mat-hint",8),V_(13),hd(),qT(14,Io,3,3,"mat-error"),hd(),Xs(15,"app-countrycode-phone",9),my("countryCodeChange",function(M){return e.onCountryCodeChanged(M)})("phoneNumberChange",function(M){return e.onPhoneChanged(M)})("fullPhoneChange",function(M){return e.onFullPhoneChanged(M)})("phoneValidChange",function(M){return e.onPhoneValidChanged(M)}),hd(),Xs(16,"mat-label",10),V_(17),fS(18,"translate"),hd(),Xs(19,"mat-form-field",6),cy(20,"input",11,2),lb(),qT(22,Oo,3,3,"mat-error"),hd(),Xs(23,"mat-label",10),V_(24),fS(25,"translate"),hd(),Xs(26,"app-tags",12),fS(27,"translate"),my("tagsChange",function(M){return e.onTagsChange(M)})("inputLengthChange",function(M){return e.onTagInputLengthChange(M)}),hd(),Xs(28,"div",13)(29,"mat-hint",14),V_(30),fS(31,"translate"),hd(),Xs(32,"mat-hint",15),V_(33),hd()()(),Xs(34,"mat-dialog-actions",16)(35,"button",17),my("click",function(){return e.close()}),V_(36),fS(37,"translate"),hd(),Xs(38,"button",18),V_(39),fS(40,"translate"),hd()()();}if(i&2){let s=v_(1),d=v_(11),M=v_(21);_C(3),ky(hS(4,17,"Enter the contact info")),_C(4),ky(hS(8,19,"Full Name")),_C(3),fb(),_C(3),Dd("",d.value?.length||0,"/100"),_C(),ZT(d.invalid&&(d.dirty||d.touched)?14:-1),_C(3),ky(hS(18,21,"Email")),_C(3),fb(),_C(2),ZT(M.invalid&&(M.dirty||M.touched)?22:-1),_C(2),ky(hS(25,23,"Tags")),_C(2),ay("tags",e.tagsArray)("maxTags",3)("maxLength",100)("placeholder",hS(27,25,"Add new tag"))("separatorKeys",e.separatorKeysCodes),_C(4),ky(hS(31,27,"Type a tag and press Enter to add. Comma is not supported.")),_C(3),Dd("",e.currentTagLength,"/100"),_C(3),ky(hS(37,29,"Close")),_C(2),ay("disabled",s.invalid||!e.phoneValid),_C(),ky(hS(40,31,"Add"));}},dependencies:[Tt,YE,dn$1,da,vr,yr,wh,Vw,Pw,Pg,Fg,Is,Tg,Ag,$s,kc,Dc,xc,zc,jt,Vg,Vs,zs,$v,Jv,Zv,Xv,_D,$t,Yt,Kv,b0,L0,Yx,nk,td,tC,bC,sv,NC,XC,il,XD,rM,Fb,t1,A1,gS,NS,ZS,EI,us,HI,ZI,Dn$1,kE,go,qd,OT,lA,mt],encapsulation:2,changeDetection:1});}}return o})();var Bo=()=>({standalone:true}),Lo=(o,f)=>f.id;function Vo(o,f){if(o&1){let t=o_();Xs(0,"button",17),fS(1,"translate"),my("click",function(){Pp(t);let e=l_();return Lp(e.groupSearch="")}),Xs(2,"mat-icon"),V_(3,"close"),hd()();}o&2&&iy("aria-label",Z_(hS(1,2,"Clear")));}function Fo(o,f){if(o&1&&(Xs(0,"mat-radio-button",13),V_(1),hd()),o&2){let t=f.$implicit;ay("value",t.id),_C(),Dd(" ",t.name," ");}}function Ao(o,f){o&1&&(Xs(0,"div",14),V_(1),fS(2,"translate"),hd()),o&2&&(_C(),ky(hS(2,1,"No groups found")));}var ho=(()=>{class o{constructor(t,i,e,s,d,M,Ge,ri){this.data=t,this.contactService=i,this.errorService=e,this.translate=s,this.toastr=d,this.loadingService=M,this.dialog=Ge,this.dialogConfigService=ri,this.dialogRef=g(an$1),this.submitted=g(jm),this.groupSearch="",this.groups=t.groups,this.selectedContacts=t.selectedContacts;}get filteredGroups(){let t=this.groupSearch.trim().toLowerCase();return t?this.groups.filter(i=>i.name?.toLowerCase().includes(t)):this.groups}openCreateGroupDialog(){let t=this.dialogConfigService.getDefaultDialogConfig();this.dialog.open(oi,E(D({},t),{data:{}})).afterClosed().subscribe(e=>{e&&(this.loadingService.loadingOn(),this.contactService.getAllGroups().subscribe({next:s=>{this.loadingService.loadingOff(),s.succeeded&&(this.groups=s.data);},error:s=>{this.loadingService.loadingOff(),this.errorService.setError(s,"Error while getting the data");}}));});}addContactsToGroup(t){let i=t.value.addContactsToGrpId;if(!i||this.selectedContacts.length==0){this.close();return}this.loadingService.loadingOn(),this.sub=this.contactService.addContactsToGroup(i,this.selectedContacts).subscribe({next:e=>{this.loadingService.loadingOff(),this.toastr.success("Added Successfully"),this.submitted=true,this.close();},error:e=>{this.errorService.setError(e,"Failed to Add");}});}close(){this.dialogRef.close();}static{this.\u0275fac=function(i){return new(i||o)(H(jm),H(m),H(Gt),H(O),H(lt),H(P),H(gr),H(c$1))};}static{this.\u0275cmp=Kb({type:o,selectors:[["add-contacts-to-group-dialog"]],decls:34,vars:25,consts:[["addContactsToGroupForm","ngForm"],["group","ngModel"],["method","post",3,"ngSubmit"],["mat-dialog-title","",1,"mat-subtitle-1"],[1,"d-flex","align-items-center","justify-content-between","m-b-8"],["required","",1,"mat-subtitle-2","f-w-600","d-block"],["type","button","mat-stroked-button","","color","primary",3,"click"],[1,"icon-18"],["appearance","outline","subscriptSizing","dynamic",1,"w-100","m-b-8"],["matInput","","maxlength","50",3,"ngModelChange","ngModel","ngModelOptions","placeholder"],["matSuffix","",1,"icon-18","m-r-8"],["matSuffix","","mat-icon-button","",3,"aria-label"],["aria-label","Select an option","name","addContactsToGrpId","ngModel",""],["color","primary",1,"d-flex",3,"value"],[1,"f-s-13","text-muted"],["type","button","mat-stroked-button","","color","warn",3,"click"],["type","submit","mat-flat-button","","color","primary","cdkFocusInitial","",3,"disabled"],["matSuffix","","mat-icon-button","",3,"click","aria-label"]],template:function(i,e){if(i&1){let s=o_();Xs(0,"form",2,0),my("ngSubmit",function(){Pp(s);let M=v_(1);return Lp(e.addContactsToGroup(M))}),Xs(2,"h5",3),V_(3),fS(4,"translate"),hd(),Xs(5,"mat-dialog-content")(6,"div",4)(7,"mat-label",5),V_(8),fS(9,"translate"),hd(),Xs(10,"button",6),my("click",function(){return e.openCreateGroupDialog()}),Xs(11,"mat-icon",7),V_(12,"add"),hd(),Xs(13,"span"),V_(14),fS(15,"translate"),hd()()(),Xs(16,"mat-form-field",8)(17,"input",9),fS(18,"translate"),Vy("ngModelChange",function(M){return Pp(s),G_(e.groupSearch,M)||(e.groupSearch=M),Lp(M)}),hd(),lb(),Xs(19,"mat-icon",10),V_(20,"search"),hd(),qT(21,Vo,4,4,"button",11),hd(),Xs(22,"mat-radio-group",12,1),KT(24,Fo,2,2,"mat-radio-button",13,Lo),qT(26,Ao,3,3,"div",14),hd(),lb(),hd(),Xs(27,"mat-dialog-actions")(28,"button",15),my("click",function(){return e.close()}),V_(29),fS(30,"translate"),hd(),Xs(31,"button",16),V_(32),fS(33,"translate"),hd()()();}if(i&2){let s=v_(1);_C(3),ky(hS(4,12,"Select the group")),_C(5),ky(hS(9,14,"Group")),_C(6),ky(hS(15,16,"Create group")),_C(3),ay("placeholder",Z_(hS(18,18,"Search groups"))),By("ngModel",e.groupSearch),ay("ngModelOptions",tS(24,Bo)),fb(),_C(4),ZT(e.groupSearch?21:-1),_C(),fb(),_C(2),XT(e.filteredGroups),_C(2),ZT(e.groupSearch&&e.filteredGroups.length===0?26:-1),_C(3),ky(hS(30,20,"Close")),_C(2),ay("disabled",s.invalid),_C(),ky(hS(33,22,"Add"));}},dependencies:[Tt,YE,dn$1,da,vr,Ch,Vw,Pw,Pg,Fg,Is,Tg,Ag,Dc,zc,jt,Vg,Vs,zs,Fi,$v,Jv,Zv,Xv,EI,_D,Kv,b0,L0,Yx,nk,Bp,Zl,td,tC,bC,sv,NC,XC,il,XD,rM,Fb,t1,A1,gS,NS,ZS,us,ms,HI,ZI,Dn$1,kE,go,qd,OT,lA,mt],encapsulation:2,changeDetection:1});}}return o}
1)();var gi=(()=>{class o{constructor(){this.dialogRef=g(an$1),this.deleteOption=g(jm);}close(){this.deleteOption="none",this.dialogRef.close();}deleteWithOption(t){this.deleteOption=t,this.dialogRef.close(t);}static{this.\u0275fac=function(i){return new(i||o)};}static{this.\u0275cmp=Kb({type:o,selectors:[["delete-group-options-dialog"]],decls:17,vars:15,consts:[["mat-dialog-title","",1,"mat-subtitle-1"],["color","warn",1,"m-b-15","p-24"],["type","button","mat-stroked-button","","color","warn",3,"click"],["type","button","mat-flat-button","","color","primary","cdkFocusInitial","",3,"click"]],template:function(i,e){i&1&&(Xs(0,"h5",0),V_(1),fS(2,"translate"),hd(),Xs(3,"mat-dialog-content")(4,"h3",1),V_(5),fS(6,"translate"),hd()(),Xs(7,"mat-dialog-actions")(8,"button",2),my("click",function(){return e.close()}),V_(9),fS(10,"translate"),hd(),Xs(11,"button",3),my("click",function(){return e.deleteWithOption("deleteContacts")}),V_(12),fS(13,"translate"),hd(),Xs(14,"button",3),my("click",function(){return e.deleteWithOption("deleteGroupOnly")}),V_(15),fS(16,"translate"),hd()()),i&2&&(_C(),ky(hS(2,5,"Are you sure you want to delete?")),_C(4),Dd(" ",hS(6,7,"You will not be able to restore the deleted elements.")," "),_C(4),ky(hS(10,9,"Cancel")),_C(3),ky(hS(13,11,"Delete the group and contacts")),_C(3),ky(hS(16,13,"Delete group only without contacts")));},dependencies:[Tt,YE,dn$1,Vw,Pg,Vs,zs,$v,Xv,Zv,EI,_D,mt],encapsulation:2,changeDetection:1});}}return o})();function Ro(o,f){o&1&&(Xs(0,"mat-error"),V_(1),fS(2,"translate"),hd()),o&2&&(_C(),ky(hS(2,1,"Country code is required")));}var Co=(()=>{class o{constructor(t){this.dialogRef=t,this.countryCodeCtrl=new Xi("",ht$1.required);}submit(){this.countryCodeCtrl.valid&&this.dialogRef.close(this.countryCodeCtrl.value);}static{this.\u0275fac=function(i){return new(i||o)(H(an$1))};}static{this.\u0275cmp=Kb({type:o,selectors:[["app-country-code-dialog"]],decls:21,vars:15,consts:[["mat-dialog-title",""],[1,"w-100"],["matInput","","placeholder","966",3,"formControl"],["align","end"],["mat-flat-button","","mat-dialog-close","","color","warn"],["mat-flat-button","","color","primary",3,"click","disabled"]],template:function(i,e){i&1&&(Xs(0,"h2",0),V_(1),fS(2,"translate"),hd(),Xs(3,"mat-dialog-content")(4,"mat-form-field",1)(5,"mat-label"),V_(6),fS(7,"translate"),hd(),cy(8,"input",2),lb(),qT(9,Ro,3,3,"mat-error"),hd()(),Xs(10,"mat-dialog-actions",3)(11,"button",4)(12,"mat-icon"),V_(13,"cancel"),hd(),V_(14),fS(15,"translate"),hd(),Xs(16,"button",5),my("click",function(){return e.submit()}),Xs(17,"mat-icon"),V_(18,"check"),hd(),V_(19),fS(20,"translate"),hd()()),i&2&&(_C(),ky(hS(2,7,"Enter Country Code")),_C(5),ky(hS(7,9,"Country Code")),_C(2),ay("formControl",e.countryCodeCtrl),fb(),_C(),ZT(e.countryCodeCtrl.invalid?9:-1),_C(5),Dd(" ",hS(15,11,"Cancel")," "),_C(2),ay("disabled",e.countryCodeCtrl.invalid),_C(3),Dd(" ",hS(20,13,"OK")," "));},dependencies:[Vg,Is,Tg,Yc,Tt,us,ms,Kv,Pg,b0,L0,Yx,dn$1,da,vr,wh,Vw,Pw,nk,td,tC,bC,sv,NC,XC,_D,il,XD,rM,Fb,t1,A1,gS,Vs,zs,NS,ZS,EI,HI,ZI,Dn$1,kE,Jv,Kv$1,$v,Zv,Xv,go,qd,YE,OT,lA,mt],encapsulation:2,changeDetection:1});}}return o})();function No(o,f){if(o&1&&(Xs(0,"mat-radio-button",6),V_(1),hd()),o&2){let t=f.$implicit;ay("value",t.id),_C(),Dd(" ",t.name," ");}}var Mo=(()=>{class o{constructor(t,i,e,s,d,M){this.data=t,this.contactService=i,this.errorService=e,this.translate=s,this.toastr=d,this.loadingService=M,this.dialogRef=g(an$1),this.submitted=g(jm),this.groups=t.groups.filter(Ge=>Ge.id!==t.fromGroup),this.fromGroup=t.fromGroup;}mergeGroups(t){let i=t.value.toGroup;if(!i||this.fromGroup==0){this.close();return}this.loadingService.loadingOn(),this.sub=this.contactService.mergeGroups(this.fromGroup,i).subscribe({next:e=>{this.loadingService.loadingOff(),e.succeeded?(this.toastr.success("Completed Successfully"),this.submitted=true,this.dialogRef.close(i)):this.errorService.setError(e,"Failed to Complete the Operation");},error:e=>{this.errorService.setError(e,"Failed to Complete the Operation");}});}close(){this.dialogRef.close();}static{this.\u0275fac=function(i){return new(i||o)(H(jm),H(m),H(Gt),H(O),H(lt),H(P))};}static{this.\u0275cmp=Kb({type:o,selectors:[["merge-groups-dialog"]],decls:20,vars:13,consts:[["mergeGroupsForm","ngForm"],["group","ngModel"],["method","post",3,"ngSubmit"],["mat-dialog-title","",1,"mat-subtitle-1"],["required","",1,"mat-subtitle-2","f-w-600","m-b-8","d-block"],["aria-label","Select an option","name","toGroup","ngModel",""],["color","primary",1,"d-flex",3,"value"],["type","button","mat-stroked-button","","color","warn",3,"click"],["type","submit","mat-flat-button","","color","primary","cdkFocusInitial","",3,"disabled"]],template:function(i,e){if(i&1){let s=o_();Xs(0,"form",2,0),my("ngSubmit",function(){Pp(s);let M=v_(1);return Lp(e.mergeGroups(M))}),Xs(2,"h5",3),V_(3),fS(4,"translate"),hd(),Xs(5,"mat-dialog-content")(6,"mat-label",4),V_(7),fS(8,"translate"),hd(),Xs(9,"mat-radio-group",5,1),KT(11,No,2,2,"mat-radio-button",6,QT),hd(),lb(),hd(),Xs(13,"mat-dialog-actions")(14,"button",7),my("click",function(){return e.close()}),V_(15),fS(16,"translate"),hd(),Xs(17,"button",8),V_(18),fS(19,"translate"),hd()()();}if(i&2){let s=v_(1);_C(3),ky(hS(4,5,"Select the group")),_C(4),ky(hS(8,7,"Group")),_C(2),fb(),_C(2),XT(e.groups),_C(4),ky(hS(16,9,"Close")),_C(2),ay("disabled",s.invalid),_C(),ky(hS(19,11,"Add"));}},dependencies:[Tt,YE,dn$1,vr,Vw,Pg,Fg,Tg,Ag,zc,jt,Vg,Vs,zs,$v,Jv,Zv,Xv,EI,_D,Kv,b0,L0,Yx,nk,Bp,Zl,td,tC,bC,sv,NC,XC,il,XD,rM,Fb,t1,A1,gS,NS,ZS,us,HI,ZI,Dn$1,kE,go,qd,OT,lA,mt],encapsulation:2,changeDetection:1});}}return o}
1)();var jo=(o,f)=>f.id;function zo(o,f){if(o&1&&(Xs(0,"mat-radio-button",6),V_(1),hd()),o&2){let t=f.$implicit;ay("value",t.id),_C(),Dd(" ",t.name," ");}}var xo=(()=>{class o{constructor(t){this.data=t,this.dialogRef=g(an$1),this.groups=t.groups;}confirm(t){let i=t.value.toGroup;if(!i){this.close();return}this.dialogRef.close(i);}close(){this.dialogRef.close();}static{this.\u0275fac=function(i){return new(i||o)(H(jm))};}static{this.\u0275cmp=Kb({type:o,selectors:[["merge-multiple-groups-dialog"]],decls:20,vars:13,consts:[["mergeForm","ngForm"],["group","ngModel"],["method","post",3,"ngSubmit"],["mat-dialog-title","",1,"mat-subtitle-1"],["required","",1,"mat-subtitle-2","f-w-600","m-b-8","d-block"],["aria-label","Select an option","name","toGroup","ngModel","","required",""],["color","primary",1,"d-flex",3,"value"],["type","button","mat-stroked-button","","color","warn",3,"click"],["type","submit","mat-flat-button","","color","primary","cdkFocusInitial","",3,"disabled"]],template:function(i,e){if(i&1){let s=o_();Xs(0,"form",2,0),my("ngSubmit",function(){Pp(s);let M=v_(1);return Lp(e.confirm(M))}),Xs(2,"h5",3),V_(3),fS(4,"translate"),hd(),Xs(5,"mat-dialog-content")(6,"mat-label",4),V_(7),fS(8,"translate"),hd(),Xs(9,"mat-radio-group",5,1),KT(11,zo,2,2,"mat-radio-button",6,jo),hd(),lb(),hd(),Xs(13,"mat-dialog-actions")(14,"button",7),my("click",function(){return e.close()}),V_(15),fS(16,"translate"),hd(),Xs(17,"button",8),V_(18),fS(19,"translate"),hd()()();}if(i&2){let s=v_(1);_C(3),ky(hS(4,5,"Merge Groups")),_C(4),Dd(" ",hS(8,7,"Select the destination group")," "),_C(2),fb(),_C(2),XT(e.groups),_C(4),ky(hS(16,9,"Close")),_C(2),ay("disabled",s.invalid),_C(),ky(hS(19,11,"Merge"));}},dependencies:[Tt,dn$1,vr,Vw,Pg,Fg,Tg,Ag,$s,zc,jt,Vg,Vs,zs,$v,Jv,Zv,Xv,Kv,b0,L0,Yx,nk,Bp,Zl,td,tC,bC,sv,NC,XC,_D,il,XD,rM,Fb,t1,A1,gS,NS,ZS,EI,us,HI,ZI,Dn$1,kE,go,qd,YE,OT,lA,mt],encapsulation:2,changeDetection:1});}}return o})();function Uo(o,f){if(o&1){let t=o_();Xs(0,"button",10),my("click",function(){Pp(t);let e=l_().$index,s=l_();return Lp(s.removeGroupName(e))}),Xs(1,"mat-icon"),V_(2,"delete"),hd()();}}function Wo(o,f){if(o&1){let t=o_();Xs(0,"div",1)(1,"mat-form-field",7)(2,"mat-label"),V_(3),fS(4,"translate"),hd(),Xs(5,"input",8),Vy("ngModelChange",function(e){let s=Pp(t).$index,d=l_();return G_(d.newGroupNames[s],e)||(d.newGroupNames[s]=e),Lp(e)}),hd(),lb(),hd(),qT(6,Uo,3,0,"button",9),hd();}if(o&2){let t=f.$index,i=l_();_C(3),Fy("",hS(4,4,"New Group Name")," ",t+1),_C(2),By("ngModel",i.newGroupNames[t]),fb(),_C(),ZT(i.newGroupNames.length>i.minGroups?6:-1);}}function qo(o,f){o&1&&(Xs(0,"p",2),V_(1),fS(2,"translate"),hd()),o&2&&(_C(),Dd(" ",hS(2,1,"Group names must be unique")," "));}var vo=(()=>{class o{constructor(t,i){this.dialogRef=t,this.data=i,this.newGroupNames=["",""],this.minGroups=2,this.groupId=i.groupId;}trackByIndex(t){return t}addGroupName(){this.newGroupNames.push("");}removeGroupName(t){this.newGroupNames.splice(t,1);}get hasDuplicates(){let t=this.newGroupNames.map(i=>i.trim().toLowerCase()).filter(i=>i!=="");return new Set(t).size!==t.length}get canSave(){return this.newGroupNames.every(i=>i.trim()!=="")&&this.newGroupNames.length>=this.minGroups&&!this.hasDuplicates}save(){if(!this.canSave)return;let t={groupId:this.groupId,newGroupNames:this.newGroupNames.filter(i=>i.trim()!=="")};this.dialogRef.close(t);}cancel(){this.dialogRef.close(null);}static{this.\u0275fac=function(i){return new(i||o)(H(an$1),H(jm))};}static{this.\u0275cmp=Kb({type:o,selectors:[["app-split-group-dialog"]],decls:21,vars:14,consts:[["mat-dialog-title",""],[1,"d-flex","align-items-center","justify-content-between"],[1,"text-danger","f-s-12","m-b-8"],["mat-button","","color","primary",3,"click"],["align","end"],["mat-flat-button","","color","warn",3,"click"],["mat-flat-button","","color","primary",3,"click","disabled"],[1,"w-100"],["matInput","",3,"ngModelChange","ngModel"],["mat-icon-button","","color","warn","aria-label","delete"],["mat-icon-button","","color","warn","aria-label","delete",3,"click"]],template:function(i,e){i&1&&(Xs(0,"h2",0),V_(1),fS(2,"translate"),hd(),Xs(3,"mat-dialog-content"),KT(4,Wo,7,6,"div",1,YT),qT(6,qo,3,3,"p",2),Xs(7,"button",3),my("click",function(){return e.addGroupName()}),V_(8),fS(9,"translate"),hd()(),Xs(10,"mat-dialog-actions",4)(11,"button",5),my("click",function(){return e.cancel()}),Xs(12,"mat-icon"),V_(13,"cancel"),hd(),V_(14),fS(15,"translate"),hd(),Xs(16,"button",6),my("click",function(){return e.save()}),Xs(17,"mat-icon"),V_(18,"save"),hd(),V_(19),fS(20,"translate"),hd()()),i&2&&(_C(),Dd("",hS(2,6,"
1Split Group")," "),_C(3),XT(e.newGroupNames),_C(2),ZT(e.hasDuplicates?6:-1),_C(2),ky(hS(9,8,"Add new group")),_C(6),Dd(" ",hS(15,10,"Cancel")," "),_C(2),ay("disabled",!e.canSave),_C(3),Dd(" ",hS(20,12,"Save")," "));},dependencies:[dn$1,da,vr,Tt,Pg,Is,Tg,zc,Kv,Vg,b0,L0,Yx,Vw,Pw,nk,td,tC,bC,sv,NC,XC,_D,il,XD,rM,Fb,t1,A1,gS,Vs,zs,Fi,NS,ZS,EI,us,ms,HI,ZI,Dn$1,kE,Jv,$v,Zv,Xv,go,qd,YE,OT,lA,mt],encapsulation:2,changeDetection:1});}}return o})();function $o(o,f){o&1&&(Xs(0,"mat-error"),V_(1),fS(2,"translate"),hd()),o&2&&(_C(),ky(hS(2,1,"Please enter a valid number")));}function Ho(o,f){o&1&&(Xs(0,"mat-error"),V_(1),fS(2,"translate"),hd()),o&2&&(_C(),ky(hS(2,1,"Please enter a valid number")));}function Yo(o,f){o&1&&(Xs(0,"mat-error"),V_(1),fS(2,"translate"),hd()),o&2&&(_C(),ky(hS(2,1,"This field is required")));}var bo=(()=>{class o{constructor(t,i){this.fb=t,this.dialogRef=i,this.form=this.fb.group({groupingOption:["specificGroups",ht$1.required],numberOfGroupsOrContacts:[null,[ht$1.required,ht$1.min(1)]],groupNamePrefix:["",ht$1.required]});}get optionLabel(){return this.form.get("groupingOption")?.value==="specificContacts"?"Number of Contacts":"Number of Groups"}confirm(){if(this.form.invalid){this.form.markAllAsTouched();return}this.dialogRef.close(this.form.value);}cancel(){this.dialogRef.close(null);}static{this.\u0275fac=function(i){return new(i||o)(H(Og),H(an$1))};}static{this.\u0275cmp=Kb({type:o,selectors:[["app-split-ungrouped-dialog"]],decls:40,vars:28,consts:[["mat-dialog-title",""],[1,"d-flex","flex-column","gap-12","m-t-8",3,"formGroup"],[1,"w-100"],["formControlName","groupingOption"],["value","specificGroups"],["value","specificContacts"],["matInput","","type","number","formControlName","numberOfGroupsOrContacts","min","1"],["matInput","","formControlName","groupNamePrefix"],["align","end"],["mat-flat-button","","color","warn",3,"click"],["mat-flat-button","","color","primary",3,"click"]],template:function(i,e){i&1&&(Xs(0,"h2",0),V_(1),fS(2,"translate"),hd(),Xs(3,"mat-dialog-content")(4,"form",1)(5,"mat-form-field",2)(6,"mat-label"),V_(7),fS(8,"translate"),hd(),Xs(9,"mat-select",3)(10,"mat-option",4),V_(11),fS(12,"translate"),hd(),Xs(13,"mat-option",5),V_(14),fS(15,"translate"),hd()(),lb(),hd(),Xs(16,"mat-form-field",2)(17,"mat-label"),V_(18),fS(19,"translate"),hd(),cy(20,"input",6),lb(),qT(21,$o,3,3,"mat-error"),qT(22,Ho,3,3,"mat-error"),hd(),Xs(23,"mat-form-field",2)(24,"mat-label"),V_(25),fS(26,"translate"),hd(),cy(27,"input",7),lb(),qT(28,Yo,3,3,"mat-error"),hd()()(),Xs(29,"mat-dialog-actions",8)(30,"button",9),my("click",function(){return e.cancel()}),Xs(31,"mat-icon"),V_(32,"cancel"),hd(),V_(33),fS(34,"translate"),hd(),Xs(35,"button",10),my("click",function(){return e.confirm()}),Xs(36,"mat-icon"),V_(37,"call_split"),hd(),V_(38),fS(39,"translate"),hd()()),i&2&&(_C(),ky(hS(2,12,"Split Ungrouped Contacts")),_C(3),ay("formGroup",e.form),_C(3),ky(hS(8,14,"Grouping Options")),_C(2),fb(),_C(2),ky(hS(12,16,"Specific number of groups")),_C(3),ky(hS(15,18,"Specific number of contacts in each group")),_C(4),ky(hS(19,20,e.optionLabel)),_C(2),fb(),_C(),ZT(e.form.get("numberOfGroupsOrContacts")?.hasError("required")&&e.form.get("numberOfGroupsOrContacts")?.touched?21:-1),_C(),ZT(e.form.get("numberOfGroupsOrContacts")?.hasError("min")?22:-1),_C(3),ky(hS(26,22,"Group Name Prefix")),_C(2),fb(),_C(),ZT(e.form.get("groupNamePrefix")?.hasError("required")&&e.form.get("groupNamePrefix")?.touched?28:-1),_C(5),Dd(" ",hS(34,24,"Cancel")," "),_C(5),Dd(" ",hS(39,26,"Split")," "));},dependencies:[Tt,Vg,Fg,Is,jc,Tg,Ag,bc,Gt$1,$c,Kv,Pg,b0,ei,L0,Yx,dn$1,da,vr,wh,Vw,Pw,nk,td,ed,tC,bC,sv,NC,XC,_D,il,XD,rM,Fb,t1,A1,gS,Vs,zs,NS,ZS,EI,us,ms,HI,ZI,Dn$1,kE,Jv,$v,Zv,Xv,go,qd,YE,OT,lA,mt],encapsulation:2,changeDetection:1});}}return o})();var Ko=["groupsnav"],Qo=()=>["Create groups that match how you want to target \u2014 city, interest, customer type.","Import contacts from Excel, or add them one at a time.","Use Remove Duplicated Phones and Apply Country Code to clean a list before sending to it.","Merge or split groups as your segments change."],ze=()=>["Manage_Contacts"],Jo=()=>["Read_Contacts"],Xo=()=>[10,50,100,500],Zo=()=>["Export_All_Contacts"],tn=()=>["Export_Contacts"],en=(o,f)=>f.id;
1function on(o,f){if(o&1){let t=o_();Xs(0,"button",47),fS(1,"translate"),fS(2,"translate"),my("click",function(){Pp(t);let e=l_(2);return Lp(e.deleteEmptyGroups())}),Xs(3,"mat-icon"),V_(4,"delete_sweep"),hd()();}o&2&&(ay("matTooltip",Z_(hS(1,4,"Delete Empty Groups"))),iy("aria-label",Z_(hS(2,6,"Delete Empty Groups"))));}function nn(o,f){if(o&1){let t=o_();Xs(0,"button",48),fS(1,"translate"),my("click",function(){Pp(t);let e=l_(2);return Lp(e.groupSearch="")}),Xs(2,"mat-icon"),V_(3,"close"),hd()();}o&2&&iy("aria-label",Z_(hS(1,2,"Clear")));}function an(o,f){if(o&1){let t=o_();Xs(0,"button",53),my("click",function(){Pp(t);let e=l_(3);return Lp(e.mergeSelectedGroups())}),Xs(1,"mat-icon"),V_(2,"merge"),hd(),Xs(3,"span"),V_(4),fS(5,"translate"),hd()();}o&2&&(_C(4),ky(hS(5,1,"Merge")));}function rn(o,f){if(o&1){let t=o_();Xs(0,"div",38)(1,"div",49)(2,"span",50),V_(3),fS(4,"translate"),hd(),qT(5,an,6,3,"button",51),Xs(6,"button",52),my("click",function(){Pp(t);let e=l_(2);return Lp(e.deleteSelectedGroups())}),Xs(7,"mat-icon"),V_(8,"delete"),hd(),Xs(9,"span"),V_(10),fS(11,"translate"),hd()()()();}if(o&2){let t=l_(2);_C(3),Fy("",t.selectedGroups.length," ",hS(4,4,"Selected")),_C(2),ZT(t.selectedGroups.length>=2?5:-1),_C(5),ky(hS(11,6,"Delete"));}}function ln(o,f){if(o&1&&(Xs(0,"span",57),V_(1),hd()),o&2){let t=l_(3);_C(),Dd(" (",t.selectedGroups.length,") ");}}function sn(o,f){if(o&1){let t=o_();Xs(0,"mat-list-item",54),my("click",function(){Pp(t);let e=l_(2);return Lp(e.toggleSelectAllGroups())}),Xs(1,"div",41)(2,"mat-checkbox",55),my("change",function(){Pp(t);let e=l_(2);return Lp(e.toggleSelectAllGroups())})("click",function(e){return e.stopPropagation()}),hd(),Xs(3,"span",56),V_(4),fS(5,"translate"),qT(6,ln,2,1,"span",57),hd()()();}if(o&2){let t=l_(2);ay("disableRipple",true),_C(2),ay("checked",t.allFilteredSelected)("indeterminate",t.someFilteredSelected),_C(2),Dd(" ",hS(5,5,"Select All")," "),_C(2),ZT(t.selectedGroups.length>0?6:-1);}}function cn(o,f){if(o&1){let t=o_();Xs(0,"mat-list-item",40),my("click",function(){let e=Pp(t).$implicit,s=l_(2);return Lp(s.getContactsByGrp(e.id))}),Xs(1,"div",58)(2,"mat-checkbox",59),my("change",function(){let e=Pp(t).$implicit,s=l_(2);return Lp(s.toggleGroupSelection(e.id))})("click",function(e){return e.stopPropagation()}),hd(),Xs(3,"span",60),V_(4),hd()()();}if(o&2){let t=f.$implicit,i=l_(2);_y("selected",i.groupId===t.id)("checked",i.isGroupSelected(t.id)),ay("disableRipple",true),_C(2),ay("checked",i.isGroupSelected(t.id)),_C(2),ky(t.name);}}function pn(o,f){o&1&&(Xs(0,"div",46),V_(1),fS(2,"translate"),hd()),o&2&&(_C(),ky(hS(2,1,"No groups found")));}function dn(o,f){if(o&1){let t=o_();Xs(0,"div",26)(1,"div",27)(2,"h3",28),V_(3),fS(4,"translate"),hd(),Xs(5,"div",29),Qm(6,on,5,8,"button",30),Xs(7,"button",31),fS(8,"translate"),fS(9,"translate"),my("click",function(){Pp(t);let e=l_();return Lp(e.openCreateGroupDialog())}),Xs(10,"mat-icon"),V_(11,"add"),hd()(),Xs(12,"button",32),fS(13,"translate"),fS(14,"translate"),my("click",function(){Pp(t);let e=l_();return Lp(e.openCreateContactDialog())}),Xs(15,"mat-icon"),V_(16,"person_add"),hd()()()(),Xs(17,"div",33)(18,"mat-form-field",34)(19,"mat-icon",35),V_(20,"search"),hd(),Xs(21,"input",36),fS(22,"translate"),Vy("ngModelChange",function(e){Pp(t);let s=l_();return G_(s.groupSearch,e)||(s.groupSearch=e),Lp(e)}),hd(),lb(),qT(23,nn,4,4,"button",37),hd()(),qT(24,rn,12,8,"div",38),Xs(25,"mat-nav-list",39)(26,"mat-list-item",40),my("click",function(){Pp(t);let e=l_();return Lp(e.getContactsByGrp(null))}),Xs(27,"div",41)(28,"mat-icon",42),V_(29,"people"),hd(),Xs(30,"span",43),V_(31),fS(32,"translate"),hd()()(),Xs(33,"mat-list-item",40),my("click",function(){Pp(t);let e=l_();return Lp(e.getContactsByGrp(-1))}),Xs(34,"div",41)(35,"mat-icon",42),V_(36,"person_off"),hd(),Xs(37,"span",43),V_(38),fS(39,"translate"),hd()()(),cy(40,"mat-divider"),qT(41,sn,7,7,"mat-list-item",44),KT(42,cn,5,7,"mat-list-item",45,en),qT(44,pn,3,3,"div",46),hd()();}if(o&2){let t=l_();_C(3),ky(hS(4,25,"Groups")),_C(4),ay("matTooltip",Z_(hS(8,27,"Create group"))),iy("aria-label",Z_(hS(9,29,"Create group"))),_C(5),ay("matTooltip",Z_(hS(13,31,t.contactAllowance!==null&&!t.contactAllowance.canAddMore?"You have reached your plan limit. Existing contacts stay as they are \u2014 delete some or upgrade your plan to add new ones.":"Create Contact"))),iy("aria-label",Z_(hS(14,33,"Create Contact"))),ay("disabled",t.contactAllowance!==null&&!t.contactAllowance.canAddMore),_C(9),ay("placeholder",Z_(hS(22,35,"Search groups"))),By("ngModel",t.groupSearch),fb(),_C(2),ZT(t.groupSearch?23:-1),_C(),ZT(t.selectedGroups.length>0?24:-1),_C(2),_y("selected",t.groupId===null),ay("disableRipple",true),_
1C(5),ky(hS(32,37,"All contacts")),_C(2),_y("selected",t.groupId===-1),ay("disableRipple",true),_C(5),ky(hS(39,39,"Contacts with No Group")),_C(3),ZT(t.filteredGroups.length>0?41:-1),_C(),XT(t.filteredGroups),_C(2),ZT(t.groupSearch&&t.filteredGroups.length===0?44:-1);}}function mn(o,f){if(o&1&&(Xs(0,"span",13),V_(1),hd()),o&2){let t=l_();_C(),ky(t.groupName());}}function un(o,f){if(o&1){let t=o_();Xs(0,"button",63),fS(1,"translate"),fS(2,"translate"),my("click",function(){Pp(t);let e=l_(2);return Lp(e.openSplitUngroupedDialog())}),Xs(3,"mat-icon"),V_(4,"call_split"),hd()();}o&2&&(ay("matTooltip",Z_(hS(1,4,"Split Ungrouped Contacts"))),iy("aria-label",Z_(hS(2,6,"Split Ungrouped Contacts"))));}function gn(o,f){o&1&&(Xs(0,"span",61),V_(1),fS(2,"translate"),hd(),Qm(3,un,5,8,"button",62)),o&2&&(_C(),ky(hS(2,2,"Contacts with No Group")),_C(2),ay("ngxPermissionsOnly",tS(4,ze)));}function fn(o,f){if(o&1&&(Xs(0,"div",69)(1,"span",76),V_(2),fS(3,"translate"),hd(),Xs(4,"span",77),V_(5),hd()()),o&2){let t=l_(3);_C(2),ky(hS(3,2,"Members")),_C(3),ky(t.paginator.length);}}function _n(o,f){if(o&1&&(Xs(0,"div",69)(1,"span",76),V_(2),fS(3,"translate"),hd(),Xs(4,"span",77),V_(5),fS(6,"date"),hd()()),o&2){let t=l_(3);_C(2),ky(hS(3,2,"Created On")),_C(3),ky(gS$1(6,4,t.selectedGroup()?.createdOn,"yyyy/MM/dd"));}}function hn(o,f){if(o&1){let t=o_();Xs(0,"aside",16)(1,"div",65)(2,"mat-icon",66),V_(3,"folder"),hd()(),Xs(4,"div",67),V_(5),hd(),Xs(6,"div",68),qT(7,fn,6,4,"div",69),qT(8,_n,7,7,"div",69),hd(),Xs(9,"div",70)(10,"button",71),my("click",function(){Pp(t);let e=l_(2);return Lp(e.openUpdateGroupDialog())}),Xs(11,"mat-icon",72),V_(12,"edit"),hd(),Xs(13,"span"),V_(14),fS(15,"translate"),hd()(),Xs(16,"button",73)(17,"mat-icon",72),V_(18,"more_horiz"),hd(),Xs(19,"span"),V_(20),fS(21,"translate"),hd()(),Xs(22,"mat-menu",null,1)(24,"button",74),my("click",function(){Pp(t);let e=l_(2);return Lp(e.openMergeGroupsDialog())}),Xs(25,"mat-icon"),V_(26,"merge"),hd(),Xs(27,"span"),V_(28),fS(29,"translate"),hd()(),Xs(30,"button",74),my("click",function(){Pp(t);let e=l_(2);return Lp(e.openSplitGroupDialog(e.groupId))}),Xs(31,"mat-icon"),V_(32,"call_split"),hd(),Xs(33,"span"),V_(34),fS(35,"translate"),hd()(),cy(36,"mat-divider"),Xs(37,"button",75),my("click",function(){Pp(t);let e=l_(2);return Lp(e.deleteGroup())}),Xs(38,"mat-icon"),V_(39,"delete"),hd(),Xs(40,"span"),V_(41),fS(42,"translate"),hd()()()()();}if(o&2){let t=v_(23),i=l_(2);_C(4),ay("matTooltip",i.groupName()),_C(),ky(i.groupName()),_C(2),ZT(i.paginator.length>=0?7:-1),_C(),ZT(i.selectedGroup()?.createdOn?8:-1),_C(6),ky(hS(15,10,"Rename")),_C(2),ay("matMenuTriggerFor",t),_C(4),ky(hS(21,12,"More")),_C(8),ky(hS(29,14,"Merge with group")),_C(6),ky(hS(35,16,"Split Group")),_C(7),ky(hS(42,18,"Delete"));}}function Cn(o,f){o&1&&Qm(0,hn,43,20,"aside",64),o&2&&ay("ngxPermissionsOnly",tS(1,ze));}function Mn(o,f){if(o&1){let t=o_();Xs(0,"div",79)(1,"mat-form-field",80)(2,"input",89),fS(3,"translate"),Vy("ngModelChange",function(e){Pp(t);let s=l_(2);return G_(s.searchTags,e)||(s.searchTags=e),Lp(e)}),my("keyup.enter",function(){Pp(t);let e=l_(2);return Lp(e.onSearch())}),hd(),lb(),Xs(4,"mat-icon",82),V_(5,"sell"),hd()()();}if(o&2){let t=l_(2);_C(2),ay("placeholder",Z_(hS(3,3,"Tags"))),By("ngModel",t.searchTags),fb();}}function xn(o,f){if(o&1){let t=o_();Xs(0,"div",79)(1,"mat-form-field",80)(2,"input",90),fS(3,"translate"),Vy("ngModelChange",function(e){Pp(t);let s=l_(2);return G_(s.phoneLength,e)||(s.phoneLength=e),Lp(e)}),my("keydown",function(e){Pp(t);let s=l_(2);return Lp(s.preventInvalidInput(e))})("keyup.enter",function(){Pp(t);let e=l_(2);return Lp(e.onSearch())}),hd(),lb(),Xs(4,"mat-icon",82),V_(5,"straighten"),hd()()();}if(o&2){let t=l_(2);_C(2),ay("placeholder",Z_(hS(3,3,"Phone Length"))),By("ngModel",t.phoneLength),fb();}}function vn(o,f){if(o&1){let t=o_();Xs(0,"div",79)(1,"mat-form-field",80)(2,"input",91),fS(3,"translate"),Vy("ngModelChange",function(e){Pp(t);let s=l_(2);return G_(s.createdFrom,e)||(s.createdFrom=e),Lp(e)}),hd(),lb(),cy(4,"mat-datepicker-toggle",92)(5,"mat-datepicker",null,2),hd()();}if(o&2){let t=v_(6),i=l_(2);_C(2),ay("placeholder",Z_(hS(3,5,"Created From")))("matDatepicker",t),By("ngModel",i.createdFrom),fb(),_C(2),ay("for",t);}}
1function bn(o,f){if(o&1){let t=o_();Xs(0,"div",79)(1,"mat-form-field",80)(2,"input",91),fS(3,"translate"),Vy("ngModelChange",function(e){Pp(t);let s=l_(2);return G_(s.createdTo,e)||(s.createdTo=e),Lp(e)}),hd(),lb(),cy(4,"mat-datepicker-toggle",92)(5,"mat-datepicker",null,3),hd()();}if(o&2){let t=v_(6),i=l_(2);_C(2),ay("placeholder",Z_(hS(3,5,"Created To")))("matDatepicker",t),By("ngModel",i.createdTo),fb(),_C(2),ay("for",t);}}function Sn(o,f){if(o&1){let t=o_();Xs(0,"div",78)(1,"div",79)(2,"mat-form-field",80)(3,"input",81),fS(4,"translate"),Vy("ngModelChange",function(e){Pp(t);let s=l_();return G_(s.searchName,e)||(s.searchName=e),Lp(e)}),my("keyup.enter",function(){Pp(t);let e=l_();return Lp(e.onSearch())}),hd(),lb(),Xs(5,"mat-icon",82),V_(6,"contact_page"),hd()()(),Xs(7,"div",79)(8,"mat-form-field",80)(9,"input",83),fS(10,"translate"),Vy("ngModelChange",function(e){Pp(t);let s=l_();return G_(s.searchPhone,e)||(s.searchPhone=e),Lp(e)}),my("keyup.enter",function(){Pp(t);let e=l_();return Lp(e.onSearch())})("keydown",function(e){Pp(t);let s=l_();return Lp(s.preventInvalidInput(e))}),hd(),lb(),Xs(11,"mat-icon",82),V_(12,"phone"),hd()()(),Qm(13,Mn,6,5,"div",84)(14,xn,6,5,"div",84)(15,vn,7,7,"div",84)(16,bn,7,7,"div",84),hd(),Xs(17,"div",85)(18,"button",86),my("click",function(){Pp(t);let e=l_();return Lp(e.resetSearch())}),Xs(19,"mat-icon",87),V_(20,"restart_alt"),hd(),Xs(21,"span"),V_(22),fS(23,"translate"),hd()(),Xs(24,"button",88),my("click",function(){Pp(t);let e=l_();return Lp(e.onSearch())}),Xs(25,"mat-icon",87),V_(26,"search"),hd(),Xs(27,"span"),V_(28),fS(29,"translate"),hd()()();}if(o&2){let t=l_();_C(3),ay("placeholder",Z_(hS(4,8,"Name"))),By("ngModel",t.searchName),fb(),_C(6),ay("placeholder",Z_(hS(10,10,"Phone"))),By("ngModel",t.searchPhone),fb(),_C(13),ky(hS(23,12,"Reset")),_C(6),ky(hS(29,14,"Search"));}}function wn(o,f){o&1&&(V_(0),fS(1,"translate")),o&2&&Dd(" \xB7 ",hS(1,1,"Limit reached")," ");}function yn(o,f){if(o&1&&(Xs(0,"span",103)(1,"mat-icon",104),V_(2,"contacts"),hd(),V_(3),fS(4,"number"),fS(5,"number"),qT(6,wn,2,3),hd()),o&2){let t=l_(3);_y("text-danger",!t.contactAllowance.canAddMore),_C(3),Fy(" ",hS(4,5,t.contactAllowance.used)," / ",hS(5,7,t.contactAllowance.limit)," "),_C(3),ZT(t.contactAllowance.canAddMore?-1:6);}}function Tn(o,f){o&1&&(Xs(0,"mat-icon",106),V_(1,"hourglass_top"),hd(),V_(2),fS(3,"translate")),o&2&&(_C(2),Dd(" ",hS(3,1,"Your export is being prepared. We will notify you when it is ready.")," "));}function kn(o,f){if(o&1&&(Xs(0,"span",108),V_(1),fS(2,"translate"),fS(3,"date"),hd()),o&2){let t=l_(5);_C(),Fy(" \xB7 ",hS(2,2,"Link expires")," ",gS$1(3,4,t.exportStatus.expiresOn,"short")," ");}}function En(o,f){if(o&1){let t=o_();Xs(0,"mat-icon",104),V_(1,"check_circle"),hd(),Xs(2,"button",107),my("click",function(){Pp(t);let e=l_(4);return Lp(e.downloadExport())}),V_(3),fS(4,"translate"),hd(),qT(5,kn,4,7,"span",108);}if(o&2){let t=l_(4);_C(3),Dd(" ",hS(4,2,"Download your contacts file")," "),_C(2),ZT(t.exportStatus?.expiresOn?5:-1);}}function Pn(o,f){if(o&1&&(Xs(0,"span",105),qT(1,Tn,4,3)(2,En,6,4),hd()),o&2){let t=l_(3);_y("is-ready",t.canDownloadExport&&!t.isExportInProgress),_C(),ZT(t.isExportInProgress?1:2);}}function Dn(o,f){if(o&1){let t=o_();Xs(0,"button",109),fS(1,"translate"),fS(2,"translate"),my("click",function(){Pp(t);let e=l_(3);return Lp(e.openImportContactDialog())}),Xs(3,"mat-icon",72),V_(4,"upload"),hd()();}o&2&&(ay("matTooltip",Z_(hS(1,4,"Import Contacts"))),iy("aria-label",Z_(hS(2,6,"Import Contacts"))));}function In(o,f){if(o&1){let t=o_();Xs(0,"button",109),fS(1,"translate"),fS(2,"translate"),my("click",function(){Pp(t);let e=l_(3);return Lp(e.removeDuplicatedPhones())}),Xs(3,"mat-icon",72),V_(4,"auto_fix_high"),hd()();}o&2&&(ay("matTooltip",Z_(hS(1,4,"Remove Duplicated Phones"))),iy("aria-label",Z_(hS(2,6,"Remove Duplicated Phones"))));}function On(o,f){if(o&1){let t=o_();Xs(0,"button",112),fS(1,"translate"),fS(2,"translate"),my("click",function(){Pp(t);let e=l_(5);return Lp(e.exportToExcel())}),Xs(3,"mat-icon",72),V_(4,"download"),hd()();}if(o&2){let t=l_(5);ay("matTooltip",Z_(hS(1,5,"Export this page to Excel"))),iy("aria-label",Z_(hS(2,7,"Export this page to Excel"))),ay("disabled",!t.contacts||t.contacts.length===0);}}function Gn(o,f){o&1&&Qm(0,On,5,9,"button",111),o&2&&ay("ngxPermissionsOnly",tS(1,tn));}function Bn(o,f){if(o&1&&(yd(0),qT(1,Gn,1,2,"button",110),Da()),o&2){let t=l_(3);_C(),ZT(t.exportBlockedByPrivacy?-1:1);}}function Ln(o,f){o&1&&(Xs(0,"button",113),fS(1,"translate"),fS(2,"translate"),Xs(3,"mat-icon",116),V_(4,"hourglass_top"),hd()()),o&2&&(ay("matTooltip",Z_(hS(1,4,"Your export is being prepared. We will notify you when it is ready."))),iy("aria-label",Z_(hS(2,6,"Your export is being prepared. We will notify you when it is ready."))));}
1function Vn(o,f){if(o&1){let t=o_();Xs(0,"button",63),fS(1,"translate"),fS(2,"translate"),my("click",function(){Pp(t);let e=l_(5);return Lp(e.downloadExport())}),Xs(3,"mat-icon",72),V_(4,"cloud_download"),hd()();}o&2&&(ay("matTooltip",Z_(hS(1,4,"Download your contacts file"))),iy("aria-label",Z_(hS(2,6,"Download your contacts file"))));}function Fn(o,f){if(o&1){let t=o_();Xs(0,"button",109),fS(1,"translate"),fS(2,"translate"),my("click",function(){Pp(t);let e=l_(5);return Lp(e.startFullExport())}),Xs(3,"mat-icon",72),V_(4,"download_for_offline"),hd()();}o&2&&(ay("matTooltip",Z_(hS(1,4,"Export all contacts"))),iy("aria-label",Z_(hS(2,6,"Export all contacts"))));}function An(o,f){if(o&1&&qT(0,Ln,5,8,"button",113)(1,Vn,5,8,"button",114)(2,Fn,5,8,"button",115),o&2){let t=l_(4);ZT(t.isExportInProgress?0:t.canDownloadExport?1:2);}}function Rn(o,f){if(o&1&&(yd(0),qT(1,An,3,1),Da()),o&2){let t=l_(3);_C(),ZT(t.exportBlockedByPrivacy?-1:1);}}function Nn(o,f){if(o&1){let t=o_();Xs(0,"div",22)(1,"mat-toolbar",94)(2,"div",95)(3,"button",63),fS(4,"translate"),fS(5,"translate"),my("click",function(){Pp(t);let e=l_(2);return Lp(e.selectAll())}),Xs(6,"mat-icon"),V_(7),hd()(),Xs(8,"span",12),V_(9),fS(10,"translate"),hd()(),qT(11,yn,7,9,"span",96),qT(12,Pn,3,3,"span",97),Xs(13,"div",98)(14,"button",99),fS(15,"translate"),fS(16,"translate"),my("click",function(){Pp(t);let e=l_(2);return Lp(e.openCreateContactDialog())}),Xs(17,"mat-icon",72),V_(18,"person_add"),hd()(),Qm(19,Dn,5,8,"button",100)(20,In,5,8,"button",100)(21,Bn,2,1,"ng-container",101)(22,Rn,2,1,"ng-container",102),hd()()();}if(o&2){let t=l_(2);_C(3),ay("matTooltip",Z_(hS(4,14,"Select All"))),iy("aria-label",Z_(hS(5,16,"Select All"))),_C(4),ky(t.areAllContactsSelected()?"check_box":"check_box_outline_blank"),_C(2),ky(hS(10,18,"Contacts")),_C(2),ZT(t.contactAllowance?.limit?11:-1),_C(),ZT(t.canExportAllContacts&&(t.isExportInProgress||t.canDownloadExport)?12:-1),_C(2),ay("matTooltip",Z_(hS(15,20,t.contactAllowance!==null&&!t.contactAllowance.canAddMore?"You have reached your plan limit. Existing contacts stay as they are \u2014 delete some or upgrade your plan to add new ones.":"Create Contact"))),iy("aria-label",Z_(hS(16,22,"Create Contact"))),ay("disabled",t.contactAllowance!==null&&!t.contactAllowance.canAddMore),_C(8),ay("ngxPermissionsOnly",tS(24,Zo));}}function jn(o,f){o&1&&Qm(0,Nn,23,25,"div",93),o&2&&ay("ngxPermissionsOnly",tS(1,ze));}function zn(o,f){if(o&1){let t=o_();Xs(0,"button",122),my("click",function(){Pp(t);let e=l_(3);return Lp(e.applyCountryCodeToSelected())}),Xs(1,"mat-icon",72),V_(2,"public"),hd(),Xs(3,"span"),V_(4),fS(5,"translate"),hd()();}o&2&&(_C(4),ky(hS(5,1,"Apply Country Code")));}function Un(o,f){if(o&1){let t=o_();Xs(0,"button",122),my("click",function(){Pp(t);let e=l_(3);return Lp(e.removeContactsFromGroup())}),Xs(1,"mat-icon",72),V_(2,"person_remove"),hd(),Xs(3,"span"),V_(4),fS(5,"translate"),hd()();}o&2&&(_C(4),ky(hS(5,1,"Remove from Group")));}function Wn(o,f){if(o&1){let t=o_();Xs(0,"div",23)(1,"button",118),fS(2,"translate"),fS(3,"translate"),my("click",function(){Pp(t);let e=l_(2);return Lp(e.selectAll())}),Xs(4,"mat-icon"),V_(5),hd()(),Xs(6,"span",119),V_(7),fS(8,"translate"),hd(),Xs(9,"button",120),fS(10,"translate"),fS(11,"translate"),my("click",function(){Pp(t);let e=l_(2);return Lp(e.clearContactSelection())}),Xs(12,"mat-icon",72),V_(13,"close"),hd()(),cy(14,"span",121),Xs(15,"button",122),my("click",function(){Pp(t);let e=l_(2);return Lp(e.openAddContactsToGroupDialog())}),Xs(16,"mat-icon",72),V_(17,"category"),hd(),Xs(18,"span"),V_(19),fS(20,"translate"),hd()(),Qm(21,zn,6,3,"button",123),qT(22,Un,6,3,"button",124),Xs(23,"button",125),my("click",function(){Pp(t);let e=l_(2);return Lp(e.deleteContacts())}),Xs(24,"mat-icon",72),V_(25,"delete"),hd(),Xs(26,"span"),V_(27),fS(28,"translate"),hd()()();}if(o&2){let t=l_(2);_C(),ay("matTooltip",Z_(hS(2,14,"Select All"))),iy("aria-label",Z_(hS(3,16,"Select All"))),_C(4),ky(t.areAllContactsSelected()?"check_box":"check_box_outline_blank"),_C(2),Fy("",t.selectedContacts.length," ",hS(8,18,"Selected")),_C(2),ay("matTooltip",Z_(hS(10,20,"Clear selection"))),iy("aria-label",Z_(hS(11,22,"Clear selection"))),_C(10),ky(hS(20,24,"Add contact(s) to group")),_C(3),ZT(t.groupId&&t.groupId!==-1?22:-1),_C(5),ky(hS(28,26,"Delete"));}}function qn(o,f){o&1&&Qm(0,Wn,29,28,"div",117),o&2&&ay("ngxPermissionsOnly",tS(1,ze));}
1function $n(o,f){if(o&1){let t=o_();Xs(0,"label",138)(1,"mat-checkbox",139),my("click",function(e){return e.stopPropagation()})("change",function(){Pp(t);let e=l_().$implicit,s=l_(2);return Lp(s.checkUncheckContact(e))}),hd()();}if(o&2){let t=l_().$implicit;_C(),ay("checked",t.isSelected);}}function Hn(o,f){if(o&1&&(Xs(0,"span",133)(1,"mat-icon",140),V_(2,"call"),hd(),V_(3),hd()),o&2){let t=l_().$implicit;_C(3),ky(t.phone);}}function Yn(o,f){if(o&1&&(Xs(0,"span",133)(1,"mat-icon",140),V_(2,"mail"),hd(),V_(3),hd()),o&2){let t=l_().$implicit;_C(3),ky(t.email);}}function Kn(o,f){if(o&1&&(Xs(0,"div",134),cy(1,"app-tags",141),hd()),o&2){let t=l_().$implicit,i=l_(2);_C(),ay("tags",i.getContactTags(t.tags));}}function Qn(o,f){if(o&1){let t=o_();Xs(0,"div",128),my("click",function(){let e=Pp(t).$implicit,s=l_(2);return Lp(s.checkUncheckContact(e))}),Qm(1,$n,2,1,"label",129),Xs(2,"div",130)(3,"div",131),V_(4),hd(),Xs(5,"div",132),qT(6,Hn,4,1,"span",133),qT(7,Yn,4,1,"span",133),hd()(),qT(8,Kn,2,1,"div",134),Xs(9,"div",135)(10,"app-permission-button",136),my("clickAction",function(){let e=Pp(t).$implicit,s=l_(2);return Lp(s.openUpdateDialog(e))}),hd(),Xs(11,"app-permission-button",137),my("clickAction",function(){let e=Pp(t).$implicit,s=l_(2);return Lp(s.sendMessage(e.id,e.formattedName))}),hd()()();}if(o&2){let t=f.$implicit;_y("selected",t.isSelected),_C(),ay("ngxPermissionsOnly",tS(7,ze)),_C(3),ky(t.formattedName),_C(2),ZT(t.phone?6:-1),_C(),ZT(t.email?7:-1),_C(),ZT(t.tags?8:-1);}}function Jn(o,f){if(o&1&&(Xs(0,"div",126),KT(1,Qn,12,8,"div",127,QT),hd()),o&2){let t=l_();_C(),XT(t.contacts);}}var _s=(()=>{class o{constructor(t,i,e,s,d,M,Ge,ri,So,wo,yo,To,ko){this.activatedRoute=t,this.contactService=i,this.loadingService=e,this.customerService=s,this.toastr=d,this.errorService=M,this.translate=Ge,this.router=ri,this.dialogConfigService=So,this.paginationState=wo,this.breakpointObserver=yo,this.authService=To,this.customerPrivacySettingsService=ko,this.dialog=g(gr),this.pageTitle="Contacts list",this.sidePanelOpened=true,this.selectedGroups=[],this.groups=[],this.contactAllowance=null,this.groupSearch="",this.contacts=[],this.searchExpanded=false,this.searchName="",this.searchPhone="",this.selectedContacts=[],this.isThereSeletecContacts=false,this.selectedContactsCount=0,this.phoneLength=null,this.searchTags="",this.createdFrom=null,this.createdTo=null,this.exportStatus=null,this.startingExport=false,this.canExportAllContacts=false,this.exportBlockedByPrivacy=false;}isOver(){return this.breakpointObserver.isMatched(qi.Handset)}isGroupSelected(t){return this.selectedGroups.includes(t)}toggleGroupSelection(t){let i=this.selectedGroups.indexOf(t);i===-1?this.selectedGroups.push(t):this.selectedGroups.splice(i,1);}get filteredGroups(){let t=this.groupSearch.trim().toLowerCase();return t?this.groups.filter(i=>i.name?.toLowerCase().includes(t)):this.groups}get allFilteredSelected(){let t=this.filteredGroups;return t.length>0&&t.every(i=>this.selectedGroups.includes(i.id))}get someFilteredSelected(){let t=this.filteredGroups,i=t.filter(e=>this.selectedGroups.includes(e.id)).length;return i>0&&i<t.length}toggleSelectAllGroups(){let t=this.filteredGroups;if(this.allFilteredSelected){let i=new Set(t.map(e=>e.id));this.selectedGroups=this.selectedGroups.filter(e=>!i.has(e));}else {let i=new Set(this.selectedGroups);t.forEach(e=>i.add(e.id)),this.selectedGroups=Array.from(i);}}deleteSelectedGroups(){if(this.selectedGroups.length===0)return;let t=this.dialogConfigService.getDefaultDialogConfig();this.dialog.open(gi,E(D({},t),{data:{deleteOption:"none"}})).afterClosed().subscribe(e=>{e!==void 0&&e!=="none"&&this.confirmDeleteSelectedGroups(e);});}confirmDeleteSelectedGroups(t){let i=t==="deleteContacts",e=[...this.selectedGroups];this.loadingService.loadingOn();let s=e.map(d=>this.contactService.deleteGroup(d,i));UD(s).subscribe({next:d=>{this.loadingService.loadingOff();let M=d.filter(Ge=>Ge).length;M>0&&this.toastr.success(`${this.translate.instant("Deleted Successfully")} (${M}/${e.length})`),M<e.length&&this.errorService.setError(null,"Some groups failed to delete"),this.selectedGroups=[],e.includes(this.groupId)&&(this.groupId=null),this.getAllGroups(),this.getContacts();},error:d=>{this.loadingService.loadingOff(),this.errorService.setError(d,"Fail to delete!");}});}mergeSelectedGroups(){if(this.selectedGroups.length<2)return;let t=this.groups.filter(s=>
1this.selectedGroups.includes(s.id)),i=this.dialogConfigService.getDefaultDialogConfig();this.dialog.open(xo,E(D({},i),{data:{groups:t}})).afterClosed().subscribe(s=>{s&&this.confirmMergeSelectedGroups(s);});}confirmMergeSelectedGroups(t){let i=this.selectedGroups.filter(s=>s!==t);if(i.length===0)return;this.loadingService.loadingOn();let e=i.map(s=>this.contactService.mergeGroups(s,t));UD(e).subscribe({next:s=>{this.loadingService.loadingOff();let d=s.filter(M=>M.succeeded).length;d>0&&this.toastr.success(`${this.translate.instant("Merged Successfully")} (${d}/${i.length})`),d<i.length&&this.errorService.setError(null,"Some groups failed to merge"),this.selectedGroups=[],this.getAllGroups(),this.getContactsByGrp(t);},error:s=>{this.loadingService.loadingOff(),this.errorService.setError(s,"Failed to Complete the Operation");}});}getContactsByGrp(t){this.clearContactSelection(),this.paginator.pageIndex=0,this.groupId=t,this.getContacts(),this.isOver()&&this.sidenav.close();}clearContactSelection(){this.contacts?.forEach(t=>t.isSelected=false),this.selectedContacts=[],this.selectedContactsCount=0,this.isThereSeletecContacts=false;}onSearch(){this.searchPhone&&(this.searchPhone=this.searchPhone.replace(/\D/g,"")),this.paginator&&(this.paginator.pageIndex=0),this.getContacts();}getContacts(){this.contactsSub&&!this.contactsSub.closed&&(this.contactsSub.unsubscribe(),this.loadingService.loadingOff()),this.loadingService.loadingOn();let t=null,i=null;if(this.createdFrom){let d=new Date(this.createdFrom);d.setHours(0,0,0,0),t=d.toISOString();}if(this.createdTo){let d=new Date(this.createdTo);d.setHours(23,59,59,999),i=d.toISOString();}let s=this.groupId===-1?this.contactService.getUngroupedContacts(this.searchName,this.searchPhone.trim().replace(/^0+/,""),this.phoneLength??null,this.searchTags,this.paginator.pageIndex,this.paginator.pageSize,t,i):this.contactService.getContacts(this.searchName,this.searchPhone.trim().replace(/^0+/,""),this.groupId,this.phoneLength??null,this.searchTags,this.paginator.pageIndex,this.paginator.pageSize,t,i);this.contactsSub=s.subscribe({next:d=>{this.loadingService.loadingOff(),this.contacts=d.data||[],(d.count??-1)>=0&&(this.paginator.length=d.count);},error:d=>{this.loadingService.loadingOff(),this.errorService.setError(d,"Error while getting the data");}});}deleteContacts(){if(!this.selectedContacts)return;let t=this.dialogConfigService.getDefaultDialogConfig();this.dialog.open(Ri,E(D({},t),{data:{confirmed:true}})).afterClosed().subscribe(e=>{(e===true||e?.confirmed===true)&&this.confirmDeleteContacts();});}confirmDeleteContacts(){this.selectedContacts&&(this.loadingService.loadingOn(),this.sub=this.contactService.deleteContacts(this.selectedContacts).subscribe({next:t=>{this.loadingService.loadingOff(),t?(this.toastr.success("Deleted Successfully"),this.clearContactSelection(),this.getContacts()):this.errorService.setError(t,"Fail to delete!");},error:t=>{this.errorService.setError(t,"Fail to delete!");}}));}deleteGroup(){if(!this.selectedContacts)return;let t=this.dialogConfigService.getDefaultDialogConfig();this.dialog.open(gi,E(D({},t),{data:{deleteOption:"none"}})).afterClosed().subscribe(e=>{e!==void 0&&e!="none"&&this.confirmDeleteGroup(e);});}confirmDeleteGroup(t){if(!this.groupId)return;let i=t=="deleteContacts";this.loadingService.loadingOn(),this.sub=this.contactService.deleteGroup(this.groupId,i).subscribe({next:e=>{this.loadingService.loadingOff(),e?(this.toastr.success("Deleted Successfully"),this.getAllGroups(),this.groupId=null,this.getContacts()):this.errorService.setError(e,"Fail to delete!");},error:e=>{this.errorService.setError(e,"Fail to delete!");}});}checkUncheckContact(t){let i=this.selectedContacts.indexOf(t.id);i==-1?(this.selectedContacts.push(t.id),t.isSelected=true):(this.selectedContacts.splice(i,1),t.isSelected=false),this.selectedContacts&&this.selectedContacts.length>0?(this.isThereSeletecContacts=true,this.selectedContactsCount=this.selectedContacts.length):(this.isThereSeletecContacts=false,this.selectedContactsCount=0);}getAllGroups(){this.loadingService.loadingOn(),this.sub=this.contactService.getAllGroups().subscribe({next:t=>{this.loadingService.loadingOff(),t.succeeded&&(this.groups=t.data.sort((i,e)=>new Date(e.createdOn).getTime()-new Date(i.createdOn).getTime()));},error:t=>{this.loadingService.loadingOff(),this.errorService.setError(t,"Error while getting the data");}});}loadCustomerPrivacySetting(){this.authService.hasPermission("View_Customer_PhoneNumber")||this.customerPrivacySettingsService.getSettings().subscribe({next:t=>{this.exportBlockedByPrivacy=t?.data?.hideCustomerPhoneNumbers===true;},error:()=>{}});}ngOnInit(){this.activatedRoute.params.subscribe(e=>{e&&(this.groupId=e.groupId);});let{pageIndex:t,pageSize:i}=this.paginationState.getState("contacts-page");this.paginator.pageIndex=t,this.paginator.pageSize=i,this.getAllGroups(),this.getContacts(),this.getContactAllowance(),this.checkBreakpoint(),this.canExportAllContacts=this.authService.hasPermission("Export_All_Contacts"),this.loadCustomerPrivacySetting(),this.loadExportStatus(),this.activatedRoute.queryParams.subscribe(e=>{let s=Number(e.contactExportId);!(s>0)||!this.canExportAllContacts||(this.router.navigate([],{relativeTo:this.activatedRoute,queryParams:{contactExportId:null},queryParamsHandling:"merge",replaceUrl:true}),this.downloadExport(s));});}get isExportInProgress(){return this.startingExport||this.exportStatus?.isInProgress===true}get canDownloadExport(){return this.exportStatus?.canDownload===true}loadExportStatus(){if(!this.canExportAllContacts){this.exportStatus=null;return}this.contactService.getContactExportStatus().subscribe({next:t=>{this.exportStatus=t?.succeeded?t.data??null:null,this.syncExportPolling();},error:()=>{this.exportStatus=null;}});}syncExportPolling(){let t=this.exportStatus?.isInProgress===true;t&&!this.exportPollTimer?this.exportPollTimer=setInterval(()=>this.loadExportStatus(),1e4):!t&&this.exportPollTimer&&(clearInterval(this.exportPollTimer),this.exportPollTimer=void 0);}startFullExport(){if(this.isExportInProgress)return;this.startingExport=true;let t=null,i=null;if(this.createdFrom){let s=new Date(this.createdFrom);s.setHours(0,0,0,0),t=s.toISOString();}if(this.createdTo){let s=new Date(this.createdTo);s.setHours(23,59,59,999),i=s.toISOString();}let e=this.groupId===-1;this.contactService.startContactExport({name:this.searchName||null,phone:this.searchPhone?this.searchPhone.trim().replace(/^0+/,""):null,groupId:e?null:this.groupId,phoneLength:this.phoneLength??null,tags:this.searchTags||null,createdFrom:t,createdTo:i,ungroupedOnly:e}).subscribe({next:s=>{this.startingExport=false,s?.succeeded?(this.toastr.success(s.notice??this.translate.instant("Your export is being prepared. We will notify you with the download link when it is ready.")),this.loadExportStatus()):this.errorService.setError(s,"Error while starting the export");},error:s=>{this.startingExport=false,this.errorService.setError(s,"Error while starting the export");}});}downloadExport(t){let i=t??this.exportStatus?.id;i&&(this.loadingService.loadingOn(),this.contactService.downloadContactExport(i).subscribe({next:e=>{this.loadingService.loadingOff();let s=URL.createObjectURL(e),d=document.createElement("a");d.href=s,d.download=this.exportStatus?.fileName??"contacts.xlsx",d.click(),setTimeout(()=>URL.revokeObjectURL(s),0);},error:e=>{this.loadingService.loadingOff(),this.showDownloadError(e),this.loadExportStatus();}}));}showDownloadError(t){let i=this.translate.instant("This download link has expired. Please start a new exp
1ort."),e=t?.error;if(!(e instanceof Blob)){this.toastr.error(i);return}e.text().then(s=>{let d="";try{let M=JSON.parse(s);d=M?.errors?.[0]??M?.message??"";}catch(M){}this.toastr.error(d?.trim()?d:i);}).catch(()=>this.toastr.error(i));}getContactAllowance(){this.contactService.getContactAllowance().subscribe({next:t=>{this.contactAllowance=t?.succeeded?t.data:null;},error:()=>{this.contactAllowance=null;}});}checkBreakpoint(){this.breakpointObserver.observe([qi.Handset]).subscribe(t=>{this.sidePanelOpened=!t.matches;});}ngOnDestroy(){this.sub&&this.sub.unsubscribe(),this.contactsSub&&this.contactsSub.unsubscribe(),this.exportPollTimer&&clearInterval(this.exportPollTimer);}onPageChange(t){this.paginator.pageIndex=t.pageIndex,this.paginator.pageSize=t.pageSize,this.paginationState.setState("contacts-page",{pageIndex:t.pageIndex,pageSize:t.pageSize}),this.getContacts();}sendMessage(t,i){t?i?this.sub=this.customerService.getOrCreateCustomerFromContact(t).subscribe({next:e=>{this.loadingService.loadingOff(),e.succeeded&&this.router.navigate(["/apps/customers/customer-profile/"+e.data.id]);},error:e=>this.errorService.setError(e,"Error while sending")}):this.errorService.setError(null,"The contact name is invalid."):this.errorService.setError(null,"The selected contact is invalid!");}openCreateContactDialog(){let t=this.dialogConfigService.getDefaultDialogConfig();this.dialog.open(_o,E(D({},t),{data:{}})).afterClosed().subscribe(e=>{e&&this.getContacts();});}openImportContactDialog(){this.router.navigate(["apps/contacts/upload-contacts"]);}openCreateGroupDialog(){let t=this.dialogConfigService.getDefaultDialogConfig();this.dialog.open(oi,E(D({},t),{data:{}})).afterClosed().subscribe(e=>{e&&(this.getAllGroups(),this.getContacts());});}openUpdateGroupDialog(){let t=this.dialogConfigService.getDefaultDialogConfig();this.dialog.open(fo,E(D({},t),{data:{groupId:this.groupId,groupName:this.groupName()}})).afterClosed().subscribe(e=>{e&&this.getAllGroups();});}openAddContactsToGroupDialog(){let t=this.dialogConfigService.getDefaultDialogConfig();this.dialog.open(ho,E(D({},t),{data:{groups:this.groups,selectedContacts:this.selectedContacts}})).afterClosed().subscribe(e=>{e&&(this.getAllGroups(),this.getContacts());});}groupName(){if(!this.groups||this.groups.length===0)return "";let t=this.groups.find(i=>i.id==this.groupId);return t?t.name:""}selectedGroup(){if(!(!this.groupId||this.groupId===-1))return this.groups?.find(t=>t.id===this.groupId)}
1selectAll(){this.areAllContactsSelected()?(this.contacts.forEach(i=>{i.isSelected=false;}),this.selectedContacts=[],this.selectedContactsCount=0):this.contacts.forEach(i=>{this.selectedContacts.indexOf(i.id)==-1&&(this.selectedContacts.push(i.id),i.isSelected=true);}),this.selectedContacts&&this.selectedContacts.length>0?(this.isThereSeletecContacts=true,this.selectedContactsCount=this.selectedContacts.length):(this.isThereSeletecContacts=false,this.selectedContactsCount=0);}areAllContactsSelected(){return this.contacts.length==this.selectedContactsCount}removeContactsFromGroup(){if(!this.selectedContacts||!this.groupId)return;let t=this.dialogConfigService.getDefaultDialogConfig();this.dialog.open(Ri,E(D({},t),{data:{confirmed:true}})).afterClosed().subscribe(e=>{(e===true||e?.confirmed)&&(this.loadingService.loadingOn(),this.sub=this.contactService.removeContactsFromGroup(this.groupId,this.selectedContacts).subscribe({next:s=>{this.loadingService.loadingOff(),s?.succeeded?(this.toastr.success("Deleted Successfully"),this.clearContactSelection(),this.getContacts()):this.errorService.setError(s,"Fail to delete!");},error:s=>{this.errorService.setError(s,"Fail to delete!");}}));});}removeDuplicatedPhones(){let t=this.dialogConfigService.getDefaultDialogConfig();this.dialog.open(Ri,E(D({},t),{data:{confirmed:true}})).afterClosed().subscribe(e=>{(e===true||e?.confirmed)&&(this.loadingService.loadingOn(),this.contactService.removeDuplicatedPhones().subscribe({next:s=>{if(this.loadingService.loadingOff(),s?.succeeded){let d=s.data;d?(this.toastr.success(`${this.translate.instant("The deleted duplicated phones:")}: ${d}`),this.getContacts()):this.toastr.info("No duplicated contacts were found.");}else this.errorService.setError(s,"Failed to Complete the Operation");},error:s=>{this.errorService.setError(s,"Failed to Complete the Operation");}}));});}deleteEmptyGroups(){let t=this.dialogConfigService.getDefaultDialogConfig();this.dialog.open(Ri,E(D({},t),{data:{confirmed:true}})).afterClosed().subscribe(e=>{(e===true||e?.confirmed)&&(this.loadingService.loadingOn(),this.contactService.deleteEmptyGroups().subscribe({next:s=>{if(this.loadingService.loadingOff(),s?.succeeded){let d=s.data;d?(this.toastr.success(`${this.translate.instant("Deleted empty groups")}: ${d}`),this.groupId=null,this.getAllGroups(),this.getContacts()):this.toastr.info("No empty groups were found");}else this.errorService.setError(s,"Failed to Complete the Operation");},error:s=>{this.errorService.setError(s,"Failed to Complete the Operation");}}));});}applyCountryCodeToSelected(){let t=this.dialogConfigService.getDefaultDialogConfig();this.dialog.open(Co,t).afterClosed().subscribe(e=>{e&&(this.loadingService.loadingOn(),this.contactService.updatePhoneCountryCode(this.selectedContacts.map(s=>s),e).subscribe({next:s=>{this.loadingService.loadingOff(),this.toastr.success("Updated Successfully"),this.getContacts();},error:s=>{this.errorService.setError(s,"Failed to Complete the Operation");}}));});}preventInvalidInput(t){let i=/^[0-9]$/.test(t.key),e=["Backspace","ArrowLeft","ArrowRight","Delete","Tab"],s=t.ctrlKey||t.metaKey,d=["c","v","x","\u0624","\u0631","\u0621"].includes(t.key.toLowerCase())&&s;!i&&!e.includes(t.key)&&!d&&t.preventDefault();}openUpdateDialog(t){let i=this.dialogConfigService.getDefaultDialogConfig();this.dialog.open(ii,E(D({},i),{data:{contact:t}})).afterClosed().subscribe(s=>{s&&this.getContacts();});}openMergeGroupsDialog(){let t=this.dialogConfigService.getDefaultDialogConfig();this.dialog.open(Mo,E(D({},t),{data:{groups:this.groups,fromGroup:this.groupId}})).afterClosed().subscribe(e=>{e&&this.getContactsByGrp(e);});}openSplitGroupDialog(t){this.dialog.open(vo,{width:"400px",data:{groupId:t}}).afterClosed().subscribe(e=>{e&&(this.loadingService.loadingOn(),this.sub=this.contactService.splitGroup(e.groupId,e.newGroupNames).subscribe({next:s=>{this.loadingService.loadingOff(),s.succeeded?(this.getAllGroups(),this.getContacts(),this.toastr.success("Split Successfully")):this.errorService.setError(s,"Error while splitting the group");},error:s=>{this.loadingService.loadingOff(),this.errorService.setError(s,"Error while splitting the group");}}));});}openSplitUngroupedDialog(){this.dialog.open(bo,{width:"420px"}).afterClosed().subscribe(i=>{i&&(this.loadingService.loadingOn(),this.sub=this.contactService.splitUngroupedContacts(i.groupingOption,i.numberOfGroupsOrContacts,i.groupNamePrefix).subscribe({next:e=>{this.loadingService.loadingOff(),e.succeeded?(this.groupId=null,this.paginator.pageIndex=0,this.getAllGroups(),this.getContacts(),this.toastr.success(e.data??"Split Successfully")):this.errorService.setError(e,"Error while splitting ungrouped contacts");},error:e=>{this.loadingService.loadingOff(),this.errorService.setError(e,"Error while splitting ungrouped contacts");}}));});}getContactTags(t){return t?t.split(";").map(i=>i.trim()).filter(i=>i.length>0):[]}exportToExcel(){if(!this.contacts||this.contacts.length===0){this.toastr.warning(this.translate.instant("No data to export"));return}let t=this.contacts.map(i=>({formattedName:i.formattedName??"",phone:i.phone??"",email:i.email??"",tags:i.tags??""}));x(t,"Contacts",`contacts_${new Date().toISOString().split("T")[0]}.xlsx`).then(()=>this.toastr.success(this.translate.instant("Excel file exported successfully"))).catch(i=>{console.error("Excel export failed",i);let e=i instanceof s?"A new version is available. Please refresh the page and try again.":"Error exporting to Excel";this.toastr.error(this.translate.instant(e));});}resetSearch(){this.searchName="",this.searchPhone="",this.searchTags="",this.phoneLength=null,this.createdFrom=null,this.createdTo=null,this.paginator&&(this.paginator.pageIndex=0),this.getContacts();}static{this.\u0275fac=function(i){return new(i||o)(H(V),H(m),H(P),H(U),H(lt),H(Gt),H(O),H(G),H(c$1),H(ht),H(Zt),H(Ao$1),H(j))};}static{this.\u0275cmp=Kb({type:o,selectors:[["app-contacts-list"]],viewQuery:function(i,e){if(i&1&&Ey(he,7)(Ko,5),i&2){let s;g_(s=m_())&&(e.paginator=s.first),g_(s=m_())&&(e.sidenav=s.first);}},hostAttrs:[1,"density-compact"],decls:37,vars:24,consts:[["groupsnav",""],["groupMenu","matMenu"],["pickerFrom",""],["pickerTo",""],["helpKey","contacts","intro","Your campaign address book, organised into groups. A campaign is always sent to a group, so how y
1ou split them here decides who receives what.","warning","Numbers without the correct country code fail silently on send. Clean them here rather than discovering it in a campaign's failure report.",3,"steps"],[1,"contacts-app","shadow-none","full-screen-card"],[1,"full-screen-container",3,"ngClass"],["position","start",1,"scrollable-sidenav",3,"openedChange","mode","opened"],["class","groups-sidebar-container",4,"ngxPermissionsOnly"],[1,"contacts-top-toolbar","bg-white","b-b-1"],["mat-icon-button","","aria-label","short text",1,"m-r-8",3,"click"],[1,"d-flex","align-items-center","flex-grow-1"],[1,"f-w-600"],[1,"current-group-badge"],[1,"contacts-content-area"],[1,"contacts-columns"],[1,"group-detail-panel"],[1,"contacts-main-col"],[1,"cardWithShadow","m-b-16"],[1,"d-flex","align-items-center","justify-content-between",2,"cursor","pointer",3,"click"],[1,"d-flex","align-items-center","gap-2"],[1,"text-primary"],[1,"contacts-toolbar"],[1,"selection-action-bar"],["class","contact-list",4,"ngxPermissionsOnly"],[3,"page","pageSizeOptions"],[1,"groups-sidebar-container"],[1,"sidebar-header"],[1,"m-0","f-w-600"],[1,"d-flex","align-items-center","gap-1"],["mat-mini-fab","","color","warn","class","create-group-fab",3,"matTooltip","aria-label","click",4,"slEasyHide"],["mat-mini-fab","","color","primary",1,"create-group-fab",3,"click","matTooltip","aria-label"],["mat-mini-fab","","color","primary",1,"create-group-fab",3,"click","disabled","matTooltip","aria-label"],[1,"group-search-box"],["appearance","outline","subscriptSizing","dynamic",1,"w-100"],["matPrefix","",1,"icon-18","group-search-icon"],["matInput","","maxlength","50",3,"ngModelChange","ngModel","placeholder"],["matSuffix","","mat-icon-button","",3,"aria-label"],[1,"bulk-actions-panel"],[1,"groups-listing"],[3,"click","disableRipple"],[1,"d-flex","align-items-center","w-100","group-item"],[1,"group-item-icon"],[1,"f-s-14"],[1,"select-all-groups-row",3,"disableRipple"],[3,"disableRipple","selected","checked"],[1,"no-groups-found","f-s-13"],["mat-mini-fab","","color","warn",1,"create-group-fab",3,"click","matTooltip","aria-label"],["matSuffix","","mat-icon-button","",3,"click","aria-label"],[1,"bulk-actions-row"],[1,"bulk-actions-count"],["mat-flat-button","","color","primary",1,"bulk-merge-btn"],["mat-flat-button","","color","warn",1,"bulk-delete-btn",3,"click"],["mat-flat-button","","color","primary",1,"bulk-merge-btn",3,"click"],[1,"select-all-groups-row",3,"click","disableRipple"],["color","primary",3,"change","click","checked","indeterminate"],[1,"f-s-13","select-all-label"],[1,"selected-count"],[1,"d-flex-items-center","w-100","group-item"],["color","primary",3,"change","click","checked"],[1,"f-s-14","group-name-text"],[1,"current-group-badge","no-group-badge"],["mat-icon-button","","color","primary",3,"matTooltip","aria-label","click",4,"ngxPermissionsOnly"],["mat-icon-button","","color","primary",3,"click","matTooltip","aria-label"],["class","group-detail-panel",4,"ngxPermissionsOnly"],[1,"gd-icon-wrap"],[1,"gd-icon"],[1,"gd-name",3,"matTooltip"],[1,"gd-meta"],[1,"gd-chip"],[1,"gd-actions"],["mat-flat-button","",1,"gd-primary",3,"click"],[1,"icon-18"],["mat-stroked-button","",1,"gd-more",3,"matMenuTriggerFor"],["mat-menu-item","",3,"click"],["mat-menu-item","",1,"danger-menu-item",3,"click"],[1,"gd-chip-k"],[1,"gd-chip-v"],[1,"row","m-t-8"],[1,"col-6","m-t-12"],[1,"w-100","hide-hint"],["matInput","","type","text","maxlength","30","autocomplete","off",3,"ngModelChange","keyup.enter","placeholder","ngModel"],["matSuffix","",1,"icon-18","m-r-8"],["matInput","","type","text","maxlength","15","autocomplete","off",3,"ngModelChange","keyup.enter","keydown","placeholder","ngModel"],["class","col-6 m-t-12",4,"slEasyHide"],[1,"d-flex","align-items-center","justify-content-end","m-t-12","gap-8"],["mat-stroked-button","","color","warn",3,"click"],[1,"icon-18","m-l-4"],["mat-flat-button","","color","primary",1,"action-btn",3,"click"],["matInput","","type","text","maxlength","50","autocomplete","off",3,"ngModelChange","keyup.enter","placeholder","ngModel"],["matInput","","type","number","inputmode","numeric","pattern","[0-9]*","maxlength","2","name","phoneLength","autocomplete","off",3,"ngModelChange","keydown","keyup.enter","placeholder","ngModel"],["matInput","","autocomplete","off","readonly","",3,"ngModelChange","matDatepicker","placeholder","ngModel"],["matSuffix","",3,"for"],["class","contacts-toolbar",4,"ngxPermissionsOnly"],[1,"justify-content-between","p-2"],[1,"d-flex","align-items-center"],[1,"contacts-allowance","f-s-12",3,"text-danger"],[1,"contacts-export-state","f-s-12",3,"is-ready"],[1,"d-flex","contacts-toolbar-actions"],["mat-icon-button","",3,"click","disabled","matTooltip","aria-label"],["mat-icon-button","",3,"matTooltip","aria-label","click",4,"slEasyHide"],[4,"slEasyHide"],[4,"ngxPermissionsOnly"],[1,"contacts-allowance","f-s-12"],[1,"icon-14"],[1,"contacts-export-state","f-s-12"],[1,"icon-14","sl-spin"],["mat-button","",1,"contacts-export-link",3,"click"],[1,"contacts-export-expiry"],["mat-icon-button","",3,"click","matTooltip","aria-label"],["mat-icon-button","",3,"matTooltip","disabled","aria-label"],["mat-icon-button","",3,"matTooltip","disabled","aria-label","click",4,"ngxPermissionsOnly"],["mat-icon-button","",3,"click","matTooltip","disabled","aria-label"],["mat-icon-button","","disabled","",3,"matTooltip","aria-label"],["mat-icon-button","","color","primary",3,"matTooltip","aria-label"],["mat-icon-button","",3,"matTooltip","aria-label"],[1,"icon-18","sl-spin"],["class","selection-action-bar",4,"ngxPermissionsOnly"],["mat-icon-button","",1,"sel-selectall",3,"click","matTooltip","aria-label"],[1,"sel-count"],["mat-icon-button","",1,"sel-clear",3,"click","matTooltip","aria-label"],[1,"sel-spacer"],["mat-stroked-button","",1,"sel-action",3,"click"],["mat-stroked-button","","class","sel-action",3,"click",4,"slEasyHide"],["mat-stroked-button","",1,"sel-action"],["mat-stroked-button","",1,"sel-action","sel-danger",3,"click"],[1,"contact-list"],[1,"contact-row",3,"selected"],[1,"contact-row",3,"click"],["class","c-check",4,"ngxPermissionsOnly"],[1,"c-identity"],[1,"c-name"],[1,"c-lines"],[1,"c-line"],[1,"c-tags"],[1,"c-actions"],["btnType","icon-button","label","Edit","icon","edit","permission","Manage_Contacts","color","primary",3,"clickAction"],["btnType","icon-button","label","Send Message","icon","message","permission","Send_Messages","color","accent",3,"clickAction"],[1,"c-check"],["color","primary",3,"click","change","checked"],[1,"c-line-ic"],["mode","display",3,"tags"]],template:function(i,e){if(i&1){let s=o_();cy(0,"app-page-help",4),Xs(1,"mat-card",5)(2,"mat-sidenav-container",6)(3,"mat-sidenav",7,0),my("openedChange",function(M){return e.sidePanelOpened=M}),Qm(5,dn,45,41,"div",8),hd(),Xs(6,"mat-sidenav-content")(7,"mat-toolbar",9)(8,"button",10),my("click",function(){Pp(s);let M=v_(4);return Lp(M.toggle())}),Xs(9,"mat-icon"),V_(10,"short_text"),hd()(),Xs(11,"div",11)(12,"span",12),V_(13),fS(14,"translate"),hd(),qT(15,mn,2,1,"span",13),qT(16,gn,4,5),hd()(),Xs(17,"div",14)(18,"div",15),qT(19,Cn,1,2,"aside",16),Xs(20,"div",17)(21,"mat-card",18)(22,"mat-card-content")(23,"div",19),my("click",function(){return e.searchExpanded=!e.searchExpanded}),Xs(24,"div",20)(25,"mat-icon",21),V_(26,"search"),hd(),Xs(27,"span",12),V_(28),fS(29,"translate"),hd()(),Xs(30,"mat-icon"),V_(31),hd()(),qT(32,Sn,30,16),hd()(),qT(33,jn,1,2,"div",22),qT(34,qn,1,2,"div",23),Qm(35,Jn,3,0,"div",24),Xs(36,"paginator-configurable",25),my("page",function(M){return e.onPageChange(M)}),hd()()()()()()();}
1i&2&&(ay("steps",tS(20,Qo)),_C(2),ay("ngClass",e.sidePanelOpened?"side-panel-opened":"side-panel-closed"),_C(),ay("mode",e.isOver()?"over":"side")("opened",e.sidePanelOpened),_C(2),ay("ngxPermissionsOnly",tS(21,ze)),_C(8),ky(hS(14,16,"Contacts")),_C(2),ZT(e.groupId&&e.groupId!==-1?15:-1),_C(),ZT(e.groupId===-1?16:-1),_C(3),ZT(e.groupId&&e.groupId!==-1?19:-1),_C(9),ky(hS(29,18,"Search")),_C(3),ky(e.searchExpanded?"expand_less":"expand_more"),_C(),ZT(e.searchExpanded?32:-1),_C(),ZT(e.isThereSeletecContacts?-1:33),_C(),ZT(e.isThereSeletecContacts?34:-1),_C(),ay("ngxPermissionsOnly",tS(22,Jo)),_C(),ay("pageSizeOptions",tS(23,Xo)));},dependencies:[ce,Kv,xM,Vg,Is,jc,Tg,Dc,Sc,Tt,pe,Pe,qd,on$1,NC,xu,BC,ad,Pg,zc,Bt,f,he,$t,w,b0,L0,Nh,Yx,Ux,ql,Dp,dn$1,da,kh,Ch,Vw,Pw,nk,td,tC,bC,sv,ta,pr,ov,XC,$C,_D,oD,lD,il,Hg,XD,rM,Fb,Rb,Ab,t1,A1,gS,Vs,zs,Hs,Fi,NS,ZS,EI,us,ms,HI,ZI,Dn$1,kE,Jv,go,YE,OT,lA,ZM,zM,mt],styles:['@charset "UTF-8";.contacts-app[_ngcontent-%COMP%] .mat-drawer[_ngcontent-%COMP%]{width:280px}.full-screen-card[_ngcontent-%COMP%]{min-height:calc(100vh - 200px);display:flex;flex-direction:column}.full-screen-container[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;overflow:visible;height:auto;min-height:0}.contacts-content-area[_ngcontent-%COMP%]{flex:1;overflow:visible;padding:16px;min-height:auto;height:auto} .scrollable-sidenav{width:280px;border:none} .side-panel-closed mat-sidenav-content{margin-left:0!important;margin-right:0!important;width:100%!important}:not([dir=rtl])[_nghost-%COMP%] .side-panel-opened mat-sidenav-content, :not([dir=rtl]) [_nghost-%COMP%] .side-panel-opened mat-sidenav-content{margin-left:280px!important;width:calc(100% - 280px)!important;overflow:visible!important}[dir=rtl][_nghost-%COMP%] .side-panel-opened mat-sidenav-content, [dir=rtl] [_nghost-%COMP%] .side-panel-opened mat-sidenav-content{margin-right:280px!important;width:calc(100% - 280px)!important;overflow:visible!important} mat-sidenav[mode=over]~mat-sidenav-content{margin:0!important;width:100%!important}.scrollable-sidenav[_ngcontent-%COMP%]{height:100%;display:flex!important;flex-direction:column!important;overflow:hidden!important;border-right:1px solid rgba(0,0,0,.12)}.scrollable-sidenav[_ngcontent-%COMP%]::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.scrollable-sidenav[_ngcontent-%COMP%]{-ms-overflow-style:none!important;scrollbar-width:none!important}.groups-sidebar-container[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column;overflow:hidden;padding:0}.sidebar-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid rgba(0,0,0,.08)}.sidebar-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#2d2d48;font-size:var(--font-size-lg)}.create-group-fab[_ngcontent-%COMP%]{width:32px!important;height:32px!important;line-height:32px!important;background-color:var(--color-primary)!important;color:#fff!important;box-shadow:var(--shadow-card)}.create-group-fab[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:var(--font-size-lg);width:18px;height:18px;line-height:18px}.groups-listing[_ngcontent-%COMP%]{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;padding-top:4px!important;padding-bottom:0!important}.groups-listing[_ngcontent-%COMP%] .mdc-list-item[_ngcontent-%COMP%]{min-height:auto;height:auto;display:flex;align-items:center;padding:8px 16px!important;margin:0!important;border-radius:0;transition:background-color .2s ease;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.06);overflow:visible!important}.groups-listing[_ngcontent-%COMP%] .mdc-list-item[_ngcontent-%COMP%]:hover{background-color:#22c55e0f!important}.groups-listing[_ngcontent-%COMP%] .mdc-list-item.selected[_ngcontent-%COMP%]{background-color:#22c55e1f!important;border-left:3px solid var(--color-primary)}.groups-listing[_ngcontent-%COMP%] .mdc-list-item.selected[_ngcontent-%COMP%] .group-item-icon[_ngcontent-%COMP%]{color:var(--color-primary-dark)}.groups-listing[_ngcontent-%COMP%] .mdc-list-item.selected[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-weight:600;color:var(--color-primary-dark)}.group-item[_ngcontent-%COMP%]{gap:8px;min-height:36px}.group-item-icon[_ngcontent-%COMP%]{color:var(--color-text-muted);font-size:var(--font-size-xl);width:20px;height:20px;flex-shrink:0}.group-name-text[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.select-all-groups-row[_ngcontent-%COMP%]{background-color:#00000005!important;border-bottom:1px solid rgba(0,0,0,.08)!important}.select-all-groups-row[_ngcontent-%COMP%] .select-all-label[_ngcontent-%COMP%]{font-weight:500;color:var(--color-text-muted)}.select-all-groups-row[_ngcontent-%COMP%] .selected-count[_ngcontent-%COMP%]{color:var(--color-primary-dark);font-weight:600} .groups-listing .mdc-list-item.checked{background-color:#22c55e0f!important} .groups-listing mat-checkbox{flex-shrink:0;margin-right:6px;overflow:visible!important;min-width:24px;min-height:24px} .groups-listing mat-checkbox .mdc-form-field{overflow:visible!important} .groups-listing mat-checkbox .mdc-checkbox{padding:0!important;width:20px!important;height:20px!important;margin:2px;overflow:visible!important} .groups-listing mat-checkbox .mdc-checkbox__background{width:18px!important;height:18px!important;top:1px!important;left:1px!important} .groups-listing mat-checkbox .mdc-checkbox__ripple, .groups-listing mat-checkbox .mdc-checkbox__native-control{width:24px!important;height:24px!important;top:-2px!important;left:-2px!important}[dir=rtl][_nghost-%COMP%] .groups-listing mat-checkbox, [dir=rtl] [_nghost-%COMP%] .groups-listing mat-checkbox{margin-right:0;margin-left:6px}.contacts-columns[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:16px}.contacts-main-col[_ngcontent-%COMP%]{flex:1 1 auto;min-width:0}.group-detail-panel[_ngcontent-%COMP%]{flex:0 0 220px;width:220px;position:sticky;top:16px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:18px 14px;background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-subtle)}.gd-icon-wrap[_ngcontent-%COMP%]{width:56px;height:56px;border-radius:var(--radius-xl);background-color:var(--color-light-primary);display:grid;place-items:center}.gd-icon[_ngcontent-%COMP%]{color:var(--color-primary-dark);font-size:28px;width:28px;height:28px}
1.gd-name[_ngcontent-%COMP%]{font-weight:700;font-size:var(--font-size-base);color:#1f2937;line-height:1.3;width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gd-meta[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:6px;width:100%;margin:2px 0 4px}.gd-chip[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 10px;border-radius:var(--radius-full);background-color:var(--color-surface-2);border:1px solid #edf0f5;font-size:var(--font-size-xs)}.gd-chip[_ngcontent-%COMP%] .gd-chip-k[_ngcontent-%COMP%]{color:#94a3b8}.gd-chip[_ngcontent-%COMP%] .gd-chip-v[_ngcontent-%COMP%]{font-weight:600;color:#374151;font-variant-numeric:tabular-nums}.gd-actions[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:4px}.gd-primary[_ngcontent-%COMP%]{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;width:100%!important;font-weight:600!important;font-size:var(--font-size-sm)!important;border-radius:var(--radius-lg)!important;min-height:38px!important;line-height:1!important;background-color:var(--color-primary)!important;color:#fff!important}.gd-primary[_ngcontent-%COMP%]:hover{background-color:var(--color-primary)!important}.gd-more[_ngcontent-%COMP%]{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;width:100%!important;font-weight:600!important;font-size:var(--font-size-sm)!important;border-radius:var(--radius-lg)!important;min-height:36px!important;line-height:1!important;border-color:var(--color-border)!important;color:#374151!important}.danger-menu-item[_ngcontent-%COMP%]{color:var(--color-error-text)!important}.danger-menu-item[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--color-error-text)!important}.selection-action-bar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background-color:var(--color-light-primary);border:1px solid rgba(34,197,94,.35);border-radius:var(--radius-lg);padding:8px 12px;margin-bottom:12px;animation:_ngcontent-%COMP%_sel-bar-in .18s ease-out}.selection-action-bar[_ngcontent-%COMP%] .sel-count[_ngcontent-%COMP%]{font-weight:700;font-size:var(--font-size-sm);color:var(--color-primary-dark);white-space:nowrap}.selection-action-bar[_ngcontent-%COMP%] .sel-selectall[_ngcontent-%COMP%], .selection-action-bar[_ngcontent-%COMP%] .sel-clear[_ngcontent-%COMP%]{color:var(--color-primary-dark)}.selection-action-bar[_ngcontent-%COMP%] .sel-spacer[_ngcontent-%COMP%]{flex:1 1 auto}.selection-action-bar[_ngcontent-%COMP%] .sel-action[_ngcontent-%COMP%]{display:inline-flex!important;align-items:center!important;gap:6px!important;font-weight:600!important;font-size:var(--font-size-xs)!important;border-radius:var(--radius-card)!important;min-height:34px!important;line-height:1!important;background-color:#fff!important;border-color:#22c55e66!important;color:var(--color-primary-dark)!important}.selection-action-bar[_ngcontent-%COMP%] .sel-action[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--color-primary-dark)}.selection-action-bar[_ngcontent-%COMP%] .sel-action.sel-danger[_ngcontent-%COMP%]{border-color:#ef444466!important;color:var(--color-error-text)!important}.selection-action-bar[_ngcontent-%COMP%] .sel-action.sel-danger[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--color-error-text)}.selection-action-bar[_ngcontent-%COMP%] .sel-action.sel-danger[_ngcontent-%COMP%]:hover{background-color:var(--color-light-error)!important}.selection-action-bar[_ngcontent-%COMP%] .sel-action[_ngcontent-%COMP%]:hover{background-color:var(--color-light-primary)!important}@keyframes _ngcontent-%COMP%_sel-bar-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.selection-action-bar[_ngcontent-%COMP%]{animation:none}}.bulk-actions-panel[_ngcontent-%COMP%]{flex-shrink:0;background-color:#f1f5f9;border-bottom:2px solid #cbd5e1;padding:8px 12px}.bulk-actions-row[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:8px}.bulk-actions-count[_ngcontent-%COMP%]{font-size:var(--font-size-xs);font-weight:600;color:#334155;white-space:nowrap}.bulk-delete-btn[_ngcontent-%COMP%], .bulk-merge-btn[_ngcontent-%COMP%]{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;font-weight:600!important;font-size:var(--font-size-xs)!important;border-radius:var(--radius-card)!important;padding:4px 12px!important;min-height:32px!important;line-height:1!important}.group-search-box[_ngcontent-%COMP%]{flex-shrink:0;padding:8px 12px 0}.group-search-box[_ngcontent-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{width:100%;font-size:var(--font-size-sm)}.group-search-box[_ngcontent-%COMP%] .group-search-icon[_ngcontent-%COMP%]{color:#94a3b8;margin-inline-end:4px}.no-groups-found[_ngcontent-%COMP%]{padding:16px 12px;text-align:center;color:#94a3b8}.contacts-top-toolbar[_ngcontent-%COMP%]{min-height:56px;padding:8px 16px!important;border-bottom:1px solid rgba(0,0,0,.08);gap:8px}.current-group-badge[_ngcontent-%COMP%]{background-color:var(--color-light-primary);color:var(--color-primary-dark);padding:4px 14px;border-radius:var(--radius-full);font-weight:600;font-size:var(--font-size-sm);margin-left:12px}.current-group-badge.no-group-badge[_ngcontent-%COMP%]{background-color:#fef3c7;color:#92400e}[dir=rtl][_nghost-%COMP%] .current-group-badge[_ngcontent-%COMP%], [dir=rtl] [_nghost-%COMP%] .current-group-badge[_ngcontent-%COMP%]{margin-left:0;margin-right:12px}.action-btn[_ngcontent-%COMP%]{background-color:var(--color-primary)!important;color:#fff!important;font-weight:600;font-size:var(--font-size-base);border-radius:var(--radius-card);padding:10px 20px;display:inline-flex;align-items:center;transition:background-color .3s ease,box-shadow .3s ease}.action-btn[_ngcontent-%COMP%]:hover{background-color:var(--color-primary)!important;box-shadow:var(--shadow-card)}.icon-18[_ngcontent-%COMP%]{font-size:var(--font-size-lg)}.m-b-16[_ngcontent-%COMP%]{margin-bottom:16px}.contact-list[_ngcontent-%COMP%]{margin-top:12px;display:flex;flex-direction:column;gap:6px}.contact-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;background-color:#fff;border:1px solid #edf0f5;border-radius:var(--radius-lg);padding:8px 12px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.contact-row[_ngcontent-%COMP%]:hover{background-color:#f9faff;border-color:#d6dbff}.contact-row.selected[_ngcontent-%COMP%]{background-color:var(--color-light-primary);border-color:#22c55e66}.c-check[_ngcontent-%COMP%]{display:flex;align-items:center;flex:0 0 auto;margin:0}.c-identity[_ngcontent-%COMP%]{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
1.c-name[_ngcontent-%COMP%]{font-weight:600;font-size:var(--font-size-sm);color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.c-lines[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1px}.c-line[_ngcontent-%COMP%]{display:flex;align-items:center;gap:5px;color:var(--color-text-muted);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.c-line-ic[_ngcontent-%COMP%]{font-size:14px!important;width:14px;height:14px;color:var(--color-text-muted);flex:0 0 auto}.c-tags[_ngcontent-%COMP%]{flex:0 1 auto;display:flex;flex-wrap:wrap;align-content:center;gap:4px;max-width:34%;overflow:hidden}.c-actions[_ngcontent-%COMP%]{flex:0 0 auto;display:flex;align-items:center;gap:0}.contact-row[_ngcontent-%COMP%] app-permission-button[_ngcontent-%COMP%]{transition:transform .2s ease-in-out}.contact-row[_ngcontent-%COMP%] app-permission-button[_ngcontent-%COMP%]:hover{transform:scale(1.08)}@media(max-width:992px){.contacts-columns[_ngcontent-%COMP%]{flex-direction:column}.group-detail-panel[_ngcontent-%COMP%]{position:static;width:100%;flex-basis:auto;flex-direction:row;flex-wrap:wrap;align-items:center;text-align:start;gap:12px}.gd-name[_ngcontent-%COMP%]{flex:1 1 auto;-webkit-line-clamp:1}.gd-meta[_ngcontent-%COMP%], .gd-actions[_ngcontent-%COMP%]{flex-direction:row;width:auto;margin:0}.gd-actions[_ngcontent-%COMP%]{margin-inline-start:auto}.gd-primary[_ngcontent-%COMP%], .gd-more[_ngcontent-%COMP%]{width:auto!important}}@media(max-width:768px){mat-toolbar[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:var(--font-size-sm)!important;font-weight:400!important}.contacts-toolbar[_ngcontent-%COMP%] mat-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap;justify-content:center;gap:8px;height:auto!important;min-height:56px;padding:8px 16px;align-content:center}.contacts-toolbar[_ngcontent-%COMP%] mat-toolbar[_ngcontent-%COMP%] button[mat-icon-button][_ngcontent-%COMP%]{order:2;margin:0 6px;width:32px;height:32px;font-size:var(--font-size-sm);flex:0 0 auto;display:inline-flex}.contact-row[_ngcontent-%COMP%]{flex-wrap:wrap;text-align:center;border-radius:var(--radius-card)}.contact-row[_ngcontent-%COMP%] .col-3[_ngcontent-%COMP%], .contact-row[_ngcontent-%COMP%] .col-2[_ngcontent-%COMP%]{flex:0 0 100%;max-width:100%;justify-content:center;margin-bottom:6px}.contact-row[_ngcontent-%COMP%] .col-2[_ngcontent-%COMP%]:last-child{margin-bottom:0}.contact-row[_ngcontent-%COMP%] app-permission-button[_ngcontent-%COMP%]{transform:none!important}.current-group-badge[_ngcontent-%COMP%]{display:none}}@media(max-width:767px){.contacts-toolbar-actions[_ngcontent-%COMP%]{width:100%;justify-content:center;flex-wrap:wrap;gap:8px}.contacts-toolbar-actions[_ngcontent-%COMP%] button.mat-mdc-icon-button[_ngcontent-%COMP%]{padding:10px!important;min-width:48px!important;min-height:48px!important}}.sl-spin[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_sl-spin-rotate 1.6s linear infinite}@keyframes _ngcontent-%COMP%_sl-spin-rotate{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.sl-spin[_ngcontent-%COMP%]{animation:none}}.contacts-export-state[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border:1px solid var(--color-border);border-radius:var(--radius-full, 999px);color:var(--color-text-muted);white-space:nowrap}.contacts-export-state.is-ready[_ngcontent-%COMP%]{border-color:color-mix(in srgb,var(--color-success) 40%,var(--color-border));color:var(--color-success)}.contacts-export-state[_ngcontent-%COMP%] .contacts-export-link[_ngcontent-%COMP%]{min-width:0;padding:0 4px;line-height:1.4;font-size:inherit}.contacts-export-state[_ngcontent-%COMP%] .contacts-export-expiry[_ngcontent-%COMP%]{color:var(--color-text-muted)}@media(max-width:991px){.contacts-export-state[_ngcontent-%COMP%]{display:none}}'],changeDetection:1});}}return o})();export{_s as ContactsListComponent};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.