{"version":3,"sources":["webpack:///./node_modules/@bluekiri/alexandria-logitravel/components/footer/client/js/index.js","webpack:///./node_modules/@bluekiri/alexandria-logitravel/components/footer/client/js/config.js"],"names":["elementExist","ImageClient","config","module","exports","selector","configuration","instance","element","document","querySelector","certifications","querySelectorAll","filter","item","dataset","type","includes","certification","image","map","index","blog","flags","flag","logos","logo","component"],"mappings":";8EAKA,MAAM,aAAEA,GAAiB,EAAQ,QAC3BC,EAAc,EAAQ,QACtBC,EAAS,EAAQ,QAMvBC,EAAOC,QAAU,SAAgBC,EAAW,0BAA2BC,EAAgB,IACnF,GAAIN,EAAaK,GAAW,CAExB,MAAME,EAAW,GAiDjB,OA9CAA,EAASC,QAAUC,SAASC,cAAcL,GAG1CE,EAASL,OAAS,IAAKA,OAAaI,GAGpCC,EAASI,eAAiB,IAAIJ,EAASC,QAAQI,iBAAiB,6BAC3DC,OAAOC,GAAQA,EAAKC,QAAQC,MAC5BH,OAAOC,GAAQA,EAAKC,QAAQC,KAAKC,SAASf,IAASc,KAAKE,cAAcC,QACtEC,IAAI,CAACN,EAAMO,IACRpB,EACI,GAAGI,yCAAgDH,IAASc,KAAKE,cAAcC,SAASE,MACxF,IACOf,EAAcY,iBAMjCX,EAASe,KAAO,CACZH,MAAOlB,EAAY,GAAGI,yCAAgDH,IAASc,KAAKM,KAAKH,UAAW,IAC7Fb,EAAca,SAKzBZ,EAASgB,MAAQ,IAAIhB,EAASC,QAAQI,iBAAiB,6BAClDC,OAAOC,GAAQA,EAAKC,QAAQC,MAC5BH,OAAOC,GAAQA,EAAKC,QAAQC,KAAKC,SAASf,IAASc,KAAKQ,KAAKL,QAC7DC,IAAI,CAACN,EAAMO,IACRpB,EAAY,GAAGI,yCAAgDH,IAASc,KAAKQ,KAAKL,SAASE,MAAW,IAC/Ff,EAAckB,QAK7BjB,EAASkB,MAAQ,IAAIlB,EAASC,QAAQI,iBAAiB,6BAClDC,OAAOC,GAAQA,EAAKC,QAAQC,MAC5BH,OAAOC,GAAQA,EAAKC,QAAQC,KAAKC,SAASf,IAASc,KAAKU,KAAKP,QAC7DC,IAAI,CAACN,EAAMO,IACRpB,EAAY,GAAGI,yCAAgDH,IAASc,KAAKU,KAAKP,SAASE,MAAW,IAC/Ff,EAAcoB,QAKtBnB,K,mBC1Df,MAAML,EAAS,CACXyB,UAAW,SACXX,KAAM,CACFE,cAAe,CACXC,MAAO,8BAEXO,KAAM,CACFP,MAAO,qBAEXG,KAAM,CACFH,MAAO,qBAEXK,KAAM,CACFL,MAAO,uBAKnBhB,EAAOC,QAAU,IAAMF","file":"footer.9a7fb7d01b5f3ab3cfef.bundle.js","sourcesContent":["/* ==========================================================================\n Footer > Client\n ========================================================================== */\n\n/* Import modules */\nconst { elementExist } = require('@bluekiri/alexandria/helpers/domHelpers');\nconst ImageClient = require('@bluekiri/alexandria-contrib-components/components/image/client/js');\nconst config = require('./config');\n\n/**\n * Footer component\n * @param {selector} String selector for the component in the client side.\n */\nmodule.exports = function Footer(selector = '[data-component=Footer]', configuration = {}) {\n if (elementExist(selector)) {\n /* Instance */\n const instance = {};\n\n /* Element */\n instance.element = document.querySelector(selector);\n\n /* Config */\n instance.config = { ...config(), ...configuration };\n\n /* Certifications -> Images */\n instance.certifications = [...instance.element.querySelectorAll('[data-component=\"Image\"]')]\n .filter(item => item.dataset.type)\n .filter(item => item.dataset.type.includes(config().type.certification.image))\n .map((item, index) =>\n ImageClient(\n `${selector} [data-component=\"Image\"][data-type=\"${config().type.certification.image}-${index}\"]`,\n {\n ...configuration.certification\n }\n )\n );\n\n /* Blog -> Image */\n instance.blog = {\n image: ImageClient(`${selector} [data-component=\"Image\"][data-type=\"${config().type.blog.image}\"]`, {\n ...configuration.image\n })\n };\n\n /* Flags -> Images */\n instance.flags = [...instance.element.querySelectorAll('[data-component=\"Image\"]')]\n .filter(item => item.dataset.type)\n .filter(item => item.dataset.type.includes(config().type.flag.image))\n .map((item, index) =>\n ImageClient(`${selector} [data-component=\"Image\"][data-type=\"${config().type.flag.image}-${index}\"]`, {\n ...configuration.flag\n })\n );\n\n /* Logos -> Images */\n instance.logos = [...instance.element.querySelectorAll('[data-component=\"Image\"]')]\n .filter(item => item.dataset.type)\n .filter(item => item.dataset.type.includes(config().type.logo.image))\n .map((item, index) =>\n ImageClient(`${selector} [data-component=\"Image\"][data-type=\"${config().type.logo.image}-${index}\"]`, {\n ...configuration.logo\n })\n );\n\n /* Return */\n return instance;\n }\n};\n","/* ==========================================================================\n Footer > Client > Config\n ========================================================================== */\n\n/* Import modules */\n\n/* Config */\nconst config = {\n component: 'Footer',\n type: {\n certification: {\n image: 'footer-certification-image'\n },\n logo: {\n image: 'footer-logo-image'\n },\n blog: {\n image: 'footer-blog-image'\n },\n flag: {\n image: 'footer-flag-image'\n }\n }\n};\n\nmodule.exports = () => config;\n"],"sourceRoot":""}