1(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{};e.SENTRY_RELEASE={id:`release-202609241050`};var t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`1056d462-916c-4904-afaf-0a49858d19a1`,e._sentryDebugIdIdentifier=`sentry-dbid-1056d462-916c-4904-afaf-0a49858d19a1`)}catch{}})();import{a as e}from"./rolldown-runtime-BI-OUt3b.js";import{A as t,C as ee,F as n,Ft as r,G as i,I as a,It as o,M as s,Mt as c,Nt as l,O as u,Ot as d,R as f,c as p,et as m,f as te,g as ne,gt as h,ht as g,it as _,j as v,k as y,ot as b,w as x}from"./vendor-vue-core-B0avW4A6.js";import{Y as re,rt as ie,v as S}from"./utils-01hI5-7X.js";import{ot as ae,t as oe}from"./user-1VcPMvca.js";import{o as C}from"./vendor-utils-PJ_f0V92.js";import{E as se,I as ce,j as le}from"./vendor-ui-CFT4XuI7.js";import{r as ue}from"./dist-yQ_KoCF9.js";import{t as de}from"./vendor-lottie-8gRbVid1.js";import{t as fe}from"./animated-logo-DfQUhJ3A.js";import{t as w}from"./_plugin-vue_export-helper-CwAtdVh-.js";import{t as pe}from"./SegmentList-Bp0zSCRz.js";import{t as me}from"./useResize-CGTxESxd.js";import{t as T}from"./EmptyState-TwF7GRe0.js";import{t as E}from"./Modal-DoJ-W2T1.js";import{r as he}from"./vendor-vue-components-pwzKUXaU.js";import{t as ge}from"./contact-DAWnGBgN.js";import{t as _e}from"./useAdminPanel-8twhRssC.js";var ve=e(C()),ye={class:`header-wrap pt-4 pb-3 px-6 flex flex-col sm:flex-row sm:items-center gap-y-2 justify-between`},be={class:`header-left items-center`},xe={class:`header-title`},Se={key:0,class:`text-grey700!`},Ce={class:`flex items-center gap-2 sm:gap-4`},we={class:`relative`},Te={key:0},Ee={key:1},D={key:1,class:`search-section`},De={key:0,class:`delete-contact--banner flex justify-between items-center bg-red-50 px-6 py-3`},Oe={class:`flex gap-4`},ke={key:0},Ae={class:`!text-grey700`},je=[`checked`,`.indeterminate`],Me={class:`name-section`},Ne=[`for`],Pe=[`id`,`checked`,`onChange`],Fe=[`title`],Ie={class:`max-w-[200px] truncate`},Le=[`title`],Re={class:`max-w-[200px] truncate`},ze=[`title`],Be={class:`flag-name--wrap`},Ve={class:`country`},He={key:0,class:`label`},Ue={key:1},We={class:`ch-grid gap-2 mb-2`},Ge={class:`relative`},Ke={class:`tag`},qe=[`onClick`],Je={key:2,class:`loader-wrap`},Ye={key:3,class:`flex items-center justify-center p-4 gap-[0.62rem]`},Xe={class:`text-xs font-normal leading-[1.05rem] text-grey900`},Ze={key:0,class:`text-primary text-xs leading-[1.05rem] font-semibold underline`},Qe={class:`export-contact-modal p-4 min-h-24`},$e={key:0},et={key:1},tt={class:`export-contact-modal p-4`},nt={class:`py-12`},rt={class:``},it={class:`m-auto w-36 h-36 bg-primary/10 flex items-center justify-center rounded-full overflow-visible`},at={class:`m-auto w-24 h-24 bg-primary/10 flex items-center justify-center rounded-full pulse`},ot={class:`flex justify-center items-center flex-col text-center px-5 pt-4`},st=[`src`],ct={class:`text-grey900 text-center font-normal m-0 text-lg`},lt={class:`contact-length`},ut={class:`flex justify-center gap-2 pt-6`},dt={class:`flex justify-center items-center flex-col text-center px-5 pt-4`},ft=[`src`],pt={class:`text-grey900 text-center font-normal m-0 text-lg`},mt={class:`contact-length`},ht={class:`flex justify-center gap-2 pt-6`},O=w(f({__name:`Contacts`,setup(e){let f=ge(),{isSmallScreen:C}=me(),w=oe(),O=p(),{isOwnerOrAdmin:k}=ae(),{isSrcAdminPanel:gt}=_e(),A=d(!1),j=d(!1),M=d([]),N=d(!1),P=d(!1),F=d(!1),I=d(!1),L=d(``),R=d(!1),z=d(`Segments`),B=d(``),V=d(!1),H=u(()=>({page:G.value===0?1:G.value+1,limit:20,search:L.value,segment:B.value})),U=u(()=>f.allContacts),W=u(()=>f.uiFlags.isContactsLoading),_t=u(()=>f.uiFlags.isExportingContacts),G=u(()=>f.contactsMeta.current_page),K=u(()=>f.contactsMeta.total_pages),q=u(()=>M.value.length>0&&M.value.length<U.value.length),vt=u(()=>G.value<K.value),yt=u(()=>w.user?.attributes.has_contacts_older_than_month&&!w.isProUser),bt=u(()=>gt.value?`Logged in as user. Contacts are hidden due to privacy.`:`Start conversations with your visitors. <br>
1 We will automatically capture and save your contacts.`),{list:xt,containerProps:J,wrapperProps:St}=le(U,{itemHeight:75,overscan:10}),Ct=e=>{L.value=e.target.value,wt()},wt=ce(()=>{f.clearContactsMeta(),f.getAllContacts(H.value)},500),Tt=e=>{M.value=M.value.includes(e)?M.value.filter(t=>t!==e):[...M.value,e]},Et=e=>{e.target.checked?q.value?(M.value=[],A.value=!1,j.value=!1):M.value=U.value.map(e=>e.id):M.value=[]},Dt=()=>{N.value=!1,A.value=!1,M.value=[]},Y=()=>{N.value=!N.value},X=()=>{V.value=!V.value},Z=e=>{F.value=e,P.value=!P.value},Q=()=>{P.value=!1,F.value?f.exportContacts([]):f.exportContacts(M.value)},Ot=()=>{f.deleteContacts(M.value),Y(),M.value=[]},kt=()=>{f.deleteContactsPermanently(M.value),X(),M.value=[]},At=e=>{O.push({name:`conversations-view`,params:{id:e}})},jt=()=>{I.value=!I.value},Mt=()=>{L.value=``,f.clearContactsMeta(),f.getAllContacts({page:1,limit:20,search:``}),I.value=!1},Nt=e=>({backgroundImage:`url(${e})`}),Pt=()=>{G.value<K.value&&!f.uiFlags.isContactsLoading&&f.getAllContacts(H.value)},$=()=>{R.value=!1},Ft=e=>{z.value=e.attributes.name,B.value=e.id===`contact`?``:e.id,f.getAllContacts({page:1,limit:20,search:``,segment:B.value})},It=()=>{O.push({name:`settings-plans-view`})};return se(J.ref,Pt,{distance:10}),ue({title:`Contacts`}),(e,u)=>{let d=b(`CwIcon`),f=b(`Loader`),p=b(`Thumbnail`);return m(),s(x,null,[y(`div`,{class:l([`contacts`,{"contacts-small--screen":c(C)}])},[y(`div`,{class:l([`contact--view`,{"contacts-view-small--screen":c(C)}])},[y(`div`,ye,[y(`div`,be,[y(`h1`,xe,[u[7]||=n(` Contacts `),U.value.length?(m(),s(`span`,Se,o(U.value.length),1)):v(``,!0)])]),y(`div`,Ce,[y(`button`,{type:`button`,class:`flex px-2! h-auto! items-center gap-2 cursor-pointer text-grey700`,onClick:u[0]||=e=>Z(!0)},[a(d,{name:`export-contact`,class:`text-grey600`,"aria-label":`export contact`}),u[8]||=y(`span`,{class:`text-grey700 leading-none`},`Export`,-1)]),y(`div`,we,[y(`button`,{type:`button`,class:`flex px-2! h-auto! items-center gap-2 cursor-pointer`,onClick:u[1]||=e=>R.value=!0},[R.value||z.value.toLowerCase()!==`segments`?(m(),s(`span`,Te,[a(d,{name:`segment`,class:`text-primary`})])):(m(),s(`span`,Ee,[a(d,{name:`segment`,class:`text-grey600`})])),y(`span`,{class:l([`text-grey700 leading-none`,{"text-primary":R.value||z.value.toLowerCase()!==`segments`}])},o(z.value),3)]),R.value?h((m(),t(pe,{key:0,isContact:!0,onClose:$,onSegment:u[2]||=e=>Ft(e)},null,512)),[[c(he),$]]):v(``,!0)]),!I.value&&U.value.length!==0?(m(),s(`button`,{key:0,type:`button`,class:`search !h-auto !px-2`,onClick:jt},[a(d,{name:`search`,"aria-label":`search icon`}),u[9]||=y(`span`,{class:`text-grey700!`},`Search`,-1)])):v(``,!0),I.value?(m(),s(`div`,D,[y(`input`,{"aria-label":`search`,type:`text`,class:l([`search-input`,{rtl:c(ie)(L.value)}]),placeholder:`Search`,autofocus:``,onInput:Ct},null,34),y(`button`,{type:`button`,onClick:Mt,class:`!p-0 !h-auto`},[a(d,{name:`circle-dismiss`,class:`search-icon text-grey600`}),u[10]||=y(`span`,{class:`sr-only`},`Hide form`,-1)])])):v(``,!0)])]),a(te,{name:`banner`},{default:g(()=>[M.value.length>0?(m(),s(`div`,De,[y(`div`,Oe,[y(`button`,{onClick:u[3]||=e=>Z(!1),class:`export-contact-button`},[a(d,{name:`export-contact`,class:`text-grey600`}),n(` `+o(`Export ${M.value.length} contact${M.value.length>1?`s`:``}`),1)]),c(k)?(m(),s(`button`,{key:0,onClick:Y,class:`!bg-danger200 !text-white !outline-danger200 outline-1 focus-visible:outline-offset-1`},[a(d,{name:`trash`,class:`text-white`}),n(` `+o(`Delete ${M.value.length} contact${M.value.length>1?`s`:``}`),1)])):v(``,!0),c(k)?(m(),s(`a`,{key:1,href:`#`,role:`button`,onClick:ee(X,[`prevent`]),class:`text-danger200 flex items-center cursor-pointer`},`Delete Permanently`)):v(``,!0)]),y(`button`,{type:`button`,onClick:Dt,class:`close-button p-0! h-auto! bg-transparent! focus:outline-danger200! focus:outline-1 focus-visible:outline-offset-1`},[a(d,{name:`circle-dismiss`,class:`text-danger200 w-6 h-6`}),u[11]||=y(`span`,{class:`sr-only`},`Remove selected contacts`,-1)])])):v(``,!0)]),_:1}),U.value.length===0&&L.value===``&&!W.value?(m(),t(T,{key:0,src:`${c(S)}images/contact-empty-state.png`,text:bt.value,title:`No contacts yet`,class:`list-empty--state`},null,8,[`src`,`text`])):v(``,!0),y(`div`,{class:l([`table-container h-[calc(100vh-105px)] sm:h-[calc(100vh-67px)] lg:h-[c
1alc(100vh-83px)]`,{"pb-20.75!":c(C)}])},[y(`table`,i({class:`table-wrap`},c(J),{class:{"pb-22!":c(C)}}),[U.value.length?(m(),s(`thead`,ke,[y(`tr`,null,[y(`th`,Ae,[h(y(`input`,{"aria-label":`Select all contacts`,"onUpdate:modelValue":u[4]||=e=>A.value=e,type:`checkbox`,checked:j.value,".indeterminate":q.value,onChange:Et},null,40,je),[[ne,A.value]]),u[12]||=n(` Full Name `)]),u[13]||=y(`th`,{class:`!text-grey700`},`Email`,-1),u[14]||=y(`th`,{class:`!text-grey700`},`Phone`,-1),u[15]||=y(`th`,{class:`!text-grey700`},`Location`,-1),u[16]||=y(`th`,{class:`!text-grey700`},`Last Active`,-1),u[17]||=y(`th`,{class:`!text-grey700`},`Tags`,-1),u[18]||=y(`th`,null,[y(`span`,{class:`sr-only`},`Chat`)],-1)])])):v(``,!0),W.value&&U.value.length===0?(m(),t(f,{key:1,size:`24px`})):(m(),s(`tbody`,i({key:2},c(St),{class:{"table-height":M.value.length>0}}),[U.value.length===0&&L.value!==``?(m(),t(T,{key:0,src:`${c(S)}illustrations/search.svg`,text:`No results...`,class:`list-empty--state`},null,8,[`src`])):(m(!0),s(x,{key:1},_(c(xt),({data:e,index:t})=>(m(),s(`tr`,{key:e.id},[y(`td`,null,[y(`div`,Me,[y(`label`,{for:`contact-${t}`,class:`sr-only`},`Select contact`,8,Ne),y(`input`,{id:`contact-${t}`,type:`checkbox`,checked:M.value.includes(e.id),onChange:t=>Tt(e.id)},null,40,Pe),a(p,{"user-name":e.attributes.name,size:`24px`,class:`thumbnail`,color:e.attributes.bgcolor,src:e.attributes.profile?.avatar},null,8,[`user-name`,`color`,`src`]),y(`span`,{class:`contact-name max-w-[200px] truncate`,title:e.attributes.name},o(e.attributes.name?e.attributes.name:`--`),9,Fe)])]),y(`td`,null,[y(`div`,Ie,[y(`span`,{title:e.attributes.email},o(e.attributes.email?e.attributes.email:`--`),9,Le)])]),y(`td`,null,[y(`div`,Re,[y(`span`,{title:e.attributes.phone},o(e.attributes.phone?e.attributes.phone:`--`),9,ze)])]),y(`td`,null,[y(`span`,null,o(e.attributes.location?e.attributes.location:`--`),1),y(`div`,Be,[y(`span`,{class:`flag`,style:r(Nt(e.attributes.country_flag))},null,4),y(`span`,Ve,o(e.attributes.country),1)])]),y(`td`,null,[e.attributes.online_status===`online`?(m(),s(`span`,He,`Active Now`)):(m(),s(`span`,Ue,o(c(ve.default)(e.attributes.last_active_at).format(`MMM DD, hh:mm A`)||`--`),1))]),y(`td`,null,[y(`div`,We,[(m(!0),s(x,null,_(e.attributes.tags,e=>(m(),s(`div`,{key:e.id},[y(`div`,Ge,[y(`div`,Ke,[y(`div`,{style:r({background:e.color}),class:l([`px-2 py-[3px] rounded-sm text-xs font-normal leading-5 bg-[#373740]`,c(re)(e.color)?`text-grey900`:`text-white`])},o(e.name),7)])])]))),128))])]),y(`td`,null,[y(`button`,{class:`conversation-button w-auto!`,onClick:t=>At(e.attributes.conversations[0])},[a(d,{name:`message`,class:`w-3.5 h-3.5`}),u[19]||=y(`span`,{class:`sr-only`},`Chat with visitor`,-1)],8,qe)])]))),128)),W.value&&U.value.length!==0?(m(),s(`div`,Je,[a(f,{size:`24px`})])):v(``,!0),!vt.value&&yt.value?(m(),s(`div`,Ye,[u[22]||=y(`div`,{class:`bg-[#0446DE1A] w-8 h-8 flex items-center p-1.5 rounded-full`},[y(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`20`,height:`20`,viewBox:`0 0 20 20`,fill:`none`},[y(`path`,{d:`M15.8333 9.1665H4.16667C3.24619 9.1665 2.5 9.9127 2.5 10.8332V16.6665C2.5 17.587 3.24619 18.3332 4.16667 18.3332H15.8333C16.7538 18.3332 17.5 17.587 17.5 16.6665V10.8332C17.5 9.9127 16.7538 9.1665 15.8333 9.1665Z`,stroke:`#0446DE`,"stroke-width":`1.25`,"stroke-linecap":`round`,"stroke-linejoin":`round`}),y(`path`,{d:`M5.83301 9.1665V5.83317C5.83301 4.7281 6.27199 3.66829 7.0534 2.88689C7.8348 2.10549 8.89461 1.6665 9.99968 1.6665C11.1047 1.6665 12.1646 2.10549 12.946 2.88689C13.7274 3.66829 14.1663 4.7281 14.1663 5.83317V9.1665`,stroke:`#0446DE`,"stroke-width":`1.25`,"stroke-linecap":`round`,"stroke-linejoin":`round`})])],-1),y(`div`,Xe,[u[21]||=n(` Free plan includes last 30 days' contacts. `),y(`span`,{class:`inline-flex items-center cursor-pointer`,onClick:It},[c(k)?(m(),s(`span`,Ze,`Upgrade now and access all contacts`)):v(``,!0),u[20]||=y(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 12 12`,fill:`none`},[y(`path`,{d:`M4.5 9L7.5 6L4.5 3`,stroke:`#0446DE`,"stroke-width":`1.25`,"stroke-linecap":`round`,"stroke-linejoin":`round`}
1)],-1)])])])):v(``,!0)],16))],16)],2)],2)],2),P.value?(m(),t(E,{key:0,closeModal:P.value,"header-title":`Export Contacts`,actionButtonTypeOneText:`Cancel`,actionButtonTypeTwoText:`Yes, Export`,onActionButtonTypeOne:Z,onActionButtonTypeTwo:Q,onCloseModal:Z},{default:g(()=>[y(`div`,Qe,[F.value?(m(),s(`p`,$e,u[23]||=[n(` Are you sure you want to export `),y(`strong`,null,`All contacts?`,-1)])):(m(),s(`p`,et,[u[24]||=n(` Are you sure you want to export `),y(`strong`,null,o(`${M.value.length} contact${M.value.length>1?`s`:``}`)+`?`,1)]))])]),_:1},8,[`closeModal`])):v(``,!0),_t.value?(m(),t(E,{key:1,showHeaderClose:!1,onCloseModal:Z,"close-modal":``},{default:g(()=>[y(`div`,tt,[y(`div`,nt,[y(`div`,rt,[y(`div`,it,[y(`div`,at,[a(c(de),{"animation-data":c(fe),height:64,width:64,loop:!0,autoPlay:!0},null,8,[`animation-data`])])])])]),u[25]||=y(`div`,{class:`w-80 m-auto h-1.5 bg-[#E1EBFD] relative`},[y(`div`,{class:`export-loader w-full h-1.5`})],-1),u[26]||=y(`div`,{class:`text-center py-2.5 text-sm`},`Exporting contacts. It will take few seconds...`,-1)])]),_:1})):v(``,!0),N.value&&c(k)?(m(),t(E,{key:2,closeModal:N.value,alertModal:!0,onCloseModal:Y},{default:g(()=>[y(`div`,ot,[y(`img`,{src:`${c(S)}illustrations/delete.svg`,alt:`delete contact permanently`},null,8,st),u[28]||=y(`h3`,{class:`text-2xl font-semibold leading-[120%] text-grey900 my-3`},`Delete Contacts?`,-1),y(`p`,ct,[u[27]||=n(` Are you sure you want to delete `),y(`span`,lt,o(`${M.value.length} contact${M.value.length>1?`s`:``}`)+`?`,1)]),u[29]||=y(`p`,{class:`text-grey900 text-center font-normal m-0 text-lg max-w-[360px] leading-tight`},[y(`strong`,null,`Important:`),n(` Removing a contact will also delete their entire chat history. `)],-1),y(`div`,ut,[y(`button`,{onClick:u[5]||=e=>N.value=!1,class:`flex items-center justify-center w-[10.0625rem] h-10 bg-grey100 text-grey900 rounded-sm py-[0.63rem] gap-2`},`Cancel`),y(`button`,{onClick:Ot,class:`flex items-center justify-center w-[10.0625rem] h-10 !bg-danger200 text-white rounded-sm py-[0.63rem] gap-2`},`Delete Contacts`)])])]),_:1},8,[`closeModal`])):v(``,!0),V.value&&c(k)?(m(),t(E,{key:3,closeModal:V.value,alertModal:!0,onCloseModal:X},{default:g(()=>[y(`div`,dt,[y(`img`,{src:`${c(S)}illustrations/delete.svg`,alt:`delete contact permanently`},null,8,ft),u[31]||=y(`h3`,{class:`text-2xl font-semibold leading-[120%] text-grey900 my-3`},`Delete Permanently?`,-1),y(`p`,pt,[u[30]||=n(` Are you sure you want to delete `),y(`span`,mt,o(`${M.value.length} contact${M.value.length>1?`s`:``}`)+`?`,1)]),u[32]||=y(`p`,{class:`text-grey900 text-center font-normal m-0 text-lg max-w-[360px] leading-tight`},[y(`strong`,null,`Important:`),n(` All the history, info and data related to contact will be permanently deleted and cannot be accessed again `)],-1),y(`div`,ht,[y(`button`,{onClick:u[6]||=e=>V.value=!1,class:`flex items-center justify-center w-[10.625rem] h-10 bg-grey100 text-grey900 rounded-sm py-[0.63rem] gap-2`},`Cancel`),y(`button`,{onClick:kt,class:`flex items-center justify-center w-[10.625rem] h-10 bg-danger200 text-white rounded-sm py-[0.63rem] gap-2`},`Delete Permanently`)])])]),_:1},8,[`closeModal`])):v(``,!0)],64)}}}),[[`__scopeId`,`data-v-91d015c0`]]);export{O as default}; 2//# sourceMappingURL=Contacts-B1pHPMyR.js.map
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.