{"version":3,"sources":["webpack:///./js/PFF/controllers/productDetail.ts","webpack:///./js/PFF/modules/productMedia.ts","webpack:///./js/PFF/modules/collectionCarousel.ts"],"names":["PFF","$","__webpack_require__","delineate_1","CollectionCarousel","ProductMedia","throttle_debounce_1","controllers","productDetail","init","on","window","print","delineate","$productInfoBar","$sectionNav","length","$window","updateInfoBarVisibility","scrollTop","offset","top","addClass","removeClass","throttle","initProductInfoBar","document","get","dispatchEvent","Event","region_helper_1","initProductMedia","galleryimagesObject","vignetteimagesObject","roomimagesObject","lifestyleimagesObject","product360videoObject","supplementaryimagesObject","threeSixtyObject","roomimagesremObject","vignetteimagesremObject","clippedimagesObject","marketingvideoObject","isUnique","value","index","self","indexOf","each","$this","this","id","data","type","push","groupedGalleryImageIDs","filter","join","groupedVignetteImageIDs","groupedRoomImageIDs","groupedLifestyleImageIDs","groupedProduct360VideoIDs","groupedSupplementaryImageIDs","groupedThreeSixtyIDs","groupedRoomImageRemIDs","groupedVignetteImageRemIDs","groupedClippedImageIDs","groupedMarketingVideoIDs","e","$item","$itemIndex","setTimeout","fadeIn","remove","preventDefault","galleryImageIDs","vignetteImageIDs","roomImageIDs","lifestyleImageIDs","product360VideoIDs","supplementaryImageIDs","threeSixtyIDs","roomImageRemIDs","vignetteImageRemIDs","clippedImageIDs","marketingVideoIDs","isSingleImage","$link","find","currentItemId","imageIds","concat","fullUrlWithParams","RegionHelper","detectLanguage","attr","initModal","exports","Swiper","element","$parent","parents","cCarousel","slidesPerView","slidesPerGroup","speed","spaceBetween","centeredSlides","loop","simulateTouch","watchOverflow","breakpoints","640","991","1199","pagination","el","clickable","navigation","nextEl","prevEl"],"mappings":"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","file":"controllers/productDetail.js","sourcesContent":["import * as $ from 'jquery';\r\nimport {delineate} from \"../../lib/delineate\";\r\n// import \"../../lib/objectFitPolyfill.min.js\";\r\nimport * as CollectionCarousel from \"../modules/collectionCarousel\";\r\nimport * as ProductMedia from \"../modules/productMedia\";\r\nimport {throttle} from \"throttle-debounce\";\r\nimport {update} from \"../modules/rangeSlider\";\r\n\r\n\r\nnamespace PFF.controllers.productDetail {\r\n\r\n\tfunction printFunctionalityInit() {\r\n\t\t$('.js-window-print').on('click', function(){\r\n\t\t\twindow.print();\r\n\t\t});\r\n\t}\r\n\r\n\tfunction delineateInfoBar(){\r\n\t\tnew delineate('.js-info-bar');\r\n\t}\r\n\r\n\tfunction writeReviewTrigger() {\r\n\t\t//unbinding third party js\r\n\t\r\n\t\t$(document).on('mousedown', '.bv_aaq_button', function() {\r\n            // Switch to the QA tab in the Reviews / QA tabset\r\n            $('#toggle-qa').get(0).dispatchEvent(new Event('click'));\r\n        });\r\n\r\n        $(document).on('mousedown', '.bv_war_button', function() {\r\n            // Switch to the QA tab in the Reviews / QA tabset\r\n            $('#toggle-reviews').get(0).dispatchEvent(new Event('click'));\r\n        });\r\n\r\n        $(document).on('mousedown', '.bv_ratings_summary', function() {\r\n            // Switch to the QA tab in the Reviews / QA tabset\r\n            $('#toggle-reviews').get(0).dispatchEvent(new Event('click'));\r\n        });\r\n\r\n\t}\r\n\r\n\tfunction initProductInfoBar() {\r\n\t\tlet $productInfoBar = $('.js-product-info-bar');\r\n\t\tlet $sectionNav = $('.js-section-nav');\r\n\t\tif(!$productInfoBar.length) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tlet $window = $(window);\r\n\r\n\t\tlet updateInfoBarVisibility = function() {\r\n\t\t\tif ($window.scrollTop() >= $sectionNav.offset().top) {\r\n\t\t\t\t$sectionNav.addClass('state-stuck');\r\n\t\t\t} else {\r\n\t\t\t\t$sectionNav.removeClass('state-stuck');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tupdateInfoBarVisibility();\r\n\r\n\t\t$window.on('scroll', function () {\r\n\t\t\tthrottle(150, updateInfoBarVisibility() );\r\n\t\t}).on('resize', function () {\r\n\t\t\tthrottle( 150, updateInfoBarVisibility() );\r\n\t\t});\r\n\t}\r\n\r\n\texport function init() {\r\n\t\tprintFunctionalityInit();\r\n\t\tdelineateInfoBar();\t\r\n\t\tinitProductInfoBar();\r\n\t\tCollectionCarousel.init();\r\n\t\t//Stickyfill.init();\r\n\t\tProductMedia.init();\r\n\t\twriteReviewTrigger();\r\n\t}\r\n}\r\n\r\nPFF.controllers.productDetail.init();\r\n\n\n\n// WEBPACK FOOTER //\n// ./js/PFF/controllers/productDetail.ts","import * as $ from \"jquery\";\r\nimport {RegionHelper} from \"../angular-modules/common/helpers/region.helper\";\r\n\r\nfunction initProductMedia(){\r\n\tvar $productMedia = $('.js-product-media'),\r\n\t\t$productMediaList = $('.js-product-media-list'),\r\n\t    $productMediaItems = $('.js-product-media-item'),\r\n\t\tgalleryimagesObject = [],\r\n\t\tvignetteimagesObject = [],\r\n\t\troomimagesObject = [],\r\n\t\tlifestyleimagesObject = [],\r\n\t\tproduct360videoObject = [],\r\n\t\tsupplementaryimagesObject = [],\r\n\t\tthreeSixtyObject = [],\r\n\t\troomimagesremObject = [],\r\n\t\tvignetteimagesremObject = [],\r\n\t\tclippedimagesObject = [],\r\n\t\tmarketingvideoObject = [];\r\n\t\t\r\n\r\n\t$productMediaItems.each(function(){\r\n\t\tvar $this = $(this),\r\n\t\t\tid = $this.data('id'),\r\n\t\t\ttype = $this.data('type'),\r\n\t\t\tindex = $this.index() + 1;\r\n\r\n\t\t//push all images to the imagesObject\r\n\t\tif (type === 'galleryimage') {\r\n                galleryimagesObject.push(id);\r\n            }else if (type === 'vignetteimage') {\r\n                vignetteimagesObject.push(id);\r\n            }else if (type === 'roomimage') {\r\n                roomimagesObject.push(id);\r\n            }else if (type === 'lifestyleimage') {\r\n                lifestyleimagesObject.push(id);\r\n            }else if (type === 'product360video') {\r\n                product360videoObject.push(id);\r\n            }else if (type === 'supplementaryimage') {\r\n                supplementaryimagesObject.push(id);\r\n            }else if (type === 'threesixty') {\r\n                threeSixtyObject.push(id);\r\n            }else if (type === 'roomimagerem') {\r\n                roomimagesremObject.push(id);\r\n            }else if (type === 'vignetteimagerem') {\r\n                vignetteimagesremObject.push(id);\r\n            }else if (type === 'clippedimage') {\r\n                clippedimagesObject.push(id);\r\n            }else if (type === 'marketingvideo') {\r\n                marketingvideoObject.push(id);\r\n\t\t\t}\r\n\t});\r\n\r\n\r\n\tfunction isUnique(value, index, self) {\r\n\t\treturn self.indexOf(value) === index;\r\n\t}\r\n\r\n\tvar groupedGalleryImageIDs = galleryimagesObject.filter(isUnique).join(','),\r\n\t\tgroupedVignetteImageIDs = vignetteimagesObject.filter(isUnique).join(','),\r\n\t\tgroupedRoomImageIDs = roomimagesObject.filter(isUnique).join(','),\r\n\t\tgroupedLifestyleImageIDs = lifestyleimagesObject.filter(isUnique).join(','),\r\n\t\tgroupedProduct360VideoIDs = product360videoObject.filter(isUnique).join(','),\r\n\t\tgroupedSupplementaryImageIDs = supplementaryimagesObject.filter(isUnique).join(','),\r\n\t\tgroupedThreeSixtyIDs = threeSixtyObject.filter(isUnique).join(','),\r\n\t\tgroupedRoomImageRemIDs = roomimagesremObject.filter(isUnique).join(','),\r\n\t\tgroupedVignetteImageRemIDs = vignetteimagesremObject.filter(isUnique).join(','),\r\n\t\tgroupedClippedImageIDs = clippedimagesObject.filter(isUnique).join(','),\r\n\t\tgroupedMarketingVideoIDs = marketingvideoObject.filter(isUnique).join(',');\r\n\t\t\t\t\r\n\t\t//$productMediaList.attr({'data-image-ids' : groupedImageIDs, 'data-youtube-ids' : groupedYouTubeIDs, 'data-scene7-ids' : groupedScene7IDs, 'data-360-ids' : grouped360IDs});\r\n\r\n\t//Click function for the more images button\r\n\t$('body').on('click', '.js-more-product-media', function(e){\r\n\t\t$('.js-product-media-item.state-hidden').each(function(){\r\n\t\t\tvar $item = $(this);\r\n\t\t\tvar $itemIndex = $item.index() - 5;\r\n\r\n\t\t\tsetTimeout(function(){\r\n\t\t\t\t$item.fadeIn(200);\r\n\t\t\t}, $itemIndex * 200);\r\n\t\t});\r\n\r\n\t\t$(this).remove();\r\n\t\te.preventDefault();\r\n\t});\r\n\r\n\t// console.log(groupedImageIDs);\r\n\r\n\t//initModal(groupedImageIDs, groupedYouTubeIDs, groupedScene7IDs, grouped360IDs);\r\n\t\r\n\tinitModal(groupedGalleryImageIDs, groupedVignetteImageIDs, groupedRoomImageIDs, groupedLifestyleImageIDs, \r\n                  groupedProduct360VideoIDs, groupedSupplementaryImageIDs, groupedThreeSixtyIDs, groupedRoomImageRemIDs, \r\n                  groupedVignetteImageRemIDs, groupedClippedImageIDs, groupedMarketingVideoIDs);\r\n}\r\n\r\n\r\nfunction initModal(galleryImageIDs, vignetteImageIDs, roomImageIDs, lifestyleImageIDs, product360VideoIDs, supplementaryImageIDs, threeSixtyIDs, roomImageRemIDs, vignetteImageRemIDs, clippedImageIDs, marketingVideoIDs){\r\n\t$('.js-product-media-item').each(function(){\r\n\t\tlet $link = $(this).find('.js-product-media-link');\r\n\t\tlet currentItemId = $(this).data('id');\r\n\t\tlet isSingleImage;\r\n\t\t\r\n\t\tlet imageIds = galleryImageIDs.concat(vignetteImageIDs, roomImageIDs, lifestyleImageIDs, supplementaryImageIDs, threeSixtyIDs, roomImageRemIDs, vignetteImageRemIDs, clippedImageIDs);\r\n\t\timageIds.indexOf(\",\") == -1 && (product360VideoIDs.length < 1 && marketingVideoIDs.length < 1 && threeSixtyIDs.length < 1) ? isSingleImage = \"&singleImage=true\" : isSingleImage = \"\";\r\n\r\n\t\tvar fullUrlWithParams = `?ids=${galleryImageIDs},vignetteids:${vignetteImageIDs},roomids:${roomImageIDs},lifestyleids:${lifestyleImageIDs},product360ids:${product360VideoIDs},supplementaryids:${supplementaryImageIDs},threesixtyids:${threeSixtyIDs},roomremids:${roomImageRemIDs},vignetteremids:${vignetteImageRemIDs},clippedids:${clippedImageIDs},marketingids:${marketingVideoIDs}${isSingleImage}`;\r\n\t\tif (currentItemId) {\r\n\t\t\tfullUrlWithParams = fullUrlWithParams.concat(\"&selectedItem=\" + currentItemId);\r\n\t\t}\r\n\r\n\t\tif(RegionHelper.detectLanguage() === \"es\" || RegionHelper.detectLanguage() === \"fr\") {\r\n\t\t\t$link.attr('href', `/${RegionHelper.detectLanguage()}/modal${fullUrlWithParams}`);\r\n\t\t} else {\r\n\t\t\t$link.attr('href', '/modal' + fullUrlWithParams);\r\n\t\t}\r\n\t});\r\n}\r\n\r\nexport function init() {\r\n\tinitProductMedia();\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./js/PFF/modules/productMedia.ts","import * as $ from \"jquery\";\r\nimport * as Swiper from 'swiper/dist/js/swiper.min';\r\n\r\nfunction CollectionCarousel() {\r\n\t$('.js-collection-carousel').each(function(index, element) {\r\n\t\tlet $this = $(this);\r\n\t\t$this.addClass('collection-carousel-'+index);\r\n\t\tlet $parent = $this.parents('.collection-carousel__container');\r\n\t\tlet carouselList = [];\r\n\r\n\t\t//setup each swiper instances\r\n\t\tlet cCarousel = new Swiper('.collection-carousel-'+index, {\r\n\t\t\tslidesPerView: 4,\r\n\t\t\tslidesPerGroup: 4,\r\n\t\t\tspeed: 400,\r\n\t\t\tspaceBetween: 6,\r\n\t\t\tcenteredSlides: false,\r\n\t\t\tloop: false,\r\n\t\t\tsimulateTouch: true,\r\n\t\t\twatchOverflow: true,\r\n\r\n\t\t\tbreakpoints: {\r\n\t\t\t\t// when window width is <= 640\r\n\t\t\t\t640: {\r\n\t\t\t\t\tslidesPerView: 1,\r\n\t\t\t\t\tslidesPerGroup: 1\r\n\t\t\t\t},\r\n\t\t\t\t991: {\r\n\t\t\t\t\tslidesPerView: 2,\r\n\t\t\t\t\tslidesPerGroup: 2\r\n\t\t\t\t},\r\n\t\t\t\t1199: {\r\n\t\t\t\t\tslidesPerView: 3,\r\n\t\t\t\t\tslidesPerGroup: 3\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tpagination: {\r\n\t\t\t\tel: $parent.find('.swiper-pagination'),\r\n\t\t\t\ttype: 'bullets',\r\n\t\t\t\tclickable: true\r\n\t\t\t},\r\n\r\n\t\t\t// Navigation arrows\r\n\t\t\tnavigation: {\r\n\t\t\t\tnextEl: $parent.find('.swiper-button-next'),\r\n\t\t\t\tprevEl: $parent.find('.swiper-button-prev')\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tcarouselList.push(cCarousel);\r\n\t\tcCarousel.init();\r\n\t});\r\n}\r\n\r\nexport function init() {\r\n\tCollectionCarousel();\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./js/PFF/modules/collectionCarousel.ts"],"sourceRoot":""}