{"version":3,"file":"collection.min.js","sources":["collection.min.js"],"sourcesContent":["'use strict';\n/**\n * @description Initialize event handlers on landing page\n */\n\nwindow.addEventListener('mainJsLoaded', function (event) {\n collectionInit();\n});\n\nfunction collectionInit() {\n var $catalogTilesContainer = $('.catalog-tiles-container'),\n $landingCarousel = $('#landing-tab-carousel'),\n $looksCarousel = $('#js-looksCarousel'),\n $materials = $('#js-materials');\n\n // carousel init on image load\n if ($landingCarousel.length) {\n $landingCarousel.find('img').first().one('load', function () {\n if (window.vbqUtils.breakpoint.is('fromDesktop')) {\n $landingCarousel.slick({\n slidesToShow: 1,\n dots: false,\n arrows: true,\n swipe: true,\n adaptiveHeight: true\n });\n }\n else {\n $landingCarousel.slick({\n slidesToShow: 1,\n dots: true,\n arrows: false,\n swipe: true,\n adaptiveHeight: true\n });\n }\n });\n }\n\n // carousel re-init on media query change only!\n window.vbqUtils.breakpoint.set([\n {\n media: window.vbqUtils.breakpoint.getMediaQuery('mobileAndTablet'),\n enter: function () {\n $landingCarousel.slick({\n slidesToShow: 1,\n dots: true,\n arrows: false,\n swipe: true,\n adaptiveHeight: true\n });\n }\n },\n {\n media: window.vbqUtils.breakpoint.getMediaQuery('fromDesktop'),\n enter: function () {\n $landingCarousel.slick({\n slidesToShow: 1,\n dots: false,\n arrows: true,\n swipe: true,\n adaptiveHeight: true\n });\n }\n }\n ], true); // on media query change only\n\n window.vbqUtils.breakpoint.set([\n {\n media: window.vbqUtils.breakpoint.getMediaQuery('mobileAndTablet'),\n enter: function () {\n if ($materials.length) {\n if ($materials.hasClass('slick-initialized')) {\n $materials.slick('unslick');\n }\n\n $materials.slick({\n slidesToShow: 1,\n variableWidth: false,\n adaptiveHeight: false,\n centerMode: true,\n centerPadding: '30px',\n dots: true,\n arrows: false,\n swipe: true\n });\n }\n }\n },\n {\n media: window.vbqUtils.breakpoint.getMediaQuery('fromDesktop'),\n enter: function () {\n if ($materials.length) {\n if ($materials.hasClass('slick-initialized')) {\n $materials.slick('unslick');\n }\n\n $materials.slick({\n slidesToShow: 1,\n adaptiveHeight: true,\n dots: false,\n arrows: true,\n swipe: false,\n fade: true,\n infinite: true,\n speed: 1500,\n appendArrows: '#js-materialsArrows'\n });\n\n // force a refresh after the image is loaded so the arrows are correctly positionned\n $materials.find('.js-materialsImage').first().one('load', function () {\n $materials[0].slick.refresh();\n });\n }\n }\n }\n ]);\n\n // Initialize product carousel\n window.vbqUtils.carousel.init();\n\n var setLooksCarousel = function () {\n if ($looksCarousel.length) {\n if ($looksCarousel.hasClass('slick-initialized')) {\n $looksCarousel.slick('unslick');\n }\n\n var isMobile = window.vbqUtils.breakpoint.is('mobile'),\n isTablet = window.vbqUtils.breakpoint.is('tablet'),\n slidesToShow = isMobile ? 2 : (isTablet ? 3 : 4);\n\n $looksCarousel.slick({\n slidesToShow: slidesToShow,\n rows: isMobile ? 2 : 1,\n dots: isMobile || isTablet,\n arrows: !isMobile && !isTablet,\n swipe: true,\n mobileFirst: true,\n adaptiveHeight: true\n });\n }\n };\n\n $('.category-tile-background.forced').on('load', function () {\n if ($catalogTilesContainer.length) {\n if (window.vbqUtils.breakpoint.is('tabletAndDesktop')) {\n calculateTileSize();\n\n $catalogTilesContainer = $catalogTilesContainer.masonry({\n columnWidth: '.catalog-grid-sizer',\n itemSelector: '.catalog-category-tile'\n });\n $catalogTilesContainer.addClass('masonry-initialized');\n }\n else {\n $catalogTilesContainer.filter('.masonry-initialized').masonry('destroy');\n $catalogTilesContainer.removeClass('masonry-initialized');\n }\n\n $catalogTilesContainer.addClass('visible');\n }\n });\n\n window.vbqUtils.cache.$window.resize(window.vbqUtils._debounce(function () {\n setLooksCarousel();\n\n if (window.vbqUtils.breakpoint.is('tabletAndDesktop')) {\n calculateTileSize();\n\n if ($catalogTilesContainer.length) {\n $catalogTilesContainer.masonry();\n $catalogTilesContainer.addClass('masonry-initialized');\n\n if (!$catalogTilesContainer.hasClass('visible')) {\n $catalogTilesContainer.addClass('visible');\n }\n }\n }\n else {\n $catalogTilesContainer.filter('.masonry-initialized').masonry('destroy');\n $catalogTilesContainer.removeClass('masonry-initialized');\n }\n }, 200));\n\n setLooksCarousel();\n}\n\nfunction calculateTileSize() {\n var $catalogTilesContainer = $('.catalog-tiles-container'),\n $tiles = $('.catalog-category-tile'),\n widthMultiplier,\n heightMultiplier,\n layoutSplit,\n currentUnit = $catalogTilesContainer.width() / 4,\n $value;\n\n $tiles.each(function (key, value) {\n $value = $(value);\n\n if ($value.attr('data-layout')) {\n layoutSplit = $value.attr('data-layout').split('x');\n }\n\n if (layoutSplit && layoutSplit.length == 2) {\n widthMultiplier = layoutSplit[0];\n heightMultiplier = layoutSplit[1];\n $value.width(Math.ceil(currentUnit * widthMultiplier));\n $value.height(Math.ceil(currentUnit * heightMultiplier));\n }\n });\n}\n"],"names":["collectionInit","setLooksCarousel","isMobile","isTablet","$looksCarousel","length","hasClass","slick","window","vbqUtils","breakpoint","is","slidesToShow","rows","dots","arrows","swipe","mobileFirst","adaptiveHeight","$catalogTilesContainer","$","$landingCarousel","$materials","find","first","one","set","media","getMediaQuery","enter","variableWidth","centerMode","centerPadding","fade","infinite","speed","appendArrows","refresh","carousel","init","on","calculateTileSize","masonry","columnWidth","itemSelector","addClass","filter","removeClass","cache","$window","resize","_debounce","widthMultiplier","heightMultiplier","layoutSplit","$value","$tiles","currentUnit","width","each","key","value","attr","split","Math","ceil","height","addEventListener","event"],"mappings":"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"}