@icloudready/chat-box
Advanced tools
+1
-1
@@ -1,2 +0,2 @@ | ||
| var e=require("theme-ui"),t=require("react"),n=require("framer-motion"),r=require("query-string"),o=require("superagent"),i=require("tinycolor2");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=/*#__PURE__*/a(t),u=/*#__PURE__*/a(r),l=/*#__PURE__*/a(o),d=/*#__PURE__*/a(i);function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function g(){return g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},g.apply(null,arguments)}function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,h(e,t)}function h(e,t){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},h(e,t)}var m=function(e){/*#__PURE__*/return s.default.createElement(n.motion.path,g({fill:"transparent",strokeWidth:"3",stroke:"hsl(0, 0%, 99%)",strokeLinecap:"round"},e))},v=function(){/*#__PURE__*/return s.default.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},/*#__PURE__*/s.default.createElement(m,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 7 7 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/s.default.createElement(m,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 7 20 L 20 7"}},transition:{duration:.2}}),/*#__PURE__*/s.default.createElement(m,{d:"M22 21.6453C22 20 23 19.5 23 19.5C23 19.5 25.5 18 25.5 14V9C25.5 4 23 1.5 18 1.5H9C4 1.5 1.5 4 1.5 9V14C1.5 19 4 21 9 21H13.5C14 21 14 21 15 21.5L20.25 24.8572L20.8517 25.2118C21.5184 25.6046 22 25.631 22 24.8572V24.0287V22.7858V21.6453Z",variants:{closed:{opacity:1},open:{opacity:0}},transition:{duration:.2}}))},y=function(){/*#__PURE__*/return s.default.createElement("svg",{width:"24",height:"25",viewBox:"0 0 24 25",fill:"none"},/*#__PURE__*/s.default.createElement(m,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 5 5 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/s.default.createElement(m,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 5 20 L 20 5"}},transition:{duration:.2}}))},b=function(){/*#__PURE__*/return s.default.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},/*#__PURE__*/s.default.createElement(m,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 7 7 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/s.default.createElement(m,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 7 20 L 20 7"}},transition:{duration:.2}}))},w=function(t){var n=t.customIconUrl,r=t.iconVariant;return n?t.isOpen?/*#__PURE__*/s.default.createElement(b,null):/*#__PURE__*/s.default.createElement(e.Image,{src:n,style:{maxHeight:40,maxWidth:40}}):/*#__PURE__*/s.default.createElement("filled"===r?y:v,null)},S=function(t){/*#__PURE__*/return s.default.createElement(e.Button,{className:"Idengagerchat-toggleButton",variant:"primary",p:0,style:t.style,sx:{variant:"styles.WidgetToggle"},disabled:t.isDisabled,onClick:t.toggle},/*#__PURE__*/s.default.createElement(w,{customIconUrl:t.customIconUrl,iconVariant:t.iconVariant,isOpen:t.isOpen}))},x="development"===process.env.NODE_ENV?"http://localhost:4000":"https://inboxready.idengager.com";function I(){}var C={ChatFrameContainer:{margin:0,height:"100%",width:"100%",minHeight:320},WidgetContainer:{margin:0,zIndex:2147483e3,position:"fixed",bottom:100,right:20,width:376,maxWidth:["90%","376px"],minHeight:250,maxHeight:["60%","704px"],boxShadow:"rgba(0, 0, 0, 0.16) 0px 5px 40px",height:"calc(100% - 120px)",borderRadius:8,overflow:"hidden",notifications:{background:"transparent",margin:0,zIndex:2147483e3,position:"fixed",bottom:80,right:20,width:"auto",maxWidth:["90%","300px"],minHeight:0,maxHeight:["60%","400px"],boxShadow:"none",height:200,overflow:"hidden"}},WidgetToggleContainer:{position:"fixed",zIndex:2147483003,bottom:"20px",right:"20px"},WidgetToggle:{outline:"none !important",border:"none !important",cursor:"pointer",width:"50px",height:"50px",borderRadius:"50%",display:"flex",justifyContent:"center",alignItems:"center"}},_="__IDENGAGERCHAT__",O=function(e,t){void 0===t&&(t="local");try{switch(t){case"local":return function(e){try{var t=e&&e.localStorage;return g({},t,{get:function(e){var n=t.getItem(""+_+e);if(!n)return null;try{return JSON.parse(n)}catch(e){return n}},set:function(e,n){t.setItem(""+_+e,JSON.stringify(n))},remove:function(e){t.removeItem(e)}})}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}(e);case"session":return function(e){try{var t=e&&e.sessionStorage;return g({},t,{get:function(e){var n=t.getItem(""+_+e);if(!n)return null;try{return JSON.parse(n)}catch(e){return n}},set:function(e,n){t.setItem(""+_+e,JSON.stringify(n))},remove:function(e){t.removeItem(e)}})}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}(e);case"cookie":return function(){try{throw new Error("Cookie storage has not been implemented!")}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}();default:return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}},E=/*#__PURE__*/function(){function e(e){void 0===e&&(e=!1),this.debugModeEnabled=!!e}var t=e.prototype;return t.debug=function(){var e;this.debugModeEnabled&&(e=console).debug.apply(e,[].slice.call(arguments))},t.log=function(){var e;this.debugModeEnabled&&(e=console).log.apply(e,[].slice.call(arguments))},t.info=function(){var e;(e=console).info.apply(e,[].slice.call(arguments))},t.warn=function(){var e;(e=console).warn.apply(e,[].slice.call(arguments))},t.error=function(){var e;(e=console).error.apply(e,[].slice.call(arguments))},e}();function M(e){var t=function(e){var t=Array.prototype,n=Function.prototype,r=Object.prototype,o=r.toString,i=r.hasOwnProperty,a=e.navigator,s=n.bind,u=t.forEach,l=Array.isArray,d=t.slice,f={},g=l||function(e){return"[object Array]"===o.call(e)};function p(e){try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}}function h(e){return"[object String]"==o.call(e)}function m(e){return void 0===e}function v(e,t,n){if(null!=e)if(u&&e.forEach===u)e.forEach(t,n);else if(e.length===+e.length){for(var r=0,o=e.length;r<o;r++)if(r in e&&t.call(n,e[r],r,e)===f)return}else for(var a in e)if(i.call(e,a)&&t.call(n,e[a],a,e)===f)return}var y,b,w,S,x,I,C,_,O,E,M,T,P=(x={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},I=function(e){var t=new SyntaxError(e);throw t.at=y,t.text=w,t},C=function(){return c&&c!==b&&I("Expected '"+c+"' instead of '"+b+"'"),b=w.charAt(y),y+=1,b},_=function(){var e,t="";for("-"===b&&(t="-",C());b>="0"&&b<="9";)t+=b,C();if("."===b)for(t+=".";C()&&b>="0"&&b<="9";)t+=b;if("e"===b||"E"===b)for(t+=b,C(),"-"!==b&&"+"!==b||(t+=b,C());b>="0"&&b<="9";)t+=b,C();if(e=+t,isFinite(e))return e;I("Bad number")},O=function(){var e,t,n,r="";if('"'===b)for(;C();){if('"'===b)return C(),r;if("\\"===b)if(C(),"u"===b){for(n=0,t=0;t<4&&(e=parseInt(C(),16),isFinite(e));t+=1)n=16*n+e;r+=String.fromCharCode(n)}else{if("string"!=typeof x[b])break;r+=x[b]}else r+=b}I("Bad string")},E=function(){for(;b&&b<=" ";)C()},M=function(){var e=[];if("["===b){if(C(),E(),"]"===b)return C(),e;for(;b;){if(e.push(S()),E(),"]"===b)return C(),e;C(),E()}}I("Bad array")},T=function(){var e,t={};if("{"===b){if(C(),E(),"}"===b)return C(),t;for(;b;){if(e=O(),E(),C(),Object.hasOwnProperty.call(t,e)&&I('Duplicate key "'+e+'"'),t[e]=S(),E(),"}"===b)return C(),t;C(),E()}}I("Bad object")},S=function(){switch(E(),b){case"{":return T();case"[":return M();case'"':return O();case"-":return _();default:return b>="0"&&b<="9"?_():function(){switch(b){case"t":return C(),C(),C(),C(),!0;case"f":return C(),C(),C(),C(),C(),!1;case"n":return C(),C(),C(),C(),null}I('Unexpected "'+b+'"')}()}},function(e){var t;return w=e,y=0,b=" ",t=S(),E(),b&&I("Syntax error"),t});function U(e){var t,n,r,o,i="";for(t=n=0,r=(e=(e+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n")).length,o=0;o<r;o++){var a=e.charCodeAt(o),s=null;a<128?n++:s=a>127&&a<2048?String.fromCharCode(a>>6|192,63&a|128):String.fromCharCode(a>>12|224,a>>6&63|128,63&a|128),null!==s&&(n>t&&(i+=e.substring(t,n)),i+=s,t=n=o+1)}return n>t&&(i+=e.substring(t,e.length)),i}return{ArrayProto:t,FuncProto:n,ObjProto:r,toString:o,hasOwnProperty:i,win:e,windowConsole:e.console,navigator:a,document:e.document,windowOpera:e.opera,screen:e.screen,userAgent:a.userAgent,intl:e.Intl,nativeBind:s,nativeForEach:u,nativeIndexOf:t.indexOf,nativeIsArray:l,slice:d,breaker:f,__NOOP:function(){},__NOOPTIONS:{},isFunction:p,isString:h,includes:function(e,t){return-1!==e.indexOf(t)},isUndefined:m,timestamp:function(){return Date.now=Date.now||function(){return+new Date},Date.now()},each:v,trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},extend:function(e){return v([].slice.call(arguments,1),function(t){for(var n in t)void 0!==t[n]&&(e[n]=t[n])}),e},bind:function(e,t){var n,r;if(s&&e.bind===s)return s.apply(e,d.call(arguments,1));if(!p(e))throw new TypeError;return n=d.call(arguments,2),r=function(){if(!(this instanceof r))return e.apply(t,n.concat(d.call(arguments)));var o={};o.prototype=e.prototype;var i=new o;o.prototype=null;var a=e.apply(i,n.concat(d.call(arguments)));return Object(a)===a?a:i},r},truncate:function e(t,n){var r;return"string"==typeof t?r=t.slice(0,n):g(t)?(r=[],v(t,function(t){r.push(e(t,n))})):function(e){return e===Object(e)&&!g(e)}(t)?(r={},v(t,function(t,o){r[o]=e(t,n)})):r=t,r},stripEmptyProperties:function(e){var t={};return v(e,function(e,n){h(e)&&e.length>0&&(t[n]=e)}),t},HTTPBuildQuery:function(e,t){var n,r,o=[];return m(t)&&(t="&"),v(e,function(e,t){n=encodeURIComponent(e.toString()),r=encodeURIComponent(t),o[o.length]=r+"="+n}),o.join(t)},JSONEncode:function(e){var t=function(e){var t=/[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return t.lastIndex=0,t.test(e)?'"'+e.replace(t,function(e){var t=n[e];return"string"==typeof t?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'},n=function(e,r){var a="",s=0,u="",c="",l=0,d=a,f=[],g=r[e];switch(g&&"object"==typeof g&&"function"==typeof g.toJSON&&(g=g.toJSON(e)),typeof g){case"string":return t(g);case"number":return isFinite(g)?String(g):"null";case"boolean":case"undefined":return String(g);case"object":if(!g)return"null";if(a+=" ",f=[],"[object Array]"===o.apply(g)){for(l=g.length,s=0;s<l;s+=1)f[s]=n(s,g)||"null";return c=0===f.length?"[]":a?"[\n"+a+f.join(",\n"+a)+"\n"+d+"]":"["+f.join(",")+"]",a=d,c}for(u in g)i.call(g,u)&&(c=n(u,g))&&f.push(t(u)+(a?": ":":")+c);return c=0===f.length?"{}":a?"{"+f.join(",")+d+"}":"{"+f.join(",")+"}",a=d,c}};return n("",{"":e})},JSONDecode:P,utf8Encode:U,base64Encode:function(e){var t,n,r,o,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",a=0,s=0,u="",c=[];if(!e)return e;e=U(e);do{t=(o=e.charCodeAt(a++)<<16|e.charCodeAt(a++)<<8|e.charCodeAt(a++))>>12&63,n=o>>6&63,r=63&o,c[s++]=i.charAt(o>>18&63)+i.charAt(t)+i.charAt(n)+i.charAt(r)}while(a<e.length);switch(u=c.join(""),e.length%3){case 1:u=u.slice(0,-2)+"==";break;case 2:u=u.slice(0,-1)+"="}return u},getQueryParam:function(e,t){t=t.replace(/[[]/,"\\[").replace(/[\]]/,"\\]");var n=new RegExp("[\\?&]"+t+"=([^&#]*)").exec(e);if(null===n||n&&"string"!=typeof n[1]&&n[1].length)return"";var r=n[1];try{r=decodeURIComponent(r)}catch(e){console.error("Skipping decoding for malformed query param: "+r)}return r.replace(/\+/g," ")}}}(e),n=t.navigator,r=t.userAgent,o=t.windowOpera,i=t.intl,a=t.each,s=t.extend,u=t.includes,l=t.timestamp,d=t.stripEmptyProperties,f=t.getQueryParam,g={campaignParams:function(){var e="utm_source utm_medium utm_campaign utm_content utm_term".split(" "),t="",n={};return a(e,function(e){(t=f(document.URL,e)).length&&(n[e]=t)}),n},searchEngine:function(e){return 0===e.search("https?://(.*)google.([^/?]*)")?"google":0===e.search("https?://(.*)bing.com")?"bing":0===e.search("https?://(.*)yahoo.com")?"yahoo":0===e.search("https?://(.*)duckduckgo.com")?"duckduckgo":null},searchInfo:function(e){var t=g.searchEngine(e),n="yahoo"!=t?"q":"p",r={};if(null!==t){r.$search_engine=t;var o=f(e,n);o.length&&(r.ph_keyword=o)}return r},browser:function(e,t,n){return t=t||"",n||u(e," OPR/")?u(e,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":u(e,"IEMobile")||u(e,"WPDesktop")?"Internet Explorer Mobile":u(e,"SamsungBrowser/")?"Samsung Internet":u(e,"Edge")||u(e,"Edg/")?"Microsoft Edge":u(e,"FBIOS")?"Facebook Mobile":u(e,"Chrome")?"Chrome":u(e,"CriOS")?"Chrome iOS":u(e,"UCWEB")||u(e,"UCBrowser")?"UC Browser":u(e,"FxiOS")?"Firefox iOS":u(t,"Apple")?u(e,"Mobile")?"Mobile Safari":"Safari":u(e,"Android")?"Android Mobile":u(e,"Konqueror")?"Konqueror":u(e,"Firefox")?"Firefox":u(e,"MSIE")||u(e,"Trident/")?"Internet Explorer":u(e,"Gecko")?"Mozilla":""},browserVersion:function(e,t,n){var r={"Internet Explorer Mobile":/rv:(\d+(\.\d+)?)/,"Microsoft Edge":/Edge?\/(\d+(\.\d+)?)/,Chrome:/Chrome\/(\d+(\.\d+)?)/,"Chrome iOS":/CriOS\/(\d+(\.\d+)?)/,"UC Browser":/(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,Safari:/Version\/(\d+(\.\d+)?)/,"Mobile Safari":/Version\/(\d+(\.\d+)?)/,Opera:/(Opera|OPR)\/(\d+(\.\d+)?)/,Firefox:/Firefox\/(\d+(\.\d+)?)/,"Firefox iOS":/FxiOS\/(\d+(\.\d+)?)/,Konqueror:/Konqueror:(\d+(\.\d+)?)/,BlackBerry:/BlackBerry (\d+(\.\d+)?)/,"Android Mobile":/android\s(\d+(\.\d+)?)/,"Samsung Internet":/SamsungBrowser\/(\d+(\.\d+)?)/,"Internet Explorer":/(rv:|MSIE )(\d+(\.\d+)?)/,Mozilla:/rv:(\d+(\.\d+)?)/}[g.browser(e,t,n)];if(void 0===r)return null;var o=e.match(r);return o?parseFloat(o[o.length-2]):null},os:function(){var e=r;return/Windows/i.test(e)?/Phone/.test(e)||/WPDesktop/.test(e)?"Windows Phone":"Windows":/(iPhone|iPad|iPod)/.test(e)?"iOS":/Android/.test(e)?"Android":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Mac/i.test(e)?"Mac OS X":/Linux/.test(e)?"Linux":/CrOS/.test(e)?"Chrome OS":""},device:function(e){return/Windows Phone/i.test(e)||/WPDesktop/.test(e)?"Windows Phone":/iPad/.test(e)?"iPad":/iPod/.test(e)?"iPod Touch":/iPhone/.test(e)?"iPhone":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Android/.test(e)?"Android":""},referringDomain:function(e){var t=e.split("/");return t.length>=3?t[2]:""},timezone:function(e){try{return e.DateTimeFormat().resolvedOptions().timeZone}catch(e){return null}},properties:function(){var t;return s(d({os:g.os(),browser:g.browser(r,n.vendor,o),referrer:document.referrer,referring_domain:g.referringDomain(document.referrer),device:g.device(r),time_zone:g.timezone(i)}),{current_url:e.location.href,host:e.location.host,pathname:e.location.pathname,browser_version:null==(t=g.browserVersion(r,n.vendor,o))?void 0:t.toString(),screen_height:screen.height,screen_width:screen.width,lib:"web",insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),time:l()/1e3})}};return g.properties()}var T=function(e,t){var n=function(e){t(e)};return e.addEventListener?(e.addEventListener("message",n),function(){return e.removeEventListener("message",n)}):(e.attachEvent("onmessage",n),function(){return e.detachEvent("onmessage",n)})},P=function(e,t,n){if(e.addEventListener){for(var r,o=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=function(e,t){if(e){if("string"==typeof e)return f(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?f(e,t):void 0}}(e))){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(t);!(r=o()).done;)e.addEventListener(r.value,n);return function(){return t.map(function(t){return e.removeEventListener(t,n)})}}return console.error("Custom events are not supported in your browser!"),I},U=/*#__PURE__*/function(t){function n(e){var n;if((n=t.call(this,e)||this).subscriptions=[],n.EVENTS=["idengagerchat:open","idengagerchat:close","idengagerchat:toggle","idengagerchat:identify","storytime:customer:set"],n.getDefaultTitle=function(e){try{var t=n.props,r=t.title,o=t.setDefaultTitle;return Promise.resolve(o&&"function"==typeof o?o(e):r||e.title)}catch(e){return Promise.reject(e)}},n.getDefaultSubtitle=function(e){try{var t=n.props,r=t.subtitle,o=t.setDefaultSubtitle;return Promise.resolve(o&&"function"==typeof o?o(e):r||e.subtitle)}catch(e){return Promise.reject(e)}},n.getDefaultGreeting=function(e){try{var t=n.props,r=t.greeting,o=t.setDefaultGreeting;return Promise.resolve(o&&"function"==typeof o?o(e):r||e.greeting)}catch(e){return Promise.reject(e)}},n.setIframeRef=function(e){n.iframeRef=e},n.getIframeUrl=function(){return n.props.iframeUrlOverride||"https://chatframe.idengager.com"},n.handleConfigUpdated=function(e){n.setState({config:g({},n.state.config,e)}),n.send("config:update",e)},n.handleCustomerIdUpdated=function(e){var t=n.storage.getCustomerId(),r=e||t,o=g({},n.state.config,{customerId:r});n.setState({config:o,query:u.default.stringify(o,{skipEmptyString:!0,skipNull:!0})}),n.logger.debug("Updated customer ID:",r)},n.fetchWidgetSettings=function(){try{var e=n.props,t={};return Promise.resolve(function(e,t){void 0===t&&(t=x);try{return Promise.resolve(l.default.get(t+"/api/widget_settings").query({account_id:e}).then(function(e){return e.body.data}))}catch(e){return Promise.reject(e)}}(e.accountId,e.baseUrl).then(function(e){return e||t}).catch(function(){return t}))}catch(e){return Promise.reject(e)}},n.updateWidgetSettingsMetadata=function(){var e=n.props,t=e.baseUrl;return function(e,t,n){void 0===n&&(n=x);try{return Promise.resolve(l.default.put(n+"/api/widget_settings/metadata").send({account_id:e,metadata:t}).then(function(e){return e.body.data}))}catch(e){return Promise.reject(e)}}(e.accountId,M(window),t).catch(function(e){n.logger.error("Failed to update widget metadata:",e)})},n.customEventHandlers=function(e){if(!e||!e.type)return null;var t=e.detail;switch(e.type){case"idengagerchat:open":return n.handleOpenWidget();case"idengagerchat:close":return n.handleCloseWidget();case"idengagerchat:toggle":return n.handleToggleOpen();case"storytime:customer:set":return n.handleCustomerIdUpdated(t);default:return null}},n.postMessageHandlers=function(e){var t=n.getIframeUrl(),r=new URL(t);if(e.origin!==r.origin)return null;var o=e.data,i=o.payload,a=void 0===i?{}:i;switch(o.event){case"chat:loaded":return n.handleChatLoaded();case"customer:created":case"customer:updated":return n.handleCacheCustomerId(a);case"conversation:join":return n.sendCustomerUpdate(a);case"message:received":return n.handleMessageReceived(a);case"message:sent":return n.handleMessageSent(a);case"messages:unseen":return n.handleUnseenMessages(a);case"messages:seen":return n.handleMessagesSeen();case"idengagerchat:open":case"idengagerchat:close":return n.handleToggleOpen();default:return null}},n.send=function(e,t){var r=n.iframeRef;if(!r)throw new Error("Attempted to send event "+e+" with payload "+JSON.stringify(t)+" before iframeRef was ready");r.contentWindow.postMessage({event:e,payload:t},n.getIframeUrl())},n.handleMessageReceived=function(e){var t=n.props.onMessageReceived,r=void 0===t?I:t;e.user_id&&!e.customer_id&&r&&r(e)},n.handleMessageSent=function(e){var t=n.props.onMessageSent,r=void 0===t?I:t;r&&r(e)},n.handleUnseenMessages=function(e){n.logger.debug("Handling unseen messages:",e),n.setState({shouldDisplayNotifications:!0}),n.send("notifications:display",{shouldDisplayNotifications:!0})},n.handleMessagesSeen=function(){n.logger.debug("Handling messages seen"),n.setState({shouldDisplayNotifications:!1}),n.storage.setPopupSeen(!0),n.send("notifications:display",{shouldDisplayNotifications:!1})},n.shouldOpenByDefault=function(){var e=n.props,t=e.defaultIsOpen,r=e.isOpenByDefault,o=e.persistOpenState;if(!e.canToggle)return!0;var i=n.storage.getOpenState();return o?i:!(!r&&!t)},n.handleChatLoaded=function(){n.setState({isLoaded:!0});var e=n.state.config,t=(void 0===e?{}:e).subscriptionPlan,r=void 0===t?null:t,o=n.props,i=o.popUpInitialMessage,a=o.onChatLoaded,s=void 0===a?I:a;s&&"function"==typeof s&&s(),n.shouldOpenByDefault()&&n.setState({isOpen:!0},function(){return n.emitToggleEvent(!0)}),i&&!n.storage.getPopupSeen()&&setTimeout(function(){n.setState({shouldDisplayNotifications:!0}),n.send("notifications:display",{shouldDisplayNotifications:!0,popUpInitialMessage:!0})},"number"==typeof i?i:0),n.send("idengagerchat:plan",{plan:r})},n.formatCustomerMetadata=function(){var e=n.props.customer,t=void 0===e?{}:e;return t?Object.keys(t).reduce(function(e,n){var r;return g({},e,"metadata"===n?((r={})[n]=t[n],r):{key:String(t[n])})},{}):{}},n.sendCustomerUpdate=function(e){var t=e.customerId,r=g({},M(window),n.formatCustomerMetadata());return n.send("customer:update",{customerId:t,metadata:r})},n.handleCacheCustomerId=function(e){var t=e.customerId;n.logger.debug("Caching customer ID:",t),window.dispatchEvent(new CustomEvent("idengagerchat:customer:set",{detail:t})),n.storage.setCustomerId(t)},n.emitToggleEvent=function(e){n.send("idengagerchat:toggle",{isOpen:e});var t=n.props,r=t.persistOpenState,o=t.onChatOpened,i=void 0===o?I:o,a=t.onChatClosed,s=void 0===a?I:a;void 0!==r&&r&&n.storage.setOpenState(e),e?i&&i():s&&s()},n.handleOpenWidget=function(){n.props.canToggle&&!n.state.isOpen&&(n.state.shouldDisplayNotifications?n.setState({isTransitioning:!0},function(){setTimeout(function(){n.setState({isOpen:!0,isTransitioning:!1},function(){return n.emitToggleEvent(!0)})},200)}):n.setState({isOpen:!0},function(){return n.emitToggleEvent(!0)}))},n.handleCloseWidget=function(){n.props.canToggle&&n.state.isOpen&&n.setState({isOpen:!1},function(){return n.emitToggleEvent(!1)})},n.handleToggleOpen=function(){var e=n.state,t=e.isOpen,r=!t;e.isLoaded&&n.props.canToggle&&(!t&&e.shouldDisplayNotifications?n.setState({isTransitioning:!0},function(){setTimeout(function(){n.setState({isOpen:r,isTransitioning:!1},function(){return n.emitToggleEvent(r)})},200)}):n.setState({isOpen:r},function(){return n.emitToggleEvent(r)}))},!e.accountId)throw new Error("An `accountId` is required to run the Idengagerchat chat!");return n.state={isOpen:!1,isLoaded:!1,query:"",config:{},shouldDisplayNotifications:!1,isTransitioning:!1},n.iframeRef=null,n.storage=null,n.logger=null,n}p(n,t);var r=n.prototype;return r.componentDidMount=function(){try{var e=this;return Promise.resolve(e.fetchWidgetSettings()).then(function(t){var n,r=e.props,o=r.accountId,i=r.primaryColor,a=r.baseUrl,s=r.awayMessage,c=r.newMessagePlaceholder,l=r.emailInputPlaceholder,d=r.newMessagesNotificationText,f=r.agentAvailableText,p=r.agentUnavailableText,h=r.showAgentAvailability,m=r.requireEmailUpfront,v=r.canToggle,y=r.customer,b=void 0===y?{}:y,w=(n=window,Boolean("localhost"===n.location.hostname||"[::1]"===n.location.hostname||n.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)));e.logger=new E(w),e.subscriptions=[T(window,e.postMessageHandlers),P(window,e.EVENTS,e.customEventHandlers)],e.storage=function(e,t){void 0===t&&(t={defaultType:"local",openStateType:"session"});var n=t.defaultType,r=t.openStateType,o=void 0===r?"session":r,i=O(e,void 0===n?"local":n),a=O(e,o);return{getCustomerId:function(){return i.get("__CUSTOMER_ID__")},setCustomerId:function(e){return i.set("__CUSTOMER_ID__",e)},removeCustomerId:function(){return i.remove("__CUSTOMER_ID__")},getOpenState:function(){return a.get(":open")},setOpenState:function(e){return a.set(":open",e)},clearOpenState:function(){return a.remove(":open")},getPopupSeen:function(){return a.get(":pop_up_seen")},setPopupSeen:function(e){return a.set(":pop_up_seen",e)},clearPopupSeen:function(){return a.remove(":pop_up_seen")}}}(window);var S=g({},M(window),b);return Promise.resolve(e.getDefaultTitle(t)).then(function(n){return Promise.resolve(e.getDefaultSubtitle(t)).then(function(r){var g=i||t.color;return Promise.resolve(e.getDefaultGreeting(t)).then(function(i){var y,b,w,x={accountId:o,baseUrl:a,title:n,subtitle:r,primaryColor:g,greeting:i,awayMessage:s||t.away_message,newMessagePlaceholder:c||t.new_message_placeholder,emailInputPlaceholder:l||t.email_input_placeholder,newMessagesNotificationText:d||t.new_messages_notification_text,companyName:null==t||null==(y=t.account)?void 0:y.company_name,requireEmailUpfront:m||t.require_email_upfront?1:0,showAgentAvailability:h||t.show_agent_availability?1:0,agentAvailableText:t.agent_available_text||f,agentUnavailableText:t.agent_unavailable_text||p,closeable:v?1:0,customerId:e.storage.getCustomerId(),subscriptionPlan:null==t||null==(b=t.account)?void 0:b.subscription_plan,isOutsideWorkingHours:null==t||null==(w=t.account)?void 0:w.is_outside_working_hours,isBrandingHidden:null==t?void 0:t.is_branding_hidden,metadata:JSON.stringify(S),version:"1.1.8"},I=u.default.stringify(x,{skipEmptyString:!0,skipNull:!0});return e.setState({config:x,query:I}),Promise.resolve(e.updateWidgetSettingsMetadata()).then(function(){})})})})})}catch(e){return Promise.reject(e)}},r.componentWillUnmount=function(){this.subscriptions.forEach(function(e){"function"==typeof e&&e()})},r.componentDidUpdate=function(e){var t=this.props,n=t.accountId,r=t.title,o=t.subtitle,i=t.primaryColor,a=t.baseUrl,s=t.greeting,u=t.newMessagePlaceholder,c=t.emailInputPlaceholder,l=t.newMessagesNotificationText,d=t.requireEmailUpfront,f=t.showAgentAvailability,g=t.agentAvailableText,p=t.agentUnavailableText,h=[e.accountId,e.title,e.subtitle,e.primaryColor,e.baseUrl,e.greeting,e.newMessagePlaceholder,e.emailInputPlaceholder,e.newMessagesNotificationText,e.requireEmailUpfront,e.showAgentAvailability,e.agentAvailableText,e.agentUnavailableText];[n,r,o,i,a,s,u,c,l,d,f,g,p].some(function(e,t){return e!==h[t]})&&this.handleConfigUpdated({accountId:n,title:r,subtitle:o,primaryColor:i,baseUrl:a,greeting:s,newMessagePlaceholder:u,emailInputPlaceholder:c,newMessagesNotificationText:l,agentAvailableText:g,agentUnavailableText:p,requireEmailUpfront:d?1:0,showAgentAvailability:f?1:0})},r.render=function(){var t=this.state,n=t.isOpen,r=t.isLoaded,o=t.query,i=t.config,a=t.shouldDisplayNotifications,s=t.isTransitioning,u=this.props,c=u.customIconUrl,l=u.hideOutsideWorkingHours,f=u.children,p=i.primaryColor;if(!o)return null;if(void 0!==l&&l&&i.isOutsideWorkingHours)return null;var h=this.getIframeUrl(),m=(n||a)&&!s,v=function(e){void 0===e&&(e={});var t=e.primary,n=d.default(void 0===t?"#1890ff":t),r={primary:n.toString(),light:n.lighten().toString(),dark:n.darken().toString()};return{useBodyStyles:!1,space:[0,4,8,16,32,64,128,256,512],fonts:{body:'-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;',heading:'-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;',monospace:'"Roboto Mono", monospace'},fontSizes:[12,14,16,20,24,32,48,64,96],fontWeights:{body:400,heading:600,bold:600},lineHeights:{body:1.5,heading:1.125},colors:{text:"#141414",background:"#fff",primary:r.primary,secondary:"#722ed1",muted:"#f0f0f0",gray:"rgba(0, 0, 0, 0.45)",input:"rgba(0, 0, 0, 0.65)",offset:"rgba(255, 255, 255, 0.8)"},text:{default:{color:"text",fontSize:1},caps:{textTransform:"uppercase",letterSpacing:"0.2em"},heading:{fontFamily:"heading",fontWeight:"heading",lineHeight:"heading"}},buttons:{primary:{cursor:"pointer",outline:0,boxShadow:"rgba(0, 0, 0, 0.08) 0 2px 4px",transition:"0.2s","&:hover":{background:r.light,borderColor:r.light,boxShadow:"rgba(0, 0, 0, 0.12) 0px 2px 8px"},"&:active":{background:r.dark,borderColor:r.dark}}},styles:g({root:{fontFamily:"body",lineHeight:"body",fontWeight:"body",fontSize:1},h1:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:5},h2:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:4},h3:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:3},h4:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:2},h5:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:1},h6:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:0},p:{color:"text",fontFamily:"body",fontWeight:"body",lineHeight:"body"},a:{color:"primary"},pre:{fontFamily:"monospace",overflowX:"auto",code:{color:"inherit"}},code:{fontFamily:"monospace",fontSize:"inherit"},table:{width:"100%",borderCollapse:"separate",borderSpacing:0},th:{textAlign:"left",borderBottomStyle:"solid"},td:{textAlign:"left",borderBottomStyle:"solid"},img:{maxWidth:"100%"},textarea:{transparent:{border:"none",boxShadow:"none",resize:"none",outline:0,"&:hover":{border:"none",boxShadow:"none",resize:"none",outline:0},"&:active":{border:"none",boxShadow:"none",resize:"none",outline:0},"&:focus":{border:"none",boxShadow:"none",resize:"none",outline:0}}}},C)}}({primary:p}),y=["allow-scripts","allow-popups","allow-same-origin","allow-forms"].join(" ");return e.jsx(e.ThemeProvider,{theme:v},f({sandbox:y,isLoaded:r,isActive:m,isOpen:n,isTransitioning:s,customIconUrl:c,iframeUrl:h,query:o,shouldDisplayNotifications:a,setIframeRef:this.setIframeRef,onToggleOpen:this.handleToggleOpen}))},n}(s.default.Component),B=/*#__PURE__*/function(e){function t(t){var n;return(n=e.call(this,t)||this).state={error:null},n}p(t,e),t.getDerivedStateFromError=function(e){return{error:e}};var n=t.prototype;return n.componentDidCatch=function(e,t){console.error("Error rendering Idengagerchat chat:",e,t)},n.render=function(){return this.state.error?null:this.props.children},t}(s.default.Component),A=function(t){return e.jsx(B,null,e.jsx(U,g({},t,{canToggle:!0}),function(r){var o=r.sandbox,i=r.isLoaded,a=r.isActive,u=r.isOpen,c=r.isTransitioning,l=r.customIconUrl,d=r.iframeUrl,f=r.query,p=r.shouldDisplayNotifications,h=r.setIframeRef,m=r.onToggleOpen,v=t.hideToggleButton,y=t.iconVariant,b=t.renderToggleButton,w=t.position,x=t.styles,I=function(e,t){void 0===e&&(e={});var n=e.chatContainer,r=void 0===n?{}:n,o=e.toggleContainer,i=void 0===o?{}:o,a=e.toggleButton,s=void 0===a?{}:a,u=t.side,c=t.offset,l=void 0===c?20:c;return"left"===(void 0===u?"right":u)?{chatContainer:g({left:l,right:"auto"},r),toggleContainer:g({left:l,right:"auto"},i),toggleButton:s}:{chatContainer:g({right:l,left:"auto"},r),toggleContainer:g({right:l,left:"auto"},i),toggleButton:s}}(void 0===x?{}:x,function(e){if(!e)return{side:"right",offset:20};switch(e){case"left":return{side:"left",offset:20};case"right":return{side:"right",offset:20};default:return e}}(void 0===w?"right":w)),C=I.toggleContainer,_=I.toggleButton;return e.jsx(s.default.Fragment,null,e.jsx(n.motion.iframe,{ref:h,title:"Idengagerchat Chat Box Container",className:"Idengagerchat-chatFrameContainer",sandbox:o,animate:a?"open":"closed",initial:"closed",variants:{closed:{opacity:0,y:4},open:{opacity:1,y:0}},transition:{duration:.2,ease:"easeIn"},src:d+"?"+f,style:a?I.chatContainer:{pointerEvents:"none",height:0,minHeight:0},sx:{border:"none",bg:"background",variant:!u&&p?"styles.WidgetContainer.notifications":"styles.WidgetContainer"}},"Loading..."),i&&!v&&e.jsx(n.motion.div,{className:"Idengagerchat-toggleButtonContainer",initial:!1,style:C,animate:u?"open":"closed",sx:{variant:"styles.WidgetToggleContainer"}},b&&"function"==typeof b?b({isOpen:u,onToggleOpen:m,isDisabled:c}):e.jsx(S,{style:_,isDisabled:c,isOpen:u,customIconUrl:l,iconVariant:y,toggle:m})))}))},k=function(){return window.dispatchEvent(new Event("idengagerchat:open"))},D=function(){return window.dispatchEvent(new Event("idengagerchat:close"))},F=function(){return window.dispatchEvent(new Event("idengagerchat:toggle"))},W={open:k,close:D,toggle:F};exports.ChatBox=A,exports.ChatFrame=function(e){/*#__PURE__*/return React.createElement(B,null,/*#__PURE__*/React.createElement(U,g({},e,{canToggle:!1}),function(e){var t=e.isLoaded;/*#__PURE__*/return React.createElement(n.motion.iframe,{ref:e.setIframeRef,className:"Idengagerchat-chatFrameContainer",sandbox:e.sandbox,animate:t?"open":"closed",initial:"closed",variants:{closed:{opacity:0},open:{opacity:1}},transition:{duration:.2,ease:"easeIn"},src:e.iframeUrl+"?"+e.query,sx:{opacity:t?1:0,border:"none",bg:"background",variant:"styles.ChatFrameContainer"}},"Loading...")}))},exports.Idengagerchat=W,exports.close=D,exports.default=A,exports.identify=function(){console.warn("`Idengagerchat.identify` has not been implemented yet!")},exports.open=k,exports.toggle=F; | ||
| var e=require("theme-ui"),t=require("react"),n=require("framer-motion"),r=require("query-string"),o=require("superagent"),i=require("tinycolor2");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=/*#__PURE__*/a(t),u=/*#__PURE__*/a(r),l=/*#__PURE__*/a(o),d=/*#__PURE__*/a(i);function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function g(){return g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},g.apply(null,arguments)}function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,h(e,t)}function h(e,t){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},h(e,t)}var m=function(e){/*#__PURE__*/return s.default.createElement(n.motion.path,g({fill:"transparent",strokeWidth:"3",stroke:"hsl(0, 0%, 99%)",strokeLinecap:"round"},e))},v=function(){/*#__PURE__*/return s.default.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},/*#__PURE__*/s.default.createElement(m,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 7 7 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/s.default.createElement(m,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 7 20 L 20 7"}},transition:{duration:.2}}),/*#__PURE__*/s.default.createElement(m,{d:"M22 21.6453C22 20 23 19.5 23 19.5C23 19.5 25.5 18 25.5 14V9C25.5 4 23 1.5 18 1.5H9C4 1.5 1.5 4 1.5 9V14C1.5 19 4 21 9 21H13.5C14 21 14 21 15 21.5L20.25 24.8572L20.8517 25.2118C21.5184 25.6046 22 25.631 22 24.8572V24.0287V22.7858V21.6453Z",variants:{closed:{opacity:1},open:{opacity:0}},transition:{duration:.2}}))},y=function(){/*#__PURE__*/return s.default.createElement("svg",{width:"24",height:"25",viewBox:"0 0 24 25",fill:"none"},/*#__PURE__*/s.default.createElement(m,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 5 5 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/s.default.createElement(m,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 5 20 L 20 5"}},transition:{duration:.2}}))},b=function(){/*#__PURE__*/return s.default.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},/*#__PURE__*/s.default.createElement(m,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 7 7 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/s.default.createElement(m,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 7 20 L 20 7"}},transition:{duration:.2}}))},w=function(t){var n=t.customIconUrl,r=t.iconVariant;return n?t.isOpen?/*#__PURE__*/s.default.createElement(b,null):/*#__PURE__*/s.default.createElement(e.Image,{src:n,style:{maxHeight:40,maxWidth:40}}):/*#__PURE__*/s.default.createElement("filled"===r?y:v,null)},S=function(t){/*#__PURE__*/return s.default.createElement(e.Button,{className:"Idengagerchat-toggleButton",variant:"primary",p:0,style:t.style,sx:{variant:"styles.WidgetToggle"},disabled:t.isDisabled,onClick:t.toggle},/*#__PURE__*/s.default.createElement(w,{customIconUrl:t.customIconUrl,iconVariant:t.iconVariant,isOpen:t.isOpen}))},x="development"===process.env.NODE_ENV?"http://localhost:4000":"https://inboxready.idengager.com";function I(){}var C={ChatFrameContainer:{margin:0,height:"100%",width:"100%",minHeight:320},WidgetContainer:{margin:0,zIndex:2147483e3,position:"fixed",bottom:100,right:20,width:376,maxWidth:["90%","376px"],minHeight:250,maxHeight:["60%","704px"],boxShadow:"rgba(0, 0, 0, 0.16) 0px 5px 40px",height:"calc(100% - 120px)",borderRadius:8,overflow:"hidden",notifications:{background:"transparent",margin:0,zIndex:2147483e3,position:"fixed",bottom:80,right:20,width:"auto",maxWidth:["90%","300px"],minHeight:0,maxHeight:["60%","400px"],boxShadow:"none",height:200,overflow:"hidden"}},WidgetToggleContainer:{position:"fixed",zIndex:2147483003,bottom:"20px",right:"20px"},WidgetToggle:{outline:"none !important",border:"none !important",cursor:"pointer",width:"50px",height:"50px",borderRadius:"50%",display:"flex",justifyContent:"center",alignItems:"center"}},_="__IDENGAGERCHAT__",O=function(e,t){void 0===t&&(t="local");try{switch(t){case"local":return function(e){try{var t=e&&e.localStorage;return g({},t,{get:function(e){var n=t.getItem(""+_+e);if(!n)return null;try{return JSON.parse(n)}catch(e){return n}},set:function(e,n){t.setItem(""+_+e,JSON.stringify(n))},remove:function(e){t.removeItem(e)}})}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}(e);case"session":return function(e){try{var t=e&&e.sessionStorage;return g({},t,{get:function(e){var n=t.getItem(""+_+e);if(!n)return null;try{return JSON.parse(n)}catch(e){return n}},set:function(e,n){t.setItem(""+_+e,JSON.stringify(n))},remove:function(e){t.removeItem(e)}})}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}(e);case"cookie":return function(){try{throw new Error("Cookie storage has not been implemented!")}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}();default:return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}},E=/*#__PURE__*/function(){function e(e){void 0===e&&(e=!1),this.debugModeEnabled=!!e}var t=e.prototype;return t.debug=function(){var e;this.debugModeEnabled&&(e=console).debug.apply(e,[].slice.call(arguments))},t.log=function(){var e;this.debugModeEnabled&&(e=console).log.apply(e,[].slice.call(arguments))},t.info=function(){var e;(e=console).info.apply(e,[].slice.call(arguments))},t.warn=function(){var e;(e=console).warn.apply(e,[].slice.call(arguments))},t.error=function(){var e;(e=console).error.apply(e,[].slice.call(arguments))},e}();function M(e){var t=function(e){var t=Array.prototype,n=Function.prototype,r=Object.prototype,o=r.toString,i=r.hasOwnProperty,a=e.navigator,s=n.bind,u=t.forEach,l=Array.isArray,d=t.slice,f={},g=l||function(e){return"[object Array]"===o.call(e)};function p(e){try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}}function h(e){return"[object String]"==o.call(e)}function m(e){return void 0===e}function v(e,t,n){if(null!=e)if(u&&e.forEach===u)e.forEach(t,n);else if(e.length===+e.length){for(var r=0,o=e.length;r<o;r++)if(r in e&&t.call(n,e[r],r,e)===f)return}else for(var a in e)if(i.call(e,a)&&t.call(n,e[a],a,e)===f)return}var y,b,w,S,x,I,C,_,O,E,M,T,P=(x={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},I=function(e){var t=new SyntaxError(e);throw t.at=y,t.text=w,t},C=function(){return c&&c!==b&&I("Expected '"+c+"' instead of '"+b+"'"),b=w.charAt(y),y+=1,b},_=function(){var e,t="";for("-"===b&&(t="-",C());b>="0"&&b<="9";)t+=b,C();if("."===b)for(t+=".";C()&&b>="0"&&b<="9";)t+=b;if("e"===b||"E"===b)for(t+=b,C(),"-"!==b&&"+"!==b||(t+=b,C());b>="0"&&b<="9";)t+=b,C();if(e=+t,isFinite(e))return e;I("Bad number")},O=function(){var e,t,n,r="";if('"'===b)for(;C();){if('"'===b)return C(),r;if("\\"===b)if(C(),"u"===b){for(n=0,t=0;t<4&&(e=parseInt(C(),16),isFinite(e));t+=1)n=16*n+e;r+=String.fromCharCode(n)}else{if("string"!=typeof x[b])break;r+=x[b]}else r+=b}I("Bad string")},E=function(){for(;b&&b<=" ";)C()},M=function(){var e=[];if("["===b){if(C(),E(),"]"===b)return C(),e;for(;b;){if(e.push(S()),E(),"]"===b)return C(),e;C(),E()}}I("Bad array")},T=function(){var e,t={};if("{"===b){if(C(),E(),"}"===b)return C(),t;for(;b;){if(e=O(),E(),C(),Object.hasOwnProperty.call(t,e)&&I('Duplicate key "'+e+'"'),t[e]=S(),E(),"}"===b)return C(),t;C(),E()}}I("Bad object")},S=function(){switch(E(),b){case"{":return T();case"[":return M();case'"':return O();case"-":return _();default:return b>="0"&&b<="9"?_():function(){switch(b){case"t":return C(),C(),C(),C(),!0;case"f":return C(),C(),C(),C(),C(),!1;case"n":return C(),C(),C(),C(),null}I('Unexpected "'+b+'"')}()}},function(e){var t;return w=e,y=0,b=" ",t=S(),E(),b&&I("Syntax error"),t});function U(e){var t,n,r,o,i="";for(t=n=0,r=(e=(e+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n")).length,o=0;o<r;o++){var a=e.charCodeAt(o),s=null;a<128?n++:s=a>127&&a<2048?String.fromCharCode(a>>6|192,63&a|128):String.fromCharCode(a>>12|224,a>>6&63|128,63&a|128),null!==s&&(n>t&&(i+=e.substring(t,n)),i+=s,t=n=o+1)}return n>t&&(i+=e.substring(t,e.length)),i}return{ArrayProto:t,FuncProto:n,ObjProto:r,toString:o,hasOwnProperty:i,win:e,windowConsole:e.console,navigator:a,document:e.document,windowOpera:e.opera,screen:e.screen,userAgent:a.userAgent,intl:e.Intl,nativeBind:s,nativeForEach:u,nativeIndexOf:t.indexOf,nativeIsArray:l,slice:d,breaker:f,__NOOP:function(){},__NOOPTIONS:{},isFunction:p,isString:h,includes:function(e,t){return-1!==e.indexOf(t)},isUndefined:m,timestamp:function(){return Date.now=Date.now||function(){return+new Date},Date.now()},each:v,trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},extend:function(e){return v([].slice.call(arguments,1),function(t){for(var n in t)void 0!==t[n]&&(e[n]=t[n])}),e},bind:function(e,t){var n,r;if(s&&e.bind===s)return s.apply(e,d.call(arguments,1));if(!p(e))throw new TypeError;return n=d.call(arguments,2),r=function(){if(!(this instanceof r))return e.apply(t,n.concat(d.call(arguments)));var o={};o.prototype=e.prototype;var i=new o;o.prototype=null;var a=e.apply(i,n.concat(d.call(arguments)));return Object(a)===a?a:i},r},truncate:function e(t,n){var r;return"string"==typeof t?r=t.slice(0,n):g(t)?(r=[],v(t,function(t){r.push(e(t,n))})):function(e){return e===Object(e)&&!g(e)}(t)?(r={},v(t,function(t,o){r[o]=e(t,n)})):r=t,r},stripEmptyProperties:function(e){var t={};return v(e,function(e,n){h(e)&&e.length>0&&(t[n]=e)}),t},HTTPBuildQuery:function(e,t){var n,r,o=[];return m(t)&&(t="&"),v(e,function(e,t){n=encodeURIComponent(e.toString()),r=encodeURIComponent(t),o[o.length]=r+"="+n}),o.join(t)},JSONEncode:function(e){var t=function(e){var t=/[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return t.lastIndex=0,t.test(e)?'"'+e.replace(t,function(e){var t=n[e];return"string"==typeof t?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'},n=function(e,r){var a="",s=0,u="",c="",l=0,d=a,f=[],g=r[e];switch(g&&"object"==typeof g&&"function"==typeof g.toJSON&&(g=g.toJSON(e)),typeof g){case"string":return t(g);case"number":return isFinite(g)?String(g):"null";case"boolean":case"undefined":return String(g);case"object":if(!g)return"null";if(a+=" ",f=[],"[object Array]"===o.apply(g)){for(l=g.length,s=0;s<l;s+=1)f[s]=n(s,g)||"null";return c=0===f.length?"[]":a?"[\n"+a+f.join(",\n"+a)+"\n"+d+"]":"["+f.join(",")+"]",a=d,c}for(u in g)i.call(g,u)&&(c=n(u,g))&&f.push(t(u)+(a?": ":":")+c);return c=0===f.length?"{}":a?"{"+f.join(",")+d+"}":"{"+f.join(",")+"}",a=d,c}};return n("",{"":e})},JSONDecode:P,utf8Encode:U,base64Encode:function(e){var t,n,r,o,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",a=0,s=0,u="",c=[];if(!e)return e;e=U(e);do{t=(o=e.charCodeAt(a++)<<16|e.charCodeAt(a++)<<8|e.charCodeAt(a++))>>12&63,n=o>>6&63,r=63&o,c[s++]=i.charAt(o>>18&63)+i.charAt(t)+i.charAt(n)+i.charAt(r)}while(a<e.length);switch(u=c.join(""),e.length%3){case 1:u=u.slice(0,-2)+"==";break;case 2:u=u.slice(0,-1)+"="}return u},getQueryParam:function(e,t){t=t.replace(/[[]/,"\\[").replace(/[\]]/,"\\]");var n=new RegExp("[\\?&]"+t+"=([^&#]*)").exec(e);if(null===n||n&&"string"!=typeof n[1]&&n[1].length)return"";var r=n[1];try{r=decodeURIComponent(r)}catch(e){console.error("Skipping decoding for malformed query param: "+r)}return r.replace(/\+/g," ")}}}(e),n=t.navigator,r=t.userAgent,o=t.windowOpera,i=t.intl,a=t.each,s=t.extend,u=t.includes,l=t.timestamp,d=t.stripEmptyProperties,f=t.getQueryParam,g={campaignParams:function(){var e="utm_source utm_medium utm_campaign utm_content utm_term".split(" "),t="",n={};return a(e,function(e){(t=f(document.URL,e)).length&&(n[e]=t)}),n},searchEngine:function(e){return 0===e.search("https?://(.*)google.([^/?]*)")?"google":0===e.search("https?://(.*)bing.com")?"bing":0===e.search("https?://(.*)yahoo.com")?"yahoo":0===e.search("https?://(.*)duckduckgo.com")?"duckduckgo":null},searchInfo:function(e){var t=g.searchEngine(e),n="yahoo"!=t?"q":"p",r={};if(null!==t){r.$search_engine=t;var o=f(e,n);o.length&&(r.ph_keyword=o)}return r},browser:function(e,t,n){return t=t||"",n||u(e," OPR/")?u(e,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":u(e,"IEMobile")||u(e,"WPDesktop")?"Internet Explorer Mobile":u(e,"SamsungBrowser/")?"Samsung Internet":u(e,"Edge")||u(e,"Edg/")?"Microsoft Edge":u(e,"FBIOS")?"Facebook Mobile":u(e,"Chrome")?"Chrome":u(e,"CriOS")?"Chrome iOS":u(e,"UCWEB")||u(e,"UCBrowser")?"UC Browser":u(e,"FxiOS")?"Firefox iOS":u(t,"Apple")?u(e,"Mobile")?"Mobile Safari":"Safari":u(e,"Android")?"Android Mobile":u(e,"Konqueror")?"Konqueror":u(e,"Firefox")?"Firefox":u(e,"MSIE")||u(e,"Trident/")?"Internet Explorer":u(e,"Gecko")?"Mozilla":""},browserVersion:function(e,t,n){var r={"Internet Explorer Mobile":/rv:(\d+(\.\d+)?)/,"Microsoft Edge":/Edge?\/(\d+(\.\d+)?)/,Chrome:/Chrome\/(\d+(\.\d+)?)/,"Chrome iOS":/CriOS\/(\d+(\.\d+)?)/,"UC Browser":/(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,Safari:/Version\/(\d+(\.\d+)?)/,"Mobile Safari":/Version\/(\d+(\.\d+)?)/,Opera:/(Opera|OPR)\/(\d+(\.\d+)?)/,Firefox:/Firefox\/(\d+(\.\d+)?)/,"Firefox iOS":/FxiOS\/(\d+(\.\d+)?)/,Konqueror:/Konqueror:(\d+(\.\d+)?)/,BlackBerry:/BlackBerry (\d+(\.\d+)?)/,"Android Mobile":/android\s(\d+(\.\d+)?)/,"Samsung Internet":/SamsungBrowser\/(\d+(\.\d+)?)/,"Internet Explorer":/(rv:|MSIE )(\d+(\.\d+)?)/,Mozilla:/rv:(\d+(\.\d+)?)/}[g.browser(e,t,n)];if(void 0===r)return null;var o=e.match(r);return o?parseFloat(o[o.length-2]):null},os:function(){var e=r;return/Windows/i.test(e)?/Phone/.test(e)||/WPDesktop/.test(e)?"Windows Phone":"Windows":/(iPhone|iPad|iPod)/.test(e)?"iOS":/Android/.test(e)?"Android":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Mac/i.test(e)?"Mac OS X":/Linux/.test(e)?"Linux":/CrOS/.test(e)?"Chrome OS":""},device:function(e){return/Windows Phone/i.test(e)||/WPDesktop/.test(e)?"Windows Phone":/iPad/.test(e)?"iPad":/iPod/.test(e)?"iPod Touch":/iPhone/.test(e)?"iPhone":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Android/.test(e)?"Android":""},referringDomain:function(e){var t=e.split("/");return t.length>=3?t[2]:""},timezone:function(e){try{return e.DateTimeFormat().resolvedOptions().timeZone}catch(e){return null}},properties:function(){var t;return s(d({os:g.os(),browser:g.browser(r,n.vendor,o),referrer:document.referrer,referring_domain:g.referringDomain(document.referrer),device:g.device(r),time_zone:g.timezone(i)}),{current_url:e.location.href,host:e.location.host,pathname:e.location.pathname,browser_version:null==(t=g.browserVersion(r,n.vendor,o))?void 0:t.toString(),screen_height:screen.height,screen_width:screen.width,lib:"web",insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),time:l()/1e3})}};return g.properties()}var T=function(e,t){var n=function(e){t(e)};return e.addEventListener?(e.addEventListener("message",n),function(){return e.removeEventListener("message",n)}):(e.attachEvent("onmessage",n),function(){return e.detachEvent("onmessage",n)})},P=function(e,t,n){if(e.addEventListener){for(var r,o=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=function(e,t){if(e){if("string"==typeof e)return f(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?f(e,t):void 0}}(e))){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(t);!(r=o()).done;)e.addEventListener(r.value,n);return function(){return t.map(function(t){return e.removeEventListener(t,n)})}}return console.error("Custom events are not supported in your browser!"),I},U=/*#__PURE__*/function(t){function n(e){var n;if((n=t.call(this,e)||this).subscriptions=[],n.EVENTS=["idengagerchat:open","idengagerchat:close","idengagerchat:toggle","idengagerchat:identify","storytime:customer:set"],n.getDefaultTitle=function(e){try{var t=n.props,r=t.title,o=t.setDefaultTitle;return Promise.resolve(o&&"function"==typeof o?o(e):r||e.title)}catch(e){return Promise.reject(e)}},n.getDefaultSubtitle=function(e){try{var t=n.props,r=t.subtitle,o=t.setDefaultSubtitle;return Promise.resolve(o&&"function"==typeof o?o(e):r||e.subtitle)}catch(e){return Promise.reject(e)}},n.getDefaultGreeting=function(e){try{var t=n.props,r=t.greeting,o=t.setDefaultGreeting;return Promise.resolve(o&&"function"==typeof o?o(e):r||e.greeting)}catch(e){return Promise.reject(e)}},n.setIframeRef=function(e){n.iframeRef=e},n.getIframeUrl=function(){return n.props.iframeUrlOverride||"https://chatframe.idengager.com"},n.handleConfigUpdated=function(e){n.setState({config:g({},n.state.config,e)}),n.send("config:update",e)},n.handleCustomerIdUpdated=function(e){var t=n.storage.getCustomerId(),r=e||t,o=g({},n.state.config,{customerId:r});n.setState({config:o,query:u.default.stringify(o,{skipEmptyString:!0,skipNull:!0})}),n.logger.debug("Updated customer ID:",r)},n.fetchWidgetSettings=function(){try{var e=n.props,t={};return Promise.resolve(function(e,t){void 0===t&&(t=x);try{return Promise.resolve(l.default.get(t+"/api/widget_settings").query({account_id:e}).then(function(e){return e.body.data}))}catch(e){return Promise.reject(e)}}(e.accountId,e.baseUrl).then(function(e){return e||t}).catch(function(){return t}))}catch(e){return Promise.reject(e)}},n.updateWidgetSettingsMetadata=function(){var e=n.props,t=e.baseUrl;return function(e,t,n){void 0===n&&(n=x);try{return Promise.resolve(l.default.put(n+"/api/widget_settings/metadata").send({account_id:e,metadata:t}).then(function(e){return e.body.data}))}catch(e){return Promise.reject(e)}}(e.accountId,M(window),t).catch(function(e){n.logger.error("Failed to update widget metadata:",e)})},n.customEventHandlers=function(e){if(!e||!e.type)return null;var t=e.detail;switch(e.type){case"idengagerchat:open":return n.handleOpenWidget();case"idengagerchat:close":return n.handleCloseWidget();case"idengagerchat:toggle":return n.handleToggleOpen();case"storytime:customer:set":return n.handleCustomerIdUpdated(t);default:return null}},n.postMessageHandlers=function(e){var t=n.getIframeUrl(),r=new URL(t);if(e.origin!==r.origin)return null;var o=e.data,i=o.payload,a=void 0===i?{}:i;switch(o.event){case"chat:loaded":return n.handleChatLoaded();case"customer:created":case"customer:updated":return n.handleCacheCustomerId(a);case"conversation:join":return n.sendCustomerUpdate(a);case"message:received":return n.handleMessageReceived(a);case"message:sent":return n.handleMessageSent(a);case"messages:unseen":return n.handleUnseenMessages(a);case"messages:seen":return n.handleMessagesSeen();case"idengagerchat:open":case"idengagerchat:close":return n.handleToggleOpen();default:return null}},n.send=function(e,t){var r=n.iframeRef;if(!r)throw new Error("Attempted to send event "+e+" with payload "+JSON.stringify(t)+" before iframeRef was ready");r.contentWindow&&r.contentWindow.postMessage({event:e,payload:t},n.getIframeUrl())},n.handleMessageReceived=function(e){var t=n.props.onMessageReceived,r=void 0===t?I:t;e.user_id&&!e.customer_id&&r&&r(e)},n.handleMessageSent=function(e){var t=n.props.onMessageSent,r=void 0===t?I:t;r&&r(e)},n.handleUnseenMessages=function(e){n.setState({shouldDisplayNotifications:!0}),n.send("notifications:display",{shouldDisplayNotifications:!0})},n.handleMessagesSeen=function(){n.setState({shouldDisplayNotifications:!1}),n.storage.setPopupSeen(!0),n.send("notifications:display",{shouldDisplayNotifications:!1})},n.shouldOpenByDefault=function(){var e=n.props,t=e.defaultIsOpen,r=e.isOpenByDefault,o=e.persistOpenState;if(!e.canToggle)return!0;var i=n.storage.getOpenState();return o?i:!(!r&&!t)},n.handleChatLoaded=function(){n.setState({isLoaded:!0});var e=n.state.config,t=(void 0===e?{}:e).subscriptionPlan,r=void 0===t?null:t,o=n.props,i=o.popUpInitialMessage,a=o.onChatLoaded,s=void 0===a?I:a;s&&"function"==typeof s&&s(),n.shouldOpenByDefault()&&n.setState({isOpen:!0},function(){return n.emitToggleEvent(!0)}),i&&!n.storage.getPopupSeen()&&setTimeout(function(){n.setState({shouldDisplayNotifications:!0}),n.send("notifications:display",{shouldDisplayNotifications:!0,popUpInitialMessage:!0})},"number"==typeof i?i:0),n.send("idengagerchat:plan",{plan:r})},n.formatCustomerMetadata=function(){var e=n.props.customer,t=void 0===e?{}:e;return t?Object.keys(t).reduce(function(e,n){var r;return g({},e,"metadata"===n?((r={})[n]=t[n],r):{key:String(t[n])})},{}):{}},n.sendCustomerUpdate=function(e){var t=e.customerId,r=g({},M(window),n.formatCustomerMetadata());return n.send("customer:update",{customerId:t,metadata:r})},n.handleCacheCustomerId=function(e){var t=e.customerId;n.logger.debug("Caching customer ID:",t),window.dispatchEvent(new CustomEvent("idengagerchat:customer:set",{detail:t})),n.storage.setCustomerId(t)},n.emitToggleEvent=function(e){n.send("idengagerchat:toggle",{isOpen:e});var t=n.props,r=t.persistOpenState,o=t.onChatOpened,i=void 0===o?I:o,a=t.onChatClosed,s=void 0===a?I:a;void 0!==r&&r&&n.storage.setOpenState(e),e?i&&i():s&&s()},n.handleOpenWidget=function(){n.props.canToggle&&!n.state.isOpen&&(n.state.shouldDisplayNotifications?n.setState({isTransitioning:!0},function(){setTimeout(function(){n.setState({isOpen:!0,isTransitioning:!1},function(){return n.emitToggleEvent(!0)})},200)}):n.setState({isOpen:!0},function(){return n.emitToggleEvent(!0)}))},n.handleCloseWidget=function(){n.props.canToggle&&n.state.isOpen&&n.setState({isOpen:!1},function(){return n.emitToggleEvent(!1)})},n.handleToggleOpen=function(){var e=n.state,t=e.isOpen,r=!t;e.isLoaded&&n.props.canToggle&&(!t&&e.shouldDisplayNotifications?n.setState({isTransitioning:!0},function(){setTimeout(function(){n.setState({isOpen:r,isTransitioning:!1},function(){return n.emitToggleEvent(r)})},200)}):n.setState({isOpen:r},function(){return n.emitToggleEvent(r)}))},!e.accountId)throw new Error("An `accountId` is required to run the Idengagerchat chat!");return n.state={isOpen:!1,isLoaded:!1,query:"",config:{},shouldDisplayNotifications:!1,isTransitioning:!1},n.iframeRef=null,n.storage=null,n.logger=null,n}p(n,t);var r=n.prototype;return r.componentDidMount=function(){try{var e=this;return Promise.resolve(e.fetchWidgetSettings()).then(function(t){var n,r=e.props,o=r.accountId,i=r.primaryColor,a=r.baseUrl,s=r.awayMessage,c=r.newMessagePlaceholder,l=r.emailInputPlaceholder,d=r.newMessagesNotificationText,f=r.agentAvailableText,p=r.agentUnavailableText,h=r.showAgentAvailability,m=r.requireEmailUpfront,v=r.canToggle,y=r.customer,b=void 0===y?{}:y,w=(n=window,Boolean("localhost"===n.location.hostname||"[::1]"===n.location.hostname||n.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)));e.logger=new E(w),e.subscriptions=[T(window,e.postMessageHandlers),P(window,e.EVENTS,e.customEventHandlers)],e.storage=function(e,t){void 0===t&&(t={defaultType:"local",openStateType:"session"});var n=t.defaultType,r=t.openStateType,o=void 0===r?"session":r,i=O(e,void 0===n?"local":n),a=O(e,o);return{getCustomerId:function(){return i.get("__CUSTOMER_ID__")},setCustomerId:function(e){return i.set("__CUSTOMER_ID__",e)},removeCustomerId:function(){return i.remove("__CUSTOMER_ID__")},getOpenState:function(){return a.get(":open")},setOpenState:function(e){return a.set(":open",e)},clearOpenState:function(){return a.remove(":open")},getPopupSeen:function(){return a.get(":pop_up_seen")},setPopupSeen:function(e){return a.set(":pop_up_seen",e)},clearPopupSeen:function(){return a.remove(":pop_up_seen")}}}(window);var S=g({},M(window),b);return Promise.resolve(e.getDefaultTitle(t)).then(function(n){return Promise.resolve(e.getDefaultSubtitle(t)).then(function(r){var g=i||t.color;return Promise.resolve(e.getDefaultGreeting(t)).then(function(i){var y,b,w,x={accountId:o,baseUrl:a,title:n,subtitle:r,primaryColor:g,greeting:i,awayMessage:s||t.away_message,newMessagePlaceholder:c||t.new_message_placeholder,emailInputPlaceholder:l||t.email_input_placeholder,newMessagesNotificationText:d||t.new_messages_notification_text,companyName:null==t||null==(y=t.account)?void 0:y.company_name,requireEmailUpfront:m||t.require_email_upfront?1:0,showAgentAvailability:h||t.show_agent_availability?1:0,agentAvailableText:t.agent_available_text||f,agentUnavailableText:t.agent_unavailable_text||p,closeable:v?1:0,customerId:e.storage.getCustomerId(),subscriptionPlan:null==t||null==(b=t.account)?void 0:b.subscription_plan,isOutsideWorkingHours:null==t||null==(w=t.account)?void 0:w.is_outside_working_hours,isBrandingHidden:null==t?void 0:t.is_branding_hidden,metadata:JSON.stringify(S),version:"1.1.8"},I=u.default.stringify(x,{skipEmptyString:!0,skipNull:!0});return e.setState({config:x,query:I}),Promise.resolve(e.updateWidgetSettingsMetadata()).then(function(){})})})})})}catch(e){return Promise.reject(e)}},r.componentWillUnmount=function(){this.subscriptions.forEach(function(e){"function"==typeof e&&e()})},r.componentDidUpdate=function(e){var t=this.props,n=t.accountId,r=t.title,o=t.subtitle,i=t.primaryColor,a=t.baseUrl,s=t.greeting,u=t.newMessagePlaceholder,c=t.emailInputPlaceholder,l=t.newMessagesNotificationText,d=t.requireEmailUpfront,f=t.showAgentAvailability,g=t.agentAvailableText,p=t.agentUnavailableText,h=[e.accountId,e.title,e.subtitle,e.primaryColor,e.baseUrl,e.greeting,e.newMessagePlaceholder,e.emailInputPlaceholder,e.newMessagesNotificationText,e.requireEmailUpfront,e.showAgentAvailability,e.agentAvailableText,e.agentUnavailableText];[n,r,o,i,a,s,u,c,l,d,f,g,p].some(function(e,t){return e!==h[t]})&&this.handleConfigUpdated({accountId:n,title:r,subtitle:o,primaryColor:i,baseUrl:a,greeting:s,newMessagePlaceholder:u,emailInputPlaceholder:c,newMessagesNotificationText:l,agentAvailableText:g,agentUnavailableText:p,requireEmailUpfront:d?1:0,showAgentAvailability:f?1:0})},r.render=function(){var t=this.state,n=t.isOpen,r=t.isLoaded,o=t.query,i=t.config,a=t.shouldDisplayNotifications,s=t.isTransitioning,u=this.props,c=u.customIconUrl,l=u.hideOutsideWorkingHours,f=u.children,p=i.primaryColor;if(!o)return null;if(void 0!==l&&l&&i.isOutsideWorkingHours)return null;var h=this.getIframeUrl(),m=(n||a)&&!s,v=function(e){void 0===e&&(e={});var t=e.primary,n=d.default(void 0===t?"#1890ff":t),r={primary:n.toString(),light:n.lighten().toString(),dark:n.darken().toString()};return{useBodyStyles:!1,space:[0,4,8,16,32,64,128,256,512],fonts:{body:'-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;',heading:'-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;',monospace:'"Roboto Mono", monospace'},fontSizes:[12,14,16,20,24,32,48,64,96],fontWeights:{body:400,heading:600,bold:600},lineHeights:{body:1.5,heading:1.125},colors:{text:"#141414",background:"#fff",primary:r.primary,secondary:"#722ed1",muted:"#f0f0f0",gray:"rgba(0, 0, 0, 0.45)",input:"rgba(0, 0, 0, 0.65)",offset:"rgba(255, 255, 255, 0.8)"},text:{default:{color:"text",fontSize:1},caps:{textTransform:"uppercase",letterSpacing:"0.2em"},heading:{fontFamily:"heading",fontWeight:"heading",lineHeight:"heading"}},buttons:{primary:{cursor:"pointer",outline:0,boxShadow:"rgba(0, 0, 0, 0.08) 0 2px 4px",transition:"0.2s","&:hover":{background:r.light,borderColor:r.light,boxShadow:"rgba(0, 0, 0, 0.12) 0px 2px 8px"},"&:active":{background:r.dark,borderColor:r.dark}}},styles:g({root:{fontFamily:"body",lineHeight:"body",fontWeight:"body",fontSize:1},h1:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:5},h2:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:4},h3:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:3},h4:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:2},h5:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:1},h6:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:0},p:{color:"text",fontFamily:"body",fontWeight:"body",lineHeight:"body"},a:{color:"primary"},pre:{fontFamily:"monospace",overflowX:"auto",code:{color:"inherit"}},code:{fontFamily:"monospace",fontSize:"inherit"},table:{width:"100%",borderCollapse:"separate",borderSpacing:0},th:{textAlign:"left",borderBottomStyle:"solid"},td:{textAlign:"left",borderBottomStyle:"solid"},img:{maxWidth:"100%"},textarea:{transparent:{border:"none",boxShadow:"none",resize:"none",outline:0,"&:hover":{border:"none",boxShadow:"none",resize:"none",outline:0},"&:active":{border:"none",boxShadow:"none",resize:"none",outline:0},"&:focus":{border:"none",boxShadow:"none",resize:"none",outline:0}}}},C)}}({primary:p}),y=["allow-scripts","allow-popups","allow-same-origin","allow-forms"].join(" ");return e.jsx(e.ThemeProvider,{theme:v},f({sandbox:y,isLoaded:r,isActive:m,isOpen:n,isTransitioning:s,customIconUrl:c,iframeUrl:h,query:o,shouldDisplayNotifications:a,setIframeRef:this.setIframeRef,onToggleOpen:this.handleToggleOpen}))},n}(s.default.Component),B=/*#__PURE__*/function(e){function t(t){var n;return(n=e.call(this,t)||this).state={error:null},n}p(t,e),t.getDerivedStateFromError=function(e){return{error:e}};var n=t.prototype;return n.componentDidCatch=function(e,t){console.error("Error rendering Idengagerchat chat:",e,t)},n.render=function(){return this.state.error?null:this.props.children},t}(s.default.Component),A=function(t){return e.jsx(B,null,e.jsx(U,g({},t,{canToggle:!0}),function(r){var o=r.sandbox,i=r.isLoaded,a=r.isActive,u=r.isOpen,c=r.isTransitioning,l=r.customIconUrl,d=r.iframeUrl,f=r.query,p=r.shouldDisplayNotifications,h=r.setIframeRef,m=r.onToggleOpen,v=t.hideToggleButton,y=t.iconVariant,b=t.renderToggleButton,w=t.position,x=t.styles,I=function(e,t){void 0===e&&(e={});var n=e.chatContainer,r=void 0===n?{}:n,o=e.toggleContainer,i=void 0===o?{}:o,a=e.toggleButton,s=void 0===a?{}:a,u=t.side,c=t.offset,l=void 0===c?20:c;return"left"===(void 0===u?"right":u)?{chatContainer:g({left:l,right:"auto"},r),toggleContainer:g({left:l,right:"auto"},i),toggleButton:s}:{chatContainer:g({right:l,left:"auto"},r),toggleContainer:g({right:l,left:"auto"},i),toggleButton:s}}(void 0===x?{}:x,function(e){if(!e)return{side:"right",offset:20};switch(e){case"left":return{side:"left",offset:20};case"right":return{side:"right",offset:20};default:return e}}(void 0===w?"right":w)),C=I.toggleContainer,_=I.toggleButton;return e.jsx(s.default.Fragment,null,e.jsx(n.motion.iframe,{ref:h,title:"Idengagerchat Chat Box Container",className:"Idengagerchat-chatFrameContainer",sandbox:o,animate:a?"open":"closed",initial:"closed",variants:{closed:{opacity:0,y:4},open:{opacity:1,y:0}},transition:{duration:.2,ease:"easeIn"},src:d+"?"+f,style:a?I.chatContainer:{pointerEvents:"none",height:0,minHeight:0},sx:{border:"none",bg:"background",variant:!u&&p?"styles.WidgetContainer.notifications":"styles.WidgetContainer"}},"Loading..."),i&&!v&&e.jsx(n.motion.div,{className:"Idengagerchat-toggleButtonContainer",initial:!1,style:C,animate:u?"open":"closed",sx:{variant:"styles.WidgetToggleContainer"}},b&&"function"==typeof b?b({isOpen:u,onToggleOpen:m,isDisabled:c}):e.jsx(S,{style:_,isDisabled:c,isOpen:u,customIconUrl:l,iconVariant:y,toggle:m})))}))},k=function(){return window.dispatchEvent(new Event("idengagerchat:open"))},D=function(){return window.dispatchEvent(new Event("idengagerchat:close"))},F=function(){return window.dispatchEvent(new Event("idengagerchat:toggle"))},W={open:k,close:D,toggle:F};exports.ChatBox=A,exports.ChatFrame=function(e){/*#__PURE__*/return React.createElement(B,null,/*#__PURE__*/React.createElement(U,g({},e,{canToggle:!1}),function(e){var t=e.isLoaded;/*#__PURE__*/return React.createElement(n.motion.iframe,{ref:e.setIframeRef,className:"Idengagerchat-chatFrameContainer",sandbox:e.sandbox,animate:t?"open":"closed",initial:"closed",variants:{closed:{opacity:0},open:{opacity:1}},transition:{duration:.2,ease:"easeIn"},src:e.iframeUrl+"?"+e.query,sx:{opacity:t?1:0,border:"none",bg:"background",variant:"styles.ChatFrameContainer"}},"Loading...")}))},exports.Idengagerchat=W,exports.close=D,exports.default=A,exports.identify=function(){console.warn("`Idengagerchat.identify` has not been implemented yet!")},exports.open=k,exports.toggle=F; | ||
| //# sourceMappingURL=index.cjs.map |
@@ -1,2 +0,2 @@ | ||
| import{Button as e,Image as t,jsx as n,ThemeProvider as r}from"theme-ui";import o from"react";import{motion as i}from"framer-motion";import a from"query-string";import s from"superagent";import u from"tinycolor2";function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},d.apply(null,arguments)}function g(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,f(e,t)}function f(e,t){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},f(e,t)}var p=function(e){/*#__PURE__*/return o.createElement(i.path,d({fill:"transparent",strokeWidth:"3",stroke:"hsl(0, 0%, 99%)",strokeLinecap:"round"},e))},h=function(){/*#__PURE__*/return o.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},/*#__PURE__*/o.createElement(p,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 7 7 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/o.createElement(p,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 7 20 L 20 7"}},transition:{duration:.2}}),/*#__PURE__*/o.createElement(p,{d:"M22 21.6453C22 20 23 19.5 23 19.5C23 19.5 25.5 18 25.5 14V9C25.5 4 23 1.5 18 1.5H9C4 1.5 1.5 4 1.5 9V14C1.5 19 4 21 9 21H13.5C14 21 14 21 15 21.5L20.25 24.8572L20.8517 25.2118C21.5184 25.6046 22 25.631 22 24.8572V24.0287V22.7858V21.6453Z",variants:{closed:{opacity:1},open:{opacity:0}},transition:{duration:.2}}))},m=function(){/*#__PURE__*/return o.createElement("svg",{width:"24",height:"25",viewBox:"0 0 24 25",fill:"none"},/*#__PURE__*/o.createElement(p,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 5 5 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/o.createElement(p,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 5 20 L 20 5"}},transition:{duration:.2}}))},v=function(){/*#__PURE__*/return o.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},/*#__PURE__*/o.createElement(p,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 7 7 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/o.createElement(p,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 7 20 L 20 7"}},transition:{duration:.2}}))},y=function(e){var n=e.customIconUrl,r=e.iconVariant;return n?e.isOpen?/*#__PURE__*/o.createElement(v,null):/*#__PURE__*/o.createElement(t,{src:n,style:{maxHeight:40,maxWidth:40}}):/*#__PURE__*/o.createElement("filled"===r?m:h,null)},b=function(t){/*#__PURE__*/return o.createElement(e,{className:"Idengagerchat-toggleButton",variant:"primary",p:0,style:t.style,sx:{variant:"styles.WidgetToggle"},disabled:t.isDisabled,onClick:t.toggle},/*#__PURE__*/o.createElement(y,{customIconUrl:t.customIconUrl,iconVariant:t.iconVariant,isOpen:t.isOpen}))},w="development"===process.env.NODE_ENV?"http://localhost:4000":"https://inboxready.idengager.com";function S(){}var x={ChatFrameContainer:{margin:0,height:"100%",width:"100%",minHeight:320},WidgetContainer:{margin:0,zIndex:2147483e3,position:"fixed",bottom:100,right:20,width:376,maxWidth:["90%","376px"],minHeight:250,maxHeight:["60%","704px"],boxShadow:"rgba(0, 0, 0, 0.16) 0px 5px 40px",height:"calc(100% - 120px)",borderRadius:8,overflow:"hidden",notifications:{background:"transparent",margin:0,zIndex:2147483e3,position:"fixed",bottom:80,right:20,width:"auto",maxWidth:["90%","300px"],minHeight:0,maxHeight:["60%","400px"],boxShadow:"none",height:200,overflow:"hidden"}},WidgetToggleContainer:{position:"fixed",zIndex:2147483003,bottom:"20px",right:"20px"},WidgetToggle:{outline:"none !important",border:"none !important",cursor:"pointer",width:"50px",height:"50px",borderRadius:"50%",display:"flex",justifyContent:"center",alignItems:"center"}},I="__IDENGAGERCHAT__",C=function(e,t){void 0===t&&(t="local");try{switch(t){case"local":return function(e){try{var t=e&&e.localStorage;return d({},t,{get:function(e){var n=t.getItem(""+I+e);if(!n)return null;try{return JSON.parse(n)}catch(e){return n}},set:function(e,n){t.setItem(""+I+e,JSON.stringify(n))},remove:function(e){t.removeItem(e)}})}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}(e);case"session":return function(e){try{var t=e&&e.sessionStorage;return d({},t,{get:function(e){var n=t.getItem(""+I+e);if(!n)return null;try{return JSON.parse(n)}catch(e){return n}},set:function(e,n){t.setItem(""+I+e,JSON.stringify(n))},remove:function(e){t.removeItem(e)}})}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}(e);case"cookie":return function(){try{throw new Error("Cookie storage has not been implemented!")}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}();default:return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}},_=/*#__PURE__*/function(){function e(e){void 0===e&&(e=!1),this.debugModeEnabled=!!e}var t=e.prototype;return t.debug=function(){var e;this.debugModeEnabled&&(e=console).debug.apply(e,[].slice.call(arguments))},t.log=function(){var e;this.debugModeEnabled&&(e=console).log.apply(e,[].slice.call(arguments))},t.info=function(){var e;(e=console).info.apply(e,[].slice.call(arguments))},t.warn=function(){var e;(e=console).warn.apply(e,[].slice.call(arguments))},t.error=function(){var e;(e=console).error.apply(e,[].slice.call(arguments))},e}();function O(e){var t=function(e){var t=Array.prototype,n=Function.prototype,r=Object.prototype,o=r.toString,i=r.hasOwnProperty,a=e.navigator,s=n.bind,u=t.forEach,l=Array.isArray,d=t.slice,g={},f=l||function(e){return"[object Array]"===o.call(e)};function p(e){try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}}function h(e){return"[object String]"==o.call(e)}function m(e){return void 0===e}function v(e,t,n){if(null!=e)if(u&&e.forEach===u)e.forEach(t,n);else if(e.length===+e.length){for(var r=0,o=e.length;r<o;r++)if(r in e&&t.call(n,e[r],r,e)===g)return}else for(var a in e)if(i.call(e,a)&&t.call(n,e[a],a,e)===g)return}var y,b,w,S,x,I,C,_,O,E,M,T,P=(x={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},I=function(e){var t=new SyntaxError(e);throw t.at=y,t.text=w,t},C=function(){return c&&c!==b&&I("Expected '"+c+"' instead of '"+b+"'"),b=w.charAt(y),y+=1,b},_=function(){var e,t="";for("-"===b&&(t="-",C());b>="0"&&b<="9";)t+=b,C();if("."===b)for(t+=".";C()&&b>="0"&&b<="9";)t+=b;if("e"===b||"E"===b)for(t+=b,C(),"-"!==b&&"+"!==b||(t+=b,C());b>="0"&&b<="9";)t+=b,C();if(e=+t,isFinite(e))return e;I("Bad number")},O=function(){var e,t,n,r="";if('"'===b)for(;C();){if('"'===b)return C(),r;if("\\"===b)if(C(),"u"===b){for(n=0,t=0;t<4&&(e=parseInt(C(),16),isFinite(e));t+=1)n=16*n+e;r+=String.fromCharCode(n)}else{if("string"!=typeof x[b])break;r+=x[b]}else r+=b}I("Bad string")},E=function(){for(;b&&b<=" ";)C()},M=function(){var e=[];if("["===b){if(C(),E(),"]"===b)return C(),e;for(;b;){if(e.push(S()),E(),"]"===b)return C(),e;C(),E()}}I("Bad array")},T=function(){var e,t={};if("{"===b){if(C(),E(),"}"===b)return C(),t;for(;b;){if(e=O(),E(),C(),Object.hasOwnProperty.call(t,e)&&I('Duplicate key "'+e+'"'),t[e]=S(),E(),"}"===b)return C(),t;C(),E()}}I("Bad object")},S=function(){switch(E(),b){case"{":return T();case"[":return M();case'"':return O();case"-":return _();default:return b>="0"&&b<="9"?_():function(){switch(b){case"t":return C(),C(),C(),C(),!0;case"f":return C(),C(),C(),C(),C(),!1;case"n":return C(),C(),C(),C(),null}I('Unexpected "'+b+'"')}()}},function(e){var t;return w=e,y=0,b=" ",t=S(),E(),b&&I("Syntax error"),t});function U(e){var t,n,r,o,i="";for(t=n=0,r=(e=(e+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n")).length,o=0;o<r;o++){var a=e.charCodeAt(o),s=null;a<128?n++:s=a>127&&a<2048?String.fromCharCode(a>>6|192,63&a|128):String.fromCharCode(a>>12|224,a>>6&63|128,63&a|128),null!==s&&(n>t&&(i+=e.substring(t,n)),i+=s,t=n=o+1)}return n>t&&(i+=e.substring(t,e.length)),i}return{ArrayProto:t,FuncProto:n,ObjProto:r,toString:o,hasOwnProperty:i,win:e,windowConsole:e.console,navigator:a,document:e.document,windowOpera:e.opera,screen:e.screen,userAgent:a.userAgent,intl:e.Intl,nativeBind:s,nativeForEach:u,nativeIndexOf:t.indexOf,nativeIsArray:l,slice:d,breaker:g,__NOOP:function(){},__NOOPTIONS:{},isFunction:p,isString:h,includes:function(e,t){return-1!==e.indexOf(t)},isUndefined:m,timestamp:function(){return Date.now=Date.now||function(){return+new Date},Date.now()},each:v,trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},extend:function(e){return v([].slice.call(arguments,1),function(t){for(var n in t)void 0!==t[n]&&(e[n]=t[n])}),e},bind:function(e,t){var n,r;if(s&&e.bind===s)return s.apply(e,d.call(arguments,1));if(!p(e))throw new TypeError;return n=d.call(arguments,2),r=function(){if(!(this instanceof r))return e.apply(t,n.concat(d.call(arguments)));var o={};o.prototype=e.prototype;var i=new o;o.prototype=null;var a=e.apply(i,n.concat(d.call(arguments)));return Object(a)===a?a:i},r},truncate:function e(t,n){var r;return"string"==typeof t?r=t.slice(0,n):f(t)?(r=[],v(t,function(t){r.push(e(t,n))})):function(e){return e===Object(e)&&!f(e)}(t)?(r={},v(t,function(t,o){r[o]=e(t,n)})):r=t,r},stripEmptyProperties:function(e){var t={};return v(e,function(e,n){h(e)&&e.length>0&&(t[n]=e)}),t},HTTPBuildQuery:function(e,t){var n,r,o=[];return m(t)&&(t="&"),v(e,function(e,t){n=encodeURIComponent(e.toString()),r=encodeURIComponent(t),o[o.length]=r+"="+n}),o.join(t)},JSONEncode:function(e){var t=function(e){var t=/[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return t.lastIndex=0,t.test(e)?'"'+e.replace(t,function(e){var t=n[e];return"string"==typeof t?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'},n=function(e,r){var a="",s=0,c="",u="",l=0,d=a,g=[],f=r[e];switch(f&&"object"==typeof f&&"function"==typeof f.toJSON&&(f=f.toJSON(e)),typeof f){case"string":return t(f);case"number":return isFinite(f)?String(f):"null";case"boolean":case"undefined":return String(f);case"object":if(!f)return"null";if(a+=" ",g=[],"[object Array]"===o.apply(f)){for(l=f.length,s=0;s<l;s+=1)g[s]=n(s,f)||"null";return u=0===g.length?"[]":a?"[\n"+a+g.join(",\n"+a)+"\n"+d+"]":"["+g.join(",")+"]",a=d,u}for(c in f)i.call(f,c)&&(u=n(c,f))&&g.push(t(c)+(a?": ":":")+u);return u=0===g.length?"{}":a?"{"+g.join(",")+d+"}":"{"+g.join(",")+"}",a=d,u}};return n("",{"":e})},JSONDecode:P,utf8Encode:U,base64Encode:function(e){var t,n,r,o,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",a=0,s=0,c="",u=[];if(!e)return e;e=U(e);do{t=(o=e.charCodeAt(a++)<<16|e.charCodeAt(a++)<<8|e.charCodeAt(a++))>>12&63,n=o>>6&63,r=63&o,u[s++]=i.charAt(o>>18&63)+i.charAt(t)+i.charAt(n)+i.charAt(r)}while(a<e.length);switch(c=u.join(""),e.length%3){case 1:c=c.slice(0,-2)+"==";break;case 2:c=c.slice(0,-1)+"="}return c},getQueryParam:function(e,t){t=t.replace(/[[]/,"\\[").replace(/[\]]/,"\\]");var n=new RegExp("[\\?&]"+t+"=([^&#]*)").exec(e);if(null===n||n&&"string"!=typeof n[1]&&n[1].length)return"";var r=n[1];try{r=decodeURIComponent(r)}catch(e){console.error("Skipping decoding for malformed query param: "+r)}return r.replace(/\+/g," ")}}}(e),n=t.navigator,r=t.userAgent,o=t.windowOpera,i=t.intl,a=t.each,s=t.extend,u=t.includes,l=t.timestamp,d=t.stripEmptyProperties,g=t.getQueryParam,f={campaignParams:function(){var e="utm_source utm_medium utm_campaign utm_content utm_term".split(" "),t="",n={};return a(e,function(e){(t=g(document.URL,e)).length&&(n[e]=t)}),n},searchEngine:function(e){return 0===e.search("https?://(.*)google.([^/?]*)")?"google":0===e.search("https?://(.*)bing.com")?"bing":0===e.search("https?://(.*)yahoo.com")?"yahoo":0===e.search("https?://(.*)duckduckgo.com")?"duckduckgo":null},searchInfo:function(e){var t=f.searchEngine(e),n="yahoo"!=t?"q":"p",r={};if(null!==t){r.$search_engine=t;var o=g(e,n);o.length&&(r.ph_keyword=o)}return r},browser:function(e,t,n){return t=t||"",n||u(e," OPR/")?u(e,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":u(e,"IEMobile")||u(e,"WPDesktop")?"Internet Explorer Mobile":u(e,"SamsungBrowser/")?"Samsung Internet":u(e,"Edge")||u(e,"Edg/")?"Microsoft Edge":u(e,"FBIOS")?"Facebook Mobile":u(e,"Chrome")?"Chrome":u(e,"CriOS")?"Chrome iOS":u(e,"UCWEB")||u(e,"UCBrowser")?"UC Browser":u(e,"FxiOS")?"Firefox iOS":u(t,"Apple")?u(e,"Mobile")?"Mobile Safari":"Safari":u(e,"Android")?"Android Mobile":u(e,"Konqueror")?"Konqueror":u(e,"Firefox")?"Firefox":u(e,"MSIE")||u(e,"Trident/")?"Internet Explorer":u(e,"Gecko")?"Mozilla":""},browserVersion:function(e,t,n){var r={"Internet Explorer Mobile":/rv:(\d+(\.\d+)?)/,"Microsoft Edge":/Edge?\/(\d+(\.\d+)?)/,Chrome:/Chrome\/(\d+(\.\d+)?)/,"Chrome iOS":/CriOS\/(\d+(\.\d+)?)/,"UC Browser":/(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,Safari:/Version\/(\d+(\.\d+)?)/,"Mobile Safari":/Version\/(\d+(\.\d+)?)/,Opera:/(Opera|OPR)\/(\d+(\.\d+)?)/,Firefox:/Firefox\/(\d+(\.\d+)?)/,"Firefox iOS":/FxiOS\/(\d+(\.\d+)?)/,Konqueror:/Konqueror:(\d+(\.\d+)?)/,BlackBerry:/BlackBerry (\d+(\.\d+)?)/,"Android Mobile":/android\s(\d+(\.\d+)?)/,"Samsung Internet":/SamsungBrowser\/(\d+(\.\d+)?)/,"Internet Explorer":/(rv:|MSIE )(\d+(\.\d+)?)/,Mozilla:/rv:(\d+(\.\d+)?)/}[f.browser(e,t,n)];if(void 0===r)return null;var o=e.match(r);return o?parseFloat(o[o.length-2]):null},os:function(){var e=r;return/Windows/i.test(e)?/Phone/.test(e)||/WPDesktop/.test(e)?"Windows Phone":"Windows":/(iPhone|iPad|iPod)/.test(e)?"iOS":/Android/.test(e)?"Android":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Mac/i.test(e)?"Mac OS X":/Linux/.test(e)?"Linux":/CrOS/.test(e)?"Chrome OS":""},device:function(e){return/Windows Phone/i.test(e)||/WPDesktop/.test(e)?"Windows Phone":/iPad/.test(e)?"iPad":/iPod/.test(e)?"iPod Touch":/iPhone/.test(e)?"iPhone":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Android/.test(e)?"Android":""},referringDomain:function(e){var t=e.split("/");return t.length>=3?t[2]:""},timezone:function(e){try{return e.DateTimeFormat().resolvedOptions().timeZone}catch(e){return null}},properties:function(){var t;return s(d({os:f.os(),browser:f.browser(r,n.vendor,o),referrer:document.referrer,referring_domain:f.referringDomain(document.referrer),device:f.device(r),time_zone:f.timezone(i)}),{current_url:e.location.href,host:e.location.host,pathname:e.location.pathname,browser_version:null==(t=f.browserVersion(r,n.vendor,o))?void 0:t.toString(),screen_height:screen.height,screen_width:screen.width,lib:"web",insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),time:l()/1e3})}};return f.properties()}var E=function(e,t){var n=function(e){t(e)};return e.addEventListener?(e.addEventListener("message",n),function(){return e.removeEventListener("message",n)}):(e.attachEvent("onmessage",n),function(){return e.detachEvent("onmessage",n)})},M=function(e,t,n){if(e.addEventListener){for(var r,o=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=function(e,t){if(e){if("string"==typeof e)return l(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(e))){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(t);!(r=o()).done;)e.addEventListener(r.value,n);return function(){return t.map(function(t){return e.removeEventListener(t,n)})}}return console.error("Custom events are not supported in your browser!"),S},T=/*#__PURE__*/function(e){function t(t){var n;if((n=e.call(this,t)||this).subscriptions=[],n.EVENTS=["idengagerchat:open","idengagerchat:close","idengagerchat:toggle","idengagerchat:identify","storytime:customer:set"],n.getDefaultTitle=function(e){try{var t=n.props,r=t.title,o=t.setDefaultTitle;return Promise.resolve(o&&"function"==typeof o?o(e):r||e.title)}catch(e){return Promise.reject(e)}},n.getDefaultSubtitle=function(e){try{var t=n.props,r=t.subtitle,o=t.setDefaultSubtitle;return Promise.resolve(o&&"function"==typeof o?o(e):r||e.subtitle)}catch(e){return Promise.reject(e)}},n.getDefaultGreeting=function(e){try{var t=n.props,r=t.greeting,o=t.setDefaultGreeting;return Promise.resolve(o&&"function"==typeof o?o(e):r||e.greeting)}catch(e){return Promise.reject(e)}},n.setIframeRef=function(e){n.iframeRef=e},n.getIframeUrl=function(){return n.props.iframeUrlOverride||"https://chatframe.idengager.com"},n.handleConfigUpdated=function(e){n.setState({config:d({},n.state.config,e)}),n.send("config:update",e)},n.handleCustomerIdUpdated=function(e){var t=n.storage.getCustomerId(),r=e||t,o=d({},n.state.config,{customerId:r});n.setState({config:o,query:a.stringify(o,{skipEmptyString:!0,skipNull:!0})}),n.logger.debug("Updated customer ID:",r)},n.fetchWidgetSettings=function(){try{var e=n.props,t={};return Promise.resolve(function(e,t){void 0===t&&(t=w);try{return Promise.resolve(s.get(t+"/api/widget_settings").query({account_id:e}).then(function(e){return e.body.data}))}catch(e){return Promise.reject(e)}}(e.accountId,e.baseUrl).then(function(e){return e||t}).catch(function(){return t}))}catch(e){return Promise.reject(e)}},n.updateWidgetSettingsMetadata=function(){var e=n.props,t=e.baseUrl;return function(e,t,n){void 0===n&&(n=w);try{return Promise.resolve(s.put(n+"/api/widget_settings/metadata").send({account_id:e,metadata:t}).then(function(e){return e.body.data}))}catch(e){return Promise.reject(e)}}(e.accountId,O(window),t).catch(function(e){n.logger.error("Failed to update widget metadata:",e)})},n.customEventHandlers=function(e){if(!e||!e.type)return null;var t=e.detail;switch(e.type){case"idengagerchat:open":return n.handleOpenWidget();case"idengagerchat:close":return n.handleCloseWidget();case"idengagerchat:toggle":return n.handleToggleOpen();case"storytime:customer:set":return n.handleCustomerIdUpdated(t);default:return null}},n.postMessageHandlers=function(e){var t=n.getIframeUrl(),r=new URL(t);if(e.origin!==r.origin)return null;var o=e.data,i=o.payload,a=void 0===i?{}:i;switch(o.event){case"chat:loaded":return n.handleChatLoaded();case"customer:created":case"customer:updated":return n.handleCacheCustomerId(a);case"conversation:join":return n.sendCustomerUpdate(a);case"message:received":return n.handleMessageReceived(a);case"message:sent":return n.handleMessageSent(a);case"messages:unseen":return n.handleUnseenMessages(a);case"messages:seen":return n.handleMessagesSeen();case"idengagerchat:open":case"idengagerchat:close":return n.handleToggleOpen();default:return null}},n.send=function(e,t){var r=n.iframeRef;if(!r)throw new Error("Attempted to send event "+e+" with payload "+JSON.stringify(t)+" before iframeRef was ready");r.contentWindow.postMessage({event:e,payload:t},n.getIframeUrl())},n.handleMessageReceived=function(e){var t=n.props.onMessageReceived,r=void 0===t?S:t;e.user_id&&!e.customer_id&&r&&r(e)},n.handleMessageSent=function(e){var t=n.props.onMessageSent,r=void 0===t?S:t;r&&r(e)},n.handleUnseenMessages=function(e){n.logger.debug("Handling unseen messages:",e),n.setState({shouldDisplayNotifications:!0}),n.send("notifications:display",{shouldDisplayNotifications:!0})},n.handleMessagesSeen=function(){n.logger.debug("Handling messages seen"),n.setState({shouldDisplayNotifications:!1}),n.storage.setPopupSeen(!0),n.send("notifications:display",{shouldDisplayNotifications:!1})},n.shouldOpenByDefault=function(){var e=n.props,t=e.defaultIsOpen,r=e.isOpenByDefault,o=e.persistOpenState;if(!e.canToggle)return!0;var i=n.storage.getOpenState();return o?i:!(!r&&!t)},n.handleChatLoaded=function(){n.setState({isLoaded:!0});var e=n.state.config,t=(void 0===e?{}:e).subscriptionPlan,r=void 0===t?null:t,o=n.props,i=o.popUpInitialMessage,a=o.onChatLoaded,s=void 0===a?S:a;s&&"function"==typeof s&&s(),n.shouldOpenByDefault()&&n.setState({isOpen:!0},function(){return n.emitToggleEvent(!0)}),i&&!n.storage.getPopupSeen()&&setTimeout(function(){n.setState({shouldDisplayNotifications:!0}),n.send("notifications:display",{shouldDisplayNotifications:!0,popUpInitialMessage:!0})},"number"==typeof i?i:0),n.send("idengagerchat:plan",{plan:r})},n.formatCustomerMetadata=function(){var e=n.props.customer,t=void 0===e?{}:e;return t?Object.keys(t).reduce(function(e,n){var r;return d({},e,"metadata"===n?((r={})[n]=t[n],r):{key:String(t[n])})},{}):{}},n.sendCustomerUpdate=function(e){var t=e.customerId,r=d({},O(window),n.formatCustomerMetadata());return n.send("customer:update",{customerId:t,metadata:r})},n.handleCacheCustomerId=function(e){var t=e.customerId;n.logger.debug("Caching customer ID:",t),window.dispatchEvent(new CustomEvent("idengagerchat:customer:set",{detail:t})),n.storage.setCustomerId(t)},n.emitToggleEvent=function(e){n.send("idengagerchat:toggle",{isOpen:e});var t=n.props,r=t.persistOpenState,o=t.onChatOpened,i=void 0===o?S:o,a=t.onChatClosed,s=void 0===a?S:a;void 0!==r&&r&&n.storage.setOpenState(e),e?i&&i():s&&s()},n.handleOpenWidget=function(){n.props.canToggle&&!n.state.isOpen&&(n.state.shouldDisplayNotifications?n.setState({isTransitioning:!0},function(){setTimeout(function(){n.setState({isOpen:!0,isTransitioning:!1},function(){return n.emitToggleEvent(!0)})},200)}):n.setState({isOpen:!0},function(){return n.emitToggleEvent(!0)}))},n.handleCloseWidget=function(){n.props.canToggle&&n.state.isOpen&&n.setState({isOpen:!1},function(){return n.emitToggleEvent(!1)})},n.handleToggleOpen=function(){var e=n.state,t=e.isOpen,r=!t;e.isLoaded&&n.props.canToggle&&(!t&&e.shouldDisplayNotifications?n.setState({isTransitioning:!0},function(){setTimeout(function(){n.setState({isOpen:r,isTransitioning:!1},function(){return n.emitToggleEvent(r)})},200)}):n.setState({isOpen:r},function(){return n.emitToggleEvent(r)}))},!t.accountId)throw new Error("An `accountId` is required to run the Idengagerchat chat!");return n.state={isOpen:!1,isLoaded:!1,query:"",config:{},shouldDisplayNotifications:!1,isTransitioning:!1},n.iframeRef=null,n.storage=null,n.logger=null,n}g(t,e);var o=t.prototype;return o.componentDidMount=function(){try{var e=this;return Promise.resolve(e.fetchWidgetSettings()).then(function(t){var n,r=e.props,o=r.accountId,i=r.primaryColor,s=r.baseUrl,c=r.awayMessage,u=r.newMessagePlaceholder,l=r.emailInputPlaceholder,g=r.newMessagesNotificationText,f=r.agentAvailableText,p=r.agentUnavailableText,h=r.showAgentAvailability,m=r.requireEmailUpfront,v=r.canToggle,y=r.customer,b=void 0===y?{}:y,w=(n=window,Boolean("localhost"===n.location.hostname||"[::1]"===n.location.hostname||n.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)));e.logger=new _(w),e.subscriptions=[E(window,e.postMessageHandlers),M(window,e.EVENTS,e.customEventHandlers)],e.storage=function(e,t){void 0===t&&(t={defaultType:"local",openStateType:"session"});var n=t.defaultType,r=t.openStateType,o=void 0===r?"session":r,i=C(e,void 0===n?"local":n),a=C(e,o);return{getCustomerId:function(){return i.get("__CUSTOMER_ID__")},setCustomerId:function(e){return i.set("__CUSTOMER_ID__",e)},removeCustomerId:function(){return i.remove("__CUSTOMER_ID__")},getOpenState:function(){return a.get(":open")},setOpenState:function(e){return a.set(":open",e)},clearOpenState:function(){return a.remove(":open")},getPopupSeen:function(){return a.get(":pop_up_seen")},setPopupSeen:function(e){return a.set(":pop_up_seen",e)},clearPopupSeen:function(){return a.remove(":pop_up_seen")}}}(window);var S=d({},O(window),b);return Promise.resolve(e.getDefaultTitle(t)).then(function(n){return Promise.resolve(e.getDefaultSubtitle(t)).then(function(r){var d=i||t.color;return Promise.resolve(e.getDefaultGreeting(t)).then(function(i){var y,b,w,x={accountId:o,baseUrl:s,title:n,subtitle:r,primaryColor:d,greeting:i,awayMessage:c||t.away_message,newMessagePlaceholder:u||t.new_message_placeholder,emailInputPlaceholder:l||t.email_input_placeholder,newMessagesNotificationText:g||t.new_messages_notification_text,companyName:null==t||null==(y=t.account)?void 0:y.company_name,requireEmailUpfront:m||t.require_email_upfront?1:0,showAgentAvailability:h||t.show_agent_availability?1:0,agentAvailableText:t.agent_available_text||f,agentUnavailableText:t.agent_unavailable_text||p,closeable:v?1:0,customerId:e.storage.getCustomerId(),subscriptionPlan:null==t||null==(b=t.account)?void 0:b.subscription_plan,isOutsideWorkingHours:null==t||null==(w=t.account)?void 0:w.is_outside_working_hours,isBrandingHidden:null==t?void 0:t.is_branding_hidden,metadata:JSON.stringify(S),version:"1.1.8"},I=a.stringify(x,{skipEmptyString:!0,skipNull:!0});return e.setState({config:x,query:I}),Promise.resolve(e.updateWidgetSettingsMetadata()).then(function(){})})})})})}catch(e){return Promise.reject(e)}},o.componentWillUnmount=function(){this.subscriptions.forEach(function(e){"function"==typeof e&&e()})},o.componentDidUpdate=function(e){var t=this.props,n=t.accountId,r=t.title,o=t.subtitle,i=t.primaryColor,a=t.baseUrl,s=t.greeting,c=t.newMessagePlaceholder,u=t.emailInputPlaceholder,l=t.newMessagesNotificationText,d=t.requireEmailUpfront,g=t.showAgentAvailability,f=t.agentAvailableText,p=t.agentUnavailableText,h=[e.accountId,e.title,e.subtitle,e.primaryColor,e.baseUrl,e.greeting,e.newMessagePlaceholder,e.emailInputPlaceholder,e.newMessagesNotificationText,e.requireEmailUpfront,e.showAgentAvailability,e.agentAvailableText,e.agentUnavailableText];[n,r,o,i,a,s,c,u,l,d,g,f,p].some(function(e,t){return e!==h[t]})&&this.handleConfigUpdated({accountId:n,title:r,subtitle:o,primaryColor:i,baseUrl:a,greeting:s,newMessagePlaceholder:c,emailInputPlaceholder:u,newMessagesNotificationText:l,agentAvailableText:f,agentUnavailableText:p,requireEmailUpfront:d?1:0,showAgentAvailability:g?1:0})},o.render=function(){var e=this.state,t=e.isOpen,o=e.isLoaded,i=e.query,a=e.config,s=e.shouldDisplayNotifications,c=e.isTransitioning,l=this.props,g=l.customIconUrl,f=l.hideOutsideWorkingHours,p=l.children,h=a.primaryColor;if(!i)return null;if(void 0!==f&&f&&a.isOutsideWorkingHours)return null;var m=this.getIframeUrl(),v=(t||s)&&!c,y=function(e){void 0===e&&(e={});var t=e.primary,n=u(void 0===t?"#1890ff":t),r={primary:n.toString(),light:n.lighten().toString(),dark:n.darken().toString()};return{useBodyStyles:!1,space:[0,4,8,16,32,64,128,256,512],fonts:{body:'-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;',heading:'-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;',monospace:'"Roboto Mono", monospace'},fontSizes:[12,14,16,20,24,32,48,64,96],fontWeights:{body:400,heading:600,bold:600},lineHeights:{body:1.5,heading:1.125},colors:{text:"#141414",background:"#fff",primary:r.primary,secondary:"#722ed1",muted:"#f0f0f0",gray:"rgba(0, 0, 0, 0.45)",input:"rgba(0, 0, 0, 0.65)",offset:"rgba(255, 255, 255, 0.8)"},text:{default:{color:"text",fontSize:1},caps:{textTransform:"uppercase",letterSpacing:"0.2em"},heading:{fontFamily:"heading",fontWeight:"heading",lineHeight:"heading"}},buttons:{primary:{cursor:"pointer",outline:0,boxShadow:"rgba(0, 0, 0, 0.08) 0 2px 4px",transition:"0.2s","&:hover":{background:r.light,borderColor:r.light,boxShadow:"rgba(0, 0, 0, 0.12) 0px 2px 8px"},"&:active":{background:r.dark,borderColor:r.dark}}},styles:d({root:{fontFamily:"body",lineHeight:"body",fontWeight:"body",fontSize:1},h1:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:5},h2:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:4},h3:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:3},h4:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:2},h5:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:1},h6:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:0},p:{color:"text",fontFamily:"body",fontWeight:"body",lineHeight:"body"},a:{color:"primary"},pre:{fontFamily:"monospace",overflowX:"auto",code:{color:"inherit"}},code:{fontFamily:"monospace",fontSize:"inherit"},table:{width:"100%",borderCollapse:"separate",borderSpacing:0},th:{textAlign:"left",borderBottomStyle:"solid"},td:{textAlign:"left",borderBottomStyle:"solid"},img:{maxWidth:"100%"},textarea:{transparent:{border:"none",boxShadow:"none",resize:"none",outline:0,"&:hover":{border:"none",boxShadow:"none",resize:"none",outline:0},"&:active":{border:"none",boxShadow:"none",resize:"none",outline:0},"&:focus":{border:"none",boxShadow:"none",resize:"none",outline:0}}}},x)}}({primary:h}),b=["allow-scripts","allow-popups","allow-same-origin","allow-forms"].join(" ");return n(r,{theme:y},p({sandbox:b,isLoaded:o,isActive:v,isOpen:t,isTransitioning:c,customIconUrl:g,iframeUrl:m,query:i,shouldDisplayNotifications:s,setIframeRef:this.setIframeRef,onToggleOpen:this.handleToggleOpen}))},t}(o.Component),P=/*#__PURE__*/function(e){function t(t){var n;return(n=e.call(this,t)||this).state={error:null},n}g(t,e),t.getDerivedStateFromError=function(e){return{error:e}};var n=t.prototype;return n.componentDidCatch=function(e,t){console.error("Error rendering Idengagerchat chat:",e,t)},n.render=function(){return this.state.error?null:this.props.children},t}(o.Component),U=function(e){return n(P,null,n(T,d({},e,{canToggle:!0}),function(t){var r=t.sandbox,a=t.isLoaded,s=t.isActive,c=t.isOpen,u=t.isTransitioning,l=t.customIconUrl,g=t.iframeUrl,f=t.query,p=t.shouldDisplayNotifications,h=t.setIframeRef,m=t.onToggleOpen,v=e.hideToggleButton,y=e.iconVariant,w=e.renderToggleButton,S=e.position,x=e.styles,I=function(e,t){void 0===e&&(e={});var n=e.chatContainer,r=void 0===n?{}:n,o=e.toggleContainer,i=void 0===o?{}:o,a=e.toggleButton,s=void 0===a?{}:a,c=t.side,u=t.offset,l=void 0===u?20:u;return"left"===(void 0===c?"right":c)?{chatContainer:d({left:l,right:"auto"},r),toggleContainer:d({left:l,right:"auto"},i),toggleButton:s}:{chatContainer:d({right:l,left:"auto"},r),toggleContainer:d({right:l,left:"auto"},i),toggleButton:s}}(void 0===x?{}:x,function(e){if(!e)return{side:"right",offset:20};switch(e){case"left":return{side:"left",offset:20};case"right":return{side:"right",offset:20};default:return e}}(void 0===S?"right":S)),C=I.toggleContainer,_=I.toggleButton;return n(o.Fragment,null,n(i.iframe,{ref:h,title:"Idengagerchat Chat Box Container",className:"Idengagerchat-chatFrameContainer",sandbox:r,animate:s?"open":"closed",initial:"closed",variants:{closed:{opacity:0,y:4},open:{opacity:1,y:0}},transition:{duration:.2,ease:"easeIn"},src:g+"?"+f,style:s?I.chatContainer:{pointerEvents:"none",height:0,minHeight:0},sx:{border:"none",bg:"background",variant:!c&&p?"styles.WidgetContainer.notifications":"styles.WidgetContainer"}},"Loading..."),a&&!v&&n(i.div,{className:"Idengagerchat-toggleButtonContainer",initial:!1,style:C,animate:c?"open":"closed",sx:{variant:"styles.WidgetToggleContainer"}},w&&"function"==typeof w?w({isOpen:c,onToggleOpen:m,isDisabled:u}):n(b,{style:_,isDisabled:u,isOpen:c,customIconUrl:l,iconVariant:y,toggle:m})))}))},B=function(e){/*#__PURE__*/return React.createElement(P,null,/*#__PURE__*/React.createElement(T,d({},e,{canToggle:!1}),function(e){var t=e.isLoaded;/*#__PURE__*/return React.createElement(i.iframe,{ref:e.setIframeRef,className:"Idengagerchat-chatFrameContainer",sandbox:e.sandbox,animate:t?"open":"closed",initial:"closed",variants:{closed:{opacity:0},open:{opacity:1}},transition:{duration:.2,ease:"easeIn"},src:e.iframeUrl+"?"+e.query,sx:{opacity:t?1:0,border:"none",bg:"background",variant:"styles.ChatFrameContainer"}},"Loading...")}))},A=function(){return window.dispatchEvent(new Event("idengagerchat:open"))},k=function(){return window.dispatchEvent(new Event("idengagerchat:close"))},D=function(){return window.dispatchEvent(new Event("idengagerchat:toggle"))},F=function(){console.warn("`Idengagerchat.identify` has not been implemented yet!")},W={open:A,close:k,toggle:D};export default U;export{U as ChatBox,B as ChatFrame,W as Idengagerchat,k as close,F as identify,A as open,D as toggle}; | ||
| import{Button as e,Image as t,jsx as n,ThemeProvider as r}from"theme-ui";import o from"react";import{motion as i}from"framer-motion";import a from"query-string";import s from"superagent";import u from"tinycolor2";function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},d.apply(null,arguments)}function g(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,f(e,t)}function f(e,t){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},f(e,t)}var p=function(e){/*#__PURE__*/return o.createElement(i.path,d({fill:"transparent",strokeWidth:"3",stroke:"hsl(0, 0%, 99%)",strokeLinecap:"round"},e))},h=function(){/*#__PURE__*/return o.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},/*#__PURE__*/o.createElement(p,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 7 7 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/o.createElement(p,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 7 20 L 20 7"}},transition:{duration:.2}}),/*#__PURE__*/o.createElement(p,{d:"M22 21.6453C22 20 23 19.5 23 19.5C23 19.5 25.5 18 25.5 14V9C25.5 4 23 1.5 18 1.5H9C4 1.5 1.5 4 1.5 9V14C1.5 19 4 21 9 21H13.5C14 21 14 21 15 21.5L20.25 24.8572L20.8517 25.2118C21.5184 25.6046 22 25.631 22 24.8572V24.0287V22.7858V21.6453Z",variants:{closed:{opacity:1},open:{opacity:0}},transition:{duration:.2}}))},m=function(){/*#__PURE__*/return o.createElement("svg",{width:"24",height:"25",viewBox:"0 0 24 25",fill:"none"},/*#__PURE__*/o.createElement(p,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 5 5 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/o.createElement(p,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 5 20 L 20 5"}},transition:{duration:.2}}))},v=function(){/*#__PURE__*/return o.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},/*#__PURE__*/o.createElement(p,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 7 7 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/o.createElement(p,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 7 20 L 20 7"}},transition:{duration:.2}}))},y=function(e){var n=e.customIconUrl,r=e.iconVariant;return n?e.isOpen?/*#__PURE__*/o.createElement(v,null):/*#__PURE__*/o.createElement(t,{src:n,style:{maxHeight:40,maxWidth:40}}):/*#__PURE__*/o.createElement("filled"===r?m:h,null)},b=function(t){/*#__PURE__*/return o.createElement(e,{className:"Idengagerchat-toggleButton",variant:"primary",p:0,style:t.style,sx:{variant:"styles.WidgetToggle"},disabled:t.isDisabled,onClick:t.toggle},/*#__PURE__*/o.createElement(y,{customIconUrl:t.customIconUrl,iconVariant:t.iconVariant,isOpen:t.isOpen}))},w="development"===process.env.NODE_ENV?"http://localhost:4000":"https://inboxready.idengager.com";function S(){}var x={ChatFrameContainer:{margin:0,height:"100%",width:"100%",minHeight:320},WidgetContainer:{margin:0,zIndex:2147483e3,position:"fixed",bottom:100,right:20,width:376,maxWidth:["90%","376px"],minHeight:250,maxHeight:["60%","704px"],boxShadow:"rgba(0, 0, 0, 0.16) 0px 5px 40px",height:"calc(100% - 120px)",borderRadius:8,overflow:"hidden",notifications:{background:"transparent",margin:0,zIndex:2147483e3,position:"fixed",bottom:80,right:20,width:"auto",maxWidth:["90%","300px"],minHeight:0,maxHeight:["60%","400px"],boxShadow:"none",height:200,overflow:"hidden"}},WidgetToggleContainer:{position:"fixed",zIndex:2147483003,bottom:"20px",right:"20px"},WidgetToggle:{outline:"none !important",border:"none !important",cursor:"pointer",width:"50px",height:"50px",borderRadius:"50%",display:"flex",justifyContent:"center",alignItems:"center"}},I="__IDENGAGERCHAT__",C=function(e,t){void 0===t&&(t="local");try{switch(t){case"local":return function(e){try{var t=e&&e.localStorage;return d({},t,{get:function(e){var n=t.getItem(""+I+e);if(!n)return null;try{return JSON.parse(n)}catch(e){return n}},set:function(e,n){t.setItem(""+I+e,JSON.stringify(n))},remove:function(e){t.removeItem(e)}})}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}(e);case"session":return function(e){try{var t=e&&e.sessionStorage;return d({},t,{get:function(e){var n=t.getItem(""+I+e);if(!n)return null;try{return JSON.parse(n)}catch(e){return n}},set:function(e,n){t.setItem(""+I+e,JSON.stringify(n))},remove:function(e){t.removeItem(e)}})}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}(e);case"cookie":return function(){try{throw new Error("Cookie storage has not been implemented!")}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}();default:return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}},_=/*#__PURE__*/function(){function e(e){void 0===e&&(e=!1),this.debugModeEnabled=!!e}var t=e.prototype;return t.debug=function(){var e;this.debugModeEnabled&&(e=console).debug.apply(e,[].slice.call(arguments))},t.log=function(){var e;this.debugModeEnabled&&(e=console).log.apply(e,[].slice.call(arguments))},t.info=function(){var e;(e=console).info.apply(e,[].slice.call(arguments))},t.warn=function(){var e;(e=console).warn.apply(e,[].slice.call(arguments))},t.error=function(){var e;(e=console).error.apply(e,[].slice.call(arguments))},e}();function O(e){var t=function(e){var t=Array.prototype,n=Function.prototype,r=Object.prototype,o=r.toString,i=r.hasOwnProperty,a=e.navigator,s=n.bind,u=t.forEach,l=Array.isArray,d=t.slice,g={},f=l||function(e){return"[object Array]"===o.call(e)};function p(e){try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}}function h(e){return"[object String]"==o.call(e)}function m(e){return void 0===e}function v(e,t,n){if(null!=e)if(u&&e.forEach===u)e.forEach(t,n);else if(e.length===+e.length){for(var r=0,o=e.length;r<o;r++)if(r in e&&t.call(n,e[r],r,e)===g)return}else for(var a in e)if(i.call(e,a)&&t.call(n,e[a],a,e)===g)return}var y,b,w,S,x,I,C,_,O,E,M,T,P=(x={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},I=function(e){var t=new SyntaxError(e);throw t.at=y,t.text=w,t},C=function(){return c&&c!==b&&I("Expected '"+c+"' instead of '"+b+"'"),b=w.charAt(y),y+=1,b},_=function(){var e,t="";for("-"===b&&(t="-",C());b>="0"&&b<="9";)t+=b,C();if("."===b)for(t+=".";C()&&b>="0"&&b<="9";)t+=b;if("e"===b||"E"===b)for(t+=b,C(),"-"!==b&&"+"!==b||(t+=b,C());b>="0"&&b<="9";)t+=b,C();if(e=+t,isFinite(e))return e;I("Bad number")},O=function(){var e,t,n,r="";if('"'===b)for(;C();){if('"'===b)return C(),r;if("\\"===b)if(C(),"u"===b){for(n=0,t=0;t<4&&(e=parseInt(C(),16),isFinite(e));t+=1)n=16*n+e;r+=String.fromCharCode(n)}else{if("string"!=typeof x[b])break;r+=x[b]}else r+=b}I("Bad string")},E=function(){for(;b&&b<=" ";)C()},M=function(){var e=[];if("["===b){if(C(),E(),"]"===b)return C(),e;for(;b;){if(e.push(S()),E(),"]"===b)return C(),e;C(),E()}}I("Bad array")},T=function(){var e,t={};if("{"===b){if(C(),E(),"}"===b)return C(),t;for(;b;){if(e=O(),E(),C(),Object.hasOwnProperty.call(t,e)&&I('Duplicate key "'+e+'"'),t[e]=S(),E(),"}"===b)return C(),t;C(),E()}}I("Bad object")},S=function(){switch(E(),b){case"{":return T();case"[":return M();case'"':return O();case"-":return _();default:return b>="0"&&b<="9"?_():function(){switch(b){case"t":return C(),C(),C(),C(),!0;case"f":return C(),C(),C(),C(),C(),!1;case"n":return C(),C(),C(),C(),null}I('Unexpected "'+b+'"')}()}},function(e){var t;return w=e,y=0,b=" ",t=S(),E(),b&&I("Syntax error"),t});function U(e){var t,n,r,o,i="";for(t=n=0,r=(e=(e+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n")).length,o=0;o<r;o++){var a=e.charCodeAt(o),s=null;a<128?n++:s=a>127&&a<2048?String.fromCharCode(a>>6|192,63&a|128):String.fromCharCode(a>>12|224,a>>6&63|128,63&a|128),null!==s&&(n>t&&(i+=e.substring(t,n)),i+=s,t=n=o+1)}return n>t&&(i+=e.substring(t,e.length)),i}return{ArrayProto:t,FuncProto:n,ObjProto:r,toString:o,hasOwnProperty:i,win:e,windowConsole:e.console,navigator:a,document:e.document,windowOpera:e.opera,screen:e.screen,userAgent:a.userAgent,intl:e.Intl,nativeBind:s,nativeForEach:u,nativeIndexOf:t.indexOf,nativeIsArray:l,slice:d,breaker:g,__NOOP:function(){},__NOOPTIONS:{},isFunction:p,isString:h,includes:function(e,t){return-1!==e.indexOf(t)},isUndefined:m,timestamp:function(){return Date.now=Date.now||function(){return+new Date},Date.now()},each:v,trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},extend:function(e){return v([].slice.call(arguments,1),function(t){for(var n in t)void 0!==t[n]&&(e[n]=t[n])}),e},bind:function(e,t){var n,r;if(s&&e.bind===s)return s.apply(e,d.call(arguments,1));if(!p(e))throw new TypeError;return n=d.call(arguments,2),r=function(){if(!(this instanceof r))return e.apply(t,n.concat(d.call(arguments)));var o={};o.prototype=e.prototype;var i=new o;o.prototype=null;var a=e.apply(i,n.concat(d.call(arguments)));return Object(a)===a?a:i},r},truncate:function e(t,n){var r;return"string"==typeof t?r=t.slice(0,n):f(t)?(r=[],v(t,function(t){r.push(e(t,n))})):function(e){return e===Object(e)&&!f(e)}(t)?(r={},v(t,function(t,o){r[o]=e(t,n)})):r=t,r},stripEmptyProperties:function(e){var t={};return v(e,function(e,n){h(e)&&e.length>0&&(t[n]=e)}),t},HTTPBuildQuery:function(e,t){var n,r,o=[];return m(t)&&(t="&"),v(e,function(e,t){n=encodeURIComponent(e.toString()),r=encodeURIComponent(t),o[o.length]=r+"="+n}),o.join(t)},JSONEncode:function(e){var t=function(e){var t=/[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return t.lastIndex=0,t.test(e)?'"'+e.replace(t,function(e){var t=n[e];return"string"==typeof t?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'},n=function(e,r){var a="",s=0,c="",u="",l=0,d=a,g=[],f=r[e];switch(f&&"object"==typeof f&&"function"==typeof f.toJSON&&(f=f.toJSON(e)),typeof f){case"string":return t(f);case"number":return isFinite(f)?String(f):"null";case"boolean":case"undefined":return String(f);case"object":if(!f)return"null";if(a+=" ",g=[],"[object Array]"===o.apply(f)){for(l=f.length,s=0;s<l;s+=1)g[s]=n(s,f)||"null";return u=0===g.length?"[]":a?"[\n"+a+g.join(",\n"+a)+"\n"+d+"]":"["+g.join(",")+"]",a=d,u}for(c in f)i.call(f,c)&&(u=n(c,f))&&g.push(t(c)+(a?": ":":")+u);return u=0===g.length?"{}":a?"{"+g.join(",")+d+"}":"{"+g.join(",")+"}",a=d,u}};return n("",{"":e})},JSONDecode:P,utf8Encode:U,base64Encode:function(e){var t,n,r,o,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",a=0,s=0,c="",u=[];if(!e)return e;e=U(e);do{t=(o=e.charCodeAt(a++)<<16|e.charCodeAt(a++)<<8|e.charCodeAt(a++))>>12&63,n=o>>6&63,r=63&o,u[s++]=i.charAt(o>>18&63)+i.charAt(t)+i.charAt(n)+i.charAt(r)}while(a<e.length);switch(c=u.join(""),e.length%3){case 1:c=c.slice(0,-2)+"==";break;case 2:c=c.slice(0,-1)+"="}return c},getQueryParam:function(e,t){t=t.replace(/[[]/,"\\[").replace(/[\]]/,"\\]");var n=new RegExp("[\\?&]"+t+"=([^&#]*)").exec(e);if(null===n||n&&"string"!=typeof n[1]&&n[1].length)return"";var r=n[1];try{r=decodeURIComponent(r)}catch(e){console.error("Skipping decoding for malformed query param: "+r)}return r.replace(/\+/g," ")}}}(e),n=t.navigator,r=t.userAgent,o=t.windowOpera,i=t.intl,a=t.each,s=t.extend,u=t.includes,l=t.timestamp,d=t.stripEmptyProperties,g=t.getQueryParam,f={campaignParams:function(){var e="utm_source utm_medium utm_campaign utm_content utm_term".split(" "),t="",n={};return a(e,function(e){(t=g(document.URL,e)).length&&(n[e]=t)}),n},searchEngine:function(e){return 0===e.search("https?://(.*)google.([^/?]*)")?"google":0===e.search("https?://(.*)bing.com")?"bing":0===e.search("https?://(.*)yahoo.com")?"yahoo":0===e.search("https?://(.*)duckduckgo.com")?"duckduckgo":null},searchInfo:function(e){var t=f.searchEngine(e),n="yahoo"!=t?"q":"p",r={};if(null!==t){r.$search_engine=t;var o=g(e,n);o.length&&(r.ph_keyword=o)}return r},browser:function(e,t,n){return t=t||"",n||u(e," OPR/")?u(e,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":u(e,"IEMobile")||u(e,"WPDesktop")?"Internet Explorer Mobile":u(e,"SamsungBrowser/")?"Samsung Internet":u(e,"Edge")||u(e,"Edg/")?"Microsoft Edge":u(e,"FBIOS")?"Facebook Mobile":u(e,"Chrome")?"Chrome":u(e,"CriOS")?"Chrome iOS":u(e,"UCWEB")||u(e,"UCBrowser")?"UC Browser":u(e,"FxiOS")?"Firefox iOS":u(t,"Apple")?u(e,"Mobile")?"Mobile Safari":"Safari":u(e,"Android")?"Android Mobile":u(e,"Konqueror")?"Konqueror":u(e,"Firefox")?"Firefox":u(e,"MSIE")||u(e,"Trident/")?"Internet Explorer":u(e,"Gecko")?"Mozilla":""},browserVersion:function(e,t,n){var r={"Internet Explorer Mobile":/rv:(\d+(\.\d+)?)/,"Microsoft Edge":/Edge?\/(\d+(\.\d+)?)/,Chrome:/Chrome\/(\d+(\.\d+)?)/,"Chrome iOS":/CriOS\/(\d+(\.\d+)?)/,"UC Browser":/(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,Safari:/Version\/(\d+(\.\d+)?)/,"Mobile Safari":/Version\/(\d+(\.\d+)?)/,Opera:/(Opera|OPR)\/(\d+(\.\d+)?)/,Firefox:/Firefox\/(\d+(\.\d+)?)/,"Firefox iOS":/FxiOS\/(\d+(\.\d+)?)/,Konqueror:/Konqueror:(\d+(\.\d+)?)/,BlackBerry:/BlackBerry (\d+(\.\d+)?)/,"Android Mobile":/android\s(\d+(\.\d+)?)/,"Samsung Internet":/SamsungBrowser\/(\d+(\.\d+)?)/,"Internet Explorer":/(rv:|MSIE )(\d+(\.\d+)?)/,Mozilla:/rv:(\d+(\.\d+)?)/}[f.browser(e,t,n)];if(void 0===r)return null;var o=e.match(r);return o?parseFloat(o[o.length-2]):null},os:function(){var e=r;return/Windows/i.test(e)?/Phone/.test(e)||/WPDesktop/.test(e)?"Windows Phone":"Windows":/(iPhone|iPad|iPod)/.test(e)?"iOS":/Android/.test(e)?"Android":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Mac/i.test(e)?"Mac OS X":/Linux/.test(e)?"Linux":/CrOS/.test(e)?"Chrome OS":""},device:function(e){return/Windows Phone/i.test(e)||/WPDesktop/.test(e)?"Windows Phone":/iPad/.test(e)?"iPad":/iPod/.test(e)?"iPod Touch":/iPhone/.test(e)?"iPhone":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Android/.test(e)?"Android":""},referringDomain:function(e){var t=e.split("/");return t.length>=3?t[2]:""},timezone:function(e){try{return e.DateTimeFormat().resolvedOptions().timeZone}catch(e){return null}},properties:function(){var t;return s(d({os:f.os(),browser:f.browser(r,n.vendor,o),referrer:document.referrer,referring_domain:f.referringDomain(document.referrer),device:f.device(r),time_zone:f.timezone(i)}),{current_url:e.location.href,host:e.location.host,pathname:e.location.pathname,browser_version:null==(t=f.browserVersion(r,n.vendor,o))?void 0:t.toString(),screen_height:screen.height,screen_width:screen.width,lib:"web",insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),time:l()/1e3})}};return f.properties()}var E=function(e,t){var n=function(e){t(e)};return e.addEventListener?(e.addEventListener("message",n),function(){return e.removeEventListener("message",n)}):(e.attachEvent("onmessage",n),function(){return e.detachEvent("onmessage",n)})},M=function(e,t,n){if(e.addEventListener){for(var r,o=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=function(e,t){if(e){if("string"==typeof e)return l(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(e))){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(t);!(r=o()).done;)e.addEventListener(r.value,n);return function(){return t.map(function(t){return e.removeEventListener(t,n)})}}return console.error("Custom events are not supported in your browser!"),S},T=/*#__PURE__*/function(e){function t(t){var n;if((n=e.call(this,t)||this).subscriptions=[],n.EVENTS=["idengagerchat:open","idengagerchat:close","idengagerchat:toggle","idengagerchat:identify","storytime:customer:set"],n.getDefaultTitle=function(e){try{var t=n.props,r=t.title,o=t.setDefaultTitle;return Promise.resolve(o&&"function"==typeof o?o(e):r||e.title)}catch(e){return Promise.reject(e)}},n.getDefaultSubtitle=function(e){try{var t=n.props,r=t.subtitle,o=t.setDefaultSubtitle;return Promise.resolve(o&&"function"==typeof o?o(e):r||e.subtitle)}catch(e){return Promise.reject(e)}},n.getDefaultGreeting=function(e){try{var t=n.props,r=t.greeting,o=t.setDefaultGreeting;return Promise.resolve(o&&"function"==typeof o?o(e):r||e.greeting)}catch(e){return Promise.reject(e)}},n.setIframeRef=function(e){n.iframeRef=e},n.getIframeUrl=function(){return n.props.iframeUrlOverride||"https://chatframe.idengager.com"},n.handleConfigUpdated=function(e){n.setState({config:d({},n.state.config,e)}),n.send("config:update",e)},n.handleCustomerIdUpdated=function(e){var t=n.storage.getCustomerId(),r=e||t,o=d({},n.state.config,{customerId:r});n.setState({config:o,query:a.stringify(o,{skipEmptyString:!0,skipNull:!0})}),n.logger.debug("Updated customer ID:",r)},n.fetchWidgetSettings=function(){try{var e=n.props,t={};return Promise.resolve(function(e,t){void 0===t&&(t=w);try{return Promise.resolve(s.get(t+"/api/widget_settings").query({account_id:e}).then(function(e){return e.body.data}))}catch(e){return Promise.reject(e)}}(e.accountId,e.baseUrl).then(function(e){return e||t}).catch(function(){return t}))}catch(e){return Promise.reject(e)}},n.updateWidgetSettingsMetadata=function(){var e=n.props,t=e.baseUrl;return function(e,t,n){void 0===n&&(n=w);try{return Promise.resolve(s.put(n+"/api/widget_settings/metadata").send({account_id:e,metadata:t}).then(function(e){return e.body.data}))}catch(e){return Promise.reject(e)}}(e.accountId,O(window),t).catch(function(e){n.logger.error("Failed to update widget metadata:",e)})},n.customEventHandlers=function(e){if(!e||!e.type)return null;var t=e.detail;switch(e.type){case"idengagerchat:open":return n.handleOpenWidget();case"idengagerchat:close":return n.handleCloseWidget();case"idengagerchat:toggle":return n.handleToggleOpen();case"storytime:customer:set":return n.handleCustomerIdUpdated(t);default:return null}},n.postMessageHandlers=function(e){var t=n.getIframeUrl(),r=new URL(t);if(e.origin!==r.origin)return null;var o=e.data,i=o.payload,a=void 0===i?{}:i;switch(o.event){case"chat:loaded":return n.handleChatLoaded();case"customer:created":case"customer:updated":return n.handleCacheCustomerId(a);case"conversation:join":return n.sendCustomerUpdate(a);case"message:received":return n.handleMessageReceived(a);case"message:sent":return n.handleMessageSent(a);case"messages:unseen":return n.handleUnseenMessages(a);case"messages:seen":return n.handleMessagesSeen();case"idengagerchat:open":case"idengagerchat:close":return n.handleToggleOpen();default:return null}},n.send=function(e,t){var r=n.iframeRef;if(!r)throw new Error("Attempted to send event "+e+" with payload "+JSON.stringify(t)+" before iframeRef was ready");r.contentWindow&&r.contentWindow.postMessage({event:e,payload:t},n.getIframeUrl())},n.handleMessageReceived=function(e){var t=n.props.onMessageReceived,r=void 0===t?S:t;e.user_id&&!e.customer_id&&r&&r(e)},n.handleMessageSent=function(e){var t=n.props.onMessageSent,r=void 0===t?S:t;r&&r(e)},n.handleUnseenMessages=function(e){n.setState({shouldDisplayNotifications:!0}),n.send("notifications:display",{shouldDisplayNotifications:!0})},n.handleMessagesSeen=function(){n.setState({shouldDisplayNotifications:!1}),n.storage.setPopupSeen(!0),n.send("notifications:display",{shouldDisplayNotifications:!1})},n.shouldOpenByDefault=function(){var e=n.props,t=e.defaultIsOpen,r=e.isOpenByDefault,o=e.persistOpenState;if(!e.canToggle)return!0;var i=n.storage.getOpenState();return o?i:!(!r&&!t)},n.handleChatLoaded=function(){n.setState({isLoaded:!0});var e=n.state.config,t=(void 0===e?{}:e).subscriptionPlan,r=void 0===t?null:t,o=n.props,i=o.popUpInitialMessage,a=o.onChatLoaded,s=void 0===a?S:a;s&&"function"==typeof s&&s(),n.shouldOpenByDefault()&&n.setState({isOpen:!0},function(){return n.emitToggleEvent(!0)}),i&&!n.storage.getPopupSeen()&&setTimeout(function(){n.setState({shouldDisplayNotifications:!0}),n.send("notifications:display",{shouldDisplayNotifications:!0,popUpInitialMessage:!0})},"number"==typeof i?i:0),n.send("idengagerchat:plan",{plan:r})},n.formatCustomerMetadata=function(){var e=n.props.customer,t=void 0===e?{}:e;return t?Object.keys(t).reduce(function(e,n){var r;return d({},e,"metadata"===n?((r={})[n]=t[n],r):{key:String(t[n])})},{}):{}},n.sendCustomerUpdate=function(e){var t=e.customerId,r=d({},O(window),n.formatCustomerMetadata());return n.send("customer:update",{customerId:t,metadata:r})},n.handleCacheCustomerId=function(e){var t=e.customerId;n.logger.debug("Caching customer ID:",t),window.dispatchEvent(new CustomEvent("idengagerchat:customer:set",{detail:t})),n.storage.setCustomerId(t)},n.emitToggleEvent=function(e){n.send("idengagerchat:toggle",{isOpen:e});var t=n.props,r=t.persistOpenState,o=t.onChatOpened,i=void 0===o?S:o,a=t.onChatClosed,s=void 0===a?S:a;void 0!==r&&r&&n.storage.setOpenState(e),e?i&&i():s&&s()},n.handleOpenWidget=function(){n.props.canToggle&&!n.state.isOpen&&(n.state.shouldDisplayNotifications?n.setState({isTransitioning:!0},function(){setTimeout(function(){n.setState({isOpen:!0,isTransitioning:!1},function(){return n.emitToggleEvent(!0)})},200)}):n.setState({isOpen:!0},function(){return n.emitToggleEvent(!0)}))},n.handleCloseWidget=function(){n.props.canToggle&&n.state.isOpen&&n.setState({isOpen:!1},function(){return n.emitToggleEvent(!1)})},n.handleToggleOpen=function(){var e=n.state,t=e.isOpen,r=!t;e.isLoaded&&n.props.canToggle&&(!t&&e.shouldDisplayNotifications?n.setState({isTransitioning:!0},function(){setTimeout(function(){n.setState({isOpen:r,isTransitioning:!1},function(){return n.emitToggleEvent(r)})},200)}):n.setState({isOpen:r},function(){return n.emitToggleEvent(r)}))},!t.accountId)throw new Error("An `accountId` is required to run the Idengagerchat chat!");return n.state={isOpen:!1,isLoaded:!1,query:"",config:{},shouldDisplayNotifications:!1,isTransitioning:!1},n.iframeRef=null,n.storage=null,n.logger=null,n}g(t,e);var o=t.prototype;return o.componentDidMount=function(){try{var e=this;return Promise.resolve(e.fetchWidgetSettings()).then(function(t){var n,r=e.props,o=r.accountId,i=r.primaryColor,s=r.baseUrl,c=r.awayMessage,u=r.newMessagePlaceholder,l=r.emailInputPlaceholder,g=r.newMessagesNotificationText,f=r.agentAvailableText,p=r.agentUnavailableText,h=r.showAgentAvailability,m=r.requireEmailUpfront,v=r.canToggle,y=r.customer,b=void 0===y?{}:y,w=(n=window,Boolean("localhost"===n.location.hostname||"[::1]"===n.location.hostname||n.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)));e.logger=new _(w),e.subscriptions=[E(window,e.postMessageHandlers),M(window,e.EVENTS,e.customEventHandlers)],e.storage=function(e,t){void 0===t&&(t={defaultType:"local",openStateType:"session"});var n=t.defaultType,r=t.openStateType,o=void 0===r?"session":r,i=C(e,void 0===n?"local":n),a=C(e,o);return{getCustomerId:function(){return i.get("__CUSTOMER_ID__")},setCustomerId:function(e){return i.set("__CUSTOMER_ID__",e)},removeCustomerId:function(){return i.remove("__CUSTOMER_ID__")},getOpenState:function(){return a.get(":open")},setOpenState:function(e){return a.set(":open",e)},clearOpenState:function(){return a.remove(":open")},getPopupSeen:function(){return a.get(":pop_up_seen")},setPopupSeen:function(e){return a.set(":pop_up_seen",e)},clearPopupSeen:function(){return a.remove(":pop_up_seen")}}}(window);var S=d({},O(window),b);return Promise.resolve(e.getDefaultTitle(t)).then(function(n){return Promise.resolve(e.getDefaultSubtitle(t)).then(function(r){var d=i||t.color;return Promise.resolve(e.getDefaultGreeting(t)).then(function(i){var y,b,w,x={accountId:o,baseUrl:s,title:n,subtitle:r,primaryColor:d,greeting:i,awayMessage:c||t.away_message,newMessagePlaceholder:u||t.new_message_placeholder,emailInputPlaceholder:l||t.email_input_placeholder,newMessagesNotificationText:g||t.new_messages_notification_text,companyName:null==t||null==(y=t.account)?void 0:y.company_name,requireEmailUpfront:m||t.require_email_upfront?1:0,showAgentAvailability:h||t.show_agent_availability?1:0,agentAvailableText:t.agent_available_text||f,agentUnavailableText:t.agent_unavailable_text||p,closeable:v?1:0,customerId:e.storage.getCustomerId(),subscriptionPlan:null==t||null==(b=t.account)?void 0:b.subscription_plan,isOutsideWorkingHours:null==t||null==(w=t.account)?void 0:w.is_outside_working_hours,isBrandingHidden:null==t?void 0:t.is_branding_hidden,metadata:JSON.stringify(S),version:"1.1.8"},I=a.stringify(x,{skipEmptyString:!0,skipNull:!0});return e.setState({config:x,query:I}),Promise.resolve(e.updateWidgetSettingsMetadata()).then(function(){})})})})})}catch(e){return Promise.reject(e)}},o.componentWillUnmount=function(){this.subscriptions.forEach(function(e){"function"==typeof e&&e()})},o.componentDidUpdate=function(e){var t=this.props,n=t.accountId,r=t.title,o=t.subtitle,i=t.primaryColor,a=t.baseUrl,s=t.greeting,c=t.newMessagePlaceholder,u=t.emailInputPlaceholder,l=t.newMessagesNotificationText,d=t.requireEmailUpfront,g=t.showAgentAvailability,f=t.agentAvailableText,p=t.agentUnavailableText,h=[e.accountId,e.title,e.subtitle,e.primaryColor,e.baseUrl,e.greeting,e.newMessagePlaceholder,e.emailInputPlaceholder,e.newMessagesNotificationText,e.requireEmailUpfront,e.showAgentAvailability,e.agentAvailableText,e.agentUnavailableText];[n,r,o,i,a,s,c,u,l,d,g,f,p].some(function(e,t){return e!==h[t]})&&this.handleConfigUpdated({accountId:n,title:r,subtitle:o,primaryColor:i,baseUrl:a,greeting:s,newMessagePlaceholder:c,emailInputPlaceholder:u,newMessagesNotificationText:l,agentAvailableText:f,agentUnavailableText:p,requireEmailUpfront:d?1:0,showAgentAvailability:g?1:0})},o.render=function(){var e=this.state,t=e.isOpen,o=e.isLoaded,i=e.query,a=e.config,s=e.shouldDisplayNotifications,c=e.isTransitioning,l=this.props,g=l.customIconUrl,f=l.hideOutsideWorkingHours,p=l.children,h=a.primaryColor;if(!i)return null;if(void 0!==f&&f&&a.isOutsideWorkingHours)return null;var m=this.getIframeUrl(),v=(t||s)&&!c,y=function(e){void 0===e&&(e={});var t=e.primary,n=u(void 0===t?"#1890ff":t),r={primary:n.toString(),light:n.lighten().toString(),dark:n.darken().toString()};return{useBodyStyles:!1,space:[0,4,8,16,32,64,128,256,512],fonts:{body:'-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;',heading:'-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;',monospace:'"Roboto Mono", monospace'},fontSizes:[12,14,16,20,24,32,48,64,96],fontWeights:{body:400,heading:600,bold:600},lineHeights:{body:1.5,heading:1.125},colors:{text:"#141414",background:"#fff",primary:r.primary,secondary:"#722ed1",muted:"#f0f0f0",gray:"rgba(0, 0, 0, 0.45)",input:"rgba(0, 0, 0, 0.65)",offset:"rgba(255, 255, 255, 0.8)"},text:{default:{color:"text",fontSize:1},caps:{textTransform:"uppercase",letterSpacing:"0.2em"},heading:{fontFamily:"heading",fontWeight:"heading",lineHeight:"heading"}},buttons:{primary:{cursor:"pointer",outline:0,boxShadow:"rgba(0, 0, 0, 0.08) 0 2px 4px",transition:"0.2s","&:hover":{background:r.light,borderColor:r.light,boxShadow:"rgba(0, 0, 0, 0.12) 0px 2px 8px"},"&:active":{background:r.dark,borderColor:r.dark}}},styles:d({root:{fontFamily:"body",lineHeight:"body",fontWeight:"body",fontSize:1},h1:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:5},h2:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:4},h3:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:3},h4:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:2},h5:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:1},h6:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:0},p:{color:"text",fontFamily:"body",fontWeight:"body",lineHeight:"body"},a:{color:"primary"},pre:{fontFamily:"monospace",overflowX:"auto",code:{color:"inherit"}},code:{fontFamily:"monospace",fontSize:"inherit"},table:{width:"100%",borderCollapse:"separate",borderSpacing:0},th:{textAlign:"left",borderBottomStyle:"solid"},td:{textAlign:"left",borderBottomStyle:"solid"},img:{maxWidth:"100%"},textarea:{transparent:{border:"none",boxShadow:"none",resize:"none",outline:0,"&:hover":{border:"none",boxShadow:"none",resize:"none",outline:0},"&:active":{border:"none",boxShadow:"none",resize:"none",outline:0},"&:focus":{border:"none",boxShadow:"none",resize:"none",outline:0}}}},x)}}({primary:h}),b=["allow-scripts","allow-popups","allow-same-origin","allow-forms"].join(" ");return n(r,{theme:y},p({sandbox:b,isLoaded:o,isActive:v,isOpen:t,isTransitioning:c,customIconUrl:g,iframeUrl:m,query:i,shouldDisplayNotifications:s,setIframeRef:this.setIframeRef,onToggleOpen:this.handleToggleOpen}))},t}(o.Component),P=/*#__PURE__*/function(e){function t(t){var n;return(n=e.call(this,t)||this).state={error:null},n}g(t,e),t.getDerivedStateFromError=function(e){return{error:e}};var n=t.prototype;return n.componentDidCatch=function(e,t){console.error("Error rendering Idengagerchat chat:",e,t)},n.render=function(){return this.state.error?null:this.props.children},t}(o.Component),U=function(e){return n(P,null,n(T,d({},e,{canToggle:!0}),function(t){var r=t.sandbox,a=t.isLoaded,s=t.isActive,c=t.isOpen,u=t.isTransitioning,l=t.customIconUrl,g=t.iframeUrl,f=t.query,p=t.shouldDisplayNotifications,h=t.setIframeRef,m=t.onToggleOpen,v=e.hideToggleButton,y=e.iconVariant,w=e.renderToggleButton,S=e.position,x=e.styles,I=function(e,t){void 0===e&&(e={});var n=e.chatContainer,r=void 0===n?{}:n,o=e.toggleContainer,i=void 0===o?{}:o,a=e.toggleButton,s=void 0===a?{}:a,c=t.side,u=t.offset,l=void 0===u?20:u;return"left"===(void 0===c?"right":c)?{chatContainer:d({left:l,right:"auto"},r),toggleContainer:d({left:l,right:"auto"},i),toggleButton:s}:{chatContainer:d({right:l,left:"auto"},r),toggleContainer:d({right:l,left:"auto"},i),toggleButton:s}}(void 0===x?{}:x,function(e){if(!e)return{side:"right",offset:20};switch(e){case"left":return{side:"left",offset:20};case"right":return{side:"right",offset:20};default:return e}}(void 0===S?"right":S)),C=I.toggleContainer,_=I.toggleButton;return n(o.Fragment,null,n(i.iframe,{ref:h,title:"Idengagerchat Chat Box Container",className:"Idengagerchat-chatFrameContainer",sandbox:r,animate:s?"open":"closed",initial:"closed",variants:{closed:{opacity:0,y:4},open:{opacity:1,y:0}},transition:{duration:.2,ease:"easeIn"},src:g+"?"+f,style:s?I.chatContainer:{pointerEvents:"none",height:0,minHeight:0},sx:{border:"none",bg:"background",variant:!c&&p?"styles.WidgetContainer.notifications":"styles.WidgetContainer"}},"Loading..."),a&&!v&&n(i.div,{className:"Idengagerchat-toggleButtonContainer",initial:!1,style:C,animate:c?"open":"closed",sx:{variant:"styles.WidgetToggleContainer"}},w&&"function"==typeof w?w({isOpen:c,onToggleOpen:m,isDisabled:u}):n(b,{style:_,isDisabled:u,isOpen:c,customIconUrl:l,iconVariant:y,toggle:m})))}))},B=function(e){/*#__PURE__*/return React.createElement(P,null,/*#__PURE__*/React.createElement(T,d({},e,{canToggle:!1}),function(e){var t=e.isLoaded;/*#__PURE__*/return React.createElement(i.iframe,{ref:e.setIframeRef,className:"Idengagerchat-chatFrameContainer",sandbox:e.sandbox,animate:t?"open":"closed",initial:"closed",variants:{closed:{opacity:0},open:{opacity:1}},transition:{duration:.2,ease:"easeIn"},src:e.iframeUrl+"?"+e.query,sx:{opacity:t?1:0,border:"none",bg:"background",variant:"styles.ChatFrameContainer"}},"Loading...")}))},A=function(){return window.dispatchEvent(new Event("idengagerchat:open"))},k=function(){return window.dispatchEvent(new Event("idengagerchat:close"))},D=function(){return window.dispatchEvent(new Event("idengagerchat:toggle"))},F=function(){console.warn("`Idengagerchat.identify` has not been implemented yet!")},W={open:A,close:k,toggle:D};export default U;export{U as ChatBox,B as ChatFrame,W as Idengagerchat,k as close,F as identify,A as open,D as toggle}; | ||
| //# sourceMappingURL=index.es.js.map |
@@ -1,2 +0,2 @@ | ||
| import{Button as e,Image as t,jsx as n,ThemeProvider as i}from"theme-ui";import o from"react";import{motion as r}from"framer-motion";import a from"query-string";import s from"superagent";import l from"tinycolor2";function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},d.apply(null,arguments)}const u=e=>/*#__PURE__*/o.createElement(r.path,d({fill:"transparent",strokeWidth:"3",stroke:"hsl(0, 0%, 99%)",strokeLinecap:"round"},e)),g=()=>/*#__PURE__*/o.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},/*#__PURE__*/o.createElement(u,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 7 7 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/o.createElement(u,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 7 20 L 20 7"}},transition:{duration:.2}}),/*#__PURE__*/o.createElement(u,{d:"M22 21.6453C22 20 23 19.5 23 19.5C23 19.5 25.5 18 25.5 14V9C25.5 4 23 1.5 18 1.5H9C4 1.5 1.5 4 1.5 9V14C1.5 19 4 21 9 21H13.5C14 21 14 21 15 21.5L20.25 24.8572L20.8517 25.2118C21.5184 25.6046 22 25.631 22 24.8572V24.0287V22.7858V21.6453Z",variants:{closed:{opacity:1},open:{opacity:0}},transition:{duration:.2}})),h=()=>/*#__PURE__*/o.createElement("svg",{width:"24",height:"25",viewBox:"0 0 24 25",fill:"none"},/*#__PURE__*/o.createElement(u,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 5 5 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/o.createElement(u,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 5 20 L 20 5"}},transition:{duration:.2}})),p=()=>/*#__PURE__*/o.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},/*#__PURE__*/o.createElement(u,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 7 7 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/o.createElement(u,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 7 20 L 20 7"}},transition:{duration:.2}})),f=({isOpen:e,customIconUrl:n,iconVariant:i})=>n?e?/*#__PURE__*/o.createElement(p,null):/*#__PURE__*/o.createElement(t,{src:n,style:{maxHeight:40,maxWidth:40}}):/*#__PURE__*/o.createElement("filled"===i?h:g,null),m=({isOpen:t,isDisabled:n,customIconUrl:i,iconVariant:r,style:a,toggle:s})=>/*#__PURE__*/o.createElement(e,{className:"Idengagerchat-toggleButton",variant:"primary",p:0,style:a,sx:{variant:"styles.WidgetToggle"},disabled:n,onClick:s},/*#__PURE__*/o.createElement(f,{customIconUrl:i,iconVariant:r,isOpen:t})),y="development"===process.env.NODE_ENV?"http://localhost:4000":"https://inboxready.idengager.com";function b(){}const w={ChatFrameContainer:{margin:0,height:"100%",width:"100%",minHeight:320},WidgetContainer:{margin:0,zIndex:2147483e3,position:"fixed",bottom:100,right:20,width:376,maxWidth:["90%","376px"],minHeight:250,maxHeight:["60%","704px"],boxShadow:"rgba(0, 0, 0, 0.16) 0px 5px 40px",height:"calc(100% - 120px)",borderRadius:8,overflow:"hidden",notifications:{background:"transparent",margin:0,zIndex:2147483e3,position:"fixed",bottom:80,right:20,width:"auto",maxWidth:["90%","300px"],minHeight:0,maxHeight:["60%","400px"],boxShadow:"none",height:200,overflow:"hidden"}},WidgetToggleContainer:{position:"fixed",zIndex:2147483003,bottom:"20px",right:"20px"},WidgetToggle:{outline:"none !important",border:"none !important",cursor:"pointer",width:"50px",height:"50px",borderRadius:"50%",display:"flex",justifyContent:"center",alignItems:"center"}},v="__IDENGAGERCHAT__",S=()=>({_db:{},getItem(e){return this._db[e]||null},setItem(e,t){this._db[e]=t},removeItem(e){delete this._db[e]},get(e){return this._db[e]||null},set(e,t){this._db[e]=t},remove(e){delete this._db[e]}}),x=(e,t="local")=>{try{switch(t){case"local":return(e=>{try{const t=e&&e.localStorage;return d({},t,{get:e=>{const n=t.getItem(`${v}${e}`);if(!n)return null;try{return JSON.parse(n)}catch(e){return n}},set:(e,n)=>{t.setItem(`${v}${e}`,JSON.stringify(n))},remove:e=>{t.removeItem(e)}})}catch(e){return S()}})(e);case"session":return(e=>{try{const t=e&&e.sessionStorage;return d({},t,{get:e=>{const n=t.getItem(`${v}${e}`);if(!n)return null;try{return JSON.parse(n)}catch(e){return n}},set:(e,n)=>{t.setItem(`${v}${e}`,JSON.stringify(n))},remove:e=>{t.removeItem(e)}})}catch(e){return S()}})(e);case"cookie":return(()=>{try{throw new Error("Cookie storage has not been implemented!")}catch(e){return S()}})();default:return S()}}catch(e){return S()}};class C{constructor(e=!1){this.debugModeEnabled=!!e}debug(...e){this.debugModeEnabled&&console.debug(...e)}log(...e){this.debugModeEnabled&&console.log(...e)}info(...e){console.info(...e)}warn(...e){console.warn(...e)}error(...e){console.error(...e)}}const E=e=>{const t=Array.prototype,n=Function.prototype,i=Object.prototype,o=i.toString,r=i.hasOwnProperty,a=e.console,s=e.navigator,l=e.document,d=e.opera,u=e.screen,g=s.userAgent,h=e.Intl,p=n.bind,f=t.forEach,m=t.indexOf,y=Array.isArray,b=t.slice,w={},v=y||function(e){return"[object Array]"===o.call(e)};function S(e){try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}}function x(e){return"[object String]"==o.call(e)}function C(e){return void 0===e}function E(e,t,n){if(null!=e)if(f&&e.forEach===f)e.forEach(t,n);else if(e.length===+e.length){for(var i=0,o=e.length;i<o;i++)if(i in e&&t.call(n,e[i],i,e)===w)return}else for(var a in e)if(r.call(e,a)&&t.call(n,e[a],a,e)===w)return}const O=function(){let e,t,n,i,o={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},r=function(t){var i=new SyntaxError(t);throw i.at=e,i.text=n,i},a=function(){return c&&c!==t&&r("Expected '"+c+"' instead of '"+t+"'"),t=n.charAt(e),e+=1,t},s=function(){var e,n="";for("-"===t&&(n="-",a());t>="0"&&t<="9";)n+=t,a();if("."===t)for(n+=".";a()&&t>="0"&&t<="9";)n+=t;if("e"===t||"E"===t)for(n+=t,a(),"-"!==t&&"+"!==t||(n+=t,a());t>="0"&&t<="9";)n+=t,a();if(e=+n,isFinite(e))return e;r("Bad number")},l=function(){let e,n,i,s="";if('"'===t)for(;a();){if('"'===t)return a(),s;if("\\"===t)if(a(),"u"===t){for(i=0,n=0;n<4&&(e=parseInt(a(),16),isFinite(e));n+=1)i=16*i+e;s+=String.fromCharCode(i)}else{if("string"!=typeof o[t])break;s+=o[t]}else s+=t}r("Bad string")},d=function(){for(;t&&t<=" ";)a()};return i=function(){switch(d(),t){case"{":return function(){let e,n={};if("{"===t){if(a(),d(),"}"===t)return a(),n;for(;t;){if(e=l(),d(),a(),Object.hasOwnProperty.call(n,e)&&r('Duplicate key "'+e+'"'),n[e]=i(),d(),"}"===t)return a(),n;a(),d()}}r("Bad object")}();case"[":return function(){var e=[];if("["===t){if(a(),d(),"]"===t)return a(),e;for(;t;){if(e.push(i()),d(),"]"===t)return a(),e;a(),d()}}r("Bad array")}();case'"':return l();case"-":return s();default:return t>="0"&&t<="9"?s():function(){switch(t){case"t":return a(),a(),a(),a(),!0;case"f":return a(),a(),a(),a(),a(),!1;case"n":return a(),a(),a(),a(),null}r('Unexpected "'+t+'"')}()}},function(o){var a;return n=o,e=0,t=" ",a=i(),d(),t&&r("Syntax error"),a}}();function I(e){var t,n,i,o,r="";for(t=n=0,i=(e=(e+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n")).length,o=0;o<i;o++){var a=e.charCodeAt(o),s=null;a<128?n++:s=a>127&&a<2048?String.fromCharCode(a>>6|192,63&a|128):String.fromCharCode(a>>12|224,a>>6&63|128,63&a|128),null!==s&&(n>t&&(r+=e.substring(t,n)),r+=s,t=n=o+1)}return n>t&&(r+=e.substring(t,e.length)),r}return{ArrayProto:t,FuncProto:n,ObjProto:i,toString:o,hasOwnProperty:r,win:e,windowConsole:a,navigator:s,document:l,windowOpera:d,screen:u,userAgent:g,intl:h,nativeBind:p,nativeForEach:f,nativeIndexOf:m,nativeIsArray:y,slice:b,breaker:w,__NOOP:function(){},__NOOPTIONS:{},isFunction:S,isString:x,includes:function(e,t){return-1!==e.indexOf(t)},isUndefined:C,timestamp:function(){return Date.now=Date.now||function(){return+new Date},Date.now()},each:E,trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},extend:function(e,...t){return E(t,function(t){for(let n in t)void 0!==t[n]&&(e[n]=t[n])}),e},bind:function(e,t){let n,i;if(p&&e.bind===p)return p.apply(e,b.call(arguments,1));if(!S(e))throw new TypeError;return n=b.call(arguments,2),i=function(){if(!(this instanceof i))return e.apply(t,n.concat(b.call(arguments)));let o={};o.prototype=e.prototype;let r=new o;o.prototype=null;let a=e.apply(r,n.concat(b.call(arguments)));return Object(a)===a?a:r},i},truncate:function e(t,n){let i;return"string"==typeof t?i=t.slice(0,n):v(t)?(i=[],E(t,function(t){i.push(e(t,n))})):function(e){return e===Object(e)&&!v(e)}(t)?(i={},E(t,function(t,o){i[o]=e(t,n)})):i=t,i},stripEmptyProperties:function(e){let t={};return E(e,function(e,n){x(e)&&e.length>0&&(t[n]=e)}),t},HTTPBuildQuery:function(e,t){let n,i,o=[];return C(t)&&(t="&"),E(e,function(e,t){n=encodeURIComponent(e.toString()),i=encodeURIComponent(t),o[o.length]=i+"="+n}),o.join(t)},JSONEncode:function(e){var t=function(e){var t=/[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return t.lastIndex=0,t.test(e)?'"'+e.replace(t,function(e){var t=n[e];return"string"==typeof t?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'};return function e(n,i){let a="",s=0,l="",c="",d=0,u=a,g=[],h=i[n];switch(h&&"object"==typeof h&&"function"==typeof h.toJSON&&(h=h.toJSON(n)),typeof h){case"string":return t(h);case"number":return isFinite(h)?String(h):"null";case"boolean":case"undefined":return String(h);case"object":if(!h)return"null";if(a+=" ",g=[],"[object Array]"===o.apply(h)){for(d=h.length,s=0;s<d;s+=1)g[s]=e(s,h)||"null";return c=0===g.length?"[]":a?"[\n"+a+g.join(",\n"+a)+"\n"+u+"]":"["+g.join(",")+"]",a=u,c}for(l in h)r.call(h,l)&&(c=e(l,h),c&&g.push(t(l)+(a?": ":":")+c));return c=0===g.length?"{}":a?"{"+g.join(",")+u+"}":"{"+g.join(",")+"}",a=u,c}}("",{"":e})},JSONDecode:O,utf8Encode:I,base64Encode:function(e){var t,n,i,o,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",a=0,s=0,l="",c=[];if(!e)return e;e=I(e);do{t=(o=e.charCodeAt(a++)<<16|e.charCodeAt(a++)<<8|e.charCodeAt(a++))>>12&63,n=o>>6&63,i=63&o,c[s++]=r.charAt(o>>18&63)+r.charAt(t)+r.charAt(n)+r.charAt(i)}while(a<e.length);switch(l=c.join(""),e.length%3){case 1:l=l.slice(0,-2)+"==";break;case 2:l=l.slice(0,-1)+"="}return l},getQueryParam:function(e,t){t=t.replace(/[[]/,"\\[").replace(/[\]]/,"\\]");const n=new RegExp("[\\?&]"+t+"=([^&#]*)").exec(e);if(null===n||n&&"string"!=typeof n[1]&&n[1].length)return"";var i=n[1];try{i=decodeURIComponent(i)}catch(e){console.error("Skipping decoding for malformed query param: "+i)}return i.replace(/\+/g," ")}}};function O(e){const{navigator:t,userAgent:n,windowOpera:i,intl:o,each:r,extend:a,includes:s,timestamp:l,stripEmptyProperties:c,getQueryParam:d}=E(e),u={campaignParams:function(){const e="utm_source utm_medium utm_campaign utm_content utm_term".split(" ");let t="",n={};return r(e,function(e){t=d(document.URL,e),t.length&&(n[e]=t)}),n},searchEngine:function(e){return 0===e.search("https?://(.*)google.([^/?]*)")?"google":0===e.search("https?://(.*)bing.com")?"bing":0===e.search("https?://(.*)yahoo.com")?"yahoo":0===e.search("https?://(.*)duckduckgo.com")?"duckduckgo":null},searchInfo:function(e){let t=u.searchEngine(e),n="yahoo"!=t?"q":"p",i={};if(null!==t){i.$search_engine=t;var o=d(e,n);o.length&&(i.ph_keyword=o)}return i},browser:function(e,t,n){return t=t||"",n||s(e," OPR/")?s(e,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":s(e,"IEMobile")||s(e,"WPDesktop")?"Internet Explorer Mobile":s(e,"SamsungBrowser/")?"Samsung Internet":s(e,"Edge")||s(e,"Edg/")?"Microsoft Edge":s(e,"FBIOS")?"Facebook Mobile":s(e,"Chrome")?"Chrome":s(e,"CriOS")?"Chrome iOS":s(e,"UCWEB")||s(e,"UCBrowser")?"UC Browser":s(e,"FxiOS")?"Firefox iOS":s(t,"Apple")?s(e,"Mobile")?"Mobile Safari":"Safari":s(e,"Android")?"Android Mobile":s(e,"Konqueror")?"Konqueror":s(e,"Firefox")?"Firefox":s(e,"MSIE")||s(e,"Trident/")?"Internet Explorer":s(e,"Gecko")?"Mozilla":""},browserVersion:function(e,t,n){const i={"Internet Explorer Mobile":/rv:(\d+(\.\d+)?)/,"Microsoft Edge":/Edge?\/(\d+(\.\d+)?)/,Chrome:/Chrome\/(\d+(\.\d+)?)/,"Chrome iOS":/CriOS\/(\d+(\.\d+)?)/,"UC Browser":/(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,Safari:/Version\/(\d+(\.\d+)?)/,"Mobile Safari":/Version\/(\d+(\.\d+)?)/,Opera:/(Opera|OPR)\/(\d+(\.\d+)?)/,Firefox:/Firefox\/(\d+(\.\d+)?)/,"Firefox iOS":/FxiOS\/(\d+(\.\d+)?)/,Konqueror:/Konqueror:(\d+(\.\d+)?)/,BlackBerry:/BlackBerry (\d+(\.\d+)?)/,"Android Mobile":/android\s(\d+(\.\d+)?)/,"Samsung Internet":/SamsungBrowser\/(\d+(\.\d+)?)/,"Internet Explorer":/(rv:|MSIE )(\d+(\.\d+)?)/,Mozilla:/rv:(\d+(\.\d+)?)/}[u.browser(e,t,n)];if(void 0===i)return null;const o=e.match(i);return o?parseFloat(o[o.length-2]):null},os:function(){const e=n;return/Windows/i.test(e)?/Phone/.test(e)||/WPDesktop/.test(e)?"Windows Phone":"Windows":/(iPhone|iPad|iPod)/.test(e)?"iOS":/Android/.test(e)?"Android":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Mac/i.test(e)?"Mac OS X":/Linux/.test(e)?"Linux":/CrOS/.test(e)?"Chrome OS":""},device:function(e){return/Windows Phone/i.test(e)||/WPDesktop/.test(e)?"Windows Phone":/iPad/.test(e)?"iPad":/iPod/.test(e)?"iPod Touch":/iPhone/.test(e)?"iPhone":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Android/.test(e)?"Android":""},referringDomain:function(e){const t=e.split("/");return t.length>=3?t[2]:""},timezone:function(e){try{return e.DateTimeFormat().resolvedOptions().timeZone}catch(e){return null}},properties:function(){var r;return a(c({os:u.os(),browser:u.browser(n,t.vendor,i),referrer:document.referrer,referring_domain:u.referringDomain(document.referrer),device:u.device(n),time_zone:u.timezone(o)}),{current_url:e.location.href,host:e.location.host,pathname:e.location.pathname,browser_version:null==(r=u.browserVersion(n,t.vendor,i))?void 0:r.toString(),screen_height:screen.height,screen_width:screen.width,lib:"web",insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),time:l()/1e3})}};return u.properties()}const I=(e,t)=>{const n=e=>{t(e)};return e.addEventListener?(e.addEventListener("message",n),()=>e.removeEventListener("message",n)):(e.attachEvent("onmessage",n),()=>e.detachEvent("onmessage",n))},_=(e,t,n)=>{if(e.addEventListener){for(const i of t)e.addEventListener(i,n);return()=>t.map(t=>e.removeEventListener(t,n))}return console.error("Custom events are not supported in your browser!"),b};class M extends o.Component{constructor(e){var t;if(super(e),t=this,this.subscriptions=[],this.EVENTS=["idengagerchat:open","idengagerchat:close","idengagerchat:toggle","idengagerchat:identify","storytime:customer:set"],this.getDefaultTitle=async function(e){const{title:n,setDefaultTitle:i}=t.props;return i&&"function"==typeof i?i(e):n||e.title},this.getDefaultSubtitle=async function(e){const{subtitle:n,setDefaultSubtitle:i}=t.props;return i&&"function"==typeof i?i(e):n||e.subtitle},this.getDefaultGreeting=async function(e){const{greeting:n,setDefaultGreeting:i}=t.props;return i&&"function"==typeof i?i(e):n||e.greeting},this.setIframeRef=e=>{this.iframeRef=e},this.getIframeUrl=()=>this.props.iframeUrlOverride||"https://chatframe.idengager.com",this.handleConfigUpdated=e=>{this.setState({config:d({},this.state.config,e)}),this.send("config:update",e)},this.handleCustomerIdUpdated=e=>{const t=this.storage.getCustomerId(),n=e||t,i=d({},this.state.config,{customerId:n});this.setState({config:i,query:a.stringify(i,{skipEmptyString:!0,skipNull:!0})}),this.logger.debug("Updated customer ID:",n)},this.fetchWidgetSettings=async function(){const{accountId:e,baseUrl:n}=t.props,i={};return(async(e,t=y)=>s.get(`${t}/api/widget_settings`).query({account_id:e}).then(e=>e.body.data))(e,n).then(e=>e||i).catch(()=>i)},this.updateWidgetSettingsMetadata=()=>{const{accountId:e,baseUrl:t}=this.props;return(async(e,t,n=y)=>s.put(`${n}/api/widget_settings/metadata`).send({account_id:e,metadata:t}).then(e=>e.body.data))(e,O(window),t).catch(e=>{this.logger.error("Failed to update widget metadata:",e)})},this.customEventHandlers=e=>{if(!e||!e.type)return null;const{type:t,detail:n}=e;switch(t){case"idengagerchat:open":return this.handleOpenWidget();case"idengagerchat:close":return this.handleCloseWidget();case"idengagerchat:toggle":return this.handleToggleOpen();case"storytime:customer:set":return this.handleCustomerIdUpdated(n);default:return null}},this.postMessageHandlers=e=>{const t=this.getIframeUrl(),{origin:n}=new URL(t);if(e.origin!==n)return null;const{event:i,payload:o={}}=e.data;switch(i){case"chat:loaded":return this.handleChatLoaded();case"customer:created":case"customer:updated":return this.handleCacheCustomerId(o);case"conversation:join":return this.sendCustomerUpdate(o);case"message:received":return this.handleMessageReceived(o);case"message:sent":return this.handleMessageSent(o);case"messages:unseen":return this.handleUnseenMessages(o);case"messages:seen":return this.handleMessagesSeen();case"idengagerchat:open":case"idengagerchat:close":return this.handleToggleOpen();default:return null}},this.send=(e,t)=>{const n=this.iframeRef;if(!n)throw new Error(`Attempted to send event ${e} with payload ${JSON.stringify(t)} before iframeRef was ready`);n.contentWindow.postMessage({event:e,payload:t},this.getIframeUrl())},this.handleMessageReceived=e=>{const{onMessageReceived:t=b}=this.props,{user_id:n,customer_id:i}=e;n&&!i&&t&&t(e)},this.handleMessageSent=e=>{const{onMessageSent:t=b}=this.props;t&&t(e)},this.handleUnseenMessages=e=>{this.logger.debug("Handling unseen messages:",e),this.setState({shouldDisplayNotifications:!0}),this.send("notifications:display",{shouldDisplayNotifications:!0})},this.handleMessagesSeen=()=>{this.logger.debug("Handling messages seen"),this.setState({shouldDisplayNotifications:!1}),this.storage.setPopupSeen(!0),this.send("notifications:display",{shouldDisplayNotifications:!1})},this.shouldOpenByDefault=()=>{const{defaultIsOpen:e,isOpenByDefault:t,persistOpenState:n,canToggle:i}=this.props;if(!i)return!0;const o=this.storage.getOpenState();return n?o:!(!t&&!e)},this.handleChatLoaded=()=>{this.setState({isLoaded:!0});const{config:e={}}=this.state,{subscriptionPlan:t=null}=e,{popUpInitialMessage:n,onChatLoaded:i=b}=this.props;i&&"function"==typeof i&&i(),this.shouldOpenByDefault()&&this.setState({isOpen:!0},()=>this.emitToggleEvent(!0)),n&&!this.storage.getPopupSeen()&&setTimeout(()=>{this.setState({shouldDisplayNotifications:!0}),this.send("notifications:display",{shouldDisplayNotifications:!0,popUpInitialMessage:!0})},"number"==typeof n?n:0),this.send("idengagerchat:plan",{plan:t})},this.formatCustomerMetadata=()=>{const{customer:e={}}=this.props;return e?Object.keys(e).reduce((t,n)=>d({},t,"metadata"===n?{[n]:e[n]}:{key:String(e[n])}),{}):{}},this.sendCustomerUpdate=e=>{const{customerId:t}=e,n=d({},O(window),this.formatCustomerMetadata());return this.send("customer:update",{customerId:t,metadata:n})},this.handleCacheCustomerId=e=>{const{customerId:t}=e;this.logger.debug("Caching customer ID:",t),window.dispatchEvent(new CustomEvent("idengagerchat:customer:set",{detail:t})),this.storage.setCustomerId(t)},this.emitToggleEvent=e=>{this.send("idengagerchat:toggle",{isOpen:e});const{persistOpenState:t=!1,onChatOpened:n=b,onChatClosed:i=b}=this.props;t&&this.storage.setOpenState(e),e?n&&n():i&&i()},this.handleOpenWidget=()=>{this.props.canToggle&&!this.state.isOpen&&(this.state.shouldDisplayNotifications?this.setState({isTransitioning:!0},()=>{setTimeout(()=>{this.setState({isOpen:!0,isTransitioning:!1},()=>this.emitToggleEvent(!0))},200)}):this.setState({isOpen:!0},()=>this.emitToggleEvent(!0)))},this.handleCloseWidget=()=>{this.props.canToggle&&this.state.isOpen&&this.setState({isOpen:!1},()=>this.emitToggleEvent(!1))},this.handleToggleOpen=()=>{const{isOpen:e,isLoaded:t,shouldDisplayNotifications:n}=this.state,i=!e;t&&this.props.canToggle&&(!e&&n?this.setState({isTransitioning:!0},()=>{setTimeout(()=>{this.setState({isOpen:i,isTransitioning:!1},()=>this.emitToggleEvent(i))},200)}):this.setState({isOpen:i},()=>this.emitToggleEvent(i)))},!e.accountId)throw new Error("An `accountId` is required to run the Idengagerchat chat!");this.state={isOpen:!1,isLoaded:!1,query:"",config:{},shouldDisplayNotifications:!1,isTransitioning:!1},this.iframeRef=null,this.storage=null,this.logger=null}async componentDidMount(){var e,t,n;const i=await this.fetchWidgetSettings(),{accountId:o,primaryColor:r,baseUrl:s,awayMessage:l,newMessagePlaceholder:c,emailInputPlaceholder:u,newMessagesNotificationText:g,agentAvailableText:h,agentUnavailableText:p,showAgentAvailability:f,requireEmailUpfront:m,canToggle:y,customer:b={}}=this.props,w=(v=window,Boolean("localhost"===v.location.hostname||"[::1]"===v.location.hostname||v.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)));var v;this.logger=new C(w),this.subscriptions=[I(window,this.postMessageHandlers),_(window,this.EVENTS,this.customEventHandlers)],this.storage=function(e,t={defaultType:"local",openStateType:"session"}){const{defaultType:n="local",openStateType:i="session"}=t,o=x(e,n),r=x(e,i);return{getCustomerId:()=>o.get("__CUSTOMER_ID__"),setCustomerId:e=>o.set("__CUSTOMER_ID__",e),removeCustomerId:()=>o.remove("__CUSTOMER_ID__"),getOpenState:()=>r.get(":open"),setOpenState:e=>r.set(":open",e),clearOpenState:()=>r.remove(":open"),getPopupSeen:()=>r.get(":pop_up_seen"),setPopupSeen:e=>r.set(":pop_up_seen",e),clearPopupSeen:()=>r.remove(":pop_up_seen")}}(window);const S=d({},O(window),b),E={accountId:o,baseUrl:s,title:await this.getDefaultTitle(i),subtitle:await this.getDefaultSubtitle(i),primaryColor:r||i.color,greeting:await this.getDefaultGreeting(i),awayMessage:l||i.away_message,newMessagePlaceholder:c||i.new_message_placeholder,emailInputPlaceholder:u||i.email_input_placeholder,newMessagesNotificationText:g||i.new_messages_notification_text,companyName:null==i||null==(e=i.account)?void 0:e.company_name,requireEmailUpfront:m||i.require_email_upfront?1:0,showAgentAvailability:f||i.show_agent_availability?1:0,agentAvailableText:i.agent_available_text||h,agentUnavailableText:i.agent_unavailable_text||p,closeable:y?1:0,customerId:this.storage.getCustomerId(),subscriptionPlan:null==i||null==(t=i.account)?void 0:t.subscription_plan,isOutsideWorkingHours:null==i||null==(n=i.account)?void 0:n.is_outside_working_hours,isBrandingHidden:null==i?void 0:i.is_branding_hidden,metadata:JSON.stringify(S),version:"1.1.8"},M=a.stringify(E,{skipEmptyString:!0,skipNull:!0});this.setState({config:E,query:M}),await this.updateWidgetSettingsMetadata()}componentWillUnmount(){this.subscriptions.forEach(e=>{"function"==typeof e&&e()})}componentDidUpdate(e){const{accountId:t,title:n,subtitle:i,primaryColor:o,baseUrl:r,greeting:a,newMessagePlaceholder:s,emailInputPlaceholder:l,newMessagesNotificationText:c,requireEmailUpfront:d,showAgentAvailability:u,agentAvailableText:g,agentUnavailableText:h}=this.props,p=[e.accountId,e.title,e.subtitle,e.primaryColor,e.baseUrl,e.greeting,e.newMessagePlaceholder,e.emailInputPlaceholder,e.newMessagesNotificationText,e.requireEmailUpfront,e.showAgentAvailability,e.agentAvailableText,e.agentUnavailableText];[t,n,i,o,r,a,s,l,c,d,u,g,h].some((e,t)=>e!==p[t])&&this.handleConfigUpdated({accountId:t,title:n,subtitle:i,primaryColor:o,baseUrl:r,greeting:a,newMessagePlaceholder:s,emailInputPlaceholder:l,newMessagesNotificationText:c,agentAvailableText:g,agentUnavailableText:h,requireEmailUpfront:d?1:0,showAgentAvailability:u?1:0})}render(){const{isOpen:e,isLoaded:t,query:o,config:r,shouldDisplayNotifications:a,isTransitioning:s}=this.state,{customIconUrl:c,hideOutsideWorkingHours:u=!1,children:g}=this.props,{primaryColor:h}=r;if(!o)return null;if(u&&r.isOutsideWorkingHours)return null;const p=this.getIframeUrl(),f=(e||a)&&!s,m=((e={})=>{const{primary:t="#1890ff"}=e,n=l(t),i={primary:n.toString(),light:n.lighten().toString(),dark:n.darken().toString()};return{useBodyStyles:!1,space:[0,4,8,16,32,64,128,256,512],fonts:{body:'-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;',heading:'-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;',monospace:'"Roboto Mono", monospace'},fontSizes:[12,14,16,20,24,32,48,64,96],fontWeights:{body:400,heading:600,bold:600},lineHeights:{body:1.5,heading:1.125},colors:{text:"#141414",background:"#fff",primary:i.primary,secondary:"#722ed1",muted:"#f0f0f0",gray:"rgba(0, 0, 0, 0.45)",input:"rgba(0, 0, 0, 0.65)",offset:"rgba(255, 255, 255, 0.8)"},text:{default:{color:"text",fontSize:1},caps:{textTransform:"uppercase",letterSpacing:"0.2em"},heading:{fontFamily:"heading",fontWeight:"heading",lineHeight:"heading"}},buttons:{primary:{cursor:"pointer",outline:0,boxShadow:"rgba(0, 0, 0, 0.08) 0 2px 4px",transition:"0.2s","&:hover":{background:i.light,borderColor:i.light,boxShadow:"rgba(0, 0, 0, 0.12) 0px 2px 8px"},"&:active":{background:i.dark,borderColor:i.dark}}},styles:d({root:{fontFamily:"body",lineHeight:"body",fontWeight:"body",fontSize:1},h1:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:5},h2:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:4},h3:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:3},h4:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:2},h5:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:1},h6:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:0},p:{color:"text",fontFamily:"body",fontWeight:"body",lineHeight:"body"},a:{color:"primary"},pre:{fontFamily:"monospace",overflowX:"auto",code:{color:"inherit"}},code:{fontFamily:"monospace",fontSize:"inherit"},table:{width:"100%",borderCollapse:"separate",borderSpacing:0},th:{textAlign:"left",borderBottomStyle:"solid"},td:{textAlign:"left",borderBottomStyle:"solid"},img:{maxWidth:"100%"},textarea:{transparent:{border:"none",boxShadow:"none",resize:"none",outline:0,"&:hover":{border:"none",boxShadow:"none",resize:"none",outline:0},"&:active":{border:"none",boxShadow:"none",resize:"none",outline:0},"&:focus":{border:"none",boxShadow:"none",resize:"none",outline:0}}}},w)}})({primary:h}),y=["allow-scripts","allow-popups","allow-same-origin","allow-forms"].join(" ");return n(i,{theme:m},g({sandbox:y,isLoaded:t,isActive:f,isOpen:e,isTransitioning:s,customIconUrl:c,iframeUrl:p,query:o,shouldDisplayNotifications:a,setIframeRef:this.setIframeRef,onToggleOpen:this.handleToggleOpen}))}}class T extends o.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error("Error rendering Idengagerchat chat:",e,t)}render(){return this.state.error?null:this.props.children}}const U=20,B=e=>n(T,null,n(M,d({},e,{canToggle:!0}),t=>{const{sandbox:i,isLoaded:a,isActive:s,isOpen:l,isTransitioning:c,customIconUrl:u,iframeUrl:g,query:h,shouldDisplayNotifications:p,setIframeRef:f,onToggleOpen:y}=t,{hideToggleButton:b,iconVariant:w,renderToggleButton:v,position:S="right",styles:x={}}=e,C=(e=>{if(!e)return{side:"right",offset:U};switch(e){case"left":return{side:"left",offset:U};case"right":return{side:"right",offset:U};default:return e}})(S),{chatContainer:E,toggleContainer:O,toggleButton:I}=((e={},t)=>{const{chatContainer:n={},toggleContainer:i={},toggleButton:o={}}=e,{side:r="right",offset:a=U}=t;return"left"===r?{chatContainer:d({left:a,right:"auto"},n),toggleContainer:d({left:a,right:"auto"},i),toggleButton:o}:{chatContainer:d({right:a,left:"auto"},n),toggleContainer:d({right:a,left:"auto"},i),toggleButton:o}})(x,C);return n(o.Fragment,null,n(r.iframe,{ref:f,title:"Idengagerchat Chat Box Container",className:"Idengagerchat-chatFrameContainer",sandbox:i,animate:s?"open":"closed",initial:"closed",variants:{closed:{opacity:0,y:4},open:{opacity:1,y:0}},transition:{duration:.2,ease:"easeIn"},src:`${g}?${h}`,style:s?E:{pointerEvents:"none",height:0,minHeight:0},sx:{border:"none",bg:"background",variant:!l&&p?"styles.WidgetContainer.notifications":"styles.WidgetContainer"}},"Loading..."),a&&!b&&n(r.div,{className:"Idengagerchat-toggleButtonContainer",initial:!1,style:O,animate:l?"open":"closed",sx:{variant:"styles.WidgetToggleContainer"}},v&&"function"==typeof v?v({isOpen:l,onToggleOpen:y,isDisabled:c}):n(m,{style:I,isDisabled:c,isOpen:l,customIconUrl:u,iconVariant:w,toggle:y})))})),k=e=>/*#__PURE__*/React.createElement(T,null,/*#__PURE__*/React.createElement(M,d({},e,{canToggle:!1}),e=>{const{sandbox:t,isLoaded:n,iframeUrl:i,query:o,setIframeRef:a}=e;/*#__PURE__*/return React.createElement(r.iframe,{ref:a,className:"Idengagerchat-chatFrameContainer",sandbox:t,animate:n?"open":"closed",initial:"closed",variants:{closed:{opacity:0},open:{opacity:1}},transition:{duration:.2,ease:"easeIn"},src:`${i}?${o}`,sx:{opacity:n?1:0,border:"none",bg:"background",variant:"styles.ChatFrameContainer"}},"Loading...")})),A=()=>window.dispatchEvent(new Event("idengagerchat:open")),P=()=>window.dispatchEvent(new Event("idengagerchat:close")),D=()=>window.dispatchEvent(new Event("idengagerchat:toggle")),F=()=>{console.warn("`Idengagerchat.identify` has not been implemented yet!")},W={open:A,close:P,toggle:D};export default B;export{B as ChatBox,k as ChatFrame,W as Idengagerchat,P as close,F as identify,A as open,D as toggle}; | ||
| import{Button as e,Image as t,jsx as n,ThemeProvider as i}from"theme-ui";import o from"react";import{motion as r}from"framer-motion";import a from"query-string";import s from"superagent";import l from"tinycolor2";function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},d.apply(null,arguments)}const u=e=>/*#__PURE__*/o.createElement(r.path,d({fill:"transparent",strokeWidth:"3",stroke:"hsl(0, 0%, 99%)",strokeLinecap:"round"},e)),g=()=>/*#__PURE__*/o.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},/*#__PURE__*/o.createElement(u,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 7 7 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/o.createElement(u,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 7 20 L 20 7"}},transition:{duration:.2}}),/*#__PURE__*/o.createElement(u,{d:"M22 21.6453C22 20 23 19.5 23 19.5C23 19.5 25.5 18 25.5 14V9C25.5 4 23 1.5 18 1.5H9C4 1.5 1.5 4 1.5 9V14C1.5 19 4 21 9 21H13.5C14 21 14 21 15 21.5L20.25 24.8572L20.8517 25.2118C21.5184 25.6046 22 25.631 22 24.8572V24.0287V22.7858V21.6453Z",variants:{closed:{opacity:1},open:{opacity:0}},transition:{duration:.2}})),h=()=>/*#__PURE__*/o.createElement("svg",{width:"24",height:"25",viewBox:"0 0 24 25",fill:"none"},/*#__PURE__*/o.createElement(u,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 5 5 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/o.createElement(u,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 5 20 L 20 5"}},transition:{duration:.2}})),p=()=>/*#__PURE__*/o.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},/*#__PURE__*/o.createElement(u,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 7 7 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/o.createElement(u,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 7 20 L 20 7"}},transition:{duration:.2}})),f=({isOpen:e,customIconUrl:n,iconVariant:i})=>n?e?/*#__PURE__*/o.createElement(p,null):/*#__PURE__*/o.createElement(t,{src:n,style:{maxHeight:40,maxWidth:40}}):/*#__PURE__*/o.createElement("filled"===i?h:g,null),m=({isOpen:t,isDisabled:n,customIconUrl:i,iconVariant:r,style:a,toggle:s})=>/*#__PURE__*/o.createElement(e,{className:"Idengagerchat-toggleButton",variant:"primary",p:0,style:a,sx:{variant:"styles.WidgetToggle"},disabled:n,onClick:s},/*#__PURE__*/o.createElement(f,{customIconUrl:i,iconVariant:r,isOpen:t})),y="development"===process.env.NODE_ENV?"http://localhost:4000":"https://inboxready.idengager.com";function b(){}const w={ChatFrameContainer:{margin:0,height:"100%",width:"100%",minHeight:320},WidgetContainer:{margin:0,zIndex:2147483e3,position:"fixed",bottom:100,right:20,width:376,maxWidth:["90%","376px"],minHeight:250,maxHeight:["60%","704px"],boxShadow:"rgba(0, 0, 0, 0.16) 0px 5px 40px",height:"calc(100% - 120px)",borderRadius:8,overflow:"hidden",notifications:{background:"transparent",margin:0,zIndex:2147483e3,position:"fixed",bottom:80,right:20,width:"auto",maxWidth:["90%","300px"],minHeight:0,maxHeight:["60%","400px"],boxShadow:"none",height:200,overflow:"hidden"}},WidgetToggleContainer:{position:"fixed",zIndex:2147483003,bottom:"20px",right:"20px"},WidgetToggle:{outline:"none !important",border:"none !important",cursor:"pointer",width:"50px",height:"50px",borderRadius:"50%",display:"flex",justifyContent:"center",alignItems:"center"}},v="__IDENGAGERCHAT__",S=()=>({_db:{},getItem(e){return this._db[e]||null},setItem(e,t){this._db[e]=t},removeItem(e){delete this._db[e]},get(e){return this._db[e]||null},set(e,t){this._db[e]=t},remove(e){delete this._db[e]}}),x=(e,t="local")=>{try{switch(t){case"local":return(e=>{try{const t=e&&e.localStorage;return d({},t,{get:e=>{const n=t.getItem(`${v}${e}`);if(!n)return null;try{return JSON.parse(n)}catch(e){return n}},set:(e,n)=>{t.setItem(`${v}${e}`,JSON.stringify(n))},remove:e=>{t.removeItem(e)}})}catch(e){return S()}})(e);case"session":return(e=>{try{const t=e&&e.sessionStorage;return d({},t,{get:e=>{const n=t.getItem(`${v}${e}`);if(!n)return null;try{return JSON.parse(n)}catch(e){return n}},set:(e,n)=>{t.setItem(`${v}${e}`,JSON.stringify(n))},remove:e=>{t.removeItem(e)}})}catch(e){return S()}})(e);case"cookie":return(()=>{try{throw new Error("Cookie storage has not been implemented!")}catch(e){return S()}})();default:return S()}}catch(e){return S()}};class C{constructor(e=!1){this.debugModeEnabled=!!e}debug(...e){this.debugModeEnabled&&console.debug(...e)}log(...e){this.debugModeEnabled&&console.log(...e)}info(...e){console.info(...e)}warn(...e){console.warn(...e)}error(...e){console.error(...e)}}const E=e=>{const t=Array.prototype,n=Function.prototype,i=Object.prototype,o=i.toString,r=i.hasOwnProperty,a=e.console,s=e.navigator,l=e.document,d=e.opera,u=e.screen,g=s.userAgent,h=e.Intl,p=n.bind,f=t.forEach,m=t.indexOf,y=Array.isArray,b=t.slice,w={},v=y||function(e){return"[object Array]"===o.call(e)};function S(e){try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}}function x(e){return"[object String]"==o.call(e)}function C(e){return void 0===e}function E(e,t,n){if(null!=e)if(f&&e.forEach===f)e.forEach(t,n);else if(e.length===+e.length){for(var i=0,o=e.length;i<o;i++)if(i in e&&t.call(n,e[i],i,e)===w)return}else for(var a in e)if(r.call(e,a)&&t.call(n,e[a],a,e)===w)return}const O=function(){let e,t,n,i,o={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},r=function(t){var i=new SyntaxError(t);throw i.at=e,i.text=n,i},a=function(){return c&&c!==t&&r("Expected '"+c+"' instead of '"+t+"'"),t=n.charAt(e),e+=1,t},s=function(){var e,n="";for("-"===t&&(n="-",a());t>="0"&&t<="9";)n+=t,a();if("."===t)for(n+=".";a()&&t>="0"&&t<="9";)n+=t;if("e"===t||"E"===t)for(n+=t,a(),"-"!==t&&"+"!==t||(n+=t,a());t>="0"&&t<="9";)n+=t,a();if(e=+n,isFinite(e))return e;r("Bad number")},l=function(){let e,n,i,s="";if('"'===t)for(;a();){if('"'===t)return a(),s;if("\\"===t)if(a(),"u"===t){for(i=0,n=0;n<4&&(e=parseInt(a(),16),isFinite(e));n+=1)i=16*i+e;s+=String.fromCharCode(i)}else{if("string"!=typeof o[t])break;s+=o[t]}else s+=t}r("Bad string")},d=function(){for(;t&&t<=" ";)a()};return i=function(){switch(d(),t){case"{":return function(){let e,n={};if("{"===t){if(a(),d(),"}"===t)return a(),n;for(;t;){if(e=l(),d(),a(),Object.hasOwnProperty.call(n,e)&&r('Duplicate key "'+e+'"'),n[e]=i(),d(),"}"===t)return a(),n;a(),d()}}r("Bad object")}();case"[":return function(){var e=[];if("["===t){if(a(),d(),"]"===t)return a(),e;for(;t;){if(e.push(i()),d(),"]"===t)return a(),e;a(),d()}}r("Bad array")}();case'"':return l();case"-":return s();default:return t>="0"&&t<="9"?s():function(){switch(t){case"t":return a(),a(),a(),a(),!0;case"f":return a(),a(),a(),a(),a(),!1;case"n":return a(),a(),a(),a(),null}r('Unexpected "'+t+'"')}()}},function(o){var a;return n=o,e=0,t=" ",a=i(),d(),t&&r("Syntax error"),a}}();function I(e){var t,n,i,o,r="";for(t=n=0,i=(e=(e+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n")).length,o=0;o<i;o++){var a=e.charCodeAt(o),s=null;a<128?n++:s=a>127&&a<2048?String.fromCharCode(a>>6|192,63&a|128):String.fromCharCode(a>>12|224,a>>6&63|128,63&a|128),null!==s&&(n>t&&(r+=e.substring(t,n)),r+=s,t=n=o+1)}return n>t&&(r+=e.substring(t,e.length)),r}return{ArrayProto:t,FuncProto:n,ObjProto:i,toString:o,hasOwnProperty:r,win:e,windowConsole:a,navigator:s,document:l,windowOpera:d,screen:u,userAgent:g,intl:h,nativeBind:p,nativeForEach:f,nativeIndexOf:m,nativeIsArray:y,slice:b,breaker:w,__NOOP:function(){},__NOOPTIONS:{},isFunction:S,isString:x,includes:function(e,t){return-1!==e.indexOf(t)},isUndefined:C,timestamp:function(){return Date.now=Date.now||function(){return+new Date},Date.now()},each:E,trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},extend:function(e,...t){return E(t,function(t){for(let n in t)void 0!==t[n]&&(e[n]=t[n])}),e},bind:function(e,t){let n,i;if(p&&e.bind===p)return p.apply(e,b.call(arguments,1));if(!S(e))throw new TypeError;return n=b.call(arguments,2),i=function(){if(!(this instanceof i))return e.apply(t,n.concat(b.call(arguments)));let o={};o.prototype=e.prototype;let r=new o;o.prototype=null;let a=e.apply(r,n.concat(b.call(arguments)));return Object(a)===a?a:r},i},truncate:function e(t,n){let i;return"string"==typeof t?i=t.slice(0,n):v(t)?(i=[],E(t,function(t){i.push(e(t,n))})):function(e){return e===Object(e)&&!v(e)}(t)?(i={},E(t,function(t,o){i[o]=e(t,n)})):i=t,i},stripEmptyProperties:function(e){let t={};return E(e,function(e,n){x(e)&&e.length>0&&(t[n]=e)}),t},HTTPBuildQuery:function(e,t){let n,i,o=[];return C(t)&&(t="&"),E(e,function(e,t){n=encodeURIComponent(e.toString()),i=encodeURIComponent(t),o[o.length]=i+"="+n}),o.join(t)},JSONEncode:function(e){var t=function(e){var t=/[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return t.lastIndex=0,t.test(e)?'"'+e.replace(t,function(e){var t=n[e];return"string"==typeof t?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'};return function e(n,i){let a="",s=0,l="",c="",d=0,u=a,g=[],h=i[n];switch(h&&"object"==typeof h&&"function"==typeof h.toJSON&&(h=h.toJSON(n)),typeof h){case"string":return t(h);case"number":return isFinite(h)?String(h):"null";case"boolean":case"undefined":return String(h);case"object":if(!h)return"null";if(a+=" ",g=[],"[object Array]"===o.apply(h)){for(d=h.length,s=0;s<d;s+=1)g[s]=e(s,h)||"null";return c=0===g.length?"[]":a?"[\n"+a+g.join(",\n"+a)+"\n"+u+"]":"["+g.join(",")+"]",a=u,c}for(l in h)r.call(h,l)&&(c=e(l,h),c&&g.push(t(l)+(a?": ":":")+c));return c=0===g.length?"{}":a?"{"+g.join(",")+u+"}":"{"+g.join(",")+"}",a=u,c}}("",{"":e})},JSONDecode:O,utf8Encode:I,base64Encode:function(e){var t,n,i,o,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",a=0,s=0,l="",c=[];if(!e)return e;e=I(e);do{t=(o=e.charCodeAt(a++)<<16|e.charCodeAt(a++)<<8|e.charCodeAt(a++))>>12&63,n=o>>6&63,i=63&o,c[s++]=r.charAt(o>>18&63)+r.charAt(t)+r.charAt(n)+r.charAt(i)}while(a<e.length);switch(l=c.join(""),e.length%3){case 1:l=l.slice(0,-2)+"==";break;case 2:l=l.slice(0,-1)+"="}return l},getQueryParam:function(e,t){t=t.replace(/[[]/,"\\[").replace(/[\]]/,"\\]");const n=new RegExp("[\\?&]"+t+"=([^&#]*)").exec(e);if(null===n||n&&"string"!=typeof n[1]&&n[1].length)return"";var i=n[1];try{i=decodeURIComponent(i)}catch(e){console.error("Skipping decoding for malformed query param: "+i)}return i.replace(/\+/g," ")}}};function O(e){const{navigator:t,userAgent:n,windowOpera:i,intl:o,each:r,extend:a,includes:s,timestamp:l,stripEmptyProperties:c,getQueryParam:d}=E(e),u={campaignParams:function(){const e="utm_source utm_medium utm_campaign utm_content utm_term".split(" ");let t="",n={};return r(e,function(e){t=d(document.URL,e),t.length&&(n[e]=t)}),n},searchEngine:function(e){return 0===e.search("https?://(.*)google.([^/?]*)")?"google":0===e.search("https?://(.*)bing.com")?"bing":0===e.search("https?://(.*)yahoo.com")?"yahoo":0===e.search("https?://(.*)duckduckgo.com")?"duckduckgo":null},searchInfo:function(e){let t=u.searchEngine(e),n="yahoo"!=t?"q":"p",i={};if(null!==t){i.$search_engine=t;var o=d(e,n);o.length&&(i.ph_keyword=o)}return i},browser:function(e,t,n){return t=t||"",n||s(e," OPR/")?s(e,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":s(e,"IEMobile")||s(e,"WPDesktop")?"Internet Explorer Mobile":s(e,"SamsungBrowser/")?"Samsung Internet":s(e,"Edge")||s(e,"Edg/")?"Microsoft Edge":s(e,"FBIOS")?"Facebook Mobile":s(e,"Chrome")?"Chrome":s(e,"CriOS")?"Chrome iOS":s(e,"UCWEB")||s(e,"UCBrowser")?"UC Browser":s(e,"FxiOS")?"Firefox iOS":s(t,"Apple")?s(e,"Mobile")?"Mobile Safari":"Safari":s(e,"Android")?"Android Mobile":s(e,"Konqueror")?"Konqueror":s(e,"Firefox")?"Firefox":s(e,"MSIE")||s(e,"Trident/")?"Internet Explorer":s(e,"Gecko")?"Mozilla":""},browserVersion:function(e,t,n){const i={"Internet Explorer Mobile":/rv:(\d+(\.\d+)?)/,"Microsoft Edge":/Edge?\/(\d+(\.\d+)?)/,Chrome:/Chrome\/(\d+(\.\d+)?)/,"Chrome iOS":/CriOS\/(\d+(\.\d+)?)/,"UC Browser":/(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,Safari:/Version\/(\d+(\.\d+)?)/,"Mobile Safari":/Version\/(\d+(\.\d+)?)/,Opera:/(Opera|OPR)\/(\d+(\.\d+)?)/,Firefox:/Firefox\/(\d+(\.\d+)?)/,"Firefox iOS":/FxiOS\/(\d+(\.\d+)?)/,Konqueror:/Konqueror:(\d+(\.\d+)?)/,BlackBerry:/BlackBerry (\d+(\.\d+)?)/,"Android Mobile":/android\s(\d+(\.\d+)?)/,"Samsung Internet":/SamsungBrowser\/(\d+(\.\d+)?)/,"Internet Explorer":/(rv:|MSIE )(\d+(\.\d+)?)/,Mozilla:/rv:(\d+(\.\d+)?)/}[u.browser(e,t,n)];if(void 0===i)return null;const o=e.match(i);return o?parseFloat(o[o.length-2]):null},os:function(){const e=n;return/Windows/i.test(e)?/Phone/.test(e)||/WPDesktop/.test(e)?"Windows Phone":"Windows":/(iPhone|iPad|iPod)/.test(e)?"iOS":/Android/.test(e)?"Android":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Mac/i.test(e)?"Mac OS X":/Linux/.test(e)?"Linux":/CrOS/.test(e)?"Chrome OS":""},device:function(e){return/Windows Phone/i.test(e)||/WPDesktop/.test(e)?"Windows Phone":/iPad/.test(e)?"iPad":/iPod/.test(e)?"iPod Touch":/iPhone/.test(e)?"iPhone":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Android/.test(e)?"Android":""},referringDomain:function(e){const t=e.split("/");return t.length>=3?t[2]:""},timezone:function(e){try{return e.DateTimeFormat().resolvedOptions().timeZone}catch(e){return null}},properties:function(){var r;return a(c({os:u.os(),browser:u.browser(n,t.vendor,i),referrer:document.referrer,referring_domain:u.referringDomain(document.referrer),device:u.device(n),time_zone:u.timezone(o)}),{current_url:e.location.href,host:e.location.host,pathname:e.location.pathname,browser_version:null==(r=u.browserVersion(n,t.vendor,i))?void 0:r.toString(),screen_height:screen.height,screen_width:screen.width,lib:"web",insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),time:l()/1e3})}};return u.properties()}const I=(e,t)=>{const n=e=>{t(e)};return e.addEventListener?(e.addEventListener("message",n),()=>e.removeEventListener("message",n)):(e.attachEvent("onmessage",n),()=>e.detachEvent("onmessage",n))},_=(e,t,n)=>{if(e.addEventListener){for(const i of t)e.addEventListener(i,n);return()=>t.map(t=>e.removeEventListener(t,n))}return console.error("Custom events are not supported in your browser!"),b};class M extends o.Component{constructor(e){var t;if(super(e),t=this,this.subscriptions=[],this.EVENTS=["idengagerchat:open","idengagerchat:close","idengagerchat:toggle","idengagerchat:identify","storytime:customer:set"],this.getDefaultTitle=async function(e){const{title:n,setDefaultTitle:i}=t.props;return i&&"function"==typeof i?i(e):n||e.title},this.getDefaultSubtitle=async function(e){const{subtitle:n,setDefaultSubtitle:i}=t.props;return i&&"function"==typeof i?i(e):n||e.subtitle},this.getDefaultGreeting=async function(e){const{greeting:n,setDefaultGreeting:i}=t.props;return i&&"function"==typeof i?i(e):n||e.greeting},this.setIframeRef=e=>{this.iframeRef=e},this.getIframeUrl=()=>this.props.iframeUrlOverride||"https://chatframe.idengager.com",this.handleConfigUpdated=e=>{this.setState({config:d({},this.state.config,e)}),this.send("config:update",e)},this.handleCustomerIdUpdated=e=>{const t=this.storage.getCustomerId(),n=e||t,i=d({},this.state.config,{customerId:n});this.setState({config:i,query:a.stringify(i,{skipEmptyString:!0,skipNull:!0})}),this.logger.debug("Updated customer ID:",n)},this.fetchWidgetSettings=async function(){const{accountId:e,baseUrl:n}=t.props,i={};return(async(e,t=y)=>s.get(`${t}/api/widget_settings`).query({account_id:e}).then(e=>e.body.data))(e,n).then(e=>e||i).catch(()=>i)},this.updateWidgetSettingsMetadata=()=>{const{accountId:e,baseUrl:t}=this.props;return(async(e,t,n=y)=>s.put(`${n}/api/widget_settings/metadata`).send({account_id:e,metadata:t}).then(e=>e.body.data))(e,O(window),t).catch(e=>{this.logger.error("Failed to update widget metadata:",e)})},this.customEventHandlers=e=>{if(!e||!e.type)return null;const{type:t,detail:n}=e;switch(t){case"idengagerchat:open":return this.handleOpenWidget();case"idengagerchat:close":return this.handleCloseWidget();case"idengagerchat:toggle":return this.handleToggleOpen();case"storytime:customer:set":return this.handleCustomerIdUpdated(n);default:return null}},this.postMessageHandlers=e=>{const t=this.getIframeUrl(),{origin:n}=new URL(t);if(e.origin!==n)return null;const{event:i,payload:o={}}=e.data;switch(i){case"chat:loaded":return this.handleChatLoaded();case"customer:created":case"customer:updated":return this.handleCacheCustomerId(o);case"conversation:join":return this.sendCustomerUpdate(o);case"message:received":return this.handleMessageReceived(o);case"message:sent":return this.handleMessageSent(o);case"messages:unseen":return this.handleUnseenMessages(o);case"messages:seen":return this.handleMessagesSeen();case"idengagerchat:open":case"idengagerchat:close":return this.handleToggleOpen();default:return null}},this.send=(e,t)=>{const n=this.iframeRef;if(!n)throw new Error(`Attempted to send event ${e} with payload ${JSON.stringify(t)} before iframeRef was ready`);n.contentWindow&&n.contentWindow.postMessage({event:e,payload:t},this.getIframeUrl())},this.handleMessageReceived=e=>{const{onMessageReceived:t=b}=this.props,{user_id:n,customer_id:i}=e;n&&!i&&t&&t(e)},this.handleMessageSent=e=>{const{onMessageSent:t=b}=this.props;t&&t(e)},this.handleUnseenMessages=e=>{this.setState({shouldDisplayNotifications:!0}),this.send("notifications:display",{shouldDisplayNotifications:!0})},this.handleMessagesSeen=()=>{this.setState({shouldDisplayNotifications:!1}),this.storage.setPopupSeen(!0),this.send("notifications:display",{shouldDisplayNotifications:!1})},this.shouldOpenByDefault=()=>{const{defaultIsOpen:e,isOpenByDefault:t,persistOpenState:n,canToggle:i}=this.props;if(!i)return!0;const o=this.storage.getOpenState();return n?o:!(!t&&!e)},this.handleChatLoaded=()=>{this.setState({isLoaded:!0});const{config:e={}}=this.state,{subscriptionPlan:t=null}=e,{popUpInitialMessage:n,onChatLoaded:i=b}=this.props;i&&"function"==typeof i&&i(),this.shouldOpenByDefault()&&this.setState({isOpen:!0},()=>this.emitToggleEvent(!0)),n&&!this.storage.getPopupSeen()&&setTimeout(()=>{this.setState({shouldDisplayNotifications:!0}),this.send("notifications:display",{shouldDisplayNotifications:!0,popUpInitialMessage:!0})},"number"==typeof n?n:0),this.send("idengagerchat:plan",{plan:t})},this.formatCustomerMetadata=()=>{const{customer:e={}}=this.props;return e?Object.keys(e).reduce((t,n)=>d({},t,"metadata"===n?{[n]:e[n]}:{key:String(e[n])}),{}):{}},this.sendCustomerUpdate=e=>{const{customerId:t}=e,n=d({},O(window),this.formatCustomerMetadata());return this.send("customer:update",{customerId:t,metadata:n})},this.handleCacheCustomerId=e=>{const{customerId:t}=e;this.logger.debug("Caching customer ID:",t),window.dispatchEvent(new CustomEvent("idengagerchat:customer:set",{detail:t})),this.storage.setCustomerId(t)},this.emitToggleEvent=e=>{this.send("idengagerchat:toggle",{isOpen:e});const{persistOpenState:t=!1,onChatOpened:n=b,onChatClosed:i=b}=this.props;t&&this.storage.setOpenState(e),e?n&&n():i&&i()},this.handleOpenWidget=()=>{this.props.canToggle&&!this.state.isOpen&&(this.state.shouldDisplayNotifications?this.setState({isTransitioning:!0},()=>{setTimeout(()=>{this.setState({isOpen:!0,isTransitioning:!1},()=>this.emitToggleEvent(!0))},200)}):this.setState({isOpen:!0},()=>this.emitToggleEvent(!0)))},this.handleCloseWidget=()=>{this.props.canToggle&&this.state.isOpen&&this.setState({isOpen:!1},()=>this.emitToggleEvent(!1))},this.handleToggleOpen=()=>{const{isOpen:e,isLoaded:t,shouldDisplayNotifications:n}=this.state,i=!e;t&&this.props.canToggle&&(!e&&n?this.setState({isTransitioning:!0},()=>{setTimeout(()=>{this.setState({isOpen:i,isTransitioning:!1},()=>this.emitToggleEvent(i))},200)}):this.setState({isOpen:i},()=>this.emitToggleEvent(i)))},!e.accountId)throw new Error("An `accountId` is required to run the Idengagerchat chat!");this.state={isOpen:!1,isLoaded:!1,query:"",config:{},shouldDisplayNotifications:!1,isTransitioning:!1},this.iframeRef=null,this.storage=null,this.logger=null}async componentDidMount(){var e,t,n;const i=await this.fetchWidgetSettings(),{accountId:o,primaryColor:r,baseUrl:s,awayMessage:l,newMessagePlaceholder:c,emailInputPlaceholder:u,newMessagesNotificationText:g,agentAvailableText:h,agentUnavailableText:p,showAgentAvailability:f,requireEmailUpfront:m,canToggle:y,customer:b={}}=this.props,w=(v=window,Boolean("localhost"===v.location.hostname||"[::1]"===v.location.hostname||v.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)));var v;this.logger=new C(w),this.subscriptions=[I(window,this.postMessageHandlers),_(window,this.EVENTS,this.customEventHandlers)],this.storage=function(e,t={defaultType:"local",openStateType:"session"}){const{defaultType:n="local",openStateType:i="session"}=t,o=x(e,n),r=x(e,i);return{getCustomerId:()=>o.get("__CUSTOMER_ID__"),setCustomerId:e=>o.set("__CUSTOMER_ID__",e),removeCustomerId:()=>o.remove("__CUSTOMER_ID__"),getOpenState:()=>r.get(":open"),setOpenState:e=>r.set(":open",e),clearOpenState:()=>r.remove(":open"),getPopupSeen:()=>r.get(":pop_up_seen"),setPopupSeen:e=>r.set(":pop_up_seen",e),clearPopupSeen:()=>r.remove(":pop_up_seen")}}(window);const S=d({},O(window),b),E={accountId:o,baseUrl:s,title:await this.getDefaultTitle(i),subtitle:await this.getDefaultSubtitle(i),primaryColor:r||i.color,greeting:await this.getDefaultGreeting(i),awayMessage:l||i.away_message,newMessagePlaceholder:c||i.new_message_placeholder,emailInputPlaceholder:u||i.email_input_placeholder,newMessagesNotificationText:g||i.new_messages_notification_text,companyName:null==i||null==(e=i.account)?void 0:e.company_name,requireEmailUpfront:m||i.require_email_upfront?1:0,showAgentAvailability:f||i.show_agent_availability?1:0,agentAvailableText:i.agent_available_text||h,agentUnavailableText:i.agent_unavailable_text||p,closeable:y?1:0,customerId:this.storage.getCustomerId(),subscriptionPlan:null==i||null==(t=i.account)?void 0:t.subscription_plan,isOutsideWorkingHours:null==i||null==(n=i.account)?void 0:n.is_outside_working_hours,isBrandingHidden:null==i?void 0:i.is_branding_hidden,metadata:JSON.stringify(S),version:"1.1.8"},M=a.stringify(E,{skipEmptyString:!0,skipNull:!0});this.setState({config:E,query:M}),await this.updateWidgetSettingsMetadata()}componentWillUnmount(){this.subscriptions.forEach(e=>{"function"==typeof e&&e()})}componentDidUpdate(e){const{accountId:t,title:n,subtitle:i,primaryColor:o,baseUrl:r,greeting:a,newMessagePlaceholder:s,emailInputPlaceholder:l,newMessagesNotificationText:c,requireEmailUpfront:d,showAgentAvailability:u,agentAvailableText:g,agentUnavailableText:h}=this.props,p=[e.accountId,e.title,e.subtitle,e.primaryColor,e.baseUrl,e.greeting,e.newMessagePlaceholder,e.emailInputPlaceholder,e.newMessagesNotificationText,e.requireEmailUpfront,e.showAgentAvailability,e.agentAvailableText,e.agentUnavailableText];[t,n,i,o,r,a,s,l,c,d,u,g,h].some((e,t)=>e!==p[t])&&this.handleConfigUpdated({accountId:t,title:n,subtitle:i,primaryColor:o,baseUrl:r,greeting:a,newMessagePlaceholder:s,emailInputPlaceholder:l,newMessagesNotificationText:c,agentAvailableText:g,agentUnavailableText:h,requireEmailUpfront:d?1:0,showAgentAvailability:u?1:0})}render(){const{isOpen:e,isLoaded:t,query:o,config:r,shouldDisplayNotifications:a,isTransitioning:s}=this.state,{customIconUrl:c,hideOutsideWorkingHours:u=!1,children:g}=this.props,{primaryColor:h}=r;if(!o)return null;if(u&&r.isOutsideWorkingHours)return null;const p=this.getIframeUrl(),f=(e||a)&&!s,m=((e={})=>{const{primary:t="#1890ff"}=e,n=l(t),i={primary:n.toString(),light:n.lighten().toString(),dark:n.darken().toString()};return{useBodyStyles:!1,space:[0,4,8,16,32,64,128,256,512],fonts:{body:'-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;',heading:'-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;',monospace:'"Roboto Mono", monospace'},fontSizes:[12,14,16,20,24,32,48,64,96],fontWeights:{body:400,heading:600,bold:600},lineHeights:{body:1.5,heading:1.125},colors:{text:"#141414",background:"#fff",primary:i.primary,secondary:"#722ed1",muted:"#f0f0f0",gray:"rgba(0, 0, 0, 0.45)",input:"rgba(0, 0, 0, 0.65)",offset:"rgba(255, 255, 255, 0.8)"},text:{default:{color:"text",fontSize:1},caps:{textTransform:"uppercase",letterSpacing:"0.2em"},heading:{fontFamily:"heading",fontWeight:"heading",lineHeight:"heading"}},buttons:{primary:{cursor:"pointer",outline:0,boxShadow:"rgba(0, 0, 0, 0.08) 0 2px 4px",transition:"0.2s","&:hover":{background:i.light,borderColor:i.light,boxShadow:"rgba(0, 0, 0, 0.12) 0px 2px 8px"},"&:active":{background:i.dark,borderColor:i.dark}}},styles:d({root:{fontFamily:"body",lineHeight:"body",fontWeight:"body",fontSize:1},h1:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:5},h2:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:4},h3:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:3},h4:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:2},h5:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:1},h6:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:0},p:{color:"text",fontFamily:"body",fontWeight:"body",lineHeight:"body"},a:{color:"primary"},pre:{fontFamily:"monospace",overflowX:"auto",code:{color:"inherit"}},code:{fontFamily:"monospace",fontSize:"inherit"},table:{width:"100%",borderCollapse:"separate",borderSpacing:0},th:{textAlign:"left",borderBottomStyle:"solid"},td:{textAlign:"left",borderBottomStyle:"solid"},img:{maxWidth:"100%"},textarea:{transparent:{border:"none",boxShadow:"none",resize:"none",outline:0,"&:hover":{border:"none",boxShadow:"none",resize:"none",outline:0},"&:active":{border:"none",boxShadow:"none",resize:"none",outline:0},"&:focus":{border:"none",boxShadow:"none",resize:"none",outline:0}}}},w)}})({primary:h}),y=["allow-scripts","allow-popups","allow-same-origin","allow-forms"].join(" ");return n(i,{theme:m},g({sandbox:y,isLoaded:t,isActive:f,isOpen:e,isTransitioning:s,customIconUrl:c,iframeUrl:p,query:o,shouldDisplayNotifications:a,setIframeRef:this.setIframeRef,onToggleOpen:this.handleToggleOpen}))}}class T extends o.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error("Error rendering Idengagerchat chat:",e,t)}render(){return this.state.error?null:this.props.children}}const U=20,B=e=>n(T,null,n(M,d({},e,{canToggle:!0}),t=>{const{sandbox:i,isLoaded:a,isActive:s,isOpen:l,isTransitioning:c,customIconUrl:u,iframeUrl:g,query:h,shouldDisplayNotifications:p,setIframeRef:f,onToggleOpen:y}=t,{hideToggleButton:b,iconVariant:w,renderToggleButton:v,position:S="right",styles:x={}}=e,C=(e=>{if(!e)return{side:"right",offset:U};switch(e){case"left":return{side:"left",offset:U};case"right":return{side:"right",offset:U};default:return e}})(S),{chatContainer:E,toggleContainer:O,toggleButton:I}=((e={},t)=>{const{chatContainer:n={},toggleContainer:i={},toggleButton:o={}}=e,{side:r="right",offset:a=U}=t;return"left"===r?{chatContainer:d({left:a,right:"auto"},n),toggleContainer:d({left:a,right:"auto"},i),toggleButton:o}:{chatContainer:d({right:a,left:"auto"},n),toggleContainer:d({right:a,left:"auto"},i),toggleButton:o}})(x,C);return n(o.Fragment,null,n(r.iframe,{ref:f,title:"Idengagerchat Chat Box Container",className:"Idengagerchat-chatFrameContainer",sandbox:i,animate:s?"open":"closed",initial:"closed",variants:{closed:{opacity:0,y:4},open:{opacity:1,y:0}},transition:{duration:.2,ease:"easeIn"},src:`${g}?${h}`,style:s?E:{pointerEvents:"none",height:0,minHeight:0},sx:{border:"none",bg:"background",variant:!l&&p?"styles.WidgetContainer.notifications":"styles.WidgetContainer"}},"Loading..."),a&&!b&&n(r.div,{className:"Idengagerchat-toggleButtonContainer",initial:!1,style:O,animate:l?"open":"closed",sx:{variant:"styles.WidgetToggleContainer"}},v&&"function"==typeof v?v({isOpen:l,onToggleOpen:y,isDisabled:c}):n(m,{style:I,isDisabled:c,isOpen:l,customIconUrl:u,iconVariant:w,toggle:y})))})),k=e=>/*#__PURE__*/React.createElement(T,null,/*#__PURE__*/React.createElement(M,d({},e,{canToggle:!1}),e=>{const{sandbox:t,isLoaded:n,iframeUrl:i,query:o,setIframeRef:a}=e;/*#__PURE__*/return React.createElement(r.iframe,{ref:a,className:"Idengagerchat-chatFrameContainer",sandbox:t,animate:n?"open":"closed",initial:"closed",variants:{closed:{opacity:0},open:{opacity:1}},transition:{duration:.2,ease:"easeIn"},src:`${i}?${o}`,sx:{opacity:n?1:0,border:"none",bg:"background",variant:"styles.ChatFrameContainer"}},"Loading...")})),A=()=>window.dispatchEvent(new Event("idengagerchat:open")),P=()=>window.dispatchEvent(new Event("idengagerchat:close")),D=()=>window.dispatchEvent(new Event("idengagerchat:toggle")),F=()=>{console.warn("`Idengagerchat.identify` has not been implemented yet!")},W={open:A,close:P,toggle:D};export default B;export{B as ChatBox,k as ChatFrame,W as Idengagerchat,P as close,F as identify,A as open,D as toggle}; | ||
| //# sourceMappingURL=index.modern.js.map |
@@ -1,2 +0,2 @@ | ||
| !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("theme-ui"),require("react"),require("framer-motion"),require("query-string"),require("superagent"),require("tinycolor2")):"function"==typeof define&&define.amd?define(["exports","theme-ui","react","framer-motion","query-string","superagent","tinycolor2"],t):t((e||self).chatBox={},e.themeUi,e.react,e.framerMotion,e.queryString,e.superagent,e.tinycolor2)}(this,function(e,t,n,r,o,i,a){function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=/*#__PURE__*/s(n),l=/*#__PURE__*/s(o),d=/*#__PURE__*/s(i),f=/*#__PURE__*/s(a);function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(null,arguments)}function h(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,m(e,t)}function m(e,t){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},m(e,t)}var v=function(e){/*#__PURE__*/return u.default.createElement(r.motion.path,p({fill:"transparent",strokeWidth:"3",stroke:"hsl(0, 0%, 99%)",strokeLinecap:"round"},e))},y=function(){/*#__PURE__*/return u.default.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},/*#__PURE__*/u.default.createElement(v,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 7 7 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/u.default.createElement(v,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 7 20 L 20 7"}},transition:{duration:.2}}),/*#__PURE__*/u.default.createElement(v,{d:"M22 21.6453C22 20 23 19.5 23 19.5C23 19.5 25.5 18 25.5 14V9C25.5 4 23 1.5 18 1.5H9C4 1.5 1.5 4 1.5 9V14C1.5 19 4 21 9 21H13.5C14 21 14 21 15 21.5L20.25 24.8572L20.8517 25.2118C21.5184 25.6046 22 25.631 22 24.8572V24.0287V22.7858V21.6453Z",variants:{closed:{opacity:1},open:{opacity:0}},transition:{duration:.2}}))},b=function(){/*#__PURE__*/return u.default.createElement("svg",{width:"24",height:"25",viewBox:"0 0 24 25",fill:"none"},/*#__PURE__*/u.default.createElement(v,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 5 5 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/u.default.createElement(v,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 5 20 L 20 5"}},transition:{duration:.2}}))},w=function(){/*#__PURE__*/return u.default.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},/*#__PURE__*/u.default.createElement(v,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 7 7 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/u.default.createElement(v,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 7 20 L 20 7"}},transition:{duration:.2}}))},S=function(e){var n=e.customIconUrl,r=e.iconVariant;return n?e.isOpen?/*#__PURE__*/u.default.createElement(w,null):/*#__PURE__*/u.default.createElement(t.Image,{src:n,style:{maxHeight:40,maxWidth:40}}):/*#__PURE__*/u.default.createElement("filled"===r?b:y,null)},x=function(e){/*#__PURE__*/return u.default.createElement(t.Button,{className:"Idengagerchat-toggleButton",variant:"primary",p:0,style:e.style,sx:{variant:"styles.WidgetToggle"},disabled:e.isDisabled,onClick:e.toggle},/*#__PURE__*/u.default.createElement(S,{customIconUrl:e.customIconUrl,iconVariant:e.iconVariant,isOpen:e.isOpen}))},I="development"===process.env.NODE_ENV?"http://localhost:4000":"https://inboxready.idengager.com";function C(){}var _={ChatFrameContainer:{margin:0,height:"100%",width:"100%",minHeight:320},WidgetContainer:{margin:0,zIndex:2147483e3,position:"fixed",bottom:100,right:20,width:376,maxWidth:["90%","376px"],minHeight:250,maxHeight:["60%","704px"],boxShadow:"rgba(0, 0, 0, 0.16) 0px 5px 40px",height:"calc(100% - 120px)",borderRadius:8,overflow:"hidden",notifications:{background:"transparent",margin:0,zIndex:2147483e3,position:"fixed",bottom:80,right:20,width:"auto",maxWidth:["90%","300px"],minHeight:0,maxHeight:["60%","400px"],boxShadow:"none",height:200,overflow:"hidden"}},WidgetToggleContainer:{position:"fixed",zIndex:2147483003,bottom:"20px",right:"20px"},WidgetToggle:{outline:"none !important",border:"none !important",cursor:"pointer",width:"50px",height:"50px",borderRadius:"50%",display:"flex",justifyContent:"center",alignItems:"center"}},O="__IDENGAGERCHAT__",E=function(e,t){void 0===t&&(t="local");try{switch(t){case"local":return function(e){try{var t=e&&e.localStorage;return p({},t,{get:function(e){var n=t.getItem(""+O+e);if(!n)return null;try{return JSON.parse(n)}catch(e){return n}},set:function(e,n){t.setItem(""+O+e,JSON.stringify(n))},remove:function(e){t.removeItem(e)}})}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}(e);case"session":return function(e){try{var t=e&&e.sessionStorage;return p({},t,{get:function(e){var n=t.getItem(""+O+e);if(!n)return null;try{return JSON.parse(n)}catch(e){return n}},set:function(e,n){t.setItem(""+O+e,JSON.stringify(n))},remove:function(e){t.removeItem(e)}})}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}(e);case"cookie":return function(){try{throw new Error("Cookie storage has not been implemented!")}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}();default:return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}},T=/*#__PURE__*/function(){function e(e){void 0===e&&(e=!1),this.debugModeEnabled=!!e}var t=e.prototype;return t.debug=function(){var e;this.debugModeEnabled&&(e=console).debug.apply(e,[].slice.call(arguments))},t.log=function(){var e;this.debugModeEnabled&&(e=console).log.apply(e,[].slice.call(arguments))},t.info=function(){var e;(e=console).info.apply(e,[].slice.call(arguments))},t.warn=function(){var e;(e=console).warn.apply(e,[].slice.call(arguments))},t.error=function(){var e;(e=console).error.apply(e,[].slice.call(arguments))},e}();function M(e){var t=function(e){var t=Array.prototype,n=Function.prototype,r=Object.prototype,o=r.toString,i=r.hasOwnProperty,a=e.navigator,s=n.bind,u=t.forEach,l=Array.isArray,d=t.slice,f={},g=l||function(e){return"[object Array]"===o.call(e)};function p(e){try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}}function h(e){return"[object String]"==o.call(e)}function m(e){return void 0===e}function v(e,t,n){if(null!=e)if(u&&e.forEach===u)e.forEach(t,n);else if(e.length===+e.length){for(var r=0,o=e.length;r<o;r++)if(r in e&&t.call(n,e[r],r,e)===f)return}else for(var a in e)if(i.call(e,a)&&t.call(n,e[a],a,e)===f)return}var y,b,w,S,x,I,C,_,O,E,T,M,P=(x={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},I=function(e){var t=new SyntaxError(e);throw t.at=y,t.text=w,t},C=function(){return c&&c!==b&&I("Expected '"+c+"' instead of '"+b+"'"),b=w.charAt(y),y+=1,b},_=function(){var e,t="";for("-"===b&&(t="-",C());b>="0"&&b<="9";)t+=b,C();if("."===b)for(t+=".";C()&&b>="0"&&b<="9";)t+=b;if("e"===b||"E"===b)for(t+=b,C(),"-"!==b&&"+"!==b||(t+=b,C());b>="0"&&b<="9";)t+=b,C();if(e=+t,isFinite(e))return e;I("Bad number")},O=function(){var e,t,n,r="";if('"'===b)for(;C();){if('"'===b)return C(),r;if("\\"===b)if(C(),"u"===b){for(n=0,t=0;t<4&&(e=parseInt(C(),16),isFinite(e));t+=1)n=16*n+e;r+=String.fromCharCode(n)}else{if("string"!=typeof x[b])break;r+=x[b]}else r+=b}I("Bad string")},E=function(){for(;b&&b<=" ";)C()},T=function(){var e=[];if("["===b){if(C(),E(),"]"===b)return C(),e;for(;b;){if(e.push(S()),E(),"]"===b)return C(),e;C(),E()}}I("Bad array")},M=function(){var e,t={};if("{"===b){if(C(),E(),"}"===b)return C(),t;for(;b;){if(e=O(),E(),C(),Object.hasOwnProperty.call(t,e)&&I('Duplicate key "'+e+'"'),t[e]=S(),E(),"}"===b)return C(),t;C(),E()}}I("Bad object")},S=function(){switch(E(),b){case"{":return M();case"[":return T();case'"':return O();case"-":return _();default:return b>="0"&&b<="9"?_():function(){switch(b){case"t":return C(),C(),C(),C(),!0;case"f":return C(),C(),C(),C(),C(),!1;case"n":return C(),C(),C(),C(),null}I('Unexpected "'+b+'"')}()}},function(e){var t;return w=e,y=0,b=" ",t=S(),E(),b&&I("Syntax error"),t});function U(e){var t,n,r,o,i="";for(t=n=0,r=(e=(e+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n")).length,o=0;o<r;o++){var a=e.charCodeAt(o),s=null;a<128?n++:s=a>127&&a<2048?String.fromCharCode(a>>6|192,63&a|128):String.fromCharCode(a>>12|224,a>>6&63|128,63&a|128),null!==s&&(n>t&&(i+=e.substring(t,n)),i+=s,t=n=o+1)}return n>t&&(i+=e.substring(t,e.length)),i}return{ArrayProto:t,FuncProto:n,ObjProto:r,toString:o,hasOwnProperty:i,win:e,windowConsole:e.console,navigator:a,document:e.document,windowOpera:e.opera,screen:e.screen,userAgent:a.userAgent,intl:e.Intl,nativeBind:s,nativeForEach:u,nativeIndexOf:t.indexOf,nativeIsArray:l,slice:d,breaker:f,__NOOP:function(){},__NOOPTIONS:{},isFunction:p,isString:h,includes:function(e,t){return-1!==e.indexOf(t)},isUndefined:m,timestamp:function(){return Date.now=Date.now||function(){return+new Date},Date.now()},each:v,trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},extend:function(e){return v([].slice.call(arguments,1),function(t){for(var n in t)void 0!==t[n]&&(e[n]=t[n])}),e},bind:function(e,t){var n,r;if(s&&e.bind===s)return s.apply(e,d.call(arguments,1));if(!p(e))throw new TypeError;return n=d.call(arguments,2),r=function(){if(!(this instanceof r))return e.apply(t,n.concat(d.call(arguments)));var o={};o.prototype=e.prototype;var i=new o;o.prototype=null;var a=e.apply(i,n.concat(d.call(arguments)));return Object(a)===a?a:i},r},truncate:function e(t,n){var r;return"string"==typeof t?r=t.slice(0,n):g(t)?(r=[],v(t,function(t){r.push(e(t,n))})):function(e){return e===Object(e)&&!g(e)}(t)?(r={},v(t,function(t,o){r[o]=e(t,n)})):r=t,r},stripEmptyProperties:function(e){var t={};return v(e,function(e,n){h(e)&&e.length>0&&(t[n]=e)}),t},HTTPBuildQuery:function(e,t){var n,r,o=[];return m(t)&&(t="&"),v(e,function(e,t){n=encodeURIComponent(e.toString()),r=encodeURIComponent(t),o[o.length]=r+"="+n}),o.join(t)},JSONEncode:function(e){var t=function(e){var t=/[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return t.lastIndex=0,t.test(e)?'"'+e.replace(t,function(e){var t=n[e];return"string"==typeof t?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'},n=function(e,r){var a="",s=0,u="",c="",l=0,d=a,f=[],g=r[e];switch(g&&"object"==typeof g&&"function"==typeof g.toJSON&&(g=g.toJSON(e)),typeof g){case"string":return t(g);case"number":return isFinite(g)?String(g):"null";case"boolean":case"undefined":return String(g);case"object":if(!g)return"null";if(a+=" ",f=[],"[object Array]"===o.apply(g)){for(l=g.length,s=0;s<l;s+=1)f[s]=n(s,g)||"null";return c=0===f.length?"[]":a?"[\n"+a+f.join(",\n"+a)+"\n"+d+"]":"["+f.join(",")+"]",a=d,c}for(u in g)i.call(g,u)&&(c=n(u,g))&&f.push(t(u)+(a?": ":":")+c);return c=0===f.length?"{}":a?"{"+f.join(",")+d+"}":"{"+f.join(",")+"}",a=d,c}};return n("",{"":e})},JSONDecode:P,utf8Encode:U,base64Encode:function(e){var t,n,r,o,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",a=0,s=0,u="",c=[];if(!e)return e;e=U(e);do{t=(o=e.charCodeAt(a++)<<16|e.charCodeAt(a++)<<8|e.charCodeAt(a++))>>12&63,n=o>>6&63,r=63&o,c[s++]=i.charAt(o>>18&63)+i.charAt(t)+i.charAt(n)+i.charAt(r)}while(a<e.length);switch(u=c.join(""),e.length%3){case 1:u=u.slice(0,-2)+"==";break;case 2:u=u.slice(0,-1)+"="}return u},getQueryParam:function(e,t){t=t.replace(/[[]/,"\\[").replace(/[\]]/,"\\]");var n=new RegExp("[\\?&]"+t+"=([^&#]*)").exec(e);if(null===n||n&&"string"!=typeof n[1]&&n[1].length)return"";var r=n[1];try{r=decodeURIComponent(r)}catch(e){console.error("Skipping decoding for malformed query param: "+r)}return r.replace(/\+/g," ")}}}(e),n=t.navigator,r=t.userAgent,o=t.windowOpera,i=t.intl,a=t.each,s=t.extend,u=t.includes,l=t.timestamp,d=t.stripEmptyProperties,f=t.getQueryParam,g={campaignParams:function(){var e="utm_source utm_medium utm_campaign utm_content utm_term".split(" "),t="",n={};return a(e,function(e){(t=f(document.URL,e)).length&&(n[e]=t)}),n},searchEngine:function(e){return 0===e.search("https?://(.*)google.([^/?]*)")?"google":0===e.search("https?://(.*)bing.com")?"bing":0===e.search("https?://(.*)yahoo.com")?"yahoo":0===e.search("https?://(.*)duckduckgo.com")?"duckduckgo":null},searchInfo:function(e){var t=g.searchEngine(e),n="yahoo"!=t?"q":"p",r={};if(null!==t){r.$search_engine=t;var o=f(e,n);o.length&&(r.ph_keyword=o)}return r},browser:function(e,t,n){return t=t||"",n||u(e," OPR/")?u(e,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":u(e,"IEMobile")||u(e,"WPDesktop")?"Internet Explorer Mobile":u(e,"SamsungBrowser/")?"Samsung Internet":u(e,"Edge")||u(e,"Edg/")?"Microsoft Edge":u(e,"FBIOS")?"Facebook Mobile":u(e,"Chrome")?"Chrome":u(e,"CriOS")?"Chrome iOS":u(e,"UCWEB")||u(e,"UCBrowser")?"UC Browser":u(e,"FxiOS")?"Firefox iOS":u(t,"Apple")?u(e,"Mobile")?"Mobile Safari":"Safari":u(e,"Android")?"Android Mobile":u(e,"Konqueror")?"Konqueror":u(e,"Firefox")?"Firefox":u(e,"MSIE")||u(e,"Trident/")?"Internet Explorer":u(e,"Gecko")?"Mozilla":""},browserVersion:function(e,t,n){var r={"Internet Explorer Mobile":/rv:(\d+(\.\d+)?)/,"Microsoft Edge":/Edge?\/(\d+(\.\d+)?)/,Chrome:/Chrome\/(\d+(\.\d+)?)/,"Chrome iOS":/CriOS\/(\d+(\.\d+)?)/,"UC Browser":/(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,Safari:/Version\/(\d+(\.\d+)?)/,"Mobile Safari":/Version\/(\d+(\.\d+)?)/,Opera:/(Opera|OPR)\/(\d+(\.\d+)?)/,Firefox:/Firefox\/(\d+(\.\d+)?)/,"Firefox iOS":/FxiOS\/(\d+(\.\d+)?)/,Konqueror:/Konqueror:(\d+(\.\d+)?)/,BlackBerry:/BlackBerry (\d+(\.\d+)?)/,"Android Mobile":/android\s(\d+(\.\d+)?)/,"Samsung Internet":/SamsungBrowser\/(\d+(\.\d+)?)/,"Internet Explorer":/(rv:|MSIE )(\d+(\.\d+)?)/,Mozilla:/rv:(\d+(\.\d+)?)/}[g.browser(e,t,n)];if(void 0===r)return null;var o=e.match(r);return o?parseFloat(o[o.length-2]):null},os:function(){var e=r;return/Windows/i.test(e)?/Phone/.test(e)||/WPDesktop/.test(e)?"Windows Phone":"Windows":/(iPhone|iPad|iPod)/.test(e)?"iOS":/Android/.test(e)?"Android":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Mac/i.test(e)?"Mac OS X":/Linux/.test(e)?"Linux":/CrOS/.test(e)?"Chrome OS":""},device:function(e){return/Windows Phone/i.test(e)||/WPDesktop/.test(e)?"Windows Phone":/iPad/.test(e)?"iPad":/iPod/.test(e)?"iPod Touch":/iPhone/.test(e)?"iPhone":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Android/.test(e)?"Android":""},referringDomain:function(e){var t=e.split("/");return t.length>=3?t[2]:""},timezone:function(e){try{return e.DateTimeFormat().resolvedOptions().timeZone}catch(e){return null}},properties:function(){var t;return s(d({os:g.os(),browser:g.browser(r,n.vendor,o),referrer:document.referrer,referring_domain:g.referringDomain(document.referrer),device:g.device(r),time_zone:g.timezone(i)}),{current_url:e.location.href,host:e.location.host,pathname:e.location.pathname,browser_version:null==(t=g.browserVersion(r,n.vendor,o))?void 0:t.toString(),screen_height:screen.height,screen_width:screen.width,lib:"web",insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),time:l()/1e3})}};return g.properties()}var P=function(e,t){var n=function(e){t(e)};return e.addEventListener?(e.addEventListener("message",n),function(){return e.removeEventListener("message",n)}):(e.attachEvent("onmessage",n),function(){return e.detachEvent("onmessage",n)})},U=function(e,t,n){if(e.addEventListener){for(var r,o=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=function(e,t){if(e){if("string"==typeof e)return g(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?g(e,t):void 0}}(e))){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(t);!(r=o()).done;)e.addEventListener(r.value,n);return function(){return t.map(function(t){return e.removeEventListener(t,n)})}}return console.error("Custom events are not supported in your browser!"),C},B=/*#__PURE__*/function(e){function n(t){var n;if((n=e.call(this,t)||this).subscriptions=[],n.EVENTS=["idengagerchat:open","idengagerchat:close","idengagerchat:toggle","idengagerchat:identify","storytime:customer:set"],n.getDefaultTitle=function(e){try{var t=n.props,r=t.title,o=t.setDefaultTitle;return Promise.resolve(o&&"function"==typeof o?o(e):r||e.title)}catch(e){return Promise.reject(e)}},n.getDefaultSubtitle=function(e){try{var t=n.props,r=t.subtitle,o=t.setDefaultSubtitle;return Promise.resolve(o&&"function"==typeof o?o(e):r||e.subtitle)}catch(e){return Promise.reject(e)}},n.getDefaultGreeting=function(e){try{var t=n.props,r=t.greeting,o=t.setDefaultGreeting;return Promise.resolve(o&&"function"==typeof o?o(e):r||e.greeting)}catch(e){return Promise.reject(e)}},n.setIframeRef=function(e){n.iframeRef=e},n.getIframeUrl=function(){return n.props.iframeUrlOverride||"https://chatframe.idengager.com"},n.handleConfigUpdated=function(e){n.setState({config:p({},n.state.config,e)}),n.send("config:update",e)},n.handleCustomerIdUpdated=function(e){var t=n.storage.getCustomerId(),r=e||t,o=p({},n.state.config,{customerId:r});n.setState({config:o,query:l.default.stringify(o,{skipEmptyString:!0,skipNull:!0})}),n.logger.debug("Updated customer ID:",r)},n.fetchWidgetSettings=function(){try{var e=n.props,t={};return Promise.resolve(function(e,t){void 0===t&&(t=I);try{return Promise.resolve(d.default.get(t+"/api/widget_settings").query({account_id:e}).then(function(e){return e.body.data}))}catch(e){return Promise.reject(e)}}(e.accountId,e.baseUrl).then(function(e){return e||t}).catch(function(){return t}))}catch(e){return Promise.reject(e)}},n.updateWidgetSettingsMetadata=function(){var e=n.props,t=e.baseUrl;return function(e,t,n){void 0===n&&(n=I);try{return Promise.resolve(d.default.put(n+"/api/widget_settings/metadata").send({account_id:e,metadata:t}).then(function(e){return e.body.data}))}catch(e){return Promise.reject(e)}}(e.accountId,M(window),t).catch(function(e){n.logger.error("Failed to update widget metadata:",e)})},n.customEventHandlers=function(e){if(!e||!e.type)return null;var t=e.detail;switch(e.type){case"idengagerchat:open":return n.handleOpenWidget();case"idengagerchat:close":return n.handleCloseWidget();case"idengagerchat:toggle":return n.handleToggleOpen();case"storytime:customer:set":return n.handleCustomerIdUpdated(t);default:return null}},n.postMessageHandlers=function(e){var t=n.getIframeUrl(),r=new URL(t);if(e.origin!==r.origin)return null;var o=e.data,i=o.payload,a=void 0===i?{}:i;switch(o.event){case"chat:loaded":return n.handleChatLoaded();case"customer:created":case"customer:updated":return n.handleCacheCustomerId(a);case"conversation:join":return n.sendCustomerUpdate(a);case"message:received":return n.handleMessageReceived(a);case"message:sent":return n.handleMessageSent(a);case"messages:unseen":return n.handleUnseenMessages(a);case"messages:seen":return n.handleMessagesSeen();case"idengagerchat:open":case"idengagerchat:close":return n.handleToggleOpen();default:return null}},n.send=function(e,t){var r=n.iframeRef;if(!r)throw new Error("Attempted to send event "+e+" with payload "+JSON.stringify(t)+" before iframeRef was ready");r.contentWindow.postMessage({event:e,payload:t},n.getIframeUrl())},n.handleMessageReceived=function(e){var t=n.props.onMessageReceived,r=void 0===t?C:t;e.user_id&&!e.customer_id&&r&&r(e)},n.handleMessageSent=function(e){var t=n.props.onMessageSent,r=void 0===t?C:t;r&&r(e)},n.handleUnseenMessages=function(e){n.logger.debug("Handling unseen messages:",e),n.setState({shouldDisplayNotifications:!0}),n.send("notifications:display",{shouldDisplayNotifications:!0})},n.handleMessagesSeen=function(){n.logger.debug("Handling messages seen"),n.setState({shouldDisplayNotifications:!1}),n.storage.setPopupSeen(!0),n.send("notifications:display",{shouldDisplayNotifications:!1})},n.shouldOpenByDefault=function(){var e=n.props,t=e.defaultIsOpen,r=e.isOpenByDefault,o=e.persistOpenState;if(!e.canToggle)return!0;var i=n.storage.getOpenState();return o?i:!(!r&&!t)},n.handleChatLoaded=function(){n.setState({isLoaded:!0});var e=n.state.config,t=(void 0===e?{}:e).subscriptionPlan,r=void 0===t?null:t,o=n.props,i=o.popUpInitialMessage,a=o.onChatLoaded,s=void 0===a?C:a;s&&"function"==typeof s&&s(),n.shouldOpenByDefault()&&n.setState({isOpen:!0},function(){return n.emitToggleEvent(!0)}),i&&!n.storage.getPopupSeen()&&setTimeout(function(){n.setState({shouldDisplayNotifications:!0}),n.send("notifications:display",{shouldDisplayNotifications:!0,popUpInitialMessage:!0})},"number"==typeof i?i:0),n.send("idengagerchat:plan",{plan:r})},n.formatCustomerMetadata=function(){var e=n.props.customer,t=void 0===e?{}:e;return t?Object.keys(t).reduce(function(e,n){var r;return p({},e,"metadata"===n?((r={})[n]=t[n],r):{key:String(t[n])})},{}):{}},n.sendCustomerUpdate=function(e){var t=e.customerId,r=p({},M(window),n.formatCustomerMetadata());return n.send("customer:update",{customerId:t,metadata:r})},n.handleCacheCustomerId=function(e){var t=e.customerId;n.logger.debug("Caching customer ID:",t),window.dispatchEvent(new CustomEvent("idengagerchat:customer:set",{detail:t})),n.storage.setCustomerId(t)},n.emitToggleEvent=function(e){n.send("idengagerchat:toggle",{isOpen:e});var t=n.props,r=t.persistOpenState,o=t.onChatOpened,i=void 0===o?C:o,a=t.onChatClosed,s=void 0===a?C:a;void 0!==r&&r&&n.storage.setOpenState(e),e?i&&i():s&&s()},n.handleOpenWidget=function(){n.props.canToggle&&!n.state.isOpen&&(n.state.shouldDisplayNotifications?n.setState({isTransitioning:!0},function(){setTimeout(function(){n.setState({isOpen:!0,isTransitioning:!1},function(){return n.emitToggleEvent(!0)})},200)}):n.setState({isOpen:!0},function(){return n.emitToggleEvent(!0)}))},n.handleCloseWidget=function(){n.props.canToggle&&n.state.isOpen&&n.setState({isOpen:!1},function(){return n.emitToggleEvent(!1)})},n.handleToggleOpen=function(){var e=n.state,t=e.isOpen,r=!t;e.isLoaded&&n.props.canToggle&&(!t&&e.shouldDisplayNotifications?n.setState({isTransitioning:!0},function(){setTimeout(function(){n.setState({isOpen:r,isTransitioning:!1},function(){return n.emitToggleEvent(r)})},200)}):n.setState({isOpen:r},function(){return n.emitToggleEvent(r)}))},!t.accountId)throw new Error("An `accountId` is required to run the Idengagerchat chat!");return n.state={isOpen:!1,isLoaded:!1,query:"",config:{},shouldDisplayNotifications:!1,isTransitioning:!1},n.iframeRef=null,n.storage=null,n.logger=null,n}h(n,e);var r=n.prototype;return r.componentDidMount=function(){try{var e=this;return Promise.resolve(e.fetchWidgetSettings()).then(function(t){var n,r=e.props,o=r.accountId,i=r.primaryColor,a=r.baseUrl,s=r.awayMessage,u=r.newMessagePlaceholder,c=r.emailInputPlaceholder,d=r.newMessagesNotificationText,f=r.agentAvailableText,g=r.agentUnavailableText,h=r.showAgentAvailability,m=r.requireEmailUpfront,v=r.canToggle,y=r.customer,b=void 0===y?{}:y,w=(n=window,Boolean("localhost"===n.location.hostname||"[::1]"===n.location.hostname||n.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)));e.logger=new T(w),e.subscriptions=[P(window,e.postMessageHandlers),U(window,e.EVENTS,e.customEventHandlers)],e.storage=function(e,t){void 0===t&&(t={defaultType:"local",openStateType:"session"});var n=t.defaultType,r=t.openStateType,o=void 0===r?"session":r,i=E(e,void 0===n?"local":n),a=E(e,o);return{getCustomerId:function(){return i.get("__CUSTOMER_ID__")},setCustomerId:function(e){return i.set("__CUSTOMER_ID__",e)},removeCustomerId:function(){return i.remove("__CUSTOMER_ID__")},getOpenState:function(){return a.get(":open")},setOpenState:function(e){return a.set(":open",e)},clearOpenState:function(){return a.remove(":open")},getPopupSeen:function(){return a.get(":pop_up_seen")},setPopupSeen:function(e){return a.set(":pop_up_seen",e)},clearPopupSeen:function(){return a.remove(":pop_up_seen")}}}(window);var S=p({},M(window),b);return Promise.resolve(e.getDefaultTitle(t)).then(function(n){return Promise.resolve(e.getDefaultSubtitle(t)).then(function(r){var p=i||t.color;return Promise.resolve(e.getDefaultGreeting(t)).then(function(i){var y,b,w,x={accountId:o,baseUrl:a,title:n,subtitle:r,primaryColor:p,greeting:i,awayMessage:s||t.away_message,newMessagePlaceholder:u||t.new_message_placeholder,emailInputPlaceholder:c||t.email_input_placeholder,newMessagesNotificationText:d||t.new_messages_notification_text,companyName:null==t||null==(y=t.account)?void 0:y.company_name,requireEmailUpfront:m||t.require_email_upfront?1:0,showAgentAvailability:h||t.show_agent_availability?1:0,agentAvailableText:t.agent_available_text||f,agentUnavailableText:t.agent_unavailable_text||g,closeable:v?1:0,customerId:e.storage.getCustomerId(),subscriptionPlan:null==t||null==(b=t.account)?void 0:b.subscription_plan,isOutsideWorkingHours:null==t||null==(w=t.account)?void 0:w.is_outside_working_hours,isBrandingHidden:null==t?void 0:t.is_branding_hidden,metadata:JSON.stringify(S),version:"1.1.8"},I=l.default.stringify(x,{skipEmptyString:!0,skipNull:!0});return e.setState({config:x,query:I}),Promise.resolve(e.updateWidgetSettingsMetadata()).then(function(){})})})})})}catch(e){return Promise.reject(e)}},r.componentWillUnmount=function(){this.subscriptions.forEach(function(e){"function"==typeof e&&e()})},r.componentDidUpdate=function(e){var t=this.props,n=t.accountId,r=t.title,o=t.subtitle,i=t.primaryColor,a=t.baseUrl,s=t.greeting,u=t.newMessagePlaceholder,c=t.emailInputPlaceholder,l=t.newMessagesNotificationText,d=t.requireEmailUpfront,f=t.showAgentAvailability,g=t.agentAvailableText,p=t.agentUnavailableText,h=[e.accountId,e.title,e.subtitle,e.primaryColor,e.baseUrl,e.greeting,e.newMessagePlaceholder,e.emailInputPlaceholder,e.newMessagesNotificationText,e.requireEmailUpfront,e.showAgentAvailability,e.agentAvailableText,e.agentUnavailableText];[n,r,o,i,a,s,u,c,l,d,f,g,p].some(function(e,t){return e!==h[t]})&&this.handleConfigUpdated({accountId:n,title:r,subtitle:o,primaryColor:i,baseUrl:a,greeting:s,newMessagePlaceholder:u,emailInputPlaceholder:c,newMessagesNotificationText:l,agentAvailableText:g,agentUnavailableText:p,requireEmailUpfront:d?1:0,showAgentAvailability:f?1:0})},r.render=function(){var e=this.state,n=e.isOpen,r=e.isLoaded,o=e.query,i=e.config,a=e.shouldDisplayNotifications,s=e.isTransitioning,u=this.props,c=u.customIconUrl,l=u.hideOutsideWorkingHours,d=u.children,g=i.primaryColor;if(!o)return null;if(void 0!==l&&l&&i.isOutsideWorkingHours)return null;var h=this.getIframeUrl(),m=(n||a)&&!s,v=function(e){void 0===e&&(e={});var t=e.primary,n=f.default(void 0===t?"#1890ff":t),r={primary:n.toString(),light:n.lighten().toString(),dark:n.darken().toString()};return{useBodyStyles:!1,space:[0,4,8,16,32,64,128,256,512],fonts:{body:'-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;',heading:'-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;',monospace:'"Roboto Mono", monospace'},fontSizes:[12,14,16,20,24,32,48,64,96],fontWeights:{body:400,heading:600,bold:600},lineHeights:{body:1.5,heading:1.125},colors:{text:"#141414",background:"#fff",primary:r.primary,secondary:"#722ed1",muted:"#f0f0f0",gray:"rgba(0, 0, 0, 0.45)",input:"rgba(0, 0, 0, 0.65)",offset:"rgba(255, 255, 255, 0.8)"},text:{default:{color:"text",fontSize:1},caps:{textTransform:"uppercase",letterSpacing:"0.2em"},heading:{fontFamily:"heading",fontWeight:"heading",lineHeight:"heading"}},buttons:{primary:{cursor:"pointer",outline:0,boxShadow:"rgba(0, 0, 0, 0.08) 0 2px 4px",transition:"0.2s","&:hover":{background:r.light,borderColor:r.light,boxShadow:"rgba(0, 0, 0, 0.12) 0px 2px 8px"},"&:active":{background:r.dark,borderColor:r.dark}}},styles:p({root:{fontFamily:"body",lineHeight:"body",fontWeight:"body",fontSize:1},h1:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:5},h2:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:4},h3:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:3},h4:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:2},h5:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:1},h6:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:0},p:{color:"text",fontFamily:"body",fontWeight:"body",lineHeight:"body"},a:{color:"primary"},pre:{fontFamily:"monospace",overflowX:"auto",code:{color:"inherit"}},code:{fontFamily:"monospace",fontSize:"inherit"},table:{width:"100%",borderCollapse:"separate",borderSpacing:0},th:{textAlign:"left",borderBottomStyle:"solid"},td:{textAlign:"left",borderBottomStyle:"solid"},img:{maxWidth:"100%"},textarea:{transparent:{border:"none",boxShadow:"none",resize:"none",outline:0,"&:hover":{border:"none",boxShadow:"none",resize:"none",outline:0},"&:active":{border:"none",boxShadow:"none",resize:"none",outline:0},"&:focus":{border:"none",boxShadow:"none",resize:"none",outline:0}}}},_)}}({primary:g}),y=["allow-scripts","allow-popups","allow-same-origin","allow-forms"].join(" ");return t.jsx(t.ThemeProvider,{theme:v},d({sandbox:y,isLoaded:r,isActive:m,isOpen:n,isTransitioning:s,customIconUrl:c,iframeUrl:h,query:o,shouldDisplayNotifications:a,setIframeRef:this.setIframeRef,onToggleOpen:this.handleToggleOpen}))},n}(u.default.Component),A=/*#__PURE__*/function(e){function t(t){var n;return(n=e.call(this,t)||this).state={error:null},n}h(t,e),t.getDerivedStateFromError=function(e){return{error:e}};var n=t.prototype;return n.componentDidCatch=function(e,t){console.error("Error rendering Idengagerchat chat:",e,t)},n.render=function(){return this.state.error?null:this.props.children},t}(u.default.Component),k=function(e){return t.jsx(A,null,t.jsx(B,p({},e,{canToggle:!0}),function(n){var o=n.sandbox,i=n.isLoaded,a=n.isActive,s=n.isOpen,c=n.isTransitioning,l=n.customIconUrl,d=n.iframeUrl,f=n.query,g=n.shouldDisplayNotifications,h=n.setIframeRef,m=n.onToggleOpen,v=e.hideToggleButton,y=e.iconVariant,b=e.renderToggleButton,w=e.position,S=e.styles,I=function(e,t){void 0===e&&(e={});var n=e.chatContainer,r=void 0===n?{}:n,o=e.toggleContainer,i=void 0===o?{}:o,a=e.toggleButton,s=void 0===a?{}:a,u=t.side,c=t.offset,l=void 0===c?20:c;return"left"===(void 0===u?"right":u)?{chatContainer:p({left:l,right:"auto"},r),toggleContainer:p({left:l,right:"auto"},i),toggleButton:s}:{chatContainer:p({right:l,left:"auto"},r),toggleContainer:p({right:l,left:"auto"},i),toggleButton:s}}(void 0===S?{}:S,function(e){if(!e)return{side:"right",offset:20};switch(e){case"left":return{side:"left",offset:20};case"right":return{side:"right",offset:20};default:return e}}(void 0===w?"right":w)),C=I.toggleContainer,_=I.toggleButton;return t.jsx(u.default.Fragment,null,t.jsx(r.motion.iframe,{ref:h,title:"Idengagerchat Chat Box Container",className:"Idengagerchat-chatFrameContainer",sandbox:o,animate:a?"open":"closed",initial:"closed",variants:{closed:{opacity:0,y:4},open:{opacity:1,y:0}},transition:{duration:.2,ease:"easeIn"},src:d+"?"+f,style:a?I.chatContainer:{pointerEvents:"none",height:0,minHeight:0},sx:{border:"none",bg:"background",variant:!s&&g?"styles.WidgetContainer.notifications":"styles.WidgetContainer"}},"Loading..."),i&&!v&&t.jsx(r.motion.div,{className:"Idengagerchat-toggleButtonContainer",initial:!1,style:C,animate:s?"open":"closed",sx:{variant:"styles.WidgetToggleContainer"}},b&&"function"==typeof b?b({isOpen:s,onToggleOpen:m,isDisabled:c}):t.jsx(x,{style:_,isDisabled:c,isOpen:s,customIconUrl:l,iconVariant:y,toggle:m})))}))},D=function(){return window.dispatchEvent(new Event("idengagerchat:open"))},F=function(){return window.dispatchEvent(new Event("idengagerchat:close"))},W=function(){return window.dispatchEvent(new Event("idengagerchat:toggle"))},j={open:D,close:F,toggle:W};e.ChatBox=k,e.ChatFrame=function(e){/*#__PURE__*/return React.createElement(A,null,/*#__PURE__*/React.createElement(B,p({},e,{canToggle:!1}),function(e){var t=e.isLoaded;/*#__PURE__*/return React.createElement(r.motion.iframe,{ref:e.setIframeRef,className:"Idengagerchat-chatFrameContainer",sandbox:e.sandbox,animate:t?"open":"closed",initial:"closed",variants:{closed:{opacity:0},open:{opacity:1}},transition:{duration:.2,ease:"easeIn"},src:e.iframeUrl+"?"+e.query,sx:{opacity:t?1:0,border:"none",bg:"background",variant:"styles.ChatFrameContainer"}},"Loading...")}))},e.Idengagerchat=j,e.close=F,e.default=k,e.identify=function(){console.warn("`Idengagerchat.identify` has not been implemented yet!")},e.open=D,e.toggle=W}); | ||
| !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("theme-ui"),require("react"),require("framer-motion"),require("query-string"),require("superagent"),require("tinycolor2")):"function"==typeof define&&define.amd?define(["exports","theme-ui","react","framer-motion","query-string","superagent","tinycolor2"],t):t((e||self).chatBox={},e.themeUi,e.react,e.framerMotion,e.queryString,e.superagent,e.tinycolor2)}(this,function(e,t,n,r,o,i,a){function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=/*#__PURE__*/s(n),l=/*#__PURE__*/s(o),d=/*#__PURE__*/s(i),f=/*#__PURE__*/s(a);function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(null,arguments)}function h(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,m(e,t)}function m(e,t){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},m(e,t)}var v=function(e){/*#__PURE__*/return u.default.createElement(r.motion.path,p({fill:"transparent",strokeWidth:"3",stroke:"hsl(0, 0%, 99%)",strokeLinecap:"round"},e))},y=function(){/*#__PURE__*/return u.default.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},/*#__PURE__*/u.default.createElement(v,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 7 7 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/u.default.createElement(v,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 7 20 L 20 7"}},transition:{duration:.2}}),/*#__PURE__*/u.default.createElement(v,{d:"M22 21.6453C22 20 23 19.5 23 19.5C23 19.5 25.5 18 25.5 14V9C25.5 4 23 1.5 18 1.5H9C4 1.5 1.5 4 1.5 9V14C1.5 19 4 21 9 21H13.5C14 21 14 21 15 21.5L20.25 24.8572L20.8517 25.2118C21.5184 25.6046 22 25.631 22 24.8572V24.0287V22.7858V21.6453Z",variants:{closed:{opacity:1},open:{opacity:0}},transition:{duration:.2}}))},b=function(){/*#__PURE__*/return u.default.createElement("svg",{width:"24",height:"25",viewBox:"0 0 24 25",fill:"none"},/*#__PURE__*/u.default.createElement(v,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 5 5 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/u.default.createElement(v,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 5 20 L 20 5"}},transition:{duration:.2}}))},w=function(){/*#__PURE__*/return u.default.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},/*#__PURE__*/u.default.createElement(v,{variants:{closed:{opacity:0,d:"M 7.5 14.5 L 19 14.5"},open:{opacity:1,d:"M 7 7 L 20 20"}},transition:{duration:.2}}),/*#__PURE__*/u.default.createElement(v,{variants:{closed:{opacity:0,d:"M 7.5 8.5 L 19 8.5"},open:{opacity:1,d:"M 7 20 L 20 7"}},transition:{duration:.2}}))},S=function(e){var n=e.customIconUrl,r=e.iconVariant;return n?e.isOpen?/*#__PURE__*/u.default.createElement(w,null):/*#__PURE__*/u.default.createElement(t.Image,{src:n,style:{maxHeight:40,maxWidth:40}}):/*#__PURE__*/u.default.createElement("filled"===r?b:y,null)},x=function(e){/*#__PURE__*/return u.default.createElement(t.Button,{className:"Idengagerchat-toggleButton",variant:"primary",p:0,style:e.style,sx:{variant:"styles.WidgetToggle"},disabled:e.isDisabled,onClick:e.toggle},/*#__PURE__*/u.default.createElement(S,{customIconUrl:e.customIconUrl,iconVariant:e.iconVariant,isOpen:e.isOpen}))},I="development"===process.env.NODE_ENV?"http://localhost:4000":"https://inboxready.idengager.com";function C(){}var _={ChatFrameContainer:{margin:0,height:"100%",width:"100%",minHeight:320},WidgetContainer:{margin:0,zIndex:2147483e3,position:"fixed",bottom:100,right:20,width:376,maxWidth:["90%","376px"],minHeight:250,maxHeight:["60%","704px"],boxShadow:"rgba(0, 0, 0, 0.16) 0px 5px 40px",height:"calc(100% - 120px)",borderRadius:8,overflow:"hidden",notifications:{background:"transparent",margin:0,zIndex:2147483e3,position:"fixed",bottom:80,right:20,width:"auto",maxWidth:["90%","300px"],minHeight:0,maxHeight:["60%","400px"],boxShadow:"none",height:200,overflow:"hidden"}},WidgetToggleContainer:{position:"fixed",zIndex:2147483003,bottom:"20px",right:"20px"},WidgetToggle:{outline:"none !important",border:"none !important",cursor:"pointer",width:"50px",height:"50px",borderRadius:"50%",display:"flex",justifyContent:"center",alignItems:"center"}},O="__IDENGAGERCHAT__",E=function(e,t){void 0===t&&(t="local");try{switch(t){case"local":return function(e){try{var t=e&&e.localStorage;return p({},t,{get:function(e){var n=t.getItem(""+O+e);if(!n)return null;try{return JSON.parse(n)}catch(e){return n}},set:function(e,n){t.setItem(""+O+e,JSON.stringify(n))},remove:function(e){t.removeItem(e)}})}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}(e);case"session":return function(e){try{var t=e&&e.sessionStorage;return p({},t,{get:function(e){var n=t.getItem(""+O+e);if(!n)return null;try{return JSON.parse(n)}catch(e){return n}},set:function(e,n){t.setItem(""+O+e,JSON.stringify(n))},remove:function(e){t.removeItem(e)}})}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}(e);case"cookie":return function(){try{throw new Error("Cookie storage has not been implemented!")}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}();default:return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}}catch(e){return{_db:{},getItem:function(e){return this._db[e]||null},setItem:function(e,t){this._db[e]=t},removeItem:function(e){delete this._db[e]},get:function(e){return this._db[e]||null},set:function(e,t){this._db[e]=t},remove:function(e){delete this._db[e]}}}},T=/*#__PURE__*/function(){function e(e){void 0===e&&(e=!1),this.debugModeEnabled=!!e}var t=e.prototype;return t.debug=function(){var e;this.debugModeEnabled&&(e=console).debug.apply(e,[].slice.call(arguments))},t.log=function(){var e;this.debugModeEnabled&&(e=console).log.apply(e,[].slice.call(arguments))},t.info=function(){var e;(e=console).info.apply(e,[].slice.call(arguments))},t.warn=function(){var e;(e=console).warn.apply(e,[].slice.call(arguments))},t.error=function(){var e;(e=console).error.apply(e,[].slice.call(arguments))},e}();function M(e){var t=function(e){var t=Array.prototype,n=Function.prototype,r=Object.prototype,o=r.toString,i=r.hasOwnProperty,a=e.navigator,s=n.bind,u=t.forEach,l=Array.isArray,d=t.slice,f={},g=l||function(e){return"[object Array]"===o.call(e)};function p(e){try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}}function h(e){return"[object String]"==o.call(e)}function m(e){return void 0===e}function v(e,t,n){if(null!=e)if(u&&e.forEach===u)e.forEach(t,n);else if(e.length===+e.length){for(var r=0,o=e.length;r<o;r++)if(r in e&&t.call(n,e[r],r,e)===f)return}else for(var a in e)if(i.call(e,a)&&t.call(n,e[a],a,e)===f)return}var y,b,w,S,x,I,C,_,O,E,T,M,P=(x={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},I=function(e){var t=new SyntaxError(e);throw t.at=y,t.text=w,t},C=function(){return c&&c!==b&&I("Expected '"+c+"' instead of '"+b+"'"),b=w.charAt(y),y+=1,b},_=function(){var e,t="";for("-"===b&&(t="-",C());b>="0"&&b<="9";)t+=b,C();if("."===b)for(t+=".";C()&&b>="0"&&b<="9";)t+=b;if("e"===b||"E"===b)for(t+=b,C(),"-"!==b&&"+"!==b||(t+=b,C());b>="0"&&b<="9";)t+=b,C();if(e=+t,isFinite(e))return e;I("Bad number")},O=function(){var e,t,n,r="";if('"'===b)for(;C();){if('"'===b)return C(),r;if("\\"===b)if(C(),"u"===b){for(n=0,t=0;t<4&&(e=parseInt(C(),16),isFinite(e));t+=1)n=16*n+e;r+=String.fromCharCode(n)}else{if("string"!=typeof x[b])break;r+=x[b]}else r+=b}I("Bad string")},E=function(){for(;b&&b<=" ";)C()},T=function(){var e=[];if("["===b){if(C(),E(),"]"===b)return C(),e;for(;b;){if(e.push(S()),E(),"]"===b)return C(),e;C(),E()}}I("Bad array")},M=function(){var e,t={};if("{"===b){if(C(),E(),"}"===b)return C(),t;for(;b;){if(e=O(),E(),C(),Object.hasOwnProperty.call(t,e)&&I('Duplicate key "'+e+'"'),t[e]=S(),E(),"}"===b)return C(),t;C(),E()}}I("Bad object")},S=function(){switch(E(),b){case"{":return M();case"[":return T();case'"':return O();case"-":return _();default:return b>="0"&&b<="9"?_():function(){switch(b){case"t":return C(),C(),C(),C(),!0;case"f":return C(),C(),C(),C(),C(),!1;case"n":return C(),C(),C(),C(),null}I('Unexpected "'+b+'"')}()}},function(e){var t;return w=e,y=0,b=" ",t=S(),E(),b&&I("Syntax error"),t});function U(e){var t,n,r,o,i="";for(t=n=0,r=(e=(e+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n")).length,o=0;o<r;o++){var a=e.charCodeAt(o),s=null;a<128?n++:s=a>127&&a<2048?String.fromCharCode(a>>6|192,63&a|128):String.fromCharCode(a>>12|224,a>>6&63|128,63&a|128),null!==s&&(n>t&&(i+=e.substring(t,n)),i+=s,t=n=o+1)}return n>t&&(i+=e.substring(t,e.length)),i}return{ArrayProto:t,FuncProto:n,ObjProto:r,toString:o,hasOwnProperty:i,win:e,windowConsole:e.console,navigator:a,document:e.document,windowOpera:e.opera,screen:e.screen,userAgent:a.userAgent,intl:e.Intl,nativeBind:s,nativeForEach:u,nativeIndexOf:t.indexOf,nativeIsArray:l,slice:d,breaker:f,__NOOP:function(){},__NOOPTIONS:{},isFunction:p,isString:h,includes:function(e,t){return-1!==e.indexOf(t)},isUndefined:m,timestamp:function(){return Date.now=Date.now||function(){return+new Date},Date.now()},each:v,trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},extend:function(e){return v([].slice.call(arguments,1),function(t){for(var n in t)void 0!==t[n]&&(e[n]=t[n])}),e},bind:function(e,t){var n,r;if(s&&e.bind===s)return s.apply(e,d.call(arguments,1));if(!p(e))throw new TypeError;return n=d.call(arguments,2),r=function(){if(!(this instanceof r))return e.apply(t,n.concat(d.call(arguments)));var o={};o.prototype=e.prototype;var i=new o;o.prototype=null;var a=e.apply(i,n.concat(d.call(arguments)));return Object(a)===a?a:i},r},truncate:function e(t,n){var r;return"string"==typeof t?r=t.slice(0,n):g(t)?(r=[],v(t,function(t){r.push(e(t,n))})):function(e){return e===Object(e)&&!g(e)}(t)?(r={},v(t,function(t,o){r[o]=e(t,n)})):r=t,r},stripEmptyProperties:function(e){var t={};return v(e,function(e,n){h(e)&&e.length>0&&(t[n]=e)}),t},HTTPBuildQuery:function(e,t){var n,r,o=[];return m(t)&&(t="&"),v(e,function(e,t){n=encodeURIComponent(e.toString()),r=encodeURIComponent(t),o[o.length]=r+"="+n}),o.join(t)},JSONEncode:function(e){var t=function(e){var t=/[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return t.lastIndex=0,t.test(e)?'"'+e.replace(t,function(e){var t=n[e];return"string"==typeof t?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'},n=function(e,r){var a="",s=0,u="",c="",l=0,d=a,f=[],g=r[e];switch(g&&"object"==typeof g&&"function"==typeof g.toJSON&&(g=g.toJSON(e)),typeof g){case"string":return t(g);case"number":return isFinite(g)?String(g):"null";case"boolean":case"undefined":return String(g);case"object":if(!g)return"null";if(a+=" ",f=[],"[object Array]"===o.apply(g)){for(l=g.length,s=0;s<l;s+=1)f[s]=n(s,g)||"null";return c=0===f.length?"[]":a?"[\n"+a+f.join(",\n"+a)+"\n"+d+"]":"["+f.join(",")+"]",a=d,c}for(u in g)i.call(g,u)&&(c=n(u,g))&&f.push(t(u)+(a?": ":":")+c);return c=0===f.length?"{}":a?"{"+f.join(",")+d+"}":"{"+f.join(",")+"}",a=d,c}};return n("",{"":e})},JSONDecode:P,utf8Encode:U,base64Encode:function(e){var t,n,r,o,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",a=0,s=0,u="",c=[];if(!e)return e;e=U(e);do{t=(o=e.charCodeAt(a++)<<16|e.charCodeAt(a++)<<8|e.charCodeAt(a++))>>12&63,n=o>>6&63,r=63&o,c[s++]=i.charAt(o>>18&63)+i.charAt(t)+i.charAt(n)+i.charAt(r)}while(a<e.length);switch(u=c.join(""),e.length%3){case 1:u=u.slice(0,-2)+"==";break;case 2:u=u.slice(0,-1)+"="}return u},getQueryParam:function(e,t){t=t.replace(/[[]/,"\\[").replace(/[\]]/,"\\]");var n=new RegExp("[\\?&]"+t+"=([^&#]*)").exec(e);if(null===n||n&&"string"!=typeof n[1]&&n[1].length)return"";var r=n[1];try{r=decodeURIComponent(r)}catch(e){console.error("Skipping decoding for malformed query param: "+r)}return r.replace(/\+/g," ")}}}(e),n=t.navigator,r=t.userAgent,o=t.windowOpera,i=t.intl,a=t.each,s=t.extend,u=t.includes,l=t.timestamp,d=t.stripEmptyProperties,f=t.getQueryParam,g={campaignParams:function(){var e="utm_source utm_medium utm_campaign utm_content utm_term".split(" "),t="",n={};return a(e,function(e){(t=f(document.URL,e)).length&&(n[e]=t)}),n},searchEngine:function(e){return 0===e.search("https?://(.*)google.([^/?]*)")?"google":0===e.search("https?://(.*)bing.com")?"bing":0===e.search("https?://(.*)yahoo.com")?"yahoo":0===e.search("https?://(.*)duckduckgo.com")?"duckduckgo":null},searchInfo:function(e){var t=g.searchEngine(e),n="yahoo"!=t?"q":"p",r={};if(null!==t){r.$search_engine=t;var o=f(e,n);o.length&&(r.ph_keyword=o)}return r},browser:function(e,t,n){return t=t||"",n||u(e," OPR/")?u(e,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":u(e,"IEMobile")||u(e,"WPDesktop")?"Internet Explorer Mobile":u(e,"SamsungBrowser/")?"Samsung Internet":u(e,"Edge")||u(e,"Edg/")?"Microsoft Edge":u(e,"FBIOS")?"Facebook Mobile":u(e,"Chrome")?"Chrome":u(e,"CriOS")?"Chrome iOS":u(e,"UCWEB")||u(e,"UCBrowser")?"UC Browser":u(e,"FxiOS")?"Firefox iOS":u(t,"Apple")?u(e,"Mobile")?"Mobile Safari":"Safari":u(e,"Android")?"Android Mobile":u(e,"Konqueror")?"Konqueror":u(e,"Firefox")?"Firefox":u(e,"MSIE")||u(e,"Trident/")?"Internet Explorer":u(e,"Gecko")?"Mozilla":""},browserVersion:function(e,t,n){var r={"Internet Explorer Mobile":/rv:(\d+(\.\d+)?)/,"Microsoft Edge":/Edge?\/(\d+(\.\d+)?)/,Chrome:/Chrome\/(\d+(\.\d+)?)/,"Chrome iOS":/CriOS\/(\d+(\.\d+)?)/,"UC Browser":/(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,Safari:/Version\/(\d+(\.\d+)?)/,"Mobile Safari":/Version\/(\d+(\.\d+)?)/,Opera:/(Opera|OPR)\/(\d+(\.\d+)?)/,Firefox:/Firefox\/(\d+(\.\d+)?)/,"Firefox iOS":/FxiOS\/(\d+(\.\d+)?)/,Konqueror:/Konqueror:(\d+(\.\d+)?)/,BlackBerry:/BlackBerry (\d+(\.\d+)?)/,"Android Mobile":/android\s(\d+(\.\d+)?)/,"Samsung Internet":/SamsungBrowser\/(\d+(\.\d+)?)/,"Internet Explorer":/(rv:|MSIE )(\d+(\.\d+)?)/,Mozilla:/rv:(\d+(\.\d+)?)/}[g.browser(e,t,n)];if(void 0===r)return null;var o=e.match(r);return o?parseFloat(o[o.length-2]):null},os:function(){var e=r;return/Windows/i.test(e)?/Phone/.test(e)||/WPDesktop/.test(e)?"Windows Phone":"Windows":/(iPhone|iPad|iPod)/.test(e)?"iOS":/Android/.test(e)?"Android":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Mac/i.test(e)?"Mac OS X":/Linux/.test(e)?"Linux":/CrOS/.test(e)?"Chrome OS":""},device:function(e){return/Windows Phone/i.test(e)||/WPDesktop/.test(e)?"Windows Phone":/iPad/.test(e)?"iPad":/iPod/.test(e)?"iPod Touch":/iPhone/.test(e)?"iPhone":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Android/.test(e)?"Android":""},referringDomain:function(e){var t=e.split("/");return t.length>=3?t[2]:""},timezone:function(e){try{return e.DateTimeFormat().resolvedOptions().timeZone}catch(e){return null}},properties:function(){var t;return s(d({os:g.os(),browser:g.browser(r,n.vendor,o),referrer:document.referrer,referring_domain:g.referringDomain(document.referrer),device:g.device(r),time_zone:g.timezone(i)}),{current_url:e.location.href,host:e.location.host,pathname:e.location.pathname,browser_version:null==(t=g.browserVersion(r,n.vendor,o))?void 0:t.toString(),screen_height:screen.height,screen_width:screen.width,lib:"web",insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),time:l()/1e3})}};return g.properties()}var P=function(e,t){var n=function(e){t(e)};return e.addEventListener?(e.addEventListener("message",n),function(){return e.removeEventListener("message",n)}):(e.attachEvent("onmessage",n),function(){return e.detachEvent("onmessage",n)})},U=function(e,t,n){if(e.addEventListener){for(var r,o=function(e){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=function(e,t){if(e){if("string"==typeof e)return g(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?g(e,t):void 0}}(e))){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(t);!(r=o()).done;)e.addEventListener(r.value,n);return function(){return t.map(function(t){return e.removeEventListener(t,n)})}}return console.error("Custom events are not supported in your browser!"),C},B=/*#__PURE__*/function(e){function n(t){var n;if((n=e.call(this,t)||this).subscriptions=[],n.EVENTS=["idengagerchat:open","idengagerchat:close","idengagerchat:toggle","idengagerchat:identify","storytime:customer:set"],n.getDefaultTitle=function(e){try{var t=n.props,r=t.title,o=t.setDefaultTitle;return Promise.resolve(o&&"function"==typeof o?o(e):r||e.title)}catch(e){return Promise.reject(e)}},n.getDefaultSubtitle=function(e){try{var t=n.props,r=t.subtitle,o=t.setDefaultSubtitle;return Promise.resolve(o&&"function"==typeof o?o(e):r||e.subtitle)}catch(e){return Promise.reject(e)}},n.getDefaultGreeting=function(e){try{var t=n.props,r=t.greeting,o=t.setDefaultGreeting;return Promise.resolve(o&&"function"==typeof o?o(e):r||e.greeting)}catch(e){return Promise.reject(e)}},n.setIframeRef=function(e){n.iframeRef=e},n.getIframeUrl=function(){return n.props.iframeUrlOverride||"https://chatframe.idengager.com"},n.handleConfigUpdated=function(e){n.setState({config:p({},n.state.config,e)}),n.send("config:update",e)},n.handleCustomerIdUpdated=function(e){var t=n.storage.getCustomerId(),r=e||t,o=p({},n.state.config,{customerId:r});n.setState({config:o,query:l.default.stringify(o,{skipEmptyString:!0,skipNull:!0})}),n.logger.debug("Updated customer ID:",r)},n.fetchWidgetSettings=function(){try{var e=n.props,t={};return Promise.resolve(function(e,t){void 0===t&&(t=I);try{return Promise.resolve(d.default.get(t+"/api/widget_settings").query({account_id:e}).then(function(e){return e.body.data}))}catch(e){return Promise.reject(e)}}(e.accountId,e.baseUrl).then(function(e){return e||t}).catch(function(){return t}))}catch(e){return Promise.reject(e)}},n.updateWidgetSettingsMetadata=function(){var e=n.props,t=e.baseUrl;return function(e,t,n){void 0===n&&(n=I);try{return Promise.resolve(d.default.put(n+"/api/widget_settings/metadata").send({account_id:e,metadata:t}).then(function(e){return e.body.data}))}catch(e){return Promise.reject(e)}}(e.accountId,M(window),t).catch(function(e){n.logger.error("Failed to update widget metadata:",e)})},n.customEventHandlers=function(e){if(!e||!e.type)return null;var t=e.detail;switch(e.type){case"idengagerchat:open":return n.handleOpenWidget();case"idengagerchat:close":return n.handleCloseWidget();case"idengagerchat:toggle":return n.handleToggleOpen();case"storytime:customer:set":return n.handleCustomerIdUpdated(t);default:return null}},n.postMessageHandlers=function(e){var t=n.getIframeUrl(),r=new URL(t);if(e.origin!==r.origin)return null;var o=e.data,i=o.payload,a=void 0===i?{}:i;switch(o.event){case"chat:loaded":return n.handleChatLoaded();case"customer:created":case"customer:updated":return n.handleCacheCustomerId(a);case"conversation:join":return n.sendCustomerUpdate(a);case"message:received":return n.handleMessageReceived(a);case"message:sent":return n.handleMessageSent(a);case"messages:unseen":return n.handleUnseenMessages(a);case"messages:seen":return n.handleMessagesSeen();case"idengagerchat:open":case"idengagerchat:close":return n.handleToggleOpen();default:return null}},n.send=function(e,t){var r=n.iframeRef;if(!r)throw new Error("Attempted to send event "+e+" with payload "+JSON.stringify(t)+" before iframeRef was ready");r.contentWindow&&r.contentWindow.postMessage({event:e,payload:t},n.getIframeUrl())},n.handleMessageReceived=function(e){var t=n.props.onMessageReceived,r=void 0===t?C:t;e.user_id&&!e.customer_id&&r&&r(e)},n.handleMessageSent=function(e){var t=n.props.onMessageSent,r=void 0===t?C:t;r&&r(e)},n.handleUnseenMessages=function(e){n.setState({shouldDisplayNotifications:!0}),n.send("notifications:display",{shouldDisplayNotifications:!0})},n.handleMessagesSeen=function(){n.setState({shouldDisplayNotifications:!1}),n.storage.setPopupSeen(!0),n.send("notifications:display",{shouldDisplayNotifications:!1})},n.shouldOpenByDefault=function(){var e=n.props,t=e.defaultIsOpen,r=e.isOpenByDefault,o=e.persistOpenState;if(!e.canToggle)return!0;var i=n.storage.getOpenState();return o?i:!(!r&&!t)},n.handleChatLoaded=function(){n.setState({isLoaded:!0});var e=n.state.config,t=(void 0===e?{}:e).subscriptionPlan,r=void 0===t?null:t,o=n.props,i=o.popUpInitialMessage,a=o.onChatLoaded,s=void 0===a?C:a;s&&"function"==typeof s&&s(),n.shouldOpenByDefault()&&n.setState({isOpen:!0},function(){return n.emitToggleEvent(!0)}),i&&!n.storage.getPopupSeen()&&setTimeout(function(){n.setState({shouldDisplayNotifications:!0}),n.send("notifications:display",{shouldDisplayNotifications:!0,popUpInitialMessage:!0})},"number"==typeof i?i:0),n.send("idengagerchat:plan",{plan:r})},n.formatCustomerMetadata=function(){var e=n.props.customer,t=void 0===e?{}:e;return t?Object.keys(t).reduce(function(e,n){var r;return p({},e,"metadata"===n?((r={})[n]=t[n],r):{key:String(t[n])})},{}):{}},n.sendCustomerUpdate=function(e){var t=e.customerId,r=p({},M(window),n.formatCustomerMetadata());return n.send("customer:update",{customerId:t,metadata:r})},n.handleCacheCustomerId=function(e){var t=e.customerId;n.logger.debug("Caching customer ID:",t),window.dispatchEvent(new CustomEvent("idengagerchat:customer:set",{detail:t})),n.storage.setCustomerId(t)},n.emitToggleEvent=function(e){n.send("idengagerchat:toggle",{isOpen:e});var t=n.props,r=t.persistOpenState,o=t.onChatOpened,i=void 0===o?C:o,a=t.onChatClosed,s=void 0===a?C:a;void 0!==r&&r&&n.storage.setOpenState(e),e?i&&i():s&&s()},n.handleOpenWidget=function(){n.props.canToggle&&!n.state.isOpen&&(n.state.shouldDisplayNotifications?n.setState({isTransitioning:!0},function(){setTimeout(function(){n.setState({isOpen:!0,isTransitioning:!1},function(){return n.emitToggleEvent(!0)})},200)}):n.setState({isOpen:!0},function(){return n.emitToggleEvent(!0)}))},n.handleCloseWidget=function(){n.props.canToggle&&n.state.isOpen&&n.setState({isOpen:!1},function(){return n.emitToggleEvent(!1)})},n.handleToggleOpen=function(){var e=n.state,t=e.isOpen,r=!t;e.isLoaded&&n.props.canToggle&&(!t&&e.shouldDisplayNotifications?n.setState({isTransitioning:!0},function(){setTimeout(function(){n.setState({isOpen:r,isTransitioning:!1},function(){return n.emitToggleEvent(r)})},200)}):n.setState({isOpen:r},function(){return n.emitToggleEvent(r)}))},!t.accountId)throw new Error("An `accountId` is required to run the Idengagerchat chat!");return n.state={isOpen:!1,isLoaded:!1,query:"",config:{},shouldDisplayNotifications:!1,isTransitioning:!1},n.iframeRef=null,n.storage=null,n.logger=null,n}h(n,e);var r=n.prototype;return r.componentDidMount=function(){try{var e=this;return Promise.resolve(e.fetchWidgetSettings()).then(function(t){var n,r=e.props,o=r.accountId,i=r.primaryColor,a=r.baseUrl,s=r.awayMessage,u=r.newMessagePlaceholder,c=r.emailInputPlaceholder,d=r.newMessagesNotificationText,f=r.agentAvailableText,g=r.agentUnavailableText,h=r.showAgentAvailability,m=r.requireEmailUpfront,v=r.canToggle,y=r.customer,b=void 0===y?{}:y,w=(n=window,Boolean("localhost"===n.location.hostname||"[::1]"===n.location.hostname||n.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)));e.logger=new T(w),e.subscriptions=[P(window,e.postMessageHandlers),U(window,e.EVENTS,e.customEventHandlers)],e.storage=function(e,t){void 0===t&&(t={defaultType:"local",openStateType:"session"});var n=t.defaultType,r=t.openStateType,o=void 0===r?"session":r,i=E(e,void 0===n?"local":n),a=E(e,o);return{getCustomerId:function(){return i.get("__CUSTOMER_ID__")},setCustomerId:function(e){return i.set("__CUSTOMER_ID__",e)},removeCustomerId:function(){return i.remove("__CUSTOMER_ID__")},getOpenState:function(){return a.get(":open")},setOpenState:function(e){return a.set(":open",e)},clearOpenState:function(){return a.remove(":open")},getPopupSeen:function(){return a.get(":pop_up_seen")},setPopupSeen:function(e){return a.set(":pop_up_seen",e)},clearPopupSeen:function(){return a.remove(":pop_up_seen")}}}(window);var S=p({},M(window),b);return Promise.resolve(e.getDefaultTitle(t)).then(function(n){return Promise.resolve(e.getDefaultSubtitle(t)).then(function(r){var p=i||t.color;return Promise.resolve(e.getDefaultGreeting(t)).then(function(i){var y,b,w,x={accountId:o,baseUrl:a,title:n,subtitle:r,primaryColor:p,greeting:i,awayMessage:s||t.away_message,newMessagePlaceholder:u||t.new_message_placeholder,emailInputPlaceholder:c||t.email_input_placeholder,newMessagesNotificationText:d||t.new_messages_notification_text,companyName:null==t||null==(y=t.account)?void 0:y.company_name,requireEmailUpfront:m||t.require_email_upfront?1:0,showAgentAvailability:h||t.show_agent_availability?1:0,agentAvailableText:t.agent_available_text||f,agentUnavailableText:t.agent_unavailable_text||g,closeable:v?1:0,customerId:e.storage.getCustomerId(),subscriptionPlan:null==t||null==(b=t.account)?void 0:b.subscription_plan,isOutsideWorkingHours:null==t||null==(w=t.account)?void 0:w.is_outside_working_hours,isBrandingHidden:null==t?void 0:t.is_branding_hidden,metadata:JSON.stringify(S),version:"1.1.8"},I=l.default.stringify(x,{skipEmptyString:!0,skipNull:!0});return e.setState({config:x,query:I}),Promise.resolve(e.updateWidgetSettingsMetadata()).then(function(){})})})})})}catch(e){return Promise.reject(e)}},r.componentWillUnmount=function(){this.subscriptions.forEach(function(e){"function"==typeof e&&e()})},r.componentDidUpdate=function(e){var t=this.props,n=t.accountId,r=t.title,o=t.subtitle,i=t.primaryColor,a=t.baseUrl,s=t.greeting,u=t.newMessagePlaceholder,c=t.emailInputPlaceholder,l=t.newMessagesNotificationText,d=t.requireEmailUpfront,f=t.showAgentAvailability,g=t.agentAvailableText,p=t.agentUnavailableText,h=[e.accountId,e.title,e.subtitle,e.primaryColor,e.baseUrl,e.greeting,e.newMessagePlaceholder,e.emailInputPlaceholder,e.newMessagesNotificationText,e.requireEmailUpfront,e.showAgentAvailability,e.agentAvailableText,e.agentUnavailableText];[n,r,o,i,a,s,u,c,l,d,f,g,p].some(function(e,t){return e!==h[t]})&&this.handleConfigUpdated({accountId:n,title:r,subtitle:o,primaryColor:i,baseUrl:a,greeting:s,newMessagePlaceholder:u,emailInputPlaceholder:c,newMessagesNotificationText:l,agentAvailableText:g,agentUnavailableText:p,requireEmailUpfront:d?1:0,showAgentAvailability:f?1:0})},r.render=function(){var e=this.state,n=e.isOpen,r=e.isLoaded,o=e.query,i=e.config,a=e.shouldDisplayNotifications,s=e.isTransitioning,u=this.props,c=u.customIconUrl,l=u.hideOutsideWorkingHours,d=u.children,g=i.primaryColor;if(!o)return null;if(void 0!==l&&l&&i.isOutsideWorkingHours)return null;var h=this.getIframeUrl(),m=(n||a)&&!s,v=function(e){void 0===e&&(e={});var t=e.primary,n=f.default(void 0===t?"#1890ff":t),r={primary:n.toString(),light:n.lighten().toString(),dark:n.darken().toString()};return{useBodyStyles:!1,space:[0,4,8,16,32,64,128,256,512],fonts:{body:'-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;',heading:'-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;',monospace:'"Roboto Mono", monospace'},fontSizes:[12,14,16,20,24,32,48,64,96],fontWeights:{body:400,heading:600,bold:600},lineHeights:{body:1.5,heading:1.125},colors:{text:"#141414",background:"#fff",primary:r.primary,secondary:"#722ed1",muted:"#f0f0f0",gray:"rgba(0, 0, 0, 0.45)",input:"rgba(0, 0, 0, 0.65)",offset:"rgba(255, 255, 255, 0.8)"},text:{default:{color:"text",fontSize:1},caps:{textTransform:"uppercase",letterSpacing:"0.2em"},heading:{fontFamily:"heading",fontWeight:"heading",lineHeight:"heading"}},buttons:{primary:{cursor:"pointer",outline:0,boxShadow:"rgba(0, 0, 0, 0.08) 0 2px 4px",transition:"0.2s","&:hover":{background:r.light,borderColor:r.light,boxShadow:"rgba(0, 0, 0, 0.12) 0px 2px 8px"},"&:active":{background:r.dark,borderColor:r.dark}}},styles:p({root:{fontFamily:"body",lineHeight:"body",fontWeight:"body",fontSize:1},h1:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:5},h2:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:4},h3:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:3},h4:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:2},h5:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:1},h6:{color:"text",fontFamily:"heading",lineHeight:"heading",fontWeight:"heading",fontSize:0},p:{color:"text",fontFamily:"body",fontWeight:"body",lineHeight:"body"},a:{color:"primary"},pre:{fontFamily:"monospace",overflowX:"auto",code:{color:"inherit"}},code:{fontFamily:"monospace",fontSize:"inherit"},table:{width:"100%",borderCollapse:"separate",borderSpacing:0},th:{textAlign:"left",borderBottomStyle:"solid"},td:{textAlign:"left",borderBottomStyle:"solid"},img:{maxWidth:"100%"},textarea:{transparent:{border:"none",boxShadow:"none",resize:"none",outline:0,"&:hover":{border:"none",boxShadow:"none",resize:"none",outline:0},"&:active":{border:"none",boxShadow:"none",resize:"none",outline:0},"&:focus":{border:"none",boxShadow:"none",resize:"none",outline:0}}}},_)}}({primary:g}),y=["allow-scripts","allow-popups","allow-same-origin","allow-forms"].join(" ");return t.jsx(t.ThemeProvider,{theme:v},d({sandbox:y,isLoaded:r,isActive:m,isOpen:n,isTransitioning:s,customIconUrl:c,iframeUrl:h,query:o,shouldDisplayNotifications:a,setIframeRef:this.setIframeRef,onToggleOpen:this.handleToggleOpen}))},n}(u.default.Component),A=/*#__PURE__*/function(e){function t(t){var n;return(n=e.call(this,t)||this).state={error:null},n}h(t,e),t.getDerivedStateFromError=function(e){return{error:e}};var n=t.prototype;return n.componentDidCatch=function(e,t){console.error("Error rendering Idengagerchat chat:",e,t)},n.render=function(){return this.state.error?null:this.props.children},t}(u.default.Component),k=function(e){return t.jsx(A,null,t.jsx(B,p({},e,{canToggle:!0}),function(n){var o=n.sandbox,i=n.isLoaded,a=n.isActive,s=n.isOpen,c=n.isTransitioning,l=n.customIconUrl,d=n.iframeUrl,f=n.query,g=n.shouldDisplayNotifications,h=n.setIframeRef,m=n.onToggleOpen,v=e.hideToggleButton,y=e.iconVariant,b=e.renderToggleButton,w=e.position,S=e.styles,I=function(e,t){void 0===e&&(e={});var n=e.chatContainer,r=void 0===n?{}:n,o=e.toggleContainer,i=void 0===o?{}:o,a=e.toggleButton,s=void 0===a?{}:a,u=t.side,c=t.offset,l=void 0===c?20:c;return"left"===(void 0===u?"right":u)?{chatContainer:p({left:l,right:"auto"},r),toggleContainer:p({left:l,right:"auto"},i),toggleButton:s}:{chatContainer:p({right:l,left:"auto"},r),toggleContainer:p({right:l,left:"auto"},i),toggleButton:s}}(void 0===S?{}:S,function(e){if(!e)return{side:"right",offset:20};switch(e){case"left":return{side:"left",offset:20};case"right":return{side:"right",offset:20};default:return e}}(void 0===w?"right":w)),C=I.toggleContainer,_=I.toggleButton;return t.jsx(u.default.Fragment,null,t.jsx(r.motion.iframe,{ref:h,title:"Idengagerchat Chat Box Container",className:"Idengagerchat-chatFrameContainer",sandbox:o,animate:a?"open":"closed",initial:"closed",variants:{closed:{opacity:0,y:4},open:{opacity:1,y:0}},transition:{duration:.2,ease:"easeIn"},src:d+"?"+f,style:a?I.chatContainer:{pointerEvents:"none",height:0,minHeight:0},sx:{border:"none",bg:"background",variant:!s&&g?"styles.WidgetContainer.notifications":"styles.WidgetContainer"}},"Loading..."),i&&!v&&t.jsx(r.motion.div,{className:"Idengagerchat-toggleButtonContainer",initial:!1,style:C,animate:s?"open":"closed",sx:{variant:"styles.WidgetToggleContainer"}},b&&"function"==typeof b?b({isOpen:s,onToggleOpen:m,isDisabled:c}):t.jsx(x,{style:_,isDisabled:c,isOpen:s,customIconUrl:l,iconVariant:y,toggle:m})))}))},D=function(){return window.dispatchEvent(new Event("idengagerchat:open"))},F=function(){return window.dispatchEvent(new Event("idengagerchat:close"))},W=function(){return window.dispatchEvent(new Event("idengagerchat:toggle"))},j={open:D,close:F,toggle:W};e.ChatBox=k,e.ChatFrame=function(e){/*#__PURE__*/return React.createElement(A,null,/*#__PURE__*/React.createElement(B,p({},e,{canToggle:!1}),function(e){var t=e.isLoaded;/*#__PURE__*/return React.createElement(r.motion.iframe,{ref:e.setIframeRef,className:"Idengagerchat-chatFrameContainer",sandbox:e.sandbox,animate:t?"open":"closed",initial:"closed",variants:{closed:{opacity:0},open:{opacity:1}},transition:{duration:.2,ease:"easeIn"},src:e.iframeUrl+"?"+e.query,sx:{opacity:t?1:0,border:"none",bg:"background",variant:"styles.ChatFrameContainer"}},"Loading...")}))},e.Idengagerchat=j,e.close=F,e.default=k,e.identify=function(){console.warn("`Idengagerchat.identify` has not been implemented yet!")},e.open=D,e.toggle=W}); | ||
| //# sourceMappingURL=index.umd.js.map |
+1
-1
| { | ||
| "name": "@icloudready/chat-box", | ||
| "version": "1.0.1", | ||
| "version": "1.0.2", | ||
| "description": "Idengager chat box", | ||
@@ -5,0 +5,0 @@ "author": "chefofsolutions", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
581902
-0.06%508
-0.2%