{"version":3,"sources":["webpack:///./node_modules/@bluekiri/alexandria-contrib-components/components/product-card-small/client/js/index.js","webpack:///./node_modules/@bluekiri/alexandria-contrib-components/components/product-card-small/client/js/config.js","webpack:///./node_modules/@bluekiri/alexandria-contrib-components/components/masonry-carousel/client/js/config.js","webpack:///./node_modules/@bluekiri/alexandria-contrib-components/components/masonry-carousel/client/js/index.js"],"names":["elementExist","require","ImageClient","config","module","exports","selector","arguments","length","undefined","configuration","instance","element","document","querySelector","_objectSpread","image","concat","component","size","height","width","_ref","_ref$bullets","bullets","type","card","carousel","init","hasPagination","hasNavigation","hasBreakpoints","swiper","slidesPerView","slidesPerGroup","spaceBetween","containerModifierClass","slideClass","slideActiveClass","slideVisibleClass","slideNextClass","slidePrevClass","wrapperClass","breakpoints","480","991","1200","1600","navigation","nextEl","prevEl","hiddenClass","disabledClass","pagination","el","modifierClass","currentClass","totalClass","bulletClass","bulletActiveClass","clickable","clickableClass","CarouselClient","ProductCardSmallClient","cards","_toConsumableArray","querySelectorAll","map","item","index"],"mappings":";4sBACA,IAAQA,EAAiBC,EAAQ,KAAzBD,aACFE,EAAcD,EAAQ,KACtBE,EAASF,EAAQ,MAMvBG,EAAOC,QAAU,WAAsG,IAAtEC,EAAQC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,sCAAuCG,EAAaH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAC/G,GAAIP,EAAaM,GAAW,CAExB,IAAMK,EAAW,GAcjB,OAXAA,EAASC,QAAUC,SAASC,cAAcR,GAG1CK,EAASR,OAAMY,IAAA,GAAQZ,KAAaO,GAGpCC,EAASK,MAAQd,EAAY,GAADe,OAAIX,EAAQ,6BAAAS,EAAA,GACjCL,EAAcM,QAIdL,K,mBCnBf,IAAMR,EAAS,CACXe,UAAW,mBACXF,MAAO,CACHG,KAAM,CACFC,OAAQ,IACRC,MAAO,OAMnBjB,EAAOC,QAAU,kBAAMF,I,mBCZvBC,EAAOC,QAAU,eAAAiB,EAAAf,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAuB,GAAEgB,EAAAD,EAAtBE,eAAO,IAAAD,GAAQA,EAAA,MAAa,CAC5CL,UAAW,kBACXO,KAAM,CACFC,KAAM,gBAEVC,SAAU,CACNC,MAAM,EACNC,gBAAiBL,EACjBM,eAAe,EACfC,gBAAgB,EAChBC,OAAQ,CACJJ,MAAM,EAENK,cAAe,EACfC,eAAgB,EAChBC,aAAc,GACdC,uBAAwB,+BACxBC,WAAY,mCACZC,iBAAkB,2CAClBC,kBAAmB,4CACnBC,eAAgB,yCAChBC,eAAgB,yCAChBC,aAAc,qCAGdC,YAAa,CAETC,IAAK,CACDX,cAAe,EACfC,eAAgB,GAGpBW,IAAK,CACDZ,cAAe,EACfC,eAAgB,GAGpBY,KAAM,CACFb,cAAe,EACfC,eAAgB,GAGpBa,KAAM,CACFd,cAAe,EACfC,eAAgB,IAKxBc,WAAY,CACRC,OAAQ,2CACRC,OAAQ,2CACRC,YAAa,4CACbC,cAAe,+CAInBC,WAAY,CACRC,GAAI,wBACJC,cAAe,yBACfC,aAAc,gCACdC,WAAY,8BACZN,YAAa,+BACbO,YAAa,mBACbC,kBAAmB,2BACnBC,WAAW,EACXC,eAAgB,wC,wqBCnEhC,IAAQ7D,EAAiBC,EAAQ,KAAzBD,aACF8D,EAAiB7D,EAAQ,KACzB8D,EAAyB9D,EAAQ,MACjCE,EAASF,EAAQ,MAMvBG,EAAOC,QAAU,WAA4F,IAArEC,EAAQC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,qCAAsCG,EAAaH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GACrG,GAAIP,EAAaM,GAAW,CAExB,IAAMK,EAAW,GAGjBA,EAASC,QAAUC,SAASC,cAAcR,GAG1CK,EAASR,OAAMY,IAAA,GAAQZ,KAAaO,GAGpCC,EAASqD,MAAQC,EAAItD,EAASC,QAAQsD,iBAAiB,wCAAwCC,KAC3F,SAACC,EAAMC,GAAK,OACRN,EAAuB,GAAD9C,OACfX,EAAQ,oDAAAW,OAAmDd,IAASsB,KAAKC,KAAI,KAAAT,OAAIoD,EAAK,MAAAtD,EAAA,GAElFL,EAAcgB,UAKjC,IAAMF,EAAUb,EAASC,QAAQE,cAAc,kBAS/C,OANAH,EAASgB,SAAWmC,EAAe,GAAD7C,OAAIX,EAAQ,gCAAAS,IAAA,GACvCZ,EAAO,CAAEqB,YAAWG,UACpBjB,EAAciB,WAIdhB","file":"masonry-carousel.bundle.js","sourcesContent":["/* Import modules */\nconst { elementExist } = require('@bluekiri/alexandria/helpers/domHelpers');\nconst ImageClient = require('../../../image/client/js');\nconst config = require('./config');\n\n/**\n * ProductCardSmall component\n * @param {selector} String selector for the component in the client side.\n */\nmodule.exports = function ProductCardSmallClient(selector = '[data-component=\"ProductCardSmall\"]', 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 /* Image */\n instance.image = ImageClient(`${selector} [data-component=\"Image\"]`, {\n ...configuration.image\n });\n\n /* Returns */\n return instance;\n }\n};\n","/* ==========================================================================\n ProductCardSmall > Client > Config\n ========================================================================== */\n\n/* Modules */\n\n/* Config */\nconst config = {\n component: 'ProductCardSmall',\n image: {\n size: {\n height: 190,\n width: 348\n }\n }\n};\n\n/* Exports */\nmodule.exports = () => config;\n","/* ==========================================================================\n MasonryCarousel > Client > Config\n ========================================================================== */\n\n/* Modules */\n/* Exports */\nmodule.exports = ({ bullets = false } = {}) => ({\n component: 'MasonryCarousel',\n type: {\n card: 'masonry-card'\n },\n carousel: {\n init: true,\n hasPagination: !!bullets,\n hasNavigation: true,\n hasBreakpoints: true,\n swiper: {\n init: true,\n // Default parameters\n slidesPerView: 4,\n slidesPerGroup: 4,\n spaceBetween: 12,\n containerModifierClass: 'masonry-carousel__carousel--',\n slideClass: 'masonry-carousel__carousel-slide',\n slideActiveClass: 'masonry-carousel__carousel-slide--active',\n slideVisibleClass: 'masonry-carousel__carousel-slide--visible',\n slideNextClass: 'masonry-carousel__carousel-slide--next',\n slidePrevClass: 'masonry-carousel__carousel-slide--prev',\n wrapperClass: 'masonry-carousel__carousel-wrapper',\n\n // Responsive breakpoints\n breakpoints: {\n // when window width is <= 480px\n 480: {\n slidesPerView: 1,\n slidesPerGroup: 1\n },\n // when window width is <= 720px\n 991: {\n slidesPerView: 2,\n slidesPerGroup: 2\n },\n // when window width is <= 1200px\n 1200: {\n slidesPerView: 3,\n slidesPerGroup: 3\n },\n // when window width is <= 1600px\n 1600: {\n slidesPerView: 4,\n slidesPerGroup: 4\n }\n },\n\n // Navigation\n navigation: {\n nextEl: '.masonry-carousel__carousel-button--next',\n prevEl: '.masonry-carousel__carousel-button--prev',\n hiddenClass: 'masonry-carousel__carousel-button--hidden',\n disabledClass: 'masonry-carousel__carousel-button--disabled'\n },\n\n // Pagination\n pagination: {\n el: '.carousel__pagination',\n modifierClass: 'carousel__pagination--',\n currentClass: 'carousel__pagination--current',\n totalClass: 'carousel__pagination--total',\n hiddenClass: 'carousel__pagination--hidden',\n bulletClass: 'carousel__bullet',\n bulletActiveClass: 'carousel__bullet--active',\n clickable: true,\n clickableClass: 'carousel__pagination--clickable'\n }\n }\n }\n});\n","/* ==========================================================================\n MasonryCarousel > Client\n ========================================================================== */\n\n/* Modules */\nconst { elementExist } = require('@bluekiri/alexandria/helpers/domHelpers');\nconst CarouselClient = require('../../../carousel/client/js');\nconst ProductCardSmallClient = require('../../../product-card-small/client/js');\nconst config = require('./config');\n\n/**\n * MasonryCarousel component\n * @param {selector} String selector for the component in the client side.\n */\nmodule.exports = function MasonryClient(selector = '[data-component=\"MasonryCarousel\"]', 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 /* Product cards */\n instance.cards = [...instance.element.querySelectorAll('[data-component=\"ProductCardSmall\"]')].map(\n (item, index) =>\n ProductCardSmallClient(\n `${selector} [data-component=\"ProductCardSmall\"][data-type=\"${config().type.card}-${index}\"]`,\n {\n ...configuration.card\n }\n )\n );\n\n const bullets = instance.element.querySelector('[data-bullets]');\n\n /* Carousel */\n instance.carousel = CarouselClient(`${selector} [data-component=\"Carousel\"]`, {\n ...config({ bullets }).carousel,\n ...configuration.carousel\n });\n\n /* Return */\n return instance;\n }\n};\n"],"sourceRoot":""}