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