{"version":3,"sources":["app.js","models.js","nav.js"],"names":["_typeof","o","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","t","_toPrimitive","String","r","e","toPrimitive","Number","call","window","getours","Navigation","navigation","SubscriptionHandler","this","subscriptions","value","subscription","push","removeIndex","findIndex","s","slice","data","_","each","callback","Subscription","$","document","ready","topNavDropdownCallback","$current","$target","$panel","attr","is","toggleClass","removeClass","vacationFilterCallback","$wrapper","closest","$topNavDropdownLinks","$vacationFilterButtons","$allSubscribedDropdowns","API","$hamburger","searchDestination","subscriptionHandler","add","addSubscription","on","$this","notify","preventDefault","stopPropagation","Mmenu","slidingSubmenus","extensions","navbar","navbars","content","keyboardNavigation","enable","enhance","screenReader","aria","scrollBugFix","fix","hooks","open:finish","panel","setTimeout","addClass","close:finish","classNames","selected","offCanvas","page","selector","text","closeMenu","closeSubmenu","openSubmenu","toggleSubmenu","open","close","searchText","val","keyCode","location","href","jQuery"],"mappings":"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","file":"nav.complete.min.js","sourcesContent":["'use strict';\n\n(function (getours) {\n\n getours.Navigation = {};\n\n}(window.getours = window.getours || {}));","; (function (navigation) {\n\n navigation.SubscriptionHandler = class SubscriptionHandler {\n\n constructor() {\n this.subscriptions = [];\n }\n\n addSubscription(subscription) {\n this.subscriptions.push(subscription);\n }\n\n removeSubscriber(subscription) {\n var removeIndex = this.subscriptions.findIndex(s => {\n return subscription === s;\n });\n\n if (removeIndex !== -1) {\n this.subscriptions = this.subscriptions.slice(removeIndex, 1);\n }\n }\n\n notify(data) {\n if (this.subscriptions.length > 0) {\n _.each(this.subscriptions, function (s) {\n s.callback(s.target, data);\n });\n }\n }\n\n };\n\n navigation.Subscription = class Subscription {\n\n constructor(target, callback) {\n this.target = target;\n this.callback = callback;\n }\n\n };\n\n}(window.getours.Navigation = window.getours.Navigation || {}));","(function ($) {\n\n $(document).ready(function () {\n setupTopNavDropdowns();\n launchMobileNav();\n });\n\n function setupTopNavDropdowns() {\n window.getours.Navigation.subscriptionHandler = new getours.Navigation.SubscriptionHandler();\n\n var $topNavDropdownLinks = $('.menu-dropdown-link');\n var $vacationFilterButtons = $('.filterStripItem > .dropdown > button, .filterSortResults > .dropdown > button');\n var $allSubscribedDropdowns = $topNavDropdownLinks.add($vacationFilterButtons);\n\n var topNavDropdownCallback = function ($current, $target) {\n if (!$current || !$target) {\n return;\n }\n\n var $panel = $($current.attr('data-dropdown'));\n var isCurrentTarget = $current.is($target);\n\n if (isCurrentTarget) {\n // Make sure not to open a clicked menu that was already active\n // clicking an active menu item should close it and not open it\n $current.toggleClass('open');\n $panel.toggleClass('active');\n } else {\n $current.removeClass('open');\n $panel.removeClass('active');\n } \n };\n\n var vacationFilterCallback = function ($current, $target) {\n if (!$current || !$target) {\n return;\n }\n\n var $wrapper = $current.closest('.popdown-panel');\n var isCurrentTarget = $current.is($target);\n\n if (isCurrentTarget) {\n // Make sure not to open a clicked menu that was already active\n // clicking an active menu item should close it and not open it\n $wrapper.toggleClass('open');\n\n } else {\n $wrapper.removeClass('open');\n }\n };\n\n // THIS SETS UP THE CALLBACKS FOR ALL OF THE DDs IN THE TOP NAV\n _.each($topNavDropdownLinks, function (t) {\n var subscription = new getours.Navigation.Subscription($(t), topNavDropdownCallback);\n window.getours.Navigation.subscriptionHandler.addSubscription(subscription);\n });\n\n // THIS SETS UP THE CALLBACKS FOR ALL OF THE DDs IN THE VACATION FILTER\n _.each($vacationFilterButtons, function (t) {\n var subscription = new getours.Navigation.Subscription($(t), vacationFilterCallback);\n window.getours.Navigation.subscriptionHandler.addSubscription(subscription);\n });\n\n // THIS IS WHERE WE FIRE OFF AN EVENT\n $allSubscribedDropdowns.on('click', function (e) {\n var $this = $(this);\n\n // Notify everyone of new nav state\n window.getours.Navigation.subscriptionHandler.notify($this);\n\n // close sub nav when this is opened\n $('.pagetop-subnav-item.open').removeClass('open');\n\n e.preventDefault();\n e.stopPropagation();\n return false;\n });\n\n setupTouchBodyMenuHide();\n }\n\n // Allow users to click anywhere outside the top nav to get rid of dropdown\n // -- for the 2020 top navigation redesign [GET35]\n function setupTouchBodyMenuHide() {\n $(window).on(\"click\", function (e) {\n $('.menu-dropdown-link.open').removeClass('open');\n $('.expanded-nav.active').removeClass('active');\n $('.pagetop-subnav-item.open').removeClass('open');\n });\n }\n\n function launchMobileNav() {\n var menu = new Mmenu(\"#get-mobile-menu\", {\n \"slidingSubmenus\": false,\n \"extensions\": [\n \"position-left\",\n \"fullscreen\"\n ],\n navbar: {\n add: false\n },\n \"navbars\": [\n {\n \"content\": [\n \"\"\n ]\n }\n ],\n keyboardNavigation: {\n enable: true,\n enhance: true\n },\n screenReader: {\n aria: false\n },\n scrollBugFix: {\n fix: false\n },\n hooks: {\n \"open:finish\": function (panel) {\n setTimeout(function () {\n $hamburger.addClass(\"is-active\");\n }, 100);\n },\n \"close:finish\": function (panel) {\n setTimeout(function () {\n $hamburger.removeClass(\"is-active\");\n }, 100);\n }\n }\n },\n {\n classNames: {\n selected: \"active\"\n },\n offCanvas: {\n page: {\n selector: \".wrapper\"\n }\n },\n screenReader: {\n text: {\n closeMenu: \"Close menu\",\n closeSubmenu: \"Close submenu\",\n openSubmenu: \"Open submenu\",\n toggleSubmenu: \"Toggle submenu\"\n }\n }\n });\n\n var API = menu.API;\n\n var $hamburger = $(\".hamburger\");\n $hamburger.on(\"click\", function () {\n API.open();\n });\n\n var $searchicon = $(\".top-search\");\n $searchicon.on(\"click\", function () {\n API.open();\n });\n\n var $page = $(\".mm-page\");\n $page.on(\"click\", function () {\n API.close();\n });\n\n var $close = $(\".dialog-close\");\n $close.on(\"click\", function () {\n API.close();\n });\n\n // pull search destination from desktop search form action\n var desktopSearchForm = $('#search_form');\n var searchDestination = desktopSearchForm.attr('action');\n $('.mm-search input').on('keyup', function (e) {\n var searchText = $(this).val();\n if (e.keyCode == 13) {\n window.location.href = searchDestination + '?s=' + searchText;\n }\n });\n }\n\n})(jQuery);"]}