@hiver/connector-agent 2.0.1-openState-beta.0 → 2.0.1-openState-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.umd.js CHANGED
@@ -2416,7 +2416,7 @@ Take a look at the reducer(s) handling this action type: ${h.type}.
2416
2416
  width: 10px;
2417
2417
  }
2418
2418
  `,Ij=(e,{closeToast:t})=>b.jsx(Ej,{children:b.jsx("img",{src:gj,onClick:t})}),Hl=({message:e})=>b.jsxs(fj,{children:[b.jsx(Cj,{}),b.jsx(pj,{children:e})]});function an(e){const{message:t,type:n,autoClose:o}=e,r={closeButton:b.jsx(Ij,{}),autoClose:o??5e3,pauseOnHover:!0,position:"bottom-left",rtl:!1,draggable:!0,closeOnClick:!0,hideProgressBar:!0};let i;switch(n){case"success":{i=rt.success(b.jsx(Hl,{message:t}),{...r,icon:!1});break}case"error":{i=rt.error(b.jsx(Hl,{message:t}),{...r,icon:!1});break}case"info-dark":{i=rt.info(b.jsx(Hl,{message:t}),{...r,icon:!1,className:"toast_dark"});break}default:{i=rt.info(b.jsx(Hl,{message:t}),{...r,icon:!1});break}}return setTimeout(()=>{hj(i)},o&&!isNaN(o)?Number(o):5e3),i}function hj(e){rt.dismiss(e)}const Hh={updateFormApiStatus:Oe.IDLE,createObjectList:[],linkObjectList:[],editObjectList:[],objectDict:null,formFields:null,previewCardData:null,objectListApiStatus:Oe.IDLE,unlinkCardApiStatus:Oe.IDLE,linkCardApiStatus:Oe.IDLE,previewCardApiStatus:Oe.IDLE,optionsMap:null,dropdownOptionsApis:Oe.IDLE,dependentFieldsMap:{},createFormApiStatus:Oe.IDLE,currentResourceDetailsApiStatus:Oe.IDLE,currentResourceDetails:null,currentCardInEdit:null,hasUnsavedChanges:!1},Kr="/v1/api",Bj=`${Kr}/connectors/forms/list`,mj=`${Kr}/connectors/cards/:id/unlink`,Qj=`${Kr}/connectors/forms/:id/link`,vj=`${Kr}/connectors/forms/:id/preview`,bj=`${Kr}/connectors/forms/:formId/field/:fieldName/data`,yj=`${Kr}/connectors/form/:formId`,wj=`${Kr}/connectors/forms/:formId/data`,xj=({inboxIds:e,channelType:t,conversationId:n})=>{const o=new URLSearchParams;return e.forEach(r=>o.append("inbox_ids",r)),o.append("channel_type",t),o.append("conversation_id",String(n)),Bo({url:`${Bj}?${o.toString()}`,method:Wo.GET})},Tj=(e,t,n="email")=>{const o=new URLSearchParams;return o.append("channel_type",n),Bo({url:N2(`${bj}?${o.toString()}`,e),method:Wo.POST,data:t})},Wh=(e,t,n="email")=>{const o=new URLSearchParams;return o.append("channel_type",n),Bo({url:N2(`${yj}?${o.toString()}`,e),method:Wo.POST,data:t})},Fj=(e,t="email",n,o)=>{const r=new URLSearchParams;return r.append("channel_type",t),Bo({url:`${mj.replace(":id",e)}?${r.toString()}`,method:Wo.POST,data:{externalResourceId:n,conversationId:o}})},Sj=(e,t,n="email",o)=>{const r=new URLSearchParams;return r.append("channel_type",n),Bo({url:`${Qj.replace(":id",e)}?${r.toString()}`,method:Wo.POST,data:{externalResourceId:t,conversationId:o}})},Oj=(e,t,n="email")=>{const o=new URLSearchParams;return o.append("channel_type",n),Bo({url:`${vj.replace(":id",e)}?${o.toString()}`,method:Wo.POST,data:{args:t}})},kj=(e,t="email",n,o,r)=>{const i=new URLSearchParams;return i.append("channel_type",t),i.append("conversation_id",String(n||"")),i.append("senderEmail",r),i.append("externalResourceId",o),Bo({url:`${wj.replace(":formId",e)}?${i.toString()}`,method:Wo.GET})},Mj="Error in previewing the card",Dj="Card linked successfully",Pj="Error in linking the card",zh="Please enter a valid URL",Rj="Please enter valid ID",Lj="Please enter valid input",Nj="URL must start with https://",Uj="URL should not end with a slash",jj="Invalid email address",Vj="Email must be a string",Yh="Invalid date",Hj="Date cannot be in the past",Wj="Date cannot be in the future",zj="Invalid number",Yj="Invalid text",Gj="New card created",Xj="Card creation failed",Kj="https://avatars.githubusercontent.com/u/62397590",_j="Create and link objects from different apps to this conversation",Zj="Are you sure you want to change the primary object?",Jj="Changing the primary object will reset all the information you’ve entered and all data will be lost and can’t be recovered.",qj="Are you sure you want to leave?",$j=`If you go back now, all the information you’ve entered will be lost and can’t be recovered.
