{"version":3,"file":"default/js/liveChat.js","sources":["webpack:///webpack/bootstrap","webpack:///./cartridges/app_ua_emea/cartridge/client/default/js/contactUs/liveChat.js","webpack:///./cartridges/app_ua_emea/cartridge/client/default/js/liveChat.js","webpack:///./cartridges/storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/util.js"],"sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./cartridges/app_ua_emea/cartridge/client/default/js/liveChat.js\");\n","/* eslint-disable no-undef */\nmodule.exports = function () {\n    const currentLocale = window.config.currentLocale;\n    const isProductPage = window.config.isPDP;\n    const { sfscLiveChatConfig = {} } = window.config || {};\n    const { svcConfig = {} } = sfscLiveChatConfig || {};\n\n    window.addEventListener('DataEmeaRequest', function () {\n        embedded_svc.settings.extraPrechatFormDetails[7].value = false;\n        window.dispatchEvent(new CustomEvent('DataEmeaResponse', {\n            detail: { isProductPage: isProductPage, countryCode: countryCode, langCode: langCode }\n        }));\n    });\n    window.addEventListener('ConsentValue', function (event) {\n        embedded_svc.settings.extraPrechatFormDetails[7].value = event.detail.val;\n    });\n    window.addEventListener('prechatMessage', function (event) {\n        embedded_svc.settings.extraPrechatFormDetails[12].value = event.detail.val;\n    });\n\n    /**\n     * initPreChat - initializes the live chat settings\n     */\n    function initPrechat() {\n        embedded_svc.settings.extraPrechatFormDetails = [{\n            label: 'RecordTypeId',\n            value: '0124V000000AmoSQAS',\n            displayToAgent: false\n        },\n        {\n            label: 'CaseStatus',\n            value: 'New',\n            displayToAgent: true\n        },\n        {\n            label: 'Country',\n            value: '',\n            displayToAgent: false\n        },\n        {\n            label: 'Language',\n            value: '',\n            displayToAgent: false\n        },\n        {\n            label: 'First Name',\n            transcriptFields: ['Supplied_First_Name__c']\n        },\n        {\n            label: 'Last Name',\n            transcriptFields: ['Supplied_Last_Name__c']\n        },\n        {\n            label: 'Email',\n            transcriptFields: ['Supplied_Email__c']\n        },\n        {\n            label: 'PrivacyConsentGranted',\n            value: 'false',\n            transcriptFields: ['Privacy_Consent_Granted__c']\n        },\n        {\n            label: 'ChatCountry',\n            value: '',\n            transcriptFields: ['Country__c']\n        },\n        {\n            label: 'ChatLanguage',\n            value: '',\n            transcriptFields: ['Language__c']\n        },\n        {\n            label: 'Region',\n            value: 'EMEA'\n        },\n        {\n            label: 'PDPorCS',\n            value: '',\n            transcriptFields: ['PDP_or_CS__c']\n        },\n        {\n            label: 'prechatMessage',\n            value: '',\n            transcriptFields: ['Prechat_Message__c']\n        }];\n\n        if (!isProductPage) {\n            embedded_svc.settings.extraPrechatInfo = [{\n                entityName: 'Contact',\n                saveToTranscript: 'ContactId',\n                showOnCreate: false,\n                linkToEntityName: 'Case',\n                linkToEntityField: 'ContactId',\n                entityFieldMaps: [{\n                    fieldName: 'FirstName',\n                    label: 'First Name',\n                    doFind: 'false',\n                    isExactMatch: 'true',\n                    doCreate: 'false'\n                }, {\n                    fieldName: 'LastName',\n                    label: 'Last Name',\n                    doFind: 'false',\n                    isExactMatch: 'true',\n                    doCreate: 'false'\n                }, {\n                    fieldName: 'Email',\n                    label: 'Email',\n                    doFind: 'false',\n                    isExactMatch: 'true',\n                    doCreate: 'false'\n                },\n                {\n                    fieldName: 'RecordTypeId',\n                    label: 'RecordTypeId',\n                    doFind: 'false',\n                    isExactMatch: 'false',\n                    doCreate: 'true'\n                }]\n            },\n            {\n                entityName: 'Account',\n                saveToTranscript: 'AccountId',\n                showOnCreate: false,\n                linkToEntityName: 'Case',\n                linkToEntityField: 'AccountId',\n                entityFieldMaps: [{\n                    fieldName: 'PersonEmail',\n                    label: 'Email',\n                    doFind: 'true',\n                    isExactMatch: 'true',\n                    doCreate: 'true'\n                }, {\n                    fieldName: 'FirstName',\n                    label: 'First Name',\n                    doFind: 'false',\n                    isExactMatch: 'false',\n                    doCreate: 'true'\n                }, {\n                    fieldName: 'LastName',\n                    label: 'Last Name',\n                    doFind: 'false',\n                    isExactMatch: 'false',\n                    doCreate: 'true'\n                }, {\n                    fieldName: 'RecordTypeId',\n                    label: 'RecordTypeId',\n                    doFind: 'false',\n                    isExactMatch: 'false',\n                    doCreate: 'true'\n                }]\n            },\n            {\n                entityName: 'Case',\n                saveToTranscript: 'CaseId',\n                showOnCreate: true,\n                entityFieldMaps: [\n                    {\n                        doCreate: false,\n                        doFind: false,\n                        fieldName: 'Status',\n                        isExactMatch: false,\n                        label: 'CaseStatus'\n                    },\n                    {\n                        doCreate: true,\n                        doFind: false,\n                        fieldName: 'Country__c',\n                        isExactMatch: false,\n                        label: 'Country'\n                    },\n                    {\n                        doCreate: true,\n                        doFind: false,\n                        fieldName: 'Language__c',\n                        isExactMatch: false,\n                        label: 'Language'\n                    },\n                    {\n                        doCreate: true,\n                        doFind: false,\n                        fieldName: 'Region__c',\n                        isExactMatch: false,\n                        label: 'Region'\n                    }\n                ]\n            }];\n        }\n    }\n\n    var initESW = function (gslbBaseURL) {\n        const urlData = currentLocale.split('_');\n        this.countryCode = urlData[1].toLowerCase();\n        this.langCode = urlData[0];\n        let countryName;\n        embedded_svc.settings.displayHelpButton = true;\n        embedded_svc.settings.language = this.langCode !== 'nl' ? this.langCode : 'nl_NL';\n        embedded_svc.settings.externalStyles = ['emea_prechat'];\n\n        const chats = sfscLiveChatConfig.chats;\n\n        let buttonText = {\n            nl: {\n                chatOffline: 'Chat offline',\n                loading: 'Bezig met laden',\n                chatWithAnExpert: 'Chat met een expert',\n                StartChatting: 'Begin met chatten'\n            },\n            en: {\n                chatOffline: 'Chat Offline',\n                loading: 'Loading',\n                chatWithAnExpert: 'Chat with an Expert',\n                StartChatting: 'Start Chatting'\n            },\n            fr: {\n                chatOffline: 'Discuter hors ligne',\n                loading: 'Chargement',\n                chatWithAnExpert: 'Discuter avec des spécialistes',\n                StartChatting: 'Commencer à discuter'\n            },\n            de: {\n                chatOffline: 'Chat offline',\n                loading: 'Wird geladen',\n                chatWithAnExpert: 'Mit Experten chatten',\n                StartChatting: 'Chat beginnen'\n            },\n            it: {\n                chatOffline: 'Chat offline',\n                loading: 'Caricamento in corso',\n                chatWithAnExpert: 'Parla con un esperto',\n                StartChatting: 'Inizia conversazione'\n            },\n            es: {\n                chatOffline: 'Chat offline',\n                loading: 'Cargando',\n                chatWithAnExpert: 'Chatea con un experto',\n                StartChatting: 'Iniciar conversación por chat'\n            }\n        };\n\n        let countryMap = {\n            at: 'Austria',\n            dk: 'Denmark',\n            fr: 'France',\n            de: 'Germany',\n            ie: 'Ireland',\n            gb: 'United Kingdom',\n            it: 'Italy',\n            nl: 'Netherlands',\n            pl: 'Poland',\n            pt: 'Portugal',\n            es: 'Spain',\n            se: 'Sweden',\n            ch: 'Switzerland',\n            no: 'Norway',\n            be: 'Belgium'\n        };\n\n        countryName = countryMap[this.countryCode.toLowerCase()];\n\n        initPrechat();\n        if (countryName) {\n            embedded_svc.settings.extraPrechatFormDetails[2].value = countryName;\n            embedded_svc.settings.extraPrechatFormDetails[3].value = this.langCode + '_' + this.countryCode;\n            embedded_svc.settings.extraPrechatFormDetails[8].value = countryName;\n            embedded_svc.settings.extraPrechatFormDetails[9].value = this.langCode;\n            embedded_svc.settings.extraPrechatFormDetails[11].value = isProductPage ? 'PDP' : 'CS';\n        }\n\n\n        embedded_svc.settings.enabledFeatures = ['LiveAgent'];\n        embedded_svc.settings.entryFeature = 'LiveAgent';\n        embedded_svc.settings.defaultMinimizedText = buttonText[this.langCode].chatWithAnExpert;\n        embedded_svc.settings.disabledMinimizedText = buttonText[this.langCode].chatOffline;\n        embedded_svc.settings.offlineSupportMinimizedText = buttonText[this.langCode].chatOffline;\n        embedded_svc.settings.loadingText = buttonText[this.langCode].loading;\n        embedded_svc.init(\n            svcConfig.baseURL,\n            svcConfig.helpURL,\n            gslbBaseURL,\n            svcConfig.orgID,\n            chats[this.langCode].name,\n            {\n                baseLiveAgentContentURL: svcConfig.baseLiveAgentContentURL,\n                deploymentId: chats[this.langCode].deploymentId,\n                buttonId: chats[this.langCode].buttonId,\n                baseLiveAgentURL: svcConfig.baseLiveAgentURL,\n                eswLiveAgentDevName: chats[this.langCode].eswLiveAgentDevName,\n                isOfflineSupportEnabled: false\n            }\n        );\n    };\n    if (!window.embedded_svc) {\n        var s = document.createElement('script');\n        s.setAttribute('src', svcConfig.embeddedSvc);\n        s.onload = function () {\n            initESW(null);\n        };\n        document.body.appendChild(s);\n    } else {\n        initESW('https://service.force.com');\n    }\n};\n","'use strict';\n\nvar processInclude = require('base/util');\n\n$(document).ready(function () {\n    processInclude(require('./contactUs/liveChat'));\n});\n","'use strict';\n\nmodule.exports = function (include) {\n    if (typeof include === 'function') {\n        include();\n    } else if (typeof include === 'object') {\n        Object.keys(include).forEach(function (key) {\n            if (typeof include[key] === 'function') {\n                include[key]();\n            }\n        });\n    }\n};\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AClFA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC9SA;AACA;AACA;AAEA;AACA;AACA;;;;;;;;;;;;ACNA;AACA;AADA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;A","sourceRoot":""}