{"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":""}