@robylon/web-react-sdk 1.1.38-staging.10 → 1.1.38-staging.8

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/dist/cjs/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react"),t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},t(e,n)};var n=function(){return n=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};function i(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{l(i.next(e))}catch(e){r(e)}}function s(e){try{l(i.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((i=i.apply(e,t||[])).next())}))}function o(e,t){var n,i,o,r={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=s(0),a.throw=s(1),a.return=s(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(r=0)),r;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return r.label++,{value:s[1],done:!1};case 5:r.label++,i=s[1],s=[0];continue;case 7:s=r.ops.pop(),r.trys.pop();continue;default:if(!(o=r.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){r=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){r.label=s[1];break}if(6===s[0]&&r.label<o[1]){r.label=o[1],o=s;break}if(o&&r.label<o[2]){r.label=o[2],r.ops.push(s);break}o[2]&&r.ops.pop(),r.trys.pop();continue}s=t.call(e,r)}catch(e){s=[6,e],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}"function"==typeof SuppressedError&&SuppressedError;var r=function(e,t){void 0===t&&(t=.5);var n=function(e){e=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(function(e,t,n,i){return t+t+n+n+i+i}));var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:{r:0,g:0,b:0}}(e),i=function(e,t,n){var i=[e,t,n].map((function(e){return(e/=255)<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}));return.2126*i[0]+.7152*i[1]+.0722*i[2]}(n.r,n.g,n.b);return i>t?"#0E0E0F":"#FFFFFF"},a={log:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];console.log.apply(console,e)},error:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];console.error.apply(console,e)},warn:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];console.warn.apply(console,e)},info:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];console.info.apply(console,e)}};a.log("Raw API_URL:","https://stage-api.robylon.ai");var s={copilotUrl:"https://staging.d2s3wsqyyond1h.amplifyapp.com",environment:"staging",apiUrl:"https://stage-api.robylon.ai"};a.log("CONFIG",s);var l,c,d=function(){return"undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement},u=function(){return{copilotUrl:s.copilotUrl||"https://app.robylon.ai",environment:s.environment||"production",apiUrl:s.apiUrl||"https://app.robylon.ai"}};!function(e){e.CHATBOT_BUTTON_LOADED="CHATBOT_BUTTON_LOADED",e.CHATBOT_BUTTON_CLICKED="CHATBOT_BUTTON_CLICKED",e.CHATBOT_OPENED="CHATBOT_OPENED",e.CHATBOT_CLOSED="CHATBOT_CLOSED",e.CHATBOT_APP_READY="CHATBOT_APP_READY",e.CHATBOT_LOADED="CHATBOT_LOADED",e.CHAT_INITIALIZED="CHAT_INITIALIZED",e.SESSION_REFRESHED="SESSION_REFRESHED",e.CHAT_INITIALIZATION_FAILED="CHAT_INITIALIZATION_FAILED"}(l||(l={})),function(e){e.CHAT_MOVED="CHAT_MOVED",e.CHATBOT_TOKEN_EXHAUSTED="CHATBOT_TOKEN_EXHAUSTED"}(c||(c={}));var f,p=e.memo((function(t){var i,o,s,c,d,f=t.config,p=t.toggleIframe,h=t.isIframeVisible,m=t.onEvent,v=t.onInternalEvent,g=e.useRef(null),b=u().copilotUrl,E=e.useState(!1),w=E[0],y=E[1];e.useEffect((function(){var e=function(){var e=(null===window||void 0===window?void 0:window.innerWidth)<560;y(e)};return e(),window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[]),e.useEffect((function(){g.current&&requestAnimationFrame((function(){null==m||m({type:l.CHATBOT_BUTTON_LOADED,timestamp:Date.now()}),v(l.CHATBOT_BUTTON_LOADED)}))}),[m,v]);var _={zIndex:1e3,width:"48px",height:"48px",display:"flex",flexDirection:"column-reverse",backgroundColor:f.brand_colour,color:r(f.brand_colour),borderRadius:"50%",alignItems:"center",justifyContent:"center",cursor:"pointer",overflow:"hidden",marginTop:"16px"},I=(null===(s=f.interface_properties)||void 0===s?void 0:s.position)||"Right",C=(null===(c=f.interface_properties)||void 0===c?void 0:c.side_spacing)||20,T=(null===(d=f.interface_properties)||void 0===d?void 0:d.bottom_spacing)||20,x=n(n({},_),((i={position:void 0,bottom:"0"})[I.toLowerCase()]="0",i)),O=n(n({},_),((o={position:"fixed",bottom:"".concat(T,"px")})[I.toLowerCase()]="".concat(C,"px"),o)),A=w?O:x;return e.useEffect((function(){a.log("Screen width changed, isMobile:",w,"Style:",A)}),[w,A]),e.createElement("div",{ref:g,className:"message-bubble-container",style:A,onClick:p},h?e.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("g",{id:"Chevron_Down"},e.createElement("path",{id:"Vector",d:"M19 9L12 16L5 9",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}))):e.createElement("img",{src:f.image_url||"".concat(b,"/chatbubble.png"),alt:"Chat",style:{zIndex:1e3,cursor:"pointer",borderRadius:"50%",objectFit:"cover",width:"100%",height:"100%"}}))})),h=function(){var e;return(null===(e=navigator.userAgentData)||void 0===e?void 0:e.platform)||(/Windows|Mac|Linux|Android|iOS/.exec(navigator.userAgent)||["Unknown"])[0]},m=function(){var e;if(null===(e=navigator.userAgentData)||void 0===e?void 0:e.brands)for(var t=["Chrome","Firefox","Safari","Edge","Opera"],n=0,i=navigator.userAgentData.brands;n<i.length;n++){var o=i[n];if(t.includes(o.brand))return o.brand}return(/Chrome|Firefox|Safari|Edge|Opera/.exec(navigator.userAgent)||["Unknown"])[0]},v=function(){var e,t,n,i;return{width:(null===window||void 0===window?void 0:window.innerWidth)||(null===(e=null===document||void 0===document?void 0:document.documentElement)||void 0===e?void 0:e.clientWidth)||(null===(t=null===document||void 0===document?void 0:document.body)||void 0===t?void 0:t.clientWidth),height:(null===window||void 0===window?void 0:window.innerHeight)||(null===(n=null===document||void 0===document?void 0:document.documentElement)||void 0===n?void 0:n.clientHeight)||(null===(i=null===document||void 0===document?void 0:document.body)||void 0===i?void 0:i.clientHeight)}},g=function(){return{platform:"web",os:h(),browser:m(),sdk_version:"1.1.38-staging.10",device:(e=navigator.userAgent.toLowerCase(),/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(e)?"tablet":/Mobile|Android|iP(hone|od)|IEMobile|BlackBerry|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(e)?"mobile":"desktop"),screen_size:v()};var e};!function(e){e.ERROR="ERROR",e.INFO="INFO"}(f||(f={}));var b,E,w,y=["@robylon/web-react-sdk","node_modules/@robylon/web-react-sdk/"],_=function(e){var t=e.filename,n=e.stack,i=e.message;return!!(t||n||i)&&y.some((function(e){return(null==t?void 0:t.includes(e))||(null==n?void 0:n.includes(e))||(null==i?void 0:i.includes(e))}))},I=function(){function e(){var e=this;this.apiKey="",this.userId=null,this.preInitQueue=[],this.isInitialized=!1,this.handleWindowError=function(t){var n,i={filename:t.filename,stack:null===(n=t.error)||void 0===n?void 0:n.stack,message:t.message};_(i)&&e.trackError(t.error||t.message,"GlobalErrorHandler",{filename:t.filename,lineNo:t.lineno,colNo:t.colno})},this.handleUnhandledRejection=function(t){var n,i,o={stack:null===(n=t.reason)||void 0===n?void 0:n.stack,message:(null===(i=t.reason)||void 0===i?void 0:i.message)||String(t.reason)};_(o)&&e.trackError(t.reason||"Unhandled Promise Rejection","GlobalPromiseHandler",{reason:t.reason})},this.setupGlobalHandlers()}return e.prototype.setupGlobalHandlers=function(){d()&&(null===window||void 0===window||window.addEventListener("error",null==this?void 0:this.handleWindowError),null===window||void 0===window||window.addEventListener("unhandledrejection",this.handleUnhandledRejection))},e.prototype.cleanup=function(){d()&&(null===window||void 0===window||window.removeEventListener("error",null==this?void 0:this.handleWindowError),null===window||void 0===window||window.removeEventListener("unhandledrejection",this.handleUnhandledRejection))},e.getInstance=function(){return e.instance||(e.instance=new e),e.instance},e.prototype.initialize=function(e,t){void 0===t&&(t=null);try{if(this.preInitQueue.length>0){var n={org_id:"UNINITALIZED",event_data:{message:"SDK Initialization Failed: Required parameter 'api_key' is ".concat(void 0===e?"undefined":null===e?"null":""===e?"empty string":"invalid: ".concat(e)),componentName:"ErrorTrackingService",additionalInfo:{preInitError:!0,apiKey:e,userId:t,timestamp:Date.now()},timestamp:Date.now()},metadata:g(),event_type:f.ERROR,user_id:t};this.sendLog(n).catch(console.error)}this.apiKey=e,this.userId=t,this.isInitialized=!0,this.processPreInitQueue()}catch(n){a.error("Error during ErrorTrackingService initialization:",n),this.preInitQueue.push({error:n instanceof Error?n:new Error(String(n)),componentName:"ErrorTrackingService",additionalInfo:{apiKey:e,userId:t}})}},e.prototype.processPreInitQueue=function(){return i(this,void 0,void 0,(function(){var e,t,i;return o(this,(function(o){switch(o.label){case 0:if(!this.preInitQueue.length)return[2];a.info("Processing ".concat(this.preInitQueue.length," pre-initialization errors")),e=0,t=this.preInitQueue,o.label=1;case 1:return e<t.length?(i=t[e],[4,this.trackError(i.error,i.componentName,n(n({},i.additionalInfo),{preInitError:!0}))]):[3,4];case 2:o.sent(),o.label=3;case 3:return e++,[3,1];case 4:return this.preInitQueue=[],[2]}}))}))},e.prototype.sendLog=function(e){return i(this,void 0,void 0,(function(){var t,n,i,r,s,l;return o(this,(function(o){switch(o.label){case 0:return o.trys.push([0,4,,5]),t=u().apiUrl,[4,fetch("".concat(t,"/users/sdk/record-logs/"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})];case 1:return(n=o.sent()).ok?[3,3]:(r=(i=a).error,s=["Failed to send error log:"],[4,n.text()]);case 2:r.apply(i,s.concat([o.sent()])),o.label=3;case 3:return[3,5];case 4:return l=o.sent(),a.error("Error sending log:",l),[3,5];case 5:return[2]}}))}))},e.prototype.trackError=function(e,t,r){return i(this,void 0,void 0,(function(){var i,s,l;return o(this,(function(o){switch(o.label){case 0:if(this.isInitialized)return[3,5];i={org_id:"UNINITALIZED",event_data:{message:e instanceof Error?e.message:e,stack:e instanceof Error?e.stack:void 0,componentName:t,additionalInfo:n(n({},r),{preInitError:!0,timestamp:Date.now()}),timestamp:Date.now()},metadata:g(),event_type:f.ERROR,user_id:this.userId},o.label=1;case 1:return o.trys.push([1,3,,4]),[4,this.sendLog(i)];case 2:return o.sent(),[3,4];case 3:return o.sent(),this.preInitQueue.push({error:e,componentName:t,additionalInfo:r}),a.warn("Error tracked before initialization, queuing:",e),[3,4];case 4:return[2];case 5:return s={message:e instanceof Error?e.message:e,stack:e instanceof Error?e.stack:void 0,componentName:t,additionalInfo:n(n({},r),{timestamp:Date.now()}),timestamp:Date.now()},l={org_id:this.apiKey||"UNINITALIZED",event_data:s,metadata:g(),event_type:f.ERROR,user_id:this.userId},[4,this.sendLog(l)];case 6:return o.sent(),[2]}}))}))},e.prototype.trackInfo=function(e,t,n){return i(this,void 0,void 0,(function(){var i,r;return o(this,(function(o){switch(o.label){case 0:return this.apiKey?(i={message:e,componentName:t,additionalInfo:n,timestamp:Date.now()},r={org_id:this.apiKey,event_data:i,metadata:g(),event_type:f.INFO,user_id:this.userId},[4,this.sendLog(r)]):(a.error("Error tracking not initialized"),[2]);case 1:return o.sent(),[2]}}))}))},e}(),C=I.getInstance(),T="MISSING_API_KEY",x="INVALID_API_KEY",O="CONFIG_FETCH_FAILED",A="SDK_INIT_FAILED",k="ERROR_TRACKING_INIT_FAILED",D="API_REQUEST_FAILED",S="NETWORK_ERROR",R="INVALID_RESPONSE",L="IFRAME_LOAD_FAILED",N="COOKIE_ACCESS_ERROR",z="COMPONENT_RENDER_ERROR",M="INITIALIZATION_ERROR",H="API_ERROR",B="RUNTIME_ERROR",U="COMPONENT_ERROR",F=((b={})[T]=function(e){return"SDK Initialization Failed: Required parameter 'api_key' is ".concat(void 0===e?"undefined":null===e?"null":""===e?"empty string":"invalid: ".concat(e),". A valid API key string is required to initialize the SDK.")},b[x]=function(e){return"SDK Initialization Failed: Provided API key '".concat(e,"' is invalid. API key must be a non-empty string in UUID format.")},b[O]=function(e){return"Failed to fetch chatbot configuration: ".concat(e.statusCode?"Server responded with status ".concat(e.statusCode):"Could not reach server").concat(e.error?". Error: ".concat(e.error):"")},b[D]=function(e,t,n){return"API Request Failed: Server responded with status ".concat(e," for ").concat(n?"endpoint ".concat(n):"request"," - ").concat(t)},b[S]=function(e){return"Network Error: Failed to communicate with server".concat(e.url?" at ".concat(e.url):"").concat(e.error?" - ".concat(e.error):"")},b[L]=function(e){return"Failed to load chatbot interface".concat(e.src?" from ".concat(e.src):"").concat(e.error?". Error: ".concat(e.error):"")},b[R]=function(e){return"Invalid API Response: Missing required fields in response data: ".concat(e.join(", "))},b[k]=function(e){return"Error Tracking Service initialization failed".concat(e.apiKey?" for API key ".concat(e.apiKey):"").concat(e.error?". Error: ".concat(e.error):"")},b[A]=function(e){return"SDK Initialization Failed: ".concat(e.reason||"Could not initialize the chatbot SDK").concat(e.config?". Attempted initialization with config: ".concat(JSON.stringify(e.config,null,2)):"")},b[N]=function(e,t){return"Cookie Access Error: Failed to ".concat(e).concat(t?" cookie '".concat(t,"'"):" cookies",". This may affect user session persistence.")},b[z]=function(e){return"React Component Error: ".concat(e.component||"Unknown component"," failed to render. Error: ").concat(e.error).concat(e.stack?"\nComponent Stack: ".concat(e.stack):"")},b),j=e.memo((function(t){var n=t.config,i=t.isVisible,o=t.onClose,r=t.onEvent,a=t.onInternalEvent,s=e.useRef(null),d=e.useRef(!1),f=e.useRef(!1),p=e.useCallback((function(){var e=s.current;e&&((null===window||void 0===window?void 0:window.innerWidth)<560?(e.style.width="100vw",e.style.minWidth="300px",e.style.right="0",e.style.bottom="0",e.style.height="100vh",e.style.flexDirection="column",e.style.flexGrow="1",e.style.borderRadius="0",e.style.top="0",e.style.maxHeight="100%",e.style.position="fixed"):(e.style.width="26%",e.style.minWidth="400px",e.style.height="calc(100vh - 3rem - 10vh)",e.style.borderRadius="1rem",e.style.top="calc(10vh - 32px)",e.style.maxHeight="50rem",e.style.position=""))}),[a]);return e.useEffect((function(){return null===window||void 0===window||window.addEventListener("resize",p),p(),function(){return null===window||void 0===window?void 0:window.removeEventListener("resize",p)}}),[p]),e.useEffect((function(){var e=s.current;if(e&&!d.current){var t=u().copilotUrl;e.src="".concat(t,"/chatbot-plugin?id=").concat(n.chatbotId),d.current=!0;var i=function(){var n,i,o=new URL(e.src).origin||t;null===(n=e.contentWindow)||void 0===n||n.postMessage({domain:null===(i=null===window||void 0===window?void 0:window.location)||void 0===i?void 0:i.hostname,name:"checkDomain"},o)};return e.addEventListener("load",i),function(){return e.removeEventListener("load",i)}}}),[n.chatbotId]),e.useEffect((function(){var e,t,o,r,a=s.current;if(a&&d.current){var l=u().copilotUrl;if(a.style.display=i?"block":"none",a.contentWindow&&i){var c=new URL(a.src).origin||l;null===(e=null==a?void 0:a.contentWindow)||void 0===e||e.postMessage({domain:null===(t=null===window||void 0===window?void 0:window.location)||void 0===t?void 0:t.hostname,name:"openFrame"},c),(null==f?void 0:f.current)||(null===(o=a.contentWindow)||void 0===o||o.postMessage({domain:null===(r=null===window||void 0===window?void 0:window.location)||void 0===r?void 0:r.hostname,action:"registerUserId",data:{userId:null==n?void 0:n.userId,token:null==n?void 0:n.token,userProfile:null==n?void 0:n.userProfile,isAnonymous:null==n?void 0:n.isAnonymous}},c),f.current=!0)}}}),[i,n.userId,n.token,n.userProfile]),e.useEffect((function(){if(s.current&&d.current){var e=u().copilotUrl;i&&(null==r||r({type:l.CHATBOT_OPENED,timestamp:Date.now()}),a(l.CHATBOT_OPENED));var t=function(t){var n,i,s,d,u,f,p;if(t.origin===e){if("closeChatbot"===t.data)return void o();if("CHATBOT_TOKEN_EXHAUSTED"===(null===(n=t.data)||void 0===n?void 0:n.type))return void a(c.CHATBOT_TOKEN_EXHAUSTED);"CHATBOT_LOADED"===(null===(i=t.data)||void 0===i?void 0:i.type)&&(null==r||r({type:l.CHATBOT_LOADED,timestamp:Date.now()}),a(l.CHATBOT_LOADED)),"CHAT_INITIALIZED"===(null===(s=t.data)||void 0===s?void 0:s.type)&&(null==r||r({type:l.CHAT_INITIALIZED,timestamp:Date.now()}),a(l.CHAT_INITIALIZED)),"CHAT_INITIALIZATION_FAILED"===(null===(d=t.data)||void 0===d?void 0:d.type)&&(null==r||r({type:l.CHAT_INITIALIZATION_FAILED,timestamp:Date.now()}),a(l.CHAT_INITIALIZATION_FAILED,{error:null===(u=t.data)||void 0===u?void 0:u.error})),"SESSION_REFRESHED"===(null===(f=t.data)||void 0===f?void 0:f.type)&&(null==r||r({type:l.SESSION_REFRESHED,timestamp:Date.now()}),a(l.SESSION_REFRESHED)),"CHAT_MOVED"===(null===(p=t.data)||void 0===p?void 0:p.type)&&a(c.CHAT_MOVED,{from:t.data.from,to:t.data.to,trigger:t.data.trigger})}};return null===window||void 0===window||window.addEventListener("message",t),function(){return null===window||void 0===window?void 0:window.removeEventListener("message",t)}}}),[o,r,a,n.chatbotId,i]),e.useEffect((function(){var e=s.current;if(e&&d.current){var t=function(){C.trackError(new Error(F[L]({src:e.src,error:"Failed to load iframe"})),"ChatbotIframe",{errorCode:L,errorType:B,context:{config:n,iframeUrl:e.src,timestamp:Date.now()}})};return e.addEventListener("error",t),function(){return e.removeEventListener("error",t)}}}),[n]),e.useEffect((function(){var e;if(s.current&&n&&i){var t=s.current,o=u().copilotUrl;null===(e=t.contentWindow)||void 0===e||e.postMessage({action:"updateUserProfile",user_profile:n.userProfile},o)}}),[n.userProfile,i]),e.createElement("iframe",{ref:s,id:"chat-iframe-rbyln",style:{zIndex:2e7,border:"none",boxShadow:"0px 0px 40px 0px rgba(14, 14, 15, 0.24)",transformOrigin:"bottom right",transition:"transform 0.3s ease-out",display:i?"block":"none"}})})),P=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={hasError:!1},t}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(n,e),n.getDerivedStateFromError=function(e){return{hasError:!0}},n.prototype.componentDidCatch=function(e,t){C.trackError(new Error(F[z]({component:this.props.componentName||void 0,error:e.message,stack:t.componentStack})),this.props.componentName||void 0,{errorCode:z,errorType:U,context:{originalError:e,componentStack:t.componentStack,timestamp:Date.now()}})},n.prototype.render=function(){return this.state.hasError?null:this.props.children},n}(e.Component),W=function(e,t,n){return i(void 0,void 0,void 0,(function(){var i,r,s,l,c,d,f,p;return o(this,(function(o){switch(o.label){case 0:i=u().apiUrl,r="".concat(i,"/chat/chatbot/get/"),a.log("endpointUrl",r),s={client_user_id:t,org_id:e,token:n||void 0,extra_info:{}},o.label=1;case 1:return o.trys.push([1,6,,7]),[4,fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)})];case 2:return(l=o.sent()).ok?[3,4]:[4,l.text()];case 3:throw c=o.sent(),new Error(F[D](l.status,c));case 4:return[4,l.json()];case 5:if(d=o.sent(),!(null===(p=null==d?void 0:d.user)||void 0===p?void 0:p.org_info))throw new Error(F[R](["user","org_info"]));return[2,d];case 6:throw f=o.sent(),C.trackError(f instanceof Error?f:new Error(F[S]({error:String(f)})),"fetchChatbotConfig",{errorCode:f instanceof Error&&f.message.includes("API Request Failed")?D:S,errorType:H,context:{chatbotId:e,userId:t,apiUrl:i,statusCode:f instanceof Response?f.status:void 0,timestamp:Date.now(),requestPayload:{client_user_id:t,org_id:e}}}),f;case 7:return[2]}}))}))},V=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))},K=function(e){var t,n="; ".concat(document.cookie).split("; ".concat(e,"="));if(2===n.length)return null===(t=n.pop())||void 0===t?void 0:t.split(";").shift()},J=function(e,t,n){var i=new Date;i.setTime(i.getTime()+24*n*60*60*1e3),document.cookie="".concat(e,"=").concat(t,";expires=").concat(i.toUTCString(),";path=/")},Z=function(e){var t=e?"USER_DATA=%7B%22attributes%22%3A%5B%7B%22key%22%3A%22USER_ATTRIBUTE_USER_EMAIL%22%2C%22value%22%3A%22dinesh.goel%40robylon.ai%22%7D%2C%7B%22key%22%3A%22USER_ATTRIBUTE_UNIQUE_ID%22%2C%22value%22%3A%2266011f2c28d1787d13c6c796%22%7D%5D%2C%22subscribedToOldSdk%22%3Afalse%2C%22deviceUuid%22%3A%2226c02feb-2664-451d-8469-9cf1378547c6%22%2C%22deviceAdded%22%3Atrue%7D; _ga_3YS9P6ZDWX=GS1.1.1715252584.3.1.1715258696.39.0.0; _ga_V4J24F7YF9=GS1.1.1715273274.2.0.1715273274.0.0.0; city_name=Bengaluru; lang_code=en-in; cookieConcent=A; _gcl_au=1.1.343275043.1717154298; _clck=43guwd%7C2%7Cfmi%7C0%7C1561; _gid=GA1.2.1423066649.1718210058; moe_uuid=26c02feb-2664-451d-8469-9cf1378547c6; _ga_6RM65PWEZY=GS1.1.1718210058.18.1.1718211647.60.0.0; _ga=GA1.1.689213983.1712737672; AMP_MKTG_fe4beb374f=JTdCJTIycmVmZXJyZXIlMjIlM0ElMjJodHRwcyUzQSUyRiUyRmFjY291bnRzLnRlYWNobWludC5jb20lMkYlMjIlMkMlMjJyZWZlcnJpbmdfZG9tYWluJTIyJTNBJTIyYWNjb3VudHMudGVhY2htaW50LmNvbSUyMiU3RA==; AMP_fe4beb374f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjI0MWMxMTljZC03YzVjLTRiYTctYTUzZS1mYTgzMjRlYjc0OWUlMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjIxZjI2ODAwOC01OGYxLTQwYTItYjQ0Ni1mYmQ5N2E0NDQyYTAlMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzE4MjEzMzEwOTc3JTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTcxODIxMzMxMDk4MSUyQyUyMmxhc3RFdmVudElkJTIyJTNBMTQlN0Q=; _ga_3YS9P6ZDWX=GS1.1.1718211637.26.1.1718213441.60.0.0; SESSION=%7B%22sessionKey%22%3A%22e4d76f52-9053-4277-99a4-f1ba667fd5f2%22%2C%22sessionStartTime%22%3A%222024-06-12T16%3A34%3A19.047Z%22%2C%22sessionMaxTime%22%3A1800%2C%22customIdentifiersToTrack%22%3A%5B%5D%2C%22sessionExpiryTime%22%3A1718215247464%2C%22numberOfSessions%22%3A17%7D":document.cookie;return t=t.split(";").map((function(e){var t=e.split("="),n=t[0],i=t.slice(1).join("=").trim();return{name:n=n.trim(),value:i?decodeURIComponent(i):""}})),t},G=function(){function e(e){this.logoContainer=null,this.iframe=null,this.bubblePromptContainer=null,this.chatBtnImage=null,this.config=e,this.validateDomain()&&this.init(),null===window||void 0===window||window.addEventListener("message",this.onCloseListener.bind(this),!1)}return e.prototype.onCloseListener=function(e){e.origin===this.config.domain&&"closeChatbot"===e.data&&this.closeIframe()},e.prototype.validateDomain=function(){var e,t=this.config.domain,n=null===(e=null===window||void 0===window?void 0:window.location)||void 0===e?void 0:e.origin;return a.log("expectedDomain, to current domain",t,n,t===n),t===n},e.prototype.createChatBubblContainer=function(){var e,t=this,n=document.createElement("div");n.id="chatbase-message-bubbles",Object.assign(n.style,{position:"fixed",bottom:"80px",borderRadius:"10px",fontFamily:"sans-serif",fontSize:"16px",zIndex:"2147483644",cursor:"pointer",flexDirection:"column",gap:"50px",maxWidth:"70vw",display:"block",right:"1rem",left:"unset"});var i=document.createElement("div");i.classList.add("close-btn"),i.textContent="✕",Object.assign(i.style,{position:"absolute",top:"-7px",right:"-7px",fontWeight:"bold",display:"none",justifyContent:"center",alignItems:"center",zIndex:"2147483643",width:"22px",height:"22px",borderRadius:"50%",textAlign:"center",fontSize:"12px",cursor:"pointer",backgroundColor:"rgb(224, 224, 224)",color:"black",boxShadow:"rgba(150, 150, 150, 0.15) 0px 6px 24px 0px, rgba(150, 150, 150, 0.15) 0px 0px 0px 1px"}),((null===(e=this.config.chat_interface_config)||void 0===e?void 0:e.chat_bubble_prompts)||[]).forEach((function(e){var i=t.createMessageBubble(e);n.appendChild(i)})),n.appendChild(i),document.body.appendChild(n)},e.prototype.createMessageBubble=function(e){var t=document.createElement("div");this.bubblePromptContainer=t,Object.assign(t.style,{display:"flex",position:"relative",justifyContent:"flex-end"});var n=document.createElement("div");n.classList.add("message"),n.textContent=e,Object.assign(n.style,{backgroundColor:"white",color:"black",boxShadow:"rgba(150, 150, 150, 0.2) 0px 10px 30px 0px, rgba(150, 150, 150, 0.2) 0px 0px 0px 1px",borderRadius:"10px",padding:"8px 5px",margin:"8px",fontSize:"14px",opacity:"1",transform:"scale(1)",transition:"opacity 0.5s ease 0s, transform 0.5s ease 0s"});var i=document.createElement("button");return i.innerHTML="&times;",Object.assign(i.style,{position:"absolute",top:"1px",left:"-3px",width:"20px",height:"20px",borderRadius:"50%",backgroundColor:"#fff",color:"#000",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",boxShadow:"0 2px 5px rgba(0,0,0,0.2)",fontSize:"14px",lineHeight:"1",padding:"0",zIndex:"100"}),i.addEventListener("click",(function(){t.remove()})),t.appendChild(i),t.appendChild(n),t},e.prototype.createFloatingButton=function(){var e=document.createElement("div");e.classList.add("message-bubble-container"),Object.assign(e.style,{position:"fixed",bottom:"1.5rem",right:"1.5rem",zIndex:"1000",width:"48px",height:"48px",display:"flex",flexDirection:"column-reverse",backgroundColor:this.config.brand_colour,color:r(this.config.brand_colour),borderRadius:"50%",alignItems:"center",justifyContent:"center",cursor:"pointer",overflow:"hidden"}),document.body.appendChild(e),this.logoContainer=e,this.loadImage(this.logoContainer),this.createChatBubblContainer(),this.logoContainer.addEventListener("click",this.toggleIframe.bind(this))},e.prototype.loadImage=function(e){var t=document.createElement("img");t.src=this.config.image_url||"".concat(this.config.domain,"/chatbubble.png"),t.alt="Chat",Object.assign(t.style,{zIndex:"1000",cursor:"pointer",borderRadius:"50%",objectFit:"cover"}),this.chatBtnImage=t,e.innerHTML="",e.appendChild(t)},e.prototype.createIframe=function(){var e=this;a.log("RobylonConfig?.domain====>",this.config.domain);var t=document.createElement("iframe");Object.assign(t.style,{position:"fixed",right:"32px",bottom:"86px",minWidth:"400px",width:"26%",maxWidth:"800px",top:"calc(10vh - 32px)",maxHeight:"45rem",height:"calc(100vh - 3rem - 10vh)",zIndex:"20000000",border:"none",boxShadow:"0px 0px 40px 0px rgba(14, 14, 15, 0.24)",transformOrigin:"bottom right",transition:"transform 0.3s ease-out",borderRadius:"1rem",display:"none"}),t.src="".concat(this.config.domain,"/chatbot-plugin?id=").concat(this.config.chatbotId),a.log("iframe.src====>",t.src),document.body.appendChild(t),this.iframe=t;var n=function(){(null===window||void 0===window?void 0:window.innerWidth)<560?Object.assign(t.style,{width:"100vw",minWidth:"300px",right:"0",bottom:"0",height:"100vh",flexDirection:"column",flexGrow:"1",borderRadius:"0",top:"0",maxHeight:"100%"}):Object.assign(t.style,{width:"26%",minWidth:"400px",right:"32px",bottom:"86px",height:"calc(100vh - 3rem - 10vh)",borderRadius:"1rem",top:"calc(10vh - 32px)",maxHeight:"45rem"})};n(),null===window||void 0===window||window.addEventListener("resize",n),t.addEventListener("load",(function(){var n,i,o,r;if(e.iframe){var a=new URL(e.iframe.src).origin||e.config.domain;null===(n=t.contentWindow)||void 0===n||n.postMessage({domain:null===(i=null===window||void 0===window?void 0:window.location)||void 0===i?void 0:i.hostname,name:"checkDomain"},a),null===(o=t.contentWindow)||void 0===o||o.postMessage({domain:null===(r=null===window||void 0===window?void 0:window.location)||void 0===r?void 0:r.hostname,action:"registerUserId",data:{userId:e.config.userId,token:e.config.token,userProfile:e.config.userProfile}},a)}})),null===window||void 0===window||window.addEventListener("message",(function(n){var i,o;if(n.origin===e.config.domain){if("captureSessionData"===n.data){var r="66b33d16-5b38-4693-8772-1a1bd7dd412d"===e.config.chatbotId,a={cookies:Z(r),localStorage:JSON.stringify(localStorage),sessionStorage:JSON.stringify(sessionStorage),action:"capturedSessionData",domain_name:null===(i=null===window||void 0===window?void 0:window.location)||void 0===i?void 0:i.hostname};null===(o=t.contentWindow)||void 0===o||o.postMessage(a,e.config.domain||"*")}"expand"===n.data&&(e.adjustIframeWidth(),t.style.height="calc(100vh - 120px)",t.style.bottom="86px"),"collapse"===n.data&&Object.assign(t.style,{width:"26%",height:"calc(100vh - 32px - 10vh)",bottom:"86px",top:"calc(32px + 10vh)"})}}))},e.prototype.adjustIframeWidth=function(){if(this.iframe){var e=null===window||void 0===window?void 0:window.innerWidth;a.log("screenWidth",e),this.iframe.style.width=e<832?"".concat(e-64,"px"):"800px"}},e.prototype.loadSvgInline=function(e){var t=document.createElement("div");t.innerHTML='\n<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n <g id="Chevron_Down">\n <path id="Vector" d="M19 9L12 16L5 9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>\n </g>\n</svg>\n';var n=t.querySelector("svg");e.innerHTML="",n&&e.appendChild(n)},e.prototype.toggleIcon=function(e,t){"block"===t.style.display?this.loadSvgInline(e):this.loadImage(e)},e.prototype.toggleIframe=function(){var e;if(a.log("toggleIframe",this.iframe,this.logoContainer,this.chatBtnImage),this.iframe&&this.logoContainer&&this.chatBtnImage){var t=new URL(this.iframe.src).origin||this.config.domain;a.log("toggleIframe"),null===(e=this.iframe.contentWindow)||void 0===e||e.postMessage({domain:null===window||void 0===window?void 0:window.location.hostname,name:"none"===this.iframe.style.display?"openFrame":"closeFrame"},t),this.iframe.style.display="none"===this.iframe.style.display?"block":"none",this.toggleIcon(this.logoContainer,this.iframe),this.chatBtnImage.style.objectFit="block"===this.iframe.style.display?"none":"cover",this.bubblePromptContainer&&(this.bubblePromptContainer.style.display="none"),a.log("this.bubblePromptContainer",this.bubblePromptContainer)}},e.prototype.closeIframe=function(){this.iframe&&this.logoContainer&&this.chatBtnImage&&(this.iframe.style.display="none",this.toggleIcon(this.logoContainer,this.iframe),this.chatBtnImage.style.objectFit="cover")},e.prototype.init=function(){this.createIframe(),this.createFloatingButton()},e}(),Y=function(e,t,n){if(e.chatbotId&&e.userId)try{new G(e);t(!0),a.log("Robylon SDK initialized successfully.")}catch(e){n(e instanceof Error?e.message:"Failed to initialize SDK")}else n("Incomplete configuration for SDK initialization.")},Q=function(t){var r=e.useMemo((function(){return function(e){return{api_key:String(e.api_key||""),user_id:e.user_id?String(e.user_id):null,user_token:e.user_token?String(e.user_token):void 0,user_profile:e.user_profile||{}}}(t)}),[t.api_key,t.user_id,t.user_token,JSON.stringify(t.user_profile)]),a=e.useState({isInitialized:!1,isInitializing:!1,error:null,chatbotConfig:null,isIframeVisible:!1}),s=a[0],l=a[1],c=e.useMemo((function(){var e=["email","name","mobile","platform","OS","browser","sdk_version","device","screen_size","is_test_user"];return r.user_profile?Object.fromEntries(Object.entries(r.user_profile).filter((function(t){var n=t[0];return e.includes(n)})).map((function(e){var t=e[0],n=e[1];return"boolean"==typeof n||"number"==typeof n?[t,n]:[t,String(n)]}))):{}}),[JSON.stringify(r.user_profile)]),d=e.useCallback((function(e){l((function(t){return n(n({},t),e)}))}),[]),u=e.useCallback((function(){return i(void 0,void 0,void 0,(function(){var e,t,i,a,s,l,u,f,p,h,m,v,b,E,w;return o(this,(function(o){switch(o.label){case 0:if(!r.api_key)return C.trackError(new Error(F[T](r.api_key)),"useChatbotState",{errorCode:T,errorType:M,context:{timestamp:Date.now()}}),[2];d({isInitializing:!0}),o.label=1;case 1:return o.trys.push([1,4,5,6]),e=r.user_id||void 0,t=!1,e||(e=K("rblyn_anon")||V(),J("rblyn_anon",e,365),t=!0),[4,W(r.api_key,e,r.user_token)];case 2:return i=o.sent(),a=g(),s=n(n({},a),c),l={chatbotId:r.api_key,userId:e,token:r.user_token,isAnonymous:t,domain:"",brand_colour:(null===(h=null===(p=i.user.org_info.brand_config)||void 0===p?void 0:p.colors)||void 0===h?void 0:h.brand_color)||"",image_url:(null===(v=null===(m=i.user.org_info)||void 0===m?void 0:m.brand_config)||void 0===v?void 0:v.launcher_logo_url)||"",userProfile:s,chat_interface_config:{chat_bubble_prompts:[],display_name:(null===(b=i.user.org_info.brand_config)||void 0===b?void 0:b.display_name)||"",welcome_message:(null===(E=i.user.org_info.brand_config)||void 0===E?void 0:E.welcome_message)||"Hey! What can we help you with today?",redirect_url:(null===(w=i.user.org_info.brand_config)||void 0===w?void 0:w.redirect_url)||""}},[4,new Promise((function(e,t){Y(l,(function(){d({isInitialized:!0,chatbotConfig:l}),e()}),(function(e){t(e)}))}))];case 3:return o.sent(),[3,6];case 4:return u=o.sent(),f=u instanceof Error?u.message:"Failed to initialize chatbot",d({error:f}),C.trackError(u instanceof Error?u:new Error(f),"useChatbotState",{errorCode:A,errorType:M,context:{timestamp:Date.now()}}),[3,6];case 5:return d({isInitializing:!1}),[7];case 6:return[2]}}))}))}),[r.api_key,r.user_id,r.user_token]);e.useEffect((function(){r.api_key&&u()}),[u]),e.useEffect((function(){s.chatbotConfig&&l((function(e){return n(n({},e),{chatbotConfig:n(n({},e.chatbotConfig),{userProfile:n(n({},g()),c)})})}))}),[c]);var f=e.useCallback((function(){l((function(e){return n(n({},e),{isIframeVisible:!e.isIframeVisible})}))}),[]),p=e.useCallback((function(){d({isIframeVisible:!1})}),[]);return n(n({},s),{toggleIframeVisibility:f,closeIframe:p})},q=function(t){var r=t.api_key,s=t.chatbotConfig,c=t.user_profile,d=t.onEvent,f=e.useMemo((function(){return{isAnonymous:(null==s?void 0:s.isAnonymous)||!1,userId:(null==s?void 0:s.userId)||""}}),[null==s?void 0:s.isAnonymous,null==s?void 0:s.userId]),p=e.useMemo((function(){return c||{}}),[JSON.stringify(c)]),h=e.useCallback((function(e){for(var t=[],s=1;s<arguments.length;s++)t[s-1]=arguments[s];return i(void 0,function(e,t,n){if(n||2===arguments.length)for(var i,o=0,r=t.length;o<r;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))}([e],t,!0),void 0,(function(e,t){var i,s,l,c,d,h,m;return void 0===t&&(t={}),o(this,(function(o){switch(o.label){case 0:if(!r)return[2];o.label=1;case 1:return o.trys.push([1,3,,4]),i=u().apiUrl,s=g(),l=n({trigger_time:Date.now(),channel:"CHATBOT",launch_url:(null===(m=null===window||void 0===window?void 0:window.location)||void 0===m?void 0:m.href)||"",org_id:r,client_user_id:f.isAnonymous?"Anonymous":String(f.userId),event_type:e,user_profile:p},t),c={org_id:r,event_data:l,metadata:n({timestamp:Date.now()},s),event_type:"INFO",user_id:f.userId},[4,fetch("".concat(i,"/users/sdk/record-logs/"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)})];case 2:if(!(d=o.sent()).ok)throw new Error("Failed to send internal event: ".concat(d.statusText));return[3,4];case 3:return h=o.sent(),a.error("Failed to send internal event:",h),[3,4];case 4:return[2]}}))}))}),[r,f]);return{emitEvent:e.useCallback((function(e,t){var n=Date.now();e!==l.CHATBOT_BUTTON_CLICKED&&e!==l.CHATBOT_CLOSED&&e!==l.CHATBOT_OPENED||(d&&d({type:e,timestamp:n,data:t}),h(e,{timestamp:n}))}),[d,h]),onInternalEvent:h}},X=function(t){var i,o,r,s,l,c=t.children,d=t.config,u=e.useState(!1),f=u[0],p=u[1];e.useEffect((function(){var e=function(){var e=(null===window||void 0===window?void 0:window.innerWidth)<560;p(e)};return e(),window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[]);var h=(null===(r=d.interface_properties)||void 0===r?void 0:r.position)||"Right",m=null!==(l=null===(s=d.interface_properties)||void 0===s?void 0:s.side_spacing)&&void 0!==l?l:20;a.log("config",d,h,m);var v={position:"fixed",zIndex:1e3,display:"flex",flexDirection:"column"},g=n(n({},v),((i={bottom:"20px"})[h.toLowerCase()]="".concat(null!=m?m:20,"px"),i.alignItems="Right"===h?"flex-end":"flex-start",i.top=void 0,i["Right"===h?"left":"right"]=void 0,i)),b=n(n({},v),((o={top:0})[h.toLowerCase()]="".concat(null!=m?m:20,"px"),o.alignItems="center",o.bottom=void 0,o["Right"===h?"left":"right"]=void 0,o)),E=f?b:g;return e.useEffect((function(){console.log("Container screen width changed, isMobile:",f,"Style:",E)}),[f,E]),e.createElement("div",{className:"robylon-chatbot-container",style:E},c)},$=e.memo((function(t){var i=t.api_key,o=t.user_id,r=t.user_token,a=t.user_profile,s=t.onEvent;e.useEffect((function(){}));var c=e.useMemo((function(){return{api_key:i,user_id:o,user_token:r,user_profile:a}}),[i,o,r,a]),d=e.useCallback((function(e){null==s||s(e)}),[s]),u=Q(c),f=u.isInitialized,h=u.error,m=u.chatbotConfig,v=u.isIframeVisible,g=u.toggleIframeVisibility,b=u.closeIframe,E=e.useMemo((function(){return{api_key:i,user_profile:c.user_profile,onEvent:d,chatbotConfig:m?{isAnonymous:m.isAnonymous,userId:m.userId}:null}}),[i,c.user_profile,d,null==m?void 0:m.isAnonymous,null==m?void 0:m.userId]),w=q(n({},E)),y=w.emitEvent,_=w.onInternalEvent;e.useEffect((function(){if(i)try{C.initialize(i,o)}catch(e){C.trackError(e instanceof Error?e:new Error(String(e)),"RobylonChatbot",{errorCode:k,errorType:M,context:{timestamp:Date.now()}})}else C.trackError(new Error(F[T](i)),"RobylonChatbot",{errorCode:T,errorType:M,context:{timestamp:Date.now()}})}),[i,o]);var I=e.useCallback((function(){b(),y(l.CHATBOT_CLOSED)}),[b,y]),x=e.useCallback((function(){g(),y(v?l.CHATBOT_CLOSED:l.CHATBOT_BUTTON_CLICKED)}),[g,y,v]),O=e.useMemo((function(){return{config:m,toggleIframe:x,isIframeVisible:v,onEvent:d,onInternalEvent:_}}),[m,x,v,d,_]),A=e.useMemo((function(){return{config:m,isVisible:v,onClose:I,onEvent:d,onInternalEvent:_}}),[m,v,I,d,_]);return i&&!h&&m?e.createElement(P,{componentName:"RobylonChatbot"},f?e.createElement(X,{config:m},e.createElement(P,{componentName:"ChatbotIframe"},e.createElement(j,n({},A))),e.createElement(P,{componentName:"ChatbotFloatingButton"},e.createElement(p,n({},O)))):null):null}),(function(e,t){return e.api_key===t.api_key&&e.user_id===t.user_id&&e.user_token===t.user_token&&JSON.stringify(e.user_profile)===JSON.stringify(t.user_profile)&&!0}));exports.ChatbotInterfaceType=void 0,(E=exports.ChatbotInterfaceType||(exports.ChatbotInterfaceType={})).WIDGET="WIDGET",E.POPOVER="POPOVER",E.EMBED="EMBED",exports.WidgetPositionEnums=void 0,(w=exports.WidgetPositionEnums||(exports.WidgetPositionEnums={})).RIGHT="Right",w.LEFT="Left";var ee=function(){function e(e){this.resizeObserver=null,this.config=e,this.buttonElement=document.createElement("div"),this.handleResizeFunction=this.handleResize.bind(this),this.render(),this.mount(),this.setupResizeListener()}return e.prototype.render=function(){var e=this,t=u().copilotUrl,n=this.config,i=n.config,o=n.isIframeVisible,a={zIndex:"1000",width:"48px",height:"48px",display:"flex",flexDirection:"column-reverse",backgroundColor:i.brand_colour,color:r(i.brand_colour),borderRadius:"50%",alignItems:"center",justifyContent:"center",cursor:"pointer",overflow:"hidden",marginTop:"16px"};if(this.applyResponsiveStyles(a),this.buttonElement.className="message-bubble-container",o)this.buttonElement.innerHTML='\n <svg\n width="24"\n height="24"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <g id="Chevron_Down">\n <path\n id="Vector"\n d="M19 9L12 16L5 9"\n stroke="currentColor"\n stroke-width="1.5"\n stroke-linecap="round"\n stroke-linejoin="round"\n />\n </g>\n </svg>\n ';else{var s=document.createElement("img");s.src=i.image_url||"".concat(t,"/chatbubble.png"),s.alt="Chat",Object.assign(s.style,{zIndex:"1000",cursor:"pointer",borderRadius:"50%",objectFit:"cover",width:"100%",height:"100%"}),this.buttonElement.innerHTML="",this.buttonElement.appendChild(s)}this.buttonElement.onclick=function(){e.config.toggleIframe()}},e.prototype.applyResponsiveStyles=function(e){var t,i,o,r,a,s=(null===window||void 0===window?void 0:window.innerWidth)<560,l=this.config.config,c=(null===(o=l.interface_properties)||void 0===o?void 0:o.position)||"Right",d=(null===(r=l.interface_properties)||void 0===r?void 0:r.side_spacing)||20,u=(null===(a=l.interface_properties)||void 0===a?void 0:a.bottom_spacing)||20;this.buttonElement.style.position="",this.buttonElement.style.bottom="",this.buttonElement.style.right="",this.buttonElement.style.left="";var f=n(n({},e),((t={bottom:"0"})[c.toLowerCase()]="0",t)),p=n(n({},e),((i={position:"fixed",bottom:"".concat(u,"px")})[c.toLowerCase()]="".concat(d,"px"),i));Object.assign(this.buttonElement.style,s?p:f)},e.prototype.handleResize=function(){var e={zIndex:"1000",width:"48px",height:"48px",display:"flex",flexDirection:"column-reverse",backgroundColor:this.config.config.brand_colour,color:r(this.config.config.brand_colour),borderRadius:"50%",alignItems:"center",justifyContent:"center",cursor:"pointer",overflow:"hidden",marginTop:"16px"};this.applyResponsiveStyles(e)},e.prototype.setupResizeListener=function(){"undefined"!=typeof ResizeObserver?(this.resizeObserver=new ResizeObserver(this.handleResizeFunction),this.resizeObserver.observe(document.body)):window.addEventListener("resize",this.handleResizeFunction)},e.prototype.getElement=function(){return this.buttonElement},e.prototype.mount=function(){var e=this;requestAnimationFrame((function(){var t,n;null===(n=(t=e.config).onEvent)||void 0===n||n.call(t,{type:l.CHATBOT_BUTTON_LOADED,timestamp:Date.now()}),e.config.onInternalEvent(l.CHATBOT_BUTTON_LOADED)}))},e.prototype.update=function(e){this.config=n(n({},this.config),e),this.render()},e.prototype.destroy=function(){this.resizeObserver?(this.resizeObserver.disconnect(),this.resizeObserver=null):window.removeEventListener("resize",this.handleResizeFunction),this.buttonElement&&this.buttonElement.parentNode&&this.buttonElement.parentNode.removeChild(this.buttonElement)},e}(),te=function(){function e(e){var t=this;this.isInitialized=!1,this.hasRegistered=!1,this.handleMessage=function(e){var n,i,o,r,a,s,d,f,p,h,m,v,g,b,E,w=u().copilotUrl;if(e.origin===w){if("closeChatbot"===e.data)return void t.config.onClose();if("CHATBOT_TOKEN_EXHAUSTED"===(null===(n=e.data)||void 0===n?void 0:n.type))return void t.config.onInternalEvent(c.CHATBOT_TOKEN_EXHAUSTED);"CHATBOT_LOADED"===(null===(i=e.data)||void 0===i?void 0:i.type)&&(null===(r=(o=t.config).onEvent)||void 0===r||r.call(o,{type:l.CHATBOT_LOADED,timestamp:Date.now()}),t.config.onInternalEvent(l.CHATBOT_LOADED)),"CHAT_INITIALIZED"===(null===(a=e.data)||void 0===a?void 0:a.type)&&(null===(d=(s=t.config).onEvent)||void 0===d||d.call(s,{type:l.CHAT_INITIALIZED,timestamp:Date.now()}),t.config.onInternalEvent(l.CHAT_INITIALIZED)),"CHAT_INITIALIZATION_FAILED"===(null===(f=e.data)||void 0===f?void 0:f.type)&&(null===(h=(p=t.config).onEvent)||void 0===h||h.call(p,{type:l.CHAT_INITIALIZATION_FAILED,timestamp:Date.now()}),t.config.onInternalEvent(l.CHAT_INITIALIZATION_FAILED,{error:null===(m=e.data)||void 0===m?void 0:m.error})),"SESSION_REFRESHED"===(null===(v=e.data)||void 0===v?void 0:v.type)&&(null===(b=(g=t.config).onEvent)||void 0===b||b.call(g,{type:l.SESSION_REFRESHED,timestamp:Date.now()}),t.config.onInternalEvent(l.SESSION_REFRESHED)),"CHAT_MOVED"===(null===(E=e.data)||void 0===E?void 0:E.type)&&t.config.onInternalEvent(c.CHAT_MOVED,{from:e.data.from,to:e.data.to,trigger:e.data.trigger})}},this.config=e,this.iframeElement=document.createElement("iframe"),this.iframeElement.id="chat-iframe-rbyln",this.resizeHandler=this.applyResponsiveStyles.bind(this),this.render(),this.initialize(),this.setupEventListeners()}return e.prototype.getElement=function(){return this.iframeElement},e.prototype.render=function(){Object.assign(this.iframeElement.style,{zIndex:"20000000",border:"none",boxShadow:"0px 0px 40px 0px rgba(14, 14, 15, 0.24)",transformOrigin:"bottom right",transition:"transform 0.3s ease-out",display:this.config.isVisible?"block":"none"}),this.applyResponsiveStyles()},e.prototype.applyResponsiveStyles=function(){this.iframeElement&&(window.innerWidth<560?Object.assign(this.iframeElement.style,{width:"100vw",minWidth:"300px",right:"0",bottom:"0",height:"100vh",flexDirection:"column",flexGrow:"1",borderRadius:"0",top:"0",maxHeight:"100%",position:"fixed"}):Object.assign(this.iframeElement.style,{width:"26%",minWidth:"400px",height:"calc(100vh - 3rem - 10vh)",borderRadius:"1rem",top:"auto",maxHeight:"50rem",position:""}))},e.prototype.initialize=function(){var e=this;if(!this.isInitialized){var t=u().copilotUrl;this.iframeElement.src="".concat(t,"/chatbot-plugin?id=").concat(this.config.config.chatbotId),this.isInitialized=!0,this.iframeElement.addEventListener("load",(function(){var n,i,o=new URL(e.iframeElement.src).origin||t;null===(n=e.iframeElement.contentWindow)||void 0===n||n.postMessage({domain:null===(i=null===window||void 0===window?void 0:window.location)||void 0===i?void 0:i.hostname,name:"checkDomain"},o)}))}},e.prototype.setupEventListeners=function(){var e=this;window.addEventListener("resize",this.resizeHandler),this.iframeElement.addEventListener("error",(function(){C.trackError(new Error(F[L]({src:e.iframeElement.src,error:"Failed to load iframe"})),"ChatbotIframe",{errorCode:L,errorType:B,context:{config:e.config.config,iframeUrl:e.iframeElement.src,timestamp:Date.now()}})})),window.addEventListener("message",this.handleMessage)},e.prototype.updateVisibility=function(e){var t,n,i,o,r,a,s,c;if(this.config.isVisible=e,this.iframeElement.style.display=e?"block":"none",this.iframeElement.contentWindow&&e){var d=u().copilotUrl,f=new URL(this.iframeElement.src).origin||d;this.iframeElement.contentWindow.postMessage({domain:null===(t=null===window||void 0===window?void 0:window.location)||void 0===t?void 0:t.hostname,name:"openFrame"},f),this.hasRegistered||(this.iframeElement.contentWindow.postMessage({domain:null===(n=null===window||void 0===window?void 0:window.location)||void 0===n?void 0:n.hostname,action:"registerUserId",data:{userId:null===(i=this.config.config)||void 0===i?void 0:i.userId,token:null===(o=this.config.config)||void 0===o?void 0:o.token,userProfile:null===(r=this.config.config)||void 0===r?void 0:r.userProfile,isAnonymous:null===(a=this.config.config)||void 0===a?void 0:a.isAnonymous}},f),this.hasRegistered=!0),null===(c=(s=this.config).onEvent)||void 0===c||c.call(s,{type:l.CHATBOT_OPENED,timestamp:Date.now()}),this.config.onInternalEvent(l.CHATBOT_OPENED)}},e.prototype.update=function(e){var t=this.config.isVisible;if(this.config=n(n({},this.config),e),t!==this.config.isVisible&&this.updateVisibility(this.config.isVisible),this.iframeElement.contentWindow&&this.config.isVisible){var i=u().copilotUrl;this.iframeElement.contentWindow.postMessage({action:"updateUserProfile",user_profile:this.config.config.userProfile},i)}},e.prototype.destroy=function(){window.removeEventListener("resize",this.resizeHandler),window.removeEventListener("message",this.handleMessage),this.iframeElement&&this.iframeElement.parentNode&&this.iframeElement.parentNode.removeChild(this.iframeElement)},e}(),ne=function(){function e(e){this.resizeObserver=null,this.containerElement=document.createElement("div"),this.handleResizeFunction=this.handleResize.bind(this),this.config=e,this.render(),this.mount(),this.setupResizeListener()}return e.prototype.render=function(){this.applyStyles(),this.containerElement.className="robylon-chatbot-container"},e.prototype.applyStyles=function(){var e,t,i,o,r,a=(null===window||void 0===window?void 0:window.innerWidth)<560,s=(null===(i=this.config.interface_properties)||void 0===i?void 0:i.position)||"Right",l=null!==(r=null===(o=this.config.interface_properties)||void 0===o?void 0:o.side_spacing)&&void 0!==r?r:20;this.containerElement.style.position="",this.containerElement.style.top="",this.containerElement.style.bottom="",this.containerElement.style.right="",this.containerElement.style.left="",this.containerElement.style.alignItems="";var c={position:"fixed",zIndex:"1000",display:"flex",flexDirection:"column"},d=n(n({},c),((e={bottom:"20px"})[s.toLowerCase()]="".concat(l,"px"),e.alignItems="Right"===s?"flex-end":"flex-start",e)),u=n(n({},c),((t={top:"0"})[s.toLowerCase()]="".concat(l,"px"),t.alignItems="center",t));Object.assign(this.containerElement.style,a?u:d)},e.prototype.handleResize=function(){this.applyStyles()},e.prototype.setupResizeListener=function(){"undefined"!=typeof ResizeObserver?(this.resizeObserver=new ResizeObserver(this.handleResizeFunction),this.resizeObserver.observe(document.body)):window.addEventListener("resize",this.handleResizeFunction)},e.prototype.mount=function(){document.body.appendChild(this.containerElement)},e.prototype.getElement=function(){return this.containerElement},e.prototype.destroy=function(){this.resizeObserver?(this.resizeObserver.disconnect(),this.resizeObserver=null):window.removeEventListener("resize",this.handleResizeFunction),this.containerElement&&this.containerElement.parentNode&&this.containerElement.parentNode.removeChild(this.containerElement)},e}(),ie=function(e,t,n){return i(void 0,void 0,void 0,(function(){var i,r,s,l,c,d,f,p;return o(this,(function(o){switch(o.label){case 0:return o.trys.push([0,5,,6]),i=u().apiUrl,r="".concat(i,"/chat/chatbot/get/"),a.log("endpointUrl",r),s={client_user_id:t||null,org_id:e,token:n||void 0,extra_info:{}},[4,fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)})];case 1:return(l=o.sent()).ok?[3,3]:[4,l.text()];case 2:throw c=o.sent(),new Error(F[D](l.status,c));case 3:return[4,l.json()];case 4:if(d=o.sent(),!(null===(p=null==d?void 0:d.user)||void 0===p?void 0:p.org_info))throw new Error(F[R](["user","org_info"]));return[2,d];case 5:throw f=o.sent(),C.trackError(f instanceof Error?f:new Error(F[S]({error:String(f)})),"fetchChatbotConfig",{errorCode:f instanceof Error&&f.message.includes("API Request Failed")?D:S,errorType:H,context:{apiKey:e,userId:t,timestamp:Date.now()}}),f;case 6:return[2]}}))}))},oe=function(e){return i(void 0,void 0,void 0,(function(){var t,i,r,a,s,l,c,d,u,f,p,h,m,v;return o(this,(function(o){switch(o.label){case 0:return t=function(e){return{api_key:String(e.api_key||""),user_id:e.user_id?String(e.user_id):null,user_token:e.user_token?String(e.user_token):void 0,user_profile:e.user_profile||{}}}(e),i=t.user_id||void 0,r=!1,i||(i=K("rblyn_anon")||V(),J("rblyn_anon",i,365),r=!0),[4,ie(t.api_key,i,t.user_token)];case 1:return a=o.sent(),s=g(),b=t.user_profile,E=["email","name","mobile","platform","OS","browser","sdk_version","device","screen_size","is_test_user"],l=b?Object.fromEntries(Object.entries(b).filter((function(e){var t=e[0];return E.includes(t)})).map((function(e){var t=e[0],n=e[1];return"boolean"==typeof n||"number"==typeof n?[t,n]:[t,String(n)]}))):{},c=n(n({},s),l),[2,{chatbotId:t.api_key,userId:i,token:t.user_token,isAnonymous:r,domain:"",brand_colour:(null===(u=null===(d=a.user.org_info.brand_config)||void 0===d?void 0:d.colors)||void 0===u?void 0:u.brand_color)||"",image_url:(null===(p=null===(f=a.user.org_info)||void 0===f?void 0:f.brand_config)||void 0===p?void 0:p.launcher_logo_url)||"",userProfile:c,chat_interface_config:{chat_bubble_prompts:[],display_name:(null===(h=a.user.org_info.brand_config)||void 0===h?void 0:h.display_name)||"",welcome_message:(null===(m=a.user.org_info.brand_config)||void 0===m?void 0:m.welcome_message)||"Hey! What can we help you with today?",redirect_url:(null===(v=a.user.org_info.brand_config)||void 0===v?void 0:v.redirect_url)||""}}]}var b,E}))}))},re=function(e){e.api_key,e.user_profile;var t=e.onEvent;e.chatbotConfig;return{emit:function(e,n){var i={type:e,timestamp:Date.now(),data:n};null==t||t(i)},onInternalEvent:function(e,t){}}},ae=function(){function e(e){var t,r,a,s,c=this;if(this.container=null,this.floatingButton=null,this.iframe=null,this.isDestroyed=!1,this.handleStateChange=function(e){if(!c.isDestroyed){var t=e.isInitialized,n=e.error,i=e.chatbotConfig,o=e.isIframeVisible;if(!n&&i&&t){if(c.eventEmitter=re({api_key:c.config.api_key,user_profile:c.config.user_profile,onEvent:c.config.onEvent,chatbotConfig:{isAnonymous:i.isAnonymous,userId:i.userId}}),c.container||(c.container=new ne(i)),c.iframe)c.iframe.update({config:i,isVisible:o});else if(c.iframe=new te({config:i,isVisible:o,onClose:c.handleClose,onEvent:c.config.onEvent,onInternalEvent:c.eventEmitter.onInternalEvent}),c.iframe.getElement&&"function"==typeof c.iframe.getElement){var r=c.iframe.getElement();r&&c.container&&c.container.getElement().prepend(r)}if(c.floatingButton)c.floatingButton.update({config:i,isIframeVisible:o});else if(c.floatingButton=new ee({config:i,toggleIframe:c.toggleIframe,isIframeVisible:o,onEvent:c.config.onEvent,onInternalEvent:c.eventEmitter.onInternalEvent}),c.floatingButton.getElement&&"function"==typeof c.floatingButton.getElement){var a=c.floatingButton.getElement();a&&c.container&&c.container.getElement().appendChild(a)}}}},this.toggleIframe=function(){var e=c.stateManager.getState();c.stateManager.toggleIframeVisibility(),c.eventEmitter.emit(e.isIframeVisible?l.CHATBOT_CLOSED:l.CHATBOT_BUTTON_CLICKED)},this.handleClose=function(){c.stateManager.closeIframe(),c.eventEmitter.emit(l.CHATBOT_CLOSED)},this.config=e,!e.api_key)throw C.trackError(new Error(F[T](e.api_key)),"RobylonChatbot",{errorCode:T,errorType:M,context:{timestamp:Date.now()}}),new Error("API key is required");try{C.initialize(e.api_key,e.user_id)}catch(e){C.trackError(e instanceof Error?e:new Error(String(e)),"RobylonChatbot",{errorCode:k,errorType:M,context:{timestamp:Date.now()}})}this.stateManager=(t={api_key:e.api_key,user_id:e.user_id,user_token:e.user_token,user_profile:e.user_profile},r={isInitialized:!1,isInitializing:!1,error:null,chatbotConfig:null,isIframeVisible:!1},a=[],{getState:function(){return r},initialize:function(){return i(void 0,void 0,void 0,(function(){var e,n,i;return o(this,(function(o){switch(o.label){case 0:if(!t.api_key)return C.trackError(new Error(F[T](t.api_key)),"ChatbotStateManager",{errorCode:T,errorType:M,context:{timestamp:Date.now()}}),[2];s({isInitializing:!0}),o.label=1;case 1:return o.trys.push([1,4,5,6]),[4,oe(t)];case 2:return e=o.sent(),[4,new Promise((function(t,n){Y(e,(function(){s({isInitialized:!0,chatbotConfig:e}),t()}),(function(e){n(e)}))}))];case 3:return o.sent(),[3,6];case 4:return n=o.sent(),i=n instanceof Error?n.message:"Failed to initialize chatbot",s({error:i}),C.trackError(n instanceof Error?n:new Error(i),"ChatbotStateManager",{errorCode:A,errorType:M,context:{timestamp:Date.now()}}),[3,6];case 5:return s({isInitializing:!1}),[7];case 6:return[2]}}))}))},toggleIframeVisibility:function(){s({isIframeVisible:!r.isIframeVisible})},closeIframe:function(){s({isIframeVisible:!1})},updateState:s=function(e){r=n(n({},r),e),a.forEach((function(e){return e(r)}))},subscribe:function(e){return a.push(e),function(){var t=a.indexOf(e);t>-1&&a.splice(t,1)}},unsubscribe:function(e){var t=a.indexOf(e);t>-1&&a.splice(t,1)}}),this.eventEmitter=re({api_key:e.api_key,user_profile:e.user_profile,onEvent:e.onEvent,chatbotConfig:null}),this.initialize()}return e.prototype.initialize=function(){return i(this,void 0,void 0,(function(){var e;return o(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.stateManager.initialize()];case 1:return t.sent(),this.stateManager.subscribe(this.handleStateChange),this.handleStateChange(this.stateManager.getState()),[3,3];case 2:return e=t.sent(),C.trackError(e instanceof Error?e:new Error(String(e)),"RobylonChatbot.initialize",{errorCode:A,errorType:M,context:{timestamp:Date.now()}}),[3,3];case 3:return[2]}}))}))},e.prototype.show=function(){this.stateManager.getState().isIframeVisible||(this.stateManager.toggleIframeVisibility(),this.eventEmitter.emit(l.CHATBOT_BUTTON_CLICKED))},e.prototype.hide=function(){this.stateManager.getState().isIframeVisible&&(this.stateManager.closeIframe(),this.eventEmitter.emit(l.CHATBOT_CLOSED))},e.prototype.toggle=function(){this.toggleIframe()},e.prototype.destroy=function(){this.isDestroyed=!0,this.floatingButton&&(this.floatingButton.destroy(),this.floatingButton=null),this.iframe&&(this.iframe.destroy(),this.iframe=null),this.container&&(this.container.destroy(),this.container=null),this.stateManager.unsubscribe(this.handleStateChange)},e.prototype.getState=function(){return this.stateManager.getState().isInitialized?"initialized":"uninitialized"},e}();function se(e){return new ae(e)}"undefined"!=typeof window&&function(){if("undefined"!=typeof window){var e=window.RobylonChatbot;if(e&&Array.isArray(e.q)){var t=null;e.q.forEach((function(e){var n=e[0];if("init"===n){var i=e[1]||{};t=se(i)}else t&&"function"==typeof t[n]&&t[n]()})),window.RobylonChatbot=function(e){for(var n,i=[],o=1;o<arguments.length;o++)i[o-1]=arguments[o];return"init"===e?t=se(i[0]||{}):t&&"function"==typeof t[e]?(n=t)[e].apply(n,i):void 0},window.RobylonChatbot.getState=function(){return"initialized"}}}}();var le={create:se,getState:function(){return"initialized"}};exports.Chatbot=$,exports.RobylonChatbot=le,exports.useChatbot=function(t){var i=e.useState({isLoading:!0,isInitialized:!1,error:null}),o=i[0],r=i[1],a=function(e){r((function(t){return n(n({},t),{isInitialized:e})}))},s=function(e){r((function(t){return n(n({},t),{error:e})}))};return e.useEffect((function(){!function(){try{Y(t,a,s)}catch(e){r((function(t){return n(n({},t),{error:e instanceof Error?e.message:"Failed to initialize SDK",isLoading:!1})}))}}()}),[t.chatbotId,t.userId]),o};
1
+ "use strict";var e=require("react"),t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},t(e,n)};var n=function(){return n=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};function i(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{l(i.next(e))}catch(e){r(e)}}function s(e){try{l(i.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((i=i.apply(e,t||[])).next())}))}function o(e,t){var n,i,o,r={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=s(0),a.throw=s(1),a.return=s(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(r=0)),r;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return r.label++,{value:s[1],done:!1};case 5:r.label++,i=s[1],s=[0];continue;case 7:s=r.ops.pop(),r.trys.pop();continue;default:if(!(o=r.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){r=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){r.label=s[1];break}if(6===s[0]&&r.label<o[1]){r.label=o[1],o=s;break}if(o&&r.label<o[2]){r.label=o[2],r.ops.push(s);break}o[2]&&r.ops.pop(),r.trys.pop();continue}s=t.call(e,r)}catch(e){s=[6,e],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}"function"==typeof SuppressedError&&SuppressedError;var r=function(e,t){void 0===t&&(t=.5);var n=function(e){e=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(function(e,t,n,i){return t+t+n+n+i+i}));var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:{r:0,g:0,b:0}}(e),i=function(e,t,n){var i=[e,t,n].map((function(e){return(e/=255)<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}));return.2126*i[0]+.7152*i[1]+.0722*i[2]}(n.r,n.g,n.b);return i>t?"#0E0E0F":"#FFFFFF"},a={log:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t]},error:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t]},warn:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t]},info:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t]}};a.log("Raw API_URL:","https://stage-api.robylon.ai");var s={copilotUrl:"https://staging.d2s3wsqyyond1h.amplifyapp.com",environment:"staging",apiUrl:"https://stage-api.robylon.ai"};a.log("CONFIG",s);var l,c,d=function(){return"undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement},u=function(){return{copilotUrl:s.copilotUrl||"https://app.robylon.ai",environment:s.environment||"production",apiUrl:s.apiUrl||"https://app.robylon.ai"}};!function(e){e.CHATBOT_BUTTON_LOADED="CHATBOT_BUTTON_LOADED",e.CHATBOT_BUTTON_CLICKED="CHATBOT_BUTTON_CLICKED",e.CHATBOT_OPENED="CHATBOT_OPENED",e.CHATBOT_CLOSED="CHATBOT_CLOSED",e.CHATBOT_APP_READY="CHATBOT_APP_READY",e.CHATBOT_LOADED="CHATBOT_LOADED",e.CHAT_INITIALIZED="CHAT_INITIALIZED",e.SESSION_REFRESHED="SESSION_REFRESHED",e.CHAT_INITIALIZATION_FAILED="CHAT_INITIALIZATION_FAILED"}(l||(l={})),function(e){e.CHAT_MOVED="CHAT_MOVED",e.CHATBOT_TOKEN_EXHAUSTED="CHATBOT_TOKEN_EXHAUSTED"}(c||(c={}));var f,p=e.memo((function(t){var i,o,s,c,d,f=t.config,p=t.toggleIframe,h=t.isIframeVisible,m=t.onEvent,v=t.onInternalEvent,g=e.useRef(null),b=u().copilotUrl,E=e.useState(!1),w=E[0],y=E[1];e.useEffect((function(){var e=function(){var e=(null===window||void 0===window?void 0:window.innerWidth)<560;y(e)};return e(),window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[]),e.useEffect((function(){g.current&&requestAnimationFrame((function(){null==m||m({type:l.CHATBOT_BUTTON_LOADED,timestamp:Date.now()}),v(l.CHATBOT_BUTTON_LOADED)}))}),[m,v]);var _={zIndex:1e3,width:"48px",height:"48px",display:"flex",flexDirection:"column-reverse",backgroundColor:f.brand_colour,color:r(f.brand_colour),borderRadius:"50%",alignItems:"center",justifyContent:"center",cursor:"pointer",overflow:"hidden",marginTop:"16px"},I=(null===(s=f.interface_properties)||void 0===s?void 0:s.position)||"Right",C=(null===(c=f.interface_properties)||void 0===c?void 0:c.side_spacing)||20,T=(null===(d=f.interface_properties)||void 0===d?void 0:d.bottom_spacing)||20,x=n(n({},_),((i={position:void 0,bottom:"0"})[I.toLowerCase()]="0",i)),O=n(n({},_),((o={position:"fixed",bottom:"".concat(T,"px")})[I.toLowerCase()]="".concat(C,"px"),o)),A=w?O:x;return e.useEffect((function(){a.log("Screen width changed, isMobile:",w,"Style:",A)}),[w,A]),e.createElement("div",{ref:g,className:"message-bubble-container",style:A,onClick:p},h?e.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("g",{id:"Chevron_Down"},e.createElement("path",{id:"Vector",d:"M19 9L12 16L5 9",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}))):e.createElement("img",{src:f.image_url||"".concat(b,"/chatbubble.png"),alt:"Chat",style:{zIndex:1e3,cursor:"pointer",borderRadius:"50%",objectFit:"cover",width:"100%",height:"100%"}}))})),h=function(){var e;return(null===(e=navigator.userAgentData)||void 0===e?void 0:e.platform)||(/Windows|Mac|Linux|Android|iOS/.exec(navigator.userAgent)||["Unknown"])[0]},m=function(){var e;if(null===(e=navigator.userAgentData)||void 0===e?void 0:e.brands)for(var t=["Chrome","Firefox","Safari","Edge","Opera"],n=0,i=navigator.userAgentData.brands;n<i.length;n++){var o=i[n];if(t.includes(o.brand))return o.brand}return(/Chrome|Firefox|Safari|Edge|Opera/.exec(navigator.userAgent)||["Unknown"])[0]},v=function(){var e,t,n,i;return{width:(null===window||void 0===window?void 0:window.innerWidth)||(null===(e=null===document||void 0===document?void 0:document.documentElement)||void 0===e?void 0:e.clientWidth)||(null===(t=null===document||void 0===document?void 0:document.body)||void 0===t?void 0:t.clientWidth),height:(null===window||void 0===window?void 0:window.innerHeight)||(null===(n=null===document||void 0===document?void 0:document.documentElement)||void 0===n?void 0:n.clientHeight)||(null===(i=null===document||void 0===document?void 0:document.body)||void 0===i?void 0:i.clientHeight)}},g=function(){return{platform:"web",os:h(),browser:m(),sdk_version:"1.1.38-staging.8",device:(e=navigator.userAgent.toLowerCase(),/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(e)?"tablet":/Mobile|Android|iP(hone|od)|IEMobile|BlackBerry|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(e)?"mobile":"desktop"),screen_size:v()};var e};!function(e){e.ERROR="ERROR",e.INFO="INFO"}(f||(f={}));var b,E,w,y=["@robylon/web-react-sdk","node_modules/@robylon/web-react-sdk/"],_=function(e){var t=e.filename,n=e.stack,i=e.message;return!!(t||n||i)&&y.some((function(e){return(null==t?void 0:t.includes(e))||(null==n?void 0:n.includes(e))||(null==i?void 0:i.includes(e))}))},I=function(){function e(){var e=this;this.apiKey="",this.userId=null,this.preInitQueue=[],this.isInitialized=!1,this.handleWindowError=function(t){var n,i={filename:t.filename,stack:null===(n=t.error)||void 0===n?void 0:n.stack,message:t.message};_(i)&&e.trackError(t.error||t.message,"GlobalErrorHandler",{filename:t.filename,lineNo:t.lineno,colNo:t.colno})},this.handleUnhandledRejection=function(t){var n,i,o={stack:null===(n=t.reason)||void 0===n?void 0:n.stack,message:(null===(i=t.reason)||void 0===i?void 0:i.message)||String(t.reason)};_(o)&&e.trackError(t.reason||"Unhandled Promise Rejection","GlobalPromiseHandler",{reason:t.reason})},this.setupGlobalHandlers()}return e.prototype.setupGlobalHandlers=function(){d()&&(null===window||void 0===window||window.addEventListener("error",null==this?void 0:this.handleWindowError),null===window||void 0===window||window.addEventListener("unhandledrejection",this.handleUnhandledRejection))},e.prototype.cleanup=function(){d()&&(null===window||void 0===window||window.removeEventListener("error",null==this?void 0:this.handleWindowError),null===window||void 0===window||window.removeEventListener("unhandledrejection",this.handleUnhandledRejection))},e.getInstance=function(){return e.instance||(e.instance=new e),e.instance},e.prototype.initialize=function(e,t){void 0===t&&(t=null);try{if(this.preInitQueue.length>0){var n={org_id:"UNINITALIZED",event_data:{message:"SDK Initialization Failed: Required parameter 'api_key' is ".concat(void 0===e?"undefined":null===e?"null":""===e?"empty string":"invalid: ".concat(e)),componentName:"ErrorTrackingService",additionalInfo:{preInitError:!0,apiKey:e,userId:t,timestamp:Date.now()},timestamp:Date.now()},metadata:g(),event_type:f.ERROR,user_id:t};this.sendLog(n).catch(console.error)}this.apiKey=e,this.userId=t,this.isInitialized=!0,this.processPreInitQueue()}catch(n){a.error("Error during ErrorTrackingService initialization:",n),this.preInitQueue.push({error:n instanceof Error?n:new Error(String(n)),componentName:"ErrorTrackingService",additionalInfo:{apiKey:e,userId:t}})}},e.prototype.processPreInitQueue=function(){return i(this,void 0,void 0,(function(){var e,t,i;return o(this,(function(o){switch(o.label){case 0:if(!this.preInitQueue.length)return[2];a.info("Processing ".concat(this.preInitQueue.length," pre-initialization errors")),e=0,t=this.preInitQueue,o.label=1;case 1:return e<t.length?(i=t[e],[4,this.trackError(i.error,i.componentName,n(n({},i.additionalInfo),{preInitError:!0}))]):[3,4];case 2:o.sent(),o.label=3;case 3:return e++,[3,1];case 4:return this.preInitQueue=[],[2]}}))}))},e.prototype.sendLog=function(e){return i(this,void 0,void 0,(function(){var t,n,i,r,s,l;return o(this,(function(o){switch(o.label){case 0:return o.trys.push([0,4,,5]),t=u().apiUrl,[4,fetch("".concat(t,"/users/sdk/record-logs/"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})];case 1:return(n=o.sent()).ok?[3,3]:(r=(i=a).error,s=["Failed to send error log:"],[4,n.text()]);case 2:r.apply(i,s.concat([o.sent()])),o.label=3;case 3:return[3,5];case 4:return l=o.sent(),a.error("Error sending log:",l),[3,5];case 5:return[2]}}))}))},e.prototype.trackError=function(e,t,r){return i(this,void 0,void 0,(function(){var i,s,l;return o(this,(function(o){switch(o.label){case 0:if(this.isInitialized)return[3,5];i={org_id:"UNINITALIZED",event_data:{message:e instanceof Error?e.message:e,stack:e instanceof Error?e.stack:void 0,componentName:t,additionalInfo:n(n({},r),{preInitError:!0,timestamp:Date.now()}),timestamp:Date.now()},metadata:g(),event_type:f.ERROR,user_id:this.userId},o.label=1;case 1:return o.trys.push([1,3,,4]),[4,this.sendLog(i)];case 2:return o.sent(),[3,4];case 3:return o.sent(),this.preInitQueue.push({error:e,componentName:t,additionalInfo:r}),a.warn("Error tracked before initialization, queuing:",e),[3,4];case 4:return[2];case 5:return s={message:e instanceof Error?e.message:e,stack:e instanceof Error?e.stack:void 0,componentName:t,additionalInfo:n(n({},r),{timestamp:Date.now()}),timestamp:Date.now()},l={org_id:this.apiKey||"UNINITALIZED",event_data:s,metadata:g(),event_type:f.ERROR,user_id:this.userId},[4,this.sendLog(l)];case 6:return o.sent(),[2]}}))}))},e.prototype.trackInfo=function(e,t,n){return i(this,void 0,void 0,(function(){var i,r;return o(this,(function(o){switch(o.label){case 0:return this.apiKey?(i={message:e,componentName:t,additionalInfo:n,timestamp:Date.now()},r={org_id:this.apiKey,event_data:i,metadata:g(),event_type:f.INFO,user_id:this.userId},[4,this.sendLog(r)]):(a.error("Error tracking not initialized"),[2]);case 1:return o.sent(),[2]}}))}))},e}(),C=I.getInstance(),T="MISSING_API_KEY",x="INVALID_API_KEY",O="CONFIG_FETCH_FAILED",A="SDK_INIT_FAILED",k="ERROR_TRACKING_INIT_FAILED",D="API_REQUEST_FAILED",S="NETWORK_ERROR",R="INVALID_RESPONSE",L="IFRAME_LOAD_FAILED",N="COOKIE_ACCESS_ERROR",z="COMPONENT_RENDER_ERROR",M="INITIALIZATION_ERROR",H="API_ERROR",B="RUNTIME_ERROR",U="COMPONENT_ERROR",F=((b={})[T]=function(e){return"SDK Initialization Failed: Required parameter 'api_key' is ".concat(void 0===e?"undefined":null===e?"null":""===e?"empty string":"invalid: ".concat(e),". A valid API key string is required to initialize the SDK.")},b[x]=function(e){return"SDK Initialization Failed: Provided API key '".concat(e,"' is invalid. API key must be a non-empty string in UUID format.")},b[O]=function(e){return"Failed to fetch chatbot configuration: ".concat(e.statusCode?"Server responded with status ".concat(e.statusCode):"Could not reach server").concat(e.error?". Error: ".concat(e.error):"")},b[D]=function(e,t,n){return"API Request Failed: Server responded with status ".concat(e," for ").concat(n?"endpoint ".concat(n):"request"," - ").concat(t)},b[S]=function(e){return"Network Error: Failed to communicate with server".concat(e.url?" at ".concat(e.url):"").concat(e.error?" - ".concat(e.error):"")},b[L]=function(e){return"Failed to load chatbot interface".concat(e.src?" from ".concat(e.src):"").concat(e.error?". Error: ".concat(e.error):"")},b[R]=function(e){return"Invalid API Response: Missing required fields in response data: ".concat(e.join(", "))},b[k]=function(e){return"Error Tracking Service initialization failed".concat(e.apiKey?" for API key ".concat(e.apiKey):"").concat(e.error?". Error: ".concat(e.error):"")},b[A]=function(e){return"SDK Initialization Failed: ".concat(e.reason||"Could not initialize the chatbot SDK").concat(e.config?". Attempted initialization with config: ".concat(JSON.stringify(e.config,null,2)):"")},b[N]=function(e,t){return"Cookie Access Error: Failed to ".concat(e).concat(t?" cookie '".concat(t,"'"):" cookies",". This may affect user session persistence.")},b[z]=function(e){return"React Component Error: ".concat(e.component||"Unknown component"," failed to render. Error: ").concat(e.error).concat(e.stack?"\nComponent Stack: ".concat(e.stack):"")},b),j=e.memo((function(t){var n=t.config,i=t.isVisible,o=t.onClose,r=t.onEvent,a=t.onInternalEvent,s=e.useRef(null),d=e.useRef(!1),f=e.useRef(!1),p=e.useCallback((function(){var e=s.current;e&&((null===window||void 0===window?void 0:window.innerWidth)<560?(e.style.width="100vw",e.style.minWidth="300px",e.style.right="0",e.style.bottom="0",e.style.height="100vh",e.style.flexDirection="column",e.style.flexGrow="1",e.style.borderRadius="0",e.style.top="0",e.style.maxHeight="100%",e.style.position="fixed"):(e.style.width="26%",e.style.minWidth="400px",e.style.height="calc(100vh - 3rem - 10vh)",e.style.borderRadius="1rem",e.style.top="calc(10vh - 32px)",e.style.maxHeight="50rem",e.style.position=""))}),[a]);return e.useEffect((function(){return null===window||void 0===window||window.addEventListener("resize",p),p(),function(){return null===window||void 0===window?void 0:window.removeEventListener("resize",p)}}),[p]),e.useEffect((function(){var e=s.current;if(e&&!d.current){var t=u().copilotUrl;e.src="".concat(t,"/chatbot-plugin?id=").concat(n.chatbotId),d.current=!0;var i=function(){var n,i,o=new URL(e.src).origin||t;null===(n=e.contentWindow)||void 0===n||n.postMessage({domain:null===(i=null===window||void 0===window?void 0:window.location)||void 0===i?void 0:i.hostname,name:"checkDomain"},o)};return e.addEventListener("load",i),function(){return e.removeEventListener("load",i)}}}),[n.chatbotId]),e.useEffect((function(){var e,t,o,r,a=s.current;if(a&&d.current){var l=u().copilotUrl;if(a.style.display=i?"block":"none",a.contentWindow&&i){var c=new URL(a.src).origin||l;null===(e=null==a?void 0:a.contentWindow)||void 0===e||e.postMessage({domain:null===(t=null===window||void 0===window?void 0:window.location)||void 0===t?void 0:t.hostname,name:"openFrame"},c),(null==f?void 0:f.current)||(null===(o=a.contentWindow)||void 0===o||o.postMessage({domain:null===(r=null===window||void 0===window?void 0:window.location)||void 0===r?void 0:r.hostname,action:"registerUserId",data:{userId:null==n?void 0:n.userId,token:null==n?void 0:n.token,userProfile:null==n?void 0:n.userProfile,isAnonymous:null==n?void 0:n.isAnonymous}},c),f.current=!0)}}}),[i,n.userId,n.token,n.userProfile]),e.useEffect((function(){if(s.current&&d.current){var e=u().copilotUrl;i&&(null==r||r({type:l.CHATBOT_OPENED,timestamp:Date.now()}),a(l.CHATBOT_OPENED));var t=function(t){var n,i,s,d,u,f,p;if(t.origin===e){if("closeChatbot"===t.data)return void o();if("CHATBOT_TOKEN_EXHAUSTED"===(null===(n=t.data)||void 0===n?void 0:n.type))return void a(c.CHATBOT_TOKEN_EXHAUSTED);"CHATBOT_LOADED"===(null===(i=t.data)||void 0===i?void 0:i.type)&&(null==r||r({type:l.CHATBOT_LOADED,timestamp:Date.now()}),a(l.CHATBOT_LOADED)),"CHAT_INITIALIZED"===(null===(s=t.data)||void 0===s?void 0:s.type)&&(null==r||r({type:l.CHAT_INITIALIZED,timestamp:Date.now()}),a(l.CHAT_INITIALIZED)),"CHAT_INITIALIZATION_FAILED"===(null===(d=t.data)||void 0===d?void 0:d.type)&&(null==r||r({type:l.CHAT_INITIALIZATION_FAILED,timestamp:Date.now()}),a(l.CHAT_INITIALIZATION_FAILED,{error:null===(u=t.data)||void 0===u?void 0:u.error})),"SESSION_REFRESHED"===(null===(f=t.data)||void 0===f?void 0:f.type)&&(null==r||r({type:l.SESSION_REFRESHED,timestamp:Date.now()}),a(l.SESSION_REFRESHED)),"CHAT_MOVED"===(null===(p=t.data)||void 0===p?void 0:p.type)&&a(c.CHAT_MOVED,{from:t.data.from,to:t.data.to,trigger:t.data.trigger})}};return null===window||void 0===window||window.addEventListener("message",t),function(){return null===window||void 0===window?void 0:window.removeEventListener("message",t)}}}),[o,r,a,n.chatbotId,i]),e.useEffect((function(){var e=s.current;if(e&&d.current){var t=function(){C.trackError(new Error(F[L]({src:e.src,error:"Failed to load iframe"})),"ChatbotIframe",{errorCode:L,errorType:B,context:{config:n,iframeUrl:e.src,timestamp:Date.now()}})};return e.addEventListener("error",t),function(){return e.removeEventListener("error",t)}}}),[n]),e.useEffect((function(){var e;if(s.current&&n&&i){var t=s.current,o=u().copilotUrl;null===(e=t.contentWindow)||void 0===e||e.postMessage({action:"updateUserProfile",user_profile:n.userProfile},o)}}),[n.userProfile,i]),e.createElement("iframe",{ref:s,id:"chat-iframe-rbyln",style:{zIndex:2e7,border:"none",boxShadow:"0px 0px 40px 0px rgba(14, 14, 15, 0.24)",transformOrigin:"bottom right",transition:"transform 0.3s ease-out",display:i?"block":"none"}})})),P=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={hasError:!1},t}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(n,e),n.getDerivedStateFromError=function(e){return{hasError:!0}},n.prototype.componentDidCatch=function(e,t){C.trackError(new Error(F[z]({component:this.props.componentName||void 0,error:e.message,stack:t.componentStack})),this.props.componentName||void 0,{errorCode:z,errorType:U,context:{originalError:e,componentStack:t.componentStack,timestamp:Date.now()}})},n.prototype.render=function(){return this.state.hasError?null:this.props.children},n}(e.Component),W=function(e,t,n){return i(void 0,void 0,void 0,(function(){var i,r,s,l,c,d,f,p;return o(this,(function(o){switch(o.label){case 0:i=u().apiUrl,r="".concat(i,"/chat/chatbot/get/"),a.log("endpointUrl",r),s={client_user_id:t,org_id:e,token:n||void 0,extra_info:{}},o.label=1;case 1:return o.trys.push([1,6,,7]),[4,fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)})];case 2:return(l=o.sent()).ok?[3,4]:[4,l.text()];case 3:throw c=o.sent(),new Error(F[D](l.status,c));case 4:return[4,l.json()];case 5:if(d=o.sent(),!(null===(p=null==d?void 0:d.user)||void 0===p?void 0:p.org_info))throw new Error(F[R](["user","org_info"]));return[2,d];case 6:throw f=o.sent(),C.trackError(f instanceof Error?f:new Error(F[S]({error:String(f)})),"fetchChatbotConfig",{errorCode:f instanceof Error&&f.message.includes("API Request Failed")?D:S,errorType:H,context:{chatbotId:e,userId:t,apiUrl:i,statusCode:f instanceof Response?f.status:void 0,timestamp:Date.now(),requestPayload:{client_user_id:t,org_id:e}}}),f;case 7:return[2]}}))}))},V=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))},K=function(e){var t,n="; ".concat(document.cookie).split("; ".concat(e,"="));if(2===n.length)return null===(t=n.pop())||void 0===t?void 0:t.split(";").shift()},J=function(e,t,n){var i=new Date;i.setTime(i.getTime()+24*n*60*60*1e3),document.cookie="".concat(e,"=").concat(t,";expires=").concat(i.toUTCString(),";path=/")},Z=function(e){var t=e?"USER_DATA=%7B%22attributes%22%3A%5B%7B%22key%22%3A%22USER_ATTRIBUTE_USER_EMAIL%22%2C%22value%22%3A%22dinesh.goel%40robylon.ai%22%7D%2C%7B%22key%22%3A%22USER_ATTRIBUTE_UNIQUE_ID%22%2C%22value%22%3A%2266011f2c28d1787d13c6c796%22%7D%5D%2C%22subscribedToOldSdk%22%3Afalse%2C%22deviceUuid%22%3A%2226c02feb-2664-451d-8469-9cf1378547c6%22%2C%22deviceAdded%22%3Atrue%7D; _ga_3YS9P6ZDWX=GS1.1.1715252584.3.1.1715258696.39.0.0; _ga_V4J24F7YF9=GS1.1.1715273274.2.0.1715273274.0.0.0; city_name=Bengaluru; lang_code=en-in; cookieConcent=A; _gcl_au=1.1.343275043.1717154298; _clck=43guwd%7C2%7Cfmi%7C0%7C1561; _gid=GA1.2.1423066649.1718210058; moe_uuid=26c02feb-2664-451d-8469-9cf1378547c6; _ga_6RM65PWEZY=GS1.1.1718210058.18.1.1718211647.60.0.0; _ga=GA1.1.689213983.1712737672; AMP_MKTG_fe4beb374f=JTdCJTIycmVmZXJyZXIlMjIlM0ElMjJodHRwcyUzQSUyRiUyRmFjY291bnRzLnRlYWNobWludC5jb20lMkYlMjIlMkMlMjJyZWZlcnJpbmdfZG9tYWluJTIyJTNBJTIyYWNjb3VudHMudGVhY2htaW50LmNvbSUyMiU3RA==; AMP_fe4beb374f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjI0MWMxMTljZC03YzVjLTRiYTctYTUzZS1mYTgzMjRlYjc0OWUlMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjIxZjI2ODAwOC01OGYxLTQwYTItYjQ0Ni1mYmQ5N2E0NDQyYTAlMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzE4MjEzMzEwOTc3JTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTcxODIxMzMxMDk4MSUyQyUyMmxhc3RFdmVudElkJTIyJTNBMTQlN0Q=; _ga_3YS9P6ZDWX=GS1.1.1718211637.26.1.1718213441.60.0.0; SESSION=%7B%22sessionKey%22%3A%22e4d76f52-9053-4277-99a4-f1ba667fd5f2%22%2C%22sessionStartTime%22%3A%222024-06-12T16%3A34%3A19.047Z%22%2C%22sessionMaxTime%22%3A1800%2C%22customIdentifiersToTrack%22%3A%5B%5D%2C%22sessionExpiryTime%22%3A1718215247464%2C%22numberOfSessions%22%3A17%7D":document.cookie;return t=t.split(";").map((function(e){var t=e.split("="),n=t[0],i=t.slice(1).join("=").trim();return{name:n=n.trim(),value:i?decodeURIComponent(i):""}})),t},G=function(){function e(e){this.logoContainer=null,this.iframe=null,this.bubblePromptContainer=null,this.chatBtnImage=null,this.config=e,this.validateDomain()&&this.init(),null===window||void 0===window||window.addEventListener("message",this.onCloseListener.bind(this),!1)}return e.prototype.onCloseListener=function(e){e.origin===this.config.domain&&"closeChatbot"===e.data&&this.closeIframe()},e.prototype.validateDomain=function(){var e,t=this.config.domain,n=null===(e=null===window||void 0===window?void 0:window.location)||void 0===e?void 0:e.origin;return a.log("expectedDomain, to current domain",t,n,t===n),t===n},e.prototype.createChatBubblContainer=function(){var e,t=this,n=document.createElement("div");n.id="chatbase-message-bubbles",Object.assign(n.style,{position:"fixed",bottom:"80px",borderRadius:"10px",fontFamily:"sans-serif",fontSize:"16px",zIndex:"2147483644",cursor:"pointer",flexDirection:"column",gap:"50px",maxWidth:"70vw",display:"block",right:"1rem",left:"unset"});var i=document.createElement("div");i.classList.add("close-btn"),i.textContent="✕",Object.assign(i.style,{position:"absolute",top:"-7px",right:"-7px",fontWeight:"bold",display:"none",justifyContent:"center",alignItems:"center",zIndex:"2147483643",width:"22px",height:"22px",borderRadius:"50%",textAlign:"center",fontSize:"12px",cursor:"pointer",backgroundColor:"rgb(224, 224, 224)",color:"black",boxShadow:"rgba(150, 150, 150, 0.15) 0px 6px 24px 0px, rgba(150, 150, 150, 0.15) 0px 0px 0px 1px"}),((null===(e=this.config.chat_interface_config)||void 0===e?void 0:e.chat_bubble_prompts)||[]).forEach((function(e){var i=t.createMessageBubble(e);n.appendChild(i)})),n.appendChild(i),document.body.appendChild(n)},e.prototype.createMessageBubble=function(e){var t=document.createElement("div");this.bubblePromptContainer=t,Object.assign(t.style,{display:"flex",position:"relative",justifyContent:"flex-end"});var n=document.createElement("div");n.classList.add("message"),n.textContent=e,Object.assign(n.style,{backgroundColor:"white",color:"black",boxShadow:"rgba(150, 150, 150, 0.2) 0px 10px 30px 0px, rgba(150, 150, 150, 0.2) 0px 0px 0px 1px",borderRadius:"10px",padding:"8px 5px",margin:"8px",fontSize:"14px",opacity:"1",transform:"scale(1)",transition:"opacity 0.5s ease 0s, transform 0.5s ease 0s"});var i=document.createElement("button");return i.innerHTML="&times;",Object.assign(i.style,{position:"absolute",top:"1px",left:"-3px",width:"20px",height:"20px",borderRadius:"50%",backgroundColor:"#fff",color:"#000",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",boxShadow:"0 2px 5px rgba(0,0,0,0.2)",fontSize:"14px",lineHeight:"1",padding:"0",zIndex:"100"}),i.addEventListener("click",(function(){t.remove()})),t.appendChild(i),t.appendChild(n),t},e.prototype.createFloatingButton=function(){var e=document.createElement("div");e.classList.add("message-bubble-container"),Object.assign(e.style,{position:"fixed",bottom:"1.5rem",right:"1.5rem",zIndex:"1000",width:"48px",height:"48px",display:"flex",flexDirection:"column-reverse",backgroundColor:this.config.brand_colour,color:r(this.config.brand_colour),borderRadius:"50%",alignItems:"center",justifyContent:"center",cursor:"pointer",overflow:"hidden"}),document.body.appendChild(e),this.logoContainer=e,this.loadImage(this.logoContainer),this.createChatBubblContainer(),this.logoContainer.addEventListener("click",this.toggleIframe.bind(this))},e.prototype.loadImage=function(e){var t=document.createElement("img");t.src=this.config.image_url||"".concat(this.config.domain,"/chatbubble.png"),t.alt="Chat",Object.assign(t.style,{zIndex:"1000",cursor:"pointer",borderRadius:"50%",objectFit:"cover"}),this.chatBtnImage=t,e.innerHTML="",e.appendChild(t)},e.prototype.createIframe=function(){var e=this;a.log("RobylonConfig?.domain====>",this.config.domain);var t=document.createElement("iframe");Object.assign(t.style,{position:"fixed",right:"32px",bottom:"86px",minWidth:"400px",width:"26%",maxWidth:"800px",top:"calc(10vh - 32px)",maxHeight:"45rem",height:"calc(100vh - 3rem - 10vh)",zIndex:"20000000",border:"none",boxShadow:"0px 0px 40px 0px rgba(14, 14, 15, 0.24)",transformOrigin:"bottom right",transition:"transform 0.3s ease-out",borderRadius:"1rem",display:"none"}),t.src="".concat(this.config.domain,"/chatbot-plugin?id=").concat(this.config.chatbotId),a.log("iframe.src====>",t.src),document.body.appendChild(t),this.iframe=t;var n=function(){(null===window||void 0===window?void 0:window.innerWidth)<560?Object.assign(t.style,{width:"100vw",minWidth:"300px",right:"0",bottom:"0",height:"100vh",flexDirection:"column",flexGrow:"1",borderRadius:"0",top:"0",maxHeight:"100%"}):Object.assign(t.style,{width:"26%",minWidth:"400px",right:"32px",bottom:"86px",height:"calc(100vh - 3rem - 10vh)",borderRadius:"1rem",top:"calc(10vh - 32px)",maxHeight:"45rem"})};n(),null===window||void 0===window||window.addEventListener("resize",n),t.addEventListener("load",(function(){var n,i,o,r;if(e.iframe){var a=new URL(e.iframe.src).origin||e.config.domain;null===(n=t.contentWindow)||void 0===n||n.postMessage({domain:null===(i=null===window||void 0===window?void 0:window.location)||void 0===i?void 0:i.hostname,name:"checkDomain"},a),null===(o=t.contentWindow)||void 0===o||o.postMessage({domain:null===(r=null===window||void 0===window?void 0:window.location)||void 0===r?void 0:r.hostname,action:"registerUserId",data:{userId:e.config.userId,token:e.config.token,userProfile:e.config.userProfile}},a)}})),null===window||void 0===window||window.addEventListener("message",(function(n){var i,o;if(n.origin===e.config.domain){if("captureSessionData"===n.data){var r="66b33d16-5b38-4693-8772-1a1bd7dd412d"===e.config.chatbotId,a={cookies:Z(r),localStorage:JSON.stringify(localStorage),sessionStorage:JSON.stringify(sessionStorage),action:"capturedSessionData",domain_name:null===(i=null===window||void 0===window?void 0:window.location)||void 0===i?void 0:i.hostname};null===(o=t.contentWindow)||void 0===o||o.postMessage(a,e.config.domain||"*")}"expand"===n.data&&(e.adjustIframeWidth(),t.style.height="calc(100vh - 120px)",t.style.bottom="86px"),"collapse"===n.data&&Object.assign(t.style,{width:"26%",height:"calc(100vh - 32px - 10vh)",bottom:"86px",top:"calc(32px + 10vh)"})}}))},e.prototype.adjustIframeWidth=function(){if(this.iframe){var e=null===window||void 0===window?void 0:window.innerWidth;a.log("screenWidth",e),this.iframe.style.width=e<832?"".concat(e-64,"px"):"800px"}},e.prototype.loadSvgInline=function(e){var t=document.createElement("div");t.innerHTML='\n<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n <g id="Chevron_Down">\n <path id="Vector" d="M19 9L12 16L5 9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>\n </g>\n</svg>\n';var n=t.querySelector("svg");e.innerHTML="",n&&e.appendChild(n)},e.prototype.toggleIcon=function(e,t){"block"===t.style.display?this.loadSvgInline(e):this.loadImage(e)},e.prototype.toggleIframe=function(){var e;if(a.log("toggleIframe",this.iframe,this.logoContainer,this.chatBtnImage),this.iframe&&this.logoContainer&&this.chatBtnImage){var t=new URL(this.iframe.src).origin||this.config.domain;a.log("toggleIframe"),null===(e=this.iframe.contentWindow)||void 0===e||e.postMessage({domain:null===window||void 0===window?void 0:window.location.hostname,name:"none"===this.iframe.style.display?"openFrame":"closeFrame"},t),this.iframe.style.display="none"===this.iframe.style.display?"block":"none",this.toggleIcon(this.logoContainer,this.iframe),this.chatBtnImage.style.objectFit="block"===this.iframe.style.display?"none":"cover",this.bubblePromptContainer&&(this.bubblePromptContainer.style.display="none"),a.log("this.bubblePromptContainer",this.bubblePromptContainer)}},e.prototype.closeIframe=function(){this.iframe&&this.logoContainer&&this.chatBtnImage&&(this.iframe.style.display="none",this.toggleIcon(this.logoContainer,this.iframe),this.chatBtnImage.style.objectFit="cover")},e.prototype.init=function(){this.createIframe(),this.createFloatingButton()},e}(),Y=function(e,t,n){if(e.chatbotId&&e.userId)try{new G(e);t(!0),a.log("Robylon SDK initialized successfully.")}catch(e){n(e instanceof Error?e.message:"Failed to initialize SDK")}else n("Incomplete configuration for SDK initialization.")},Q=function(t){var r=e.useMemo((function(){return function(e){return{api_key:String(e.api_key||""),user_id:e.user_id?String(e.user_id):null,user_token:e.user_token?String(e.user_token):void 0,user_profile:e.user_profile||{}}}(t)}),[t.api_key,t.user_id,t.user_token,JSON.stringify(t.user_profile)]),a=e.useState({isInitialized:!1,isInitializing:!1,error:null,chatbotConfig:null,isIframeVisible:!1}),s=a[0],l=a[1],c=e.useMemo((function(){var e=["email","name","mobile","platform","OS","browser","sdk_version","device","screen_size","is_test_user"];return r.user_profile?Object.fromEntries(Object.entries(r.user_profile).filter((function(t){var n=t[0];return e.includes(n)})).map((function(e){var t=e[0],n=e[1];return"boolean"==typeof n||"number"==typeof n?[t,n]:[t,String(n)]}))):{}}),[JSON.stringify(r.user_profile)]),d=e.useCallback((function(e){l((function(t){return n(n({},t),e)}))}),[]),u=e.useCallback((function(){return i(void 0,void 0,void 0,(function(){var e,t,i,a,s,l,u,f,p,h,m,v,b,E,w;return o(this,(function(o){switch(o.label){case 0:if(!r.api_key)return C.trackError(new Error(F[T](r.api_key)),"useChatbotState",{errorCode:T,errorType:M,context:{timestamp:Date.now()}}),[2];d({isInitializing:!0}),o.label=1;case 1:return o.trys.push([1,4,5,6]),e=r.user_id||void 0,t=!1,e||(e=K("rblyn_anon")||V(),J("rblyn_anon",e,365),t=!0),[4,W(r.api_key,e,r.user_token)];case 2:return i=o.sent(),a=g(),s=n(n({},a),c),l={chatbotId:r.api_key,userId:e,token:r.user_token,isAnonymous:t,domain:"",brand_colour:(null===(h=null===(p=i.user.org_info.brand_config)||void 0===p?void 0:p.colors)||void 0===h?void 0:h.brand_color)||"",image_url:(null===(v=null===(m=i.user.org_info)||void 0===m?void 0:m.brand_config)||void 0===v?void 0:v.launcher_logo_url)||"",userProfile:s,chat_interface_config:{chat_bubble_prompts:[],display_name:(null===(b=i.user.org_info.brand_config)||void 0===b?void 0:b.display_name)||"",welcome_message:(null===(E=i.user.org_info.brand_config)||void 0===E?void 0:E.welcome_message)||"Hey! What can we help you with today?",redirect_url:(null===(w=i.user.org_info.brand_config)||void 0===w?void 0:w.redirect_url)||""}},[4,new Promise((function(e,t){Y(l,(function(){d({isInitialized:!0,chatbotConfig:l}),e()}),(function(e){t(e)}))}))];case 3:return o.sent(),[3,6];case 4:return u=o.sent(),f=u instanceof Error?u.message:"Failed to initialize chatbot",d({error:f}),C.trackError(u instanceof Error?u:new Error(f),"useChatbotState",{errorCode:A,errorType:M,context:{timestamp:Date.now()}}),[3,6];case 5:return d({isInitializing:!1}),[7];case 6:return[2]}}))}))}),[r.api_key,r.user_id,r.user_token]);e.useEffect((function(){r.api_key&&u()}),[u]),e.useEffect((function(){s.chatbotConfig&&l((function(e){return n(n({},e),{chatbotConfig:n(n({},e.chatbotConfig),{userProfile:n(n({},g()),c)})})}))}),[c]);var f=e.useCallback((function(){l((function(e){return n(n({},e),{isIframeVisible:!e.isIframeVisible})}))}),[]),p=e.useCallback((function(){d({isIframeVisible:!1})}),[]);return n(n({},s),{toggleIframeVisibility:f,closeIframe:p})},q=function(t){var r=t.api_key,s=t.chatbotConfig,c=t.user_profile,d=t.onEvent,f=e.useMemo((function(){return{isAnonymous:(null==s?void 0:s.isAnonymous)||!1,userId:(null==s?void 0:s.userId)||""}}),[null==s?void 0:s.isAnonymous,null==s?void 0:s.userId]),p=e.useMemo((function(){return c||{}}),[JSON.stringify(c)]),h=e.useCallback((function(e){for(var t=[],s=1;s<arguments.length;s++)t[s-1]=arguments[s];return i(void 0,function(e,t,n){if(n||2===arguments.length)for(var i,o=0,r=t.length;o<r;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))}([e],t,!0),void 0,(function(e,t){var i,s,l,c,d,h,m;return void 0===t&&(t={}),o(this,(function(o){switch(o.label){case 0:if(!r)return[2];o.label=1;case 1:return o.trys.push([1,3,,4]),i=u().apiUrl,s=g(),l=n({trigger_time:Date.now(),channel:"CHATBOT",launch_url:(null===(m=null===window||void 0===window?void 0:window.location)||void 0===m?void 0:m.href)||"",org_id:r,client_user_id:f.isAnonymous?"Anonymous":String(f.userId),event_type:e,user_profile:p},t),c={org_id:r,event_data:l,metadata:n({timestamp:Date.now()},s),event_type:"INFO",user_id:f.userId},[4,fetch("".concat(i,"/users/sdk/record-logs/"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)})];case 2:if(!(d=o.sent()).ok)throw new Error("Failed to send internal event: ".concat(d.statusText));return[3,4];case 3:return h=o.sent(),a.error("Failed to send internal event:",h),[3,4];case 4:return[2]}}))}))}),[r,f]);return{emitEvent:e.useCallback((function(e,t){var n=Date.now();e!==l.CHATBOT_BUTTON_CLICKED&&e!==l.CHATBOT_CLOSED&&e!==l.CHATBOT_OPENED||(d&&d({type:e,timestamp:n,data:t}),h(e,{timestamp:n}))}),[d,h]),onInternalEvent:h}},X=function(t){var i,o,r,s,l,c=t.children,d=t.config,u=e.useState(!1),f=u[0],p=u[1];e.useEffect((function(){var e=function(){var e=(null===window||void 0===window?void 0:window.innerWidth)<560;p(e)};return e(),window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[]);var h=(null===(r=d.interface_properties)||void 0===r?void 0:r.position)||"Right",m=null!==(l=null===(s=d.interface_properties)||void 0===s?void 0:s.side_spacing)&&void 0!==l?l:20;a.log("config",d,h,m);var v={position:"fixed",zIndex:1e3,display:"flex",flexDirection:"column"},g=n(n({},v),((i={bottom:"20px"})[h.toLowerCase()]="".concat(null!=m?m:20,"px"),i.alignItems="Right"===h?"flex-end":"flex-start",i.top=void 0,i["Right"===h?"left":"right"]=void 0,i)),b=n(n({},v),((o={top:0})[h.toLowerCase()]="".concat(null!=m?m:20,"px"),o.alignItems="center",o.bottom=void 0,o["Right"===h?"left":"right"]=void 0,o)),E=f?b:g;return e.useEffect((function(){}),[f,E]),e.createElement("div",{className:"robylon-chatbot-container",style:E},c)},$=e.memo((function(t){var i=t.api_key,o=t.user_id,r=t.user_token,a=t.user_profile,s=t.onEvent;e.useEffect((function(){}));var c=e.useMemo((function(){return{api_key:i,user_id:o,user_token:r,user_profile:a}}),[i,o,r,a]),d=e.useCallback((function(e){null==s||s(e)}),[s]),u=Q(c),f=u.isInitialized,h=u.error,m=u.chatbotConfig,v=u.isIframeVisible,g=u.toggleIframeVisibility,b=u.closeIframe,E=e.useMemo((function(){return{api_key:i,user_profile:c.user_profile,onEvent:d,chatbotConfig:m?{isAnonymous:m.isAnonymous,userId:m.userId}:null}}),[i,c.user_profile,d,null==m?void 0:m.isAnonymous,null==m?void 0:m.userId]),w=q(n({},E)),y=w.emitEvent,_=w.onInternalEvent;e.useEffect((function(){if(i)try{C.initialize(i,o)}catch(e){C.trackError(e instanceof Error?e:new Error(String(e)),"RobylonChatbot",{errorCode:k,errorType:M,context:{timestamp:Date.now()}})}else C.trackError(new Error(F[T](i)),"RobylonChatbot",{errorCode:T,errorType:M,context:{timestamp:Date.now()}})}),[i,o]);var I=e.useCallback((function(){b(),y(l.CHATBOT_CLOSED)}),[b,y]),x=e.useCallback((function(){g(),y(v?l.CHATBOT_CLOSED:l.CHATBOT_BUTTON_CLICKED)}),[g,y,v]),O=e.useMemo((function(){return{config:m,toggleIframe:x,isIframeVisible:v,onEvent:d,onInternalEvent:_}}),[m,x,v,d,_]),A=e.useMemo((function(){return{config:m,isVisible:v,onClose:I,onEvent:d,onInternalEvent:_}}),[m,v,I,d,_]);return i&&!h&&m?e.createElement(P,{componentName:"RobylonChatbot"},f?e.createElement(X,{config:m},e.createElement(P,{componentName:"ChatbotIframe"},e.createElement(j,n({},A))),e.createElement(P,{componentName:"ChatbotFloatingButton"},e.createElement(p,n({},O)))):null):null}),(function(e,t){return e.api_key===t.api_key&&e.user_id===t.user_id&&e.user_token===t.user_token&&JSON.stringify(e.user_profile)===JSON.stringify(t.user_profile)&&!0}));exports.ChatbotInterfaceType=void 0,(E=exports.ChatbotInterfaceType||(exports.ChatbotInterfaceType={})).WIDGET="WIDGET",E.POPOVER="POPOVER",E.EMBED="EMBED",exports.WidgetPositionEnums=void 0,(w=exports.WidgetPositionEnums||(exports.WidgetPositionEnums={})).RIGHT="Right",w.LEFT="Left";var ee=function(){function e(e){this.resizeObserver=null,this.config=e,this.buttonElement=document.createElement("div"),this.handleResizeFunction=this.handleResize.bind(this),this.render(),this.mount(),this.setupResizeListener()}return e.prototype.render=function(){var e=this,t=u().copilotUrl,n=this.config,i=n.config,o=n.isIframeVisible,a={zIndex:"1000",width:"48px",height:"48px",display:"flex",flexDirection:"column-reverse",backgroundColor:i.brand_colour,color:r(i.brand_colour),borderRadius:"50%",alignItems:"center",justifyContent:"center",cursor:"pointer",overflow:"hidden",marginTop:"16px"};if(this.applyResponsiveStyles(a),this.buttonElement.className="message-bubble-container",o)this.buttonElement.innerHTML='\n <svg\n width="24"\n height="24"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <g id="Chevron_Down">\n <path\n id="Vector"\n d="M19 9L12 16L5 9"\n stroke="currentColor"\n stroke-width="1.5"\n stroke-linecap="round"\n stroke-linejoin="round"\n />\n </g>\n </svg>\n ';else{var s=document.createElement("img");s.src=i.image_url||"".concat(t,"/chatbubble.png"),s.alt="Chat",Object.assign(s.style,{zIndex:"1000",cursor:"pointer",borderRadius:"50%",objectFit:"cover",width:"100%",height:"100%"}),this.buttonElement.innerHTML="",this.buttonElement.appendChild(s)}this.buttonElement.onclick=function(){e.config.toggleIframe()}},e.prototype.applyResponsiveStyles=function(e){var t,i,o,r,a,s=(null===window||void 0===window?void 0:window.innerWidth)<560,l=this.config.config,c=(null===(o=l.interface_properties)||void 0===o?void 0:o.position)||"Right",d=(null===(r=l.interface_properties)||void 0===r?void 0:r.side_spacing)||20,u=(null===(a=l.interface_properties)||void 0===a?void 0:a.bottom_spacing)||20;this.buttonElement.style.position="",this.buttonElement.style.bottom="",this.buttonElement.style.right="",this.buttonElement.style.left="";var f=n(n({},e),((t={bottom:"0"})[c.toLowerCase()]="0",t)),p=n(n({},e),((i={position:"fixed",bottom:"".concat(u,"px")})[c.toLowerCase()]="".concat(d,"px"),i));Object.assign(this.buttonElement.style,s?p:f)},e.prototype.handleResize=function(){var e={zIndex:"1000",width:"48px",height:"48px",display:"flex",flexDirection:"column-reverse",backgroundColor:this.config.config.brand_colour,color:r(this.config.config.brand_colour),borderRadius:"50%",alignItems:"center",justifyContent:"center",cursor:"pointer",overflow:"hidden",marginTop:"16px"};this.applyResponsiveStyles(e)},e.prototype.setupResizeListener=function(){"undefined"!=typeof ResizeObserver?(this.resizeObserver=new ResizeObserver(this.handleResizeFunction),this.resizeObserver.observe(document.body)):window.addEventListener("resize",this.handleResizeFunction)},e.prototype.getElement=function(){return this.buttonElement},e.prototype.mount=function(){var e=this;requestAnimationFrame((function(){var t,n;null===(n=(t=e.config).onEvent)||void 0===n||n.call(t,{type:l.CHATBOT_BUTTON_LOADED,timestamp:Date.now()}),e.config.onInternalEvent(l.CHATBOT_BUTTON_LOADED)}))},e.prototype.update=function(e){this.config=n(n({},this.config),e),this.render()},e.prototype.destroy=function(){this.resizeObserver?(this.resizeObserver.disconnect(),this.resizeObserver=null):window.removeEventListener("resize",this.handleResizeFunction),this.buttonElement&&this.buttonElement.parentNode&&this.buttonElement.parentNode.removeChild(this.buttonElement)},e}(),te=function(){function e(e){var t=this;this.isInitialized=!1,this.hasRegistered=!1,this.handleMessage=function(e){var n,i,o,r,a,s,d,f,p,h,m,v,g,b,E,w=u().copilotUrl;if(e.origin===w){if("closeChatbot"===e.data)return void t.config.onClose();if("CHATBOT_TOKEN_EXHAUSTED"===(null===(n=e.data)||void 0===n?void 0:n.type))return void t.config.onInternalEvent(c.CHATBOT_TOKEN_EXHAUSTED);"CHATBOT_LOADED"===(null===(i=e.data)||void 0===i?void 0:i.type)&&(null===(r=(o=t.config).onEvent)||void 0===r||r.call(o,{type:l.CHATBOT_LOADED,timestamp:Date.now()}),t.config.onInternalEvent(l.CHATBOT_LOADED)),"CHAT_INITIALIZED"===(null===(a=e.data)||void 0===a?void 0:a.type)&&(null===(d=(s=t.config).onEvent)||void 0===d||d.call(s,{type:l.CHAT_INITIALIZED,timestamp:Date.now()}),t.config.onInternalEvent(l.CHAT_INITIALIZED)),"CHAT_INITIALIZATION_FAILED"===(null===(f=e.data)||void 0===f?void 0:f.type)&&(null===(h=(p=t.config).onEvent)||void 0===h||h.call(p,{type:l.CHAT_INITIALIZATION_FAILED,timestamp:Date.now()}),t.config.onInternalEvent(l.CHAT_INITIALIZATION_FAILED,{error:null===(m=e.data)||void 0===m?void 0:m.error})),"SESSION_REFRESHED"===(null===(v=e.data)||void 0===v?void 0:v.type)&&(null===(b=(g=t.config).onEvent)||void 0===b||b.call(g,{type:l.SESSION_REFRESHED,timestamp:Date.now()}),t.config.onInternalEvent(l.SESSION_REFRESHED)),"CHAT_MOVED"===(null===(E=e.data)||void 0===E?void 0:E.type)&&t.config.onInternalEvent(c.CHAT_MOVED,{from:e.data.from,to:e.data.to,trigger:e.data.trigger})}},this.config=e,this.iframeElement=document.createElement("iframe"),this.iframeElement.id="chat-iframe-rbyln",this.resizeHandler=this.applyResponsiveStyles.bind(this),this.render(),this.initialize(),this.setupEventListeners()}return e.prototype.getElement=function(){return this.iframeElement},e.prototype.render=function(){Object.assign(this.iframeElement.style,{zIndex:"20000000",border:"none",boxShadow:"0px 0px 40px 0px rgba(14, 14, 15, 0.24)",transformOrigin:"bottom right",transition:"transform 0.3s ease-out",display:this.config.isVisible?"block":"none"}),this.applyResponsiveStyles()},e.prototype.applyResponsiveStyles=function(){this.iframeElement&&(window.innerWidth<560?Object.assign(this.iframeElement.style,{width:"100vw",minWidth:"300px",right:"0",bottom:"0",height:"100vh",flexDirection:"column",flexGrow:"1",borderRadius:"0",top:"0",maxHeight:"100%",position:"fixed"}):Object.assign(this.iframeElement.style,{width:"26%",minWidth:"400px",height:"calc(100vh - 3rem - 10vh)",borderRadius:"1rem",top:"auto",maxHeight:"50rem",position:""}))},e.prototype.initialize=function(){var e=this;if(!this.isInitialized){var t=u().copilotUrl;this.iframeElement.src="".concat(t,"/chatbot-plugin?id=").concat(this.config.config.chatbotId),this.isInitialized=!0,this.iframeElement.addEventListener("load",(function(){var n,i,o=new URL(e.iframeElement.src).origin||t;null===(n=e.iframeElement.contentWindow)||void 0===n||n.postMessage({domain:null===(i=null===window||void 0===window?void 0:window.location)||void 0===i?void 0:i.hostname,name:"checkDomain"},o)}))}},e.prototype.setupEventListeners=function(){var e=this;window.addEventListener("resize",this.resizeHandler),this.iframeElement.addEventListener("error",(function(){C.trackError(new Error(F[L]({src:e.iframeElement.src,error:"Failed to load iframe"})),"ChatbotIframe",{errorCode:L,errorType:B,context:{config:e.config.config,iframeUrl:e.iframeElement.src,timestamp:Date.now()}})})),window.addEventListener("message",this.handleMessage)},e.prototype.updateVisibility=function(e){var t,n,i,o,r,a,s,c;if(this.config.isVisible=e,this.iframeElement.style.display=e?"block":"none",this.iframeElement.contentWindow&&e){var d=u().copilotUrl,f=new URL(this.iframeElement.src).origin||d;this.iframeElement.contentWindow.postMessage({domain:null===(t=null===window||void 0===window?void 0:window.location)||void 0===t?void 0:t.hostname,name:"openFrame"},f),this.hasRegistered||(this.iframeElement.contentWindow.postMessage({domain:null===(n=null===window||void 0===window?void 0:window.location)||void 0===n?void 0:n.hostname,action:"registerUserId",data:{userId:null===(i=this.config.config)||void 0===i?void 0:i.userId,token:null===(o=this.config.config)||void 0===o?void 0:o.token,userProfile:null===(r=this.config.config)||void 0===r?void 0:r.userProfile,isAnonymous:null===(a=this.config.config)||void 0===a?void 0:a.isAnonymous}},f),this.hasRegistered=!0),null===(c=(s=this.config).onEvent)||void 0===c||c.call(s,{type:l.CHATBOT_OPENED,timestamp:Date.now()}),this.config.onInternalEvent(l.CHATBOT_OPENED)}},e.prototype.update=function(e){var t=this.config.isVisible;if(this.config=n(n({},this.config),e),t!==this.config.isVisible&&this.updateVisibility(this.config.isVisible),this.iframeElement.contentWindow&&this.config.isVisible){var i=u().copilotUrl;this.iframeElement.contentWindow.postMessage({action:"updateUserProfile",user_profile:this.config.config.userProfile},i)}},e.prototype.destroy=function(){window.removeEventListener("resize",this.resizeHandler),window.removeEventListener("message",this.handleMessage),this.iframeElement&&this.iframeElement.parentNode&&this.iframeElement.parentNode.removeChild(this.iframeElement)},e}(),ne=function(){function e(e){this.resizeObserver=null,this.containerElement=document.createElement("div"),this.handleResizeFunction=this.handleResize.bind(this),this.config=e,this.render(),this.mount(),this.setupResizeListener()}return e.prototype.render=function(){this.applyStyles(),this.containerElement.className="robylon-chatbot-container"},e.prototype.applyStyles=function(){var e,t,i,o,r,a=(null===window||void 0===window?void 0:window.innerWidth)<560,s=(null===(i=this.config.interface_properties)||void 0===i?void 0:i.position)||"Right",l=null!==(r=null===(o=this.config.interface_properties)||void 0===o?void 0:o.side_spacing)&&void 0!==r?r:20;this.containerElement.style.position="",this.containerElement.style.top="",this.containerElement.style.bottom="",this.containerElement.style.right="",this.containerElement.style.left="",this.containerElement.style.alignItems="";var c={position:"fixed",zIndex:"1000",display:"flex",flexDirection:"column"},d=n(n({},c),((e={bottom:"20px"})[s.toLowerCase()]="".concat(l,"px"),e.alignItems="Right"===s?"flex-end":"flex-start",e)),u=n(n({},c),((t={top:"0"})[s.toLowerCase()]="".concat(l,"px"),t.alignItems="center",t));Object.assign(this.containerElement.style,a?u:d)},e.prototype.handleResize=function(){this.applyStyles()},e.prototype.setupResizeListener=function(){"undefined"!=typeof ResizeObserver?(this.resizeObserver=new ResizeObserver(this.handleResizeFunction),this.resizeObserver.observe(document.body)):window.addEventListener("resize",this.handleResizeFunction)},e.prototype.mount=function(){document.body.appendChild(this.containerElement)},e.prototype.getElement=function(){return this.containerElement},e.prototype.destroy=function(){this.resizeObserver?(this.resizeObserver.disconnect(),this.resizeObserver=null):window.removeEventListener("resize",this.handleResizeFunction),this.containerElement&&this.containerElement.parentNode&&this.containerElement.parentNode.removeChild(this.containerElement)},e}(),ie=function(e,t,n){return i(void 0,void 0,void 0,(function(){var i,r,s,l,c,d,f,p;return o(this,(function(o){switch(o.label){case 0:return o.trys.push([0,5,,6]),i=u().apiUrl,r="".concat(i,"/chat/chatbot/get/"),a.log("endpointUrl",r),s={client_user_id:t||null,org_id:e,token:n||void 0,extra_info:{}},[4,fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)})];case 1:return(l=o.sent()).ok?[3,3]:[4,l.text()];case 2:throw c=o.sent(),new Error(F[D](l.status,c));case 3:return[4,l.json()];case 4:if(d=o.sent(),!(null===(p=null==d?void 0:d.user)||void 0===p?void 0:p.org_info))throw new Error(F[R](["user","org_info"]));return[2,d];case 5:throw f=o.sent(),C.trackError(f instanceof Error?f:new Error(F[S]({error:String(f)})),"fetchChatbotConfig",{errorCode:f instanceof Error&&f.message.includes("API Request Failed")?D:S,errorType:H,context:{apiKey:e,userId:t,timestamp:Date.now()}}),f;case 6:return[2]}}))}))},oe=function(e){return i(void 0,void 0,void 0,(function(){var t,i,r,a,s,l,c,d,u,f,p,h,m,v;return o(this,(function(o){switch(o.label){case 0:return t=function(e){return{api_key:String(e.api_key||""),user_id:e.user_id?String(e.user_id):null,user_token:e.user_token?String(e.user_token):void 0,user_profile:e.user_profile||{}}}(e),i=t.user_id||void 0,r=!1,i||(i=K("rblyn_anon")||V(),J("rblyn_anon",i,365),r=!0),[4,ie(t.api_key,i,t.user_token)];case 1:return a=o.sent(),s=g(),b=t.user_profile,E=["email","name","mobile","platform","OS","browser","sdk_version","device","screen_size","is_test_user"],l=b?Object.fromEntries(Object.entries(b).filter((function(e){var t=e[0];return E.includes(t)})).map((function(e){var t=e[0],n=e[1];return"boolean"==typeof n||"number"==typeof n?[t,n]:[t,String(n)]}))):{},c=n(n({},s),l),[2,{chatbotId:t.api_key,userId:i,token:t.user_token,isAnonymous:r,domain:"",brand_colour:(null===(u=null===(d=a.user.org_info.brand_config)||void 0===d?void 0:d.colors)||void 0===u?void 0:u.brand_color)||"",image_url:(null===(p=null===(f=a.user.org_info)||void 0===f?void 0:f.brand_config)||void 0===p?void 0:p.launcher_logo_url)||"",userProfile:c,chat_interface_config:{chat_bubble_prompts:[],display_name:(null===(h=a.user.org_info.brand_config)||void 0===h?void 0:h.display_name)||"",welcome_message:(null===(m=a.user.org_info.brand_config)||void 0===m?void 0:m.welcome_message)||"Hey! What can we help you with today?",redirect_url:(null===(v=a.user.org_info.brand_config)||void 0===v?void 0:v.redirect_url)||""}}]}var b,E}))}))},re=function(e){e.api_key,e.user_profile;var t=e.onEvent;e.chatbotConfig;return{emit:function(e,n){var i={type:e,timestamp:Date.now(),data:n};null==t||t(i)},onInternalEvent:function(e,t){}}},ae=function(){function e(e){var t,r,a,s,c=this;if(this.container=null,this.floatingButton=null,this.iframe=null,this.isDestroyed=!1,this.handleStateChange=function(e){if(!c.isDestroyed){var t=e.isInitialized,n=e.error,i=e.chatbotConfig,o=e.isIframeVisible;if(!n&&i&&t){if(c.eventEmitter=re({api_key:c.config.api_key,user_profile:c.config.user_profile,onEvent:c.config.onEvent,chatbotConfig:{isAnonymous:i.isAnonymous,userId:i.userId}}),c.container||(c.container=new ne(i)),c.iframe)c.iframe.update({config:i,isVisible:o});else if(c.iframe=new te({config:i,isVisible:o,onClose:c.handleClose,onEvent:c.config.onEvent,onInternalEvent:c.eventEmitter.onInternalEvent}),c.iframe.getElement&&"function"==typeof c.iframe.getElement){var r=c.iframe.getElement();r&&c.container&&c.container.getElement().prepend(r)}if(c.floatingButton)c.floatingButton.update({config:i,isIframeVisible:o});else if(c.floatingButton=new ee({config:i,toggleIframe:c.toggleIframe,isIframeVisible:o,onEvent:c.config.onEvent,onInternalEvent:c.eventEmitter.onInternalEvent}),c.floatingButton.getElement&&"function"==typeof c.floatingButton.getElement){var a=c.floatingButton.getElement();a&&c.container&&c.container.getElement().appendChild(a)}}}},this.toggleIframe=function(){var e=c.stateManager.getState();c.stateManager.toggleIframeVisibility(),c.eventEmitter.emit(e.isIframeVisible?l.CHATBOT_CLOSED:l.CHATBOT_BUTTON_CLICKED)},this.handleClose=function(){c.stateManager.closeIframe(),c.eventEmitter.emit(l.CHATBOT_CLOSED)},this.config=e,!e.api_key)throw C.trackError(new Error(F[T](e.api_key)),"RobylonChatbot",{errorCode:T,errorType:M,context:{timestamp:Date.now()}}),new Error("API key is required");try{C.initialize(e.api_key,e.user_id)}catch(e){C.trackError(e instanceof Error?e:new Error(String(e)),"RobylonChatbot",{errorCode:k,errorType:M,context:{timestamp:Date.now()}})}this.stateManager=(t={api_key:e.api_key,user_id:e.user_id,user_token:e.user_token,user_profile:e.user_profile},r={isInitialized:!1,isInitializing:!1,error:null,chatbotConfig:null,isIframeVisible:!1},a=[],{getState:function(){return r},initialize:function(){return i(void 0,void 0,void 0,(function(){var e,n,i;return o(this,(function(o){switch(o.label){case 0:if(!t.api_key)return C.trackError(new Error(F[T](t.api_key)),"ChatbotStateManager",{errorCode:T,errorType:M,context:{timestamp:Date.now()}}),[2];s({isInitializing:!0}),o.label=1;case 1:return o.trys.push([1,4,5,6]),[4,oe(t)];case 2:return e=o.sent(),[4,new Promise((function(t,n){Y(e,(function(){s({isInitialized:!0,chatbotConfig:e}),t()}),(function(e){n(e)}))}))];case 3:return o.sent(),[3,6];case 4:return n=o.sent(),i=n instanceof Error?n.message:"Failed to initialize chatbot",s({error:i}),C.trackError(n instanceof Error?n:new Error(i),"ChatbotStateManager",{errorCode:A,errorType:M,context:{timestamp:Date.now()}}),[3,6];case 5:return s({isInitializing:!1}),[7];case 6:return[2]}}))}))},toggleIframeVisibility:function(){s({isIframeVisible:!r.isIframeVisible})},closeIframe:function(){s({isIframeVisible:!1})},updateState:s=function(e){r=n(n({},r),e),a.forEach((function(e){return e(r)}))},subscribe:function(e){return a.push(e),function(){var t=a.indexOf(e);t>-1&&a.splice(t,1)}},unsubscribe:function(e){var t=a.indexOf(e);t>-1&&a.splice(t,1)}}),this.eventEmitter=re({api_key:e.api_key,user_profile:e.user_profile,onEvent:e.onEvent,chatbotConfig:null}),this.initialize()}return e.prototype.initialize=function(){return i(this,void 0,void 0,(function(){var e;return o(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.stateManager.initialize()];case 1:return t.sent(),this.stateManager.subscribe(this.handleStateChange),this.handleStateChange(this.stateManager.getState()),[3,3];case 2:return e=t.sent(),C.trackError(e instanceof Error?e:new Error(String(e)),"RobylonChatbot.initialize",{errorCode:A,errorType:M,context:{timestamp:Date.now()}}),[3,3];case 3:return[2]}}))}))},e.prototype.show=function(){this.stateManager.getState().isIframeVisible||(this.stateManager.toggleIframeVisibility(),this.eventEmitter.emit(l.CHATBOT_BUTTON_CLICKED))},e.prototype.hide=function(){this.stateManager.getState().isIframeVisible&&(this.stateManager.closeIframe(),this.eventEmitter.emit(l.CHATBOT_CLOSED))},e.prototype.toggle=function(){this.toggleIframe()},e.prototype.destroy=function(){this.isDestroyed=!0,this.floatingButton&&(this.floatingButton.destroy(),this.floatingButton=null),this.iframe&&(this.iframe.destroy(),this.iframe=null),this.container&&(this.container.destroy(),this.container=null),this.stateManager.unsubscribe(this.handleStateChange)},e.prototype.getState=function(){return this.stateManager.getState().isInitialized?"initialized":"uninitialized"},e}();function se(e){return new ae(e)}"undefined"!=typeof window&&function(){if("undefined"!=typeof window){var e=window.RobylonChatbot;if(e&&Array.isArray(e.q)){var t=null;e.q.forEach((function(e){var n=e[0];if("init"===n){var i=e[1]||{};t=se(i)}else t&&"function"==typeof t[n]&&t[n]()})),window.RobylonChatbot=function(e){for(var n,i=[],o=1;o<arguments.length;o++)i[o-1]=arguments[o];return"init"===e?t=se(i[0]||{}):t&&"function"==typeof t[e]?(n=t)[e].apply(n,i):void 0},window.RobylonChatbot.getState=function(){return"initialized"}}}}();var le={create:se,getState:function(){return"initialized"}};exports.Chatbot=$,exports.RobylonChatbot=le,exports.useChatbot=function(t){var i=e.useState({isLoading:!0,isInitialized:!1,error:null}),o=i[0],r=i[1],a=function(e){r((function(t){return n(n({},t),{isInitialized:e})}))},s=function(e){r((function(t){return n(n({},t),{error:e})}))};return e.useEffect((function(){!function(){try{Y(t,a,s)}catch(e){r((function(t){return n(n({},t),{error:e instanceof Error?e.message:"Failed to initialize SDK",isLoading:!1})}))}}()}),[t.chatbotId,t.userId]),o};
2
2
  //# sourceMappingURL=index.js.map