{"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/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/product-card-carousel/client/js/index.js","webpack:///./node_modules/@logitravel/alex-comp-cru/components/tabs-carousel/client/js/index.js"],"names":["module","exports","init","hasPagination","hasNavigation","isMulti","swiper","slidesPerView","slidesPerGroup","spaceBetween","breakpoints","480","768","991","1200","elementExist","require","tippy","Image","RatingStars","config","selector","arguments","length","undefined","configuration","instance","element","document","querySelector","_objectSpread","concat","arrow","arrowType","animation","duration","placement","theme","ship","type","map","logo","dynLogo","dyn","ratingStars","component","css","taxesModifier","buttonCardModifier","imagesConfig","resize","width","height","suboperation","Carousel","ProductCardT2","cards","_toConsumableArray","querySelectorAll","item","index","dataset","carousel","on","classList","remove","TabsClient","ProductCardCarouselClient","onComponentLoaded","placeholderId"],"mappings":"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","file":"tabs-carousel.663d386940adfd0a8911.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","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","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 TabsCarousel > Client\n ========================================================================== */\n\n/* Import modules */\nconst { elementExist } = require('@bluekiri/alexandria/helpers/domHelpers');\nconst { TabsClient } = require('@bluekiri/alexandria-contrib-components/components/tabs/client/js/index');\nconst ProductCardCarouselClient = require('../../../product-card-carousel/client/js/index');\nrequire('../../../product-card-t2/client/js');\n\n/**\n * TabsCarousel component\n * @param {selector} String selector for the component in the client side.\n */\nmodule.exports = function TabsCarousel(selector = '[data-component=\"TabsCarousel\"]') {\n if (elementExist(selector)) {\n TabsClient(`${selector} [data-component=\"Tabs\"]`, onComponentLoaded);\n\n ProductCardCarouselClient(`${selector} [data-component=\"ProductCardCarouselCruises\"]`);\n }\n};\n\nfunction onComponentLoaded(placeholderId) {\n // When a component is loaded by ajax, we need to initialize the carousel on it\n ProductCardCarouselClient(`#${placeholderId} [data-component=\"ProductCardCarouselCruises\"]`);\n}\n"],"sourceRoot":""}