2419
- Do you want to continue?`,eV="Select an object to create",tV="Select an object to link",Gh="Select object",nV="Paste URL or ID",oV="Object ID/Link",rV="Card updated",iV="Card updation failed",sV="Required Field",aV="Invalid date",Xh=/^https:\/\/([a-z0-9-]+(\.[a-z0-9-]+)+)(:[0-9]{1,5})?(\/[^\s/]*)*$/i,AV=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,lV=(e,t)=>t?Object.values(t).filter(o=>e.values[o]&&!e.errors[o]):[],Kh=(e,t)=>t?Object.keys(t).reduce((o,r)=>{let i="";const a=t[r];return e.values&&e.values[a]&&typeof e.values[a]=="object"&&"value"in e.values[a]?i=e.values[a].value:e.values&&e.values[a]&&typeof e.values[a]!="object"?i=e.values[a]:i=null,{...o,[r]:i}},{}):{},_h=(e,t,n)=>{let o=`${t}_${n}`;return Object.keys(e).forEach(r=>{o=`${o}_${r}:${e[r]}`}),o},cV=e=>t=>{if(t&&typeof t=="string"){const n=t.replace(/\/$/,"");return n.startsWith("https://")?t.endsWith("/")?Uj:Xh.test(n)?!0:e||zh:Nj}return!1},uV=e=>t=>t&&typeof t=="string"?AV.test(t)?!0:e||jj:Vj,dV=e=>t=>t==null||t===""?e||sV:!0,gV=e=>(t,n)=>{var o;if(!t||(t==null?void 0:t.toString())===aV)return Yh;if(typeof t=="object"){const r=t,i=new Date;i.setHours(0,0,0,0);const a=n.disablePast,A=n.disableFuture;return a&&r<i?e||Hj:A&&r>i?e||Wj:!0}return typeof t=="string"&&((o=new Date(t))==null?void 0:o.toString())!=="Invalid Date"?!0:Yh},fV=e=>(t,n)=>{if(t=Number(t),typeof t=="number"&&!isNaN(t)){const o=n.min,r=n.max;return o!==void 0&&t<o?e||`Value should not be less than ${o}`:r!==void 0&&t>r?e||`Value should not be greater than ${r}`:!0}return e||zj},pV=e=>(t,n)=>{if(typeof t=="string"){const o=n.limit;return o!==void 0&&t.length>o?e||`Maximum characters allowed are ${o}`:!0}return e||Yj},CV=e=>t=>typeof t=="string"?t.startsWith("https:")?Xh.test(t)?!0:e||zh:t.trim().length>0?!0:e||Rj:e||Lj,EV=({formFields:e})=>{const t={};return e.forEach(n=>{var o,r,i,a,A,l;if(t[n.name]={},(o=n.validations)!=null&&o.isRequired&&(typeof n.validations.isRequired=="object"?t[n.name].isRequired=dV(n.validations.isRequired.msg):t[n.name].isRequired=!0),n.type==="date"){let c=typeof((r=n.validations)==null?void 0:r.disableFuture)=="object"?n.validations.disableFuture.msg:"";c=typeof((i=n.validations)==null?void 0:i.disablePast)=="object"?n.validations.disablePast.msg:c,t[n.name].validate=gV(c);return}if(n.type==="number"&&((a=n.validations)!=null&&a.range)){t[n.name].validate=fV();return}if(n.type==="text"&&n.limit){t[n.name].validate=pV();return}if((A=n.validations)!=null&&A.isUrl){const c=typeof n.validations.isUrl=="object"?n.validations.isUrl.msg:"";t[n.name].validate=cV(c)}else if((l=n.validations)!=null&&l.isEmail){const c=typeof n.validations.isEmail=="object"?n.validations.isEmail.msg:"";t[n.name].validate=uV(c)}}),t},Dg=(e,t)=>Object.keys(t).reduce((n,o)=>{const r=e.values[t[o]];let i;return Array.isArray(r)?i=r.map(a=>a.value):r&&typeof r=="object"&&"label"in r?i=r.value:r&&typeof r=="object"?i=r.toISOString():i=r||"",n[o]=i,n},{}),IV=e=>typeof e=="string"?/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/.test(e):typeof e=="object"&&"_isValid"in e,Zh=e=>Object.keys(e).sort((n,o)=>o.localeCompare(n)).reduce((n,o)=>{var r;return(typeof e[o]=="string"||typeof e[o]=="object"&&e[o]!==null)&&IV(e[o])?n[o]=(r=new Date(`${e[o]}`))==null?void 0:r.toString():n[o]=e[o],n},{}),Jh=Nh({name:"writeCapability",initialState:Hh,reducers:{resetState:()=>Hh,resetCurrentResourceDetails:e=>{e.currentResourceDetails=null,e.currentResourceDetailsApiStatus=Oe.IDLE},setCurrentCardInEdit:(e,t)=>{e.currentCardInEdit=t.payload},setHasUnsavedChanges:(e,t)=>{e.hasUnsavedChanges=t.payload}},extraReducers:e=>{e.addCase(Wl.pending,t=>{t.objectListApiStatus=Oe.LOADING}).addCase(Wl.fulfilled,(t,n)=>{const{createObjectList:o,linkObjectList:r,editObjectList:i,formFields:a,objectDict:A,dependentFieldsMap:l}=n.payload;t.objectListApiStatus=Oe.IDLE,t.createObjectList=o,t.linkObjectList=r,t.editObjectList=i,t.formFields=a,t.objectDict=A,t.dependentFieldsMap=l}).addCase(Wl.rejected,t=>{t.objectListApiStatus=Oe.FAILED}).addCase(zl.pending,t=>{t.dropdownOptionsApis=Oe.LOADING}).addCase(zl.fulfilled,(t,n)=>{const o=t.optionsMap||{},{optionsList:r,hasMore:i,currentPage:a,key:A}=n.payload;t.dropdownOptionsApis=Oe.IDLE,t.optionsMap={...o,[A]:{options:r,hasMore:i,currentPage:a}}}).addCase(zl.rejected,t=>{t.dropdownOptionsApis=Oe.FAILED}).addCase(Yl.pending,t=>{t.createFormApiStatus=Oe.LOADING}).addCase(Yl.fulfilled,t=>{t.createFormApiStatus=Oe.IDLE}).addCase(Yl.rejected,t=>{t.createFormApiStatus=Oe.FAILED}).addCase(Kl.pending,t=>{t.linkCardApiStatus=Oe.LOADING}).addCase(Kl.fulfilled,t=>{t.linkCardApiStatus=Oe.IDLE}).addCase(Kl.rejected,t=>{t.linkCardApiStatus=Oe.FAILED}).addCase(Xl.pending,t=>{t.unlinkCardApiStatus=Oe.LOADING}).addCase(Xl.fulfilled,t=>{t.unlinkCardApiStatus=Oe.IDLE}).addCase(Xl.rejected,t=>{t.unlinkCardApiStatus=Oe.FAILED}).addCase(Qa.pending,t=>{t.previewCardApiStatus=Oe.LOADING}).addCase(Qa.fulfilled,(t,n)=>{const{data:o}=n.payload;o&&(t.previewCardData=o),t.previewCardApiStatus=Oe.IDLE}).addCase(Qa.rejected,t=>{t.previewCardApiStatus=Oe.FAILED}).addCase(Gl.pending,t=>{t.updateFormApiStatus=Oe.LOADING}).addCase(Gl.fulfilled,t=>{t.updateFormApiStatus=Oe.IDLE}).addCase(Gl.rejected,t=>{t.updateFormApiStatus=Oe.FAILED}).addCase(_l.pending,t=>{t.currentResourceDetailsApiStatus=Oe.LOADING}).addCase(_l.fulfilled,(t,n)=>{const{data:o}=n.payload;o&&(t.currentResourceDetails=o),t.currentResourceDetailsApiStatus=Oe.IDLE}).addCase(_l.rejected,t=>{t.currentResourceDetailsApiStatus=Oe.FAILED})}}),Wl=mo("writeCapability/fetchObjectList",async e=>{const{inboxIds:t,channelType:n,conversationId:o}=e,r=await xj({inboxIds:t,channelType:n,conversationId:o});if(!r||!r.data||!("formsList"in r.data)||!Array.isArray(r.data.formsList))return{createObjectList:[],linkObjectList:[],editObjectList:[],formFields:null,objectDict:null,dependentFieldsMap:{}};const i=r.data.formsList,a={},A=[],l=[],c=[],u={},p={};return i==null||i.forEach(g=>{var C,f;const h={...g};"fieldList"in h&&delete h.fieldList,p[g.id]=h,a[g.id]||(a[g.id]={}),u[g.id]||(u[g.id]=[]),g.type==="create"&&g.authenticated?A.push({value:g.id,label:g.name}):g.type==="link"&&g.authenticated?l.push({value:g.id,label:g.name}):g.type==="edit"&&g.authenticated&&c.push({value:g.id,label:g.name}),(C=g.fieldList)==null||C.sort((d,E)=>d.priority-E.priority),(f=g.fieldList)==null||f.forEach(d=>{var m,B,v,I,Q,y,x,S,O,P,R,D;let E={};switch(d.type){case"select":case"multi-select":{E={...d,defaultOptions:!!d.interfaceDetails,isInfiniteScrollable:((B=(m=d.interfaceDetails)==null?void 0:m.pagination)==null?void 0:B.enabled)||!1,loadOptionsOnFocus:Object.keys(((v=d.interfaceDetails)==null?void 0:v.args)||{}).length>0,isMultiSelect:d.type==="multi-select",type:g.interfaceDetails?"async-select":"select",isClearable:!0};break}case"date":{E={...d,type:"date",disablePast:!!((I=d.validations)!=null&&I.disablePast)||!1,disableFuture:!!((Q=d.validations)!=null&&Q.disableFuture)||!1};break}case"number":{E={...d,type:"number",min:((x=(y=d.validations)==null?void 0:y.range)==null?void 0:x.min)||Number.MIN_SAFE_INTEGER,max:((O=(S=d.validations)==null?void 0:S.range)==null?void 0:O.max)||Number.MAX_SAFE_INTEGER};break}case"multiline":{E={...d,type:"text",maxRows:((P=d.validations)==null?void 0:P.maxRows)||5,limit:(R=d.validations)==null?void 0:R.maxCharacters,rows:5,multiline:!0};break}case"text":{E={...d,type:"text",limit:(D=d.validations)==null?void 0:D.maxCharacters};break}default:E={...d}}if("value"in E&&(E.defaultValue=E.value,delete E.value),u[g.id]=[...u[g.id],E],d.interfaceDetails&&(d.interfaceDetails.args||d.interfaceDetails.optionalArgs)){const k={...d.interfaceDetails.args,...d.interfaceDetails.optionalArgs};Object.values(k).forEach(L=>{a[g.id][L]?a[g.id][L]=[...a[g.id][L],d.name]:a[g.id][L]=[d.name]})}})}),{createObjectList:A,linkObjectList:l,editObjectList:c,formFields:u,objectDict:p,dependentFieldsMap:a}}),zl=mo("writeCapability/fetchDropDownOptions",async(e,{getState:t,rejectWithValue:n})=>{var B;const{fieldName:o,formId:r,fieldConfig:i,callback:a,args:A={},interfaceId:l="",pagination:c={enabled:!1}}=e,u=_h(A||{},r,o),{write:p}=t();let g=!1;i.meta&&"showAvatar"in i.meta&&typeof i.meta.showAvatar=="boolean"&&(g=i.meta.showAvatar);const{options:h=[],hasMore:C=!0,currentPage:f=0}=((B=p.optionsMap)==null?void 0:B[u])||{},{enabled:d,limit:E}=c,m=E||10;try{let v;const I=d?{pageNumber:f+1,limit:m}:null;if(C?v=await Tj({fieldName:o,formId:r},{pagination:I||{},args:A,interfaceId:l}):a==null||a(h),!v||!v.data||!("data"in v.data)||!Array.isArray(v.data.data))return{optionsList:[...h],fieldName:"",formId:"",hasMore:!1,currentPage:f,key:u};const y=v.data.data.map(O=>g?{...O,avatarUrl:O.avatarUrl||Kj}:{label:O.label,value:O.value}),x=d?y.length>=m:!1,S=[...h,...y];return a==null||a(S),{optionsList:S,fieldName:o,formId:r,currentPage:f+1,hasMore:x,key:u}}catch(v){return a==null||a(h),n(v)}},{condition:(e,{getState:t})=>{var c,u;if(e.isScrollToBottomEvent)return!0;const{fieldName:n,formId:o,callback:r,args:i}=e,a=_h(i||{},o,n),{write:A}=t(),l=((u=(c=A.optionsMap)==null?void 0:c[a])==null?void 0:u.options)||[];return l&&l.length?(r==null||r(l),!1):!0}}),Yl=mo("writeCapability/createForm",async(e,{rejectWithValue:t})=>{const{formId:n,successCallback:o,failureCallback:r,args:i={},interfaceId:a,conversationId:A}=e;try{await Wh({formId:n},{args:i,interfaceId:a,conversationId:A}),o==null||o(),an({message:Gj,type:Xr})}catch(l){return r==null||r(l),an({message:Xj,type:cr}),t(l)}}),Gl=mo("writeCapability/updateForm",async(e,{rejectWithValue:t})=>{const{formId:n,successCallback:o,failureCallback:r,args:i={},interfaceId:a,conversationId:A,externalResourceId:l,previousArgs:c={}}=e;try{await Wh({formId:n},{args:i,interfaceId:a,conversationId:A,externalResourceId:l,previousArgs:c}),o==null||o(),an({message:rV,type:Xr})}catch(u){return r==null||r(u),an({message:iV,type:cr}),t(u)}}),Xl=mo("writeCapability/unlinkCard",async({id:e,channelType:t,externalResourceId:n,conversationId:o})=>{await Fj(e,t,n,o)}),Kl=mo("writeCapability/linkCard",async({id:e,externalResourceId:t,channelType:n,conversationId:o})=>{await Sj(e,t,n,o)}),Qa=mo("writeCapability/previewCard",async({id:e,args:t,channelType:n,isRefresh:o})=>{const r=await Oj(e,t,n),i=r==null?void 0:r.data;return i?(o&&an({message:jh,type:Xr}),{data:j2(i)}):(o&&an({message:Uh,type:cr}),{data:null})}),_l=mo("connectorCardLibrary/fetchCurrentResourceDetails",async(e,{rejectWithValue:t})=>{const{id:n,channelType:o,conversationId:r,externalResourceId:i,contactEmail:a}=e;try{const A=await kj(n,o,r,i,a),l=A==null?void 0:A.data,c=A==null?void 0:A.status,u={values:{},errors:{}};return Object.entries(l.formData).forEach(([p,g])=>{"label"in g&&(g.type&&g.type==="date"?u.values[p]=g.label?new Date(parseInt(g.label)).toISOString():"":g.type&&g.type==="multi-select"&&"value"in g&&"label"in g&&g.value&&g.label?u.values[p]=[{value:g.value,label:g.label}]:g.value?u.values[p]={value:g.value,label:g.label}:u.values[p]=g.label)}),{data:u,status:c}}catch(A){return an({message:Vh,type:cr}),t(A)}}),{resetState:FG,setCurrentCardInEdit:Zi,resetCurrentResourceDetails:hV,setHasUnsavedChanges:qh}=Jh.actions,BV=Jh.reducer,mV=()=>{const[e,t]=w.useState(null),[n,o]=w.useState({isVertical:!1,isHorizontal:!1,isScrolling:!1}),r=w.useCallback(i=>{t(i)},[]);return w.useEffect(()=>{if(!e)return;e.dataset.prevScrollLeft="0",e.dataset.prevScrollTop="0";let i=null;const a=100;let A=null;const l=150,c=u=>{i||(i=window.setTimeout(()=>{const p=u.target,g=Number(e.dataset.prevScrollLeft)||0,h=Number(e.dataset.prevScrollTop)||0,C=p.scrollLeft,f=p.scrollTop,d=C-g,E=f-h,m=Math.abs(E)>Math.abs(d),B=Math.abs(d)>Math.abs(E);o({isVertical:m,isHorizontal:B,isScrolling:!0}),e.dataset.prevScrollLeft=String(C),e.dataset.prevScrollTop=String(f),i=null},a),A&&window.clearTimeout(A),A=window.setTimeout(()=>{o(p=>({...p,isScrolling:!1})),A=null},l))};return e.addEventListener("scroll",c),()=>{e.removeEventListener("scroll",c),i&&window.clearTimeout(i),A&&window.clearTimeout(A)}},[e]),[n,r]},QV="data:image/svg+xml,%3csvg%20width='18'%20height='18'%20viewBox='0%200%2018%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5.8016%2011.709L12.3416%205.16893L11.4298%204.25712L4.88979%2010.7972V11.709H5.8016ZM6.33618%2012.9987H3.6001V10.2626L10.9739%202.88875C11.0948%202.76786%2011.2588%202.69995%2011.4298%202.69995C11.6008%202.69995%2011.7648%202.76786%2011.8857%202.88875L13.71%204.71302C13.8309%204.83395%2013.8988%204.99794%2013.8988%205.16893C13.8988%205.33992%2013.8309%205.50391%2013.71%205.62484L6.33618%2012.9987ZM3.6001%2014.2884H15.2073V15.578H3.6001V14.2884Z'%20fill='%236C7B94'/%3e%3c/svg%3e",vV=({data:e,title:t,currentCard:n,setShowModal:o})=>{const r=jr(),{sendTrackingEvent:i,currentSmIds:a}=w.useContext(eo),{userGroupId:A}=Nr()||{},[l,c]=mV(),{isScrolling:u,isVertical:p}=l,g=u&&p,h=w.useMemo(()=>(e==null?void 0:e[0].data.map(E=>E.label))||[],[e]),C=w.useMemo(()=>e.map(E=>{const m={cells:{},externalResourceId:E.externalResourceId};return E.data.forEach((B,v)=>{if(h[v]){let I=B.value?B.value:Sl;I&&B.type==="date"&&(I=new Date(parseInt(I)).toLocaleDateString(navigator.language)),m.cells[h[v]]={label:I,deepLink:B==null?void 0:B.deepLink}}}),m}),[e,h]),f=(E,m)=>b.jsx(ON,{align:"left",children:E.deepLink?b.jsx(UA,{target:"_blank",underline:"none",href:E.deepLink,children:E.label}):b.jsx(We,{variant:"body2",color:"gray.black",children:E.label})},`${m}_${E.label}`),d=E=>{!E||!n||(o(!1),i(V2,{card_title:n.title,connector_name:n.connectorName,ug_id:A,sm_ids:a}),r(Zi({...n,externalResourceId:E})))};return b.jsxs(Ne,{maxHeight:"340px",maxWidth:"700px",padding:"32px 0px 32px 32px",overflow:"auto",children:[b.jsx(We,{variant:"h2",color:"gray.black",marginBottom:"16px",children:t}),b.jsx(rC,{ref:c,children:b.jsxs(tC,{stickyHeader:!0,children:[b.jsx(TN,{children:b.jsxs(zu,{children:[h.map(E=>b.jsx(FN,{children:b.jsx(We,{variant:"overline",color:"gray.gray3",children:E})},E)),b.jsx(MN,{})]})}),b.jsx(oC,{children:C.map((E,m)=>b.jsxs(SN,{children:[Object.values(E.cells).map((B,v)=>f(B,v)),b.jsx(kN,{children:!g&&E.externalResourceId&&b.jsx(Nt,{title:D2,placement:"bottom",children:b.jsx(Jt,{className:"row-edit",onClick:()=>d(E.externalResourceId),children:b.jsx("img",{src:QV})})})})]},`id_${m}`))})]})})]})},bV="data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_602_78902)'%3e%3cpath%20d='M0.666992%2013.9999H15.3337L8.00033%201.33325L0.666992%2013.9999ZM8.66699%2011.9999H7.33366V10.6666H8.66699V11.9999ZM8.66699%209.33325H7.33366V6.66659H8.66699V9.33325Z'%20fill='%23F07530'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_602_78902'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",$h=e=>{const{value:t,error:n,deepLink:o,statusCode:r,isLoading:i,type:a}=e,A=w.useRef(null),l=w.useRef(null),[c,u]=w.useState(!1);w.useEffect(()=>{const C=o?l.current:A.current;if(C){const f=C.scrollHeight>C.clientHeight||C.scrollWidth>C.clientWidth;u(f)}},[t,o]);const p=r==cg.NOT_FOUND;let g=p?Sl:t;a==="date"&&g&&!p&&(g=new Date(parseInt(g)).toLocaleDateString(navigator.language));const h=!p&&!!n;return i?b.jsx(Vr,{variant:"rounded",width:"100%",height:16,animation:"wave",margin:"4px 0 0 0"}):h?b.jsxs(eh,{gap:"5px",children:[b.jsx("img",{src:bV}),b.jsx(th,{variant:"body2",children:$R})]}):b.jsx(Nt,{title:c?g:null,placement:"bottom",children:o?b.jsx(nh,{ref:l,target:"_blank",underline:"none",href:o,fontSize:"13px",children:g||Sl}):b.jsx(xN,{ref:A,variant:"body2",children:g||Sl})})},yV="data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_825_73646)'%3e%3cpath%20d='M19%206.41L17.59%205L12%2010.59L6.41%205L5%206.41L10.59%2012L5%2017.59L6.41%2019L12%2013.41L17.59%2019L19%2017.59L13.41%2012L19%206.41Z'%20fill='%236F7C90'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_825_73646'%3e%3crect%20width='24'%20height='24'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",Pg=({shown:e,setShown:t,children:n,showCloseButton:o=!1,borderRadius:r=4})=>b.jsx(Mu,{open:e,onClose:()=>t(!1),PaperProps:{style:{borderRadius:r,padding:0,height:"fit-content",width:"fit-content",maxWidth:"none"}},children:b.jsxs(Ne,{direction:"row",children:[o&&b.jsx(gt,{position:"absolute",right:10,top:10,children:b.jsx(Nt,{title:"Close",placement:"bottom",children:b.jsx(Jt,{onClick:()=>t(!1),children:b.jsx("img",{src:yV})})})}),n]})}),eB=e=>{var H,X;const{id:t,cardTitle:n,specificCardData:o,specificConnectorApiStatus:r,isOpen:i,currentCard:a}=e,A=24,l=(r==null?void 0:r[t])===Oe.IDLE,c=(r==null?void 0:r[t])===Oe.LOADING,u=(r==null?void 0:r[t])===Oe.FAILED,{cardType:p,data:g}=(o==null?void 0:o[t])||{},h=p==="flat",[C,f]=w.useState(!1),[d,E]=w.useState(!1),[m,B]=w.useState(!1),[v,I]=w.useState(!1),Q=w.useMemo(()=>{var M,z,G,Y;return h&&((M=g==null?void 0:g.flatDisplay)!=null&&M.data)?g.flatDisplay.data:!h&&((Y=(G=(z=g==null?void 0:g.listItems)==null?void 0:z.fields)==null?void 0:G[0])!=null&&Y.data)?g.listItems.fields[0].data:[]},[h,g]),y=w.useMemo(()=>Q==null?void 0:Q.slice(0,5),[Q]),[x,S]=w.useState([]),O=w.useRef(null),[P,R]=w.useState(0),D=C?-180:0,k=h?!1:!!((H=g==null?void 0:g.listItems)!=null&&H.errorMessage),L=k||u,N=l&&!k&&i&&(m||d);w.useLayoutEffect(()=>{var M;(M=O.current)!=null&&M.scrollHeight&&R(O.current.scrollHeight+A)},[r==null?void 0:r[t],x,O]),w.useEffect(()=>{var Y,K;const M=((Q==null?void 0:Q.length)||0)>5,z=!h&&(((K=(Y=g==null?void 0:g.listItems)==null?void 0:Y.fields)==null?void 0:K.length)||0)>1;B(M&&!z),E(z)},[g,h,Q==null?void 0:Q.length]),w.useEffect(()=>{S(C?Q:y)},[g,C,y,Q]);const W=()=>{m?f(M=>!M):I(M=>!M)};return b.jsxs(b.Fragment,{children:[b.jsx(Pg,{shown:v,setShown:I,showCloseButton:!0,borderRadius:12,children:b.jsx(vV,{data:((X=g==null?void 0:g.listItems)==null?void 0:X.fields)||[],title:n,currentCard:a,setShowModal:I})}),b.jsx(bN,{className:i?"":"slideUp",height:P,children:b.jsx(Ne,{ref:O,gap:1,margin:"12px",children:c&&(!(x!=null&&x.length)||L)?b.jsxs(b.Fragment,{children:[b.jsx(Vr,{variant:"rounded",width:"100%",height:20,animation:"wave"}),b.jsx(Vr,{variant:"rounded",width:"100%",height:20,animation:"wave"})]}):b.jsx(b.Fragment,{children:L?b.jsx(gt,{margin:"8px 0",children:b.jsx($h,{error:L,isLoading:c})}):x!=null&&x.length?x==null?void 0:x.map(M=>{const{value:z,label:G,deepLink:Y,type:K}=M,q="errorMessage"in M?M.errorMessage:null,te="statusCode"in M?M.statusCode:null;return b.jsxs("div",{children:[b.jsx(yN,{variant:"overline",children:G}),b.jsx($h,{value:z,error:q,deepLink:Y,statusCode:te,isLoading:c,type:K})]},G)}):b.jsx(gt,{margin:"8px 0",children:b.jsx(th,{children:eL})})})})}),N&&b.jsx(PN,{variant:"body2_medium",onClick:W,children:m?b.jsxs(b.Fragment,{children:[C?XN:oh,b.jsx(DN,{src:GN,transformAngle:D})]}):oh})]})},wV={connectorCards:null,cardSpecificData:null,connectorApiStatus:Oe.IDLE,specificConnectorApiStatus:null,threadId:null,connectorsEnabled:!1},tB="/v1/api",xV=`${tB}/connectors/cards`,TV=`${tB}/connectors/cards/:id/data`,FV=({inboxIds:e,conversationId:t,channelType:n="email"})=>{const o=new URLSearchParams;return e.forEach(r=>o.append("inbox_ids",r)),o.append("channel_type",n),o.append("conversation_id",String(t||"")),Bo({url:`${xV}?${o.toString()}`,method:Wo.GET})},SV=(e,t,n,o)=>{const r=new URLSearchParams;return r.append("senderEmail",t),r.append("conversation_id",String(n||"")),o&&r.append("externalResourceId",o),Bo({url:`${TV.replace(":id",e)}?${r.toString()}`,method:Wo.GET})},OV=e=>e.cardList.connectorCards,kV=e=>e.cardList.connectorsEnabled,MV=e=>e.cardList.connectorApiStatus,DV=e=>e.cardList.cardSpecificData,PV=e=>e.cardList.specificConnectorApiStatus,nB=Nh({name:"connectorCardLibrary",initialState:wV,reducers:{updateThreadId(e,t){const{payload:n}=t;e.threadId=n.threadId,e.connectorCards=null},clearConnectorList(e){e.connectorCards=null,e.cardSpecificData=null}},extraReducers:e=>{e.addCase(Zl.pending,t=>{t.connectorApiStatus=Oe.LOADING}).addCase(Zl.fulfilled,(t,n)=>{t.connectorApiStatus=Oe.IDLE,t.connectorCards=n.payload.cards,t.connectorsEnabled=n.payload.connectorsEnabled}).addCase(Zl.rejected,t=>{t.connectorApiStatus=Oe.FAILED}).addCase(va.pending,(t,n)=>{const{id:o,externalResourceId:r=""}=n.meta.arg;let i=o;r&&(i=`${i}_${r}`),t.specificConnectorApiStatus={...t.specificConnectorApiStatus??{},[i]:Oe.LOADING}}).addCase(va.fulfilled,(t,n)=>{const{id:o,externalResourceId:r=""}=n.meta.arg;let i=o;r&&(i=`${i}_${r}`);const{data:a}=n.payload||{};a&&(t.cardSpecificData={...t.cardSpecificData?t.cardSpecificData:{},[i]:a}),t.specificConnectorApiStatus={...t.specificConnectorApiStatus??{},[i]:Oe.IDLE}}).addCase(va.rejected,(t,n)=>{const{id:o,externalResourceId:r=""}=n.meta.arg;let i=o;r&&(i=`${i}_${r}`),t.specificConnectorApiStatus={...t.specificConnectorApiStatus??{},[i]:Oe.FAILED}})}}),Zl=mo("connectorCardLibrary/fetchAllCard",async({inboxIds:e,channelType:t,conversationId:n})=>{var A;const o=await FV({inboxIds:e,channelType:t,conversationId:n});if(!Array.isArray((A=o==null?void 0:o.data)==null?void 0:A.cards))return{cards:[],connectorsEnabled:!1};const{cards:r,connectorsEnabled:i=!1}=o.data;return{cards:r.sort((l,c)=>(l==null?void 0:l.priority)-(c==null?void 0:c.priority)),connectorsEnabled:i}}),va=mo("connectorCardLibrary/fetchSpecificCard",async({id:e,email:t,conversationId:n,isRefresh:o,externalResourceId:r},i)=>{try{const a=await SV(e,t,n,r),A=a==null?void 0:a.data,l=a==null?void 0:a.status;return A?(o&&an({message:jh,type:Xr}),{data:j2(A),status:l}):(o&&an({message:Uh,type:cr}),{data:{},status:l})}catch(a){return i.rejectWithValue(a)}}),RV=nB.reducer,oB=nB.actions,rB="data:image/svg+xml,%3csvg%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.76618%202.23341C8.79952%201.26675%207.47285%200.666748%205.99952%200.666748C3.05285%200.666748%200.672852%203.05341%200.672852%206.00008C0.672852%208.94675%203.05285%2011.3334%205.99952%2011.3334C8.48619%2011.3334%2010.5595%209.63341%2011.1529%207.33341H9.76618C9.21952%208.88675%207.73952%2010.0001%205.99952%2010.0001C3.79285%2010.0001%201.99952%208.20675%201.99952%206.00008C1.99952%203.79341%203.79285%202.00008%205.99952%202.00008C7.10618%202.00008%208.09285%202.46008%208.81285%203.18675L6.66618%205.33341H11.3329V0.666748L9.76618%202.23341Z'%20fill='%236C7B94'/%3e%3c/svg%3e",LV="data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11.4587%206.7528C11.2244%206.51848%2010.8445%206.51848%2010.6102%206.7528C10.3759%206.98711%2010.3759%207.36701%2010.6102%207.60132L11.4587%206.7528ZM12.1916%208.33414L12.6158%207.90988L12.1916%208.33414ZM8.33462%2012.1911L8.75888%2011.7668L8.33462%2012.1911ZM7.6018%2010.6097C7.36748%2010.3754%206.98758%2010.3754%206.75327%2010.6097C6.51895%2010.8441%206.51895%2011.224%206.75327%2011.4583L7.6018%2010.6097ZM4.43911%209.14411C4.67343%209.37842%205.05333%209.37842%205.28764%209.14411C5.52196%208.9098%205.52196%208.5299%205.28764%208.29558L4.43911%209.14411ZM3.70629%207.56276L4.13056%207.1385L3.70629%207.56276ZM7.56324%203.70582L7.9875%203.28155L7.56324%203.70582ZM8.29606%205.28716C8.53037%205.52148%208.91027%205.52148%209.14459%205.28716C9.3789%205.05285%209.3789%204.67295%209.14459%204.43864L8.29606%205.28716ZM10.6102%207.60132L11.7673%208.75841L12.6158%207.90988L11.4587%206.7528L10.6102%207.60132ZM11.7673%208.75841C12.1662%209.15735%2012.3904%209.69843%2012.3904%2010.2626L13.5904%2010.2626C13.5904%209.38017%2013.2398%208.53387%2012.6158%207.90988L11.7673%208.75841ZM12.3904%2010.2626C12.3904%2010.8268%2012.1662%2011.3679%2011.7673%2011.7668L12.6158%2012.6154C13.2398%2011.9914%2013.5904%2011.1451%2013.5904%2010.2626L12.3904%2010.2626ZM11.7673%2011.7668C10.9365%2012.5976%209.58963%2012.5976%208.75888%2011.7668L7.91035%2012.6154C9.20973%2013.9147%2011.3164%2013.9147%2012.6158%2012.6154L11.7673%2011.7668ZM8.75888%2011.7668L7.6018%2010.6097L6.75327%2011.4583L7.91035%2012.6154L8.75888%2011.7668ZM5.28764%208.29558L4.13056%207.1385L3.28203%207.98703L4.43911%209.14411L5.28764%208.29558ZM4.13056%207.1385C3.73162%206.73956%203.50749%206.19848%203.50749%205.63429L2.30749%205.63429C2.30749%206.51674%202.65804%207.36304%203.28203%207.98703L4.13056%207.1385ZM3.50749%205.63429C3.50749%205.0701%203.73162%204.52902%204.13056%204.13008L3.28203%203.28155C2.65804%203.90554%202.30749%204.75184%202.30749%205.63429L3.50749%205.63429ZM4.13056%204.13008C4.96131%203.29933%206.30822%203.29933%207.13897%204.13008L7.9875%203.28155C6.68812%201.98217%204.58141%201.98217%203.28203%203.28155L4.13056%204.13008ZM7.13897%204.13008L8.29606%205.28716L9.14459%204.43864L7.9875%203.28155L7.13897%204.13008Z'%20fill='%236C7B94'/%3e%3crect%20x='5.08887'%20y='6.0791'%20width='1.33333'%20height='6.66667'%20rx='0.666667'%20transform='rotate(-45%205.08887%206.0791)'%20fill='%236C7B94'/%3e%3cpath%20d='M5.59961%2014.3998V12.7998'%20stroke='%236C7B94'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M12.7998%205.59961H14.3998'%20stroke='%236C7B94'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M2.40039%2011.2002H4.00039'%20stroke='%236C7B94'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M11.2002%202.40039V4.00039'%20stroke='%236C7B94'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",NV="data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_5908_39767)'%3e%3cpath%20d='M9.37333%206.01333L9.98667%206.62667L3.94667%2012.6667H3.33333V12.0533L9.37333%206.01333ZM11.7733%202C11.6067%202%2011.4333%202.06667%2011.3067%202.19333L10.0867%203.41333L12.5867%205.91333L13.8067%204.69333C14.0667%204.43333%2014.0667%204.01333%2013.8067%203.75333L12.2467%202.19333C12.1133%202.06%2011.9467%202%2011.7733%202ZM9.37333%204.12667L2%2011.5V14H4.5L11.8733%206.62667L9.37333%204.12667Z'%20fill='%236C7B94'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_5908_39767'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",iB=e=>e.write.createObjectList,sB=e=>e.write.linkObjectList,UV=e=>e.write.editObjectList,jV=e=>e.write.objectDict,VV=e=>e.write.formFields,HV=e=>e.write.previewCardData,WV=e=>e.write.previewCardApiStatus,zV=e=>e.write.linkCardApiStatus,YV=e=>e.write.unlinkCardApiStatus,GV=e=>e.write.dependentFieldsMap,XV=e=>e.write.createFormApiStatus,KV=e=>e.write.updateFormApiStatus,_V=e=>e.write.currentResourceDetails,ZV=e=>e.write.currentResourceDetailsApiStatus,aB=e=>e.write.currentCardInEdit,AB=e=>e.write.hasUnsavedChanges,JV=({showUnlinkModal:e,setShowUnlinkModal:t,cardId:n,onCardUnlinking:o,externalResourceId:r,conversationId:i,connectorName:a})=>{const A=jr(),{sendTrackingEvent:l}=w.useContext(eo),u=wt(YV)===Oe.LOADING,p=()=>{i&&r&&A(Xl({id:n,conversationId:i,externalResourceId:r})).unwrap().then(()=>{l(FL,{connector_name:a,conversation_id:i}),t(!1),o(),an({message:uj,type:Xr})}).catch(()=>{an({message:dj,type:Xr})})};return b.jsx(Pg,{shown:e,setShown:t,showCloseButton:!0,children:b.jsxs(Ne,{width:"400px",padding:"20px",gap:"8px",children:[b.jsx(We,{variant:"h2",children:aL}),b.jsx(We,{variant:"body2",children:AL}),b.jsxs(Ne,{direction:"row",gap:"8px",marginTop:"20px",justifyContent:"flex-end",children:[b.jsx(zt,{variant:"text",onClick:()=>t(!1),children:dg}),b.jsx(zt,{disabled:u,color:"error",onClick:p,children:M2})]})]})})},qV=e=>{const{card:t,specificCardData:n,email:o,specificConnectorApiStatus:r,defaultOpenState:i=!1,onCardUnlinking:a}=e,A=jr(),{availableFeatures:l,sendTrackingEvent:c,conversationId:u,currentSmIds:p}=w.useContext(eo),{userGroupId:g}=Nr()||{},[h,C]=w.useState(!!i),[f,d]=w.useState(!1),[E,m]=w.useState(!1),{id:B,title:v,externalResourceId:I="",connectorName:Q="",forms:y=[]}=t;let x=B;I&&(x=`${x}_${I}`);const{data:S,cardType:O}=(n==null?void 0:n[x])??{},P=(r==null?void 0:r[x])===Oe.LOADING,R=!!(Ur(l,S2)&&I),D=w.useMemo(()=>{var X,M;if(!(Ur(l,ZR)&&y.some(z=>z.type==="edit")))return!1;switch(O){case"flat":return!!((S==null?void 0:S.flatDisplay.externalResourceId)??t.externalResourceId);case"flat_with_list":return((X=S==null?void 0:S.listItems)==null?void 0:X.fields.length)===1?(M=S==null?void 0:S.listItems)==null?void 0:M.fields.some(z=>z.externalResourceId):!1;default:return!1}},[S,O,l,y,t]),k=w.useCallback((X=!1)=>{const M=X?DL:ML;o&&B&&u&&A(va({id:B,email:o,conversationId:u,externalResourceId:I})).unwrap().then(z=>{const G=U2(z,v,X,!0);c(M,G)}).catch(z=>{const G=U2(z,v,X,!1);c(M,G)})},[A,o,B,v,c,u,I]);w.useEffect(()=>{i&&k(!0)},[i,k]);const L=(X,M)=>{var G;X==null||X.stopPropagation(),A(va({id:M,email:o,conversationId:u,isRefresh:!0,externalResourceId:I})).unwrap().then(()=>{c(hL,{id:M})});const z=X.target.tagName==="BUTTON"?(G=X.target)==null?void 0:G.firstChild:X.target;z.className&&(z.className=""),setTimeout(()=>z.className="selected",1)},N=(X,M)=>{X.stopPropagation(),!(n!=null&&n[M])&&!P&&k(),c(h?IL:EL,{id:M}),C(z=>!z)},W=X=>{X.stopPropagation();const M=X.currentTarget.offsetWidth<X.currentTarget.scrollWidth;d(!!M)},H=()=>{var M,z;c(V2,{card_title:v,connector_name:Q,ug_id:g,sm_ids:p});let X;O==="flat"?X=(S==null?void 0:S.flatDisplay.externalResourceId)??t.externalResourceId:O==="flat_with_list"&&(X=(z=(M=S==null?void 0:S.listItems)==null?void 0:M.fields[0])==null?void 0:z.externalResourceId),X?A(Zi({...t,externalResourceId:X})):an({message:Vh,type:cr})};return b.jsxs(mN,{"data-testid":`test_${B}`,children:[b.jsxs(QN,{className:h?"hiver-card-expanded":"",children:[b.jsx(Nt,{title:f?v:"",placement:"bottom",children:b.jsx(vN,{variant:"h4",onMouseOver:X=>W(X),onMouseLeave:X=>W(X),children:v})}),b.jsxs(eh,{children:[h&&D?b.jsx(Nt,{title:D2,placement:"bottom",children:b.jsx(Hr,{onClick:H,children:b.jsx("img",{src:NV})})}):null,h&&R?b.jsx(Nt,{title:M2,placement:"bottom",children:b.jsx(Hr,{onClick:()=>m(!0),children:b.jsx("img",{src:LV})})}):null,h?b.jsx(Nt,{title:O2,placement:"bottom",children:b.jsx(Hr,{"data-testid":P?"loading":"reloadIcon",onClick:X=>L(X,B),className:P?"disabled":"",children:b.jsx("img",{src:rB})})}):null,b.jsx(Nt,{title:h?k2:ug,placement:"bottom",children:b.jsx(Hr,{onClick:X=>N(X,x),children:b.jsx(Bg,{className:h?"":"hiver-up"})})})]})]}),b.jsx(eB,{id:x,cardTitle:t.title,currentCard:t,specificCardData:n,specificConnectorApiStatus:r,isOpen:h}),b.jsx(JV,{showUnlinkModal:E,setShowUnlinkModal:m,cardId:B,onCardUnlinking:a,conversationId:u,externalResourceId:I,connectorName:Q})]})},$V=10,eH=({cards:e,email:t,specificCardData:n,specificConnectorApiStatus:o,onCardUnlinking:r})=>{const{availableFeatures:i}=w.useContext(eo),A=Ur(i,qR)?$V:0;return b.jsx(b.Fragment,{children:e.map((l,c)=>{const{id:u,externalResourceId:p}=l;let g=u;return p&&(g=`${g}_${p}`),b.jsx("div",{children:b.jsx(qV,{card:l,specificCardData:n,email:t??"",defaultOpenState:c<=A,specificConnectorApiStatus:o,onCardUnlinking:r})},g)})})},tH="Bring your favourite tools into Hiver",nH="Plugin image",oH="Integrate tools like Salesforce, HubSpot, and Shopify to boost productivity",rH="Enable Connectors",iH="Learn more",sH="https://help.hiverhq.com/custom-connectors/hiver-s-custom-connectors",aH="Contact your admin to enable this",AH="https://youtu.be/ODcJnzZLb50",lH="connectors-module/assets/connectors-images/connector-mainpage.png",cH="Explore connectors",uH="Connectors",dH=V(Ne)`
2419
+ Do you want to continue?`,eV="Select an object to create",tV="Select an object to link",Gh="Select object",nV="Paste URL or ID",oV="Object ID/Link",rV="Card updated",iV="Card updation failed",sV="Required Field",aV="Invalid date",Xh=/^https:\/\/([a-z0-9-]+(\.[a-z0-9-]+)+)(:[0-9]{1,5})?(\/[^\s/]*)*$/i,AV=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,lV=(e,t)=>t?Object.values(t).filter(o=>e.values[o]&&!e.errors[o]):[],Kh=(e,t)=>t?Object.keys(t).reduce((o,r)=>{let i="";const a=t[r];return e.values&&e.values[a]&&typeof e.values[a]=="object"&&"value"in e.values[a]?i=e.values[a].value:e.values&&e.values[a]&&typeof e.values[a]!="object"?i=e.values[a]:i=null,{...o,[r]:i}},{}):{},_h=(e,t,n)=>{let o=`${t}_${n}`;return Object.keys(e).forEach(r=>{o=`${o}_${r}:${e[r]}`}),o},cV=e=>t=>{if(t&&typeof t=="string"){const n=t.replace(/\/$/,"");return n.startsWith("https://")?t.endsWith("/")?Uj:Xh.test(n)?!0:e||zh:Nj}return!1},uV=e=>t=>t&&typeof t=="string"?AV.test(t)?!0:e||jj:Vj,dV=e=>t=>t==null||t===""?e||sV:!0,gV=e=>(t,n)=>{var o;if(!t||(t==null?void 0:t.toString())===aV)return Yh;if(typeof t=="object"){const r=t,i=new Date;i.setHours(0,0,0,0);const a=n.disablePast,A=n.disableFuture;return a&&r<i?e||Hj:A&&r>i?e||Wj:!0}return typeof t=="string"&&((o=new Date(t))==null?void 0:o.toString())!=="Invalid Date"?!0:Yh},fV=e=>(t,n)=>{if(t=Number(t),typeof t=="number"&&!isNaN(t)){const o=n.min,r=n.max;return o!==void 0&&t<o?e||`Value should not be less than ${o}`:r!==void 0&&t>r?e||`Value should not be greater than ${r}`:!0}return e||zj},pV=e=>(t,n)=>{if(typeof t=="string"){const o=n.limit;return o!==void 0&&t.length>o?e||`Maximum characters allowed are ${o}`:!0}return e||Yj},CV=e=>t=>typeof t=="string"?t.startsWith("https:")?Xh.test(t)?!0:e||zh:t.trim().length>0?!0:e||Rj:e||Lj,EV=({formFields:e})=>{const t={};return e.forEach(n=>{var o,r,i,a,A,l;if(t[n.name]={},(o=n.validations)!=null&&o.isRequired&&(typeof n.validations.isRequired=="object"?t[n.name].isRequired=dV(n.validations.isRequired.msg):t[n.name].isRequired=!0),n.type==="date"){let c=typeof((r=n.validations)==null?void 0:r.disableFuture)=="object"?n.validations.disableFuture.msg:"";c=typeof((i=n.validations)==null?void 0:i.disablePast)=="object"?n.validations.disablePast.msg:c,t[n.name].validate=gV(c);return}if(n.type==="number"&&((a=n.validations)!=null&&a.range)){t[n.name].validate=fV();return}if(n.type==="text"&&n.limit){t[n.name].validate=pV();return}if((A=n.validations)!=null&&A.isUrl){const c=typeof n.validations.isUrl=="object"?n.validations.isUrl.msg:"";t[n.name].validate=cV(c)}else if((l=n.validations)!=null&&l.isEmail){const c=typeof n.validations.isEmail=="object"?n.validations.isEmail.msg:"";t[n.name].validate=uV(c)}}),t},Dg=(e,t)=>Object.keys(t).reduce((n,o)=>{const r=e.values[t[o]];let i;return Array.isArray(r)?i=r.map(a=>a.value):r&&typeof r=="object"&&"label"in r?i=r.value:r&&typeof r=="object"?i=r.toISOString():i=r||"",n[o]=i,n},{}),IV=e=>typeof e=="string"?/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/.test(e):typeof e=="object"&&"_isValid"in e,Zh=e=>Object.keys(e).sort((n,o)=>o.localeCompare(n)).reduce((n,o)=>{var r;return(typeof e[o]=="string"||typeof e[o]=="object"&&e[o]!==null)&&IV(e[o])?n[o]=(r=new Date(`${e[o]}`))==null?void 0:r.toString():n[o]=e[o],n},{}),Jh=Nh({name:"writeCapability",initialState:Hh,reducers:{resetState:()=>Hh,resetCurrentResourceDetails:e=>{e.currentResourceDetails=null,e.currentResourceDetailsApiStatus=Oe.IDLE},setCurrentCardInEdit:(e,t)=>{e.currentCardInEdit=t.payload},setHasUnsavedChanges:(e,t)=>{e.hasUnsavedChanges=t.payload}},extraReducers:e=>{e.addCase(Wl.pending,t=>{t.objectListApiStatus=Oe.LOADING}).addCase(Wl.fulfilled,(t,n)=>{const{createObjectList:o,linkObjectList:r,editObjectList:i,formFields:a,objectDict:A,dependentFieldsMap:l}=n.payload;t.objectListApiStatus=Oe.IDLE,t.createObjectList=o,t.linkObjectList=r,t.editObjectList=i,t.formFields=a,t.objectDict=A,t.dependentFieldsMap=l}).addCase(Wl.rejected,t=>{t.objectListApiStatus=Oe.FAILED}).addCase(zl.pending,t=>{t.dropdownOptionsApis=Oe.LOADING}).addCase(zl.fulfilled,(t,n)=>{const o=t.optionsMap||{},{optionsList:r,hasMore:i,currentPage:a,key:A}=n.payload;t.dropdownOptionsApis=Oe.IDLE,t.optionsMap={...o,[A]:{options:r,hasMore:i,currentPage:a}}}).addCase(zl.rejected,t=>{t.dropdownOptionsApis=Oe.FAILED}).addCase(Yl.pending,t=>{t.createFormApiStatus=Oe.LOADING}).addCase(Yl.fulfilled,t=>{t.createFormApiStatus=Oe.IDLE}).addCase(Yl.rejected,t=>{t.createFormApiStatus=Oe.FAILED}).addCase(Kl.pending,t=>{t.linkCardApiStatus=Oe.LOADING}).addCase(Kl.fulfilled,t=>{t.linkCardApiStatus=Oe.IDLE}).addCase(Kl.rejected,t=>{t.linkCardApiStatus=Oe.FAILED}).addCase(Xl.pending,t=>{t.unlinkCardApiStatus=Oe.LOADING}).addCase(Xl.fulfilled,t=>{t.unlinkCardApiStatus=Oe.IDLE}).addCase(Xl.rejected,t=>{t.unlinkCardApiStatus=Oe.FAILED}).addCase(Qa.pending,t=>{t.previewCardApiStatus=Oe.LOADING}).addCase(Qa.fulfilled,(t,n)=>{const{data:o}=n.payload;o&&(t.previewCardData=o),t.previewCardApiStatus=Oe.IDLE}).addCase(Qa.rejected,t=>{t.previewCardApiStatus=Oe.FAILED}).addCase(Gl.pending,t=>{t.updateFormApiStatus=Oe.LOADING}).addCase(Gl.fulfilled,t=>{t.updateFormApiStatus=Oe.IDLE}).addCase(Gl.rejected,t=>{t.updateFormApiStatus=Oe.FAILED}).addCase(_l.pending,t=>{t.currentResourceDetailsApiStatus=Oe.LOADING}).addCase(_l.fulfilled,(t,n)=>{const{data:o}=n.payload;o&&(t.currentResourceDetails=o),t.currentResourceDetailsApiStatus=Oe.IDLE}).addCase(_l.rejected,t=>{t.currentResourceDetailsApiStatus=Oe.FAILED})}}),Wl=mo("writeCapability/fetchObjectList",async e=>{const{inboxIds:t,channelType:n,conversationId:o}=e,r=await xj({inboxIds:t,channelType:n,conversationId:o});if(!r||!r.data||!("formsList"in r.data)||!Array.isArray(r.data.formsList))return{createObjectList:[],linkObjectList:[],editObjectList:[],formFields:null,objectDict:null,dependentFieldsMap:{}};const i=r.data.formsList,a={},A=[],l=[],c=[],u={},p={};return i==null||i.forEach(g=>{var C,f;const h={...g};"fieldList"in h&&delete h.fieldList,p[g.id]=h,a[g.id]||(a[g.id]={}),u[g.id]||(u[g.id]=[]),g.type==="create"&&g.authenticated?A.push({value:g.id,label:g.name}):g.type==="link"&&g.authenticated?l.push({value:g.id,label:g.name}):g.type==="edit"&&g.authenticated&&c.push({value:g.id,label:g.name}),(C=g.fieldList)==null||C.sort((d,E)=>d.priority-E.priority),(f=g.fieldList)==null||f.forEach(d=>{var m,B,v,I,Q,y,x,S,O,P,R,D;let E={};switch(d.type){case"select":case"multi-select":{E={...d,defaultOptions:!!d.interfaceDetails,isInfiniteScrollable:((B=(m=d.interfaceDetails)==null?void 0:m.pagination)==null?void 0:B.enabled)||!1,loadOptionsOnFocus:Object.keys(((v=d.interfaceDetails)==null?void 0:v.args)||{}).length>0,isMultiSelect:d.type==="multi-select",type:g.interfaceDetails?"async-select":"select",isClearable:!0};break}case"date":{E={...d,type:"date",disablePast:!!((I=d.validations)!=null&&I.disablePast)||!1,disableFuture:!!((Q=d.validations)!=null&&Q.disableFuture)||!1};break}case"number":{E={...d,type:"number",min:((x=(y=d.validations)==null?void 0:y.range)==null?void 0:x.min)||Number.MIN_SAFE_INTEGER,max:((O=(S=d.validations)==null?void 0:S.range)==null?void 0:O.max)||Number.MAX_SAFE_INTEGER};break}case"multiline":{E={...d,type:"text",maxRows:((P=d.validations)==null?void 0:P.maxRows)||5,limit:(R=d.validations)==null?void 0:R.maxCharacters,rows:5,multiline:!0};break}case"text":{E={...d,type:"text",limit:(D=d.validations)==null?void 0:D.maxCharacters};break}default:E={...d}}if("value"in E&&(E.defaultValue=E.value,delete E.value),u[g.id]=[...u[g.id],E],d.interfaceDetails&&(d.interfaceDetails.args||d.interfaceDetails.optionalArgs)){const k={...d.interfaceDetails.args,...d.interfaceDetails.optionalArgs};Object.values(k).forEach(L=>{a[g.id][L]?a[g.id][L]=[...a[g.id][L],d.name]:a[g.id][L]=[d.name]})}})}),{createObjectList:A,linkObjectList:l,editObjectList:c,formFields:u,objectDict:p,dependentFieldsMap:a}}),zl=mo("writeCapability/fetchDropDownOptions",async(e,{getState:t,rejectWithValue:n})=>{var B;const{fieldName:o,formId:r,fieldConfig:i,callback:a,args:A={},interfaceId:l="",pagination:c={enabled:!1}}=e,u=_h(A||{},r,o),{write:p}=t();let g=!1;i.meta&&"showAvatar"in i.meta&&typeof i.meta.showAvatar=="boolean"&&(g=i.meta.showAvatar);const{options:h=[],hasMore:C=!0,currentPage:f=0}=((B=p.optionsMap)==null?void 0:B[u])||{},{enabled:d,limit:E}=c,m=E||10;try{let v;const I=d?{pageNumber:f+1,limit:m}:null;if(C?v=await Tj({fieldName:o,formId:r},{pagination:I||{},args:A,interfaceId:l}):a==null||a(h),!v||!v.data||!("data"in v.data)||!Array.isArray(v.data.data))return{optionsList:[...h],fieldName:"",formId:"",hasMore:!1,currentPage:f,key:u};const y=v.data.data.map(O=>g?{...O,avatarUrl:O.avatarUrl||Kj}:{label:O.label,value:O.value}),x=d?y.length>=m:!1,S=[...h,...y];return a==null||a(S),{optionsList:S,fieldName:o,formId:r,currentPage:f+1,hasMore:x,key:u}}catch(v){return a==null||a(h),n(v)}},{condition:(e,{getState:t})=>{var c,u;if(e.isScrollToBottomEvent)return!0;const{fieldName:n,formId:o,callback:r,args:i}=e,a=_h(i||{},o,n),{write:A}=t(),l=((u=(c=A.optionsMap)==null?void 0:c[a])==null?void 0:u.options)||[];return l&&l.length?(r==null||r(l),!1):!0}}),Yl=mo("writeCapability/createForm",async(e,{rejectWithValue:t})=>{const{formId:n,successCallback:o,failureCallback:r,args:i={},interfaceId:a,conversationId:A}=e;try{await Wh({formId:n},{args:i,interfaceId:a,conversationId:A}),o==null||o(),an({message:Gj,type:Xr})}catch(l){return r==null||r(l),an({message:Xj,type:cr}),t(l)}}),Gl=mo("writeCapability/updateForm",async(e,{rejectWithValue:t})=>{const{formId:n,successCallback:o,failureCallback:r,args:i={},interfaceId:a,conversationId:A,externalResourceId:l,previousArgs:c={}}=e;try{await Wh({formId:n},{args:i,interfaceId:a,conversationId:A,externalResourceId:l,previousArgs:c}),o==null||o(),an({message:rV,type:Xr})}catch(u){return r==null||r(u),an({message:iV,type:cr}),t(u)}}),Xl=mo("writeCapability/unlinkCard",async({id:e,channelType:t,externalResourceId:n,conversationId:o})=>{await Fj(e,t,n,o)}),Kl=mo("writeCapability/linkCard",async({id:e,externalResourceId:t,channelType:n,conversationId:o})=>{await Sj(e,t,n,o)}),Qa=mo("writeCapability/previewCard",async({id:e,args:t,channelType:n,isRefresh:o})=>{const r=await Oj(e,t,n),i=r==null?void 0:r.data;return i?(o&&an({message:jh,type:Xr}),{data:j2(i)}):(o&&an({message:Uh,type:cr}),{data:null})}),_l=mo("connectorCardLibrary/fetchCurrentResourceDetails",async(e,{rejectWithValue:t})=>{const{id:n,channelType:o,conversationId:r,externalResourceId:i,contactEmail:a}=e;try{const A=await kj(n,o,r,i,a),l=A==null?void 0:A.data,c=A==null?void 0:A.status,u={values:{},errors:{}};return Object.entries(l.formData).forEach(([p,g])=>{"label"in g&&(g.type&&g.type==="date"?u.values[p]=g.label?new Date(parseInt(g.label)).toISOString():"":g.type&&g.type==="multi-select"&&"value"in g&&"label"in g&&g.value&&g.label?u.values[p]=[{value:g.value,label:g.label}]:g.value?u.values[p]={value:g.value,label:g.label}:u.values[p]=g.label)}),{data:u,status:c}}catch(A){return an({message:Vh,type:cr}),t(A)}}),{resetState:FG,setCurrentCardInEdit:Zi,resetCurrentResourceDetails:hV,setHasUnsavedChanges:qh}=Jh.actions,BV=Jh.reducer,mV=()=>{const[e,t]=w.useState(null),[n,o]=w.useState({isVertical:!1,isHorizontal:!1,isScrolling:!1}),r=w.useCallback(i=>{t(i)},[]);return w.useEffect(()=>{if(!e)return;e.dataset.prevScrollLeft="0",e.dataset.prevScrollTop="0";let i=null;const a=100;let A=null;const l=150,c=u=>{i||(i=window.setTimeout(()=>{const p=u.target,g=Number(e.dataset.prevScrollLeft)||0,h=Number(e.dataset.prevScrollTop)||0,C=p.scrollLeft,f=p.scrollTop,d=C-g,E=f-h,m=Math.abs(E)>Math.abs(d),B=Math.abs(d)>Math.abs(E);o({isVertical:m,isHorizontal:B,isScrolling:!0}),e.dataset.prevScrollLeft=String(C),e.dataset.prevScrollTop=String(f),i=null},a),A&&window.clearTimeout(A),A=window.setTimeout(()=>{o(p=>({...p,isScrolling:!1})),A=null},l))};return e.addEventListener("scroll",c),()=>{e.removeEventListener("scroll",c),i&&window.clearTimeout(i),A&&window.clearTimeout(A)}},[e]),[n,r]},QV="data:image/svg+xml,%3csvg%20width='18'%20height='18'%20viewBox='0%200%2018%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5.8016%2011.709L12.3416%205.16893L11.4298%204.25712L4.88979%2010.7972V11.709H5.8016ZM6.33618%2012.9987H3.6001V10.2626L10.9739%202.88875C11.0948%202.76786%2011.2588%202.69995%2011.4298%202.69995C11.6008%202.69995%2011.7648%202.76786%2011.8857%202.88875L13.71%204.71302C13.8309%204.83395%2013.8988%204.99794%2013.8988%205.16893C13.8988%205.33992%2013.8309%205.50391%2013.71%205.62484L6.33618%2012.9987ZM3.6001%2014.2884H15.2073V15.578H3.6001V14.2884Z'%20fill='%236C7B94'/%3e%3c/svg%3e",vV=({data:e,title:t,currentCard:n,setShowModal:o})=>{const r=jr(),{sendTrackingEvent:i,currentSmIds:a}=w.useContext(eo),{userGroupId:A}=Nr()||{},[l,c]=mV(),{isScrolling:u,isVertical:p}=l,g=u&&p,h=w.useMemo(()=>(e==null?void 0:e[0].data.map(E=>E.label))||[],[e]),C=w.useMemo(()=>e.map(E=>{const m={cells:{},externalResourceId:E.externalResourceId};return E.data.forEach((B,v)=>{if(h[v]){let I=B.value?B.value:Sl;I&&B.type==="date"&&(I=new Date(parseInt(I)).toLocaleDateString(navigator.language)),m.cells[h[v]]={label:I,deepLink:B==null?void 0:B.deepLink}}}),m}),[e,h]),f=(E,m)=>b.jsx(ON,{align:"left",children:E.deepLink?b.jsx(UA,{target:"_blank",underline:"none",href:E.deepLink,children:E.label}):b.jsx(We,{variant:"body2",color:"gray.black",children:E.label})},`${m}_${E.label}`),d=E=>{!E||!n||(o(!1),i(V2,{card_title:n.title,connector_name:n.connectorName,ug_id:A,sm_ids:a}),r(Zi({...n,externalResourceId:E})))};return b.jsxs(Ne,{maxHeight:"340px",maxWidth:"700px",padding:"32px 0px 32px 32px",overflow:"auto",children:[b.jsx(We,{variant:"h2",color:"gray.black",marginBottom:"16px",children:t}),b.jsx(rC,{ref:c,children:b.jsxs(tC,{stickyHeader:!0,children:[b.jsx(TN,{children:b.jsxs(zu,{children:[h.map(E=>b.jsx(FN,{children:b.jsx(We,{variant:"overline",color:"gray.gray3",children:E})},E)),b.jsx(MN,{})]})}),b.jsx(oC,{children:C.map((E,m)=>b.jsxs(SN,{children:[Object.values(E.cells).map((B,v)=>f(B,v)),b.jsx(kN,{children:!g&&E.externalResourceId&&b.jsx(Nt,{title:D2,placement:"bottom",children:b.jsx(Jt,{className:"row-edit",onClick:()=>d(E.externalResourceId),children:b.jsx("img",{src:QV})})})})]},`id_${m}`))})]})})]})},bV="data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_602_78902)'%3e%3cpath%20d='M0.666992%2013.9999H15.3337L8.00033%201.33325L0.666992%2013.9999ZM8.66699%2011.9999H7.33366V10.6666H8.66699V11.9999ZM8.66699%209.33325H7.33366V6.66659H8.66699V9.33325Z'%20fill='%23F07530'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_602_78902'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",$h=e=>{const{value:t,error:n,deepLink:o,statusCode:r,isLoading:i,type:a}=e,A=w.useRef(null),l=w.useRef(null),[c,u]=w.useState(!1);w.useEffect(()=>{const C=o?l.current:A.current;if(C){const f=C.scrollHeight>C.clientHeight||C.scrollWidth>C.clientWidth;u(f)}},[t,o]);const p=r==cg.NOT_FOUND;let g=p?Sl:t;a==="date"&&g&&!p&&(g=new Date(parseInt(g)).toLocaleDateString(navigator.language));const h=!p&&!!n;return i?b.jsx(Vr,{variant:"rounded",width:"100%",height:16,animation:"wave",margin:"4px 0 0 0"}):h?b.jsxs(eh,{gap:"5px",children:[b.jsx("img",{src:bV}),b.jsx(th,{variant:"body2",children:$R})]}):b.jsx(Nt,{title:c?g:null,placement:"bottom",children:o?b.jsx(nh,{ref:l,target:"_blank",underline:"none",href:o,fontSize:"13px",children:g||Sl}):b.jsx(xN,{ref:A,variant:"body2",children:g||Sl})})},yV="data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_825_73646)'%3e%3cpath%20d='M19%206.41L17.59%205L12%2010.59L6.41%205L5%206.41L10.59%2012L5%2017.59L6.41%2019L12%2013.41L17.59%2019L19%2017.59L13.41%2012L19%206.41Z'%20fill='%236F7C90'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_825_73646'%3e%3crect%20width='24'%20height='24'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",Pg=({shown:e,setShown:t,children:n,showCloseButton:o=!1,borderRadius:r=4})=>b.jsx(Mu,{open:e,onClose:()=>t(!1),PaperProps:{style:{borderRadius:r,padding:0,height:"fit-content",width:"fit-content",maxWidth:"none"}},children:b.jsxs(Ne,{direction:"row",children:[o&&b.jsx(gt,{position:"absolute",right:10,top:10,children:b.jsx(Nt,{title:"Close",placement:"bottom",children:b.jsx(Jt,{onClick:()=>t(!1),children:b.jsx("img",{src:yV})})})}),n]})}),eB=e=>{var H,X;const{id:t,cardTitle:n,specificCardData:o,specificConnectorApiStatus:r,isOpen:i,currentCard:a}=e,A=24,l=(r==null?void 0:r[t])===Oe.IDLE,c=(r==null?void 0:r[t])===Oe.LOADING,u=(r==null?void 0:r[t])===Oe.FAILED,{cardType:p,data:g}=(o==null?void 0:o[t])||{},h=p==="flat",[C,f]=w.useState(!1),[d,E]=w.useState(!1),[m,B]=w.useState(!1),[v,I]=w.useState(!1),Q=w.useMemo(()=>{var M,z,G,Y;return h&&((M=g==null?void 0:g.flatDisplay)!=null&&M.data)?g.flatDisplay.data:!h&&((Y=(G=(z=g==null?void 0:g.listItems)==null?void 0:z.fields)==null?void 0:G[0])!=null&&Y.data)?g.listItems.fields[0].data:[]},[h,g]),y=w.useMemo(()=>Q==null?void 0:Q.slice(0,5),[Q]),[x,S]=w.useState([]),O=w.useRef(null),[P,R]=w.useState(0),D=C?-180:0,k=h?!1:!!((H=g==null?void 0:g.listItems)!=null&&H.errorMessage),L=k||u,N=l&&!k&&i&&(m||d);w.useLayoutEffect(()=>{var M;(M=O.current)!=null&&M.scrollHeight&&R(O.current.scrollHeight+A)},[r==null?void 0:r[t],x,O]),w.useEffect(()=>{var Y,K;const M=((Q==null?void 0:Q.length)||0)>5,z=!h&&(((K=(Y=g==null?void 0:g.listItems)==null?void 0:Y.fields)==null?void 0:K.length)||0)>1;B(M&&!z),E(z)},[g,h,Q==null?void 0:Q.length]),w.useEffect(()=>{S(C?Q:y)},[g,C,y,Q]);const W=()=>{m?f(M=>!M):I(M=>!M)};return b.jsxs(b.Fragment,{children:[b.jsx(Pg,{shown:v,setShown:I,showCloseButton:!0,borderRadius:12,children:b.jsx(vV,{data:((X=g==null?void 0:g.listItems)==null?void 0:X.fields)||[],title:n,currentCard:a,setShowModal:I})}),b.jsx(bN,{className:i?"":"slideUp",height:P,children:b.jsx(Ne,{ref:O,gap:1,margin:"12px",children:c&&(!(x!=null&&x.length)||L)?b.jsxs(b.Fragment,{children:[b.jsx(Vr,{variant:"rounded",width:"100%",height:20,animation:"wave"}),b.jsx(Vr,{variant:"rounded",width:"100%",height:20,animation:"wave"})]}):b.jsx(b.Fragment,{children:L?b.jsx(gt,{margin:"8px 0",children:b.jsx($h,{error:L,isLoading:c})}):x!=null&&x.length?x==null?void 0:x.map(M=>{const{value:z,label:G,deepLink:Y,type:K}=M,q="errorMessage"in M?M.errorMessage:null,te="statusCode"in M?M.statusCode:null;return b.jsxs("div",{children:[b.jsx(yN,{variant:"overline",children:G}),b.jsx($h,{value:z,error:q,deepLink:Y,statusCode:te,isLoading:c,type:K})]},G)}):b.jsx(gt,{margin:"8px 0",children:b.jsx(th,{children:eL})})})})}),N&&b.jsx(PN,{variant:"body2_medium",onClick:W,children:m?b.jsxs(b.Fragment,{children:[C?XN:oh,b.jsx(DN,{src:GN,transformAngle:D})]}):oh})]})},wV={connectorCards:null,cardSpecificData:null,connectorApiStatus:Oe.IDLE,specificConnectorApiStatus:null,threadId:null,connectorsEnabled:!1},tB="/v1/api",xV=`${tB}/connectors/cards`,TV=`${tB}/connectors/cards/:id/data`,FV=({inboxIds:e,conversationId:t,channelType:n="email"})=>{const o=new URLSearchParams;return e.forEach(r=>o.append("inbox_ids",r)),o.append("channel_type",n),o.append("conversation_id",String(t||"")),Bo({url:`${xV}?${o.toString()}`,method:Wo.GET})},SV=(e,t,n,o)=>{const r=new URLSearchParams;return r.append("senderEmail",t),r.append("conversation_id",String(n||"")),o&&r.append("externalResourceId",o),Bo({url:`${TV.replace(":id",e)}?${r.toString()}`,method:Wo.GET})},OV=e=>e.cardList.connectorCards,kV=e=>e.cardList.connectorsEnabled,MV=e=>e.cardList.connectorApiStatus,DV=e=>e.cardList.cardSpecificData,PV=e=>e.cardList.specificConnectorApiStatus,nB=Nh({name:"connectorCardLibrary",initialState:wV,reducers:{updateThreadId(e,t){const{payload:n}=t;e.threadId=n.threadId,e.connectorCards=null},clearConnectorList(e){e.connectorCards=null,e.cardSpecificData=null}},extraReducers:e=>{e.addCase(Zl.pending,t=>{t.connectorApiStatus=Oe.LOADING}).addCase(Zl.fulfilled,(t,n)=>{t.connectorApiStatus=Oe.IDLE,t.connectorCards=n.payload.cards,t.connectorsEnabled=n.payload.connectorsEnabled}).addCase(Zl.rejected,t=>{t.connectorApiStatus=Oe.FAILED}).addCase(va.pending,(t,n)=>{const{id:o,externalResourceId:r=""}=n.meta.arg;let i=o;r&&(i=`${i}_${r}`),t.specificConnectorApiStatus={...t.specificConnectorApiStatus??{},[i]:Oe.LOADING}}).addCase(va.fulfilled,(t,n)=>{const{id:o,externalResourceId:r=""}=n.meta.arg;let i=o;r&&(i=`${i}_${r}`);const{data:a}=n.payload||{};a&&(t.cardSpecificData={...t.cardSpecificData?t.cardSpecificData:{},[i]:a}),t.specificConnectorApiStatus={...t.specificConnectorApiStatus??{},[i]:Oe.IDLE}}).addCase(va.rejected,(t,n)=>{const{id:o,externalResourceId:r=""}=n.meta.arg;let i=o;r&&(i=`${i}_${r}`),t.specificConnectorApiStatus={...t.specificConnectorApiStatus??{},[i]:Oe.FAILED}})}}),Zl=mo("connectorCardLibrary/fetchAllCard",async({inboxIds:e,channelType:t,conversationId:n})=>{var A;const o=await FV({inboxIds:e,channelType:t,conversationId:n});if(!Array.isArray((A=o==null?void 0:o.data)==null?void 0:A.cards))return{cards:[],connectorsEnabled:!1};const{cards:r,connectorsEnabled:i=!1}=o.data;return{cards:r.sort((l,c)=>(l==null?void 0:l.priority)-(c==null?void 0:c.priority)),connectorsEnabled:i}}),va=mo("connectorCardLibrary/fetchSpecificCard",async({id:e,email:t,conversationId:n,isRefresh:o,externalResourceId:r},i)=>{try{const a=await SV(e,t,n,r),A=a==null?void 0:a.data,l=a==null?void 0:a.status;return A?(o&&an({message:jh,type:Xr}),{data:j2(A),status:l}):(o&&an({message:Uh,type:cr}),{data:{},status:l})}catch(a){return i.rejectWithValue(a)}}),RV=nB.reducer,oB=nB.actions,rB="data:image/svg+xml,%3csvg%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.76618%202.23341C8.79952%201.26675%207.47285%200.666748%205.99952%200.666748C3.05285%200.666748%200.672852%203.05341%200.672852%206.00008C0.672852%208.94675%203.05285%2011.3334%205.99952%2011.3334C8.48619%2011.3334%2010.5595%209.63341%2011.1529%207.33341H9.76618C9.21952%208.88675%207.73952%2010.0001%205.99952%2010.0001C3.79285%2010.0001%201.99952%208.20675%201.99952%206.00008C1.99952%203.79341%203.79285%202.00008%205.99952%202.00008C7.10618%202.00008%208.09285%202.46008%208.81285%203.18675L6.66618%205.33341H11.3329V0.666748L9.76618%202.23341Z'%20fill='%236C7B94'/%3e%3c/svg%3e",LV="data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11.4587%206.7528C11.2244%206.51848%2010.8445%206.51848%2010.6102%206.7528C10.3759%206.98711%2010.3759%207.36701%2010.6102%207.60132L11.4587%206.7528ZM12.1916%208.33414L12.6158%207.90988L12.1916%208.33414ZM8.33462%2012.1911L8.75888%2011.7668L8.33462%2012.1911ZM7.6018%2010.6097C7.36748%2010.3754%206.98758%2010.3754%206.75327%2010.6097C6.51895%2010.8441%206.51895%2011.224%206.75327%2011.4583L7.6018%2010.6097ZM4.43911%209.14411C4.67343%209.37842%205.05333%209.37842%205.28764%209.14411C5.52196%208.9098%205.52196%208.5299%205.28764%208.29558L4.43911%209.14411ZM3.70629%207.56276L4.13056%207.1385L3.70629%207.56276ZM7.56324%203.70582L7.9875%203.28155L7.56324%203.70582ZM8.29606%205.28716C8.53037%205.52148%208.91027%205.52148%209.14459%205.28716C9.3789%205.05285%209.3789%204.67295%209.14459%204.43864L8.29606%205.28716ZM10.6102%207.60132L11.7673%208.75841L12.6158%207.90988L11.4587%206.7528L10.6102%207.60132ZM11.7673%208.75841C12.1662%209.15735%2012.3904%209.69843%2012.3904%2010.2626L13.5904%2010.2626C13.5904%209.38017%2013.2398%208.53387%2012.6158%207.90988L11.7673%208.75841ZM12.3904%2010.2626C12.3904%2010.8268%2012.1662%2011.3679%2011.7673%2011.7668L12.6158%2012.6154C13.2398%2011.9914%2013.5904%2011.1451%2013.5904%2010.2626L12.3904%2010.2626ZM11.7673%2011.7668C10.9365%2012.5976%209.58963%2012.5976%208.75888%2011.7668L7.91035%2012.6154C9.20973%2013.9147%2011.3164%2013.9147%2012.6158%2012.6154L11.7673%2011.7668ZM8.75888%2011.7668L7.6018%2010.6097L6.75327%2011.4583L7.91035%2012.6154L8.75888%2011.7668ZM5.28764%208.29558L4.13056%207.1385L3.28203%207.98703L4.43911%209.14411L5.28764%208.29558ZM4.13056%207.1385C3.73162%206.73956%203.50749%206.19848%203.50749%205.63429L2.30749%205.63429C2.30749%206.51674%202.65804%207.36304%203.28203%207.98703L4.13056%207.1385ZM3.50749%205.63429C3.50749%205.0701%203.73162%204.52902%204.13056%204.13008L3.28203%203.28155C2.65804%203.90554%202.30749%204.75184%202.30749%205.63429L3.50749%205.63429ZM4.13056%204.13008C4.96131%203.29933%206.30822%203.29933%207.13897%204.13008L7.9875%203.28155C6.68812%201.98217%204.58141%201.98217%203.28203%203.28155L4.13056%204.13008ZM7.13897%204.13008L8.29606%205.28716L9.14459%204.43864L7.9875%203.28155L7.13897%204.13008Z'%20fill='%236C7B94'/%3e%3crect%20x='5.08887'%20y='6.0791'%20width='1.33333'%20height='6.66667'%20rx='0.666667'%20transform='rotate(-45%205.08887%206.0791)'%20fill='%236C7B94'/%3e%3cpath%20d='M5.59961%2014.3998V12.7998'%20stroke='%236C7B94'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M12.7998%205.59961H14.3998'%20stroke='%236C7B94'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M2.40039%2011.2002H4.00039'%20stroke='%236C7B94'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M11.2002%202.40039V4.00039'%20stroke='%236C7B94'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",NV="data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_5908_39767)'%3e%3cpath%20d='M9.37333%206.01333L9.98667%206.62667L3.94667%2012.6667H3.33333V12.0533L9.37333%206.01333ZM11.7733%202C11.6067%202%2011.4333%202.06667%2011.3067%202.19333L10.0867%203.41333L12.5867%205.91333L13.8067%204.69333C14.0667%204.43333%2014.0667%204.01333%2013.8067%203.75333L12.2467%202.19333C12.1133%202.06%2011.9467%202%2011.7733%202ZM9.37333%204.12667L2%2011.5V14H4.5L11.8733%206.62667L9.37333%204.12667Z'%20fill='%236C7B94'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_5908_39767'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",iB=e=>e.write.createObjectList,sB=e=>e.write.linkObjectList,UV=e=>e.write.editObjectList,jV=e=>e.write.objectDict,VV=e=>e.write.formFields,HV=e=>e.write.previewCardData,WV=e=>e.write.previewCardApiStatus,zV=e=>e.write.linkCardApiStatus,YV=e=>e.write.unlinkCardApiStatus,GV=e=>e.write.dependentFieldsMap,XV=e=>e.write.createFormApiStatus,KV=e=>e.write.updateFormApiStatus,_V=e=>e.write.currentResourceDetails,ZV=e=>e.write.currentResourceDetailsApiStatus,aB=e=>e.write.currentCardInEdit,AB=e=>e.write.hasUnsavedChanges,JV=({showUnlinkModal:e,setShowUnlinkModal:t,cardId:n,onCardUnlinking:o,externalResourceId:r,conversationId:i,connectorName:a})=>{const A=jr(),{sendTrackingEvent:l}=w.useContext(eo),u=wt(YV)===Oe.LOADING,p=()=>{i&&r&&A(Xl({id:n,conversationId:i,externalResourceId:r})).unwrap().then(()=>{l(FL,{connector_name:a,conversation_id:i}),t(!1),o(),an({message:uj,type:Xr})}).catch(()=>{an({message:dj,type:Xr})})};return b.jsx(Pg,{shown:e,setShown:t,showCloseButton:!0,children:b.jsxs(Ne,{width:"400px",padding:"20px",gap:"8px",children:[b.jsx(We,{variant:"h2",children:aL}),b.jsx(We,{variant:"body2",children:AL}),b.jsxs(Ne,{direction:"row",gap:"8px",marginTop:"20px",justifyContent:"flex-end",children:[b.jsx(zt,{variant:"text",onClick:()=>t(!1),children:dg}),b.jsx(zt,{disabled:u,color:"error",onClick:p,children:M2})]})]})})},qV=e=>{const{card:t,specificCardData:n,email:o,specificConnectorApiStatus:r,defaultOpenState:i=!1,onCardUnlinking:a}=e,A=jr(),{availableFeatures:l,sendTrackingEvent:c,conversationId:u,currentSmIds:p}=w.useContext(eo),{userGroupId:g}=Nr()||{},[h,C]=w.useState(!!i),[f,d]=w.useState(!1),[E,m]=w.useState(!1),{id:B,title:v,externalResourceId:I="",connectorName:Q="",forms:y=[]}=t;let x=B;I&&(x=`${x}_${I}`);const{data:S,cardType:O}=(n==null?void 0:n[x])??{},P=(r==null?void 0:r[x])===Oe.LOADING,R=!!(Ur(l,S2)&&I),D=w.useMemo(()=>{var X,M;if(!(Ur(l,ZR)&&y.some(z=>z.type==="edit")))return!1;switch(O){case"flat":return!!((S==null?void 0:S.flatDisplay.externalResourceId)??t.externalResourceId);case"flat_with_list":return((X=S==null?void 0:S.listItems)==null?void 0:X.fields.length)===1?(M=S==null?void 0:S.listItems)==null?void 0:M.fields.some(z=>z.externalResourceId):!1;default:return!1}},[S,O,l,y,t]),k=w.useCallback((X=!1)=>{const M=X?DL:ML;o&&B&&u&&A(va({id:B,email:o,conversationId:u,externalResourceId:I})).unwrap().then(z=>{const G=U2(z,v,X,!0);c(M,G)}).catch(z=>{const G=U2(z,v,X,!1);c(M,G)})},[A,o,B,v,c,u,I]);w.useEffect(()=>{i&&k(!0)},[i,k]);const L=(X,M)=>{var G;X==null||X.stopPropagation(),A(va({id:M,email:o,conversationId:u,isRefresh:!0,externalResourceId:I})).unwrap().then(()=>{c(hL,{id:M})});const z=X.target.tagName==="BUTTON"?(G=X.target)==null?void 0:G.firstChild:X.target;z.className&&(z.className=""),setTimeout(()=>z.className="selected",1)},N=(X,M)=>{X.stopPropagation(),!(n!=null&&n[M])&&!P&&k(),c(h?IL:EL,{id:M}),C(z=>!z)},W=X=>{X.stopPropagation();const M=X.currentTarget.offsetWidth<X.currentTarget.scrollWidth;d(!!M)},H=()=>{var M,z;c(V2,{card_title:v,connector_name:Q,ug_id:g,sm_ids:p});let X;O==="flat"?X=(S==null?void 0:S.flatDisplay.externalResourceId)??t.externalResourceId:O==="flat_with_list"&&(X=(z=(M=S==null?void 0:S.listItems)==null?void 0:M.fields[0])==null?void 0:z.externalResourceId),X?A(Zi({...t,externalResourceId:X})):an({message:Vh,type:cr})};return b.jsxs(mN,{"data-testid":`test_${B}`,children:[b.jsxs(QN,{className:h?"hiver-card-expanded":"",children:[b.jsx(Nt,{title:f?v:"",placement:"bottom",children:b.jsx(vN,{variant:"h4",onMouseOver:X=>W(X),onMouseLeave:X=>W(X),children:v})}),b.jsxs(eh,{children:[h&&D?b.jsx(Nt,{title:D2,placement:"bottom",children:b.jsx(Hr,{onClick:H,children:b.jsx("img",{src:NV})})}):null,h&&R?b.jsx(Nt,{title:M2,placement:"bottom",children:b.jsx(Hr,{onClick:()=>m(!0),children:b.jsx("img",{src:LV})})}):null,h?b.jsx(Nt,{title:O2,placement:"bottom",children:b.jsx(Hr,{"data-testid":P?"loading":"reloadIcon",onClick:X=>L(X,B),className:P?"disabled":"",children:b.jsx("img",{src:rB})})}):null,b.jsx(Nt,{title:h?k2:ug,placement:"bottom",children:b.jsx(Hr,{onClick:X=>N(X,x),children:b.jsx(Bg,{className:h?"":"hiver-up"})})})]})]}),b.jsx(eB,{id:x,cardTitle:t.title,currentCard:t,specificCardData:n,specificConnectorApiStatus:r,isOpen:h}),b.jsx(JV,{showUnlinkModal:E,setShowUnlinkModal:m,cardId:B,onCardUnlinking:a,conversationId:u,externalResourceId:I,connectorName:Q})]})},$V=Number.MAX_SAFE_INTEGER,eH=({cards:e,email:t,specificCardData:n,specificConnectorApiStatus:o,onCardUnlinking:r})=>{const{availableFeatures:i}=w.useContext(eo),A=Ur(i,qR)?$V:1;return b.jsx(b.Fragment,{children:e.map((l,c)=>{const{id:u,externalResourceId:p}=l;let g=u;return p&&(g=`${g}_${p}`),b.jsx("div",{children:b.jsx(qV,{card:l,specificCardData:n,email:t??"",defaultOpenState:c<A,specificConnectorApiStatus:o,onCardUnlinking:r})},g)})})},tH="Bring your favourite tools into Hiver",nH="Plugin image",oH="Integrate tools like Salesforce, HubSpot, and Shopify to boost productivity",rH="Enable Connectors",iH="Learn more",sH="https://help.hiverhq.com/custom-connectors/hiver-s-custom-connectors",aH="Contact your admin to enable this",AH="https://youtu.be/ODcJnzZLb50",lH="connectors-module/assets/connectors-images/connector-mainpage.png",cH="Explore connectors",uH="Connectors",dH=V(Ne)`
2420
2420
  width: 100%;
2421
2421
  height: 97px;
2422
2422
  background-color: ${Pe.palette.purple.light};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hiver/connector-agent",
3
- "version": "2.0.1-openState-beta.0",
3
+ "version": "2.0.1-openState-beta.1",
4
4
  "main": "index.es.js",
5
5
  "module": "index.es.js",
6
6
  "types": "index.d.ts",