{"version":3,"sources":["popup.min.js"],"names":["jQuery","$"],"mappings":"AAAAA,OAAO,SAASC","file":"popup.min.js","sourcesContent":["jQuery(function($) {\n window.baPopup = function($popup, settings) {\n var self = this,\n $window = $(window),\n $document = $(document),\n isAnimation = false,\n isOpen = false,\n popupSettings = settings;\n\n self.init = function() {\n self.initOpenEvent();\n self.initCloseEvent();\n };\n\n self.initOpenEvent = function() {\n switch (popupSettings[\"open-trigger\"]) {\n case \"page-load\":\n self.pageLoadEvent(popupSettings[\"page-load-delay\"]);\n break;\n case \"scroll-trigger\":\n self.scrollPageEvent(popupSettings[\"scrolled-to\"]);\n break;\n case \"try-exit-trigger\":\n self.tryExitEvent();\n break;\n\n case \"custom-selector\":\n self.onCustomSelector(popupSettings[\"custom-selector\"]);\n break;\n }\n };\n\n self.initCloseEvent = function() {\n $popup.on(\"click\", \".dtq-popup-close-button\", function(event) {\n var target = event.currentTarget;\n\n self.hidePopup();\n });\n\n $popup.on(\"click\", \".dtq-popup-overlay\", function(event) {\n var target = event.currentTarget;\n self.hidePopup();\n });\n };\n\n self.scrollPageEvent = function(scrollingValue) {\n var scrolledValue = +scrollingValue || 0;\n $window\n .on(\n \"scroll.brainScrollEvent resize.brainResizeEvent\",\n function() {\n var $window = $(window),\n windowHeight = $window.height(),\n documentHeight = $(document).height(),\n scrolledHeight = documentHeight - windowHeight,\n scrolledProgress =\n Math.max(\n 0,\n Math.min(\n 1,\n $window.scrollTop() / scrolledHeight\n )\n ) * 100;\n\n if (scrolledProgress >= scrolledValue) {\n $window.off(\n \"scroll.brainScrollEvent resize.brainResizeEvent\"\n );\n self.showPopup();\n }\n }\n )\n .trigger(\"scroll.brainResizeEvent\");\n };\n\n self.tryExitEvent = function() {\n var pageY = 0;\n\n $(document).on(\"mouseleave\", \"body\", function(event) {\n pageY = event.pageY - $window.scrollTop();\n\n if (0 > pageY && $popup.hasClass(\"dtq-popup-hide-state\")) {\n self.showPopup();\n }\n });\n };\n\n self.pageLoadEvent = function(openDelay) {\n var delay = +openDelay || 0;\n delay = delay * 1000;\n $(window).on(\"load\", function() {\n setTimeout(function() {\n self.showPopup();\n }, delay);\n });\n };\n\n self.onCustomSelector = function(selector) {\n var $selector = $(selector);\n\n if ($selector[0]) {\n $selector.on(\"click\", function(event) {\n event.preventDefault();\n\n self.showPopup();\n });\n }\n };\n\n self.showPopup = function() {\n var animeOverlay = null,\n animeContainer = null,\n animeOverlaySettings = jQuery.extend(\n {\n targets: $(\".dtq-popup-overlay\", $popup)[0]\n },\n self.avaliableEffects[\"fade\"][\"show\"]\n ),\n animeContainerSettings = jQuery.extend(\n {\n targets: $(\".dtq-popup-container\", $popup)[0],\n begin: function(anime) {\n isAnimation = true;\n },\n complete: function(anime) {\n isAnimation = false;\n isOpen = true;\n }\n },\n self.avaliableEffects[popupSettings[\"animation\"]][\"show\"]\n );\n\n animeOverlay = anime(animeOverlaySettings);\n $popup.toggleClass(\"dtq-popup-hide-state dtq-popup-show-state\");\n animeContainer = anime(animeContainerSettings);\n };\n\n self.hidePopup = function() {\n var animeOverlay = null,\n animeContainer = null,\n animeOverlaySettings = jQuery.extend(\n {\n targets: $(\".dtq-popup-overlay\", $popup)[0]\n },\n self.avaliableEffects[\"fade\"][\"hide\"]\n ),\n animeContainerSettings = jQuery.extend(\n {\n targets: $(\".dtq-popup-container\", $popup)[0],\n\n begin: function(anime) {\n isAnimation = true;\n },\n\n complete: function(anime) {\n isAnimation = false;\n isOpen = false;\n $popup.toggleClass(\n \"dtq-popup-show-state dtq-popup-hide-state\"\n );\n }\n },\n self.avaliableEffects[popupSettings[\"animation\"]][\"hide\"]\n );\n\n if (isAnimation) {\n return false;\n }\n\n if ($popup.hasClass(\"dtq-popup-show-state\")) {\n animeOverlay = anime(animeOverlaySettings);\n animeContainer = anime(animeContainerSettings);\n }\n };\n\n self.avaliableEffects = {\n fade: {\n show: {\n opacity: {\n value: [0, 1],\n duration: 600,\n easing: \"easeOutQuart\"\n }\n },\n hide: {\n easing: \"easeOutQuart\",\n opacity: {\n value: [1, 0],\n easing: \"easeOutQuart\",\n duration: 400\n }\n }\n },\n\n \"zoom-in\": {\n show: {\n duration: 500,\n easing: \"easeOutQuart\",\n opacity: {\n value: [0, 1]\n },\n scale: {\n value: [0.75, 1]\n }\n },\n hide: {\n duration: 400,\n easing: \"easeOutQuart\",\n opacity: {\n value: [1, 0]\n },\n scale: {\n value: [1, 0.75]\n }\n }\n },\n\n \"zoom-out\": {\n show: {\n duration: 500,\n easing: \"easeOutQuart\",\n opacity: {\n value: [0, 1]\n },\n scale: {\n value: [1.25, 1]\n }\n },\n hide: {\n duration: 400,\n easing: \"easeOutQuart\",\n opacity: {\n value: [1, 0]\n },\n scale: {\n value: [1, 1.25]\n }\n }\n },\n\n rotate: {\n show: {\n duration: 500,\n easing: \"easeOutQuart\",\n opacity: {\n value: [0, 1]\n },\n scale: {\n value: [0.75, 1]\n },\n rotate: {\n value: [-65, 0]\n }\n },\n hide: {\n duration: 400,\n easing: \"easeOutQuart\",\n opacity: {\n value: [1, 0]\n },\n scale: {\n value: [1, 0.9]\n }\n }\n },\n\n \"move-up\": {\n show: {\n duration: 500,\n easing: \"easeOutExpo\",\n opacity: {\n value: [0, 1]\n },\n translateY: {\n value: [50, 1]\n }\n },\n hide: {\n duration: 400,\n easing: \"easeOutQuart\",\n opacity: {\n value: [1, 0]\n },\n translateY: {\n value: [1, 50]\n }\n }\n },\n\n \"flip-x\": {\n show: {\n duration: 500,\n easing: \"easeOutExpo\",\n opacity: {\n value: [0, 1]\n },\n rotateX: {\n value: [65, 0]\n }\n },\n hide: {\n duration: 400,\n easing: \"easeOutQuart\",\n opacity: {\n value: [1, 0]\n }\n }\n },\n\n \"flip-y\": {\n show: {\n duration: 500,\n easing: \"easeOutExpo\",\n opacity: {\n value: [0, 1]\n },\n rotateY: {\n value: [65, 0]\n }\n },\n hide: {\n duration: 400,\n easing: \"easeOutQuart\",\n opacity: {\n value: [1, 0]\n }\n }\n },\n\n \"bounce-in\": {\n show: {\n opacity: {\n value: [0, 1],\n duration: 500,\n easing: \"easeOutQuart\"\n },\n scale: {\n value: [0.2, 1],\n duration: 800,\n elasticity: function(el, i, l) {\n return 400 + i * 200;\n }\n }\n },\n hide: {\n duration: 400,\n easing: \"easeOutQuart\",\n opacity: {\n value: [1, 0]\n },\n scale: {\n value: [1, 0.8]\n }\n }\n },\n\n \"bounce-out\": {\n show: {\n opacity: {\n value: [0, 1],\n duration: 500,\n easing: \"easeOutQuart\"\n },\n scale: {\n value: [1.8, 1],\n duration: 800,\n elasticity: function(el, i, l) {\n return 400 + i * 200;\n }\n }\n },\n hide: {\n duration: 400,\n easing: \"easeOutQuart\",\n opacity: {\n value: [1, 0]\n },\n scale: {\n value: [1, 1.5]\n }\n }\n },\n\n \"slide-in-up\": {\n show: {\n opacity: {\n value: [0, 1],\n duration: 400,\n easing: \"easeOutQuart\"\n },\n translateY: {\n value: [\"100vh\", 0],\n duration: 750,\n easing: \"easeOutQuart\"\n }\n },\n hide: {\n duration: 400,\n easing: \"easeInQuart\",\n opacity: {\n value: [1, 0]\n },\n translateY: {\n value: [0, \"100vh\"]\n }\n }\n },\n\n \"slide-in-right\": {\n show: {\n opacity: {\n value: [0, 1],\n duration: 400,\n easing: \"easeOutQuart\"\n },\n translateX: {\n value: [\"100vw\", 0],\n duration: 750,\n easing: \"easeOutQuart\"\n }\n },\n hide: {\n duration: 400,\n easing: \"easeInQuart\",\n opacity: {\n value: [1, 0]\n },\n translateX: {\n value: [0, \"100vw\"]\n }\n }\n },\n\n \"slide-in-down\": {\n show: {\n opacity: {\n value: [0, 1],\n duration: 400,\n easing: \"easeOutQuart\"\n },\n translateY: {\n value: [\"-100vh\", 0],\n duration: 750,\n easing: \"easeOutQuart\"\n }\n },\n hide: {\n duration: 400,\n easing: \"easeInQuart\",\n opacity: {\n value: [1, 0]\n },\n translateY: {\n value: [0, \"-100vh\"]\n }\n }\n },\n\n \"slide-in-left\": {\n show: {\n opacity: {\n value: [0, 1],\n duration: 400,\n easing: \"easeOutQuart\"\n },\n translateX: {\n value: [\"-100vw\", 0],\n duration: 750,\n easing: \"easeOutQuart\"\n }\n },\n hide: {\n duration: 400,\n easing: \"easeInQuart\",\n opacity: {\n value: [1, 0]\n },\n translateX: {\n value: [0, \"-100vw\"]\n }\n }\n }\n };\n };\n});\n"]}