{"version":3,"file":"chunks/2d183f377ab83e.js","mappings":"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","sources":["webpack:///./resources/js/components/navigation/global-navigation.ts"],"sourcesContent":["import * as $ from \"jquery\";\nimport onThrottled from \"../../utils/event\";\nimport tracking from '../../utils/tracking';\n\nexport default function GlobalNavigation(domRoot, params) {\n (this.$domRoot = domRoot), (this.params = { ...params });\n\n this.$header = $(\".header--wac\");\n this.$globalNav = $(\".global-nav--wac\");\n this.$globalNavLogo = $(\".global-nav--wac__logo\");\n this.$globalNavTitle = $(\".global-nav--wac__title\");\n this.$dropdown = $(\".container--nav-dropdown\");\n this.$search = $(\".global-nav--wac__search\");\n this.$searchInput = $(\".global-nav--wac__search-input\");\n this.$dropdownContent = $(\".container--nav-dropdown__content\");\n this.mobileBreakpoint = 775; // tied to css\n this.dropdownSpeed = 500; // tied to css\n this.dropdownSpeedFast = 250; // tied to css\n this.canClickDropdown = true;\n this.isCurrentlyMobile = false;\n\n (this.classNames = {\n mobileMenuOpenClass: \"mobile-menu--open\",\n searchOpenClass: \"search--open\",\n overlayOpenClass: \"overlay--open\",\n searchIconClass: \".global-nav--wac__search-icon\",\n overlayClass: \".overlay--global-nav\",\n headerlessNavbarClass:\n \".headerless-nav .imkt-navbar__link-list-link--dropdown-trigger\",\n globalNavBackArrowClass: \".global-nav--wac__back-arrow\",\n menuToggleClass: \".global-nav--wac__menu-toggle\",\n searchCloseIconClass: \".global-nav--wac__search-close\",\n dropdownLinksClass: \".global-nav--wac__link.has-dropdown a\",\n dropdownCloseClass: \".container--nav-dropdown__close\",\n dropdownClass: \".container--nav-dropdown\",\n dropdownOpenClass: \"dropdown--open\",\n slideInClass: \"slide-in--active\",\n logoInactiveClass: \"inactive\",\n //WAC header tracking WCF-820\n navLinkDropDownClass: \".global-nav--wac__link.has-dropdown\",\n navDropdownLinksClass: \".container--nav-dropdown__link\",\n navDropDownColumnSecondaryClass:\n \".container--nav-dropdown__column--secondary li\",\n navDropDownLinkAllClass: \".container--nav-dropdown__link--all\",\n navLogoClass: \".global-nav--wac__logo\",\n }),\n this.init();\n}\n\nGlobalNavigation.prototype = {\n init: function () {\n this.setLayoutState();\n\n this.addOverlay();\n this.bindEvents();\n },\n\n bindEvents: function () {\n var self = this;\n onThrottled($(window), \"resize\", function () {\n if (self.hasChangedLayout()) {\n self.closeMobileMenu();\n self.closeDropdown();\n self.showLogo();\n if (self.$search.hasClass(\"active\")) {\n self.openSearch();\n }\n }\n if (self.isMobileLayout() && self.isMobileMenuOpen()) {\n self.setHeaderHeight();\n }\n self.setLayoutState();\n });\n\n $(document).on(\"click\", self.classNames.menuToggleClass, function (e) {\n e.preventDefault();\n self.isMobileMenuOpen() ? self.closeMobileMenu() : self.openMobileMenu();\n self.hideOverlay();\n self.closeDropdown();\n self.isMobileDropdownOpen() ? self.hideLogo() : self.showLogo();\n });\n\n $(document).on(\"click\", self.classNames.dropdownLinksClass, function (e) {\n e.preventDefault();\n if (!self.canClickDropdown) {\n return;\n }\n self.canClickDropdown = false;\n var dropdownId = $(this).data(\"dropdown-id\");\n var $dropdownContent = $(\"#\" + dropdownId);\n var isDropdownHidden = !$dropdownContent.hasClass(\"active\");\n\n self.closeSearch();\n\n $(self.classNames.dropdownLinksClass).removeClass(\"selected\");\n $(\"[id^=dropdown-]\").removeClass(\"active\");\n $(\"body\").addClass(self.classNames.overlayOpenClass);\n\n if (isDropdownHidden) {\n self.openDropdown(this);\n } else {\n self.closeDropdown();\n }\n\n if (self.isMobileLayout()) {\n self.hideLogo();\n self.addTitle($(this));\n self.dropdownSlideIn();\n }\n });\n\n $(document).on(\"click\", self.classNames.searchIconClass, function (e) {\n e.preventDefault();\n self.closeMobileMenu();\n self.closeDropdown();\n self.openSearch();\n });\n\n $(document).on(\"click\", self.classNames.searchCloseIconClass, function (e) {\n e.preventDefault();\n self.closeSearch();\n });\n\n $(document).on(\n \"click touchstart\",\n self.classNames.overlayClass,\n function () {\n self.closeDropdown();\n self.closeSearch();\n }\n );\n\n $(document).on(\n \"click touchstart\",\n self.classNames.headerlessNavbarClass,\n function () {\n self.closeDropdown();\n self.closeSearch();\n }\n );\n\n $(document).on(\"click\", self.classNames.dropdownCloseClass, function (e) {\n e.preventDefault();\n self.closeDropdown();\n self.closeSearch();\n self.closeMobileMenu();\n });\n\n $(document).on(\n \"click\",\n self.classNames.globalNavBackArrowClass,\n function (e) {\n e.preventDefault();\n self.closeDropdown();\n self.showLogo();\n }\n );\n\n $(document).on(\"click\", self.classNames.navLogoClass, function () {\n self.sendTracking(\"wac_header_logo_clicked\", \"Atlassian Logo\");\n });\n },\n\n sendTracking: function (eventName, linkName) {\n var properties = {\n originUrl: window.location.href,\n linkText: linkName,\n };\n tracking.trackEvent(eventName, properties);\n },\n\n hasChangedLayout: function () {\n return this.isCurrentlyMobile !== this.isMobileLayout();\n },\n\n isMobileLayout: function () {\n return $(window).width() <= this.mobileBreakpoint;\n },\n\n isMobileMenuOpen: function () {\n return this.$globalNav.hasClass(\"active\");\n },\n\n setLayoutState: function () {\n this.isCurrentlyMobile = this.isMobileLayout();\n },\n\n addOverlay: function () {\n $(\"body\").prepend('
');\n this.overlay = $(this.classNames.overlayClass);\n },\n\n openMobileMenu: function () {\n this.closeSearch();\n $(\"html, body\").addClass(this.classNames.mobileMenuOpenClass);\n this.$globalNav.addClass(\"active\");\n this.$header.addClass(\"active\");\n this.setHeaderHeight();\n },\n\n closeMobileMenu: function () {\n $(\"html, body\").removeClass(this.classNames.mobileMenuOpenClass);\n this.$globalNav.removeClass(\"active\");\n this.$header.removeClass(\"active\");\n this.resetHeaderHeight();\n this.deselectLinks();\n },\n\n openSearch: function () {\n this.$search.addClass(\"active\");\n $(\"html, body\").addClass(this.classNames.searchOpenClass);\n this.showOverlay();\n this.$searchInput.focus();\n },\n\n closeSearch: function () {\n this.$search.removeClass(\"active\");\n $(\"html, body\").removeClass(this.classNames.searchOpenClass);\n this.hideOverlay();\n },\n\n showOverlay: function () {\n this.overlay.addClass(\"active\");\n },\n\n hideOverlay: function () {\n this.overlay.removeClass(\"active\");\n },\n\n openDropdown: function (dropdownLink) {\n $(dropdownLink).addClass(\"selected\");\n var dropdownId = $(dropdownLink).data(\"dropdown-id\");\n var $dropdown = $(\"#\" + dropdownId);\n $dropdown.addClass(\"active\");\n setTimeout(\n function () {\n $(\"html, body\").addClass(this.classNames.dropdownOpenClass);\n this.canClickDropdown = true;\n }.bind(this),\n this.dropdownSpeed\n );\n this.showOverlay();\n },\n\n closeDropdown: function () {\n $(this.classNames.dropdownClass).removeClass(\"active\");\n setTimeout(\n function () {\n $(\"html, body\").removeClass(this.classNames.overlayOpenClass);\n this.canClickDropdown = true;\n }.bind(this),\n this.dropdownSpeedFast\n );\n $(\"html, body\").removeClass(this.classNames.dropdownOpenClass);\n this.hideOverlay();\n this.deselectLinks();\n this.dropdownRemoveSlideIn();\n },\n\n hideLogo: function () {\n this.$globalNavLogo.addClass(this.classNames.logoInactiveClass);\n },\n\n showLogo: function () {\n this.$globalNavLogo.removeClass(this.classNames.logoInactiveClass);\n },\n\n addTitle: function ($dropdownText) {\n var self = this;\n self.$globalNavTitle.text($dropdownText.text());\n },\n\n isMobileDropdownOpen: function () {\n return this.$dropdown.hasClass(\"active\");\n },\n\n dropdownSlideIn: function () {\n if (this.isMobileLayout()) {\n this.$globalNav.addClass(this.classNames.slideInClass);\n }\n },\n\n dropdownRemoveSlideIn: function () {\n if (this.isMobileLayout()) {\n this.$globalNav.removeClass(this.classNames.slideInClass);\n }\n },\n\n setHeaderHeight: function () {\n this.$header.css({ height: $(window).height() + \"px\" });\n },\n\n resetHeaderHeight: function () {\n this.$header.css({ height: \"\" });\n },\n\n deselectLinks: function () {\n $(this.classNames.dropdownLinksClass).removeClass(\"selected\");\n },\n};\n"],"names":["GlobalNavigation","domRoot","params","this","$domRoot","$header","$","$globalNav","$globalNavLogo","$globalNavTitle","$dropdown","$search","$searchInput","$dropdownContent","mobileBreakpoint","dropdownSpeed","dropdownSpeedFast","canClickDropdown","isCurrentlyMobile","classNames","mobileMenuOpenClass","searchOpenClass","overlayOpenClass","searchIconClass","overlayClass","headerlessNavbarClass","globalNavBackArrowClass","menuToggleClass","searchCloseIconClass","dropdownLinksClass","dropdownCloseClass","dropdownClass","dropdownOpenClass","slideInClass","logoInactiveClass","navLinkDropDownClass","navDropdownLinksClass","navDropDownColumnSecondaryClass","navDropDownLinkAllClass","navLogoClass","init","prototype","setLayoutState","addOverlay","bindEvents","self","onThrottled","window","hasChangedLayout","closeMobileMenu","closeDropdown","showLogo","hasClass","openSearch","isMobileLayout","isMobileMenuOpen","setHeaderHeight","document","on","e","preventDefault","openMobileMenu","hideOverlay","isMobileDropdownOpen","hideLogo","dropdownId","data","isDropdownHidden","closeSearch","removeClass","addClass","openDropdown","addTitle","dropdownSlideIn","sendTracking","eventName","linkName","properties","originUrl","location","href","linkText","tracking","width","prepend","overlay","resetHeaderHeight","deselectLinks","showOverlay","focus","dropdownLink","setTimeout","bind","dropdownRemoveSlideIn","$dropdownText","text","css","height"],"sourceRoot":""}