{"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","require","ImageClient","config","module","exports","selector","arguments","length","undefined","configuration","instance","element","document","querySelector","_objectSpread","certifications","_toConsumableArray","querySelectorAll","filter","item","dataset","type","includes","certification","image","map","index","concat","blog","flags","flag","logos","logo","component"],"mappings":";iyBAKA,IAAQA,EAAiBC,EAAQ,QAAzBD,aACFE,EAAcD,EAAQ,QACtBE,EAASF,EAAQ,QAMvBG,EAAOC,QAAU,WAA0E,IAA1DC,EAAQC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,0BAA2BG,EAAaH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GACnF,GAAIP,EAAaM,GAAW,CAExB,IAAMK,EAAW,GAiDjB,OA9CAA,EAASC,QAAUC,SAASC,cAAcR,GAG1CK,EAASR,OAAMY,IAAA,GAAQZ,KAAaO,GAGpCC,EAASK,eAAiBC,EAAIN,EAASC,QAAQM,iBAAiB,6BAC3DC,QAAO,SAAAC,GAAI,OAAIA,EAAKC,QAAQC,QAC5BH,QAAO,SAAAC,GAAI,OAAIA,EAAKC,QAAQC,KAAKC,SAASpB,IAASmB,KAAKE,cAAcC,UACtEC,KAAI,SAACN,EAAMO,GAAK,OACbzB,EAAY,GAAD0B,OACJtB,EAAQ,yCAAAsB,OAAwCzB,IAASmB,KAAKE,cAAcC,MAAK,KAAAG,OAAID,EAAK,MAAAZ,EAAA,GAEtFL,EAAcc,mBAMjCb,EAASkB,KAAO,CACZJ,MAAOvB,EAAY,GAAD0B,OAAItB,EAAQ,yCAAAsB,OAAwCzB,IAASmB,KAAKO,KAAKJ,MAAK,MAAAV,EAAA,GACvFL,EAAce,SAKzBd,EAASmB,MAAQb,EAAIN,EAASC,QAAQM,iBAAiB,6BAClDC,QAAO,SAAAC,GAAI,OAAIA,EAAKC,QAAQC,QAC5BH,QAAO,SAAAC,GAAI,OAAIA,EAAKC,QAAQC,KAAKC,SAASpB,IAASmB,KAAKS,KAAKN,UAC7DC,KAAI,SAACN,EAAMO,GAAK,OACbzB,EAAY,GAAD0B,OAAItB,EAAQ,yCAAAsB,OAAwCzB,IAASmB,KAAKS,KAAKN,MAAK,KAAAG,OAAID,EAAK,MAAAZ,EAAA,GACzFL,EAAcqB,UAK7BpB,EAASqB,MAAQf,EAAIN,EAASC,QAAQM,iBAAiB,6BAClDC,QAAO,SAAAC,GAAI,OAAIA,EAAKC,QAAQC,QAC5BH,QAAO,SAAAC,GAAI,OAAIA,EAAKC,QAAQC,KAAKC,SAASpB,IAASmB,KAAKW,KAAKR,UAC7DC,KAAI,SAACN,EAAMO,GAAK,OACbzB,EAAY,GAAD0B,OAAItB,EAAQ,yCAAAsB,OAAwCzB,IAASmB,KAAKW,KAAKR,MAAK,KAAAG,OAAID,EAAK,MAAAZ,EAAA,GACzFL,EAAcuB,UAKtBtB,K,mBC1Df,IAAMR,EAAS,CACX+B,UAAW,SACXZ,KAAM,CACFE,cAAe,CACXC,MAAO,8BAEXQ,KAAM,CACFR,MAAO,qBAEXI,KAAM,CACFJ,MAAO,qBAEXM,KAAM,CACFN,MAAO,uBAKnBrB,EAAOC,QAAU,kBAAMF","file":"footer.e07684f292635998205e.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":""}