{"version":3,"sources":["app/js/home/home.js","app/js/common/modal-popup.js","app/js/common/fade-carousel.js","app/js/common/play-pause-modal-video.js","app/js/common/tooltip.js","app/js/common/revealanimation.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"home.js","sourcesContent":["var PES = PES || {};\r\nPES.Home = function () {\r\n\r\n\tfunction setupDemo() {\r\n // change image when clicking on buttons with icons\r\n // Imagine building stunning project visuals effortlessly.\r\n const demoImg = $('.js-demo-image');\r\n const demoImgSrc = $(demoImg).attr('src');\r\n const demoImgAlt = $(demoImg).attr('alt');\r\n\r\n const demoButtons = $('.js-demo-nav a');\r\n\r\n var rollbackImage;\r\n\r\n function revertDemoImageSource() {\r\n $(demoImg)\r\n .attr('src', demoImgSrc)\r\n .attr('alt', demoImgAlt);\r\n }\r\n\r\n function revertAction() {\r\n rollbackImage = setTimeout(revertDemoImageSource, 1500);\r\n }\r\n\r\n function clearTimelapse() {\r\n clearTimeout(rollbackImage);\r\n }\r\n\r\n demoButtons.each(function (index) {\r\n $(this).on('click', function (e) {\r\n e.preventDefault();\r\n const imgSrc = $(this).data('src');\r\n const imgAlt = $(this).data('alt');\r\n\r\n $(demoImg)\r\n .attr('src', imgSrc)\r\n .attr('alt', imgAlt);\r\n clearTimelapse();\r\n revertAction();\r\n });\r\n });\r\n };\r\n\r\n\tvar init = function () {\r\n\t\tsetupDemo();\r\n\t};\r\n\r\n\treturn {\r\n\t\tinit: init\r\n\t};\r\n}();\r\n","var PES = PES || {};\r\nPES.ModalPopup = function () {\r\n\r\n var showModal = function () {\r\n var modalTarget = \".open-modal\";\r\n var slideItem = \".slide-container > .slide-item\";\r\n var currentSlide;\r\n var thumbSelectors = \".thumb__selectors > li\";\r\n var currentThumb;\r\n var modalWindow = \".modal-window\";\r\n var modalWindowPlusProSlider = \".modal-window.plus-pro-slider\";\r\n var isPlus = \".plus-section\";\r\n var isPro = \".pro-section\";\r\n var plusButton = \"plus-button\";\r\n var proButton = \"pro-button\";\r\n var selectGalleryVersion = \".version__button--select\";\r\n var carouselContainer = \".modal-window .carousel-template\";\r\n var bodyContainer = 'body';\r\n var imageIndex;\r\n var targetWindow;\r\n\r\n var activatePlus = function () {\r\n $(isPro).removeClass(\"active\");\r\n $(\".pro-button\").removeClass(\"active\");\r\n $(isPlus).addClass(\"active\");\r\n $(\".plus-button\").addClass(\"active\");\r\n $(carouselContainer).removeClass(\"pro-banner\");\r\n }\r\n\r\n var activatePro = function () {\r\n $(isPlus).removeClass(\"active\");\r\n $(\".plus-button\").removeClass(\"active\");\r\n $(isPro).addClass(\"active\");\r\n $(\".pro-button\").addClass(\"active\");\r\n $(carouselContainer).addClass(\"pro-banner\");\r\n }\r\n\r\n $(modalTarget).on(\"click\", function (e) {\r\n e.preventDefault();\r\n imageIndex = $(this).children(\"img\").attr(\"data-index\");\r\n targetWindow = $(this).attr(\"data-target\");\r\n\r\n if ($(this).hasClass(\"plus-section\")) {\r\n $(modalWindowPlusProSlider).addClass(\"active\");\r\n activatePlus();\r\n } else if ($(this).hasClass(\"pro-section\")) {\r\n $(modalWindowPlusProSlider).addClass(\"active\");\r\n activatePro();\r\n } else if ($(modalWindow).hasClass(targetWindow)) {\r\n $(\".\" + targetWindow).addClass(\"active\");\r\n } else if (!$(this).hasClass('plus-addin-button')) {\r\n $(modalWindow).addClass('active');\r\n }\r\n\r\n if ($(modalWindow).hasClass(\"active\")) {\r\n $(bodyContainer).addClass(\"fixed-position\");\r\n }\r\n\r\n currentSlide = $(slideItem)[imageIndex];\r\n currentThumb = $(thumbSelectors)[imageIndex];\r\n\r\n $(currentSlide).siblings().removeClass(\"active\");\r\n $(currentSlide).addClass(\"active\");\r\n $(currentThumb).siblings().children(\".slide-select\").removeClass(\"active\");\r\n $(currentThumb).children(\".slide-select\").addClass(\"active\");\r\n });\r\n\r\n $(selectGalleryVersion).on(\"click\", function () {\r\n if ($(this).hasClass(plusButton)) {\r\n $(\".\" + plusButton).addClass(\"active\");\r\n $(\".\" + proButton).removeClass(\"active\");\r\n activatePlus();\r\n } else if ($(this).hasClass(proButton)) {\r\n $(\".\" + proButton).addClass(\"active\");\r\n $(\".\" + plusButton).removeClass(\"active\");\r\n activatePro();\r\n }\r\n });\r\n\r\n var closeModalWindow = function () {\r\n if (!$(\".modal-window.pro-suggestion\").hasClass(\"active\")) {\r\n $(modalWindow).removeClass(\"active\");\r\n if ($(isPlus).hasClass(\"active\") || $(isPro).hasClass(\"active\")) {\r\n $(isPlus).removeClass(\"active\");\r\n $(isPro).removeClass(\"active\");\r\n $(\".\" + proButton).removeClass(\"active\");\r\n $(\".\" + plusButton).removeClass(\"active\");\r\n }\r\n }\r\n $(bodyContainer).removeClass(\"fixed-position\");\r\n }\r\n\r\n $(modalWindow).on(\"click\", function (e) {\r\n e.preventDefault();\r\n var target = e.target;\r\n\r\n if ($(target).hasClass(\"close-button\") || (!$(target).parents(\".layout-section-content.carousel-container\").length && !$(target).parents(\".modal-window.pro-suggestion\").length)) {\r\n closeModalWindow();\r\n }\r\n });\r\n\r\n $(document).on(\"keydown\", function (e) {\r\n if (e.keyCode === 27 && $(modalWindow).hasClass(\"active\")) {\r\n closeModalWindow();\r\n }\r\n });\r\n }\r\n\r\n var init = function () {\r\n showModal();\r\n }\r\n\r\n return {\r\n init: init\r\n }\r\n}","var PES = PES || {};\r\nPES.FadeCarouselSlider = function () {\r\n\r\n function fadeSlider() {\r\n\r\n var slideItem = $(\".ppt__slide--handler.active\").find(\".slide__image\").toArray();\r\n var currentSlide = 0;\r\n var interval = 6000;\r\n var slideIndicator = $(\".ppt__slide--handler.active\").find(\".slide__thumb\").toArray();\r\n var intervalReference;\r\n\r\n setTimeout(moveSlide, 10);\r\n\r\n function startAnimation() {\r\n clearInterval(intervalReference);\r\n intervalReference = setInterval(moveSlide, interval);\r\n }\r\n\r\n function moveSlide() {\r\n\r\n if (!$(slideItem[currentSlide]).hasClass(\"active\") || !$(slideIndicator[currentSlide]).hasClass(\"active\")) {\r\n $(slideItem[currentSlide]).addClass(\"active\").siblings().removeClass(\"active\");\r\n $(slideIndicator[currentSlide]).addClass(\"active\").siblings().removeClass(\"active\");\r\n }\r\n\r\n currentSlide++;\r\n\r\n if (currentSlide > slideItem.length - 1) {\r\n currentSlide = 0;\r\n }\r\n }\r\n $(\".image-area .ppt-slide-container .slide__image\").on(\"click\", function () {\r\n $(\".ppt__slide--handler.normal_slider\").removeClass(\"active\");\r\n $(\".ppt__slide--handler.modal_slider\").addClass(\"active\");\r\n fadeSlider();\r\n });\r\n\r\n $(slideIndicator).on(\"click\", function () {\r\n currentSlide = $(this).attr(\"data-position\");\r\n moveSlide();\r\n startAnimation();\r\n });\r\n startAnimation();\r\n }\r\n\r\n\r\n var init = function () {\r\n fadeSlider();\r\n };\r\n\r\n return {\r\n init: init\r\n };\r\n}();","var PES = PES || {};\r\nPES.PlayPauseVideo = function () {\r\n\r\n function playPauseVideo() {\r\n\r\n var modalWindow = \"#video-modal\";\r\n var playerIframe = \".video__container > iframe.video-player\";\r\n var videoId = $(playerIframe).attr(\"data-video\");\r\n var openModalVideo = \".js-open-modal.video-open\";\r\n\r\n function waitForVideo(callback) {\r\n setTimeout(callback, 10);\r\n };\r\n\r\n function checkVideo() {\r\n if ($(modalWindow).hasClass(\"play-video\")) {\r\n $(playerIframe).attr('src', 'https://player.vimeo.com/video/' + videoId + '?autoplay=1');\r\n } else {\r\n $(playerIframe).attr('src', ' ');\r\n }\r\n }\r\n\r\n $(openModalVideo).on(\"click\", function () {\r\n waitForVideo(checkVideo);\r\n });\r\n\r\n $(\"body\").on(\"click\", function (e) {\r\n var target = e.target;\r\n\r\n if ($(target).hasClass(\"video-open\")) {\r\n $(modalWindow).addClass(\"play-video\");\r\n waitForVideo(checkVideo);\r\n } else if ($(target).hasClass(\"close-button\") || (!$(target).closest(\"modal__box\").length && !$(target).hasClass(\"modal__box\"))) {\r\n $(modalWindow).removeClass(\"play-video\");\r\n waitForVideo(checkVideo);\r\n }\r\n });\r\n };\r\n\r\n var init = function () {\r\n playPauseVideo();\r\n };\r\n\r\n return {\r\n init: init\r\n };\r\n}();","var PES = PES || {};\r\nPES.Tooltip = function () {\r\n\r\n function init() {\r\n $('[data-toggle=\"popover\"]')\r\n .popover({ trigger: \"hover\", placement: \"top\", viewport: \"#body-content\" });\r\n\r\n $('select[data-toggle=\"popover\"], .checkout-item__amount[data-toggle=\"popover\"] > select')\r\n .change(function () {\r\n var is_touch_device = (\"ontouchstart\" in window) || window.DocumentTouch && document instanceof DocumentTouch;\r\n if (is_touch_device) {\r\n var _target = this;\r\n $(_target).closest('[data-toggle=\"popover\"]').popover('hide');\r\n } \r\n });\r\n\r\n function ifQtyBoxIsDisabled() {\r\n var customPopover = $('.checkout-item__amount[data-toggle=\"popover\"]');\r\n\r\n $(customPopover).hover(function () {\r\n if ($(this).children('select:disabled').length > 0 && $(this).children('input:disabled').not('[data-plan=\"basic\"]').length > 0) {\r\n $(this).popover('hide');\r\n }\r\n }); \r\n };\r\n\r\n $('[data-toggle-click=\"popover\"]')\r\n .popover({\r\n trigger: \"click\",\r\n placement: \"top\",\r\n viewport: \"#body-content\",\r\n content: function () {\r\n var contentSelector = $(this).data('popover-content');\r\n return $(contentSelector).html();\r\n },\r\n html: true\r\n }).on('shown.bs.popover', function () {\r\n var jqPopoverTrigger = $(this);\r\n var popoverSelector = '#' + jqPopoverTrigger.attr('aria-describedby');\r\n var jqPopover = $(popoverSelector);\r\n setTimeout(function () {\r\n var isMouseOver = $(popoverSelector + ':hover').length > 0;\r\n if (!isMouseOver)\r\n jqPopoverTrigger.popover('hide');\r\n }, 3000);\r\n\r\n jqPopover\r\n .on('mouseenter', function () {\r\n var _this = this;\r\n jqPopover.on('mouseleave', function () {\r\n setTimeout(function () {\r\n $(_this).popover('hide');\r\n }, 500);\r\n });\r\n });\r\n });\r\n\r\n $('[data-toggle=\"slide-popover\"]')\r\n .on({\r\n mouseenter: function (e) {\r\n var slidePopoverId = $(this).data('popover-id');\r\n var jqSlidePopover = $('#' + slidePopoverId);\r\n var qtySelector = $(' [data-toggle=\"slide-popover\"] > #popup-qty-selector');\r\n var y = qtySelector.offset().top - jqSlidePopover.height() - 13;\r\n\r\n jqSlidePopover.css('opacity', 1);\r\n jqSlidePopover.offset({ top: y});\r\n },\r\n mouseleave: function () {\r\n var slidePopoverId = $(this).data('popover-id');\r\n var jqSlidePopover = $('#' + slidePopoverId);\r\n jqSlidePopover.css('opacity', 0);\r\n }\r\n }); \r\n\r\n if ($(\".tooltip-checkout\").length > 0) {\r\n var tooltipTriggerElement = \"tooltip-checkout\";\r\n $(\".\" + tooltipTriggerElement)\r\n .popover({ trigger: \"manual\", placement: \"top\", viewport: \"#body-content\" });\r\n\r\n function debounce(func, wait) {\r\n var timeout;\r\n return function () {\r\n var context = this, args = arguments;\r\n var later = function () {\r\n timeout = null;\r\n func.apply(context, args);\r\n };\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n };\r\n };\r\n\r\n function handlePopoverBehaviour(elem) {\r\n\r\n removeTooltipForDeletedItem();\r\n\r\n if ($(window).outerWidth() < 1200) {\r\n mobileCheck(elem);\r\n } else {\r\n $('.' + elem).popover('dispose');\r\n desktopCheck(elem);\r\n }\r\n };\r\n\r\n function mobileCheck(el) {\r\n $(\".\" + el)\r\n .popover(\"hide\")\r\n .on(\"focusin\", function () {\r\n $(this).popover(\"show\");\r\n })\r\n .on(\"focusout\", function () {\r\n $(this).popover(\"hide\");\r\n });\r\n };\r\n\r\n function desktopCheck(el) {\r\n $(\".\" + el)\r\n .popover(\"dispose\")\r\n .off(\"focusin\");\r\n };\r\n\r\n function removeTooltipForDeletedItem() {\r\n $(\".checkout-item__delete\")\r\n .on(\"click focus\", function () {\r\n $(\".checkout-item__amount.tooltip-checkout\").popover(\"dispose\");\r\n });\r\n\r\n $('.checkout-item__amount[data-toggle=\"checkout-popover\"] > select')\r\n .change(function () {\r\n $(\".checkout-item__amount.tooltip-checkout\").popover('dispose');\r\n });\r\n }\r\n\r\n $(window).on(\"resize\",\r\n debounce(function () {\r\n handlePopoverBehaviour(tooltipTriggerElement);\r\n }, 500)\r\n );\r\n\r\n handlePopoverBehaviour(tooltipTriggerElement);\r\n };\r\n \r\n ifQtyBoxIsDisabled();\r\n\r\n }\r\n return {\r\n init: init\r\n };\r\n};","var PES = PES || {};\r\nPES.RevealAnimation = function () {\r\n let controller = new ScrollMagic.Controller();\r\n\r\n function showElements(elem) {\r\n let timeline = new TimelineMax();\r\n let fadeIn = TweenMax.from(elem, 1.5, { opacity: 0, y: 50, ease: Power2.easeOut });\r\n timeline.add(fadeIn);\r\n\r\n let scene = new ScrollMagic.Scene({\r\n triggerElement: elem,\r\n offset: 0,\r\n triggerHook: 0.95,\r\n reverse: false\r\n })\r\n .setTween(timeline)\r\n .addTo(controller);\r\n }\r\n\r\n\tvar init = function () {\r\n // reveal animation for homepage elements\r\n let revealElements = $('.toreveal');\r\n $(revealElements).each(function () {\r\n showElements(this);\r\n });\r\n\t};\r\n\r\n\treturn {\r\n\t\tinit: init\r\n\t};\r\n};"]}