{"version":3,"sources":["webpack:///./node_modules/@bluekiri/alexandria-contrib-components/components/click-to-call/client/js/config.js","webpack:///./node_modules/@bluekiri/alexandria-contrib-components/components/click-to-call/client/js/index.js"],"names":["config","component","initOnClick","modal","autoDom","trigger","type","css","agentCarousel","init","c2cMode","module","exports","elementExist","require","AgentCarouselClient","ModalClient","getUrlParameter","param","sParameterName","i","sURLVariables","decodeURIComponent","window","location","search","substring","split","length","undefined","selector","arguments","configuration","instance","_objectSpread","element","document","querySelector","concat","triggers","onClose","legalText","tooltips","hide","clearInterval","interval","onOpen","dataset","clicked","setInterval","ajaxCall","paramC2c","display"],"mappings":";4EAIA,IAAMA,EAAS,CACXC,UAAW,cACXC,aAAa,EACbC,MAAO,CACHC,SAAS,EACTC,QAAS,8BACTC,KAAM,uBAEVC,IAAK,CACDJ,MAAO,cAEXK,cAAe,CACXC,MAAM,EACNC,SAAS,IAIjBC,EAAOC,QAAU,kBAAMZ,I,8rBChBvB,IAAQa,EAAiBC,EAAQ,QAAzBD,aACFE,EAAsBD,EAAQ,QAC9BE,EAAcF,EAAQ,QACtBd,EAASc,EAAQ,QA2DvB,SAASG,EAAgBC,GACrB,IAEIC,EACAC,EAFEC,EADWC,mBAAmBC,OAAOC,SAASC,OAAOC,UAAU,IACtCC,MAAM,KAIrC,IAAKP,EAAI,EAAGA,EAAIC,EAAcO,OAAQR,IAGlC,IAFAD,EAAiBE,EAAcD,GAAGO,MAAM,MAErB,KAAOT,EACtB,YAA6BW,IAAtBV,EAAe,IAA0BA,EAAe,GAGvE,OAAO,EAlEXR,EAAOC,QAAU,WAA4F,IAAjEkB,EAAQC,UAAAH,OAAA,QAAAC,IAAAE,UAAA,GAAAA,UAAA,GAAG,iCAAkCC,EAAaD,UAAAH,OAAA,QAAAC,IAAAE,UAAA,GAAAA,UAAA,GAAG,GACrG,GAAIlB,EAAaiB,GAAW,CAExB,IAAMG,EAAW,GAEjBA,EAASjC,OAAMkC,IAAA,GAAQlC,KAAagC,GAGpCC,EAASE,QAAUC,SAASC,cAAcP,GAE1CG,EAASzB,cAAgBO,EAAoB,GAADuB,OACrCR,EAAQ,qCACXG,EAASjC,OAAOQ,eAGpByB,EAAS5B,QAAU4B,EAASE,QAAQE,cAAc,eAADC,OAAgBtC,IAASG,MAAME,QAAO,OACvF4B,EAAS9B,MAAQa,EAAY,uCAADsB,OAAwCtC,IAASG,MAAMG,KAAI,MAAA4B,IAAA,GAChFD,EAASjC,OAAOG,OAAK,IACxBoC,SAAU,CAACN,EAAS5B,SAAW4B,EAASE,SACxCK,QAAS,WACDP,EAASzB,cAAciC,WACvBR,EAASzB,cAAciC,UAAUC,SAAS,GAAGC,OAEjDC,cAAcX,EAASzB,cAAcqC,cAIzCZ,EAASjC,OAAOE,cAChB+B,EAAS9B,MAAM2C,OAAS,WACpB,IAAQX,EAA2BF,EAA3BE,QAAS3B,EAAkByB,EAAlBzB,cACjB,OAAI2B,EAAQY,QAAQC,SAChBxC,EAAcqC,SAAWI,aAAY,kBAAMzC,EAAc0C,aAAY1C,EAAcR,OAAO6C,WAEnF,IAGXV,EAAQY,QAAQC,SAAU,EAE1BxC,EAAcC,KAAKqB,IACZ,KAIf,IAAMqB,EAAWlC,EAAgB,OAMjC,MAJiB,MAAbkC,GAAiC,SAAbA,GACpBlB,EAAS9B,MAAMiD,UAGZnB","file":"click-to-call.1f46bfae642c986e92dc.bundle.js","sourcesContent":["/* ==========================================================================\n   ClickToCall > Client\n   ========================================================================== */\n\nconst config = {\n    component: 'ClickToCall',\n    initOnClick: true,\n    modal: {\n        autoDom: false,\n        trigger: 'modal-contact-agent-trigger',\n        type: 'modal-contact-agent'\n    },\n    css: {\n        modal: 'modal--c2c'\n    },\n    agentCarousel: {\n        init: false,\n        c2cMode: true\n    }\n};\n\nmodule.exports = () => config;\n","/* ==========================================================================\n   ClickToCall > Client\n   ========================================================================== */\n\n/* Import modules */\nconst { elementExist } = require('@bluekiri/alexandria/helpers/domHelpers');\nconst AgentCarouselClient = require('../../../agent-carousel/client/js');\nconst ModalClient = require('../../../modal/client/js');\nconst config = require('./config');\n\n/**\n * ModalDiscountInformation component\n * @param {selector} String selector for the component in the client side.\n */\nmodule.exports = function ClickToCallClient(selector = '[data-component=\"ClickToCall\"]', configuration = {}) {\n    if (elementExist(selector)) {\n        // Instance reference\n        const instance = {};\n\n        instance.config = { ...config(), ...configuration };\n\n        // Element reference\n        instance.element = document.querySelector(selector);\n\n        instance.agentCarousel = AgentCarouselClient(\n            `${selector} [data-component=\"AgentCarousel\"]`,\n            instance.config.agentCarousel\n        );\n\n        instance.trigger = instance.element.querySelector(`[data-type=\"${config().modal.trigger}\"]`);\n        instance.modal = ModalClient(`[data-component=\"Modal\"][data-type=\"${config().modal.type}\"]`, {\n            ...instance.config.modal,\n            triggers: [instance.trigger || instance.element],\n            onClose: () => {\n                if (instance.agentCarousel.legalText) {\n                    instance.agentCarousel.legalText.tooltips[0].hide();\n                }\n                clearInterval(instance.agentCarousel.interval);\n            }\n        });\n\n        if (instance.config.initOnClick) {\n            instance.modal.onOpen = () => {\n                const { element, agentCarousel } = instance;\n                if (element.dataset.clicked) {\n                    agentCarousel.interval = setInterval(() => agentCarousel.ajaxCall(), agentCarousel.config.interval);\n\n                    return true;\n                }\n\n                element.dataset.clicked = true;\n\n                agentCarousel.init(selector);\n                return true;\n            };\n        }\n\n        const paramC2c = getUrlParameter('c2c');\n\n        if (paramC2c === '1' || paramC2c === 'true') {\n            instance.modal.display();\n        }\n\n        return instance;\n    }\n};\n\nfunction getUrlParameter(param) {\n    const sPageURL = decodeURIComponent(window.location.search.substring(1));\n    const sURLVariables = sPageURL.split('&');\n    let sParameterName;\n    let i;\n\n    for (i = 0; i < sURLVariables.length; i++) {\n        sParameterName = sURLVariables[i].split('=');\n\n        if (sParameterName[0] === param) {\n            return sParameterName[1] === undefined ? true : sParameterName[1];\n        }\n    }\n    return false;\n}\n"],"sourceRoot":""}