{"version":3,"sources":["webpack:///./node_modules/@logitravel/alex-comp-cru/components/product-card-carousel/client/js/config.js","webpack:///./node_modules/@logitravel/alex-comp-cru/components/carousel-banner/client/js/config.js","webpack:///./node_modules/@logitravel/alex-comp-cru/components/product-card-t2/client/js/index.js","webpack:///./node_modules/@logitravel/alex-comp-cru/components/product-card-t2/client/js/config.js","webpack:///./node_modules/@logitravel/alex-comp-cru/components/carousel-banner/client/js/index.js","webpack:///./node_modules/@logitravel/alex-comp-cru/components/product-card-carousel/client/js/index.js","webpack:///./node_modules/@logitravel/alex-comp-cru/components/vertical-banner-mask/client/js/index.js"],"names":["module","exports","init","hasPagination","hasNavigation","isMulti","swiper","slidesPerView","slidesPerGroup","spaceBetween","breakpoints","480","768","991","1200","config","component","carousel","735","900","1024","1300","1600","carouselNoBanner","css","pdCarouselBanner","pdCarousel","elementExist","require","tippy","Image","RatingStars","selector","arguments","length","undefined","configuration","instance","element","document","querySelector","_objectSpread","concat","arrow","arrowType","animation","duration","placement","theme","ship","type","map","logo","dynLogo","dyn","ratingStars","taxesModifier","buttonCardModifier","imagesConfig","resize","width","height","suboperation","ProductCardCarousel","VerticalBannerMask","mask","Carousel","ProductCardT2","cards","_toConsumableArray","querySelectorAll","item","index","dataset","on","classList","remove","imageClient","image"],"mappings":"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","file":"carousel-banner.35a99ce0c7582680b9c2.bundle.js","sourcesContent":["module.exports = () => ({\n init: true,\n hasPagination: true,\n hasNavigation: true,\n isMulti: true,\n swiper: {\n init: true,\n // Default parameters\n slidesPerView: 5,\n slidesPerGroup: 5,\n spaceBetween: 8,\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 <= 768px\n 768: {\n slidesPerView: 2,\n slidesPerGroup: 2\n },\n // when window width is <= 991px\n 991: {\n slidesPerView: 3,\n slidesPerGroup: 3\n },\n // when window width is <= 1200px\n 1200: {\n slidesPerView: 4,\n slidesPerGroup: 4\n }\n }\n }\n});\n","/* ==========================================================================\n CarouselBanner > Client > Config\n ========================================================================== */\n\n/* Import modules */\n\n/* Config */\nconst config = {\n component: 'CarouselBanner',\n carousel: {\n config: {\n init: true,\n hasPagination: true,\n hasNavigation: true,\n isMulti: true,\n swiper: {\n init: true,\n // Default parameters\n slidesPerView: 4,\n slidesPerGroup: 4,\n spaceBetween: 8,\n\n // Responsive breakpoints\n breakpoints: {\n // when window width is <= 735px\n 735: {\n slidesPerView: 2,\n slidesPerGroup: 2\n },\n // when window width is <= 900px\n 900: {\n slidesPerView: 3,\n slidesPerGroup: 3\n },\n // when window width is <= 1024px\n 1024: {\n slidesPerView: 2,\n slidesPerGroup: 2\n },\n // when window width is <= 1300px\n 1300: {\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 }\n },\n carouselNoBanner: {\n config: {\n init: true,\n hasPagination: false,\n hasNavigation: false,\n isMulti: true,\n swiper: {\n init: true,\n // Default parameters\n slidesPerView: 5,\n slidesPerGroup: 5,\n spaceBetween: 8,\n\n // Responsive breakpoints\n breakpoints: {\n // when window width is <= 480px\n 735: {\n slidesPerView: 2,\n slidesPerGroup: 2\n },\n // when window width is <= 720px\n 1024: {\n slidesPerView: 3,\n slidesPerGroup: 3\n },\n // when window width is <= 1200px\n 1300: {\n slidesPerView: 4,\n slidesPerGroup: 4\n },\n // when window width is <= 1600px\n 1600: {\n slidesPerView: 5,\n slidesPerGroup: 5\n }\n }\n }\n }\n },\n css: {\n pdCarouselBanner: 'product-card-carousel-cruises--banner',\n pdCarousel: 'product-card-carousel-cruises--no-banner'\n }\n};\n\nmodule.exports = () => config;\n","const { elementExist } = require('@bluekiri/alexandria/helpers/domHelpers');\nconst tippy = require('tippy.js');\nconst Image = require('@bluekiri/alexandria-contrib-components/components/image/client/js');\nconst RatingStars = require('../../../rating-stars/client/js');\nconst config = require('./config');\n\n/**\n * ProductCardT2 component\n * @param {selector} String selector for the component in the client side.\n */\nmodule.exports = function ProductCardT2Client(selector = '[data-component=\"ProductCardT2\"]', configuration = {}) {\n if (elementExist(selector)) {\n const instance = {};\n\n instance.element = document.querySelector(selector);\n\n instance.config = { ...config(), ...configuration };\n\n instance.tippy = tippy(`${selector} .js-product-card-t2__icon`, {\n arrow: true,\n arrowType: 'sharp',\n animation: 'fade',\n duration: 200,\n placement: 'bottom',\n theme: 'translucent base-dark highlights'\n });\n\n instance.ship = Image(`${selector} [data-type=\"${config().type.ship}\"]`);\n instance.map = Image(`${selector} [data-type=\"${config().type.map}\"]`);\n instance.logo = Image(`${selector} [data-type=\"${config().type.logo}\"]`);\n instance.dynLogo = Image(`${selector} [data-type=\"${config().type.dyn}\"]`);\n\n instance.ratingStars = RatingStars(`${selector} [data-component='RatingStars']`);\n\n return instance;\n }\n};\n","/* ==========================================================================\n ProductCardT2 > Client > Config\n ========================================================================== */\n\n/* Import modules */\n\n/* Config */\nconst config = {\n component: 'ProductCardT2',\n type: {\n ship: 'ship-image',\n map: 'map-image',\n logo: 'logo-image',\n dyn: 'logo-logicruises'\n },\n css: {\n taxesModifier: 'product-card-t2--included-taxes',\n buttonCardModifier: 'product-card-t2__reseve-button',\n ship: 'product-card-t2__ship-image-container',\n map: 'product-card-t2__itinerary-image-container',\n logo: 'product-card-t2__logo-container',\n dyn: 'product-card-t2__logo-dynamic'\n },\n imagesConfig: {\n ship: {\n resize: {\n width: 162,\n height: 135\n }\n },\n map: {\n resize: {\n width: 240,\n height: 186\n }\n },\n logo: {\n resize: {\n width: 126,\n height: 81,\n suboperation: ''\n }\n },\n dyn: {\n resize: {\n width: 48,\n height: 48\n }\n }\n }\n};\n\nmodule.exports = () => config;\n","/* ==========================================================================\n CarouselBanner > Client\n ========================================================================== */\n\n/* Import modules */\nconst { elementExist } = require('@bluekiri/alexandria/helpers/domHelpers');\nconst ProductCardCarousel = require('../../../product-card-carousel/client/js');\nconst VerticalBannerMask = require('../../../vertical-banner-mask/client/js');\nconst config = require('./config');\n\n/**\n * CarouselBanner component\n * @param {selector} String selector for the component in the client side.\n */\nmodule.exports = function CarouselBanner(selector = '[data-component=CarouselBanner]', configuration = {}) {\n if (elementExist(selector)) {\n const instance = {};\n\n instance.element = document.querySelector(selector);\n\n instance.config = { ...config(), ...configuration };\n\n instance.mask = VerticalBannerMask(`${selector} [data-component=VerticalBannerMask]`);\n\n instance.carousel = ProductCardCarousel(\n `${selector} [data-component=\"ProductCardCarouselCruises\"]`,\n instance.mask ? config().carousel.config : config().carouselNoBanner.config\n );\n\n return instance;\n }\n};\n","const { elementExist } = require('@bluekiri/alexandria/helpers/domHelpers');\n\nconst Carousel = require('@bluekiri/alexandria-contrib-components/components/carousel/client/js');\n\nconst ProductCardT2 = require('../../../product-card-t2/client/js');\nconst config = require('./config');\n\n/**\n * Client/browser JS for product card carousel\n * @param {string} selector selector\n */\nmodule.exports = function ProductCardCarousel(\n selector = '[data-component=\"ProductCardCarouselCruises\"]',\n configuration = {}\n) {\n // Initialize the carousels that are in the page as soon as it is loaded\n if (elementExist(selector)) {\n const instance = {};\n\n instance.element = document.querySelector(selector);\n\n instance.config = { ...config(), ...configuration };\n\n instance.cards = [...instance.element.querySelectorAll(`${selector} [data-component=\"ProductCardT2\"]`)].map(\n (item, index) => {\n const it = item;\n it.dataset.type = `image-card-${index}`;\n\n return ProductCardT2(`${selector} [data-component=\"ProductCardT2\"][data-type=\"image-card-${index}\"]`);\n }\n );\n instance.carousel = Carousel(`${selector} [data-component=\"Carousel\"]`, {\n ...instance.config,\n swiper: {\n ...instance.config.swiper,\n on: {\n init: () => instance.element.classList.remove('is-loading')\n }\n }\n });\n\n return instance;\n }\n};\n","/* ==========================================================================\n VerticalBannerMask > Client\n ========================================================================== */\n\n/* Import modules */\nconst { elementExist } = require('@bluekiri/alexandria/helpers/domHelpers');\nconst imageClient = require('@bluekiri/alexandria-contrib-components/components/image-rxjs/client/js');\n\n/**\n * VerticalBannerMask component\n * @param {selector} String selector for the component in the client side.\n */\nmodule.exports = function VerticalBannerMask(selector = '[data-component=VerticalBannerMask]', configuration = {}) {\n if (elementExist(selector)) {\n const instance = {};\n\n instance.element = document.querySelector(selector);\n\n instance.config = { ...configuration };\n\n instance.image = imageClient(`${selector} [data-component=\"ImageRxjs\"]`);\n\n return instance;\n }\n};\n"],"sourceRoot":""}