UNPKG

@thirdrocktechno/directus-extension-directusgpt

Version:

A DirectusGPT plugin for integrating AI-powered custom ChatBot with your Directus content.

1 lines 50.6 kB
import{openBlock as e,createElementBlock as t,createElementVNode as n,useCssVars as i,resolveComponent as o,createBlock as a,withCtx as s,normalizeClass as l,withDirectives as r,createCommentVNode as d,Fragment as p,renderList as c,createVNode as g,createTextVNode as u,toDisplayString as h,vModelCheckbox as b,vShow as m,vModelDynamic as x,vModelText as v,pushScopeId as f,popScopeId as w}from"vue";const y="gpt-user-conversations",A="gpt_settings",I={headerBackground:"#FFFFFF",headerText:"#000000",agentMessageBackground:"#E2E8F0",agentText:"#000000",visitorMessageBackground:"#2563EB",visitorText:"#FFFFFF"},k="widget-bottom-right",T=[{label:"Top Left",value:"widget-top-left"},{label:"Top Right",value:"widget-top-right"},{label:"Middle Left",value:"widget-middle-left"},{label:"Middle Right",value:"widget-middle-right"},{label:"Bottom Left",value:"widget-bottom-left"},{label:"Bottom Right",value:"widget-bottom-right"}];var M="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEcAAABHCAYAAABVsFofAAAABmJLR0QA/wD/AP+gvaeTAAAFAElEQVR4nO2aW2hdRRSGvxOTVGOM2kZrVGqbNtYqSlSkRkVF0gfF+hAQWi8oXvCOtFStIOKTCn0xIlioig/W4gURX2wFkRIqiJAYq2gUSmyrSW21t9iqufmw5pjZa+999j77zLkY54MFmZN/Zq29zsye2wGPx+PxeDwej8fj8Xg8npojV0XfC4HlQAdwHnCqiWcaOAL8BAwBX5i/Zz3LgZeBYSQJaW0Y6DX1ZxU54FZggOISEmf9pr2y9/pyO7gC2AhcFvP/aWTIjAIHgEPAaUAr0AYsKBBjP/Ag8KXDeCtCPfACMEH4mz8EvA7cBsxPaOcso3vD1NNtTQAvGn//CeYCnxF+kD3AOqAlY7stwBPA3oi2twPzSoq6ArQBOwkGfgx4Cmh05KMReNq0a/v5BjjbkQ/ntAI/EAz4O2BZmfxdaNq3/Q1Rgz1oDtBHMNBPyT6E0tJi/Nh++0w8NUMvwQC3UrkA5wCfKP8vVch3It3AFDOBfQU0x2hPB5oy+jnZ1I+a2puBQSuGSeCGjH6c0YCM83xQx4GLlCYHrEXWMnndXuBDYA3QBZyo6pyErIbXAB8AI1bd3cCjEbFcDPxJ8H1XtSm+CXiYYHdeG6HboDRRNokk4FskceMp6myI8LVOaR4ie08tmnZgE7CPcLADQJ3Sr4rQubRVyl8dweGVt19N3O2lJiCOlcBYgUBXK/35CXoXNmb82NyRoF9ZWhrCdBJedNm2i/D4fq+A3qW9q/w2IPu1OP0x4JJSkqHZmhDgM0p/OcEZrJw2RXhj+2xCnY9LSYZNK9EbSNv0OcuWjA+a1bYo/10J+gkcraSTHB0ETrD0jYR30KPIu6AduAnZBxXz8DuBG039OwkuC6aNP3vvVh8Rg7auUhMDsCLByVal747QXKU0bUhS0yTmoNHbXB2h61aabQntrkh6cD31ZuFnVb5elXcDn6vPRpBjhjRsN3qbHabdQn5/Sdl+LC6Ss0+Vl6pyM/FL/jScEvFZLqK+ntJ1XEXjIjm/qbJ+0c0F7lOfXQlcl7L9a43e5n7Trk2rKh9I2X4sLvYe+huManMj8oA7gAuAR4rwXY8cS7yC7OOuAe6K0DWoclSPKwoXyTlDlXVPAumh9xjLQhPwZIJG+z0zo69/cTGsdBD7HbSZBZ0c/aUVTZrkTCT8v1OVBzPGUipfq7KOSzPuwulSktciCyz9shT6cpi9Sl+YQt9RYl4AmTaHExzdrfRDCXrXNkrwhXxvgn5XmgdP80KeRi7OXi2g6QHetPTPAW8X0I8gw28Q2UHvR6beo8hQn4dcsyxBhkcn4VWyTS/BYdJTQAvwfML/gfTXwTlgM+EzmzyTwGKCv4Z4DLgd2TXvQd4J/cayLNDmM5OoS4Fzkd7SB6xn5t3YDvxI/Pt0M7I/m84QQyx1yGXaUaK76iaXzkrgNaLjO4IsB1zM0LE0A7cAjyPnInnn4yTffZebDoLnzx8hcd6M3F5UlEXAXyaQKcp4RpuCOoL3V8eRoVdVepAeFLWkryTrCQ6jmrnYqzYPIJNCPjEj1OCdebG0IQfkvxP81g8D7xDeaWsWA2+puuOkOMhKQzV/MJlDdumFjiu/R45Ibf5AbkSXIFO6PftMIb/2qpWZMzOLcLtKPoz8VnBWcA7prn2T7G9kCDqfmao5rEBuH1dT/PHCGLLdGADeR657PR6Px+PxeDwej8fj8Xj+D/wDjH3BTGVLVJYAAAAASUVORK5CYII=",S="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAABMlBMVEUAAAAAAAAAAAAzMzMgIEAgQEA5OTkuLi4rKysnJycnJzskJDciMzMgMDAwMDAtLS0rKzkrKzMpKTEoMDAnLi4mLTUtLTUsLDMrKzIrKzArKzUqLzQpLjMoLTInLDEpLjIrKzQrKzMqLjIoLDAnLzMqLjEpLTEpLTUpLDQoLDMrLjIpLDMnLjEoLDIrLjEqLTMpLDIqLDIpLDEpKzEpLjEoLjAqLTIpLjMoLTIoLTIpLTIoLTIqLDEqLDMpLjIpLTIpLTEoLTMoLDIqLjIqLTEpLTEpLTMpLDIpLjMoLTIqLTIpLTIpLDEpLjMqLTEpLTMpLDIoLTIqLDIpLjIpLTIpLTIpLTEpLTIpLTIpLTIpLTIpLTIpLTIpLTIpLTIpLTEoLTIpLTIpLTIpLTIpLTL///+N/fSXAAAAZHRSTlMAAQIFCAgJCwwNDQ4PEBAREh4fICEiIiMkMDAxMjM0ODs8PUBBQ0RERUZIS05SVFVXXF1eXl9hZGVma2xtbnV2d3h/gIGCg4SXmJmam5ylpqexsrO0ubq7vMvMzeXm5+jp6v3+lJeRKgAAAAFiS0dEZbXdiJ8AAAEzSURBVBgZhcHpOgJhGIDhZ6wxtrGFfPZd1qiGqOwNhZIYiWbe8z8GM/muC7/cN/8ayTiVipMZ5q+Zmkjddd9Faoofbdf+x+kogbHsp39loLU9iBNB672Ve4Nv15Lll5xc0DLjO9A9vbEZWFWdcOfFCL18RBhKpLa3Ajupwz7M5jOBETmF9b0ILWZiDXK+BZzIKOzPoy3sQVSOAacO2ApN2UCjADy9ArZCUzbgloGKC9gKTdnA2yPg1IH9ObSFBNAoABkZg/h2Oy19iRWYkCNgWLJgpZM7i11di7upgx7I+xaB2mcv9M8uJ+Px5NJUB5jNKiHlOYTG0+lxQkUvRsulZAkNDhDKyTnfjJLcmWhmUUoGmnHpNXNRAtF80zsz+BGrijRctyFSneQv67hQLt8cWfznCycqNZtzxQR4AAAAAElFTkSuQmCC";const C={xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",focusable:"false"},D=[n("path",{d:"M15.2 12a3.2 3.2 0 1 1-6.399 0 3.2 3.2 0 0 1 6.4 0Z",fill:"#212134"},null,-1),n("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M18.78 6.103c1.923 1.243 3.64 2.981 4.963 5.027a1.61 1.61 0 0 1 .005 1.738c-1.318 2.063-3.031 3.807-4.954 5.046-2.12 1.364-4.475 2.086-6.81 2.086-2.388 0-4.683-.7-6.816-2.082-1.894-1.225-3.593-2.966-4.914-5.032a1.596 1.596 0 0 1 .032-1.777C1.89 8.811 3.734 7.027 5.77 5.805 7.767 4.608 9.858 4 11.984 4c2.317 0 4.667.728 6.795 2.103Zm-9.446 9.888a4.8 4.8 0 1 0 5.334-7.982 4.8 4.8 0 0 0-5.334 7.982Z",fill:"#8e8ea9"},null,-1)];const L={render:function(n,i){return e(),t("svg",C,D)},__file:"src/directus-gpt-module/components/icons/showIcon.vue"},j={xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",focusable:"false"},B=[n("path",{d:"M4.048 6.875 2.103 4.93a1 1 0 1 1 1.414-1.415l16.966 16.966a1 1 0 1 1-1.414 1.415l-2.686-2.686a12.247 12.247 0 0 1-4.383.788c-3.573 0-6.559-1.425-8.962-3.783a15.842 15.842 0 0 1-2.116-2.568 11.096 11.096 0 0 1-.711-1.211 1.145 1.145 0 0 1 0-.875c.124-.258.36-.68.711-1.211.58-.876 1.283-1.75 2.116-2.569.326-.32.663-.622 1.01-.906Zm10.539 10.539-1.551-1.551a4.005 4.005 0 0 1-4.9-4.9L6.584 9.411a6 6 0 0 0 8.002 8.002ZM7.617 4.787A12.248 12.248 0 0 1 12 3.998c3.572 0 6.559 1.426 8.961 3.783a15.845 15.845 0 0 1 2.117 2.569c.351.532.587.954.711 1.211.116.242.115.636 0 .875-.124.257-.36.68-.711 1.211-.58.876-1.283 1.75-2.117 2.568-.325.32-.662.623-1.01.907l-2.536-2.537a6 6 0 0 0-8.002-8.002L7.617 4.787Zm3.347 3.347A4.005 4.005 0 0 1 16 11.998c0 .359-.047.706-.136 1.037l-4.9-4.901Z",fill:"#8e8ea9"},null,-1)];const P={render:function(n,i){return e(),t("svg",j,B)},__file:"src/directus-gpt-module/components/icons/hideIcon.vue"},E={width:"1rem",height:"1rem",viewBox:"0 0 24 24",fill:"#8e8ea9",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},N=[n("path",{d:"M12 0C5.383 0 0 5.383 0 12s5.383 12 12 12 12-5.383 12-12S18.617 0 12 0Zm0 4.92a1.56 1.56 0 1 1 0 3.12 1.56 1.56 0 0 1 0-3.12Zm3.84 13.06a.5.5 0 0 1-.5.5h-6.2a.5.5 0 0 1-.5-.5v-.92a.5.5 0 0 1 .5-.5h2.14v-5.28H9.86a.5.5 0 0 1-.5-.5v-.92a.5.5 0 0 1 .5-.5h2.84a.5.5 0 0 1 .5.5v6.7h2.14a.5.5 0 0 1 .5.5v.92Z",fill:"#212134"},null,-1)];const _={render:function(n,i){return e(),t("svg",E,N)},__file:"src/directus-gpt-module/components/icons/tooltipIcon.vue"},z={width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},W=[n("path",{d:"M6.17 18a3 3 0 015.66 0H22v2H11.83a3 3 0 01-5.66 0H2v-2h4.17zm6-7a3 3 0 015.66 0H22v2h-4.17a3 3 0 01-5.66 0H2v-2h10.17zm-6-7a3.001 3.001 0 015.66 0H22v2H11.83a3 3 0 01-5.66 0H2V4h4.17z",fill:"#212134"},null,-1)];const Z={render:function(n,i){return e(),t("svg",z,W)},__file:"src/directus-gpt-module/components/icons/settingIcon.vue"},K={components:{ShowIcon:L,HideIcon:P,TooltipIcon:_,SettingIcon:Z},data:()=>({activeTab:"collectionsTab",activeWidgetTab:"widgetContentTab",collections:[],openAiApiKey:"",showOpenAiApiKey:!1,pineconeApiKey:"",showPineconeApiKey:!1,pineconeIndexName:"",pineconeEnvironment:"",ablyApiKeyForPublishMessage:"",showAblyApiKeyForPublishMessage:!1,ablyApiKeyForSubscribeMessage:"",showAblyApiKeyForSubscribeMessage:!1,projectColor:"#6644FF",collectionSettings:{},chatWidgetSettings:{colors:{...I},widgetIconAlignment:k,chat_initiation:!0,header_content:"DirectusGPT Bot",support_message:"DirectusGPT Bot",widget_language:"en"},support_executive_image:M,company_logo:S,frontendHost:"",backendHost:"",scriptTag:"",availablePositions:T,isSupportExecutiveImageChanged:!1,isCompanyLogoChanged:!1,messages:[{text:"Hey There! Give me the list of articles by John Doe.",sender:!0},{text:"Sure Here it is...",sender:!1}],fieldsDialogVisible:!1,fieldsDialogIndex:k,editIconSvgBase64:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDIiIGhlaWdodD0iNDIiIHZpZXdCb3g9IjAgMCA0MiA0MiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZF8xOTlfNTIxMCkiPgo8cmVjdCB4PSI2IiB5PSI2IiB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHJ4PSIxNSIgZmlsbD0id2hpdGUiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyIvPgo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfMTk5XzUyMTApIj4KPHBhdGggZD0iTTIzLjgwMDQgMTUuNjExOEMyMy45NzU1IDE1LjQzNjcgMjQuNzE3IDE0LjY4NiAyNC45NDU3IDE0LjU5MTNDMjUuMTc0NSAxNC40OTY1IDI1LjQxOTcgMTQuNDQ3OCAyNS42NjczIDE0LjQ0NzhDMjUuOTE0OSAxNC40NDc4IDI2LjE2MDEgMTQuNDk2NSAyNi4zODg5IDE0LjU5MTNDMjYuNjE3NyAxNC42ODYgMjYuODI1NiAxNC44MjQ5IDI3LjAwMDcgMTVDMjcuMTc1NyAxNS4xNzUxIDI3LjMxNDYgMTUuMzgzIDI3LjQwOTQgMTUuNjExOEMyNy41MDQyIDE1Ljg0MDYgMjcuNTUyOSAxNi4wODU3IDI3LjU1MjkgMTYuMzMzNEMyNy41NTI5IDE2LjU4MSAyNy41MDQyIDE2LjgyNjIgMjcuNDA5NCAxNy4wNTVDMjcuMzE0NiAxNy4yODM3IDI2LjM3NTUgMTguMDI1IDI2LjIwMDQgMTguMjAwMU0yMy44MDA0IDE1LjYxMThMMTUuMzM0IDI0TDE0LjMzNCAyNy42NjY3TDE4LjAwMDcgMjYuNjY2N0wyNi4yMDA0IDE4LjIwMDFNMjMuODAwNCAxNS42MTE4TDI2LjIwMDQgMTguMjAwMSIgc3Ryb2tlPSIjNjg4MUZGIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjwvZz4KPC9nPgo8ZGVmcz4KPGZpbHRlciBpZD0iZmlsdGVyMF9kXzE5OV81MjEwIiB4PSIwIiB5PSIwIiB3aWR0aD0iNDIiIGhlaWdodD0iNDIiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiIHJlc3VsdD0iaGFyZEFscGhhIi8+CjxmZU9mZnNldC8+CjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjMiLz4KPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0ib3V0Ii8+CjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAuMjg5ODk2IDAgMCAwIDAgMC40Mzk4ODUgMCAwIDAgMCAwLjUwNDE2NyAwIDAgMCAwLjI1IDAiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3dfMTk5XzUyMTAiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3dfMTk5XzUyMTAiIHJlc3VsdD0ic2hhcGUiLz4KPC9maWx0ZXI+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMTk5XzUyMTAiPgo8cmVjdCB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9IndoaXRlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMyAxMykiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K",isDropdownVisible:!1,selectedPosition:null}),inject:["api"],methods:{async updateSettings(){let e={};for(const t of this.collections)t.isEnabled&&(e[t.collection]={isEnabled:t.isEnabled,fields:t.fields.length?t.fields.filter((e=>e.isEnabled)):[]});if(this.isSupportExecutiveImageChanged){const e=new FormData;e.append("file",this.isSupportExecutiveImageChanged),await this.api.post("/files",e),await this.api.patch(`/items/${A}`,{support_executive_image:this.support_executive_image})}if(this.isCompanyLogoChanged){const e=new FormData;e.append("file",this.isCompanyLogoChanged),await this.api.post("/files",e),await this.api.patch(`/items/${A}`,{company_logo:this.company_logo})}await this.api.patch(`/items/${A}`,{OpenAI_API_Key:this.openAiApiKey.trim(),Pinecone_API_Key:this.pineconeApiKey.trim(),Pinecone_Index_Name:this.pineconeIndexName.trim(),Pinecone_Environment:this.pineconeEnvironment.trim(),Ably_API_Key_for_publish_message_purpose:this.ablyApiKeyForPublishMessage.trim(),Ably_API_Key_for_subscribe_message_purpose:this.ablyApiKeyForSubscribeMessage.trim(),collection_settings:JSON.stringify(e),Frontend_Host:this.frontendHost.trim(),Backend_Host:this.backendHost.trim(),chat_widget_settings:JSON.stringify(this.chatWidgetSettings)})},async refreshData(){console.log("Refreshing data in vector db....."),await this.api.post("/directus-gpt/refresh-data")},switchVisibility(e){this[e]=!this[e]},previewChatbotImg(e){const t=e.target;if(t.files){const e=t.files[0];if(e.size>524288)return alert("Image size should not be more than 0.5 MB");const n=new FileReader;n.onload=e=>{this.support_executive_image=e.target.result},this.support_executive_image=t.files[0],this.isSupportExecutiveImageChanged=e,n.readAsDataURL(t.files[0])}},previewChatImg(e){const t=e.target;if(t.files){const e=t.files[0];if(e.size>524288)return alert("Image size should not be more than 0.5 MB");const n=new FileReader;n.onload=e=>{this.company_logo=e.target.result},this.company_logo=t.files[0],this.isCompanyLogoChanged=e,n.readAsDataURL(t.files[0])}},updateScript(){this.scriptTag=`<script src="https://assets.directusgpt.com/tracking.js" frontendHost="${this.frontendHost}" backendHost="${this.backendHost}"><\/script>`},copyScript(){const e=document.createElement("textarea");e.value=this.scriptTag,document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)},updateColor(e){this.chatWidgetSettings.colors[e]},getColorCode:e=>e?e.toUpperCase():"",openFieldsDialog(e){this.fieldsDialogIndex=e,this.fieldsDialogVisible=!0},fieldsCloseDialog(){this.fieldsDialogVisible=!1},toggleDropdown(){this.isDropdownVisible=!this.isDropdownVisible},selectOption(e){this.chatWidgetSettings.widgetIconAlignment=e.value}},async mounted(){try{const e=await this.api.get("/collections?limit=-1"),t=await this.api.get(`/items/${A}`),n=await t.data.data;this.chatWidgetSettings=n.chat_widget_settings?{...this.chatWidgetSettings,...JSON.parse(n.chat_widget_settings)}:{...this.chatWidgetSettings},this.collectionSettings=n.collection_settings?JSON.parse(n.collection_settings):{},this.openAiApiKey=n.OpenAI_API_Key,this.pineconeApiKey=n.Pinecone_API_Key,this.pineconeIndexName=n.Pinecone_Index_Name,this.pineconeEnvironment=n.Pinecone_Environment,this.ablyApiKeyForPublishMessage=n.Ably_API_Key_for_publish_message_purpose,this.ablyApiKeyForSubscribeMessage=n.Ably_API_Key_for_subscribe_message_purpose,this.frontendHost=n.Frontend_Host,this.backendHost=n.Backend_Host,this.support_executive_image=n.support_executive_image,this.company_logo=n.company_logo,this.support_executive_image||(this.support_executive_image=M),this.company_logo||(this.company_logo=S);for(const t of e.data.data)if(!t.meta.system&&![A,y].includes(t.meta.collection)){let e=await this.api.get(`/fields/${t.collection}`),n=[];for(let i of e.data.data)if("id"!==i.meta.field){let e=!1;if(this.collectionSettings[t.collection]&&this.collectionSettings[t.collection].fields){this.collectionSettings[t.collection].fields.find((e=>e.id==i.meta.id))&&(e=!0)}n.push({id:i.meta.id,field:i.meta.field,isEnabled:e})}this.collections.push({collection:t.collection,isEnabled:!!this.collectionSettings[t.collection]&&this.collectionSettings[t.collection].isEnabled,fields:n})}const i=await this.api.get("/settings");this.projectColor=i.data.data.project_color||"#6644FF",this.updateScript()}catch(e){console.error("Error while setting data::::: ",e)}},watch:{collections:{deep:!0,handler(e){for(const t of e){const e=t.fields.some((e=>e.isEnabled));t.isEnabled=e||!1}}},chatWidgetSettings:{deep:!0,handler(e){this.selectedPosition=T.find((t=>t.value===e.widgetIconAlignment)).label}}}},F=()=>{i((e=>({"164108e0-projectColor":e.projectColor,"164108e0-chatWidgetSettings.colors.headerText":e.chatWidgetSettings.colors.headerText,"164108e0-chatWidgetSettings.colors.headerBackground":e.chatWidgetSettings.colors.headerBackground,"164108e0-chatWidgetSettings.colors.visitorMessageBackground":e.chatWidgetSettings.colors.visitorMessageBackground,"164108e0-chatWidgetSettings.colors.visitorText":e.chatWidgetSettings.colors.visitorText,"164108e0-chatWidgetSettings.colors.agentMessageBackground":e.chatWidgetSettings.colors.agentMessageBackground,"164108e0-chatWidgetSettings.colors.agentText":e.chatWidgetSettings.colors.agentText})))},U=K.setup;K.setup=U?(e,t)=>(F(),U(e,t)):F;const V=e=>(f("data-v-164108e0"),e=e(),w(),e),G={class:"tabs"},O={class:"tob-tabs"},X={class:"tab-content"},H=["onClick"],R=V((()=>n("span",null,"Settings",-1))),Q={class:"modal-body"},Y={class:"switch"},J=["id","onUpdate:modelValue"],q=V((()=>n("span",{class:"slider round"},null,-1))),$={class:"setting-wrapper"},ee={class:"setting-list-wrapper"},te=V((()=>n("label",{class:"setting-list-heading",for:"openAiApiKey"},"OpenAI API Key",-1))),ne={class:"tooltip-wrapper"},ie=V((()=>n("span",{class:"tooltip-text"},"This plugin will require OpenAI API key to work.",-1))),oe={class:"setting-list-input-field"},ae=["type"],se={key:0},le={key:1},re=V((()=>n("p",{class:"setting-list-info"}," Used to get text embeddings using 'text-embedding-ada-002' and for searching with 'gpt-3.5-turbo'. ",-1))),de={class:"setting-list-wrapper"},pe=V((()=>n("label",{class:"setting-list-heading",for:"pineconeApiKey"},"Pinecone API Key",-1))),ce={class:"tooltip-wrapper"},ge=V((()=>n("span",{class:"tooltip-text"},"This plugin will require Pinecone API key to work.",-1))),ue={class:"setting-list-input-field"},he=["type"],be={key:0},me={key:1},xe=V((()=>n("p",{class:"setting-list-info"}," Used to store the data of enabled content types and find the similarities using cosine metrics. ",-1))),ve={class:"setting-list-wrapper"},fe=V((()=>n("label",{class:"setting-list-heading",for:"pineconeIndexName"},"Pinecone Index Name",-1))),we={class:"tooltip-wrapper"},ye=V((()=>n("span",{class:"tooltip-text"},"This plugin will require Pinecone index key to work.",-1))),Ae={class:"setting-list-input-field"},Ie=V((()=>n("p",{class:"setting-list-info"},"Enter your pinecone index name in which data will be inserted.",-1))),ke={class:"setting-list-wrapper"},Te=V((()=>n("label",{class:"setting-list-heading",for:"pineconeEnvironment"},"Pinecone Environment",-1))),Me={class:"tooltip-wrapper"},Se=V((()=>n("span",{class:"tooltip-text"},"This plugin will require Pinecone environment to work.",-1))),Ce={class:"setting-list-input-field"},De=V((()=>n("p",{class:"setting-list-info"},"Enter the environment of your pinecone index for e.g. 'us-west4-gcp'.",-1))),Le={class:"setting-list-wrapper"},je=V((()=>n("label",{class:"setting-list-heading",for:"ablyApiKeyForPublishMessage"},"Ably API Key for publish message purpose",-1))),Be={class:"tooltip-wrapper"},Pe=V((()=>n("span",{class:"tooltip-text"},"This plugin will require Ably API key to work.",-1))),Ee={class:"setting-list-input-field"},Ne=["type"],_e={key:0},ze={key:1},We=V((()=>n("p",{class:"setting-list-info"},"Used for sending the retrieved tokens from ChatGPT to the ChatBox.",-1))),Ze={class:"setting-list-wrapper"},Ke=V((()=>n("label",{class:"setting-list-heading",for:"ablyApiKeyForSubscribeMessage"},"Ably API Key for subscribe message purpose",-1))),Fe={class:"tooltip-wrapper"},Ue=V((()=>n("span",{class:"tooltip-text"},"This plugin will require Ably API key to work.",-1))),Ve={class:"setting-list-input-field"},Ge=["type"],Oe={key:0},Xe={key:1},He=V((()=>n("p",{class:"setting-list-info"}," Enter Ably API Key here which has only the Subscribe permission. This will be used in ChatBox to subscribe to the tokens sent from ChatGPT. ",-1))),Re={class:"widget-main-wrapper"},Qe={class:"tabs inner-tabs",style:{"border-bottom":"none"}},Ye={class:"tab-content inner-tab-content-wrapper"},Je={class:"inner-tab-content"},qe={class:"chatbot-logo-wrapper"},$e=V((()=>n("h5",null,"Chatbot Logo",-1))),et=V((()=>n("p",null,"Max size 500kb",-1))),tt={class:"chat-logo-inner"},nt=["src"],it=["src"],ot={class:"chat-logo-wrapper"},at=V((()=>n("h5",null,"Chat Logo",-1))),st=V((()=>n("p",null,"Max size 500kb",-1))),lt={class:"chat-logo-inner"},rt=["src"],dt=["src"],pt={class:"support-msg-wrapper"},ct=V((()=>n("label",{for:"support_message"},"Support message content",-1))),gt={class:"appearance-position-wrapper"},ut=V((()=>n("p",null,"Desktop Widget Position",-1))),ht={class:"selected-option"},bt=["onClick"],mt={class:"color-picker-wrapper"},xt={class:"color-picker"},vt={class:"color-info"},ft=V((()=>n("label",{for:"header-background"},"Header Background:",-1))),wt={class:"color-code"},yt={class:"color-picker"},At={class:"color-info"},It=V((()=>n("label",{for:"header-text"},"Header Text:",-1))),kt={class:"color-code"},Tt={class:"color-picker"},Mt={class:"color-info"},St=V((()=>n("label",{for:"agent-message-background"},"AI Background:",-1))),Ct={class:"color-code"},Dt={class:"color-picker"},Lt={class:"color-info"},jt=V((()=>n("label",{for:"agent-text"},"AI Text:",-1))),Bt={class:"color-code"},Pt={class:"color-picker"},Et={class:"color-info"},Nt=V((()=>n("label",{for:"visitor-message-background"},"User Message Background:",-1))),_t={class:"color-code"},zt={class:"color-picker"},Wt={class:"color-info"},Zt=V((()=>n("label",{for:"visitor-text"},"User Text:",-1))),Kt={class:"color-code"},Ft={class:"script-form"},Ut=V((()=>n("h2",null,"My Script",-1))),Vt={class:"script-form-group"},Gt=V((()=>n("label",{for:"frontendHost"},"Enter host including http(s):// on which you want to enable this bot ",-1))),Ot={class:"script-form-group"},Xt=V((()=>n("label",{for:"backendHost"},"Enter your Directus backend URL here ",-1))),Ht={class:"script-output"},Rt={rows:"5",cols:"50",readonly:""},Qt={class:"script-form-group-btn"},Yt={class:"chatbox-preview-wrapper"},Jt={class:"container"},qt={class:"chatBoxHeader"},$t=["src"],en={style:{"font-size":"16px","font-weight":"bold"}},tn={class:"messageBox mt-8"},nn={class:"message-bubble-container"},on={class:"message-bubble"},an=V((()=>n("div",{class:"message-timestamp"},"2 mins ago",-1))),sn={class:"inputContainer"},ln=V((()=>n("button",{class:"askButton"},"Ask",-1))),rn=["src"];var dn=[],pn=[];!function(e,t){if(e&&"undefined"!=typeof document){var n,i=!0===t.prepend?"prepend":"append",o=!0===t.singleTag,a="string"==typeof t.container?document.querySelector(t.container):document.getElementsByTagName("head")[0];if(o){var s=dn.indexOf(a);-1===s&&(s=dn.push(a)-1,pn[s]={}),n=pn[s]&&pn[s][i]?pn[s][i]:pn[s][i]=l()}else n=l();65279===e.charCodeAt(0)&&(e=e.substring(1)),n.styleSheet?n.styleSheet.cssText+=e:n.appendChild(document.createTextNode(e))}function l(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),t.attributes)for(var n=Object.keys(t.attributes),o=0;o<n.length;o++)e.setAttribute(n[o],t.attributes[n[o]]);var s="prepend"===i?"afterbegin":"beforeend";return a.insertAdjacentElement(s,e),e}}('\n.tabs ul[data-v-164108e0] {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n.tabs ul li[data-v-164108e0] {\n display: inline-block;\n margin-right: 10px;\n}\n.tabs ul li a[data-v-164108e0] {\n display: block;\n padding: 8px 10px;\n text-decoration: none;\n color: #32324d;\n cursor: pointer;\n text-transform: uppercase;\n}\n.tabs ul li.is-active a[data-v-164108e0] {\n border-bottom: 2px solid var(--164108e0-projectColor);\n color: var(--164108e0-projectColor);\n}\n.tab-content[data-v-164108e0] {\n padding: 20px;\n}\n.switch[data-v-164108e0] {\n position: relative;\n display: inline-block;\n width: 60px;\n height: 34px;\n}\n.switch input[data-v-164108e0] {\n opacity: 0;\n width: 0;\n height: 0;\n}\n.slider[data-v-164108e0] {\n position: absolute;\n cursor: pointer;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #ccc;\n -webkit-transition: 0.4s;\n transition: 0.4s;\n}\n.slider[data-v-164108e0]:before {\n position: absolute;\n content: "";\n height: 26px;\n width: 26px;\n left: 4px;\n bottom: 4px;\n background-color: white;\n -webkit-transition: 0.4s;\n transition: 0.4s;\n}\ninput:checked + .slider[data-v-164108e0] {\n background-color: #2196f3;\n}\ninput:focus + .slider[data-v-164108e0] {\n box-shadow: 0 0 1px #2196f3;\n}\ninput:checked + .slider[data-v-164108e0]:before {\n -webkit-transform: translateX(26px);\n -ms-transform: translateX(26px);\n transform: translateX(26px);\n}\n\n/* Rounded sliders */\n.slider.round[data-v-164108e0] {\n border-radius: 34px;\n}\n.slider.round[data-v-164108e0]:before {\n border-radius: 50%;\n}\n\n/* widget-script */\n.form-group[data-v-164108e0] {\n margin-bottom: 20px;\n}\n.script-output[data-v-164108e0] {\n margin-top: 40px;\n}\n.script-output textarea[data-v-164108e0] {\n width: 100%;\n padding: 5px 24px 5px 6px;\n border: 1px solid #eaeaea;\n border-radius: 4px;\n}\nbutton[data-v-164108e0] {\n margin-top: 10px;\n}\n\n/* widget-appearance */\n.color-picker[data-v-164108e0] {\n margin-bottom: 10px;\n}\n.color-picker input[type="color"][data-v-164108e0] {\n border: none;\n width: 38px;\n height: 38px;\n border-radius: 50%; /* Make the color picker circular */\n appearance: none;\n}\n\n/* chat widget */\n@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&display=swap");\n.container[data-v-164108e0] {\n width: 360px;\n height: 500px;\n background-color: white;\n border-radius: 8px;\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n font-family: "Roboto", sans-serif;\n}\n.chatBoxHeader[data-v-164108e0] {\n font-size: 24px;\n font-weight: 500;\n text-align: center;\n color: var(--164108e0-chatWidgetSettings\\.colors\\.headerText);\n margin: 0;\n background-color: var(--164108e0-chatWidgetSettings\\.colors\\.headerBackground);\n display: flex;\n align-items: center;\n padding: 10px;\n}\n.chatBoxHeader img[data-v-164108e0] {\n width: 40px;\n height: 40px;\n object-fit: cover;\n border-radius: 100%;\n margin-right: 16px;\n}\n.messageBox[data-v-164108e0] {\n padding: 16px;\n flex-grow: 1;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n gap: 12px;\n max-height: 400px;\n border-top: 1px solid #f0f0f0;\n border-bottom: 1px solid #f0f0f0;\n}\n.inputContainer[data-v-164108e0] {\n display: flex;\n align-items: center;\n padding: 8px;\n}\n.messageInput[data-v-164108e0] {\n flex-grow: 1;\n border: none;\n outline: none;\n padding: 8px;\n font-size: 16px;\n background-color: white;\n border-radius: 8px;\n margin-right: 8px;\n box-shadow: 0px 0px 10px 2px #dfdfdfe3;\n}\n.askButton[data-v-164108e0] {\n background-color: #576cfe;\n color: white;\n font-size: 14px;\n padding: 6px 16px;\n border: 2px solid transparent;\n outline: none;\n cursor: pointer;\n border-radius: 8px;\n margin-top: 0;\n}\n.askButton[data-v-164108e0]:hover {\n background-color: #7687f7;\n}\n@media (max-width: 480px) {\n.container[data-v-164108e0] {\n width: 100%;\n max-width: none;\n border-radius: 0;\n}\n}\n.message-bubble-container[data-v-164108e0] {\n max-width: 70%;\n display: flex;\n}\n.message-bubble[data-v-164108e0] {\n padding: 5px;\n margin-bottom: 5px;\n border-radius: 5px;\n word-wrap: break-word;\n max-width: fit-content;\n}\n.sender .message-bubble-container[data-v-164108e0] {\n justify-content: flex-end;\n float: right;\n}\n.receiver .message-bubble-container[data-v-164108e0] {\n justify-content: flex-start;\n float: left;\n}\n.sender .message-bubble[data-v-164108e0] {\n background-color: var(--164108e0-chatWidgetSettings\\.colors\\.visitorMessageBackground);\n color: var(--164108e0-chatWidgetSettings\\.colors\\.visitorText);\n}\n.receiver .message-bubble[data-v-164108e0] {\n background-color: var(--164108e0-chatWidgetSettings\\.colors\\.agentMessageBackground);\n color: var(--164108e0-chatWidgetSettings\\.colors\\.agentText);\n}\n.message-timestamp[data-v-164108e0] {\n font-size: 10px;\n /* margin-top: 1px; */\n text-align: right;\n}\n.sender .message-timestamp[data-v-164108e0] {\n background-color: var(--164108e0-chatWidgetSettings\\.colors\\.visitorMessageBackground);\n color: var(--164108e0-chatWidgetSettings\\.colors\\.visitorText);\n}\n.receiver .message-timestamp[data-v-164108e0] {\n background-color: var(--164108e0-chatWidgetSettings\\.colors\\.agentMessageBackground);\n color: var(--164108e0-chatWidgetSettings\\.colors\\.agentText);\n}\n\n/* Collection Type Styling */\n.tabs[data-v-164108e0] {\n padding: 0px 20px 0px 20px;\n}\n.tabs .tob-tabs[data-v-164108e0] {\n border-bottom: 1px solid #ccc;\n}\n.tab-content[data-v-164108e0] {\n padding: 20px 0px 0px 0px !important;\n}\n.switch[data-v-164108e0] {\n width: 46px;\n height: 25px;\n}\n.slider[data-v-164108e0]:before {\n height: 18px;\n width: 18px;\n}\ninput:checked + .slider[data-v-164108e0]:before {\n transform: translateX(20px);\n}\n\n/* Setting Type Styling */\n.v-list-item-row[data-v-164108e0] {\n display: flex;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n}\n.v-list-item-title[data-v-164108e0] {\n text-transform: capitalize;\n}\n.v-list-item[data-v-164108e0] {\n padding: 12px 4px !important;\n border-bottom: 1px solid #efefef;\n border-radius: 0px !important;\n margin: 0px 0px !important;\n display: flex;\n align-items: center;\n justify-content: space-between !important;\n}\n.collection-type-cta-wrapper[data-v-164108e0] {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n column-gap: 15px;\n padding: 20px 20px 10px 20px;\n}\n.collection-type-cta-wrapper button[data-v-164108e0] {\n margin-top: 0px;\n background-color: #6644ff;\n padding: 6px 10px;\n border-radius: 6px;\n color: #fff;\n}\n.setting-list-wrapper[data-v-164108e0] {\n margin-bottom: 28px !important;\n}\n.setting-list-wrapper svg[data-v-164108e0] {\n width: 16px;\n height: 16px;\n position: relative;\n top: 4px;\n left: 4px;\n cursor: pointer;\n}\n.setting-list-wrapper svg path[data-v-164108e0] {\n fill: #8e8ea9;\n}\n.setting-list-heading[data-v-164108e0] {\n font-size: 14px;\n color: #32324d;\n display: inline-block;\n padding-bottom: 4px;\n}\n.setting-list-input-field[data-v-164108e0] {\n position: relative;\n}\n.setting-list-input-field input[data-v-164108e0] {\n width: 100%;\n padding: 5px 24px 5px 6px;\n border: 1px solid #eaeaea;\n border-radius: 4px;\n}\n.setting-list-input-field button[data-v-164108e0] {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n right: 8px;\n margin-top: 0px;\n}\n.setting-list-info[data-v-164108e0] {\n font-size: 12px;\n color: #666687;\n line-height: 1;\n padding-top: 6px;\n font-weight: 400;\n}\n\n/* Setting Type Styling */\n.inner-tab-content-wrapper[data-v-164108e0] {\n margin-top: 16px;\n}\n.inner-tab-content[data-v-164108e0] {\n display: flex;\n margin-bottom: 40px;\n column-gap: 70px;\n}\n.chat-logo-inner[data-v-164108e0] {\n position: relative;\n width: 80px;\n}\n.chat-logo-inner img[data-v-164108e0]:first-of-type {\n width: 56px;\n height: 56px;\n object-fit: cover;\n border-radius: 100%;\n}\n.chat-logo-inner img[data-v-164108e0]:last-of-type {\n position: absolute;\n right: 4px;\n bottom: -6px;\n cursor: pointer;\n}\n.inner-tab-content h5[data-v-164108e0] {\n font-size: 14px;\n padding-bottom: 4px;\n color: #32324d;\n line-height: 1;\n}\n.inner-tab-content p[data-v-164108e0] {\n font-size: 12px;\n padding-bottom: 14px;\n color: #9ca3af;\n font-weight: 400;\n}\n.support-msg-wrapper label[data-v-164108e0] {\n display: block;\n font-size: 15px;\n padding-bottom: 6px;\n color: #32324d;\n}\n.support-msg-wrapper input[data-v-164108e0] {\n width: 100%;\n padding: 5px 24px 5px 6px;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n}\n.appearance-position-wrapper[data-v-164108e0] {\n display: flex;\n align-items: baseline;\n justify-content: flex-start;\n margin-bottom: 44px;\n column-gap: 36px;\n column-gap: 144px;\n}\n.appearance-position-wrapper p[data-v-164108e0] {\n display: block;\n font-size: 15px;\n padding-bottom: 6px;\n color: #32324d;\n}\n.color-picker-wrapper[data-v-164108e0] {\n display: flex;\n flex-wrap: wrap;\n}\n.color-picker-wrapper .color-picker[data-v-164108e0] {\n width: 50%;\n}\n.color-picker[data-v-164108e0] {\n margin-bottom: 36px !important;\n display: flex;\n align-items: center;\n column-gap: 14px;\n}\n.color-picker label[data-v-164108e0] {\n width: fit-content;\n display: block;\n font-size: 15px;\n padding-bottom: 6px;\n color: #32324d;\n line-height: 1;\n}\n.custom-rounded-color-picker[data-v-164108e0] {\n width: 38px;\n height: 38px;\n border-radius: 50%;\n overflow: hidden;\n cursor: pointer;\n border: 2px solid #ccc;\n}\n.custom-rounded-color-picker[data-v-164108e0]::-webkit-color-swatch {\n border: 2px solid #e5e7eb;\n border-radius: 50%;\n padding: 0;\n cursor: pointer;\n}\n.custom-rounded-color-picker[data-v-164108e0]::-webkit-color-swatch-wrapper {\n border: 2px solid #e5e7eb;\n border-radius: 50%;\n padding: 0;\n cursor: pointer;\n}\n.tooltip-wrapper[data-v-164108e0] {\n position: relative;\n display: inline-block;\n}\n.tooltip-text[data-v-164108e0] {\n visibility: hidden;\n width: max-content;\n background-color: #1b1735;\n color: #fff;\n text-align: center;\n padding: 1px 6px;\n border-radius: 4px;\n position: absolute;\n left: 50%;\n transform: translateX(-50%);\n bottom: 100%;\n z-index: 1;\n font-size: 12px;\n}\n.tooltip-wrapper:hover .tooltip-text[data-v-164108e0] {\n visibility: visible;\n}\n\n/* Setting Styling */\n.script-form h2[data-v-164108e0] {\n display: block;\n font-size: 15px;\n padding-bottom: 14px;\n color: #32324d;\n}\n.script-form-group[data-v-164108e0] {\n margin-bottom: 20px;\n}\n.script-form-group label[data-v-164108e0] {\n display: block;\n font-size: 15px;\n padding-bottom: 10px;\n color: #32324d;\n line-height: 1;\n}\n.script-form-group input[data-v-164108e0] {\n width: 100%;\n padding: 5px 24px 5px 6px;\n border: 1px solid #eaeaea;\n border-radius: 4px;\n}\n.script-form-group-btn button[data-v-164108e0] {\n margin-top: 0px;\n background-color: #6644ff;\n padding: 6px 10px;\n border-radius: 6px;\n color: #fff;\n margin-top: 14px;\n}\n.widget-main-wrapper[data-v-164108e0] {\n display: flex;\n min-height: calc(100vh - 250px);\n}\n.inner-tabs[data-v-164108e0] {\n width: 50%;\n}\n.chatbox-preview-wrapper[data-v-164108e0] {\n width: 50%;\n}\n.chatbox-logo[data-v-164108e0] {\n width: 40px;\n height: 40px;\n object-fit: cover;\n border-radius: 100%;\n}\n.widget-top-left[data-v-164108e0] {\n flex-direction: column-reverse;\n display: flex;\n}\n.widget-top-left .chatbox-logo[data-v-164108e0] {\n margin-bottom: 10px;\n}\n.widget-top-right[data-v-164108e0] {\n flex-direction: column-reverse;\n align-items: flex-end;\n display: flex;\n}\n.widget-top-right .chatbox-logo[data-v-164108e0] {\n margin-bottom: 10px;\n}\n.widget-middle-left[data-v-164108e0] {\n height: 100%;\n display: flex;\n flex-direction: row-reverse;\n align-items: center;\n justify-content: flex-end;\n}\n.widget-middle-left .chatbox-logo[data-v-164108e0] {\n margin-right: 10px;\n}\n.widget-middle-right[data-v-164108e0] {\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n.widget-middle-right .chatbox-logo[data-v-164108e0] {\n margin-left: 10px;\n}\n.widget-bottom-left[data-v-164108e0] {\n height: 95%;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n}\n.widget-bottom-left .chatbox-logo[data-v-164108e0] {\n margin-top: 10px;\n}\n.widget-bottom-right[data-v-164108e0] {\n height: 95%;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n align-items: flex-end;\n}\n.widget-bottom-right .chatbox-logo[data-v-164108e0] {\n margin-top: 10px;\n}\n.justify-start[data-v-164108e0] {\n justify-content: flex-start;\n}\n\n/* position dropdown styles */\n.custom-dropdown[data-v-164108e0] {\n position: relative;\n width: 200px;\n}\n.custom-dropdown .selected-option[data-v-164108e0] {\n cursor: pointer;\n padding: 7px 10px;\n border: 1px solid #6644ff;\n border-radius: 4px;\n color: #32324d;\n font-size: 15px;\n}\n.custom-dropdown .options[data-v-164108e0] {\n display: none;\n position: absolute;\n width: 100%;\n background-color: #fff;\n border: 1px solid #6644ff;\n list-style: none;\n margin: 0;\n padding: 0;\n border-radius: 4px;\n top: 100%;\n margin-top: 4px;\n overflow: hidden;\n}\n.custom-dropdown .options.show[data-v-164108e0] {\n display: block;\n}\n.custom-dropdown .options li[data-v-164108e0] {\n padding: 12px 10px;\n cursor: pointer;\n display: block;\n margin-right: 0;\n line-height: 1;\n border-bottom: 1px solid #efefef;\n color: #32324d;\n}\n.options li[data-v-164108e0]:hover {\n background-color: #f4f4f4;\n}\n.custom-dropdown .arrow[data-v-164108e0] {\n position: absolute;\n right: 10px;\n top: 40%;\n width: 0;\n height: 0;\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-top: 8px solid #6644ff;\n transform: rotateX(0deg) translateY(0px);\n transition-duration: 0.6s;\n transition-timing-function: cubic-bezier(0.59, 1.39, 0.37, 1.01);\n}\n.custom-dropdown .expanded[data-v-164108e0] {\n transform: rotateX(180deg) translateY(2px);\n}\n.setting-button[data-v-164108e0] {\n display: flex;\n align-items: center;\n column-gap: 8px;\n border: 1px solid #d7d7d7;\n border-radius: 4px;\n padding: 4px 12px;\n cursor: pointer;\n}\n.setting-button svg[data-v-164108e0] {\n width: 12px;\n}\n.setting-button span[data-v-164108e0] {\n font-size: 12px;\n}\n\n/* Modal Styling */\n@media (min-width: 600px) {\n.container .v-card[data-v-164108e0] {\n min-width: 830px;\n max-width: 830px;\n overflow: hidden;\n}\n}\n.container .v-card .v-card-title[data-v-164108e0] {\n background-color: #f6f6f9;\n margin-top: 0;\n padding: 20px 24px;\n color: #32324d;\n font-size: 16px;\n}\n.main-modal-wrapper .v-card-actions[data-v-164108e0] {\n padding: 20px 24px;\n background-color: #f6f6f9;\n}\n.main-modal-wrapper .modal-close-button[data-v-164108e0] {\n background-color: #6644ff;\n padding: 6px 10px;\n border-radius: 6px;\n color: #fff;\n cursor: pointer;\n}\n.main-modal-wrapper .modal-body[data-v-164108e0] {\n display: flex;\n flex-wrap: wrap;\n gap: 20px 20px;\n padding: 20px;\n overflow: auto;\n max-height: 60vh;\n}\n.main-modal-wrapper .v-list-item[data-v-164108e0] {\n padding: 24px 20px !important;\n flex-basis: calc(50% - 10px);\n flex-shrink: unset;\n flex-grow: unset;\n border-bottom: none;\n box-shadow: 0px 0px 8px 2px #eaeaeab5;\n border-radius: 2px !important;\n}\n.redSettingsBtn[data-v-164108e0] {\n background-color: rgb(231, 205, 205);\n}\n.greenSettingsBtn[data-v-164108e0] {\n background-color: rgb(212, 235, 211);\n}\n',{}),K.render=function(i,f,w,y,A,I){const k=o("v-list-item-title"),T=o("v-col"),M=o("SettingIcon"),S=o("v-row"),C=o("v-list-item"),D=o("v-card-title"),L=o("v-btn"),j=o("v-card-actions"),B=o("v-card"),P=o("v-dialog"),E=o("TooltipIcon"),N=o("ShowIcon"),_=o("HideIcon"),z=o("private-view");return e(),a(z,{title:"Directus - GPT"},{default:s((()=>[n("div",G,[n("ul",O,[n("li",{class:l({"is-active":"collectionsTab"===A.activeTab})},[n("a",{onClick:f[0]||(f[0]=e=>A.activeTab="collectionsTab")},"COLLECTION TYPES")],2),n("li",{class:l({"is-active":"settingsTab"===A.activeTab})},[n("a",{onClick:f[1]||(f[1]=e=>A.activeTab="settingsTab")},"SETTINGS")],2),n("li",{class:l({"is-active":"widgetsTab"===A.activeTab})},[n("a",{onClick:f[2]||(f[2]=e=>A.activeTab="widgetsTab")},"WIDGET")],2)]),n("div",X,[r(n("div",null,[d(" <v-card> "),(e(!0),t(p,null,c(A.collections,((t,i)=>(e(),a(C,{key:i},{default:s((()=>[g(S,{class:"v-list-item-row"},{default:s((()=>[g(T,null,{default:s((()=>[g(k,{class:"v-list-item-title"},{default:s((()=>[u(h(t.collection),1)])),_:2},1024)])),_:2},1024),g(T,null,{default:s((()=>[d(' <label class="switch">\n <input\n type="checkbox"\n :id="\'switch-\' + index"\n v-model="col.isEnabled"\n @click="openFieldsDialog(index)"\n />\n <span class="slider round"></span>\n </label> '),n("div",{class:l(["setting-button","redSettingsBtn",{greenSettingsBtn:t.isEnabled}]),onClick:e=>I.openFieldsDialog(i)},[g(M),R],10,H)])),_:2},1024)])),_:2},1024)])),_:2},1024)))),128)),d(" </v-card> "),d(" fields selection dialog 23052023 "),g(P,{modelValue:A.fieldsDialogVisible,"onUpdate:modelValue":f[3]||(f[3]=e=>A.fieldsDialogVisible=e),"max-width":"500px"},{default:s((()=>[g(B,{class:"main-modal-wrapper"},{default:s((()=>[g(D,null,{default:s((()=>[u("Select Fields")])),_:1}),n("div",Q,[(e(!0),t(p,null,c(A.collections[A.fieldsDialogIndex].fields,((i,o)=>(e(),a(C,null,{default:s((()=>[g(S,{class:"v-list-item-row"},{default:s((()=>[g(T,null,{default:s((()=>[g(k,{class:"v-list-item-title"},{default:s((()=>[u(h(i.field),1)])),_:2},1024)])),_:2},1024),g(T,null,{default:s((()=>[n("label",Y,[r((e(),t("input",{type:"checkbox",id:"switch2-"+o,key:o,"onUpdate:modelValue":e=>i.isEnabled=e},null,8,J)),[[b,i.isEnabled]]),q])])),_:2},1024)])),_:2},1024)])),_:2},1024)))),256))]),g(j,null,{default:s((()=>[g(L,{class:"modal-close-button",color:"primary",text:"",onClick:I.fieldsCloseDialog},{default:s((()=>[u("Close")])),_:1},8,["onClick"])])),_:1})])),_:1})])),_:1},8,["modelValue"])],512),[[m,"collectionsTab"===A.activeTab]]),r(n("div",$,[n("ul",ee,[te,n("div",ne,[g(E),ie]),n("div",oe,[r(n("input",{type:A.showOpenAiApiKey?"text":"password","onUpdate:modelValue":f[4]||(f[4]=e=>A.openAiApiKey=e)},null,8,ae),[[x,A.openAiApiKey]]),d(' <button type="password" @click="switchVisibility(\'showOpenAiApiKey\')">show / hide</button> '),n("button",{type:"password",onClick:f[5]||(f[5]=e=>I.switchVisibility("showOpenAiApiKey")),style:{background:"none",border:"none",cursor:"pointer"}},[A.showOpenAiApiKey?(e(),t("div",se,[g(N)])):(e(),t("div",le,[g(_)]))])]),re]),n("ul",de,[pe,n("div",ce,[g(E),ge]),n("div",ue,[r(n("input",{type:A.showPineconeApiKey?"text":"password","onUpdate:modelValue":f[6]||(f[6]=e=>A.pineconeApiKey=e)},null,8,he),[[x,A.pineconeApiKey]]),n("button",{type:"password",onClick:f[7]||(f[7]=e=>I.switchVisibility("showPineconeApiKey")),style:{background:"none",border:"none",cursor:"pointer"}},[A.showPineconeApiKey?(e(),t("div",be,[g(N)])):(e(),t("div",me,[g(_)]))])]),xe]),n("ul",ve,[fe,n("div",we,[g(E),ye]),n("div",Ae,[r(n("input",{type:"text","onUpdate:modelValue":f[8]||(f[8]=e=>A.pineconeIndexName=e)},null,512),[[v,A.pineconeIndexName]])]),Ie]),n("ul",ke,[Te,n("div",Me,[g(E),Se]),n("div",Ce,[r(n("input",{type:"text","onUpdate:modelValue":f[9]||(f[9]=e=>A.pineconeEnvironment=e)},null,512),[[v,A.pineconeEnvironment]])]),De]),n("ul",Le,[je,n("div",Be,[g(E),Pe]),n("div",Ee,[r(n("input",{type:A.showAblyApiKeyForPublishMessage?"text":"password","onUpdate:modelValue":f[10]||(f[10]=e=>A.ablyApiKeyForPublishMessage=e)},null,8,Ne),[[x,A.ablyApiKeyForPublishMessage]]),n("button",{type:"password",onClick:f[11]||(f[11]=e=>I.switchVisibility("showAblyApiKeyForPublishMessage")),style:{background:"none",border:"none",cursor:"pointer"}},[A.showAblyApiKeyForPublishMessage?(e(),t("div",_e,[g(N)])):(e(),t("div",ze,[g(_)]))])]),We]),n("ul",Ze,[Ke,n("div",Fe,[g(E),Ue]),n("div",Ve,[r(n("input",{type:A.showAblyApiKeyForSubscribeMessage?"text":"password","onUpdate:modelValue":f[12]||(f[12]=e=>A.ablyApiKeyForSubscribeMessage=e)},null,8,Ge),[[x,A.ablyApiKeyForSubscribeMessage]]),n("button",{type:"password",onClick:f[13]||(f[13]=e=>I.switchVisibility("showAblyApiKeyForSubscribeMessage")),style:{background:"none",border:"none",cursor:"pointer"}},[A.showAblyApiKeyForSubscribeMessage?(e(),t("div",Oe,[g(N)])):(e(),t("div",Xe,[g(_)]))])]),He])],512),[[m,"settingsTab"===A.activeTab]]),r(n("div",Re,[d(" Content for tab 3 "),n("div",Qe,[n("ul",null,[n("li",{class:l({"is-active":"widgetContentTab"===A.activeWidgetTab})},[n("a",{onClick:f[14]||(f[14]=e=>A.activeWidgetTab="widgetContentTab")},"CONTENT")],2),n("li",{class:l({"is-active":"widgetAppearanceTab"===A.activeWidgetTab})},[n("a",{onClick:f[15]||(f[15]=e=>A.activeWidgetTab="widgetAppearanceTab")},"APPEARANCE")],2),n("li",{class:l({"is-active":"widgetScriptTab"===A.activeWidgetTab})},[n("a",{onClick:f[16]||(f[16]=e=>A.activeWidgetTab="widgetScriptTab")},"SCRIPT")],2)]),n("div",Ye,[d(" Content tab starts here..... "),r(n("div",null,[n("div",Je,[d(" Chatbot logo "),n("div",qe,[$e,et,n("form",null,[n("div",tt,[n("img",{src:A.support_executive_image,alt:"support executive icon placeholder",srcset:""},null,8,nt),n("img",{src:A.editIconSvgBase64,alt:"edit icon",onClick:f[17]||(f[17]=e=>i.$refs.supportExecutiveImgInput.click())},null,8,it),n("input",{type:"file",accept:"image/png,image/jpeg,image/jpg",onChange:f[18]||(f[18]=(...e)=>I.previewChatbotImg&&I.previewChatbotImg(...e)),class:"form-control-file",id:"support_executive_image",style:{display:"none"},ref:"supportExecutiveImgInput"},null,544)])])]),d(" Chat logo "),n("div",ot,[at,st,n("form",null,[n("div",lt,[n("img",{src:A.company_logo,alt:"company logo placeholder",srcset:""},null,8,rt),n("img",{src:A.editIconSvgBase64,alt:"edit icon",onClick:f[19]||(f[19]=e=>i.$refs.companyLogoInput.click())},null,8,dt),n("input",{type:"file",accept:"image/png,image/jpeg,image/jpg",onChange:f[20]||(f[20]=(...e)=>I.previewChatImg&&I.previewChatImg(...e)),class:"form-control-file",id:"support_executive_image",style:{display:"none"},ref:"companyLogoInput"},null,544),d(' <label for="company_logo">Select Image</label>\n <input\n type="file"\n accept="image/png,image/jpeg,image/jpg"\n @change="previewChatImg"\n class="form-control-file"\n id="company_logo"\n />\n\n <div class="border p-2 mt-3">\n <p>Preview Here:</p>\n <template v-if="company_logo">\n <img :src="company_logo" height="40" width="40" />\n </template>\n </div> ')])])])]),n("div",pt,[ct,r(n("input",{type:"text",id:"support_message","onUpdate:modelValue":f[21]||(f[21]=e=>A.chatWidgetSettings.support_message=e)},null,512),[[v,A.chatWidgetSettings.support_message]])])],512),[[m,"widgetContentTab"===A.activeWidgetTab]]),d(" Appearance tab starts here..... "),r(n("div",null,[n("div",gt,[ut,n("div",{class:"custom-dropdown",onClick:f[22]||(f[22]=(...e)=>I.toggleDropdown&&I.toggleDropdown(...e))},[n("div",ht,[u(h(A.selectedPosition)+" ",1),n("div",{class:l(["arrow",{expanded:A.isDropdownVisible}])},null,2)]),n("ul",{class:l(["options",{show:A.isDropdownVisible}])},[(e(!0),t(p,null,c(A.availablePositions,(n=>(e(),t("li",{key:n.value,onClick:e=>I.selectOption(n)},h(n.label),9,bt)))),128))],2)])]),n("div",mt,[n("div",xt,[r(n("input",{type:"color",id:"header-background",class:"custom-rounded-color-picker","onUpdate:modelValue":f[23]||(f[23]=e=>A.chatWidgetSettings.colors.headerBackground=e),onInput:f[24]||(f[24]=e=>I.updateColor("headerBackground"))},null,544),[[v,A.chatWidgetSettings.colors.headerBackground]]),n("div",vt,[ft,n("span",wt,h(I.getColorCode(A.chatWidgetSettings.colors.headerBackground)),1)])]),n("div",yt,[r(n("input",{type:"color",id:"header-text","onUpdate:modelValue":f[25]||(f[25]=e=>A.chatWidgetSettings.colors.headerText=e),onInput:f[26]||(f[26]=e=>I.updateColor("headerText")),class:"custom-rounded-color-picker"},null,544),[[v,A.chatWidgetSettings.colors.headerText]]),n("div",At,[It,n("span",kt,h(I.getColorCode(A.chatWidgetSettings.colors.headerText)),1)])]),n("div",Tt,[r(n("input",{type:"color",id:"agent-message-background","onUpdate:modelValue":f[27]||(f[27]=e=>A.chatWidgetSettings.colors.agentMessageBackground=e),onInput:f[28]||(f[28]=e=>I.updateColor("agentMessageBackground")),class:"custom-rounded-color-picker"},null,544),[[v,A.chatWidgetSettings.colors.agentMessageBackground]]),n("div",Mt,[St,n("span",Ct,h(I.getColorCode(A.chatWidgetSettings.colors.agentMessageBackground)),1)])]),n("div",Dt,[r(n("input",{type:"color",id:"agent-text","onUpdate:modelValue":f[29]||(f[29]=e=>A.chatWidgetSettings.colors.agentText=e),onInput:f[30]||(f[30]=e=>I.updateColor("agentText")),class:"custom-rounded-color-picker"},null,544),[[v,A.chatWidgetSettings.colors.agentText]]),n("div",Lt,[jt,n("span",Bt,h(I.getColorCode(A.chatWidgetSettings.colors.agentText)),1)])]),n("div",Pt,[r(n("input",{type:"color",id:"visitor-message-background","onUpdate:modelValue":f[31]||(f[31]=e=>A.chatWidgetSettings.colors.visitorMessageBackground=e),onInput:f[32]||(f[32]=e=>I.updateColor("visitorMessageBackground")),class:"custom-rounded-color-picker"},null,544),[[v,A.chatWidgetSettings.colors.visitorMessageBackground]]),n("div",Et,[Nt,n("span",_t,h(I.getColorCode(A.chatWidgetSettings.colors.visitorMessageBackground)),1)])]),n("div",zt,[r(n("input",{type:"color",id:"visitor-text","onUpdate:modelValue":f[33]||(f[33]=e=>A.chatWidgetSettings.colors.visitorText=e),onInput:f[34]||(f[34]=e=>I.updateColor("visitorText")),class:"custom-rounded-color-picker"},null,544),[[v,A.chatWidgetSettings.colors.visitorText]]),n("div",Wt,[Zt,n("span",Kt,h(I.getColorCode(A.chatWidgetSettings.colors.visitorText)),1)])])])],512),[[m,"widgetAppearanceTab"===A.activeWidgetTab]]),d(" Script tab starts here..... "),r(n("div",null,[n("div",Ft,[Ut,n("div",Vt,[Gt,r(n("input",{type:"text",id:"frontendHost","onUpdate:modelValue":f[35]||(f[35]=e=>A.frontendHost=e),onInput:f[36]||(f[36]=(...e)=>I.updateScript&&I.updateScript(...e))},null,544),[[v,A.frontendHost]])]),n("div",Ot,[Xt,r(n("input",{type:"text",id:"backendHost","onUpdate:modelValue":f[37]||(f[37]=e=>A.backendHost=e),onInput:f[38]||(f[38]=(...e)=>I.updateScript&&I.updateScript(...e))},null,544),[[v,A.backendHost]])]),n("div",Ht,[n("textarea",Rt,h(A.scriptTag),1)]),n("div",Qt,[n("button",{onClick:f[39]||(f[39]=(...e)=>I.copyScript&&I.copyScript(...e))},"Copy Script")])])],512),[[m,"widgetScriptTab"===A.activeWidgetTab]])])]),n("div",Yt,[d(" Chat widget "),"widgetsTab"===A.activeTab?(e(),t("div",{key:0,class:l(["chatbox-container",A.chatWidgetSettings.widgetIconAlignment||"widget-bottom-right"])},[n("div",Jt,[n("div",qt,[n("img",{src:A.support_executive_image},null,8,$t),n("h1",en,h(A.chatWidgetSettings.support_message),1)]),n("div",tn,[(e(!0),t(p,null,c(A.messages,((i,o)=>(e(),t("div",{key:o,class:l(["message",i.sender?"sender":"receiver"])},[n("div",nn,[n("div",on,[u(h(i.text)+" ",1),an])])],2)))),128))]),n("div",sn,[r(n("input",{"onUpdate:modelValue":f[40]||(f[40]=e=>i.currentMessage=e),type:"text",class:"messageInput",placeholder:"Ask me anything about this site...",readonly:""},null,512),[[v,i.currentMessage]]),ln])]),n("img",{class:"chatbox-logo",src:A.company_logo},null,8,rn)],2)):d("v-if",!0)])],512),[[m,"widgetsT