@hiver/connector-agent 1.3.4-beta.18 → 1.3.4-beta.19
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/features/write-form/components/card-linking/unlink-card-modal.d.ts +3 -3
- package/features/write-form/components/card-linking/unlink-card-modal.d.ts.map +1 -1
- package/index.es.js +4 -4
- package/index.umd.js +1 -1
- package/package.json +1 -1
- package/types/cards.d.ts +1 -1
- package/types/cards.d.ts.map +1 -1
|
@@ -3,10 +3,10 @@ interface IProps {
|
|
|
3
3
|
setShowUnlinkModal: React.Dispatch<React.SetStateAction<boolean>>;
|
|
4
4
|
cardId: string;
|
|
5
5
|
onCardUnlinking: () => void;
|
|
6
|
-
externalResourceId
|
|
6
|
+
externalResourceId: string;
|
|
7
7
|
conversationId?: number;
|
|
8
|
-
|
|
8
|
+
connectorName: string;
|
|
9
9
|
}
|
|
10
|
-
export declare const UnlinkCardModal: ({ showUnlinkModal, setShowUnlinkModal, cardId, onCardUnlinking, externalResourceId, conversationId,
|
|
10
|
+
export declare const UnlinkCardModal: ({ showUnlinkModal, setShowUnlinkModal, cardId, onCardUnlinking, externalResourceId, conversationId, connectorName }: IProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
export {};
|
|
12
12
|
//# sourceMappingURL=unlink-card-modal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unlink-card-modal.d.ts","sourceRoot":"","sources":["../../../../../src/features/write-form/components/card-linking/unlink-card-modal.tsx"],"names":[],"mappings":"AAaA,UAAU,MAAM;IACd,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,kBAAkB,
|
|
1
|
+
{"version":3,"file":"unlink-card-modal.d.ts","sourceRoot":"","sources":["../../../../../src/features/write-form/components/card-linking/unlink-card-modal.tsx"],"names":[],"mappings":"AAaA,UAAU,MAAM;IACd,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,eAAe,wHAQzB,MAAM,4CA6CR,CAAC"}
|
package/index.es.js
CHANGED
|
@@ -36362,12 +36362,12 @@ const Hi = "success", is = "error", lh = "Some error occured. Please contact sup
|
|
|
36362
36362
|
onCardUnlinking: o,
|
|
36363
36363
|
externalResourceId: r,
|
|
36364
36364
|
conversationId: i,
|
|
36365
|
-
|
|
36365
|
+
connectorName: s
|
|
36366
36366
|
}) => {
|
|
36367
36367
|
const A = $i(), { sendTrackingEvent: l } = Lo(dr), u = _t(Dj) === Pe.LOADING, g = () => {
|
|
36368
36368
|
i && r && A(wA({ id: n, conversationId: i, externalResourceId: r })).unwrap().then(() => {
|
|
36369
36369
|
l(RN, {
|
|
36370
|
-
|
|
36370
|
+
connector_name: s,
|
|
36371
36371
|
conversation_id: i
|
|
36372
36372
|
}), t(!1), o(), $n({
|
|
36373
36373
|
message: fN,
|
|
@@ -36396,7 +36396,7 @@ const Hi = "success", is = "error", lh = "Some error occured. Please contact sup
|
|
|
36396
36396
|
specificConnectorApiStatus: r,
|
|
36397
36397
|
defaultOpenState: i = !1,
|
|
36398
36398
|
onCardUnlinking: s
|
|
36399
|
-
} = e, { availableFeatures: A, sendTrackingEvent: l, conversationId: c } = Lo(dr), [u, g] = ke(!1), [C, B] = ke(!1), [f, p] = ke(!1), { id: d, title: E, externalResourceId: m = "",
|
|
36399
|
+
} = e, { availableFeatures: A, sendTrackingEvent: l, conversationId: c } = Lo(dr), [u, g] = ke(!1), [C, B] = ke(!1), [f, p] = ke(!1), { id: d, title: E, externalResourceId: m = "", connectorName: h = "" } = t, b = `${d}_${m}`, I = (r == null ? void 0 : r[b]) === Pe.LOADING, Q = (sd(A, oB) && (t == null ? void 0 : t.externalResourceId)) ?? !1, y = $i();
|
|
36400
36400
|
mt(() => {
|
|
36401
36401
|
g(!!i);
|
|
36402
36402
|
}, [i]), mt(() => {
|
|
@@ -36456,7 +36456,7 @@ const Hi = "success", is = "error", lh = "Some error occured. Please contact sup
|
|
|
36456
36456
|
onCardUnlinking: s,
|
|
36457
36457
|
conversationId: c,
|
|
36458
36458
|
externalResourceId: m,
|
|
36459
|
-
|
|
36459
|
+
connectorName: h
|
|
36460
36460
|
}
|
|
36461
36461
|
)
|
|
36462
36462
|
] });
|
package/index.umd.js
CHANGED
|
@@ -2333,7 +2333,7 @@ Take a look at the reducer(s) handling this action type: ${B.type}.
|
|
|
2333
2333
|
fill: #ffffff;
|
|
2334
2334
|
width: 10px;
|
|
2335
2335
|
}
|
|
2336
|
-
`,rN=(e,{closeToast:t})=>v.jsx(oN,{children:v.jsx("img",{src:$U,onClick:t})}),Pl=({message:e})=>v.jsxs(eN,{children:[v.jsx(nN,{}),v.jsx(tN,{children:e})]});function no(e){const{message:t,type:n,autoClose:o}=e,r={closeButton:v.jsx(rN,{}),autoClose:o??5e3,pauseOnHover:!0,position:"bottom-left",rtl:!1,draggable:!0,closeOnClick:!0,hideProgressBar:!0};let i;switch(n){case"success":{i=ot.success(v.jsx(Pl,{message:t}),{...r,icon:!1});break}case"error":{i=ot.error(v.jsx(Pl,{message:t}),{...r,icon:!1});break}case"info-dark":{i=ot.info(v.jsx(Pl,{message:t}),{...r,icon:!1,className:"toast_dark"});break}default:{i=ot.info(v.jsx(Pl,{message:t}),{...r,icon:!1});break}}return setTimeout(()=>{iN(i)},o&&!isNaN(o)?Number(o):5e3),i}function iN(e){ot.dismiss(e)}const Hi="success",Ca="error",yB="Some error occured. Please contact support@hiverhq.com",wB="Card refreshed successfully",sN="Card unlinked successfully",aN="Failed to unlink the card",xB=h2({name:"connectorCardLibrary",initialState:fR,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(Rl.pending,t=>{t.connectorApiStatus=Re.LOADING}).addCase(Rl.fulfilled,(t,n)=>{t.connectorApiStatus=Re.IDLE,t.connectorCards=n.payload.cards,t.connectorsEnabled=n.payload.connectorsEnabled}).addCase(Rl.rejected,t=>{t.connectorApiStatus=Re.FAILED}).addCase(Wi.pending,(t,n)=>{const{id:o,externalResourceId:r=""}=n.meta.arg,i=`${o}_${r}`;t.specificConnectorApiStatus={...t.specificConnectorApiStatus??{},[i]:Re.LOADING}}).addCase(Wi.fulfilled,(t,n)=>{const{id:o,externalResourceId:r=""}=n.meta.arg,i=`${o}_${r}`,{data:a}=n.payload||{};a&&(t.cardSpecificData={...t.cardSpecificData?t.cardSpecificData:{},[i]:a}),t.specificConnectorApiStatus={...t.specificConnectorApiStatus??{},[i]:Re.IDLE}}).addCase(Wi.rejected,(t,n)=>{const{id:o,externalResourceId:r=""}=n.meta.arg,i=`${o}_${r}`;t.specificConnectorApiStatus={...t.specificConnectorApiStatus??{},[i]:Re.FAILED}})}}),Rl=nr("connectorCardLibrary/fetchAllCard",async({inboxIds:e,channelType:t,conversationId:n})=>{var A;const o=await GU({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}}),Wi=nr("connectorCardLibrary/fetchSpecificCard",async({id:e,email:t,conversationId:n,isRefresh:o,externalResourceId:r})=>{const i=await XU(e,t,n,r),a=i==null?void 0:i.data;if(!a)return o&&no({message:yB,type:Ca}),{data:{}};if(o&&no({message:wB,type:Hi}),a.cardType==="flat"){const A=a.data.flatDisplay.sort((l,c)=>(l==null?void 0:l.priority)-(c==null?void 0:c.priority));a.data.flatDisplay=A}else{const A=a.data.listItems.fields.map(l=>l.sort((c,u)=>(c==null?void 0:c.priority)-(u==null?void 0:u.priority)));a.data.listItems.fields=A}return{data:a}}),AN=xB.reducer,lN=xB.actions,TB="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",cN="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",uN={email:"",baseUrls:{},currentSmIds:[],metaData:void 0,availableFeatures:{},sendTrackingEvent:()=>{},conversationId:void 0},ir=w.createContext(uN),dN="enable_connectors_clicked",gN="learn_more_clicked",fN="connector_card_expand_clicked",pN="connector_card_collapsed_clicked",CN="connector_card_refresh_clicked",EN="connector_cards_loaded",IN="connector_whats_new_card_viewed",BN="connector_whats_new_explore_now_clicked",hN="connector_whats_new_learn_more_clicked",mN="connector_whats_new_dismissed",QN="connector_create_new_object_clicked",bN="connector_link_new_object_clicked",vN="connector_new_object_created_by_form",yN="connector_new_object_linked_by_form",wN="connector_object_unlinked_by_form",xN="connector_link_preview_clicked",TN="connector_create_panel_cancel_clicked",FN="connector_create_panel_back_clicked",FB={createObjectList:[],linkObjectList:[],objectDict:null,formFields:null,previewCardData:null,objectListApiStatus:Re.IDLE,unlinkCardApiStatus:Re.IDLE,linkCardApiStatus:Re.IDLE,previewCardApiStatus:Re.IDLE,optionsMap:null,dropdownOptionsApis:Re.IDLE,dependentFieldsMap:{},createFormApiStatus:Re.IDLE},hg=e=>{let t=localStorage.getItem(Al);return t=t?JSON.parse(t):!1,t==null?void 0:t[e]},kN=e=>!!hg(e),kB=()=>String(m2()),SN=(e,t=kB())=>{const n=hg(e);return((n==null?void 0:n.isExtensionNew)??[]).includes(t)},SB=(e,t=!1)=>{const n=kB(),o=hg(e);if(t||!o){localStorage.removeItem(Al);const r={[e]:{isExtensionNew:[...t?[]:[n]]}};localStorage.setItem(Al,JSON.stringify(r));return}else{const r=(o==null?void 0:o.isExtensionNew)??[],i={[e]:{...o,isExtensionNew:[...new Set([...r,n])]}};localStorage.setItem(Al,JSON.stringify(i));return}},mg=(e={},t)=>(e==null?void 0:e[t])===!0,OB=(e,t)=>e.replace(/:(\w+)/g,(n,o)=>String(t[o])||""),zi="/v1/api",ON=`${zi}/connectors/forms/list`,MN=`${zi}/connectors/cards/:id/unlink`,DN=`${zi}/connectors/forms/:id/link`,PN=`${zi}/connectors/forms/:id/preview`,RN=`${zi}/connectors/forms/:formId/field/:fieldName/data`,LN=`${zi}/connectors/form/:formId`,UN=({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)),Ro({url:`${ON}?${o.toString()}`,method:er.GET})},NN=(e,t,n="email")=>{const o=new URLSearchParams;return o.append("channel_type",n),Ro({url:OB(`${RN}?${o.toString()}`,e),method:er.POST,data:t})},jN=(e,t,n="email")=>{const o=new URLSearchParams;return o.append("channel_type",n),Ro({url:OB(`${LN}?${o.toString()}`,e),method:er.POST,data:t})},VN=(e,t="email",n,o)=>{const r=new URLSearchParams;return r.append("channel_type",t),Ro({url:`${MN.replace(":id",e)}?${r.toString()}`,method:er.POST,data:{externalResourceId:n,conversationId:o}})},HN=(e,t,n="email",o)=>{const r=new URLSearchParams;return r.append("channel_type",n),Ro({url:`${DN.replace(":id",e)}?${r.toString()}`,method:er.POST,data:{externalResourceId:t,conversationId:o}})},WN=(e,t,n="email")=>{const o=new URLSearchParams;return o.append("channel_type",n),Ro({url:`${PN.replace(":id",e)}?${o.toString()}`,method:er.POST,data:{args:t}})},zN="Error in previewing the card",YN="Card linked successfully",GN="Error in linking the card",MB="Please enter a valid URL",XN="Please enter valid ID",KN="Please enter valid input",ZN="URL must start with https://",JN="URL should not end with a slash",qN="Invalid email address",_N="Email must be a string",DB="Invalid date",$N="Date cannot be in the past",ej="Date cannot be in the future",tj="Invalid number",nj="Invalid text",oj="New card created",rj="Card creation failed!!",ij="https://avatars.githubusercontent.com/u/62397590",sj="Create and link objects from different apps to this conversation",aj="Required Field",Aj="Invalid date",PB=/^https:\/\/([a-z0-9-]+(\.[a-z0-9-]+)+)(:[0-9]{1,5})?(\/[^\s/]*)*$/i,lj=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,cj=(e,t)=>t?Object.values(t).filter(o=>e.values[o]&&!e.errors[o]):[],uj=(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]),{...o,[r]:i}},{}):{},RB=(e,t,n)=>{let o=`${t}_${n}`;return Object.keys(e).forEach(r=>{o=`${o}_${r}:${e[r]}`}),o},dj=e=>t=>{if(t&&typeof t=="string"){const n=t.replace(/\/$/,"");return n.startsWith("https://")?t.endsWith("/")?JN:PB.test(n)?!0:e||MB:ZN}return!1},gj=e=>t=>t&&typeof t=="string"?lj.test(t)?!0:e||qN:_N,fj=e=>t=>t==null||t===""?e||aj:!0,pj=e=>(t,n)=>{if(!t||(t==null?void 0:t.toString())===Aj)return DB;if(typeof t=="object"){const o=t,r=new Date;r.setHours(0,0,0,0);const i=n.disablePast,a=n.disableFuture;return i&&o<r?e||$N:a&&o>r?e||ej:!0}return DB},Cj=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||tj},Ej=e=>(t,n)=>{if(typeof t=="string"){const o=n.maxCharacters;return o!==void 0&&t.length>o?e||`Maximum characters allowed are ${o}`:!0}return e||nj},Ij=e=>t=>typeof t=="string"?t.startsWith("https:")?PB.test(t)?!0:e||MB:t.trim().length>0?!0:e||XN:e||KN,Bj=({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=fj(n.validations.isRequired.msg):t[n.name].isRequired=!0),n.type==="date"&&((r=n.validations)!=null&&r.disableFuture||(i=n.validations)!=null&&i.disablePast)){let c=typeof n.validations.disableFuture=="object"?n.validations.disableFuture.msg:"";c=typeof n.validations.disablePast=="object"?n.validations.disablePast.msg:c,t[n.name].validate=pj(c);return}if(n.type==="number"&&((a=n.validations)!=null&&a.range)){t[n.name].validate=Cj();return}if(n.type==="text"&&n.multiline&&n.maxCharacters){t[n.name].validate=Ej();return}if((A=n.validations)!=null&&A.isUrl){const c=typeof n.validations.isUrl=="object"?n.validations.isUrl.msg:"";t[n.name].validate=dj(c)}else if((l=n.validations)!=null&&l.isEmail){const c=typeof n.validations.isEmail=="object"?n.validations.isEmail.msg:"";t[n.name].validate=gj(c)}}),t},hj=h2({name:"writeCapability",initialState:FB,reducers:{resetState:()=>FB},extraReducers:e=>{e.addCase(Ll.pending,t=>{t.objectListApiStatus=Re.LOADING}).addCase(Ll.fulfilled,(t,n)=>{const{createObjectList:o,linkObjectList:r,formFields:i,objectDict:a,dependentFieldsMap:A}=n.payload;t.objectListApiStatus=Re.IDLE,t.createObjectList=o,t.linkObjectList=r,t.formFields=i,t.objectDict=a,t.dependentFieldsMap=A}).addCase(Ll.rejected,t=>{t.objectListApiStatus=Re.FAILED}).addCase(Ul.pending,t=>{t.dropdownOptionsApis=Re.LOADING}).addCase(Ul.fulfilled,(t,n)=>{const o=t.optionsMap||{},{optionsList:r,hasMore:i,currentPage:a,key:A}=n.payload;t.dropdownOptionsApis=Re.IDLE,t.optionsMap={...o,[A]:{options:r,hasMore:i,currentPage:a}}}).addCase(Ul.rejected,t=>{t.dropdownOptionsApis=Re.FAILED}).addCase(Nl.pending,t=>{t.createFormApiStatus=Re.LOADING}).addCase(Nl.fulfilled,t=>{t.createFormApiStatus=Re.IDLE}).addCase(Nl.rejected,t=>{t.createFormApiStatus=Re.FAILED}).addCase(Vl.pending,t=>{t.linkCardApiStatus=Re.LOADING}).addCase(Vl.fulfilled,t=>{t.linkCardApiStatus=Re.IDLE}).addCase(Vl.rejected,t=>{t.linkCardApiStatus=Re.FAILED}).addCase(jl.pending,t=>{t.unlinkCardApiStatus=Re.LOADING}).addCase(jl.fulfilled,t=>{t.unlinkCardApiStatus=Re.IDLE}).addCase(jl.rejected,t=>{t.unlinkCardApiStatus=Re.FAILED}).addCase(Ea.pending,t=>{t.previewCardApiStatus=Re.LOADING}).addCase(Ea.fulfilled,(t,n)=>{const{data:o}=n.payload;o&&(t.previewCardData=o),t.previewCardApiStatus=Re.IDLE}).addCase(Ea.rejected,t=>{t.previewCardApiStatus=Re.FAILED})}}),Ll=nr("writeCapability/fetchObjectList",async e=>{const{inboxIds:t,channelType:n,conversationId:o}=e,r=await UN({inboxIds:t,channelType:n,conversationId:o});if(!r||!r.data||!("formsList"in r.data)||!Array.isArray(r.data.formsList))return{createObjectList:[],linkObjectList:[],formFields:null,objectDict:null,dependentFieldsMap:{}};const i=r.data.formsList,a={},A=[],l=[],c={},u={};return i==null||i.forEach(g=>{var B,f;const C={...g};"fieldList"in C&&delete C.fieldList,u[g.id]=C,a[g.id]||(a[g.id]={}),c[g.id]||(c[g.id]=[]),g.type==="create"?A.push({value:g.id,label:g.name}):g.type==="link"&&l.push({value:g.id,label:g.name}),(B=g.fieldList)==null||B.sort((p,d)=>p.priority-d.priority),(f=g.fieldList)==null||f.forEach(p=>{var E,m,h,b,I,Q,y,T,k,S,O;let d={};switch(p.type){case"select":case"multi-select":{d={...p,defaultOptions:!!p.interfaceDetails,isInfiniteScrollable:((m=(E=p.interfaceDetails)==null?void 0:E.pagination)==null?void 0:m.enabled)||!1,loadOptionsOnFocus:Object.keys(((h=p.interfaceDetails)==null?void 0:h.args)||{}).length>0,isMultiSelect:p.type==="multi-select",type:g.interfaceDetails?"async-select":"select",isClearable:!0};break}case"date":{d={...p,type:"date",disablePast:!!((b=p.validations)!=null&&b.disablePast)||!1,disableFuture:!!((I=p.validations)!=null&&I.disableFuture)||!1};break}case"number":{d={...p,type:"number",min:((y=(Q=p.validations)==null?void 0:Q.range)==null?void 0:y.min)||Number.MIN_SAFE_INTEGER,max:((k=(T=p.validations)==null?void 0:T.range)==null?void 0:k.max)||Number.MAX_SAFE_INTEGER};break}case"multiline":{d={...p,type:"text",maxRows:((S=p.validations)==null?void 0:S.maxRows)||5,maxCharacters:((O=p.validations)==null?void 0:O.maxCharacters)||250,rows:5,multiline:!0};break}default:d={...p}}"value"in d&&(d.defaultValue=d.value,delete d.value),c[g.id]=[...c[g.id],d],p.interfaceDetails&&p.interfaceDetails.args&&Object.values(p.interfaceDetails.args).forEach(M=>{a[g.id][M]?a[g.id][M]=[...a[g.id][M],p.name]:a[g.id][M]=[p.name]})})}),{createObjectList:A,linkObjectList:l,formFields:c,objectDict:u,dependentFieldsMap:a}}),Ul=nr("writeCapability/fetchDropDownOptions",async(e,{getState:t,rejectWithValue:n})=>{var h;const{fieldName:o,formId:r,fieldConfig:i,callback:a,args:A={},interfaceId:l="",pagination:c={enabled:!1}}=e,u=RB(A||{},r,o),{write:g}=t();let C=!1;i.meta&&"showAvatar"in i.meta&&typeof i.meta.showAvatar=="boolean"&&(C=i.meta.showAvatar);const{options:B=[],hasMore:f=!0,currentPage:p=0}=((h=g.optionsMap)==null?void 0:h[u])||{},{enabled:d,limit:E}=c,m=E||10;try{let b;const I=d?{pageNumber:p+1,limit:m}:null;if(f?b=await NN({fieldName:o,formId:r},{pagination:I||{},args:A,interfaceId:l}):a==null||a(B),!b||!b.data||!("data"in b.data)||!Array.isArray(b.data.data))return{optionsList:[...B],fieldName:"",formId:"",hasMore:!1,currentPage:p,key:u};const y=b.data.data.map(S=>C?{...S,avatarUrl:S.avatarUrl||ij}:{label:S.label,value:S.value}),T=d?y.length>=m:!1,k=[...B,...y];return a==null||a(k),{optionsList:k,fieldName:o,formId:r,currentPage:p+1,hasMore:T,key:u}}catch(b){return a==null||a(B),n(b)}},{condition:(e,{getState:t})=>{var c,u;if(e.isScrollToBottomEvent)return!0;const{fieldName:n,formId:o,callback:r,args:i}=e,a=RB(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}}),Nl=nr("writeCapability/createForm",async(e,{rejectWithValue:t})=>{const{formId:n,successCallback:o,failureCallback:r,args:i={},interfaceId:a,conversationId:A}=e;try{await jN({formId:n},{args:i,interfaceId:a,conversationId:A}),o==null||o(),no({message:oj,type:Hi})}catch(l){return r==null||r(l),no({message:rj,type:Ca}),t(l)}}),jl=nr("writeCapability/unlinkCard",async({id:e,channelType:t,externalResourceId:n,conversationId:o})=>{await VN(e,t,n,o)}),Vl=nr("writeCapability/linkCard",async({id:e,externalResourceId:t,channelType:n,conversationId:o})=>{await HN(e,t,n,o)}),Ea=nr("writeCapability/previewCard",async({id:e,args:t,channelType:n,isRefresh:o})=>{const r=await WN(e,t,n),i=r==null?void 0:r.data;if(!i)return o&&no({message:yB,type:Ca}),{data:null};if(o&&no({message:wB,type:Hi}),i.cardType==="flat"){const a=i.data.flatDisplay.sort((A,l)=>(A==null?void 0:A.priority)-(l==null?void 0:l.priority));i.data.flatDisplay=a}else{const a=i.data.listItems.fields.map(A=>A.sort((l,c)=>(l==null?void 0:l.priority)-(c==null?void 0:c.priority)));i.data.listItems.fields=a}return{data:i}}),mj=hj.reducer,LB=e=>e.write.createObjectList,UB=e=>e.write.linkObjectList,Qj=e=>e.write.objectDict,bj=e=>e.write.formFields,vj=e=>e.write.previewCardData,yj=e=>e.write.previewCardApiStatus,wj=e=>e.write.linkCardApiStatus,xj=e=>e.write.unlinkCardApiStatus,Tj=e=>e.write.dependentFieldsMap,Fj=e=>e.write.createFormApiStatus,kj=({showUnlinkModal:e,setShowUnlinkModal:t,cardId:n,onCardUnlinking:o,externalResourceId:r,conversationId:i,objectType:a})=>{const A=Di(),{sendTrackingEvent:l}=w.useContext(ir),u=Zt(xj)===Re.LOADING,g=()=>{i&&r&&A(jl({id:n,conversationId:i,externalResourceId:r})).unwrap().then(()=>{l(wN,{object_type:a,conversation_id:i}),t(!1),o(),no({message:sN,type:Hi})}).catch(()=>{no({message:aN,type:Hi})})};return v.jsx(RI,{shown:e,setShown:t,showCloseButton:!0,children:v.jsxs(qe,{width:"400px",padding:"20px",gap:"8px",children:[v.jsx(Je,{variant:"h2",children:ID}),v.jsx(Je,{variant:"body2",children:BD}),v.jsxs(qe,{direction:"row",gap:"8px",marginTop:"20px",justifyContent:"flex-end",children:[v.jsx(Kt,{variant:"text",onClick:()=>t(!1),children:Ld}),v.jsx(Kt,{disabled:u,color:"error",onClick:g,children:wI})]})]})})},Sj=e=>{const{card:t,specificCardData:n,email:o,specificConnectorApiStatus:r,defaultOpenState:i=!1,onCardUnlinking:a}=e,{availableFeatures:A,sendTrackingEvent:l,conversationId:c}=w.useContext(ir),[u,g]=w.useState(!1),[C,B]=w.useState(!1),[f,p]=w.useState(!1),{id:d,title:E,externalResourceId:m="",objectType:h=""}=t,b=`${d}_${m}`,I=(r==null?void 0:r[b])===Re.LOADING,Q=(mg(A,LI)&&(t==null?void 0:t.externalResourceId))??!1,y=Di();w.useEffect(()=>{g(!!i)},[i]),w.useEffect(()=>{o&&d&&c&&i&&y(Wi({id:d,email:o,conversationId:c,externalResourceId:m}))},[i,y,d,o,c,m]);const T=(O,M)=>{var D;O==null||O.stopPropagation(),y(Wi({id:M,email:o,conversationId:c,isRefresh:!0,externalResourceId:m})).unwrap().then(()=>{l(CN,{id:M})});const R=O.target.tagName==="BUTTON"?(D=O.target)==null?void 0:D.firstChild:O.target;R.className&&(R.className=""),setTimeout(()=>R.className="selected",1)},k=(O,M)=>{O.stopPropagation(),!(n!=null&&n[b])&&!I&&y(Wi({id:M,email:o,conversationId:c,externalResourceId:m})),l(u?pN:fN,{id:M}),g(R=>!R)},S=O=>{O.stopPropagation();const M=O.currentTarget.offsetWidth<O.currentTarget.scrollWidth;B(!!M)};return v.jsxs(mD,{"data-testid":`test_${d}`,children:[v.jsxs(QD,{className:u?"hiver-card-expanded":"",children:[v.jsx(_t,{title:C?E:"",placement:"bottom",children:v.jsx(bD,{variant:"h4",onMouseOver:O=>S(O),onMouseLeave:O=>S(O),children:E})}),v.jsxs(OI,{children:[Q?v.jsx(_t,{title:wI,placement:"bottom",children:v.jsx(Pi,{onClick:()=>p(!0),children:v.jsx("img",{src:cN})})}):null,u?v.jsx(_t,{title:vI,placement:"bottom",children:v.jsx(Pi,{"data-testid":I?"loading":"reloadIcon",onClick:O=>T(O,d),className:I?"disabled":"",children:v.jsx("img",{src:TB})})}):null,v.jsx(_t,{title:u?yI:Rd,placement:"bottom",children:v.jsx(Pi,{onClick:O=>k(O,d),children:v.jsx(Ud,{className:u?"":"hiver-up"})})})]})]}),v.jsx(NI,{id:b,cardTitle:t.title,specificCardData:n,specificConnectorApiStatus:r,isOpen:u}),v.jsx(kj,{showUnlinkModal:f,setShowUnlinkModal:p,cardId:d,onCardUnlinking:a,conversationId:c,externalResourceId:m,objectType:h})]})},Oj="Bring your favourite tools into Hiver",Mj="Plugin image",Dj="Integrate tools like Salesforce, HubSpot, and Shopify to boost productivity",Pj="Enable Connectors",NB="app/custom-connectors",Rj="Learn more",Lj="https://help.hiverhq.com/custom-connectors/hiver-s-custom-connectors",Uj="Contact your admin to enable this",Nj=V(qe)`
|
|
2336
|
+
`,rN=(e,{closeToast:t})=>v.jsx(oN,{children:v.jsx("img",{src:$U,onClick:t})}),Pl=({message:e})=>v.jsxs(eN,{children:[v.jsx(nN,{}),v.jsx(tN,{children:e})]});function no(e){const{message:t,type:n,autoClose:o}=e,r={closeButton:v.jsx(rN,{}),autoClose:o??5e3,pauseOnHover:!0,position:"bottom-left",rtl:!1,draggable:!0,closeOnClick:!0,hideProgressBar:!0};let i;switch(n){case"success":{i=ot.success(v.jsx(Pl,{message:t}),{...r,icon:!1});break}case"error":{i=ot.error(v.jsx(Pl,{message:t}),{...r,icon:!1});break}case"info-dark":{i=ot.info(v.jsx(Pl,{message:t}),{...r,icon:!1,className:"toast_dark"});break}default:{i=ot.info(v.jsx(Pl,{message:t}),{...r,icon:!1});break}}return setTimeout(()=>{iN(i)},o&&!isNaN(o)?Number(o):5e3),i}function iN(e){ot.dismiss(e)}const Hi="success",Ca="error",yB="Some error occured. Please contact support@hiverhq.com",wB="Card refreshed successfully",sN="Card unlinked successfully",aN="Failed to unlink the card",xB=h2({name:"connectorCardLibrary",initialState:fR,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(Rl.pending,t=>{t.connectorApiStatus=Re.LOADING}).addCase(Rl.fulfilled,(t,n)=>{t.connectorApiStatus=Re.IDLE,t.connectorCards=n.payload.cards,t.connectorsEnabled=n.payload.connectorsEnabled}).addCase(Rl.rejected,t=>{t.connectorApiStatus=Re.FAILED}).addCase(Wi.pending,(t,n)=>{const{id:o,externalResourceId:r=""}=n.meta.arg,i=`${o}_${r}`;t.specificConnectorApiStatus={...t.specificConnectorApiStatus??{},[i]:Re.LOADING}}).addCase(Wi.fulfilled,(t,n)=>{const{id:o,externalResourceId:r=""}=n.meta.arg,i=`${o}_${r}`,{data:a}=n.payload||{};a&&(t.cardSpecificData={...t.cardSpecificData?t.cardSpecificData:{},[i]:a}),t.specificConnectorApiStatus={...t.specificConnectorApiStatus??{},[i]:Re.IDLE}}).addCase(Wi.rejected,(t,n)=>{const{id:o,externalResourceId:r=""}=n.meta.arg,i=`${o}_${r}`;t.specificConnectorApiStatus={...t.specificConnectorApiStatus??{},[i]:Re.FAILED}})}}),Rl=nr("connectorCardLibrary/fetchAllCard",async({inboxIds:e,channelType:t,conversationId:n})=>{var A;const o=await GU({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}}),Wi=nr("connectorCardLibrary/fetchSpecificCard",async({id:e,email:t,conversationId:n,isRefresh:o,externalResourceId:r})=>{const i=await XU(e,t,n,r),a=i==null?void 0:i.data;if(!a)return o&&no({message:yB,type:Ca}),{data:{}};if(o&&no({message:wB,type:Hi}),a.cardType==="flat"){const A=a.data.flatDisplay.sort((l,c)=>(l==null?void 0:l.priority)-(c==null?void 0:c.priority));a.data.flatDisplay=A}else{const A=a.data.listItems.fields.map(l=>l.sort((c,u)=>(c==null?void 0:c.priority)-(u==null?void 0:u.priority)));a.data.listItems.fields=A}return{data:a}}),AN=xB.reducer,lN=xB.actions,TB="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",cN="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",uN={email:"",baseUrls:{},currentSmIds:[],metaData:void 0,availableFeatures:{},sendTrackingEvent:()=>{},conversationId:void 0},ir=w.createContext(uN),dN="enable_connectors_clicked",gN="learn_more_clicked",fN="connector_card_expand_clicked",pN="connector_card_collapsed_clicked",CN="connector_card_refresh_clicked",EN="connector_cards_loaded",IN="connector_whats_new_card_viewed",BN="connector_whats_new_explore_now_clicked",hN="connector_whats_new_learn_more_clicked",mN="connector_whats_new_dismissed",QN="connector_create_new_object_clicked",bN="connector_link_new_object_clicked",vN="connector_new_object_created_by_form",yN="connector_new_object_linked_by_form",wN="connector_object_unlinked_by_form",xN="connector_link_preview_clicked",TN="connector_create_panel_cancel_clicked",FN="connector_create_panel_back_clicked",FB={createObjectList:[],linkObjectList:[],objectDict:null,formFields:null,previewCardData:null,objectListApiStatus:Re.IDLE,unlinkCardApiStatus:Re.IDLE,linkCardApiStatus:Re.IDLE,previewCardApiStatus:Re.IDLE,optionsMap:null,dropdownOptionsApis:Re.IDLE,dependentFieldsMap:{},createFormApiStatus:Re.IDLE},hg=e=>{let t=localStorage.getItem(Al);return t=t?JSON.parse(t):!1,t==null?void 0:t[e]},kN=e=>!!hg(e),kB=()=>String(m2()),SN=(e,t=kB())=>{const n=hg(e);return((n==null?void 0:n.isExtensionNew)??[]).includes(t)},SB=(e,t=!1)=>{const n=kB(),o=hg(e);if(t||!o){localStorage.removeItem(Al);const r={[e]:{isExtensionNew:[...t?[]:[n]]}};localStorage.setItem(Al,JSON.stringify(r));return}else{const r=(o==null?void 0:o.isExtensionNew)??[],i={[e]:{...o,isExtensionNew:[...new Set([...r,n])]}};localStorage.setItem(Al,JSON.stringify(i));return}},mg=(e={},t)=>(e==null?void 0:e[t])===!0,OB=(e,t)=>e.replace(/:(\w+)/g,(n,o)=>String(t[o])||""),zi="/v1/api",ON=`${zi}/connectors/forms/list`,MN=`${zi}/connectors/cards/:id/unlink`,DN=`${zi}/connectors/forms/:id/link`,PN=`${zi}/connectors/forms/:id/preview`,RN=`${zi}/connectors/forms/:formId/field/:fieldName/data`,LN=`${zi}/connectors/form/:formId`,UN=({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)),Ro({url:`${ON}?${o.toString()}`,method:er.GET})},NN=(e,t,n="email")=>{const o=new URLSearchParams;return o.append("channel_type",n),Ro({url:OB(`${RN}?${o.toString()}`,e),method:er.POST,data:t})},jN=(e,t,n="email")=>{const o=new URLSearchParams;return o.append("channel_type",n),Ro({url:OB(`${LN}?${o.toString()}`,e),method:er.POST,data:t})},VN=(e,t="email",n,o)=>{const r=new URLSearchParams;return r.append("channel_type",t),Ro({url:`${MN.replace(":id",e)}?${r.toString()}`,method:er.POST,data:{externalResourceId:n,conversationId:o}})},HN=(e,t,n="email",o)=>{const r=new URLSearchParams;return r.append("channel_type",n),Ro({url:`${DN.replace(":id",e)}?${r.toString()}`,method:er.POST,data:{externalResourceId:t,conversationId:o}})},WN=(e,t,n="email")=>{const o=new URLSearchParams;return o.append("channel_type",n),Ro({url:`${PN.replace(":id",e)}?${o.toString()}`,method:er.POST,data:{args:t}})},zN="Error in previewing the card",YN="Card linked successfully",GN="Error in linking the card",MB="Please enter a valid URL",XN="Please enter valid ID",KN="Please enter valid input",ZN="URL must start with https://",JN="URL should not end with a slash",qN="Invalid email address",_N="Email must be a string",DB="Invalid date",$N="Date cannot be in the past",ej="Date cannot be in the future",tj="Invalid number",nj="Invalid text",oj="New card created",rj="Card creation failed!!",ij="https://avatars.githubusercontent.com/u/62397590",sj="Create and link objects from different apps to this conversation",aj="Required Field",Aj="Invalid date",PB=/^https:\/\/([a-z0-9-]+(\.[a-z0-9-]+)+)(:[0-9]{1,5})?(\/[^\s/]*)*$/i,lj=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,cj=(e,t)=>t?Object.values(t).filter(o=>e.values[o]&&!e.errors[o]):[],uj=(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]),{...o,[r]:i}},{}):{},RB=(e,t,n)=>{let o=`${t}_${n}`;return Object.keys(e).forEach(r=>{o=`${o}_${r}:${e[r]}`}),o},dj=e=>t=>{if(t&&typeof t=="string"){const n=t.replace(/\/$/,"");return n.startsWith("https://")?t.endsWith("/")?JN:PB.test(n)?!0:e||MB:ZN}return!1},gj=e=>t=>t&&typeof t=="string"?lj.test(t)?!0:e||qN:_N,fj=e=>t=>t==null||t===""?e||aj:!0,pj=e=>(t,n)=>{if(!t||(t==null?void 0:t.toString())===Aj)return DB;if(typeof t=="object"){const o=t,r=new Date;r.setHours(0,0,0,0);const i=n.disablePast,a=n.disableFuture;return i&&o<r?e||$N:a&&o>r?e||ej:!0}return DB},Cj=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||tj},Ej=e=>(t,n)=>{if(typeof t=="string"){const o=n.maxCharacters;return o!==void 0&&t.length>o?e||`Maximum characters allowed are ${o}`:!0}return e||nj},Ij=e=>t=>typeof t=="string"?t.startsWith("https:")?PB.test(t)?!0:e||MB:t.trim().length>0?!0:e||XN:e||KN,Bj=({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=fj(n.validations.isRequired.msg):t[n.name].isRequired=!0),n.type==="date"&&((r=n.validations)!=null&&r.disableFuture||(i=n.validations)!=null&&i.disablePast)){let c=typeof n.validations.disableFuture=="object"?n.validations.disableFuture.msg:"";c=typeof n.validations.disablePast=="object"?n.validations.disablePast.msg:c,t[n.name].validate=pj(c);return}if(n.type==="number"&&((a=n.validations)!=null&&a.range)){t[n.name].validate=Cj();return}if(n.type==="text"&&n.multiline&&n.maxCharacters){t[n.name].validate=Ej();return}if((A=n.validations)!=null&&A.isUrl){const c=typeof n.validations.isUrl=="object"?n.validations.isUrl.msg:"";t[n.name].validate=dj(c)}else if((l=n.validations)!=null&&l.isEmail){const c=typeof n.validations.isEmail=="object"?n.validations.isEmail.msg:"";t[n.name].validate=gj(c)}}),t},hj=h2({name:"writeCapability",initialState:FB,reducers:{resetState:()=>FB},extraReducers:e=>{e.addCase(Ll.pending,t=>{t.objectListApiStatus=Re.LOADING}).addCase(Ll.fulfilled,(t,n)=>{const{createObjectList:o,linkObjectList:r,formFields:i,objectDict:a,dependentFieldsMap:A}=n.payload;t.objectListApiStatus=Re.IDLE,t.createObjectList=o,t.linkObjectList=r,t.formFields=i,t.objectDict=a,t.dependentFieldsMap=A}).addCase(Ll.rejected,t=>{t.objectListApiStatus=Re.FAILED}).addCase(Ul.pending,t=>{t.dropdownOptionsApis=Re.LOADING}).addCase(Ul.fulfilled,(t,n)=>{const o=t.optionsMap||{},{optionsList:r,hasMore:i,currentPage:a,key:A}=n.payload;t.dropdownOptionsApis=Re.IDLE,t.optionsMap={...o,[A]:{options:r,hasMore:i,currentPage:a}}}).addCase(Ul.rejected,t=>{t.dropdownOptionsApis=Re.FAILED}).addCase(Nl.pending,t=>{t.createFormApiStatus=Re.LOADING}).addCase(Nl.fulfilled,t=>{t.createFormApiStatus=Re.IDLE}).addCase(Nl.rejected,t=>{t.createFormApiStatus=Re.FAILED}).addCase(Vl.pending,t=>{t.linkCardApiStatus=Re.LOADING}).addCase(Vl.fulfilled,t=>{t.linkCardApiStatus=Re.IDLE}).addCase(Vl.rejected,t=>{t.linkCardApiStatus=Re.FAILED}).addCase(jl.pending,t=>{t.unlinkCardApiStatus=Re.LOADING}).addCase(jl.fulfilled,t=>{t.unlinkCardApiStatus=Re.IDLE}).addCase(jl.rejected,t=>{t.unlinkCardApiStatus=Re.FAILED}).addCase(Ea.pending,t=>{t.previewCardApiStatus=Re.LOADING}).addCase(Ea.fulfilled,(t,n)=>{const{data:o}=n.payload;o&&(t.previewCardData=o),t.previewCardApiStatus=Re.IDLE}).addCase(Ea.rejected,t=>{t.previewCardApiStatus=Re.FAILED})}}),Ll=nr("writeCapability/fetchObjectList",async e=>{const{inboxIds:t,channelType:n,conversationId:o}=e,r=await UN({inboxIds:t,channelType:n,conversationId:o});if(!r||!r.data||!("formsList"in r.data)||!Array.isArray(r.data.formsList))return{createObjectList:[],linkObjectList:[],formFields:null,objectDict:null,dependentFieldsMap:{}};const i=r.data.formsList,a={},A=[],l=[],c={},u={};return i==null||i.forEach(g=>{var B,f;const C={...g};"fieldList"in C&&delete C.fieldList,u[g.id]=C,a[g.id]||(a[g.id]={}),c[g.id]||(c[g.id]=[]),g.type==="create"?A.push({value:g.id,label:g.name}):g.type==="link"&&l.push({value:g.id,label:g.name}),(B=g.fieldList)==null||B.sort((p,d)=>p.priority-d.priority),(f=g.fieldList)==null||f.forEach(p=>{var E,m,h,b,I,Q,y,T,k,S,O;let d={};switch(p.type){case"select":case"multi-select":{d={...p,defaultOptions:!!p.interfaceDetails,isInfiniteScrollable:((m=(E=p.interfaceDetails)==null?void 0:E.pagination)==null?void 0:m.enabled)||!1,loadOptionsOnFocus:Object.keys(((h=p.interfaceDetails)==null?void 0:h.args)||{}).length>0,isMultiSelect:p.type==="multi-select",type:g.interfaceDetails?"async-select":"select",isClearable:!0};break}case"date":{d={...p,type:"date",disablePast:!!((b=p.validations)!=null&&b.disablePast)||!1,disableFuture:!!((I=p.validations)!=null&&I.disableFuture)||!1};break}case"number":{d={...p,type:"number",min:((y=(Q=p.validations)==null?void 0:Q.range)==null?void 0:y.min)||Number.MIN_SAFE_INTEGER,max:((k=(T=p.validations)==null?void 0:T.range)==null?void 0:k.max)||Number.MAX_SAFE_INTEGER};break}case"multiline":{d={...p,type:"text",maxRows:((S=p.validations)==null?void 0:S.maxRows)||5,maxCharacters:((O=p.validations)==null?void 0:O.maxCharacters)||250,rows:5,multiline:!0};break}default:d={...p}}"value"in d&&(d.defaultValue=d.value,delete d.value),c[g.id]=[...c[g.id],d],p.interfaceDetails&&p.interfaceDetails.args&&Object.values(p.interfaceDetails.args).forEach(M=>{a[g.id][M]?a[g.id][M]=[...a[g.id][M],p.name]:a[g.id][M]=[p.name]})})}),{createObjectList:A,linkObjectList:l,formFields:c,objectDict:u,dependentFieldsMap:a}}),Ul=nr("writeCapability/fetchDropDownOptions",async(e,{getState:t,rejectWithValue:n})=>{var h;const{fieldName:o,formId:r,fieldConfig:i,callback:a,args:A={},interfaceId:l="",pagination:c={enabled:!1}}=e,u=RB(A||{},r,o),{write:g}=t();let C=!1;i.meta&&"showAvatar"in i.meta&&typeof i.meta.showAvatar=="boolean"&&(C=i.meta.showAvatar);const{options:B=[],hasMore:f=!0,currentPage:p=0}=((h=g.optionsMap)==null?void 0:h[u])||{},{enabled:d,limit:E}=c,m=E||10;try{let b;const I=d?{pageNumber:p+1,limit:m}:null;if(f?b=await NN({fieldName:o,formId:r},{pagination:I||{},args:A,interfaceId:l}):a==null||a(B),!b||!b.data||!("data"in b.data)||!Array.isArray(b.data.data))return{optionsList:[...B],fieldName:"",formId:"",hasMore:!1,currentPage:p,key:u};const y=b.data.data.map(S=>C?{...S,avatarUrl:S.avatarUrl||ij}:{label:S.label,value:S.value}),T=d?y.length>=m:!1,k=[...B,...y];return a==null||a(k),{optionsList:k,fieldName:o,formId:r,currentPage:p+1,hasMore:T,key:u}}catch(b){return a==null||a(B),n(b)}},{condition:(e,{getState:t})=>{var c,u;if(e.isScrollToBottomEvent)return!0;const{fieldName:n,formId:o,callback:r,args:i}=e,a=RB(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}}),Nl=nr("writeCapability/createForm",async(e,{rejectWithValue:t})=>{const{formId:n,successCallback:o,failureCallback:r,args:i={},interfaceId:a,conversationId:A}=e;try{await jN({formId:n},{args:i,interfaceId:a,conversationId:A}),o==null||o(),no({message:oj,type:Hi})}catch(l){return r==null||r(l),no({message:rj,type:Ca}),t(l)}}),jl=nr("writeCapability/unlinkCard",async({id:e,channelType:t,externalResourceId:n,conversationId:o})=>{await VN(e,t,n,o)}),Vl=nr("writeCapability/linkCard",async({id:e,externalResourceId:t,channelType:n,conversationId:o})=>{await HN(e,t,n,o)}),Ea=nr("writeCapability/previewCard",async({id:e,args:t,channelType:n,isRefresh:o})=>{const r=await WN(e,t,n),i=r==null?void 0:r.data;if(!i)return o&&no({message:yB,type:Ca}),{data:null};if(o&&no({message:wB,type:Hi}),i.cardType==="flat"){const a=i.data.flatDisplay.sort((A,l)=>(A==null?void 0:A.priority)-(l==null?void 0:l.priority));i.data.flatDisplay=a}else{const a=i.data.listItems.fields.map(A=>A.sort((l,c)=>(l==null?void 0:l.priority)-(c==null?void 0:c.priority)));i.data.listItems.fields=a}return{data:i}}),mj=hj.reducer,LB=e=>e.write.createObjectList,UB=e=>e.write.linkObjectList,Qj=e=>e.write.objectDict,bj=e=>e.write.formFields,vj=e=>e.write.previewCardData,yj=e=>e.write.previewCardApiStatus,wj=e=>e.write.linkCardApiStatus,xj=e=>e.write.unlinkCardApiStatus,Tj=e=>e.write.dependentFieldsMap,Fj=e=>e.write.createFormApiStatus,kj=({showUnlinkModal:e,setShowUnlinkModal:t,cardId:n,onCardUnlinking:o,externalResourceId:r,conversationId:i,connectorName:a})=>{const A=Di(),{sendTrackingEvent:l}=w.useContext(ir),u=Zt(xj)===Re.LOADING,g=()=>{i&&r&&A(jl({id:n,conversationId:i,externalResourceId:r})).unwrap().then(()=>{l(wN,{connector_name:a,conversation_id:i}),t(!1),o(),no({message:sN,type:Hi})}).catch(()=>{no({message:aN,type:Hi})})};return v.jsx(RI,{shown:e,setShown:t,showCloseButton:!0,children:v.jsxs(qe,{width:"400px",padding:"20px",gap:"8px",children:[v.jsx(Je,{variant:"h2",children:ID}),v.jsx(Je,{variant:"body2",children:BD}),v.jsxs(qe,{direction:"row",gap:"8px",marginTop:"20px",justifyContent:"flex-end",children:[v.jsx(Kt,{variant:"text",onClick:()=>t(!1),children:Ld}),v.jsx(Kt,{disabled:u,color:"error",onClick:g,children:wI})]})]})})},Sj=e=>{const{card:t,specificCardData:n,email:o,specificConnectorApiStatus:r,defaultOpenState:i=!1,onCardUnlinking:a}=e,{availableFeatures:A,sendTrackingEvent:l,conversationId:c}=w.useContext(ir),[u,g]=w.useState(!1),[C,B]=w.useState(!1),[f,p]=w.useState(!1),{id:d,title:E,externalResourceId:m="",connectorName:h=""}=t,b=`${d}_${m}`,I=(r==null?void 0:r[b])===Re.LOADING,Q=(mg(A,LI)&&(t==null?void 0:t.externalResourceId))??!1,y=Di();w.useEffect(()=>{g(!!i)},[i]),w.useEffect(()=>{o&&d&&c&&i&&y(Wi({id:d,email:o,conversationId:c,externalResourceId:m}))},[i,y,d,o,c,m]);const T=(O,M)=>{var D;O==null||O.stopPropagation(),y(Wi({id:M,email:o,conversationId:c,isRefresh:!0,externalResourceId:m})).unwrap().then(()=>{l(CN,{id:M})});const R=O.target.tagName==="BUTTON"?(D=O.target)==null?void 0:D.firstChild:O.target;R.className&&(R.className=""),setTimeout(()=>R.className="selected",1)},k=(O,M)=>{O.stopPropagation(),!(n!=null&&n[b])&&!I&&y(Wi({id:M,email:o,conversationId:c,externalResourceId:m})),l(u?pN:fN,{id:M}),g(R=>!R)},S=O=>{O.stopPropagation();const M=O.currentTarget.offsetWidth<O.currentTarget.scrollWidth;B(!!M)};return v.jsxs(mD,{"data-testid":`test_${d}`,children:[v.jsxs(QD,{className:u?"hiver-card-expanded":"",children:[v.jsx(_t,{title:C?E:"",placement:"bottom",children:v.jsx(bD,{variant:"h4",onMouseOver:O=>S(O),onMouseLeave:O=>S(O),children:E})}),v.jsxs(OI,{children:[Q?v.jsx(_t,{title:wI,placement:"bottom",children:v.jsx(Pi,{onClick:()=>p(!0),children:v.jsx("img",{src:cN})})}):null,u?v.jsx(_t,{title:vI,placement:"bottom",children:v.jsx(Pi,{"data-testid":I?"loading":"reloadIcon",onClick:O=>T(O,d),className:I?"disabled":"",children:v.jsx("img",{src:TB})})}):null,v.jsx(_t,{title:u?yI:Rd,placement:"bottom",children:v.jsx(Pi,{onClick:O=>k(O,d),children:v.jsx(Ud,{className:u?"":"hiver-up"})})})]})]}),v.jsx(NI,{id:b,cardTitle:t.title,specificCardData:n,specificConnectorApiStatus:r,isOpen:u}),v.jsx(kj,{showUnlinkModal:f,setShowUnlinkModal:p,cardId:d,onCardUnlinking:a,conversationId:c,externalResourceId:m,connectorName:h})]})},Oj="Bring your favourite tools into Hiver",Mj="Plugin image",Dj="Integrate tools like Salesforce, HubSpot, and Shopify to boost productivity",Pj="Enable Connectors",NB="app/custom-connectors",Rj="Learn more",Lj="https://help.hiverhq.com/custom-connectors/hiver-s-custom-connectors",Uj="Contact your admin to enable this",Nj=V(qe)`
|
|
2337
2337
|
width: 250px;
|
|
2338
2338
|
height: 97px;
|
|
2339
2339
|
background-color: ${Ge.palette.purple.light};
|
package/package.json
CHANGED
package/types/cards.d.ts
CHANGED
package/types/cards.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cards.d.ts","sourceRoot":"","sources":["../../src/types/cards.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,gBAAgB,CAAC;AAEnD,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,
|
|
1
|
+
{"version":3,"file":"cards.d.ts","sourceRoot":"","sources":["../../src/types/cards.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,gBAAgB,CAAC;AAEnD,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC5B,SAAS,GACT;IACE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC"}
|