Socket
Socket
Sign inDemoInstall

@papercups-io/chat-widget

Package Overview
Dependencies
Maintainers
2
Versions
113
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@papercups-io/chat-widget - npm Package Compare versions

Comparing version 1.1.0-beta.5 to 1.1.0

2

dist/index.js

@@ -1,2 +0,2 @@

function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var t=e(require("react")),n=require("framer-motion"),r=require("theme-ui"),o=e(require("query-string")),i=e(require("superagent")),a=e(require("tinycolor2")),s=function(e){return t.createElement(n.motion.path,Object.assign({fill:"transparent",strokeWidth:"3",stroke:"hsl(0, 0%, 99%)",strokeLinecap:"round"},e))},c=function(){return t.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},t.createElement(s,{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}}),t.createElement(s,{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}}),t.createElement(s,{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}}))},u=function(){return t.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},t.createElement(s,{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}}),t.createElement(s,{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}}))},l=function(e){var n=e.customIconUrl;return n?e.isOpen?t.createElement(u,null):t.createElement(r.Image,{src:n,style:{maxHeight:40,maxWidth:40}}):t.createElement(c,null)},d=function(e){return t.createElement(r.Flex,{sx:{justifyContent:"center",alignItems:"center",height:"100%",width:"100%"}},t.createElement(r.Button,{className:"Papercups-toggleButton",variant:"primary",p:0,sx:{variant:"styles.WidgetToggle"},disabled:e.isDisabled,onClick:e.toggle},t.createElement(l,{customIconUrl:e.customIconUrl,isOpen:e.isOpen})))};function p(){return(p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function g(){}var h=function(){function e(e){this.debugModeEnabled=!!e}var t=e.prototype;return t.debug=function(){var e;this.debugModeEnabled&&(e=console).debug.apply(e,arguments)},t.log=function(){var e;this.debugModeEnabled&&(e=console).log.apply(e,arguments)},t.info=function(){var e;(e=console).info.apply(e,arguments)},t.warn=function(){var e;(e=console).warn.apply(e,arguments)},t.error=function(){var e;(e=console).error.apply(e,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,c=t.forEach,u=Array.isArray,l=t.slice,d={},p=u||function(e){return"[object Array]"===o.call(e)};function f(e){try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}}function g(e){return"[object String]"==o.call(e)}function h(e){return void 0===e}function m(e,t,n){if(null!=e)if(c&&e.forEach===c)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)===d)return}else for(var a in e)if(i.call(e,a)&&t.call(n,e[a],a,e)===d)return}var v,y,b,w,S,x,C,O,E,I,M,P,_=(S={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},x=function(e){var t=new SyntaxError(e);throw t.at=v,t.text=b,t},C=function(e){return e&&e!==y&&x("Expected '"+e+"' instead of '"+y+"'"),y=b.charAt(v),v+=1,y},O=function(){var e,t="";for("-"===y&&(t="-",C("-"));y>="0"&&y<="9";)t+=y,C();if("."===y)for(t+=".";C()&&y>="0"&&y<="9";)t+=y;if("e"===y||"E"===y)for(t+=y,C(),"-"!==y&&"+"!==y||(t+=y,C());y>="0"&&y<="9";)t+=y,C();if(e=+t,isFinite(e))return e;x("Bad number")},E=function(){var e,t,n,r="";if('"'===y)for(;C();){if('"'===y)return C(),r;if("\\"===y)if(C(),"u"===y){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 S[y])break;r+=S[y]}else r+=y}x("Bad string")},I=function(){for(;y&&y<=" ";)C()},M=function(){var e=[];if("["===y){if(C("["),I(),"]"===y)return C("]"),e;for(;y;){if(e.push(w()),I(),"]"===y)return C("]"),e;C(","),I()}}x("Bad array")},P=function(){var e,t={};if("{"===y){if(C("{"),I(),"}"===y)return C("}"),t;for(;y;){if(e=E(),I(),C(":"),Object.hasOwnProperty.call(t,e)&&x('Duplicate key "'+e+'"'),t[e]=w(),I(),"}"===y)return C("}"),t;C(","),I()}}x("Bad object")},w=function(){switch(I(),y){case"{":return P();case"[":return M();case'"':return E();case"-":return O();default:return y>="0"&&y<="9"?O():function(){switch(y){case"t":return C("t"),C("r"),C("u"),C("e"),!0;case"f":return C("f"),C("a"),C("l"),C("s"),C("e"),!1;case"n":return C("n"),C("u"),C("l"),C("l"),null}x('Unexpected "'+y+'"')}()}},function(e){var t;return b=e,v=0,y=" ",t=w(),I(),y&&x("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:c,nativeIndexOf:t.indexOf,nativeIsArray:u,slice:l,breaker:d,__NOOP:function(){},__NOOPTIONS:{},isFunction:f,isString:g,includes:function(e,t){return-1!==e.indexOf(t)},isUndefined:h,timestamp:function(){return Date.now=Date.now||function(){return+new Date},Date.now()},each:m,trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},extend:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return m(n,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,l.call(arguments,1));if(!f(e))throw new TypeError;return n=l.call(arguments,2),r=function(){if(!(this instanceof r))return e.apply(t,n.concat(l.call(arguments)));var o={};o.prototype=e.prototype;var i=new o;o.prototype=null;var a=e.apply(i,n.concat(l.call(arguments)));return Object(a)===a?a:i}},truncate:function e(t,n){var r;return"string"==typeof t?r=t.slice(0,n):p(t)?(r=[],m(t,function(t){r.push(e(t,n))})):function(e){return e===Object(e)&&!p(e)}(t)?(r={},m(t,function(t,o){r[o]=e(t,n)})):r=t,r},stripEmptyProperties:function(e){var t={};return m(e,function(e,n){g(e)&&e.length>0&&(t[n]=e)}),t},HTTPBuildQuery:function(e,t){var n,r,o=[];return h(t)&&(t="&"),m(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+'"'};return function e(n,r){var a="",s=0,c="",u="",l=0,d=a,p=[],f=r[n];switch(f&&"object"==typeof f&&"function"==typeof f.toJSON&&(f=f.toJSON(n)),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+=" ",p=[],"[object Array]"===o.apply(f)){for(l=f.length,s=0;s<l;s+=1)p[s]=e(s,f)||"null";return u=0===p.length?"[]":a?"[\n"+a+p.join(",\n"+a)+"\n"+d+"]":"["+p.join(",")+"]",a=d,u}for(c in f)i.call(f,c)&&(u=e(c,f))&&p.push(t(c)+(a?": ":":")+u);return u=0===p.length?"{}":a?"{"+p.join(",")+d+"}":"{"+p.join(",")+"}",a=d,u}}("",{"":e})},JSONDecode:_,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,c=t.includes,u=t.timestamp,l=t.stripEmptyProperties,d=t.getQueryParam,p={campaignParams:function(){var e="utm_source utm_medium utm_campaign utm_content utm_term".split(" "),t="",n={};return a(e,function(e){(t=d(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=p.searchEngine(e),n="yahoo"!=t?"q":"p",r={};if(null!==t){r.$search_engine=t;var o=d(e,n);o.length&&(r.ph_keyword=o)}return r},browser:function(e,t,n){return t=t||"",n||c(e," OPR/")?c(e,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":c(e,"IEMobile")||c(e,"WPDesktop")?"Internet Explorer Mobile":c(e,"SamsungBrowser/")?"Samsung Internet":c(e,"Edge")||c(e,"Edg/")?"Microsoft Edge":c(e,"FBIOS")?"Facebook Mobile":c(e,"Chrome")?"Chrome":c(e,"CriOS")?"Chrome iOS":c(e,"UCWEB")||c(e,"UCBrowser")?"UC Browser":c(e,"FxiOS")?"Firefox iOS":c(t,"Apple")?c(e,"Mobile")?"Mobile Safari":"Safari":c(e,"Android")?"Android Mobile":c(e,"Konqueror")?"Konqueror":c(e,"Firefox")?"Firefox":c(e,"MSIE")||c(e,"Trident/")?"Internet Explorer":c(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+)?)/}[p.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(l({os:p.os(),browser:p.browser(r,n.vendor,o),referrer:document.referrer,referring_domain:p.referringDomain(document.referrer),device:p.device(r),time_zone:p.timezone(i)}),{current_url:e.location.href,host:e.location.host,pathname:e.location.pathname,browser_version:null===(t=p.browserVersion(r,n.vendor,o))||void 0===t?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:u()/1e3})}};return p.properties()}var v=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)})},y=function(e,t,n){if(e.addEventListener){for(var r,o=function(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return f(e,void 0);var n=Object.prototype.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,void 0):void 0}}(e))){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}(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!"),g},b=function(e){var t,n;function s(t){var n;return(n=e.call(this,t)||this).EVENTS=["papercups:open","papercups:close","papercups:toggle","papercups:identify"],n.setIframeRef=function(e){n.iframeRef=e},n.getIframeUrl=function(){return n.props.iframeUrlOverride||"https://chat-widget.papercups.io"},n.handleConfigUpdated=function(e){n.setState({config:p({},n.state.config,e)}),n.send("config:update",e)},n.fetchWidgetSettings=function(){var e=n.props,t={};return function(e,t){void 0===t&&(t="https://app.papercups.io");try{return Promise.resolve(i.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})},n.updateWidgetSettingsMetadata=function(){var e=n.props,t=e.baseUrl;return function(e,t,n){void 0===n&&(n="https://app.papercups.io");try{return Promise.resolve(i.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){switch(e&&e.type){case"papercups:open":return n.handleOpenWidget();case"papercups:close":return n.handleCloseWidget();case"papercups:toggle":return n.handleToggleOpen();default:return null}},n.postMessageHandlers=function(e){n.logger.debug("Handling in parent:",e.data);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"papercups:open":return n.handleToggleOpen();default:return null}},n.send=function(e,t){n.logger.debug("Sending from parent:",{event:e,payload: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?g:t;e.user_id&&!e.customer_id&&r&&r(e)},n.handleMessageSent=function(e){var t=n.props.onMessageSent,r=void 0===t?g: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.send("notifications:display",{shouldDisplayNotifications:!1})},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.defaultIsOpen,a=o.canToggle,s=o.onChatLoaded,c=void 0===s?g:s;c&&"function"==typeof c&&c(),!i&&a||n.setState({isOpen:!0},function(){return n.emitToggleEvent(!0)}),n.send("papercups: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,o;return p({},e,"metadata"===n?((r={})[n]=t[n],r):((o={})[n]=String(t[n]),o))},{}):{}},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){return n.storage.setCustomerId(e.customerId)},n.emitToggleEvent=function(e){n.send("papercups:toggle",{isOpen:e});var t=n.props,r=t.onChatOpened,o=void 0===r?g:r,i=t.onChatClosed,a=void 0===i?g:i;e?o&&o():a&&a()},n.handleOpenWidget=function(){n.props.canToggle&&!n.state.isOpen&&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)}))},n.state={isOpen:!1,isLoaded:!1,query:"",config:{},shouldDisplayNotifications:!1,isTransitioning:!1},n}n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=s.prototype;return c.componentDidMount=function(){try{var e=this;return Promise.resolve(e.fetchWidgetSettings()).then(function(t){var n,r,i,a,s=e.props,c=s.accountId,u=s.title,l=s.subtitle,d=s.primaryColor,f=s.baseUrl,g=s.greeting,b=s.newMessagePlaceholder,w=s.agentAvailableText,S=s.agentUnavailableText,x=s.showAgentAvailability,C=s.requireEmailUpfront,O=s.customer,E=void 0===O?{}:O,I=(i=window,Boolean("localhost"===i.location.hostname||"[::1]"===i.location.hostname||i.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)));e.logger=new h(I),e.subscriptions=[v(window,e.postMessageHandlers),y(window,e.EVENTS,e.customEventHandlers)],e.storage=(a=function(e){try{return e&&(e.localStorage||e.sessionStorage)}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]}}}}(window),{getCustomerId:function(){return function(e){var t=a.getItem("__PAPERCUPS____CUSTOMER_ID__");if(!t)return null;try{return JSON.parse(t)}catch(e){return t}}()},setCustomerId:function(e){a.setItem("__PAPERCUPS____CUSTOMER_ID__",JSON.stringify(e))},removeCustomerId:function(){a.removeItem("__CUSTOMER_ID__")}});var M=p({},m(window),E),P={accountId:c,baseUrl:f,agentAvailableText:w,agentUnavailableText:S,title:u||t.title,subtitle:l||t.subtitle,primaryColor:d||t.color,greeting:g||t.greeting,newMessagePlaceholder:b||t.new_message_placeholder,companyName:null==t||null===(n=t.account)||void 0===n?void 0:n.company_name,requireEmailUpfront:C?1:0,showAgentAvailability:x?1:0,customerId:e.storage.getCustomerId(),subscriptionPlan:null==t||null===(r=t.account)||void 0===r?void 0:r.subscription_plan,metadata:JSON.stringify(M)},_=o.stringify(P,{skipEmptyString:!0,skipNull:!0});return e.setState({config:P,query:_}),Promise.resolve(e.updateWidgetSettingsMetadata()).then(function(){})})}catch(e){return Promise.reject(e)}},c.componentWillUnmount=function(){this.subscriptions.forEach(function(e){"function"==typeof e&&e()})},c.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=[e.accountId,e.title,e.subtitle,e.primaryColor,e.baseUrl,e.greeting,e.newMessagePlaceholder];[n,r,o,i,a,s,c].some(function(e,t){return e!==u[t]})&&this.handleConfigUpdated({accountId:n,title:r,subtitle:o,primaryColor:i,baseUrl:a,greeting:s,newMessagePlaceholder:c})},c.render=function(){var e=this.state,t=e.isOpen,n=e.isLoaded,o=e.query,i=e.shouldDisplayNotifications,s=e.isTransitioning,c=this.props,u=c.customIconUrl,l=c.children,d=e.config.primaryColor;if(!o)return null;var p,f,g,h=this.getIframeUrl(),m=(t||i)&&!s,v={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:(g={primary:(f=a(void 0===(p=d)?"#1890ff":p)).toString(),light:f.lighten().toString(),dark:f.darken().toString()}).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,transition:"0.2s","&:hover":{background:g.light,borderColor:g.light},"&:active":{background:g.dark,borderColor:g.dark}}},styles:{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}}},ChatWindowContainer:{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%","300"],minHeight:0,maxHeight:["60%","400"],boxShadow:"none",height:200,overflow:"hidden"}},WidgetToggleContainer:{position:"fixed",zIndex:2147483003,bottom:"20px",right:"20px"},WidgetToggle:{outline:"none !important",border:"none !important",userSelect:"none !important",cursor:"pointer",width:"50px",height:"50px",borderRadius:"50%",display:"flex",justifyContent:"center",alignItems:"center"}}},y=["allow-scripts","allow-popups","allow-same-origin","allow-forms"].join(" ");return r.jsx(r.ThemeProvider,{theme:v},l({sandbox:y,isLoaded:n,isActive:m,isOpen:t,isTransitioning:s,customIconUrl:u,iframeUrl:h,query:o,shouldDisplayNotifications:i,setIframeRef:this.setIframeRef,onToggleOpen:this.handleToggleOpen}))},s}(t.Component),w=function(e){return r.jsx(b,Object.assign({},e,{canToggle:!0}),function(e){var o=e.isLoaded,i=e.isActive,a=e.isOpen,s=e.isTransitioning,c=e.customIconUrl,u=e.onToggleOpen;return r.jsx(t.Fragment,null,r.jsx(n.motion.iframe,{ref:e.setIframeRef,className:"Papercups-chatWindowContainer",sandbox:e.sandbox,animate:i?"open":"closed",initial:"closed",variants:{closed:{opacity:0,y:4},open:{opacity:1,y:0}},transition:{duration:.2,ease:"easeIn"},src:e.iframeUrl+"?"+e.query,style:i?{}:{pointerEvents:"none",height:0,minHeight:0},sx:{border:"none",bg:"background",variant:!a&&e.shouldDisplayNotifications?"styles.WidgetContainer.notifications":"styles.WidgetContainer"}},"Loading..."),o&&r.jsx(n.motion.div,{className:"Papercups-toggleButtonContainer",initial:!1,animate:a?"open":"closed",sx:{variant:"styles.WidgetToggleContainer"}},r.jsx(d,{isDisabled:s,isOpen:a,customIconUrl:c,toggle:u})))})},S=function(){return window.dispatchEvent(new Event("papercups:open"))},x=function(){return window.dispatchEvent(new Event("papercups:close"))},C=function(){return window.dispatchEvent(new Event("papercups:toggle"))},O={open:S,close:x,toggle:C};exports.ChatWidget=w,exports.ChatWindow=function(e){return r.jsx(b,Object.assign({},e,{canToggle:!1}),function(e){var t=e.isLoaded;return r.jsx(n.motion.iframe,{ref:e.setIframeRef,className:"Papercups-chatWindowContainer",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.ChatWindowContainer"}},"Loading...")})},exports.Papercups=O,exports.close=x,exports.default=w,exports.open=S,exports.toggle=C;
function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var t=e(require("react")),n=require("framer-motion"),r=require("theme-ui"),o=e(require("query-string")),i=e(require("superagent")),a=e(require("tinycolor2")),s=function(e){return t.createElement(n.motion.path,Object.assign({fill:"transparent",strokeWidth:"3",stroke:"hsl(0, 0%, 99%)",strokeLinecap:"round"},e))},c=function(){return t.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},t.createElement(s,{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}}),t.createElement(s,{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}}),t.createElement(s,{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}}))},u=function(){return t.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},t.createElement(s,{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}}),t.createElement(s,{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}}))},l=function(e){var n=e.customIconUrl;return n?e.isOpen?t.createElement(u,null):t.createElement(r.Image,{src:n,style:{maxHeight:40,maxWidth:40}}):t.createElement(c,null)},d=function(e){return t.createElement(r.Flex,{sx:{justifyContent:"center",alignItems:"center",height:"100%",width:"100%"}},t.createElement(r.Button,{className:"Papercups-toggleButton",variant:"primary",p:0,sx:{variant:"styles.WidgetToggle"},disabled:e.isDisabled,onClick:e.toggle},t.createElement(l,{customIconUrl:e.customIconUrl,isOpen:e.isOpen})))};function p(){return(p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function g(){}var h=function(){function e(e){this.debugModeEnabled=!!e}var t=e.prototype;return t.debug=function(){var e;this.debugModeEnabled&&(e=console).debug.apply(e,arguments)},t.log=function(){var e;this.debugModeEnabled&&(e=console).log.apply(e,arguments)},t.info=function(){var e;(e=console).info.apply(e,arguments)},t.warn=function(){var e;(e=console).warn.apply(e,arguments)},t.error=function(){var e;(e=console).error.apply(e,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,c=t.forEach,u=Array.isArray,l=t.slice,d={},p=u||function(e){return"[object Array]"===o.call(e)};function f(e){try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}}function g(e){return"[object String]"==o.call(e)}function h(e){return void 0===e}function m(e,t,n){if(null!=e)if(c&&e.forEach===c)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)===d)return}else for(var a in e)if(i.call(e,a)&&t.call(n,e[a],a,e)===d)return}var v,y,b,w,S,x,C,O,E,I,M,P,_=(S={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},x=function(e){var t=new SyntaxError(e);throw t.at=v,t.text=b,t},C=function(e){return e&&e!==y&&x("Expected '"+e+"' instead of '"+y+"'"),y=b.charAt(v),v+=1,y},O=function(){var e,t="";for("-"===y&&(t="-",C("-"));y>="0"&&y<="9";)t+=y,C();if("."===y)for(t+=".";C()&&y>="0"&&y<="9";)t+=y;if("e"===y||"E"===y)for(t+=y,C(),"-"!==y&&"+"!==y||(t+=y,C());y>="0"&&y<="9";)t+=y,C();if(e=+t,isFinite(e))return e;x("Bad number")},E=function(){var e,t,n,r="";if('"'===y)for(;C();){if('"'===y)return C(),r;if("\\"===y)if(C(),"u"===y){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 S[y])break;r+=S[y]}else r+=y}x("Bad string")},I=function(){for(;y&&y<=" ";)C()},M=function(){var e=[];if("["===y){if(C("["),I(),"]"===y)return C("]"),e;for(;y;){if(e.push(w()),I(),"]"===y)return C("]"),e;C(","),I()}}x("Bad array")},P=function(){var e,t={};if("{"===y){if(C("{"),I(),"}"===y)return C("}"),t;for(;y;){if(e=E(),I(),C(":"),Object.hasOwnProperty.call(t,e)&&x('Duplicate key "'+e+'"'),t[e]=w(),I(),"}"===y)return C("}"),t;C(","),I()}}x("Bad object")},w=function(){switch(I(),y){case"{":return P();case"[":return M();case'"':return E();case"-":return O();default:return y>="0"&&y<="9"?O():function(){switch(y){case"t":return C("t"),C("r"),C("u"),C("e"),!0;case"f":return C("f"),C("a"),C("l"),C("s"),C("e"),!1;case"n":return C("n"),C("u"),C("l"),C("l"),null}x('Unexpected "'+y+'"')}()}},function(e){var t;return b=e,v=0,y=" ",t=w(),I(),y&&x("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:c,nativeIndexOf:t.indexOf,nativeIsArray:u,slice:l,breaker:d,__NOOP:function(){},__NOOPTIONS:{},isFunction:f,isString:g,includes:function(e,t){return-1!==e.indexOf(t)},isUndefined:h,timestamp:function(){return Date.now=Date.now||function(){return+new Date},Date.now()},each:m,trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},extend:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return m(n,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,l.call(arguments,1));if(!f(e))throw new TypeError;return n=l.call(arguments,2),r=function(){if(!(this instanceof r))return e.apply(t,n.concat(l.call(arguments)));var o={};o.prototype=e.prototype;var i=new o;o.prototype=null;var a=e.apply(i,n.concat(l.call(arguments)));return Object(a)===a?a:i}},truncate:function e(t,n){var r;return"string"==typeof t?r=t.slice(0,n):p(t)?(r=[],m(t,function(t){r.push(e(t,n))})):function(e){return e===Object(e)&&!p(e)}(t)?(r={},m(t,function(t,o){r[o]=e(t,n)})):r=t,r},stripEmptyProperties:function(e){var t={};return m(e,function(e,n){g(e)&&e.length>0&&(t[n]=e)}),t},HTTPBuildQuery:function(e,t){var n,r,o=[];return h(t)&&(t="&"),m(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+'"'};return function e(n,r){var a="",s=0,c="",u="",l=0,d=a,p=[],f=r[n];switch(f&&"object"==typeof f&&"function"==typeof f.toJSON&&(f=f.toJSON(n)),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+=" ",p=[],"[object Array]"===o.apply(f)){for(l=f.length,s=0;s<l;s+=1)p[s]=e(s,f)||"null";return u=0===p.length?"[]":a?"[\n"+a+p.join(",\n"+a)+"\n"+d+"]":"["+p.join(",")+"]",a=d,u}for(c in f)i.call(f,c)&&(u=e(c,f))&&p.push(t(c)+(a?": ":":")+u);return u=0===p.length?"{}":a?"{"+p.join(",")+d+"}":"{"+p.join(",")+"}",a=d,u}}("",{"":e})},JSONDecode:_,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,c=t.includes,u=t.timestamp,l=t.stripEmptyProperties,d=t.getQueryParam,p={campaignParams:function(){var e="utm_source utm_medium utm_campaign utm_content utm_term".split(" "),t="",n={};return a(e,function(e){(t=d(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=p.searchEngine(e),n="yahoo"!=t?"q":"p",r={};if(null!==t){r.$search_engine=t;var o=d(e,n);o.length&&(r.ph_keyword=o)}return r},browser:function(e,t,n){return t=t||"",n||c(e," OPR/")?c(e,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":c(e,"IEMobile")||c(e,"WPDesktop")?"Internet Explorer Mobile":c(e,"SamsungBrowser/")?"Samsung Internet":c(e,"Edge")||c(e,"Edg/")?"Microsoft Edge":c(e,"FBIOS")?"Facebook Mobile":c(e,"Chrome")?"Chrome":c(e,"CriOS")?"Chrome iOS":c(e,"UCWEB")||c(e,"UCBrowser")?"UC Browser":c(e,"FxiOS")?"Firefox iOS":c(t,"Apple")?c(e,"Mobile")?"Mobile Safari":"Safari":c(e,"Android")?"Android Mobile":c(e,"Konqueror")?"Konqueror":c(e,"Firefox")?"Firefox":c(e,"MSIE")||c(e,"Trident/")?"Internet Explorer":c(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+)?)/}[p.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(l({os:p.os(),browser:p.browser(r,n.vendor,o),referrer:document.referrer,referring_domain:p.referringDomain(document.referrer),device:p.device(r),time_zone:p.timezone(i)}),{current_url:e.location.href,host:e.location.host,pathname:e.location.pathname,browser_version:null===(t=p.browserVersion(r,n.vendor,o))||void 0===t?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:u()/1e3})}};return p.properties()}var v=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)})},y=function(e,t,n){if(e.addEventListener){for(var r,o=function(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return f(e,void 0);var n=Object.prototype.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,void 0):void 0}}(e))){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}(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!"),g},b=function(e){var t,n;function s(t){var n;return(n=e.call(this,t)||this).EVENTS=["papercups:open","papercups:close","papercups:toggle","papercups:identify"],n.setIframeRef=function(e){n.iframeRef=e},n.getIframeUrl=function(){return n.props.iframeUrlOverride||"https://chat-widget.papercups.io"},n.handleConfigUpdated=function(e){n.setState({config:p({},n.state.config,e)}),n.send("config:update",e)},n.fetchWidgetSettings=function(){var e=n.props,t={};return function(e,t){void 0===t&&(t="https://app.papercups.io");try{return Promise.resolve(i.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})},n.updateWidgetSettingsMetadata=function(){var e=n.props,t=e.baseUrl;return function(e,t,n){void 0===n&&(n="https://app.papercups.io");try{return Promise.resolve(i.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){switch(e&&e.type){case"papercups:open":return n.handleOpenWidget();case"papercups:close":return n.handleCloseWidget();case"papercups:toggle":return n.handleToggleOpen();default:return null}},n.postMessageHandlers=function(e){n.logger.debug("Handling in parent:",e.data);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"papercups:open":return n.handleToggleOpen();default:return null}},n.send=function(e,t){n.logger.debug("Sending from parent:",{event:e,payload: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?g:t;e.user_id&&!e.customer_id&&r&&r(e)},n.handleMessageSent=function(e){var t=n.props.onMessageSent,r=void 0===t?g: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.send("notifications:display",{shouldDisplayNotifications:!1})},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.defaultIsOpen,a=o.canToggle,s=o.onChatLoaded,c=void 0===s?g:s;c&&"function"==typeof c&&c(),!i&&a||n.setState({isOpen:!0},function(){return n.emitToggleEvent(!0)}),n.send("papercups: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,o;return p({},e,"metadata"===n?((r={})[n]=t[n],r):((o={})[n]=String(t[n]),o))},{}):{}},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){return n.storage.setCustomerId(e.customerId)},n.emitToggleEvent=function(e){n.send("papercups:toggle",{isOpen:e});var t=n.props,r=t.onChatOpened,o=void 0===r?g:r,i=t.onChatClosed,a=void 0===i?g:i;e?o&&o():a&&a()},n.handleOpenWidget=function(){n.props.canToggle&&!n.state.isOpen&&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)}))},n.state={isOpen:!1,isLoaded:!1,query:"",config:{},shouldDisplayNotifications:!1,isTransitioning:!1},n}n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=s.prototype;return c.componentDidMount=function(){try{var e=this;return Promise.resolve(e.fetchWidgetSettings()).then(function(t){var n,r,i,a,s=e.props,c=s.accountId,u=s.title,l=s.subtitle,d=s.primaryColor,f=s.baseUrl,g=s.greeting,b=s.newMessagePlaceholder,w=s.agentAvailableText,S=s.agentUnavailableText,x=s.showAgentAvailability,C=s.requireEmailUpfront,O=s.customer,E=void 0===O?{}:O,I=(i=window,Boolean("localhost"===i.location.hostname||"[::1]"===i.location.hostname||i.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)));e.logger=new h(I),e.subscriptions=[v(window,e.postMessageHandlers),y(window,e.EVENTS,e.customEventHandlers)],e.storage=(a=function(e){try{return e&&(e.localStorage||e.sessionStorage)}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]}}}}(window),{getCustomerId:function(){return function(e){var t=a.getItem("__PAPERCUPS____CUSTOMER_ID__");if(!t)return null;try{return JSON.parse(t)}catch(e){return t}}()},setCustomerId:function(e){a.setItem("__PAPERCUPS____CUSTOMER_ID__",JSON.stringify(e))},removeCustomerId:function(){a.removeItem("__CUSTOMER_ID__")}});var M=p({},m(window),E),P={accountId:c,baseUrl:f,agentAvailableText:w,agentUnavailableText:S,title:u||t.title,subtitle:l||t.subtitle,primaryColor:d||t.color,greeting:g||t.greeting,newMessagePlaceholder:b||t.new_message_placeholder,companyName:null==t||null===(n=t.account)||void 0===n?void 0:n.company_name,requireEmailUpfront:C?1:0,showAgentAvailability:x?1:0,customerId:e.storage.getCustomerId(),subscriptionPlan:null==t||null===(r=t.account)||void 0===r?void 0:r.subscription_plan,metadata:JSON.stringify(M)},_=o.stringify(P,{skipEmptyString:!0,skipNull:!0});return e.setState({config:P,query:_}),Promise.resolve(e.updateWidgetSettingsMetadata()).then(function(){})})}catch(e){return Promise.reject(e)}},c.componentWillUnmount=function(){this.subscriptions.forEach(function(e){"function"==typeof e&&e()})},c.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=[e.accountId,e.title,e.subtitle,e.primaryColor,e.baseUrl,e.greeting,e.newMessagePlaceholder];[n,r,o,i,a,s,c].some(function(e,t){return e!==u[t]})&&this.handleConfigUpdated({accountId:n,title:r,subtitle:o,primaryColor:i,baseUrl:a,greeting:s,newMessagePlaceholder:c})},c.render=function(){var e=this.state,t=e.isOpen,n=e.isLoaded,o=e.query,i=e.shouldDisplayNotifications,s=e.isTransitioning,c=this.props,u=c.customIconUrl,l=c.children,d=e.config.primaryColor;if(!o)return null;var p,f,g,h=this.getIframeUrl(),m=(t||i)&&!s,v={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:(g={primary:(f=a(void 0===(p=d)?"#1890ff":p)).toString(),light:f.lighten().toString(),dark:f.darken().toString()}).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,transition:"0.2s","&:hover":{background:g.light,borderColor:g.light},"&:active":{background:g.dark,borderColor:g.dark}}},styles:{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}}},ChatWindowContainer:{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%","300"],minHeight:0,maxHeight:["60%","400"],boxShadow:"none",height:200,overflow:"hidden"}},WidgetToggleContainer:{position:"fixed",zIndex:2147483003,bottom:"20px",right:"20px"},WidgetToggle:{outline:"none !important",border:"none !important",userSelect:"none !important",cursor:"pointer",width:"50px",height:"50px",borderRadius:"50%",display:"flex",justifyContent:"center",alignItems:"center"}}},y=["allow-scripts","allow-popups","allow-same-origin","allow-forms"].join(" ");return r.jsx(r.ThemeProvider,{theme:v},l({sandbox:y,isLoaded:n,isActive:m,isOpen:t,isTransitioning:s,customIconUrl:u,iframeUrl:h,query:o,shouldDisplayNotifications:i,setIframeRef:this.setIframeRef,onToggleOpen:this.handleToggleOpen}))},s}(t.Component),w=function(e){return r.jsx(b,Object.assign({},e,{canToggle:!0}),function(e){var o=e.isLoaded,i=e.isActive,a=e.isOpen,s=e.isTransitioning,c=e.customIconUrl,u=e.onToggleOpen;return r.jsx(t.Fragment,null,r.jsx(n.motion.iframe,{ref:e.setIframeRef,title:"Papercups Chat Widget Container",className:"Papercups-chatWindowContainer",sandbox:e.sandbox,animate:i?"open":"closed",initial:"closed",variants:{closed:{opacity:0,y:4},open:{opacity:1,y:0}},transition:{duration:.2,ease:"easeIn"},src:e.iframeUrl+"?"+e.query,style:i?{}:{pointerEvents:"none",height:0,minHeight:0},sx:{border:"none",bg:"background",variant:!a&&e.shouldDisplayNotifications?"styles.WidgetContainer.notifications":"styles.WidgetContainer"}},"Loading..."),o&&r.jsx(n.motion.div,{className:"Papercups-toggleButtonContainer",initial:!1,animate:a?"open":"closed",sx:{variant:"styles.WidgetToggleContainer"}},r.jsx(d,{isDisabled:s,isOpen:a,customIconUrl:c,toggle:u})))})},S=function(){return window.dispatchEvent(new Event("papercups:open"))},x=function(){return window.dispatchEvent(new Event("papercups:close"))},C=function(){return window.dispatchEvent(new Event("papercups:toggle"))},O={open:S,close:x,toggle:C};exports.ChatWidget=w,exports.ChatWindow=function(e){return r.jsx(b,Object.assign({},e,{canToggle:!1}),function(e){var t=e.isLoaded;return r.jsx(n.motion.iframe,{ref:e.setIframeRef,className:"Papercups-chatWindowContainer",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.ChatWindowContainer"}},"Loading...")})},exports.Papercups=O,exports.close=x,exports.default=w,exports.open=S,exports.toggle=C;
//# sourceMappingURL=index.js.map

@@ -1,2 +0,2 @@

import e from"react";import{motion as t}from"framer-motion";import{Flex as n,Button as r,Image as o,jsx as i,ThemeProvider as a}from"theme-ui";import s from"query-string";import c from"superagent";import u from"tinycolor2";var l=function(n){return e.createElement(t.path,Object.assign({fill:"transparent",strokeWidth:"3",stroke:"hsl(0, 0%, 99%)",strokeLinecap:"round"},n))},d=function(){return e.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},e.createElement(l,{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}}),e.createElement(l,{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}}),e.createElement(l,{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}}))},p=function(){return e.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},e.createElement(l,{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}}),e.createElement(l,{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=function(t){var n=t.customIconUrl;return n?t.isOpen?e.createElement(p,null):e.createElement(o,{src:n,style:{maxHeight:40,maxWidth:40}}):e.createElement(d,null)},g=function(t){return e.createElement(n,{sx:{justifyContent:"center",alignItems:"center",height:"100%",width:"100%"}},e.createElement(r,{className:"Papercups-toggleButton",variant:"primary",p:0,sx:{variant:"styles.WidgetToggle"},disabled:t.isDisabled,onClick:t.toggle},e.createElement(f,{customIconUrl:t.customIconUrl,isOpen:t.isOpen})))};function h(){return(h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function v(){}var y=function(){function e(e){this.debugModeEnabled=!!e}var t=e.prototype;return t.debug=function(){var e;this.debugModeEnabled&&(e=console).debug.apply(e,arguments)},t.log=function(){var e;this.debugModeEnabled&&(e=console).log.apply(e,arguments)},t.info=function(){var e;(e=console).info.apply(e,arguments)},t.warn=function(){var e;(e=console).warn.apply(e,arguments)},t.error=function(){var e;(e=console).error.apply(e,arguments)},e}();function b(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,c=t.forEach,u=Array.isArray,l=t.slice,d={},p=u||function(e){return"[object Array]"===o.call(e)};function f(e){try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}}function g(e){return"[object String]"==o.call(e)}function h(e){return void 0===e}function m(e,t,n){if(null!=e)if(c&&e.forEach===c)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)===d)return}else for(var a in e)if(i.call(e,a)&&t.call(n,e[a],a,e)===d)return}var v,y,b,w,S,x,C,O,E,I,M,P,_=(S={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},x=function(e){var t=new SyntaxError(e);throw t.at=v,t.text=b,t},C=function(e){return e&&e!==y&&x("Expected '"+e+"' instead of '"+y+"'"),y=b.charAt(v),v+=1,y},O=function(){var e,t="";for("-"===y&&(t="-",C("-"));y>="0"&&y<="9";)t+=y,C();if("."===y)for(t+=".";C()&&y>="0"&&y<="9";)t+=y;if("e"===y||"E"===y)for(t+=y,C(),"-"!==y&&"+"!==y||(t+=y,C());y>="0"&&y<="9";)t+=y,C();if(e=+t,isFinite(e))return e;x("Bad number")},E=function(){var e,t,n,r="";if('"'===y)for(;C();){if('"'===y)return C(),r;if("\\"===y)if(C(),"u"===y){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 S[y])break;r+=S[y]}else r+=y}x("Bad string")},I=function(){for(;y&&y<=" ";)C()},M=function(){var e=[];if("["===y){if(C("["),I(),"]"===y)return C("]"),e;for(;y;){if(e.push(w()),I(),"]"===y)return C("]"),e;C(","),I()}}x("Bad array")},P=function(){var e,t={};if("{"===y){if(C("{"),I(),"}"===y)return C("}"),t;for(;y;){if(e=E(),I(),C(":"),Object.hasOwnProperty.call(t,e)&&x('Duplicate key "'+e+'"'),t[e]=w(),I(),"}"===y)return C("}"),t;C(","),I()}}x("Bad object")},w=function(){switch(I(),y){case"{":return P();case"[":return M();case'"':return E();case"-":return O();default:return y>="0"&&y<="9"?O():function(){switch(y){case"t":return C("t"),C("r"),C("u"),C("e"),!0;case"f":return C("f"),C("a"),C("l"),C("s"),C("e"),!1;case"n":return C("n"),C("u"),C("l"),C("l"),null}x('Unexpected "'+y+'"')}()}},function(e){var t;return b=e,v=0,y=" ",t=w(),I(),y&&x("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:c,nativeIndexOf:t.indexOf,nativeIsArray:u,slice:l,breaker:d,__NOOP:function(){},__NOOPTIONS:{},isFunction:f,isString:g,includes:function(e,t){return-1!==e.indexOf(t)},isUndefined:h,timestamp:function(){return Date.now=Date.now||function(){return+new Date},Date.now()},each:m,trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},extend:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return m(n,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,l.call(arguments,1));if(!f(e))throw new TypeError;return n=l.call(arguments,2),r=function(){if(!(this instanceof r))return e.apply(t,n.concat(l.call(arguments)));var o={};o.prototype=e.prototype;var i=new o;o.prototype=null;var a=e.apply(i,n.concat(l.call(arguments)));return Object(a)===a?a:i}},truncate:function e(t,n){var r;return"string"==typeof t?r=t.slice(0,n):p(t)?(r=[],m(t,function(t){r.push(e(t,n))})):function(e){return e===Object(e)&&!p(e)}(t)?(r={},m(t,function(t,o){r[o]=e(t,n)})):r=t,r},stripEmptyProperties:function(e){var t={};return m(e,function(e,n){g(e)&&e.length>0&&(t[n]=e)}),t},HTTPBuildQuery:function(e,t){var n,r,o=[];return h(t)&&(t="&"),m(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+'"'};return function e(n,r){var a="",s=0,c="",u="",l=0,d=a,p=[],f=r[n];switch(f&&"object"==typeof f&&"function"==typeof f.toJSON&&(f=f.toJSON(n)),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+=" ",p=[],"[object Array]"===o.apply(f)){for(l=f.length,s=0;s<l;s+=1)p[s]=e(s,f)||"null";return u=0===p.length?"[]":a?"[\n"+a+p.join(",\n"+a)+"\n"+d+"]":"["+p.join(",")+"]",a=d,u}for(c in f)i.call(f,c)&&(u=e(c,f))&&p.push(t(c)+(a?": ":":")+u);return u=0===p.length?"{}":a?"{"+p.join(",")+d+"}":"{"+p.join(",")+"}",a=d,u}}("",{"":e})},JSONDecode:_,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,c=t.includes,u=t.timestamp,l=t.stripEmptyProperties,d=t.getQueryParam,p={campaignParams:function(){var e="utm_source utm_medium utm_campaign utm_content utm_term".split(" "),t="",n={};return a(e,function(e){(t=d(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=p.searchEngine(e),n="yahoo"!=t?"q":"p",r={};if(null!==t){r.$search_engine=t;var o=d(e,n);o.length&&(r.ph_keyword=o)}return r},browser:function(e,t,n){return t=t||"",n||c(e," OPR/")?c(e,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":c(e,"IEMobile")||c(e,"WPDesktop")?"Internet Explorer Mobile":c(e,"SamsungBrowser/")?"Samsung Internet":c(e,"Edge")||c(e,"Edg/")?"Microsoft Edge":c(e,"FBIOS")?"Facebook Mobile":c(e,"Chrome")?"Chrome":c(e,"CriOS")?"Chrome iOS":c(e,"UCWEB")||c(e,"UCBrowser")?"UC Browser":c(e,"FxiOS")?"Firefox iOS":c(t,"Apple")?c(e,"Mobile")?"Mobile Safari":"Safari":c(e,"Android")?"Android Mobile":c(e,"Konqueror")?"Konqueror":c(e,"Firefox")?"Firefox":c(e,"MSIE")||c(e,"Trident/")?"Internet Explorer":c(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+)?)/}[p.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(l({os:p.os(),browser:p.browser(r,n.vendor,o),referrer:document.referrer,referring_domain:p.referringDomain(document.referrer),device:p.device(r),time_zone:p.timezone(i)}),{current_url:e.location.href,host:e.location.host,pathname:e.location.pathname,browser_version:null===(t=p.browserVersion(r,n.vendor,o))||void 0===t?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:u()/1e3})}};return p.properties()}var w=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)})},S=function(e,t,n){if(e.addEventListener){for(var r,o=function(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return m(e,void 0);var n=Object.prototype.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)?m(e,void 0):void 0}}(e))){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}(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!"),v},x=function(e){var t,n;function r(t){var n;return(n=e.call(this,t)||this).EVENTS=["papercups:open","papercups:close","papercups:toggle","papercups:identify"],n.setIframeRef=function(e){n.iframeRef=e},n.getIframeUrl=function(){return n.props.iframeUrlOverride||"https://chat-widget.papercups.io"},n.handleConfigUpdated=function(e){n.setState({config:h({},n.state.config,e)}),n.send("config:update",e)},n.fetchWidgetSettings=function(){var e=n.props,t={};return function(e,t){void 0===t&&(t="https://app.papercups.io");try{return Promise.resolve(c.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})},n.updateWidgetSettingsMetadata=function(){var e=n.props,t=e.baseUrl;return function(e,t,n){void 0===n&&(n="https://app.papercups.io");try{return Promise.resolve(c.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,b(window),t).catch(function(e){n.logger.error("Failed to update widget metadata:",e)})},n.customEventHandlers=function(e){switch(e&&e.type){case"papercups:open":return n.handleOpenWidget();case"papercups:close":return n.handleCloseWidget();case"papercups:toggle":return n.handleToggleOpen();default:return null}},n.postMessageHandlers=function(e){n.logger.debug("Handling in parent:",e.data);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"papercups:open":return n.handleToggleOpen();default:return null}},n.send=function(e,t){n.logger.debug("Sending from parent:",{event:e,payload: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?v:t;e.user_id&&!e.customer_id&&r&&r(e)},n.handleMessageSent=function(e){var t=n.props.onMessageSent,r=void 0===t?v: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.send("notifications:display",{shouldDisplayNotifications:!1})},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.defaultIsOpen,a=o.canToggle,s=o.onChatLoaded,c=void 0===s?v:s;c&&"function"==typeof c&&c(),!i&&a||n.setState({isOpen:!0},function(){return n.emitToggleEvent(!0)}),n.send("papercups: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,o;return h({},e,"metadata"===n?((r={})[n]=t[n],r):((o={})[n]=String(t[n]),o))},{}):{}},n.sendCustomerUpdate=function(e){var t=e.customerId,r=h({},b(window),n.formatCustomerMetadata());return n.send("customer:update",{customerId:t,metadata:r})},n.handleCacheCustomerId=function(e){return n.storage.setCustomerId(e.customerId)},n.emitToggleEvent=function(e){n.send("papercups:toggle",{isOpen:e});var t=n.props,r=t.onChatOpened,o=void 0===r?v:r,i=t.onChatClosed,a=void 0===i?v:i;e?o&&o():a&&a()},n.handleOpenWidget=function(){n.props.canToggle&&!n.state.isOpen&&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)}))},n.state={isOpen:!1,isLoaded:!1,query:"",config:{},shouldDisplayNotifications:!1,isTransitioning:!1},n}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var o=r.prototype;return o.componentDidMount=function(){try{var e=this;return Promise.resolve(e.fetchWidgetSettings()).then(function(t){var n,r,o,i,a=e.props,c=a.accountId,u=a.title,l=a.subtitle,d=a.primaryColor,p=a.baseUrl,f=a.greeting,g=a.newMessagePlaceholder,m=a.agentAvailableText,v=a.agentUnavailableText,x=a.showAgentAvailability,C=a.requireEmailUpfront,O=a.customer,E=void 0===O?{}:O,I=(o=window,Boolean("localhost"===o.location.hostname||"[::1]"===o.location.hostname||o.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)));e.logger=new y(I),e.subscriptions=[w(window,e.postMessageHandlers),S(window,e.EVENTS,e.customEventHandlers)],e.storage=(i=function(e){try{return e&&(e.localStorage||e.sessionStorage)}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]}}}}(window),{getCustomerId:function(){return function(e){var t=i.getItem("__PAPERCUPS____CUSTOMER_ID__");if(!t)return null;try{return JSON.parse(t)}catch(e){return t}}()},setCustomerId:function(e){i.setItem("__PAPERCUPS____CUSTOMER_ID__",JSON.stringify(e))},removeCustomerId:function(){i.removeItem("__CUSTOMER_ID__")}});var M=h({},b(window),E),P={accountId:c,baseUrl:p,agentAvailableText:m,agentUnavailableText:v,title:u||t.title,subtitle:l||t.subtitle,primaryColor:d||t.color,greeting:f||t.greeting,newMessagePlaceholder:g||t.new_message_placeholder,companyName:null==t||null===(n=t.account)||void 0===n?void 0:n.company_name,requireEmailUpfront:C?1:0,showAgentAvailability:x?1:0,customerId:e.storage.getCustomerId(),subscriptionPlan:null==t||null===(r=t.account)||void 0===r?void 0:r.subscription_plan,metadata:JSON.stringify(M)},_=s.stringify(P,{skipEmptyString:!0,skipNull:!0});return e.setState({config:P,query:_}),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=[e.accountId,e.title,e.subtitle,e.primaryColor,e.baseUrl,e.greeting,e.newMessagePlaceholder];[n,r,o,i,a,s,c].some(function(e,t){return e!==u[t]})&&this.handleConfigUpdated({accountId:n,title:r,subtitle:o,primaryColor:i,baseUrl:a,greeting:s,newMessagePlaceholder:c})},o.render=function(){var e=this.state,t=e.isOpen,n=e.isLoaded,r=e.query,o=e.shouldDisplayNotifications,s=e.isTransitioning,c=this.props,l=c.customIconUrl,d=c.children,p=e.config.primaryColor;if(!r)return null;var f,g,h,m=this.getIframeUrl(),v=(t||o)&&!s,y={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:(h={primary:(g=u(void 0===(f=p)?"#1890ff":f)).toString(),light:g.lighten().toString(),dark:g.darken().toString()}).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,transition:"0.2s","&:hover":{background:h.light,borderColor:h.light},"&:active":{background:h.dark,borderColor:h.dark}}},styles:{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}}},ChatWindowContainer:{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%","300"],minHeight:0,maxHeight:["60%","400"],boxShadow:"none",height:200,overflow:"hidden"}},WidgetToggleContainer:{position:"fixed",zIndex:2147483003,bottom:"20px",right:"20px"},WidgetToggle:{outline:"none !important",border:"none !important",userSelect:"none !important",cursor:"pointer",width:"50px",height:"50px",borderRadius:"50%",display:"flex",justifyContent:"center",alignItems:"center"}}},b=["allow-scripts","allow-popups","allow-same-origin","allow-forms"].join(" ");return i(a,{theme:y},d({sandbox:b,isLoaded:n,isActive:v,isOpen:t,isTransitioning:s,customIconUrl:l,iframeUrl:m,query:r,shouldDisplayNotifications:o,setIframeRef:this.setIframeRef,onToggleOpen:this.handleToggleOpen}))},r}(e.Component),C=function(n){return i(x,Object.assign({},n,{canToggle:!0}),function(n){var r=n.isLoaded,o=n.isActive,a=n.isOpen,s=n.isTransitioning,c=n.customIconUrl,u=n.onToggleOpen;return i(e.Fragment,null,i(t.iframe,{ref:n.setIframeRef,className:"Papercups-chatWindowContainer",sandbox:n.sandbox,animate:o?"open":"closed",initial:"closed",variants:{closed:{opacity:0,y:4},open:{opacity:1,y:0}},transition:{duration:.2,ease:"easeIn"},src:n.iframeUrl+"?"+n.query,style:o?{}:{pointerEvents:"none",height:0,minHeight:0},sx:{border:"none",bg:"background",variant:!a&&n.shouldDisplayNotifications?"styles.WidgetContainer.notifications":"styles.WidgetContainer"}},"Loading..."),r&&i(t.div,{className:"Papercups-toggleButtonContainer",initial:!1,animate:a?"open":"closed",sx:{variant:"styles.WidgetToggleContainer"}},i(g,{isDisabled:s,isOpen:a,customIconUrl:c,toggle:u})))})},O=function(e){return i(x,Object.assign({},e,{canToggle:!1}),function(e){var n=e.isLoaded;return i(t.iframe,{ref:e.setIframeRef,className:"Papercups-chatWindowContainer",sandbox:e.sandbox,animate:n?"open":"closed",initial:"closed",variants:{closed:{opacity:0},open:{opacity:1}},transition:{duration:.2,ease:"easeIn"},src:e.iframeUrl+"?"+e.query,sx:{opacity:n?1:0,border:"none",bg:"background",variant:"styles.ChatWindowContainer"}},"Loading...")})},E=function(){return window.dispatchEvent(new Event("papercups:open"))},I=function(){return window.dispatchEvent(new Event("papercups:close"))},M=function(){return window.dispatchEvent(new Event("papercups:toggle"))},P={open:E,close:I,toggle:M};export default C;export{C as ChatWidget,O as ChatWindow,P as Papercups,I as close,E as open,M as toggle};
import e from"react";import{motion as t}from"framer-motion";import{Flex as n,Button as r,Image as o,jsx as i,ThemeProvider as a}from"theme-ui";import s from"query-string";import c from"superagent";import u from"tinycolor2";var l=function(n){return e.createElement(t.path,Object.assign({fill:"transparent",strokeWidth:"3",stroke:"hsl(0, 0%, 99%)",strokeLinecap:"round"},n))},d=function(){return e.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},e.createElement(l,{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}}),e.createElement(l,{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}}),e.createElement(l,{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}}))},p=function(){return e.createElement("svg",{width:"27",height:"27",viewBox:"0 0 27 27"},e.createElement(l,{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}}),e.createElement(l,{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=function(t){var n=t.customIconUrl;return n?t.isOpen?e.createElement(p,null):e.createElement(o,{src:n,style:{maxHeight:40,maxWidth:40}}):e.createElement(d,null)},g=function(t){return e.createElement(n,{sx:{justifyContent:"center",alignItems:"center",height:"100%",width:"100%"}},e.createElement(r,{className:"Papercups-toggleButton",variant:"primary",p:0,sx:{variant:"styles.WidgetToggle"},disabled:t.isDisabled,onClick:t.toggle},e.createElement(f,{customIconUrl:t.customIconUrl,isOpen:t.isOpen})))};function h(){return(h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function v(){}var y=function(){function e(e){this.debugModeEnabled=!!e}var t=e.prototype;return t.debug=function(){var e;this.debugModeEnabled&&(e=console).debug.apply(e,arguments)},t.log=function(){var e;this.debugModeEnabled&&(e=console).log.apply(e,arguments)},t.info=function(){var e;(e=console).info.apply(e,arguments)},t.warn=function(){var e;(e=console).warn.apply(e,arguments)},t.error=function(){var e;(e=console).error.apply(e,arguments)},e}();function b(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,c=t.forEach,u=Array.isArray,l=t.slice,d={},p=u||function(e){return"[object Array]"===o.call(e)};function f(e){try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}}function g(e){return"[object String]"==o.call(e)}function h(e){return void 0===e}function m(e,t,n){if(null!=e)if(c&&e.forEach===c)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)===d)return}else for(var a in e)if(i.call(e,a)&&t.call(n,e[a],a,e)===d)return}var v,y,b,w,S,x,C,O,E,I,M,P,_=(S={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},x=function(e){var t=new SyntaxError(e);throw t.at=v,t.text=b,t},C=function(e){return e&&e!==y&&x("Expected '"+e+"' instead of '"+y+"'"),y=b.charAt(v),v+=1,y},O=function(){var e,t="";for("-"===y&&(t="-",C("-"));y>="0"&&y<="9";)t+=y,C();if("."===y)for(t+=".";C()&&y>="0"&&y<="9";)t+=y;if("e"===y||"E"===y)for(t+=y,C(),"-"!==y&&"+"!==y||(t+=y,C());y>="0"&&y<="9";)t+=y,C();if(e=+t,isFinite(e))return e;x("Bad number")},E=function(){var e,t,n,r="";if('"'===y)for(;C();){if('"'===y)return C(),r;if("\\"===y)if(C(),"u"===y){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 S[y])break;r+=S[y]}else r+=y}x("Bad string")},I=function(){for(;y&&y<=" ";)C()},M=function(){var e=[];if("["===y){if(C("["),I(),"]"===y)return C("]"),e;for(;y;){if(e.push(w()),I(),"]"===y)return C("]"),e;C(","),I()}}x("Bad array")},P=function(){var e,t={};if("{"===y){if(C("{"),I(),"}"===y)return C("}"),t;for(;y;){if(e=E(),I(),C(":"),Object.hasOwnProperty.call(t,e)&&x('Duplicate key "'+e+'"'),t[e]=w(),I(),"}"===y)return C("}"),t;C(","),I()}}x("Bad object")},w=function(){switch(I(),y){case"{":return P();case"[":return M();case'"':return E();case"-":return O();default:return y>="0"&&y<="9"?O():function(){switch(y){case"t":return C("t"),C("r"),C("u"),C("e"),!0;case"f":return C("f"),C("a"),C("l"),C("s"),C("e"),!1;case"n":return C("n"),C("u"),C("l"),C("l"),null}x('Unexpected "'+y+'"')}()}},function(e){var t;return b=e,v=0,y=" ",t=w(),I(),y&&x("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:c,nativeIndexOf:t.indexOf,nativeIsArray:u,slice:l,breaker:d,__NOOP:function(){},__NOOPTIONS:{},isFunction:f,isString:g,includes:function(e,t){return-1!==e.indexOf(t)},isUndefined:h,timestamp:function(){return Date.now=Date.now||function(){return+new Date},Date.now()},each:m,trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},extend:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return m(n,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,l.call(arguments,1));if(!f(e))throw new TypeError;return n=l.call(arguments,2),r=function(){if(!(this instanceof r))return e.apply(t,n.concat(l.call(arguments)));var o={};o.prototype=e.prototype;var i=new o;o.prototype=null;var a=e.apply(i,n.concat(l.call(arguments)));return Object(a)===a?a:i}},truncate:function e(t,n){var r;return"string"==typeof t?r=t.slice(0,n):p(t)?(r=[],m(t,function(t){r.push(e(t,n))})):function(e){return e===Object(e)&&!p(e)}(t)?(r={},m(t,function(t,o){r[o]=e(t,n)})):r=t,r},stripEmptyProperties:function(e){var t={};return m(e,function(e,n){g(e)&&e.length>0&&(t[n]=e)}),t},HTTPBuildQuery:function(e,t){var n,r,o=[];return h(t)&&(t="&"),m(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+'"'};return function e(n,r){var a="",s=0,c="",u="",l=0,d=a,p=[],f=r[n];switch(f&&"object"==typeof f&&"function"==typeof f.toJSON&&(f=f.toJSON(n)),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+=" ",p=[],"[object Array]"===o.apply(f)){for(l=f.length,s=0;s<l;s+=1)p[s]=e(s,f)||"null";return u=0===p.length?"[]":a?"[\n"+a+p.join(",\n"+a)+"\n"+d+"]":"["+p.join(",")+"]",a=d,u}for(c in f)i.call(f,c)&&(u=e(c,f))&&p.push(t(c)+(a?": ":":")+u);return u=0===p.length?"{}":a?"{"+p.join(",")+d+"}":"{"+p.join(",")+"}",a=d,u}}("",{"":e})},JSONDecode:_,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,c=t.includes,u=t.timestamp,l=t.stripEmptyProperties,d=t.getQueryParam,p={campaignParams:function(){var e="utm_source utm_medium utm_campaign utm_content utm_term".split(" "),t="",n={};return a(e,function(e){(t=d(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=p.searchEngine(e),n="yahoo"!=t?"q":"p",r={};if(null!==t){r.$search_engine=t;var o=d(e,n);o.length&&(r.ph_keyword=o)}return r},browser:function(e,t,n){return t=t||"",n||c(e," OPR/")?c(e,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":c(e,"IEMobile")||c(e,"WPDesktop")?"Internet Explorer Mobile":c(e,"SamsungBrowser/")?"Samsung Internet":c(e,"Edge")||c(e,"Edg/")?"Microsoft Edge":c(e,"FBIOS")?"Facebook Mobile":c(e,"Chrome")?"Chrome":c(e,"CriOS")?"Chrome iOS":c(e,"UCWEB")||c(e,"UCBrowser")?"UC Browser":c(e,"FxiOS")?"Firefox iOS":c(t,"Apple")?c(e,"Mobile")?"Mobile Safari":"Safari":c(e,"Android")?"Android Mobile":c(e,"Konqueror")?"Konqueror":c(e,"Firefox")?"Firefox":c(e,"MSIE")||c(e,"Trident/")?"Internet Explorer":c(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+)?)/}[p.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(l({os:p.os(),browser:p.browser(r,n.vendor,o),referrer:document.referrer,referring_domain:p.referringDomain(document.referrer),device:p.device(r),time_zone:p.timezone(i)}),{current_url:e.location.href,host:e.location.host,pathname:e.location.pathname,browser_version:null===(t=p.browserVersion(r,n.vendor,o))||void 0===t?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:u()/1e3})}};return p.properties()}var w=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)})},S=function(e,t,n){if(e.addEventListener){for(var r,o=function(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return m(e,void 0);var n=Object.prototype.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)?m(e,void 0):void 0}}(e))){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}(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!"),v},x=function(e){var t,n;function r(t){var n;return(n=e.call(this,t)||this).EVENTS=["papercups:open","papercups:close","papercups:toggle","papercups:identify"],n.setIframeRef=function(e){n.iframeRef=e},n.getIframeUrl=function(){return n.props.iframeUrlOverride||"https://chat-widget.papercups.io"},n.handleConfigUpdated=function(e){n.setState({config:h({},n.state.config,e)}),n.send("config:update",e)},n.fetchWidgetSettings=function(){var e=n.props,t={};return function(e,t){void 0===t&&(t="https://app.papercups.io");try{return Promise.resolve(c.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})},n.updateWidgetSettingsMetadata=function(){var e=n.props,t=e.baseUrl;return function(e,t,n){void 0===n&&(n="https://app.papercups.io");try{return Promise.resolve(c.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,b(window),t).catch(function(e){n.logger.error("Failed to update widget metadata:",e)})},n.customEventHandlers=function(e){switch(e&&e.type){case"papercups:open":return n.handleOpenWidget();case"papercups:close":return n.handleCloseWidget();case"papercups:toggle":return n.handleToggleOpen();default:return null}},n.postMessageHandlers=function(e){n.logger.debug("Handling in parent:",e.data);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"papercups:open":return n.handleToggleOpen();default:return null}},n.send=function(e,t){n.logger.debug("Sending from parent:",{event:e,payload: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?v:t;e.user_id&&!e.customer_id&&r&&r(e)},n.handleMessageSent=function(e){var t=n.props.onMessageSent,r=void 0===t?v: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.send("notifications:display",{shouldDisplayNotifications:!1})},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.defaultIsOpen,a=o.canToggle,s=o.onChatLoaded,c=void 0===s?v:s;c&&"function"==typeof c&&c(),!i&&a||n.setState({isOpen:!0},function(){return n.emitToggleEvent(!0)}),n.send("papercups: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,o;return h({},e,"metadata"===n?((r={})[n]=t[n],r):((o={})[n]=String(t[n]),o))},{}):{}},n.sendCustomerUpdate=function(e){var t=e.customerId,r=h({},b(window),n.formatCustomerMetadata());return n.send("customer:update",{customerId:t,metadata:r})},n.handleCacheCustomerId=function(e){return n.storage.setCustomerId(e.customerId)},n.emitToggleEvent=function(e){n.send("papercups:toggle",{isOpen:e});var t=n.props,r=t.onChatOpened,o=void 0===r?v:r,i=t.onChatClosed,a=void 0===i?v:i;e?o&&o():a&&a()},n.handleOpenWidget=function(){n.props.canToggle&&!n.state.isOpen&&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)}))},n.state={isOpen:!1,isLoaded:!1,query:"",config:{},shouldDisplayNotifications:!1,isTransitioning:!1},n}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var o=r.prototype;return o.componentDidMount=function(){try{var e=this;return Promise.resolve(e.fetchWidgetSettings()).then(function(t){var n,r,o,i,a=e.props,c=a.accountId,u=a.title,l=a.subtitle,d=a.primaryColor,p=a.baseUrl,f=a.greeting,g=a.newMessagePlaceholder,m=a.agentAvailableText,v=a.agentUnavailableText,x=a.showAgentAvailability,C=a.requireEmailUpfront,O=a.customer,E=void 0===O?{}:O,I=(o=window,Boolean("localhost"===o.location.hostname||"[::1]"===o.location.hostname||o.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)));e.logger=new y(I),e.subscriptions=[w(window,e.postMessageHandlers),S(window,e.EVENTS,e.customEventHandlers)],e.storage=(i=function(e){try{return e&&(e.localStorage||e.sessionStorage)}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]}}}}(window),{getCustomerId:function(){return function(e){var t=i.getItem("__PAPERCUPS____CUSTOMER_ID__");if(!t)return null;try{return JSON.parse(t)}catch(e){return t}}()},setCustomerId:function(e){i.setItem("__PAPERCUPS____CUSTOMER_ID__",JSON.stringify(e))},removeCustomerId:function(){i.removeItem("__CUSTOMER_ID__")}});var M=h({},b(window),E),P={accountId:c,baseUrl:p,agentAvailableText:m,agentUnavailableText:v,title:u||t.title,subtitle:l||t.subtitle,primaryColor:d||t.color,greeting:f||t.greeting,newMessagePlaceholder:g||t.new_message_placeholder,companyName:null==t||null===(n=t.account)||void 0===n?void 0:n.company_name,requireEmailUpfront:C?1:0,showAgentAvailability:x?1:0,customerId:e.storage.getCustomerId(),subscriptionPlan:null==t||null===(r=t.account)||void 0===r?void 0:r.subscription_plan,metadata:JSON.stringify(M)},_=s.stringify(P,{skipEmptyString:!0,skipNull:!0});return e.setState({config:P,query:_}),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=[e.accountId,e.title,e.subtitle,e.primaryColor,e.baseUrl,e.greeting,e.newMessagePlaceholder];[n,r,o,i,a,s,c].some(function(e,t){return e!==u[t]})&&this.handleConfigUpdated({accountId:n,title:r,subtitle:o,primaryColor:i,baseUrl:a,greeting:s,newMessagePlaceholder:c})},o.render=function(){var e=this.state,t=e.isOpen,n=e.isLoaded,r=e.query,o=e.shouldDisplayNotifications,s=e.isTransitioning,c=this.props,l=c.customIconUrl,d=c.children,p=e.config.primaryColor;if(!r)return null;var f,g,h,m=this.getIframeUrl(),v=(t||o)&&!s,y={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:(h={primary:(g=u(void 0===(f=p)?"#1890ff":f)).toString(),light:g.lighten().toString(),dark:g.darken().toString()}).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,transition:"0.2s","&:hover":{background:h.light,borderColor:h.light},"&:active":{background:h.dark,borderColor:h.dark}}},styles:{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}}},ChatWindowContainer:{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%","300"],minHeight:0,maxHeight:["60%","400"],boxShadow:"none",height:200,overflow:"hidden"}},WidgetToggleContainer:{position:"fixed",zIndex:2147483003,bottom:"20px",right:"20px"},WidgetToggle:{outline:"none !important",border:"none !important",userSelect:"none !important",cursor:"pointer",width:"50px",height:"50px",borderRadius:"50%",display:"flex",justifyContent:"center",alignItems:"center"}}},b=["allow-scripts","allow-popups","allow-same-origin","allow-forms"].join(" ");return i(a,{theme:y},d({sandbox:b,isLoaded:n,isActive:v,isOpen:t,isTransitioning:s,customIconUrl:l,iframeUrl:m,query:r,shouldDisplayNotifications:o,setIframeRef:this.setIframeRef,onToggleOpen:this.handleToggleOpen}))},r}(e.Component),C=function(n){return i(x,Object.assign({},n,{canToggle:!0}),function(n){var r=n.isLoaded,o=n.isActive,a=n.isOpen,s=n.isTransitioning,c=n.customIconUrl,u=n.onToggleOpen;return i(e.Fragment,null,i(t.iframe,{ref:n.setIframeRef,title:"Papercups Chat Widget Container",className:"Papercups-chatWindowContainer",sandbox:n.sandbox,animate:o?"open":"closed",initial:"closed",variants:{closed:{opacity:0,y:4},open:{opacity:1,y:0}},transition:{duration:.2,ease:"easeIn"},src:n.iframeUrl+"?"+n.query,style:o?{}:{pointerEvents:"none",height:0,minHeight:0},sx:{border:"none",bg:"background",variant:!a&&n.shouldDisplayNotifications?"styles.WidgetContainer.notifications":"styles.WidgetContainer"}},"Loading..."),r&&i(t.div,{className:"Papercups-toggleButtonContainer",initial:!1,animate:a?"open":"closed",sx:{variant:"styles.WidgetToggleContainer"}},i(g,{isDisabled:s,isOpen:a,customIconUrl:c,toggle:u})))})},O=function(e){return i(x,Object.assign({},e,{canToggle:!1}),function(e){var n=e.isLoaded;return i(t.iframe,{ref:e.setIframeRef,className:"Papercups-chatWindowContainer",sandbox:e.sandbox,animate:n?"open":"closed",initial:"closed",variants:{closed:{opacity:0},open:{opacity:1}},transition:{duration:.2,ease:"easeIn"},src:e.iframeUrl+"?"+e.query,sx:{opacity:n?1:0,border:"none",bg:"background",variant:"styles.ChatWindowContainer"}},"Loading...")})},E=function(){return window.dispatchEvent(new Event("papercups:open"))},I=function(){return window.dispatchEvent(new Event("papercups:close"))},M=function(){return window.dispatchEvent(new Event("papercups:toggle"))},P={open:E,close:I,toggle:M};export default C;export{C as ChatWidget,O as ChatWindow,P as Papercups,I as close,E as open,M as toggle};
//# sourceMappingURL=index.modern.js.map
{
"name": "@papercups-io/chat-widget",
"version": "1.1.0-beta.5",
"version": "1.1.0",
"description": "Papercups chat widget",

@@ -5,0 +5,0 @@ "author": "reichert621",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc