-
Notifications
You must be signed in to change notification settings - Fork 597
Expand file tree
/
Copy pathreact-simple-chatbot.js
More file actions
2 lines (2 loc) · 52.4 KB
/
react-simple-chatbot.js
File metadata and controls
2 lines (2 loc) · 52.4 KB
1
2
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("styled-components")):"function"==typeof define&&define.amd?define(["react","styled-components"],t):"object"==typeof exports?exports.ReactSimpleChatbot=t(require("react"),require("styled-components")):e.ReactSimpleChatbot=t(e.react,e["styled-components"])}("undefined"!=typeof self?self:this,((e,t)=>(()=>{var n={703:(e,t,n)=>{"use strict";var r=n(414);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},697:(e,t,n)=>{e.exports=n(703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},181:e=>{var t="abcdefghijklmnopqrstuvwxyz",n="ABCDEFGHIJKLMNOPQRSTUVWXYZ",r="0123456789",o="~!@#$%^&()_+-={}[];',";e.exports=function(e,i){e||(e=30),i||(i="aA0");var a="";i.split("").forEach((e=>{isNaN(parseInt(e))?/[a-z]/.test(e)?a+=t:/[A-Z]/.test(e)?a+=n:a+=o:a+=r}));for(var s="",c=0;c<e;c++)s+=a.charAt(Math.floor(Math.random()*a.length));return s}},156:t=>{"use strict";t.exports=e},608:e=>{"use strict";e.exports=t}},r={};function o(e){var t=r[e];if(void 0!==t)return t.exports;var i=r[e]={exports:{}};return n[e](i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return(()=>{"use strict";o.r(i),o.d(i,{Loading:()=>O,default:()=>nn});var e=o(156),t=o.n(e),n=o(697),r=o.n(n),a=o(181),s=o.n(a),c=o(608),u=o.n(c);const l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=function(e){e=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(function(e,t,n,r){return t+t+n+n+r+r}));var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}(e);return"rgba(".concat(n.r,", ").concat(n.g,", ").concat(n.b,", ").concat(t,")")};var p,f,d,b;function y(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var h,g,v,m=(0,c.keyframes)(p||(p=y(["\n 0% { opacity: .2; }\n 20% { opacity: 1; }\n 100% { opacity: .2; }\n"]))),S=(0,c.keyframes)(f||(f=y(["\n 100% { transform: scale(1); }\n"]))),w=(0,c.keyframes)(d||(d=y(["\n 25% { transform: rotate(-1deg); }\n 100% { transform: rotate(1deg); }\n"])));const x=u().span(h||(g=["\n animation: "," 1.4s infinite both;\n animation-delay: ",";\n"],v||(v=g.slice(0)),h=Object.freeze(Object.defineProperties(g,{raw:{value:Object.freeze(v)}}))),m,(function(e){return e.delay}));const O=function(){return t().createElement("span",{className:"rsc-loading"},t().createElement(x,{delay:"0s"},"."),t().createElement(x,{delay:".2s"},"."),t().createElement(x,{delay:".4s"},"."))};var j;var k=u().div(j||(j=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n background: #fff;\n border-radius: 5px;\n box-shadow: rgba(0, 0, 0, 0.15) 0px 1px 2px 0px;\n display: flex;\n justify-content: center;\n margin: 0 6px 10px 6px;\n padding: 16px;\n"])));const E=k;function P(e){return P="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},P(e)}function z(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,T(r.key),r)}}function C(e,t){return C=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},C(e,t)}function R(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=N(e);if(t){var o=N(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===P(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return q(e)}(this,n)}}function q(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function N(e){return N=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},N(e)}function $(e,t,n){return(t=T(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function T(e){var t=function(e,t){if("object"!==P(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==P(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===P(t)?t:String(t)}var B=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&C(e,t)}(a,e);var n,r,o,i=R(a);function a(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return $(q(e=i.call.apply(i,[this].concat(r))),"state",{loading:!0}),$(q(e),"renderComponent",(function(){var n=e.props,r=n.step,o=n.steps,i=n.previousStep,a=n.triggerNextStep,s=r.component;return t().cloneElement(s,{step:r,steps:o,previousStep:i,triggerNextStep:a})})),e}return n=a,r=[{key:"componentDidMount",value:function(){var e=this,t=this.props,n=t.speak,r=t.step,o=t.previousValue,i=t.triggerNextStep,a=r.delay,s=r.waitAction;setTimeout((function(){e.setState({loading:!1},(function(){s||r.rendered||i(),n(r,o)}))}),a)}},{key:"render",value:function(){var e=this.state.loading,n=this.props.style;return t().createElement(E,{className:"rsc-cs",style:n},e?t().createElement(O,null):this.renderComponent())}}],r&&z(n.prototype,r),o&&z(n,o),Object.defineProperty(n,"prototype",{writable:!1}),a}(e.Component);B.propTypes={previousStep:r().objectOf(r().any).isRequired,previousValue:r().oneOfType([r().string,r().bool,r().number,r().object,r().array]),speak:r().func,step:r().objectOf(r().any).isRequired,steps:r().objectOf(r().any).isRequired,style:r().objectOf(r().any).isRequired,triggerNextStep:r().func.isRequired},B.defaultProps={previousValue:"",speak:function(){}};const I=B;var M;var A=u().li(M||(M=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n animation: "," 0.3s ease forwards;\n cursor: pointer;\n display: inline-block;\n margin: 2px;\n transform: scale(0);\n"])),S);const _=A,V={background:"#f5f8fb",fontFamily:"monospace",headerBgColor:"#6e48aa",headerFontColor:"#fff",headerFontSize:"16px",botBubbleColor:"#6E48AA",botFontColor:"#fff",userBubbleColor:"#fff",userFontColor:"#4a4a4a"};var F;var D=u().button(F||(F=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n background: ",";\n border: 0;\n border-radius: 22px;\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15);\n color: ",";\n display: inline-block;\n font-size: 14px;\n padding: 12px;\n\n &:hover {\n opacity: 0.7;\n }\n &:active,\n &:hover:focus {\n outline:none;\n }\n"])),(function(e){return e.theme.botBubbleColor}),(function(e){return e.theme.botFontColor}));D.defaultProps={theme:V};const L=D;var U;var H=u().ul(U||(U=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n margin: 2px 0 12px 0;\n padding: 0 6px;\n"])));const K=H;var W;var Y=u().div(W||(W=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}([""])));const J=Y;function Z(e){return Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Z(e)}function G(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,re(r.key),r)}}function Q(e,t){return Q=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Q(e,t)}function X(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=te(e);if(t){var o=te(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===Z(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return ee(e)}(this,n)}}function ee(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function te(e){return te=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},te(e)}function ne(e,t,n){return(t=re(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function re(e){var t=function(e,t){if("object"!==Z(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Z(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Z(t)?t:String(t)}var oe=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Q(e,t)}(a,e);var n,r,o,i=X(a);function a(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return ne(ee(e=i.call.apply(i,[this].concat(r))),"onOptionClick",(function(t){var n=t.value;(0,e.props.triggerNextStep)({value:n})})),ne(ee(e),"renderOption",(function(n){var r=e.props,o=r.bubbleOptionStyle,i=r.step.user,a=n.value,s=n.label;return t().createElement(_,{key:a,className:"rsc-os-option"},t().createElement(L,{className:"rsc-os-option-element",style:o,$user:i,onClick:function(){return e.onOptionClick({value:a})}},s))})),e}return n=a,(r=[{key:"render",value:function(){var e=this.props.step.options;return t().createElement(J,{className:"rsc-os"},t().createElement(K,{className:"rsc-os-options"},Object.keys(e).map((function(t){return e[t]})).map(this.renderOption)))}}])&&G(n.prototype,r),o&&G(n,o),Object.defineProperty(n,"prototype",{writable:!1}),a}(e.Component);oe.propTypes={bubbleOptionStyle:r().objectOf(r().any).isRequired,step:r().objectOf(r().any).isRequired,triggerNextStep:r().func.isRequired};const ie=oe;var ae;var se=u().div(ae||(ae=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n animation: "," 0.3s ease forwards;\n background: ",";\n border-radius: ",";\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15);\n color: ",";\n display: inline-block;\n font-size: 14px;\n max-width: 50%;\n margin: ",";\n overflow: hidden;\n position: relative;\n padding: 12px;\n transform: scale(0);\n transform-origin: ",";\n"])),S,(function(e){return e.$user?e.theme.userBubbleColor:e.theme.botBubbleColor}),(function(e){var t=e.$isFirst,n=e.$isLast,r=e.$user;return t||n?!t&&n?r?"18px 0 18px 18px":"0 18px 18px 18px":e.$user?"18px 18px 0 18px":"18px 18px 18px 0":r?"18px 0 0 18px":"0 18px 18px 0px"}),(function(e){return e.$user?e.theme.userFontColor:e.theme.botFontColor}),(function(e){var t=e.$isFirst,n=e.$showAvatar,r=e.$user;return!t&&n?r?"-8px 46px 10px 0":"-8px 0 10px 46px":t||n?"0 0 10px 0":r?"-8px 0px 10px 0":"-8px 0 10px 0px"}),(function(e){var t=e.isFirst,n=e.$user;return t?n?"bottom right":"bottom left":n?"top right":"top left"}));se.defaultProps={theme:V};const ce=se;var ue;var le=u().img(ue||(ue=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n animation: "," 0.3s ease forwards;\n border-radius: ",";\n box-shadow: rgba(0, 0, 0, 0.15) 0px 1px 2px 0px;\n height: 40px;\n min-width: 40px;\n padding: 3px;\n transform: scale(0);\n transform-origin: ",";\n width: 40;\n"])),S,(function(e){return e.$user?"50% 50% 50% 0":"50% 50% 0 50%"}),(function(e){return e.$user?"bottom left":"bottom right"}));const pe=le;var fe;var de=u().div(fe||(fe=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n display: inline-block;\n order: ",";\n padding: 6px;\n"])),(function(e){return e.$user?"1":"0"}));const be=de;var ye;var he=u().div(ye||(ye=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n align-items: flex-end;\n display: flex;\n justify-content: ",";\n"])),(function(e){return e.$user?"flex-end":"flex-start"}));const ge=he;function ve(e){return ve="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ve(e)}function me(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ke(r.key),r)}}function Se(e,t){return Se=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Se(e,t)}function we(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Oe(e);if(t){var o=Oe(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===ve(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return xe(e)}(this,n)}}function xe(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Oe(e){return Oe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Oe(e)}function je(e,t,n){return(t=ke(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ke(e){var t=function(e,t){if("object"!==ve(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==ve(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ve(t)?t:String(t)}var Ee=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Se(e,t)}(a,e);var n,r,o,i=we(a);function a(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return je(xe(e=i.call.apply(i,[this].concat(r))),"state",{loading:!0}),je(xe(e),"getMessage",(function(){var t=e.props,n=t.previousValue,r=t.step.message;return r?r.replace(/{previousValue}/g,n):""})),je(xe(e),"renderMessage",(function(){var n=e.props,r=n.step,o=n.steps,i=n.previousStep,a=n.triggerNextStep,s=r.component;return s?t().cloneElement(s,{step:r,steps:o,previousStep:i,triggerNextStep:a}):e.getMessage()})),e}return n=a,r=[{key:"componentDidMount",value:function(){var e=this,t=this.props,n=t.step,r=t.speak,o=t.previousValue,i=t.triggerNextStep,a=n.component,s=n.delay,c=n.waitAction,u=a&&c;setTimeout((function(){e.setState({loading:!1},(function(){u||n.rendered||i(),r(n,o)}))}),s)}},{key:"render",value:function(){var e=this.props,n=e.step,r=e.isFirst,o=e.isLast,i=e.avatarStyle,a=e.bubbleStyle,s=e.hideBotAvatar,c=e.hideUserAvatar,u=this.state.loading,l=n.avatar,p=n.user,f=n.botName,d=p?!c:!s,b=p?"Your avatar":"".concat(f,"'s avatar");return t().createElement(ge,{className:"rsc-ts ".concat(p?"rsc-ts-user":"rsc-ts-bot"),$user:p},t().createElement(be,{className:"rsc-ts-image-container",$user:p},r&&d&&t().createElement(pe,{className:"rsc-ts-image",style:i,$showAvatar:d,$user:p,src:l,alt:b})),t().createElement(ce,{className:"rsc-ts-bubble",style:a,$user:p,$showAvatar:d,$isFirst:r,$isLast:o},u?t().createElement(O,null):this.renderMessage()))}}],r&&me(n.prototype,r),o&&me(n,o),Object.defineProperty(n,"prototype",{writable:!1}),a}(e.Component);Ee.propTypes={avatarStyle:r().objectOf(r().any).isRequired,isFirst:r().bool.isRequired,isLast:r().bool.isRequired,bubbleStyle:r().objectOf(r().any).isRequired,hideBotAvatar:r().bool.isRequired,hideUserAvatar:r().bool.isRequired,previousStep:r().objectOf(r().any),previousValue:r().oneOfType([r().string,r().bool,r().number,r().object,r().array]),speak:r().func,step:r().objectOf(r().any).isRequired,steps:r().objectOf(r().any),triggerNextStep:r().func.isRequired},Ee.defaultProps={previousStep:{},previousValue:"",speak:function(){},steps:{}};const Pe=Ee,ze=[{key:"id",types:["string","number"],required:!0},{key:"user",types:["boolean"],required:!0},{key:"hideExtraControl",types:["boolean"],required:!1},{key:"trigger",types:["string","number","function"],required:!1},{key:"validator",types:["function"],required:!1},{key:"end",types:["boolean"],required:!1},{key:"placeholder",types:["string"],required:!1},{key:"inputAttributes",types:["object"],required:!1},{key:"metadata",types:["object"],required:!1}],Ce=[{key:"id",types:["string","number"],required:!0},{key:"message",types:["string","function"],required:!0},{key:"avatar",types:["string"],required:!1},{key:"trigger",types:["string","number","function"],required:!1},{key:"delay",types:["number"],required:!1},{key:"end",types:["boolean"],required:!1},{key:"placeholder",types:["string"],required:!1},{key:"hideInput",types:["boolean"],required:!1},{key:"hideExtraControl",types:["boolean"],required:!1},{key:"inputAttributes",types:["object"],required:!1},{key:"metadata",types:["object"],required:!1}],Re=[{key:"id",types:["string","number"],required:!0},{key:"options",types:["object"],required:!0},{key:"end",types:["boolean"],required:!1},{key:"placeholder",types:["string"],required:!1},{key:"hideInput",types:["boolean"],required:!1},{key:"hideExtraControl",types:["boolean"],required:!1},{key:"inputAttributes",types:["object"],required:!1},{key:"metadata",types:["object"],required:!1}],qe=[{key:"id",types:["string","number"],required:!0},{key:"component",types:["any"],required:!0},{key:"avatar",types:["string"],required:!1},{key:"replace",types:["boolean"],required:!1},{key:"waitAction",types:["boolean"],required:!1},{key:"asMessage",types:["boolean"],required:!1},{key:"trigger",types:["string","number","function"],required:!1},{key:"delay",types:["number"],required:!1},{key:"end",types:["boolean"],required:!1},{key:"placeholder",types:["string"],required:!1},{key:"hideInput",types:["boolean"],required:!1},{key:"hideExtraControl",types:["boolean"],required:!1},{key:"inputAttributes",types:["object"],required:!1},{key:"metadata",types:["object"],required:!1}],Ne=[{key:"id",types:["string","number"],required:!0},{key:"update",types:["string","number"],required:!0},{key:"trigger",types:["string","number","function"],required:!0},{key:"placeholder",types:["string"],required:!1},{key:"inputAttributes",types:["object"],required:!1},{key:"metadata",types:["object"],required:!1}],{parse:$e,stringify:Te}=JSON,{keys:Be}=Object,Ie=String,Me="string",Ae={},_e="object",Ve=(e,t)=>t,Fe=e=>e instanceof Ie?Ie(e):e,De=(e,t)=>typeof t===Me?new Ie(t):t,Le=(e,t,n,r)=>{const o=[];for(let i=Be(n),{length:a}=i,s=0;s<a;s++){const a=i[s],c=n[a];if(c instanceof Ie){const i=e[c];typeof i!==_e||t.has(i)?n[a]=r.call(n,a,i):(t.add(i),n[a]=Ae,o.push({k:a,a:[e,t,i,r]}))}else n[a]!==Ae&&(n[a]=r.call(n,a,c))}for(let{length:e}=o,t=0;t<e;t++){const{k:e,a:i}=o[t];n[e]=r.call(n,e,Le.apply(null,i))}return n},Ue=(e,t,n)=>{const r=Ie(t.push(n)-1);return e.set(n,r),r},He=(e,t)=>{const n=$e(e,De).map(Fe),r=n[0],o=t||Ve,i=typeof r===_e&&r?Le(n,new Set,r,o):r;return o.call({"":i},"",i)},Ke=(e,t,n)=>{const r=t&&typeof t===_e?(e,n)=>""===e||-1<t.indexOf(e)?n:void 0:t||Ve,o=new Map,i=[],a=[];let s=+Ue(o,i,r.call({"":e},"",e)),c=!s;for(;s<i.length;)c=!0,a[s]=Te(i[s++],u,n);return"["+a.join(",")+"]";function u(e,t){if(c)return c=!c,t;const n=r.call(this,e,t);switch(typeof n){case _e:if(null===n)return n;case Me:return o.get(n)||Ue(o,i,n)}return n}};function We(e){return We="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},We(e)}var Ye={parse:function(e){var t=[];if(e.user)t=ze;else if(e.message)t=Ce;else if(e.options)t=Re;else if(e.component)t=qe;else{if(!e.update)throw new Error("The step ".concat(Ke(e)," is invalid"));t=Ne}for(var n=0,r=t.length;n<r;n+=1){var o=t[n],i=o.key,a=o.types,s=o.required;if(!e[i]&&s)throw new Error("Key '".concat(i,"' is required in step ").concat(Ke(e)));if(e[i]&&"any"!==a[0]&&a.indexOf(We(e[i]))<0)throw new Error("The type of '".concat(i,"' value must be ").concat(a.join(" or ")," instead of ").concat(We(e[i])))}var c=t.map((function(e){return e.key}));for(var u in e)c.indexOf(u)<0&&(console.error("Invalid key '".concat(u,"' in step '").concat(e.id,"'")),delete e[u]);return e},checkInvalidIds:function(e){for(var t in e){var n=e[t],r=e[t].trigger;if("function"!=typeof r)if(n.options)for(var o=n.options.filter((function(e){return"function"!=typeof e.trigger})).map((function(e){return e.trigger})),i=0,a=o.length;i<a;i+=1){var s=o[i];if(s&&!e[s])throw new Error("The id '".concat(s,"' triggered by option ").concat(i+1," in step '").concat(e[t].id,"' does not exist"))}else if(r&&!e[r])throw new Error("The id '".concat(r,"' triggered by step '").concat(e[t].id,"' does not exist"))}}};const Je=Ye;var Ze;var Ge=u().div(Ze||(Ze=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n background: ",";\n border-radius: 10px;\n box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.15);\n font-family: ",";\n overflow: hidden;\n position: ",";\n bottom: ",";\n top: ",";\n right: ",";\n left: ",";\n width: ",";\n height: ",";\n z-index: 999;\n transform: ",";\n transform-origin: ",";\n transition: transform 0.3s ease;\n\n @media screen and (max-width: 568px) {\n border-radius: ",";\n bottom: 0 !important;\n left: initial !important;\n height: 100%;\n right: 0 !important;\n top: initial !important;\n width: 100%;\n }\n"])),(function(e){return e.theme.background}),(function(e){return e.theme.fontFamily}),(function(e){return e.$floating?"fixed":"relative"}),(function(e){var t=e.$floating,n=e.$floatingStyle;return t?n.bottom||"32px":"initial"}),(function(e){var t=e.$floating,n=e.$floatingStyle;return t&&n.top||"initial"}),(function(e){var t=e.$floating,n=e.$floatingStyle;return t?n.right||"32px":"initial"}),(function(e){var t=e.$floating,n=e.$floatingStyle;return t&&n.left||"initial"}),(function(e){return e.width}),(function(e){return e.height}),(function(e){return e.$opened?"scale(1)":"scale(0)"}),(function(e){return e.$floatingStyle.transformOrigin||"bottom right"}),(function(e){return e.$floating?"0":""}));Ge.defaultProps={theme:V};const Qe=Ge;var Xe;var et=u().div(Xe||(Xe=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n height: calc("," - ",");\n overflow-y: scroll;\n margin-top: 2px;\n padding-top: 6px;\n\n @media screen and (max-width: 568px) {\n height: ",";\n }\n"])),(function(e){return e.height}),(function(e){return e.$hideInput?"56px":"112px"}),(function(e){return e.$floating?"calc(100% - 112px)":""}));const tt=et;var nt;var rt=u().div(nt||(nt=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n align-items: center;\n background: ",";\n color: ",";\n display: flex;\n fill: ",";\n height: 56px;\n justify-content: space-between;\n padding: 0 10px;\n"])),(function(e){return e.theme.headerBgColor}),(function(e){return e.theme.headerFontColor}),(function(e){return e.theme.headerFontColor}));rt.defaultProps={theme:V};const ot=rt;var it;var at=u().h2(it||(it=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n margin: 0;\n font-size: ",";\n"])),(function(e){return e.theme.headerFontSize}));at.defaultProps={theme:V};const st=at;var ct;var ut=u().a(ct||(ct=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n cursor: pointer;\n"])));const lt=ut;var pt;var ft=u().a(pt||(pt=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n align-items: center;\n cursor: pointer;\n background: ",";\n bottom: 32px;\n border-radius: 100%;\n box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.15);\n display: flex;\n fill: ",";\n height: 56px;\n justify-content: center;\n position: fixed;\n right: 32px;\n transform: ",";\n transition: transform 0.3s ease;\n width: 56px;\n z-index: 999;\n"])),(function(e){return e.theme.headerBgColor}),(function(e){return e.theme.headerFontColor}),(function(e){return e.$opened?"scale(0)":"scale(1)"}));ft.defaultProps={theme:{headerBgColor:"#6e48aa",headerFontColor:"#fff"}};const dt=ft;var bt;var yt=u().img(bt||(bt=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n height: 24px;\n width: 24px;\n"])));const ht=yt;var gt;var vt=u().div(gt||(gt=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n position: relative;\n"])));const mt=vt;var St,wt;function xt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}const Ot=u().input(St||(St=xt(["\n animation: ",";\n border: 0;\n border-radius: 0;\n border-bottom-left-radius: 10px;\n border-bottom-right-radius: 10px;\n border-top: ",";\n box-shadow: ",";\n box-sizing: border-box;\n color: ",";\n font-size: 16px;\n opacity: ",";\n outline: none;\n padding: ",";\n width: 100%;\n -webkit-appearance: none;\n\n &:disabled {\n background: #fff;\n }\n\n @media screen and (max-width: 568px) {\n border-bottom-left-radius: ",";\n border-bottom-right-radius: ",";\n }\n"])),(function(e){return e.$invalid?(0,c.css)(wt||(wt=xt(["\n "," .2s ease\n "])),w):""}),(function(e){return e.$invalid?"0":"1px solid #eee"}),(function(e){return e.$invalid?"inset 0 0 2px #E53935":"none"}),(function(e){return e.$invalid?"#E53935":""}),(function(e){return e.disabled&&!e.invalid?".5":"1"}),(function(e){return e.$hasButton?"16px 52px 16px 10px":"16px 10px"}),(function(e){return e.$floating?"0":"10px"}),(function(e){return e.$floating?"0":"10px"}));var jt,kt;function Et(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Pt=u().button(jt||(jt=Et(["\n background-color: transparent;\n border: 0;\n border-bottom-right-radius: 10px;\n box-shadow: none;\n cursor: ",";\n fill: ",";\n opacity: ",";\n outline: none;\n padding: 14px 16px 12px 16px;\n &:before {\n content: '';\n position: absolute;\n width: 23px;\n height: 23px;\n border-radius: 50%;\n animation: ",";\n }\n &:not(:disabled):hover {\n opacity: 0.7;\n }\n"])),(function(e){return e.disabled?"default":"pointer"}),(function(e){var t=e.$speaking,n=e.$invalid,r=e.theme;return t?r.headerBgColor:n?"#E53935":"#4a4a4a"}),(function(e){return e.disabled&&!e.$invalid?".5":"1"}),(function(e){var t,n=e.theme;return e.$speaking?(0,c.css)(kt||(kt=Et(["\n "," 2s ease infinite\n "])),(t=n.headerBgColor,(0,c.keyframes)(b||(b=y(["\n 0% { box-shadow: 0 0 0 0 ","; }\n 70% { box-shadow: 0 0 0 10px ","; }\n 100% { box-shadow: 0 0 0 0 ","; }\n"])),l(t,.4),l(t,0),l(t,0)))):""}));Pt.defaultProps={theme:V};const zt=Pt;function Ct(e){return Ct="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ct(e)}function Rt(){return Rt=Object.assign?Object.assign.bind():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},Rt.apply(this,arguments)}function qt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,(o=r.key,i=void 0,i=function(e,t){if("object"!==Ct(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Ct(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(o,"string"),"symbol"===Ct(i)?i:String(i)),r)}var o,i}var Nt=null,$t=function(){},Tt=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:$t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$t,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$t,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"en";return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Nt||(Nt=this),this.state={inputValue:"",lang:o,onChange:t,onEnd:n,onStop:r},this.onResult=this.onResult.bind(this),this.onEnd=this.onEnd.bind(this),this.setup(),Nt}var t,n,r;return t=e,r=[{key:"isSupported",value:function(){return"webkitSpeechRecognition"in window}}],(n=[{key:"onChange",value:function(e){var t=this.state.onChange;this.setState({inputValue:e}),t(e)}},{key:"onFinal",value:function(e){this.setState({inputValue:e}),this.recognition.stop()}},{key:"onEnd",value:function(){console.log("recognition ended");var e=this.state,t=e.onStop,n=e.onEnd,r=e.force;this.setState({speaking:!1}),r?t():n()}},{key:"onResult",value:function(e){for(var t="",n="",r=e.resultIndex;r<e.results.length;r+=1)e.results[r].isFinal?(n+=e.results[r][0].transcript,this.onFinal(n)):(t+=e.results[r][0].transcript,this.onChange(t))}},{key:"setState",value:function(e){this.state=Rt({},this.state,e)}},{key:"setup",value:function(){if(!e.isSupported())return console.warn("SpeechRecognition is not supported in this browser"),this;var t=window.webkitSpeechRecognition;return this.recognition=new t,this.recognition.continuous=!0,this.recognition.interimResults=!0,this.recognition.lang=this.state.lang,this.recognition.onresult=this.onResult,this.recognition.onend=this.onEnd,this}},{key:"setLang",value:function(e){return this.setState({lang:e}),this.setup(),this}},{key:"speak",value:function(){return e.isSupported()?(this.state.speaking?(this.setState({force:!0}),this.recognition.stop()):(console.log("recognition started"),this.recognition.start(),this.setState({speaking:!0,inputValue:""})),this):this}}])&&qt(t.prototype,n),r&&qt(t,r),Object.defineProperty(t,"prototype",{writable:!1}),e}();const Bt=function(){return t().createElement("svg",{height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg"},t().createElement("path",{d:"M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2z"}),t().createElement("path",{d:"M0 0h24v24H0z",fill:"none"}))};const It=function(){return t().createElement("svg",{height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg"},t().createElement("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),t().createElement("path",{d:"M0 0h24v24H0z",fill:"none"}))};var Mt=function(e){var n=e.size;return t().createElement("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:n,height:n,viewBox:"0 0 500 500"},t().createElement("g",null,t().createElement("g",null,t().createElement("polygon",{points:"0,497.25 535.5,267.75 0,38.25 0,216.75 382.5,267.75 0,318.75"}))))};Mt.propTypes={size:r().number},Mt.defaultProps={size:20};const At=Mt;var _t=function(e){var n=e.size;return t().createElement("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:n,height:n,viewBox:"0 0 400 400"},t().createElement("g",null,t().createElement("path",{d:"M290.991,240.991c0,26.392-21.602,47.999-48.002,47.999h-11.529c-26.4,0-48.002-21.607-48.002-47.999V104.002 c0-26.4,21.602-48.004,48.002-48.004h11.529c26.4,0,48.002,21.604,48.002,48.004V240.991z"}),t().createElement("path",{d:"M342.381,209.85h-8.961c-4.932,0-8.961,4.034-8.961,8.961v8.008c0,50.26-37.109,91.001-87.361,91.001 c-50.26,0-87.109-40.741-87.109-91.001v-8.008c0-4.927-4.029-8.961-8.961-8.961h-8.961c-4.924,0-8.961,4.034-8.961,8.961v8.008 c0,58.862,40.229,107.625,96.07,116.362v36.966h-34.412c-4.932,0-8.961,4.039-8.961,8.971v17.922c0,4.923,4.029,8.961,8.961,8.961 h104.688c4.926,0,8.961-4.038,8.961-8.961v-17.922c0-4.932-4.035-8.971-8.961-8.971h-34.43v-36.966 c55.889-8.729,96.32-57.5,96.32-116.362v-8.008C351.342,213.884,347.303,209.85,342.381,209.85z"})))};_t.propTypes={size:r().number},_t.defaultProps={size:20};const Vt=_t;var Ft=function(){return/iphone|ipod|android|ie|blackberry|fennec/i.test(navigator.userAgent)},Dt=function(e){return"string"==typeof e},Lt=function(e){return function(t,n){var r=e.lang,o=e.voice,i=e.enable,a=t.user;if(window.SpeechSynthesisUtterance&&window.speechSynthesis&&!a&&i){var s=function(e){var t=e.message,n=e.metadata,r=void 0===n?{}:n;return Dt(r.speak)?r.speak:Dt(t)?t:""}(t),c=new window.SpeechSynthesisUtterance;c.text=s.replace(/{previousValue}/g,n),c.lang=r,c.voice=o,window.speechSynthesis.speak(c)}}};function Ut(e){return Ut="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ut(e)}function Ht(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Kt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ht(Object(n),!0).forEach((function(t){Xt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ht(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Wt(){return Wt=Object.assign?Object.assign.bind():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},Wt.apply(this,arguments)}function Yt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,en(r.key),r)}}function Jt(e,t){return Jt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Jt(e,t)}function Zt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Qt(e);if(t){var o=Qt(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===Ut(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return Gt(e)}(this,n)}}function Gt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Qt(e){return Qt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Qt(e)}function Xt(e,t,n){return(t=en(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function en(e){var t=function(e,t){if("object"!==Ut(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Ut(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ut(t)?t:String(t)}var tn=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Jt(e,t)}(a,e);var n,r,o,i=Zt(a);function a(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),Xt(Gt(n=i.call(this,e)),"onNodeInserted",(function(e){var t=e.currentTarget;n.props.enableSmoothScroll&&n.supportsScrollBehavior?t.scroll({top:t.scrollHeight,left:0,behavior:"smooth"}):t.scrollTop=t.scrollHeight})),Xt(Gt(n),"onResize",(function(){n.content.scrollTop=n.content.scrollHeight})),Xt(Gt(n),"onRecognitionChange",(function(e){n.setState({inputValue:e})})),Xt(Gt(n),"onRecognitionEnd",(function(){n.setState({speaking:!1}),n.isInputValueEmpty()||n.handleSubmitButton()})),Xt(Gt(n),"onRecognitionStop",(function(){n.setState({speaking:!1})})),Xt(Gt(n),"onValueChange",(function(e){n.setState({inputValue:e.target.value})})),Xt(Gt(n),"getTriggeredStep",(function(e,t){var r=n.generateRenderedStepsById();return"function"==typeof e?e({value:t,steps:r}):e})),Xt(Gt(n),"getStepMessage",(function(e){var t=n.state.previousSteps,r=t.length>0?t.length-1:0,o=n.generateRenderedStepsById(),i=t[r].value;return"function"==typeof e?e({previousValue:i,steps:o}):e})),Xt(Gt(n),"generateRenderedStepsById",(function(){for(var e=n.state.previousSteps,t={},r=0,o=e.length;r<o;r+=1){var i=e[r],a=i.id,s=i.message,c=i.value,u=i.metadata;t[a]={id:a,message:s,value:c,metadata:u}}return t})),Xt(Gt(n),"triggerNextStep",(function(e){var t=n.props.enableMobileAutoFocus,r=n.state,o=r.defaultUserSettings,i=r.previousSteps,a=r.renderedSteps,c=r.steps,u=n.state,l=u.currentStep,p=u.previousStep,f=l.end;if(e&&e.value&&(l.value=e.value),e&&e.hideInput&&(l.hideInput=e.hideInput),e&&e.hideExtraControl&&(l.hideExtraControl=e.hideExtraControl),e&&e.trigger&&(l.trigger=n.getTriggeredStep(e.trigger,e.value)),f)n.handleEnd();else if(l.options&&e){var d=l.options.filter((function(t){return t.value===e.value}))[0],b=n.getTriggeredStep(d.trigger,l.value);delete l.options,l=Wt({},l,d,o,{user:!0,message:d.label,trigger:b}),a.pop(),i.pop(),a.push(l),i.push(l),n.setState({currentStep:l,renderedSteps:a,previousSteps:i})}else if(l.trigger){l.replace&&a.pop();var y=Wt({},c[n.getTriggeredStep(l.trigger,l.value)]);if(y.message)y.message=n.getStepMessage(y.message);else if(y.update){var h=y;if((y=Wt({},c[h.update])).options)for(var g=0,v=y.options.length;g<v;g+=1)y.options[g].trigger=h.trigger;else y.trigger=h.trigger}y.key=s()(24),p=l,l=y,n.setState({renderedSteps:a,currentStep:l,previousStep:p},(function(){y.user?n.setState({disabled:!1},(function(){!t&&Ft()||n.input&&n.input.focus()})):(a.push(y),i.push(y),n.setState({renderedSteps:a,previousSteps:i}))}))}var m=n.props,S=m.cache,w=m.cacheName;S&&setTimeout((function(){!function(e,t){var n=He(Ke(t));for(var r in n)for(var o=0,i=n[r].length;o<i;o+=1)n[r][o].component&&(n[r][o].component=n[r][o].id);localStorage.setItem(e,Ke(n))}(w,{currentStep:l,previousStep:p,previousSteps:i,renderedSteps:a})}),300)})),Xt(Gt(n),"handleEnd",(function(){var e=n.props.handleEnd;if(e){for(var t=n.state.previousSteps,r=t.map((function(e){return{id:e.id,message:e.message,value:e.value,metadata:e.metadata}})),o=[],i=0,a=t.length;i<a;i+=1){var s=t[i],c=s.id,u=s.message,l=s.value,p=s.metadata;o[c]={id:c,message:u,value:l,metadata:p}}e({renderedSteps:r,steps:o,values:t.filter((function(e){return e.value})).map((function(e){return e.value}))})}})),Xt(Gt(n),"isInputValueEmpty",(function(){var e=n.state.inputValue;return!e||0===e.length})),Xt(Gt(n),"isLastPosition",(function(e){var t=n.state.renderedSteps,r=t.length,o=t.map((function(e){return e.key})).indexOf(e.key);if(r<=1||o+1===r)return!0;var i=t[o+1];return!i.message&&!i.asMessage||e.user!==i.user})),Xt(Gt(n),"isFirstPosition",(function(e){var t=n.state.renderedSteps,r=t.map((function(e){return e.key})).indexOf(e.key);if(0===r)return!0;var o=t[r-1];return!o.message&&!o.asMessage||e.user!==o.user})),Xt(Gt(n),"handleKeyPress",(function(e){"Enter"===e.key&&n.submitUserMessage()})),Xt(Gt(n),"handleSubmitButton",(function(){var e=n.state,t=e.speaking,r=e.recognitionEnable;if(console.log("handleSubmitButton",{speaking:t,recognitionEnable:r}),(n.isInputValueEmpty()||t)&&r)return n.recognition.speak(),void(t||n.setState({speaking:!0}));n.submitUserMessage()})),Xt(Gt(n),"submitUserMessage",(function(){var e=n.state,t=e.defaultUserSettings,r=e.inputValue,o=e.previousSteps,i=e.renderedSteps,a=n.state.currentStep;a.validator&&n.checkInvalidInput()||(a=Wt({},t,a,{message:r,value:r}),i.push(a),o.push(a),n.setState({currentStep:a,renderedSteps:i,previousSteps:o,disabled:!0,inputValue:""},(function(){n.input&&n.input.blur()})))})),Xt(Gt(n),"checkInvalidInput",(function(){var e=n.props.enableMobileAutoFocus,t=n.state,r=t.currentStep,o=t.inputValue,i=r.validator(o),a=o;return("boolean"!=typeof i||!i)&&(n.setState({inputValue:i.toString(),inputInvalid:!0,disabled:!0},(function(){setTimeout((function(){n.setState({inputValue:a,inputInvalid:!1,disabled:!1},(function(){!e&&Ft()||n.input&&n.input.focus()}))}),2e3)})),!0)})),Xt(Gt(n),"toggleChatBot",(function(e){var t=n.props.toggleFloating;t?t({opened:e}):n.setState({opened:e})})),Xt(Gt(n),"renderStep",(function(e,r){var o=n.state.renderedSteps,i=n.props,a=i.avatarStyle,s=i.bubbleStyle,c=i.bubbleOptionStyle,u=i.customStyle,l=i.hideBotAvatar,p=i.hideUserAvatar,f=i.speechSynthesis,d=e.options,b=e.component,y=e.asMessage,h=n.generateRenderedStepsById(),g=r>0?o[r-1]:{};return b&&!y?t().createElement(I,{key:r,speak:n.speak,step:e,steps:h,style:u,previousStep:g,previousValue:g.value,triggerNextStep:n.triggerNextStep}):d?t().createElement(ie,{key:r,step:e,previousValue:g.value,triggerNextStep:n.triggerNextStep,bubbleOptionStyle:c}):t().createElement(Pe,{key:r,step:e,steps:h,speak:n.speak,previousStep:g,previousValue:g.value,triggerNextStep:n.triggerNextStep,avatarStyle:a,bubbleStyle:s,hideBotAvatar:l,hideUserAvatar:p,speechSynthesis:f,isFirst:n.isFirstPosition(e),isLast:n.isLastPosition(e)})})),n.content=null,n.input=null,n.supportsScrollBehavior=!1,n.setContentRef=function(e){n.content=e},n.setInputRef=function(e){n.input=e},n.state={renderedSteps:[],previousSteps:[],currentStep:{},previousStep:{},steps:{},disabled:!0,opened:e.opened||!e.floating,inputValue:"",inputInvalid:!1,speaking:!1,recognitionEnable:e.recognitionEnable&&Tt.isSupported(),defaultUserSettings:{}},n.speak=Lt(e.speechSynthesis),n}return n=a,o=[{key:"getDerivedStateFromProps",value:function(e,t){var n=e.opened;return void 0!==e.toggleFloating&&void 0!==n&&n!==t.opened?Kt(Kt({},t),{},{opened:n}):t}}],(r=[{key:"componentDidMount",value:function(){for(var e=this,t=this.props.steps,n=this.props,r=n.botDelay,o=n.botAvatar,i=n.botName,a=n.cache,s=n.cacheName,c=n.customDelay,u=n.enableMobileAutoFocus,l=n.userAvatar,p={},f={delay:r,avatar:o,botName:i},d={delay:n.userDelay,avatar:l,hideInput:!1,hideExtraControl:!1},b={delay:c},y=0,h=t.length;y<h;y+=1){var g=t[y],v={};g.user?v=d:g.message||g.asMessage?v=f:g.component&&(v=b),p[g.id]=Wt({},v,Je.parse(g))}Je.checkInvalidIds(p);var m=t[0];if(m.message){var S=m.message;m.message="function"==typeof S?S():S,p[m.id].message=m.message}var w=this.state.recognitionEnable,x=this.props.recognitionLang;w&&(this.recognition=new Tt(this.onRecognitionChange,this.onRecognitionEnd,this.onRecognitionStop,x)),this.supportsScrollBehavior="scrollBehavior"in document.documentElement.style,this.content&&(this.content.addEventListener("DOMNodeInserted",this.onNodeInserted),window.addEventListener("resize",this.onResize));var O=function(e,t){var n=e.cacheName,r=e.cache,o=e.firstStep,i=e.steps,a=o,s=[i[a.id]],c=[i[a.id]],u=localStorage.getItem(n);if(r&&u)try{var l=He(u),p=l.renderedSteps[l.renderedSteps.length-1];if(!p||!p.end){for(var f=0,d=l.renderedSteps.length;f<d;f+=1){var b=l.renderedSteps[f];if(l.renderedSteps[f].delay=0,l.renderedSteps[f].rendered=!0,b.component){var y=b.id;l.renderedSteps[f].component=i[y].component}}var h=l.currentStep,g=h.trigger,v=h.end,m=h.options,S=l.currentStep.id;if(m&&delete l.currentStep.rendered,!g&&!v)if(m)for(var w=0;w<m.length;w+=1)l.currentStep.options[w].trigger=i[S].options[w].trigger;else l.currentStep.trigger=i[S].trigger;return l.currentStep.user&&t(),l}localStorage.removeItem(n)}catch(e){console.info("Unable to parse cache named:".concat(n,". \nThe cache where probably created with an older version of react-simple-chatbot.\n"),e)}return{currentStep:a,previousStep:{},previousSteps:c,renderedSteps:s}}({cacheName:s,cache:a,firstStep:m,steps:p},(function(){e.setState({disabled:!1},(function(){!u&&Ft()||e.input&&e.input.focus()}))})),j=O.currentStep,k=O.previousStep,E=O.previousSteps,P=O.renderedSteps;this.setState({currentStep:j,defaultUserSettings:d,previousStep:k,previousSteps:E,renderedSteps:P,steps:p})}},{key:"componentWillUnmount",value:function(){this.content&&(this.content.removeEventListener("DOMNodeInserted",this.onNodeInserted),window.removeEventListener("resize",this.onResize))}},{key:"render",value:function(){var e,n=this,r=this.state,o=r.currentStep,i=r.disabled,a=r.inputInvalid,s=r.inputValue,c=r.opened,u=r.renderedSteps,l=r.speaking,p=r.recognitionEnable,f=this.props,d=f.className,b=f.contentStyle,y=f.extraControl,h=f.controlStyle,g=f.floating,v=f.floatingIcon,m=f.floatingStyle,S=f.footerStyle,w=f.headerComponent,x=f.headerTitle,O=f.hideHeader,j=f.hideSubmitButton,k=f.inputStyle,E=f.placeholder,P=f.inputAttributes,z=f.recognitionPlaceholder,C=f.style,R=f.submitButtonStyle,q=f.width,N=f.height,$=w||t().createElement(ot,{className:"rsc-header"},t().createElement(st,{className:"rsc-header-title"},x),g&&t().createElement(lt,{className:"rsc-header-close-button",onClick:function(){return n.toggleChatBot(!1)}},t().createElement(It,null)));void 0!==y&&(e=t().cloneElement(y,{disabled:i,speaking:l,invalid:a}));var T=(this.isInputValueEmpty()||l)&&p?t().createElement(Vt,null):t().createElement(At,null),B=l?z:o.placeholder||E,I=o.inputAttributes||P;return t().createElement("div",{className:"rsc ".concat(d)},g&&t().createElement(dt,{className:"rsc-float-button",style:m,$opened:c,onClick:function(){return n.toggleChatBot(!0)}},"string"==typeof v?t().createElement(ht,{src:v}):v),t().createElement(Qe,{className:"rsc-container",$floating:g,$floatingStyle:m,$opened:c,style:C,width:q,height:N},!O&&$,t().createElement(tt,{className:"rsc-content",ref:this.setContentRef,$floating:g,style:b,height:N,$hideInput:o.hideInput},u.map(this.renderStep)),t().createElement(mt,{className:"rsc-footer",style:S},!o.hideInput&&t().createElement(Ot,Wt({type:"textarea",style:k,ref:this.setInputRef,className:"rsc-input",placeholder:a?"":B,onKeyPress:this.handleKeyPress,onChange:this.onValueChange,value:s,$floating:g,$invalid:a,disabled:i,$hasButton:!j},I)),t().createElement("div",{style:h,className:"rsc-controls"},!o.hideInput&&!o.hideExtraControl&&e,!o.hideInput&&!j&&t().createElement(zt,{className:"rsc-submit-button",style:R,onClick:this.handleSubmitButton,$invalid:a,disabled:i,$speaking:l},T)))))}}])&&Yt(n.prototype,r),o&&Yt(n,o),Object.defineProperty(n,"prototype",{writable:!1}),a}(e.Component);tn.propTypes={avatarStyle:r().objectOf(r().any),botAvatar:r().string,botName:r().string,botDelay:r().number,bubbleOptionStyle:r().objectOf(r().any),bubbleStyle:r().objectOf(r().any),cache:r().bool,cacheName:r().string,className:r().string,contentStyle:r().objectOf(r().any),customDelay:r().number,customStyle:r().objectOf(r().any),controlStyle:r().objectOf(r().any),enableMobileAutoFocus:r().bool,enableSmoothScroll:r().bool,extraControl:r().objectOf(r().element),floating:r().bool,floatingIcon:r().oneOfType([r().string,r().element]),floatingStyle:r().objectOf(r().any),footerStyle:r().objectOf(r().any),handleEnd:r().func,headerComponent:r().element,headerTitle:r().string,height:r().string,hideBotAvatar:r().bool,hideHeader:r().bool,hideSubmitButton:r().bool,hideUserAvatar:r().bool,inputAttributes:r().objectOf(r().any),inputStyle:r().objectOf(r().any),opened:r().bool,toggleFloating:r().func,placeholder:r().string,recognitionEnable:r().bool,recognitionLang:r().string,recognitionPlaceholder:r().string,speechSynthesis:r().shape({enable:r().bool,lang:r().string,voice:"undefined"!=typeof window?r().instanceOf(window.SpeechSynthesisVoice):r().any}),steps:r().arrayOf(r().object).isRequired,style:r().objectOf(r().any),submitButtonStyle:r().objectOf(r().any),userAvatar:r().string,userDelay:r().number,width:r().string},tn.defaultProps={avatarStyle:{},botDelay:1e3,botName:"The bot",bubbleOptionStyle:{},bubbleStyle:{},cache:!1,cacheName:"rsc_cache",className:"",contentStyle:{},customStyle:{},controlStyle:{position:"absolute",right:"0",top:"0"},customDelay:1e3,enableMobileAutoFocus:!1,enableSmoothScroll:!1,extraControl:void 0,floating:!1,floatingIcon:t().createElement(Bt,null),floatingStyle:{},footerStyle:{},handleEnd:void 0,headerComponent:void 0,headerTitle:"Chat",height:"520px",hideBotAvatar:!1,hideHeader:!1,hideSubmitButton:!1,hideUserAvatar:!1,inputStyle:{},opened:void 0,placeholder:"Type the message ...",inputAttributes:{},recognitionEnable:!1,recognitionLang:"en",recognitionPlaceholder:"Listening ...",speechSynthesis:{enable:!1,lang:"en",voice:null},style:{},submitButtonStyle:{},toggleFloating:void 0,userDelay:1e3,width:"350px",botAvatar:"data:image/svg+xml,%3csvg version='1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3e%3cpath d='M303 70a47 47 0 1 0-70 40v84h46v-84c14-8 24-23 24-40z' fill='%2393c7ef'/%3e%3cpath d='M256 23v171h23v-84a47 47 0 0 0-23-87z' fill='%235a8bb0'/%3e%3cpath fill='%2393c7ef' d='M0 240h248v124H0z'/%3e%3cpath fill='%235a8bb0' d='M264 240h248v124H264z'/%3e%3cpath fill='%2393c7ef' d='M186 365h140v124H186z'/%3e%3cpath fill='%235a8bb0' d='M256 365h70v124h-70z'/%3e%3cpath fill='%23cce9f9' d='M47 163h419v279H47z'/%3e%3cpath fill='%2393c7ef' d='M256 163h209v279H256z'/%3e%3cpath d='M194 272a31 31 0 0 1-62 0c0-18 14-32 31-32s31 14 31 32z' fill='%233c5d76'/%3e%3cpath d='M380 272a31 31 0 0 1-62 0c0-18 14-32 31-32s31 14 31 32z' fill='%231e2e3b'/%3e%3cpath d='M186 349a70 70 0 1 0 140 0H186z' fill='%233c5d76'/%3e%3cpath d='M256 349v70c39 0 70-31 70-70h-70z' fill='%231e2e3b'/%3e%3c/svg%3e",userAvatar:"data:image/svg+xml,%3csvg viewBox='-208.5 21 100 100' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ccircle cx='-158.5' cy='71' fill='%23F5EEE5' r='50'/%3e%3cdefs%3e%3ccircle cx='-158.5' cy='71' id='a' r='50'/%3e%3c/defs%3e%3cclipPath id='b'%3e%3cuse overflow='visible' xlink:href='%23a'/%3e%3c/clipPath%3e%3cpath clip-path='url(%23b)' d='M-108.5 121v-14s-21.2-4.9-28-6.7c-2.5-.7-7-3.3-7-12V82h-30v6.3c0 8.7-4.5 11.3-7 12-6.8 1.9-28.1 7.3-28.1 6.7v14h100.1z' fill='%23E6C19C'/%3e%3cg clip-path='url(%23b)'%3e%3cdefs%3e%3cpath d='M-108.5 121v-14s-21.2-4.9-28-6.7c-2.5-.7-7-3.3-7-12V82h-30v6.3c0 8.7-4.5 11.3-7 12-6.8 1.9-28.1 7.3-28.1 6.7v14h100.1z' id='c'/%3e%3c/defs%3e%3cclipPath id='d'%3e%3cuse overflow='visible' xlink:href='%23c'/%3e%3c/clipPath%3e%3cpath clip-path='url(%23d)' d='M-158.5 100.1c12.7 0 23-18.6 23-34.4 0-16.2-10.3-24.7-23-24.7s-23 8.5-23 24.7c0 15.8 10.3 34.4 23 34.4z' fill='%23D4B08C'/%3e%3c/g%3e%3cpath d='M-158.5 96c12.7 0 23-16.3 23-31 0-15.1-10.3-23-23-23s-23 7.9-23 23c0 14.7 10.3 31 23 31z' fill='%23F2CEA5'/%3e%3c/svg%3e"};const nn=tn})(),i})()));
//# sourceMappingURL=react-simple-chatbot.js.map