/
702.616c86e5f653d8c9e05f.js.map
1 lines (1 loc) · 94.8 KB
/
702.616c86e5f653d8c9e05f.js.map
1
{"version":3,"file":"702.616c86e5f653d8c9e05f.js","mappings":"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","sources":["webpack://LHCReactAPP/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://LHCReactAPP/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://LHCReactAPP/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://LHCReactAPP/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://LHCReactAPP/./src/components/ChatAbort.js","webpack://LHCReactAPP/./src/components/ChatBotIntroMessage.js","webpack://LHCReactAPP/./src/components/ChatDepartment.js","webpack://LHCReactAPP/./src/components/ChatField.js","webpack://LHCReactAPP/./src/components/ChatModal.js","webpack://LHCReactAPP/./src/components/ChatErrorList.js","webpack://LHCReactAPP/./src/components/ChatStartOptions.js","webpack://LHCReactAPP/./src/components/ChatInvitationMessage.js","webpack://LHCReactAPP/./src/components/StartChat.js","webpack://LHCReactAPP/./node_modules/xwiper/index.js"],"sourcesContent":["function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","function _iterableToArrayLimit(arr, i) {\n if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) {\n return;\n }\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nmodule.exports = _nonIterableRest;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","import React, { PureComponent } from 'react';\n\nclass ChatAbort extends PureComponent {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n return <React.Fragment>\n <div className=\"fade modal-backdrop show\"></div>\n <div role=\"dialog\" id=\"dialog-content\" aria-modal=\"true\" className=\"fade modal show d-block p-2\" tabIndex=\"-1\">\n <div className=\"modal-content p-2\">\n <p>{this.props.text}</p>\n <div className=\"modal-footer\">\n <button className=\"btn btn-secondary btn-sm\" onClick={this.props.close} type=\"button\">{this.props.closeText}</button>\n </div>\n </div>\n </div>\n </React.Fragment>;\n }\n}\n\nexport default ChatAbort;\n","import React, { PureComponent } from 'react';\nimport parse, { domToReact } from 'html-react-parser';\nimport { connect } from \"react-redux\";\nimport { withTranslation } from 'react-i18next';\n\nclass ChatBotIntroMessage extends PureComponent {\n\n constructor(props) {\n super(props);\n this.abstractClick = this.abstractClick.bind(this);\n this.updateTriggerClicked = this.updateTriggerClicked.bind(this);\n this.processBotAction = this.processBotAction.bind(this);\n this.disableEditor = false;\n }\n\n addLoader(attrs, element) {\n if (!attrs[\"data-no-change\"] && attrs.type == 'button') {\n element.setAttribute(\"disabled\",\"disabled\");\n element.innerHTML = \"<i class=\\\"material-icons\\\"></i>\" + element.innerHTML;\n }\n }\n\n /**\n * Here we handle bot buttons actions\n * */\n abstractClick(attrs, e) {\n\n const { t } = this.props;\n\n this.addLoader(attrs,e.target);\n\n if (attrs.onclick.indexOf('lhinst.updateTriggerClicked') !== -1) {\n this.updateTriggerClicked({type:'triggerclicked'}, attrs, e.target);\n } else if (attrs.onclick.indexOf('notificationsLHC.sendNotification') !== -1) {\n // todo\n } else if (attrs.onclick.indexOf('lhinst.buttonClicked') !== -1) {\n this.updateTriggerClicked({type:''}, attrs, e.target);\n } else if (attrs.onclick.indexOf('lhinst.updateChatClicked') !== -1) {\n this.updateTriggerClicked({type:'',mainType: 'updatebuttonclicked'}, attrs, e.target);\n } else if (attrs.onclick.indexOf('lhinst.editGenericStep') !== -1) {\n this.updateTriggerClicked({type:'editgenericstep'}, attrs, e.target);\n } else if (attrs.onclick.indexOf('lhinst.dropdownClicked') !== -1) {\n const list = document.getElementById('id_generic_list-' + attrs['data-id']);\n if (list && list.value != \"0\" && list.value != \"\") {\n attrs['data-payload'] = list.value;\n this.updateTriggerClicked({type:'valueclicked'}, attrs, e.target);\n } else {\n alert(t('bot.please_choose'));\n }\n } else {\n helperFunctions.emitEvent('MessageClick',[attrs, this.props.dispatch]);\n console.log('Unknown click event: ' + attrs.onclick);\n }\n\n e.preventDefault();\n }\n\n updateTriggerClicked(paramsType, attrs, target) {\n this.props.setBotPayload({type: paramsType['type'], payload: attrs['data-payload'], id : attrs['data-id'], processed : (typeof attrs['data-keep'] === 'undefined')})\n }\n\n processBotAction(domNode) {\n\n const attr = domNode.attribs;\n\n if (attr['data-bot-action'] == 'lhinst.disableVisitorEditor') {\n this.disableEditor = true;\n } else if (attr['data-bot-action'] == 'lhinst.setDelay') {\n //this.delayData.push(JSON.parse(attr['data-bot-args']));\n } else if (attr['data-bot-action'] == 'execute-js') {\n eval(domNode.children[0]['data']);\n }\n }\n\n render() {\n\n return parse(this.props.content, {\n\n replace: domNode => {\n if (domNode.attribs) {\n\n var cloneAttr = Object.assign({}, domNode.attribs);\n\n if (domNode.attribs.onclick) {\n delete domNode.attribs.onclick;\n }\n\n if (domNode.name && domNode.name === 'button') {\n if (cloneAttr.onclick) {\n return <button {...domNode.attribs} onClick={(e) => this.abstractClick(cloneAttr, e)} >{domToReact(domNode.children)}</button>\n }\n } else if (domNode.name && domNode.name === 'a') {\n if (cloneAttr.onclick) {\n return <a {...domNode.attribs} onClick={(e) => this.abstractClick(cloneAttr, e)} >{domToReact(domNode.children)}</a>\n }\n } else if (domNode.name && domNode.name === 'script' && domNode.attribs['data-bot-action']) {\n this.processBotAction(domNode);\n }\n }\n }\n });\n }\n}\n\nexport default ChatBotIntroMessage;","import React, { Component } from 'react';\nimport { withTranslation } from 'react-i18next';\nimport { getProducts } from \"../actions/chatActions\"\nimport { connect } from \"react-redux\";\n\nclass ChatDepartment extends Component {\n\n constructor(props) {\n super(props);\n this.onchangeAttr = this.onchangeAttr.bind(this);\n this.onchangeAttrProduct = this.onchangeAttrProduct.bind(this);\n }\n\n onchangeAttr(e) {\n this.props.onChangeContent({id : 'DepartamentID', value : e.value});\n\n if (this.props.departments.getIn(['settings','product_by_department']) === true) {\n this.props.dispatch(getProducts({'dep_id' : e.value}));\n }\n }\n\n onchangeAttrProduct(e) {\n this.props.onChangeContent({id : 'ProductID', value : e.value});\n }\n\n componentDidMount() {\n\n // We have product functionality enabled\n if (this.props.departments.getIn(['settings','product']) === true && (this.props.departments.getIn(['settings','product_by_department']) === true || this.props.departments.has('products')))\n {\n this.props.onChangeContent({id : 'HasProductID', value : true});\n }\n\n if (this.props.departments.get('departments').size == 0)\n {\n return;\n }\n\n if (this.props.departments.get('departments').size == 1 || !this.props.departments.hasIn(['settings','optional'])) {\n this.onchangeAttr({'value': this.props.setDefaultValue || this.props.departments.getIn(['departments',0]).get('value')});\n } else if (this.props.departments.get('departments').size > 1) {\n this.onchangeAttr({'value': -1});\n }\n }\n\n render() {\n\n const { t } = this.props;\n\n var departmentOutput = null;\n if (this.props.departments.get('departments').size > 1 && !this.props.departments.hasIn(['settings','hide_department'])) {\n var classNameInput = ['form-control','form-control-sm'];\n\n if (this.props.isInvalid === true) {\n classNameInput.push('is-invalid');\n }\n\n var options = this.props.departments.get('departments').map(dep => <option key={'dep-'+dep.get('value')} value={dep.get('value')}>{dep.get('name')} {!dep.get('online') ? t('department.offline') : ''}</option>);\n departmentOutput = <div className=\"form-group\">\n <label className=\"control-label\">{this.props.departments.getIn(['settings','label'])}*</label>\n <select id=\"id-department-field\" defaultValue={this.props.setDefaultValue || this.props.defaultValueField} className={classNameInput.join(' ')} onChange={(e) => this.onchangeAttr({'value' : e.target.value})}>\n {this.props.departments.hasIn(['settings','optional']) && <option value=\"-1\">{this.props.departments.getIn(['settings','optional'])}</option>}\n {options}\n </select>\n </div>;\n }\n\n var productOutput = null;\n if (this.props.departments.getIn(['settings','product']) === true) {\n var classNameInputProduct = ['form-control','form-control-sm'];\n\n if (this.props.isInvalidProduct === true) {\n classNameInputProduct.push('is-invalid');\n }\n\n var prouducts = this.props.departments.has('products') ? this.props.departments.get('products').map(dep => <option key={'product-'+dep.get('value')} value={dep.get('value')}>{dep.get('name')}</option>) : \"\";\n if (this.props.departments.has('products') && this.props.departments.get('products').size > 0) {\n productOutput = <div className=\"form-group\">\n <label className=\"control-label\">{t('department.product')}{this.props.departments.getIn(['settings','product_required']) === true ? '*' : ''}</label>\n <select className={classNameInputProduct.join(' ')} onChange={(e) => this.onchangeAttrProduct({'value' : e.target.value})}>\n <option value=\"\">{t('department.choose_a_product')}</option>\n {prouducts}\n </select>\n </div>;\n };\n }\n\n if (productOutput !== null || departmentOutput !== null){\n return <div className=\"col-12\">{departmentOutput}{productOutput}</div>\n } else {\n return null;\n }\n }\n}\n\nexport default connect()(withTranslation()(ChatDepartment));\n","import React, { Component } from 'react';\nimport { withTranslation } from 'react-i18next';\n\nclass ChatField extends Component {\n\n state = {\n hiddenIfPrefilled: false\n };\n\n constructor(props) {\n super(props);\n this.onchangeAttr = this.onchangeAttr.bind(this);\n this.onFileAdded = this.onFileAdded.bind(this);\n }\n\n onchangeAttr(e) {\n this.props.onChangeContent({id : this.props.field.get('name'), value : e.value, field : this.props.field});\n }\n\n onFileAdded(e) {\n const list = e.target.files;\n const files = [];\n for (var i = 0; i < list.length; i++) {\n files.push(list.item(i));\n }\n\n if (list.length == 0) {\n return null;\n }\n\n const ruleTest = new RegExp(\"(\\.|\\/)(\" + this.props.field.get('ft_us') + \")$\",\"i\");\n\n const { t } = this.props;\n\n let uploadErrors = [];\n files.forEach(file => {\n if (!(ruleTest.test(file.type) || ruleTest.test(file.name))) {\n uploadErrors.push(file.name + ': ' + t('file.incorrect_type'));\n }\n if (file.size > this.props.field.get('fs')) {\n uploadErrors.push(file.name + ': '+ t('file.to_big_file'));\n }\n });\n\n if (uploadErrors.length > 0) {\n alert(uploadErrors.join(\"\\n\"));\n } else {\n this.props.onChangeContent({id : this.props.field.get('name'), value : files[0], field : this.props.field});\n }\n }\n\n componentDidMount() {\n if (this.props.field.get('type') == 'checkbox' && this.props.field.get('default') == true) {\n this.props.onChangeContent({id : this.props.field.get('name'), value : true});\n } else if (this.props.field.get('type') == 'dropdown') {\n this.props.onChangeContent({id : this.props.field.get('name'), value : this.props.defaultValueField});\n }\n\n if (this.props.attrPrefill && this.props.attrPrefill.attr_prefill_admin) {\n this.props.attrPrefill.attr_prefill_admin.forEach((item) => {\n if (item.index == this.props.field.get('identifier') || (this.props.field.has('identifier_prefill') && item.index == this.props.field.get('identifier_prefill'))) {\n this.props.onChangeContent({id : this.props.field.get('name'), value : item.value});\n // Hide only valid prefilled fields\n if (this.props.field.has('hide_prefilled') && this.props.field.get('hide_prefilled') == true && this.props.isInvalid === false) {\n this.setState({'hiddenIfPrefilled':true});\n }\n }\n });\n }\n }\n\n render() {\n\n if (this.state.hiddenIfPrefilled === true && this.props.isInvalid !== true) {\n return null;\n }\n\n var className = 'col-' + this.props.field.get('width');\n var required = this.props.field.get('required') === true;\n\n var classNameInput = [];\n\n if (this.props.field.get('class') != '') {\n classNameInput.push(this.props.field.get('class'));\n }\n\n if (this.props.isInvalid === true) {\n classNameInput.push('is-invalid');\n }\n\n if (this.props.field.get('type') == 'text') {\n return (\n <div className={className}>\n <div className=\"form-group\">\n <label className=\"control-label\">{this.props.field.get('label')}{required === true ? '*' : ''}</label>\n <input type=\"text\" className={classNameInput.join(' ')} required={required} onChange={(e) => this.onchangeAttr({'value' : e.target.value})} name={this.props.field.get('name')} defaultValue={this.props.defaultValueField} placeholder={this.props.field.get('placeholder')} />\n </div>\n </div>\n )\n } else if (this.props.field.get('type') == 'password') {\n return (\n <div className={className}>\n <div className=\"form-group\">\n <label className=\"control-label\">{this.props.field.get('label')}{required === true ? '*' : ''}</label>\n <input type=\"password\" autocomplete=\"new-password\" className={classNameInput.join(' ')} required={required} onChange={(e) => this.onchangeAttr({'value' : e.target.value})} name={this.props.field.get('name')} defaultValue={this.props.defaultValueField} placeholder={this.props.field.get('placeholder')} />\n </div>\n </div>\n )\n } else if (this.props.field.get('type') == 'textarea') {\n return (\n <div className={className}>\n <div className=\"form-group\">\n {!this.props.chatUI.has('hide_message_label') && this.props.field.get('identifier') == 'question' && <label className=\"control-label\">{this.props.field.get('label')}{required === true ? '*' : ''}</label>}\n <textarea className={classNameInput.join(' ')} required={required} onChange={(e) => this.onchangeAttr({'value' : e.target.value})} name={this.props.field.get('name')} defaultValue={this.props.defaultValueField} placeholder={this.props.field.get('placeholder')} />\n </div>\n </div>\n )\n } else if (this.props.field.get('type') == 'file') {\n return (\n <div className={className}>\n <div className=\"form-group overflow-hidden\">\n <label className=\"control-label\">{this.props.field.get('label')}{required === true ? '*' : ''}</label>\n <input type=\"file\" onChange={(e) => this.onFileAdded(e)} className={this.props.field.get('class')} required={required} name={this.props.field.get('name')} />\n </div>\n </div>\n )\n } else if (this.props.field.get('type') == 'checkbox') {\n return (\n <div className={className}>\n <div className=\"form-group\">\n <div className=\"form-check\">\n <input className={classNameInput.join(' ')} id={\"check-for-\"+this.props.field.get('name')} defaultChecked={this.props.field.get('default')} type=\"checkbox\" value=\"on\" onChange={(e) => this.onchangeAttr({'value' : e.target.checked})} required={required} name={this.props.field.get('name')} />\n <label className=\"form-check-label\" for={'check-for-'+this.props.field.get('name')} dangerouslySetInnerHTML={{ __html:this.props.field.get('label')}}></label>\n </div>\n </div>\n </div>\n )\n } else if (this.props.field.get('type') == 'hidden') {\n return <input type=\"hidden\" className={classNameInput.join(' ')} required={required} onChange={(e) => this.onchangeAttr({'value' : e.target.value})} name={this.props.field.get('name')} defaultValue={this.props.defaultValueField} placeholder={this.props.field.get('placeholder')} />\n } else if (this.props.field.get('type') == 'dropdown') {\n var options = this.props.field.get('options').map(dep => <option key={'opt-drop-'+dep.get('value')} selected={this.props.defaultValueField == dep.get('value')} value={dep.get('value')}>{dep.get('name')}</option>);\n return (<div className={className}>\n <div className=\"form-group\">\n <label className=\"control-label\">{this.props.field.get('label')}{required === true ? '*' : ''}</label>\n <select className={classNameInput.join(' ')} required={required} onChange={(e) => this.onchangeAttr({'value' : e.target.value})} name={this.props.field.get('name')} defaultValue={this.props.defaultValueField}>\n {options}\n </select>\n </div>\n </div>);\n } else {\n console.log('Unknown field');\n return null;\n }\n }\n}\n\nexport default withTranslation()(ChatField);\n","import React, { PureComponent } from 'react';\nimport axios from \"axios\";\nimport parse, { domToReact } from 'html-react-parser';\nimport { withTranslation } from 'react-i18next';\nimport Xwiper from 'xwiper';\n\nclass ChatModal extends PureComponent {\n\n state = {\n body: null\n };\n \n constructor(props) {\n super(props);\n }\n\n componentDidMount() {\n axios.get(window.lhcChat['base_url'] + this.props.dataUrl)\n .then((response) => {\n this.setState({'body' : response.data});\n var container = document.getElementById('dialog-content');\n var bsn = require(\"bootstrap.native/dist/bootstrap-native-v4\");\n var tabs = container.querySelectorAll('[data-toggle=\"tab\"]');\n\n if (tabs.length > 0) {\n var activeTab = 0;\n Array.prototype.forEach.call(tabs, function(element){ new bsn.Tab( element) });\n\n const xwiper = new Xwiper('.tab-content');\n xwiper.onSwipeLeft(() => {\n activeTab = activeTab < (tabs.length - 1) ? (activeTab + 1) : 0;\n tabs[activeTab].Tab.show();\n });\n\n xwiper.onSwipeRight(() => {\n activeTab = activeTab > 0 ? (activeTab - 1) : (tabs.length - 1);\n tabs[activeTab].Tab.show();\n });\n }\n\n })\n .catch((err) => {\n console.log(err);\n })\n }\n\n dismissModal = () => {\n this.props.toggle()\n }\n\n generalOnClick = (e) => {\n const { t } = this.props;\n\n var txtToAdd = e['data-bb-code'];\n if (e['data-promt'] && e['data-promt'] == 'img') {\n var link = prompt(t('bbcode.img_link'));\n if (link) {\n txtToAdd = '[' + txtToAdd + ']' + link + '[/' + txtToAdd + ']';\n }\n } else if (e['data-promt'] && e['data-promt'] == 'url') {\n var link = prompt(t('bbcode.link'));\n if (link) {\n txtToAdd = '[url=' + link + ']'+t('bbcode.link_here')+'[/url]';\n }\n }\n this.props.insertText(txtToAdd);\n this.props.toggle();\n }\n\n generalDataActionClick = (e) => {\n if (e['data-action'] && this.props[e['data-action']]) {\n this.props[e['data-action']]();\n }\n }\n\n render() {\n\n return (\n <React.Fragment>\n {this.state.body !== null && <div className=\"fade modal-backdrop show\"></div>}\n {this.state.body !== null && <div role=\"dialog\" id=\"dialog-content\" aria-modal=\"true\" className=\"fade modal show d-block\" tabIndex=\"-1\">{parse(this.state.body, {\n replace: domNode => {\n\n if (domNode.attribs && domNode.attribs.id === 'react-close-modal') {\n return <button type=\"button\" className=\"close float-right\" data-dismiss=\"modal\" onClick={this.dismissModal} aria-label=\"Close\"><span aria-hidden=\"true\">×</span></button>;\n } else if (domNode.attribs && domNode.attribs.bbitem) {\n if (domNode.attribs.class) {\n domNode.attribs.className = domNode.attribs.class;\n delete domNode.attribs.class;\n }\n return (\n <a {...domNode.attribs} onClick={(e) => this.generalOnClick(domNode.attribs)}>{domToReact(domNode.children)}</a>\n );\n } else if (domNode.type && domNode.type === 'tag' && domNode.name && domNode.name == 'input' && domNode.attribs && domNode.attribs.type && domNode.attribs.type == \"button\") {\n\n if (domNode.attribs.class) {\n domNode.attribs.className = domNode.attribs.class;\n delete domNode.attribs.class;\n }\n\n return (<input {...domNode.attribs} onClick={(e) => this.generalDataActionClick(domNode.attribs)} />);\n\n } else if (domNode.type && domNode.type === 'script') {\n if (domNode.children.length > 0)\n {\n setTimeout(() => {\n const newScript = document.createElement(\"script\");\n newScript.appendChild(document.createTextNode(domNode.children[0].data));\n var head = document.getElementsByTagName('head').item(0);\n head.appendChild(newScript);\n },500);\n } else if (domNode.attribs && domNode.attribs.src) {\n const newScript = document.createElement('script');\n newScript.src = domNode.attribs.src;\n newScript.type ='text/javascript';\n var head = document.getElementsByTagName('head').item(0);\n head.appendChild(newScript);\n }\n return <React.Fragment></React.Fragment>;\n }\n }\n }\n )}</div>}\n </React.Fragment>\n )\n }\n}\n\nexport default withTranslation()(ChatModal);\n","import React, { Component } from 'react';\nimport { connect } from \"react-redux\";\n\nclass ChatErrorList extends Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n\n var mappedFields = this.props.errors.mapEntries(([k, v]) => {\n if (k == 'captcha' || k == 'blocked_user' || !isNaN(k)) {\n return [<li>{v}</li>]\n }\n });\n\n if (mappedFields.size > 0) {\n return (\n <div data-alert=\"\" className=\"mt-2 alert alert-danger alert-dismissible fade show\">\n <ul className=\"pl-1 m-0\">\n {mappedFields}\n </ul>\n </div>\n )\n } else {\n return null;\n }\n }\n}\n\nexport default ChatErrorList;\n","import React, { PureComponent } from 'react';\n\nclass ChatStartOptions extends PureComponent {\n\n constructor(props) {\n super(props);\n }\n\n componentDidMount() {\n var bsn = require(\"bootstrap.native/dist/bootstrap-native-v4\");\n new bsn.Dropdown(document.getElementById('chat-dropdown-options'));\n }\n\n render() {\n return (\n <div className=\"btn-group dropup disable-select pl-2 pt-2\">\n <i className=\"material-icons settings text-muted\" id=\"chat-dropdown-options\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\"></i>\n <div className=\"dropdown-menu shadow bg-white lhc-dropdown-menu rounded ml-1\">\n <div className=\"d-flex flex-row px-1\">\n <a onClick={(e) => this.props.toggleModal()} ><i className=\"material-icons chat-setting-item text-muted mr-0\"></i></a>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default ChatStartOptions;\n\n","import React, { PureComponent } from 'react';\nimport ChatBotIntroMessage from './ChatBotIntroMessage';\nimport { helperFunctions } from \"../lib/helperFunctions\";\n\nclass ChatInvitationMessage extends PureComponent {\n\n constructor(props) {\n super(props);\n }\n\n componentDidMount() {\n helperFunctions.sendMessageParent('readInvitation', [{name: this.props.invitation.invitation_name || \"Manual\"}]);\n }\n\n render() {\n\n if (this.props.mode == 'message') {\n\n return <React.Fragment>\n {this.props.invitation.prev_msg && <ChatBotIntroMessage setBotPayload={this.props.setBotPayload} content={this.props.invitation.prev_msg} />}\n\n {this.props.invitation.message && <div className=\"message-row message-admin\">\n <span className=\"usr-tit op-tit\">\n {<i title={this.props.invitation.name_support || this.props.invitation.extra_profile} className=\"chat-operators mi-fs15 mr-0\">\n {this.props.invitation.bubble && this.props.invitation.photo && <img src={this.props.invitation.photo} alt=\"\" className=\"profile-msg-pic\" />}\n {(!this.props.invitation.photo || !this.props.invitation.bubble) && <i className={\"material-icons \" + (this.props.invitation.bubble ? \"icon-assistant mr-0\" : \"\")}></i>}\n </i>}\n {!this.props.invitation.bubble && (this.props.invitation.name_support || this.props.invitation.extra_profile)}\n </span>\n <div className=\"msg-body\" dangerouslySetInnerHTML={{__html:this.props.invitation.message}}></div>\n </div>}\n\n {this.props.invitation.message_full && <ChatBotIntroMessage setBotPayload={this.props.setBotPayload} content={this.props.invitation.message_full} />}\n </React.Fragment>\n\n } else {\n return (\n <React.Fragment>\n <div id=\"lhc-profile-body\">\n <div id=\"chat-status-container\" className=\"operator-info d-flex border-bottom p-2\">\n <div>\n {this.props.invitation.photo && <img width=\"48\" height=\"48\" src={this.props.invitation.photo} title={this.props.invitation.photo_title} alt=\"\"/>}\n {!this.props.invitation.photo && <i className=\"icon-assistant material-icons mr-0\"></i>}\n </div>\n <div className=\"p-1 pl-2 w-100\">\n {this.props.invitation.name_support && !this.props.invitation.hide_name && <div className=\"font-weight-bold\">{this.props.invitation.name_support}</div>}\n {this.props.invitation.extra_profile && <i>{this.props.invitation.extra_profile}</i>}\n </div>\n </div>\n </div>\n {this.props.mode != 'profile_only' && this.props.invitation.message &&\n <div id=\"messagesBlock\">\n <div className=\"bottom-message position-relative\">\n <div className=\"message-row message-admin pt-1 text-left ml-3\">\n <div className=\"msg-body\" dangerouslySetInnerHTML={{__html:this.props.invitation.message}}></div>\n </div>\n </div>\n </div>}\n </React.Fragment>\n );\n }\n }\n}\n\nexport default ChatInvitationMessage;\n","import React, { Component } from 'react';\nimport { connect } from \"react-redux\";\nimport { withTranslation } from 'react-i18next';\n\nimport ChatField from './ChatField';\nimport ChatErrorList from './ChatErrorList';\nimport ChatDepartment from './ChatDepartment';\nimport ChatModal from './ChatModal';\nimport ChatStartOptions from './ChatStartOptions';\nimport { helperFunctions } from \"../lib/helperFunctions\";\nimport ChatInvitationMessage from './ChatInvitationMessage';\nimport ChatBotIntroMessage from './ChatBotIntroMessage';\nimport ChatAbort from './ChatAbort';\nimport { initOnlineForm, submitOnlineForm, minimizeWidget } from \"../actions/chatActions\"\n\n@connect((store) => {\n return {\n chatwidget: store.chatwidget\n };\n})\n\nclass StartChat extends Component {\n\n constructor(props) {\n super(props);\n\n this.apiLoaded = false;\n\n this.state = {showBBCode : null, Question:''};\n this.botPayload = null;\n this.handleSubmit = this.handleSubmit.bind(this);\n this.enterKeyDown = this.enterKeyDown.bind(this);\n this.handleContentChange = this.handleContentChange.bind(this);\n this.handleContentChangeCustom = this.handleContentChangeCustom.bind(this);\n this.setBotPayload = this.setBotPayload.bind(this);\n this.toggleModal = this.toggleModal.bind(this);\n this.textMessageRef = React.createRef();\n this.messagesAreaRef = React.createRef();\n }\n\n toggleModal() {\n this.setState({\n showBBCode: !this.state.showBBCode\n })\n }\n\n enterKeyDown(e) {\n if (e.key === 'Enter' && !e.shiftKey) {\n this.handleSubmit(e);\n e.preventDefault();\n }\n }\n\n handleSubmit(event) {\n\n if (this.props.chatwidget.get('processStatus') != 0) {\n return;\n }\n\n // Focus element so once OnlineChat component is mounted it remains focused\n var elm = document.getElementById('CSChatMessage');\n if (elm !== null) {\n elm.focus();\n this.props.setHideMessageField(false);\n }\n\n var fields = this.state;\n fields['jsvar'] = this.props.chatwidget.get('jsVars');\n fields['captcha_' + this.props.chatwidget.getIn(['captcha','hash'])] = this.props.chatwidget.getIn(['captcha','ts']);\n fields['tscaptcha'] = this.props.chatwidget.getIn(['captcha','ts']);\n fields['user_timezone'] = helperFunctions.getTimeZone();\n fields['URLRefer'] = window.location.href.substring(window.location.protocol.length);\n fields['r'] = this.props.chatwidget.get('ses_ref');\n\n if (this.props.chatwidget.get('bot_id') != '') {\n fields['bot_id'] = this.props.chatwidget.get('bot_id');\n }\n\n if (this.props.chatwidget.get('trigger_id') != '') {\n fields['trigger_id'] = this.props.chatwidget.get('trigger_id');\n }\n\n if (this.props.chatwidget.get('operator') != '') {\n fields['operator'] = this.props.chatwidget.get('operator');\n }\n\n if (this.props.chatwidget.get('pvhash') !== null) {\n fields['pvhash'] = this.props.chatwidget.get('pvhash');\n }\n\n if (this.props.chatwidget.get('priority') !== null) {\n fields['priority'] = this.props.chatwidget.get('priority');\n }\n\n if (this.props.chatwidget.get('phash') !== null) {\n fields['phash'] = this.props.chatwidget.get('phash');\n }\n\n const customFields = helperFunctions.getCustomFieldsSubmit(this.props.chatwidget.getIn(['customData','fields']));\n \n if (customFields !== null) {\n fields = {...fields, ...customFields};\n }\n\n let submitData = {\n 'department': this.props.chatwidget.get('department'),\n 'theme' : this.props.chatwidget.get('theme'),\n 'mode' : this.props.chatwidget.get('mode'),\n 'vid' : this.props.chatwidget.get('vid'),\n 'fields' : fields\n };\n\n if (this.botPayload) {\n submitData['bpayload'] = this.botPayload;\n this.botPayload = null;\n }\n\n if (this.props.chatwidget.hasIn(['proactive','data','invitation_id']) === true) {\n submitData['invitation_id'] = this.props.chatwidget.getIn(['proactive','data','invitation_id']);\n }\n\n this.props.dispatch(submitOnlineForm(submitData));\n\n if (event)\n event.preventDefault();\n }\n\n handleContentChange(obj) {\n var currentState = this.state;\n currentState[obj.id] = obj.value;\n this.setState(currentState);\n\n if (obj.id == 'DepartamentID') {\n if (this.props.chatwidget.getIn(['onlineData','department','departments']).size > 0){\n this.props.chatwidget.getIn(['onlineData','department','departments']).map(dep => {\n if (dep.get('value') == obj.value) {\n if (dep.get('online') == false) {\n this.props.dispatch({'type' : 'dep_default', data : obj.value});\n this.props.dispatch({'type' : 'onlineStatus', data : false});\n }\n\n // Update online fields settings if different department\n if (this.props.chatwidget.getIn(['onlineData','dep_forms']) != obj.value) {\n this.updateOnlineFieldsInit(obj.value);\n }\n }\n })\n }\n }\n }\n\n handleContentChangeCustom(obj) {\n this.props.dispatch({'type' : 'CUSTOM_FIELDS_ITEM', data : {id : obj.field.get('index'), value : obj.value}});\n }\n\n componentDidMount() {\n helperFunctions.prefillFields(this);\n this.updateOnlineFields();\n\n if (this.props.botPayload !== null) {\n this.setBotPayload(this.props.botPayload);\n }\n\n // Just remove element if it exists\n var elm = document.getElementById('CSChatMessage-tmp');\n if (elm !== null) {\n document.body.removeChild(elm);\n }\n }\n\n componentWillUnmount() {\n var messagesScroll = document.getElementById('messagesBlock');\n if (messagesScroll !== null) {\n this.props.setMessages(messagesScroll.innerHTML);\n }\n\n var profileBody = document.getElementById('lhc-profile-body');\n if (profileBody !== null) {\n this.props.setProfile(profileBody.innerHTML);\n }\n\n var elm = document.getElementById('CSChatMessage');\n if (elm === null) {\n this.props.setHideMessageField(true);\n } else {\n // Because online component has it's own text area we loose focus once we mount that component\n // We keeps this element focused and just switch focus between elements. So we do not loose keyboard.\n this.props.setHideMessageField(false);\n elm.id = \"CSChatMessage-tmp\";\n elm.style.cssText = \"position:absolute;left:-999px;bottom:0px;\";\n document.body.appendChild(elm);\n }\n }\n\n setBotPayload(params) {\n this.botPayload = params;\n this.handleSubmit();\n }\n\n updateOnlineFieldsInit(dep_default) {\n // Init offline form with all attributes\n this.props.dispatch(initOnlineForm({\n 'department':this.props.chatwidget.get('department'),\n 'product':this.props.chatwidget.get('product'),\n 'theme' : this.props.chatwidget.get('theme'),\n 'mode' : this.props.chatwidget.get('mode'),\n 'pvhash' : this.props.chatwidget.get('pvhash'),\n 'phash' : this.props.chatwidget.get('phash'),\n 'bot_id' : this.props.chatwidget.get('bot_id'),\n 'trigger_id' : this.props.chatwidget.get('trigger_id'),\n 'vid' : this.props.chatwidget.get('vid'),\n 'dep_default' : (dep_default || this.props.chatwidget.get('departmentDefault') || 0),\n 'online' : 1\n }));\n }\n\n updateOnlineFields() {\n if (this.props.chatwidget.getIn(['onlineData','fetched']) === false) {\n this.updateOnlineFieldsInit();\n }\n }\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n this.updateOnlineFields();\n if (document.getElementById('id-container-fluid')) {\n helperFunctions.sendMessageParent('widgetHeight', [{'height' : document.getElementById('id-container-fluid').offsetHeight+40}]);\n }\n\n let needFocus = false;\n if (this.apiLoaded === false && this.props.chatwidget.get('api_data') !== null) {\n this.apiLoaded = true;\n this.setState({...this.state, ...this.props.chatwidget.get('api_data')});\n needFocus = true;\n }\n\n // Auto focus if it's show operation\n if ((needFocus === true || (prevProps.chatwidget.get('shown') === false && this.props.chatwidget.get('shown') === true)) && this.props.chatwidget.get('mode') == 'widget' && this.textMessageRef.current) {\n this.textMessageRef.current.focus();\n this.scrollBottom();\n }\n\n // Rest API data was fetched we can scroll to bottomnow\n if (this.props.chatwidget.getIn(['onlineData','fetched']) === true && prevProps.chatwidget.getIn(['onlineData','fetched']) === false) {\n this.props.chatwidget.hasIn(['chat_ui','uprev']) && helperFunctions.emitEvent('play_sound', [{'type' : 'new_message','sound_on' : (this.props.chatwidget.getIn(['usersettings','soundOn']) === true), 'widget_open' : ((this.props.chatwidget.get('shown') && this.props.chatwidget.get('mode') == 'widget') || document.hasFocus())}]);\n this.scrollBottom();\n }\n\n // If parent pages changes default department we have to reload\n if (this.props.chatwidget.get('departmentDefault') !== prevProps.chatwidget.get('departmentDefault')) {\n this.setState({'DepartamentID': this.props.chatwidget.get('departmentDefault')});\n var elm = document.getElementById('id-department-field');\n if (elm !== null) {\n elm.value = this.props.chatwidget.get('departmentDefault');\n }\n this.updateOnlineFieldsInit();\n }\n }\n\n scrollBottom() {\n if (this.messagesAreaRef.current) {\n this.messagesAreaRef.current.scrollTop = this.messagesAreaRef.current.scrollHeight + 1000;\n setTimeout(() => {\n if (this.messagesAreaRef.current) {\n this.messagesAreaRef.current.scrollTop = this.messagesAreaRef.current.scrollHeight + 1000;\n }\n },450);\n }\n }\n\n moveCaretAtEnd(e) {\n var temp_value = e.target.value;\n e.target.value = '';\n e.target.value = temp_value;\n }\n\n static getDerivedStateFromProps(props, state) {\n\n if (props.chatwidget.getIn(['chat_ui','auto_start']) && props.chatwidget.get('processStatus') == 0 && (props.chatwidget.get('mode') == 'embed' || props.chatwidget.get('mode') == 'popup' || (props.chatwidget.get('mode') == 'widget' && props.chatwidget.get('shown') == 1) )) {\n\n var fields = state;\n fields['jsvar'] = props.chatwidget.get('jsVars');\n fields['captcha_' + props.chatwidget.getIn(['captcha','hash'])] = props.chatwidget.getIn(['captcha','ts']);\n fields['tscaptcha'] = props.chatwidget.getIn(['captcha','ts']);\n fields['user_timezone'] = helperFunctions.getTimeZone();\n fields['URLRefer'] = window.location.href.substring(window.location.protocol.length);\n fields['r'] = props.chatwidget.get('ses_ref');\n\n if (props.chatwidget.get('bot_id') != '') {\n fields['bot_id'] = props.chatwidget.get('bot_id');\n }\n\n if (props.chatwidget.get('trigger_id') != '') {\n fields['trigger_id'] = props.chatwidget.get('trigger_id');\n }\n\n if (props.chatwidget.get('operator') != '') {\n fields['operator'] = props.chatwidget.get('operator');\n }\n\n if (props.chatwidget.get('priority') !== null) {\n fields['priority'] = props.chatwidget.get('priority');\n }\n\n if (props.chatwidget.get('pvhash') !== null) {\n fields['pvhash'] = props.chatwidget.get('pvhash');\n }\n\n if (props.chatwidget.get('phash') !== null) {\n fields['phash'] = props.chatwidget.get('phash');\n }\n\n const customFields = helperFunctions.getCustomFieldsSubmit(props.chatwidget.getIn(['customData','fields']));\n\n if (customFields !== null) {\n fields = {...fields, ...customFields};\n }\n\n if (props.chatwidget.get('api_data') !== null) {\n fields = {...fields, ...props.chatwidget.get('api_data')}\n }\n\n let submitData = {\n 'department':props.chatwidget.get('department'),\n 'theme' : props.chatwidget.get('theme'),\n 'mode' : props.chatwidget.get('mode'),\n 'vid' : props.chatwidget.get('vid'),\n 'fields' : fields\n };\n\n if (props.botPayload !== null) {\n submitData['bpayload'] = props.botPayload;\n }\n\n if (props.chatwidget.hasIn(['proactive','data','invitation_id']) === true) {\n submitData['invitation_id'] = props.chatwidget.getIn(['proactive','data','invitation_id']);\n }\n\n props.dispatch(submitOnlineForm(submitData));\n }\n\n return null;\n }\n\n insertText = (text) => {\n var caretPos = this.textMessageRef.current.selectionStart;\n this.setState({'Question': (this.state['Question'].substring(0, caretPos) + text + this.state['Question'].substring(caretPos))});\n }\n\n render() {\n\n const { t } = this.props;\n\n if (this.props.chatwidget.getIn(['onlineData','fetched']) === true && this.props.chatwidget.getIn(['onlineData','disabled']) === true) {\n return (\n <div className=\"alert alert-danger m-2\" role=\"alert\">\n {t('start_chat.cant_start_a_chat')}\n </div>\n )\n }\n\n if (this.props.chatwidget.getIn(['onlineData','fetched']) === false || this.props.chatwidget.getIn(['chat_ui','auto_start']) === true)\n {\n return null;\n }\n\n if (this.props.chatwidget.getIn(['onlineData','fields']).size > 0 && !(this.props.chatwidget.hasIn(['chat_ui','show_messages_box']) && this.props.chatwidget.getIn(['onlineData','fields_visible']) == 1 && this.props.chatwidget.getIn(['customData','fields']).size == 0)) {\n var mappedFields = this.props.chatwidget.getIn(['onlineData','fields']).map(field =><ChatField chatUI={this.props.chatwidget.get('chat_ui')} key={field.get('identifier')} isInvalid={this.props.chatwidget.hasIn(['validationErrors',field.get('identifier')])} defaultValueField={this.state[field.get('name')] || field.get('value')} attrPrefill={{'attr_prefill_admin' : this.props.chatwidget.get('attr_prefill_admin'), 'attr_prefill' : this.props.chatwidget.get('attr_prefill')}} onChangeContent={this.handleContentChange} field={field} />);\n } else {\n var mappedFields = \"\";\n }\n\n var hasVisibleCustomFields = false;\n var mappedFieldsCustom = \"\";\n\n if (this.props.chatwidget.getIn(['customData','fields']).size > 0) {\n this.props.chatwidget.getIn(['customData','fields']).map(field => hasVisibleCustomFields = !(field.has('type') && field.get('type') === 'hidden') ? true : hasVisibleCustomFields);\n if (hasVisibleCustomFields == true) {\n mappedFieldsCustom = this.props.chatwidget.getIn(['customData','fields']).map(field =><ChatField chatUI={this.props.chatwidget.get('chat_ui')} key={field.get('identifier')} isInvalid={this.props.chatwidget.hasIn(['validationErrors',field.get('identifier')])} defaultValueField={field.get('value')} onChangeContent={this.handleContentChangeCustom} field={field} />);\n }\n }\n\n if (this.props.chatwidget.hasIn(['onlineData','paid','error']) && this.props.chatwidget.getIn(['onlineData','paid','error'])) {\n return <p className=\"p-2\">{this.props.chatwidget.getIn(['onlineData','paid','message'])}</p>\n }\n\n if (this.props.chatwidget.get('processStatus') == 0 || this.props.chatwidget.get('processStatus') == 1) {\n if (this.props.chatwidget.hasIn(['chat_ui','show_messages_box']) && this.props.chatwidget.getIn(['onlineData','department','departments']).size <= 1 && this.props.chatwidget.getIn(['onlineData','fields_visible']) <= 1 && (this.props.chatwidget.getIn(['customData','fields']).size == 0 || hasVisibleCustomFields === false)) {\n\n var classMessageInput = \"pl-0 no-outline form-control rounded-0 form-control border-left-0 border-right-0 border-0 \" + (this.props.chatwidget.get('shown') === true && this.textMessageRef.current && (/\\r|\\n/.exec(this.state.Question) || (this.state.Question.length > this.textMessageRef.current.offsetWidth/8.6)) ? 'msg-two-line' : 'msg-one-line');\n\n var msg_expand = \"flex-grow-1 overflow-scroll position-relative\";\n var bottom_messages = \"bottom-message px-1\";\n\n if (this.props.chatwidget.hasIn(['chat_ui','msg_expand']) && this.props.chatwidget.get('mode') == 'embed') {\n msg_expand = \"overflow-scroll position-relative\";\n bottom_messages += \" position-relative\";\n }\n\n return (\n <React.Fragment>\n\n {this.state.showBBCode && <ChatModal showModal={this.state.showBBCode} insertText={this.insertText} toggle={this.toggleModal} dataUrl={\"/chat/bbcodeinsert?react=1\"} />}\n\n {this.props.chatwidget.hasIn(['validationErrors','blocked_user']) && <ChatAbort closeText={t('button.close')} close={(e) => this.props.dispatch(minimizeWidget(true))} text={this.props.chatwidget.getIn(['validationErrors','blocked_user'])} />}\n\n {\n (this.props.chatwidget.getIn(['proactive','has']) === true && !this.props.chatwidget.hasIn(['proactive','data','std_header']) && <ChatInvitationMessage mode='profile_only' invitation={this.props.chatwidget.getIn(['proactive','data'])} />)\n ||\n (this.props.chatwidget.hasIn(['chat_ui','operator_profile']) && this.props.chatwidget.getIn(['chat_ui','operator_profile']) != '' && <div id=\"lhc-profile-body\"><div id=\"chat-status-container\" className=\"p-2 border-bottom\" dangerouslySetInnerHTML={{__html:this.props.chatwidget.getIn(['chat_ui','operator_profile'])}}></div></div>)\n }\n\n <div className={msg_expand} id=\"messagesBlock\">\n <div className={bottom_messages} id=\"messages-scroll\" ref={this.messagesAreaRef}>\n {this.props.chatwidget.getIn(['proactive','has']) === true && <ChatInvitationMessage mode=\"message\" setBotPayload={this.setBotPayload} invitation={this.props.chatwidget.getIn(['proactive','data'])} />}\n\n {!this.props.chatwidget.getIn(['proactive','has']) && this.props.chatwidget.hasIn(['chat_ui','cmmsg_widget']) && <ChatBotIntroMessage setBotPayload={this.setBotPayload} content={this.props.chatwidget.getIn(['chat_ui','cmmsg_widget'])} />}\n\n {this.props.chatwidget.get('processStatus') == 1 && this.state.Question != '' && <div data-op-id=\"0\" className=\"message-row response\">\n <div className=\"msg-date\"></div>\n <span title=\"\" className=\"usr-tit vis-tit\"><i title={t('start_chat.visitor')} className=\"material-icons chat-operators mi-fs15 mr-0\"></i><span className=\"user-nick-title\">{t('start_chat.visitor')}</span></span>\n <div className=\"msg-body\">{this.state.Question}</div>\n </div>}\n\n </div>\n </div>\n\n {!this.props.chatwidget.getIn(['proactive','has']) && this.props.chatwidget.hasIn(['chat_ui','custom_html_widget']) && <div dangerouslySetInnerHTML={{__html:this.props.chatwidget.getIn(['chat_ui','custom_html_widget'])}}></div>}\n\n {(this.props.chatwidget.getIn(['onlineData','fields_visible']) == 1 || (this.props.chatwidget.getIn(['onlineData','fields_visible']) == 0 && !this.props.chatwidget.hasIn(['chat_ui','hstr_btn']))) && <div className=\"d-flex flex-row border-top position-relative message-send-area\">\n\n {(this.props.chatwidget.hasIn(['validationErrors','question'])) && <div id=\"id-operator-typing\" className=\"bg-white pl-1\">{this.props.chatwidget.getIn(['validationErrors','question'])}</div>}\n\n {this.props.chatwidget.getIn(['onlineData','fields_visible']) == 1 && <React.Fragment>\n {!this.props.chatwidget.hasIn(['chat_ui','bbc_btnh']) && <ChatStartOptions toggleModal={this.toggleModal} />}\n <div className=\"mx-auto w-100\">\n <textarea autoFocus={this.props.chatwidget.get('mode') == 'widget' && this.props.chatwidget.get('shown') === true} onFocus={this.moveCaretAtEnd} maxLength={this.props.chatwidget.getIn(['chat_ui','max_length'])} aria-label=\"Type your message here...\" id=\"CSChatMessage\" value={this.props.chatwidget.get('processStatus') == 1 ? '' : this.state.Question} placeholder={this.props.chatwidget.hasIn(['chat_ui','placeholder_message']) ? this.props.chatwidget.getIn(['chat_ui','placeholder_message']) : t('chat.type_here')} onKeyDown={this.enterKeyDown} onChange={(e) => this.handleContentChange({'id' : 'Question' ,'value' : e.target.value})} ref={this.textMessageRef} rows=\"1\" className={classMessageInput} />\n </div>\n <div className=\"disable-select\">\n <div className=\"user-chatwidget-buttons pt-1\" id=\"ChatSendButtonContainer\">\n {this.props.chatwidget.get('processStatus') != 1 && <a onClick={this.handleSubmit} title={t('button.start_chat')}>\n <i className=\"material-icons text-muted settings\"></i>\n </a>}\n\n {this.props.chatwidget.get('processStatus') == 1 && <i className=\"material-icons text-muted settings mr-0\"></i>}\n\n </div>\n </div>\n </React.Fragment>}\n\n {this.props.chatwidget.getIn(['onlineData','fields_visible']) == 0 && !this.props.chatwidget.hasIn(['chat_ui','hstr_btn']) && <button className=\"mx-auto pb-1 w-100 btn btn-light rounded-0\" onClick={this.handleSubmit} title={t('button.start_chat')}>\n {this.props.chatwidget.getIn(['chat_ui','custom_start_button']) || t('button.start_chat_With_us')}\n </button>}\n\n </div>}\n </React.Fragment>\n )\n } else {\n return (\n\n <div id=\"id-container-fluid\">\n {\n (this.props.chatwidget.getIn(['proactive','has']) === true && <ChatInvitationMessage mode='profile' invitation={this.props.chatwidget.getIn(['proactive','data'])} />)\n ||\n (this.props.chatwidget.hasIn(['chat_ui','operator_profile']) && this.props.chatwidget.getIn(['chat_ui','operator_profile']) != '' && <div className={\"p-2\"+(this.props.chatwidget.hasIn(['chat_ui','np_border']) ? '' : ' border-bottom')} dangerouslySetInnerHTML={{__html:this.props.chatwidget.getIn(['chat_ui','operator_profile'])}}></div>)\n }\n <div className=\"container-fluid\">\n <ChatErrorList errors={this.props.chatwidget.get('validationErrors')} />\n\n {!this.props.chatwidget.getIn(['proactive','has']) && this.props.chatwidget.hasIn(['chat_ui','custom_html_widget']) && <div dangerouslySetInnerHTML={{__html:this.props.chatwidget.getIn(['chat_ui','custom_html_widget'])}}></div>}\n\n <form onSubmit={this.handleSubmit}>\n <div className=\"row pt-2\">\n {mappedFields}\n {mappedFieldsCustom}\n {this.props.chatwidget.hasIn(['onlineData','department']) && <ChatDepartment defaultValueField={this.state['DepartamentID']} setDefaultValue={this.props.chatwidget.get('departmentDefault')} onChangeContent={this.handleContentChange} isInvalidProduct={this.props.chatwidget.hasIn(['validationErrors','ProductID'])} isInvalid={this.props.chatwidget.hasIn(['validationErrors','department'])} departments={this.props.chatwidget.getIn(['onlineData','department'])} />}\n </div>\n {(!this.props.chatwidget.hasIn(['chat_ui','hstr_btn']) || mappedFieldsCustom !== \"\" || mappedFields !== \"\" || this.props.chatwidget.getIn(['proactive','has']) === true) && <div className=\"row\">\n <div className=\"col-12 pb-3\">\n <button disabled={this.props.chatwidget.get('processStatus') == 1} type=\"submit\" className=\"btn btn-secondary btn-sm\">{this.props.chatwidget.getIn(['chat_ui','custom_start_button']) || t('button.start_chat')}</button>\n </div>\n </div>}\n </form>\n </div>\n </div>\n )\n }\n\n } else if (this.props.chatwidget.get('processStatus') == 2) {\n return (\n <div className=\"container-fluid\" id=\"id-container-fluid\">\n <div className=\"row\">\n <div className=\"col-12\">\n <p>{t('start_chat.thank_you_for_feedback')}</p>\n </div>\n </div>\n </div>\n )\n }\n }\n}\n\nexport default withTranslation()(StartChat);\n","\"use strict\";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}const defaults={threshold:50,passive:!1};class Xwiper{constructor(a,b={}){this.options=_objectSpread(_objectSpread({},defaults),b),this.element=null,this.touchStartX=0,this.touchStartY=0,this.touchEndX=0,this.touchEndY=0,this.onSwipeLeftAgent=null,this.onSwipeRightAgent=null,this.onSwipeUpAgent=null,this.onSwipeDownAgent=null,this.onTapAgent=null,this.onTouchStart=this.onTouchStart.bind(this),this.onTouchEnd=this.onTouchEnd.bind(this),this.onSwipeLeft=this.onSwipeLeft.bind(this),this.onSwipeRight=this.onSwipeRight.bind(this),this.onSwipeUp=this.onSwipeUp.bind(this),this.onSwipeDown=this.onSwipeDown.bind(this),this.onTap=this.onTap.bind(this),this.destroy=this.destroy.bind(this),this.handleGesture=this.handleGesture.bind(this);let c=!!this.options.passive&&{passive:!0};this.element=a instanceof EventTarget?a:document.querySelector(a),this.element.addEventListener(\"touchstart\",this.onTouchStart,c),this.element.addEventListener(\"touchend\",this.onTouchEnd,c)}onTouchStart(a){this.touchStartX=a.changedTouches[0].screenX,this.touchStartY=a.changedTouches[0].screenY}onTouchEnd(a){this.touchEndX=a.changedTouches[0].screenX,this.touchEndY=a.changedTouches[0].screenY,this.handleGesture()}onSwipeLeft(a){this.onSwipeLeftAgent=a}onSwipeRight(a){this.onSwipeRightAgent=a}onSwipeUp(a){this.onSwipeUpAgent=a}onSwipeDown(a){this.onSwipeDownAgent=a}onTap(a){this.onTapAgent=a}destroy(){this.element.removeEventListener(\"touchstart\",this.onTouchStart),this.element.removeEventListener(\"touchend\",this.onTouchEnd)}handleGesture(){return this.touchEndX+this.options.threshold<=this.touchStartX?(this.onSwipeLeftAgent&&this.onSwipeLeftAgent(),\"swiped left\"):this.touchEndX-this.options.threshold>=this.touchStartX?(this.onSwipeRightAgent&&this.onSwipeRightAgent(),\"swiped right\"):this.touchEndY+this.options.threshold<=this.touchStartY?(this.onSwipeUpAgent&&this.onSwipeUpAgent(),\"swiped up\"):this.touchEndY-this.options.threshold>=this.touchStartY?(this.onSwipeDownAgent&&this.onSwipeDownAgent(),\"swiped down\"):this.touchEndY===this.touchStartY?(this.onTapAgent&&this.onTapAgent(),\"tap\"):void 0}}module.exports=Xwiper;"],"names":["module","exports","arr","Array","isArray","i","Symbol","iterator","Object","prototype","toString","call","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","value","length","err","TypeError","arrayWithHoles","iterableToArrayLimit","nonIterableRest","ChatAbort","props","className","role","id","tabIndex","this","text","onClick","close","type","closeText","PureComponent","ChatBotIntroMessage","abstractClick","bind","updateTriggerClicked","processBotAction","disableEditor","attrs","element","setAttribute","innerHTML","e","t","addLoader","target","onclick","indexOf","mainType","list","document","getElementById","alert","helperFunctions","emitEvent","dispatch","console","log","preventDefault","paramsType","setBotPayload","payload","processed","domNode","attr","attribs","eval","children","parse","content","replace","cloneAttr","assign","name","domToReact","ChatDepartment","onchangeAttr","onchangeAttrProduct","onChangeContent","departments","getIn","getProducts","has","get","size","hasIn","setDefaultValue","departmentOutput","classNameInput","isInvalid","options","map","dep","key","defaultValue","defaultValueField","join","onChange","productOutput","classNameInputProduct","isInvalidProduct","prouducts","Component","connect","withTranslation","ChatField","hiddenIfPrefilled","onFileAdded","field","files","item","ruleTest","RegExp","uploadErrors","forEach","file","test","attrPrefill","attr_prefill_admin","index","setState","state","required","placeholder","autocomplete","chatUI","defaultChecked","checked","for","dangerouslySetInnerHTML","__html","selected","ChatModal","body","toggle","txtToAdd","link","prompt","insertText","axios","window","lhcChat","dataUrl","then","response","data","container","bsn","require","tabs","querySelectorAll","activeTab","Tab","xwiper","Xwiper","onSwipeLeft","show","onSwipeRight","dismissModal","bbitem","generalOnClick","generalDataActionClick","setTimeout","newScript","createElement","appendChild","createTextNode","getElementsByTagName","src","ChatErrorList","mappedFields","errors","mapEntries","k","v","isNaN","ChatStartOptions","Dropdown","toggleModal","ChatInvitationMessage","invitation","invitation_name","mode","prev_msg","message","title","name_support","extra_profile","bubble","photo","alt","message_full","width","height","photo_title","hide_name","StartChat","store","chatwidget","caretPos","textMessageRef","current","selectionStart","substring","apiLoaded","showBBCode","Question","botPayload","handleSubmit","enterKeyDown","handleContentChange","handleContentChangeCustom","React","messagesAreaRef","shiftKey","event","elm","focus","setHideMessageField","fields","location","href","protocol","customFields","submitData","submitOnlineForm","obj","currentState","updateOnlineFieldsInit","updateOnlineFields","removeChild","messagesScroll","setMessages","profileBody","setProfile","style","cssText","params","dep_default","initOnlineForm","prevProps","prevState","snapshot","offsetHeight","needFocus","scrollBottom","hasFocus","scrollTop","scrollHeight","temp_value","hasVisibleCustomFields","mappedFieldsCustom","classMessageInput","exec","offsetWidth","msg_expand","bottom_messages","showModal","minimizeWidget","ref","autoFocus","onFocus","moveCaretAtEnd","maxLength","onKeyDown","rows","onSubmit","disabled","ownKeys","a","b","c","keys","getOwnPropertySymbols","d","filter","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","configurable","writable","defaults","threshold","passive","constructor","touchStartX","touchStartY","touchEndX","touchEndY","onSwipeLeftAgent","onSwipeRightAgent","onSwipeUpAgent","onSwipeDownAgent","onTapAgent","onTouchStart","onTouchEnd","onSwipeUp","onSwipeDown","onTap","destroy","handleGesture","EventTarget","querySelector","addEventListener","changedTouches","screenX","screenY","removeEventListener"],"sourceRoot":""}