{"version":3,"file":"js/mainNav.6897e60e4fdadb336baf.min.js","mappings":"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","sources":["webpack:///./scripts/common/utilities.js","webpack:///./scripts/common/api/menu.services.js","webpack:///./scripts/navigation/Main-nav-sheet.js","webpack:///./scripts/navigation/Navigation.js","webpack:///../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack:///../node_modules/@babel/runtime/helpers/esm/inherits.js","webpack:///../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack:///../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js"],"sourcesContent":["\"user strict\"\r\nexport const utilities = {\r\n options: {\r\n scrollTop: 0,\r\n scrollLeft: 0\r\n },\r\n\r\n debounce(func, wait, immediate) {\r\n var timeout;\r\n return function () {\r\n var context = this,\r\n args = arguments;\r\n var later = function () {\r\n timeout = null;\r\n if (!immediate) func.apply(context, args);\r\n };\r\n var callNow = immediate && !timeout;\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n if (callNow) func.apply(context, args);\r\n }\r\n },\r\n\r\n isIE() {\r\n\r\n var ua = window.navigator.userAgent;\r\n\r\n var msie = ua.indexOf('MSIE ');\r\n if (msie > 0) {\r\n // IE 10 or older => return version number\r\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\r\n }\r\n\r\n var trident = ua.indexOf('Trident/');\r\n if (trident > 0) {\r\n // IE 11 => return version number\r\n var rv = ua.indexOf('rv:');\r\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\r\n }\r\n\r\n var edge = ua.indexOf('Edge/');\r\n if (edge > 0) {\r\n // Edge (IE 12+) => return version number\r\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\r\n }\r\n\r\n\r\n\r\n // other browser\r\n return false;\r\n\r\n },\r\n\r\n isFuIOS() {\r\n var iosQuirkPresent = function () {\r\n var audio = new Audio();\r\n \r\n audio.volume = 0.5;\r\n return audio.volume === 1; // volume cannot be changed from \"1\" on iOS 12 and below\r\n };\r\n \r\n var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent);\r\n var isAppleDevice = navigator.userAgent.includes('Macintosh');\r\n var isTouchScreen = navigator.maxTouchPoints >= 1; // true for iOS 13 (and hopefully beyond)\r\n \r\n return isIOS || (isAppleDevice && (isTouchScreen || iosQuirkPresent()));\r\n },\r\n\r\n isMobile() {\r\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ? true : false\r\n },\r\n\r\n async loadImage(src) {\r\n const img = new Image()\r\n img.src = src\r\n const imgLoadPromise = await new Promise((resolve, reject) => {\r\n img.onload = function () {\r\n resolve('loaded')\r\n }\r\n img.onerror = function (err) {\r\n reject(err)\r\n }\r\n })\r\n\r\n return imgLoadPromise\r\n },\r\n\r\n loadScript(src, id) {\r\n let scriptTag = document.querySelector(`[id*=\"${id}\"]`)\r\n \r\n return new Promise((resolve, reject) => {\r\n if(window[`${id}ScriptLoaded`]) {\r\n resolve()\r\n return\r\n }\r\n\r\n if(!scriptTag) {\r\n scriptTag = document.createElement('script')\r\n scriptTag.setAttribute('id', `${id}`)\r\n scriptTag.src = `${src}`\r\n document.body.append(scriptTag)\r\n }\r\n\r\n scriptTag?.addEventListener('load', () => {\r\n window[`${id}ScriptLoaded`] = true\r\n resolve()\r\n })\r\n scriptTag?.addEventListener('error', reject)\r\n })\r\n },\r\n\r\n getStyle(e, styleName) {\r\n var styleValue = \"\";\r\n if (document.defaultView && document.defaultView.getComputedStyle) {\r\n styleValue = document.defaultView.getComputedStyle(e, \"\").getPropertyValue(styleName);\r\n } else if (e.currentStyle) {\r\n styleName = styleName.replace(/\\-(\\w)/g, function (strMatch, p1) {\r\n return p1.toUpperCase();\r\n });\r\n styleValue = e.currentStyle[styleName];\r\n }\r\n return styleValue;\r\n },\r\n\r\n triggerFocus(element) {\r\n var eventType = \"onfocusin\" in element ? \"focusin\" : \"focus\",\r\n bubbles = \"onfocusin\" in element,\r\n event;\r\n\r\n if (\"createEvent\" in document) {\r\n event = document.createEvent(\"Event\");\r\n event.initEvent(eventType, bubbles, true);\r\n }\r\n else if (\"Event\" in window) {\r\n event = new Event(eventType, { bubbles: bubbles, cancelable: true });\r\n }\r\n\r\n element.focus();\r\n element.dispatchEvent(event);\r\n },\r\n\r\n toggleWindowScroll(scroll) {\r\n if (!scroll) {\r\n utilities.options.scrollTop = window.pageYOffset || document.documentElement.scrollTop\r\n utilities.options.scrollLeft = window.pageXOffset || document.documentElement.scrollLeft\r\n window.addEventListener('scroll', utilities.disableScroll)\r\n } else {\r\n utilities.options.scrollTop = 0\r\n utilities.options.scrollLeft = 0\r\n window.removeEventListener('scroll', utilities.disableScroll)\r\n }\r\n },\r\n\r\n disableScroll(e) {\r\n window.scrollTo(utilities.options.scrollLeft, utilities.options.scrollTop)\r\n },\r\n\r\n\r\n createNodeParsing(s) {\r\n return new DOMParser().parseFromString(s, 'text/html').body.firstElementChild\r\n },\r\n\r\n rootCssVariables() {\r\n document.documentElement.style\r\n .setProperty('--mobile-breakpoint', `${site.settings.breakpoints.mobile}px`);\r\n },\r\n\r\n isJson(data) {\r\n try {\r\n JSON.parse(data);\r\n } catch (e) {\r\n return false;\r\n }\r\n return true;\r\n },\r\n\r\n getGsapTargets(timeline) {\r\n\r\n function addTargets(list, target) {\r\n\r\n if (Array.isArray(target)) target.forEach(checkTarget);\r\n else if (target.nodeType === 1) list.push(target);\r\n else if (target.jquery) target.each(function () { list.push(this); });\r\n\r\n function checkTarget(el) {\r\n if (el.jquery) list.push(el[0]);\r\n else if (el.nodeType === 1) list.push(el);\r\n else if (typeof el === \"string\") list.push(document.querySelector(el));\r\n }\r\n return list;\r\n }\r\n\r\n return timeline\r\n .getChildren(true, true, false)\r\n .map(function (tween) { return tween.target; })\r\n .reduce(addTargets, [])\r\n .filter(function (target, i, list) { return list.indexOf(target) === i; });\r\n },\r\n\r\n formatDateForApi(dateString) {\r\n return moment(dateString, site.settings.dateDisplayFormat).format(site.settings.dateAPIFormat)\r\n },\r\n\r\n noOfDays(startDate, endDate) {\r\n if (!startDate || !endDate) return null\r\n return (new Date(utilities.formatDateForApi(endDate)).getTime() -\r\n new Date(utilities.formatDateForApi(startDate)).getTime()) / (1000 * 3600 * 24)\r\n },\r\n\r\n formatTimeForSlots(dateTimeString) {\r\n const formatedTime = dateTimeString.split('+')[0]\r\n return moment(formatedTime).format('hh:mm')\r\n },\r\n\r\n windowPanel(href, windowName, { width = 400, height = 400 }) {\r\n var myWindow = window.open(`${href}`, `${windowName}`, `width=${width},height=${height}`)\r\n if (!myWindow || myWindow.closed || typeof myWindow.closed == 'undefined') {\r\n alert('Pop-up Blocker is enabled! Please add this site to your exception list.')\r\n }\r\n return myWindow\r\n },\r\n\r\n resizePlayer(container, aspectRatio) {\r\n const iframe = container.querySelector('iframe')\r\n\r\n if (!iframe) return\r\n\r\n let win = container,\r\n width = win.clientWidth,\r\n playerWidth,\r\n height = win.clientHeight,\r\n playerHeight,\r\n ratio = aspectRatio || 16 / 9\r\n\r\n if (width / ratio < height) {\r\n playerWidth = Math.ceil(height * ratio)\r\n Object.assign(\r\n iframe.style,\r\n {\r\n width: `${playerWidth}px`,\r\n height: `${height}px`,\r\n left: `${(width - playerWidth) / 2}px`,\r\n top: 0\r\n }\r\n )\r\n\r\n\r\n } else {\r\n playerHeight = Math.ceil(width / ratio)\r\n\r\n Object.assign(\r\n iframe.style,\r\n {\r\n width: `${width}px`,\r\n height: `${playerHeight}px`,\r\n left: 0,\r\n top: `${(height - playerHeight) / 2}px`\r\n }\r\n )\r\n }\r\n },\r\n\r\n isNodeEle(ele) {\r\n return ele instanceof Element || ele instanceof HTMLDocument\r\n }\r\n}\r\n\r\nexport const formUtils = {\r\n isEmpty(val) {\r\n return !val && /^\\s*$/.test(val)\r\n },\r\n\r\n isEmail(mail) {\r\n return /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)+$/.test(mail)\r\n },\r\n\r\n isPhone(phone) {\r\n return /^(\\d){1}(-|\\s)?(\\d){3}(-|\\s)?(\\d){3}(-|\\s)?(\\d){4}$/.test(phone)\r\n },\r\n\r\n sanitizeString(val) {\r\n let str = val\r\n str = str.replace(/\\s+[^a-zA-Z0-9]/g, \"\")\r\n return str\r\n }\r\n}\r\n\r\n\r\n\r\nclass WM {\r\n constructor(init) {\r\n this._wm = new WeakMap(init);\r\n }\r\n clear() {\r\n this._wm = new WeakMap();\r\n }\r\n delete(k) {\r\n return this._wm.delete(k);\r\n }\r\n get(k) {\r\n return this._wm.get(k);\r\n }\r\n has(k) {\r\n return this._wm.has(k);\r\n }\r\n set(k, v) {\r\n this._wm.set(k, v);\r\n return this;\r\n }\r\n}\r\n\r\nexport { WM }\r\n\r\nexport default utilities","export const Menus = [];\r\n\r\nexport const addMenuService = (menu) => {\r\n Menus.push(menu)\r\n}\r\n\r\nexport const destroyMenuServices = (menu) => {\r\n if(!menu.$el) return\r\n const index = Menus.findIndex(m => m.$el === menu.$el)\r\n if( index !== -1) {\r\n delete Menus[index]\r\n Menus.splice(index, 1)\r\n }\r\n}\r\n\r\nexport const findActiveMenuService = () => {\r\n return Menus.find(menu => menu.active) || false\r\n}\r\n\r\nexport const disableAllMenuService = () => {\r\n Menus.forEach((menu) => {\r\n menu.active && menu.close()\r\n })\r\n}\r\n\r\nexport const anyMenuTweening = () => {\r\n return Menus.findIndex(menu => menu.tweening) >= 0\r\n}","\r\nimport gsap from 'gsap/gsap-core'\r\nimport Navigation from './Navigation'\r\n\r\nexport class MainNav extends Navigation {\r\n constructor(container, type) {\r\n super(container)\r\n this.$childElems = this.$el.querySelectorAll('.dropdown-sheet__container > *')\r\n this.type = type\r\n this.hijackScroller = true\r\n this.appendClassName = !this.isMobile ? 'primary-menu' : 'primary-mobile-menu'\r\n this.triggers = document.querySelectorAll(\"[href='#menu'], .side-sheet__close\")\r\n this.$nav = document.querySelector('#main-nav')\r\n this.$navItems = this.$el.querySelectorAll('.main-nav__item')\r\n this.$staggerItems = this.$el.querySelectorAll('.main-nav__item, .top-links-mobile, .main-nav__list > .sub-nav__item, .main-nav__item > .sub-nav__list > .sub-nav__item')\r\n this.$dropDownTriggers = this.$el.querySelectorAll('[class*=\"__item--dropdown\"], .main-nav__item')\r\n this.isMobile = window.innerWidth < site.settings.breakpoints.mobile\r\n this.$hoverImgItems = document.querySelectorAll('#main-nav [data-hover-img]')\r\n this.$coverBanner = null\r\n\r\n this.activeCoverImage = 0\r\n\r\n\r\n\r\n this.tweening = false\r\n this.navInit()\r\n }\r\n\r\n navInit() {\r\n if (this.$hoverImgItems.length && !this.isMobile) this.createHoverCover()\r\n this.init()\r\n this.addDropDownListener()\r\n if (this.$hoverImgItems.length && !this.isMobile) this.addHoverImgListeners()\r\n }\r\n\r\n createAnim() {\r\n this.killMainTl()\r\n this.createMainTl()\r\n this.tl.add(this.openBottomSheet())\r\n\r\n this.$staggerItems && this.tl.from(this.$staggerItems, {\r\n autoAlpha: 0,\r\n stagger: 0.01,\r\n y: -20,\r\n duration: 0.6,\r\n ease: this.options.ease\r\n }, 0)\r\n\r\n if(this.$coverBanner)\r\n this.tl.to(this.$coverBanner, {\r\n autoAlpha: 1,\r\n display: 'block',\r\n duration: 0.6,\r\n ease: this.options.ease\r\n }, 0.2)\r\n }\r\n\r\n onClosing() {\r\n this.accordionReset()\r\n }\r\n\r\n accordionReset(trigger) {\r\n const subItems = trigger ? trigger.classList.contains('sub-nav__item') : false\r\n const dropdowns = subItems ? trigger.parentNode.parentNode.classList.contains('main-nav__item') ? this.$el.querySelectorAll('.sub-nav__item') : trigger.parentNode.querySelectorAll('.sub-nav__item')\r\n : this.isMobile ? this.$el.querySelectorAll('.main-nav__item, .sub-nav__item') : []\r\n \r\n dropdowns.forEach(dd => {\r\n const panel = dd.querySelector('.sub-nav__list')\r\n dd.classList.remove('open')\r\n if(panel) this.accordionOpen(false, panel)\r\n })\r\n }\r\n\r\n accordionReveal(trigger) {\r\n const panel = trigger.querySelector(':scope > .sub-nav__list') \r\n const panelOpen = trigger.classList.contains('open')\r\n\r\n this.accordionReset(trigger)\r\n\r\n if (!panelOpen) {\r\n trigger.classList.add('open')\r\n this.accordionOpen(true, panel)\r\n !this.isMobile && this.mainItemOpenUpdate()\r\n return\r\n }\r\n trigger.classList.remove('open')\r\n this.accordionOpen(false, panel)\r\n !this.isMobile && this.mainItemOpenUpdate()\r\n }\r\n\r\n mainItemOpenUpdate() {\r\n const mainNavItems = this.$el.querySelectorAll('.main-nav__item')\r\n mainNavItems.forEach((item) => {\r\n const openedItems = item.querySelectorAll('.sub-nav__item--dropdown.open')\r\n if(openedItems.length) {\r\n item.classList.add('open')\r\n return\r\n }\r\n item.classList.remove('open')\r\n })\r\n }\r\n\r\n accordionOpen(open, ele) {\r\n const panel = ele\r\n gsap.to(panel, {\r\n duration: 0.3,\r\n height: open ? 'auto' : 0\r\n })\r\n }\r\n\r\n // Hover Cover art\r\n createHoverCover() {\r\n const $coverBanner = document.createElement('div')\r\n $coverBanner.classList.add('navigation-cover-sheet')\r\n\r\n this.$hoverImgItems.forEach(($item, i) => {\r\n const banner = document.createElement('div')\r\n banner.classList.add('banner', 'contain-bg')\r\n banner.setAttribute('data-image-id', i)\r\n banner.innerHTML = `
`\r\n gsap.set(banner, {\r\n autoAlpha: 0,\r\n display: 'none'\r\n })\r\n $coverBanner.appendChild(banner)\r\n })\r\n\r\n gsap.set($coverBanner, {\r\n autoAlpha: 0,\r\n display: 'none'\r\n })\r\n\r\n this.$coverBanner = $coverBanner\r\n \r\n document.body.appendChild(this.$coverBanner)\r\n this.updateCover()\r\n }\r\n\r\n deleteCover() {\r\n if(this.$coverBanner) {\r\n document.body.removeChild(this.$coverBanner)\r\n this.activeCoverImage = 0\r\n this.$coverBanner = null\r\n }\r\n }\r\n\r\n clearAllCover() {\r\n const $covers = this.$coverBanner.querySelectorAll('.banner')\r\n gsap.to($covers, {\r\n duration: 0.8,\r\n autoAlpha: 0,\r\n display: 'none',\r\n ease: 'none'\r\n })\r\n }\r\n\r\n updateCover() {\r\n this.clearAllCover()\r\n const $cover = this.$coverBanner.querySelectorAll('.banner')[this.activeCoverImage]\r\n gsap.to($cover, {\r\n duration: 0.8,\r\n autoAlpha: 1,\r\n display: 'block',\r\n ease: 'none'\r\n })\r\n }\r\n\r\n coverLinkOver(e, i) {\r\n this.activeCoverImage = i\r\n this.updateCover()\r\n }\r\n\r\n // Responsive Listeners\r\n resizeFunc() {\r\n if(this.$hoverImgItems.length) {\r\n if(this.isMobile) {\r\n this.deleteCover()\r\n return\r\n }\r\n if(!this.$coverBanner){\r\n this.createHoverCover()\r\n return\r\n }\r\n }\r\n\r\n return false\r\n }\r\n\r\n\r\n // Listeners\r\n addDropDownListener() {\r\n this.$dropDownTriggers.forEach(trigger => {\r\n const mainTrigger = trigger.querySelector(':scope > .main-nav__link') || trigger.querySelector(':scope > .sub-nav__link')\r\n const iconExpand = trigger.querySelector(':scope > [class *= \"__icon\"]')\r\n // mainTrigger.addEventListener(\"click\", (e) => {\r\n // e.preventDefault()\r\n // this.accordionReveal(trigger)\r\n // })\r\n\r\n iconExpand?.addEventListener(\"click\", (e) => {\r\n e.preventDefault()\r\n this.accordionReveal(trigger)\r\n })\r\n })\r\n }\r\n\r\n addHoverImgListeners() {\r\n this.$hoverImgItems.forEach(($trigger, i) => {\r\n $trigger.addEventListener('mouseover', (e) => this.coverLinkOver(e, i))\r\n })\r\n }\r\n}\r\n\r\nexport default MainNav\r\n","\r\nimport utilities from \"@/scripts/common/utilities\"\r\nimport { gsap } from \"gsap\"\r\nimport * as menuServices from \"../common/api/menu.services\"\r\n\r\nconst BACK_DROP_CLASS = 'nav-backdrop'\r\nconst NAV_OPEN_CLASS = 'nav-opened'\r\n\r\nexport default class Navigation {\r\n constructor(container) {\r\n this.$el = container\r\n this.body = document.body\r\n this.$backDrop = null\r\n this.$sheet = null\r\n this.$childElems = null\r\n this.triggers = null\r\n this.triggerActiveClass = 'open'\r\n this.active = false\r\n this.tl = null\r\n this.delay = 0\r\n this.delayOverride = false\r\n this.isMobile = window.innerWidth < site.settings.breakpoints.mobile \r\n this.hijackScroller = false\r\n this.options = Object.assign(\r\n {\r\n ease: \"power3.inOut\"\r\n },\r\n this.$el.dataset.sheetOptions && JSON.parse(this.$el.dataset.sheetOptions)\r\n )\r\n }\r\n\r\n init() {\r\n menuServices.destroyMenuServices(this)\r\n this.setSheet()\r\n this.createAnim()\r\n this.triggerHtmlUpdater()\r\n this.addListeners()\r\n menuServices.addMenuService(this)\r\n\r\n this.$el.getNav = () => this\r\n }\r\n\r\n // Body class toggle function\r\n bodyClassToggle() {\r\n this.active ? this.body.classList.add(NAV_OPEN_CLASS + '-' + this.appendClassName) : this.body.classList.remove(NAV_OPEN_CLASS + '-' + this.appendClassName)\r\n }\r\n\r\n\r\n // Backdrop function\r\n createBackdrop() {\r\n if (this.$backDrop) this.$backDrop.remove()\r\n this.$backDrop = document.createElement(\"div\")\r\n this.$backDrop.classList.add(BACK_DROP_CLASS)\r\n\r\n gsap.set(this.$backDrop, {\r\n left: 0,\r\n top: 0,\r\n position: 'fixed',\r\n width: '100%',\r\n height: '100%',\r\n autoAlpha: 0\r\n })\r\n\r\n this.body.appendChild(this.$backDrop)\r\n gsap.to(this.$backDrop, {\r\n duration: 0.4,\r\n autoAlpha: 1\r\n })\r\n\r\n this.$backDrop.addEventListener('click', () => menuServices.findActiveMenuService().close())\r\n }\r\n\r\n removeBackdrop() {\r\n\r\n this.$backDrop && gsap.to(this.$backDrop, {\r\n duration: 0.4,\r\n autoAlpha: 0,\r\n onComplete: () => {\r\n this.$backDrop && this.body.removeChild(this.$backDrop)\r\n this.$backDrop = null\r\n }\r\n })\r\n }\r\n\r\n // Setting sheet property\r\n setSheet() {\r\n this.$sheet = this.$el\r\n gsap.set(this.$sheet, { autoAlpha: 1, x: 0, y: 0, display: 'block' })\r\n\r\n switch (this.type) {\r\n case 'side-nav':\r\n gsap.set([this.$navItems, this.$subNavItems], { autoAlpha: 1, x: 0 })\r\n break\r\n case 'dropdown':\r\n gsap.set([this.$childElems], { autoAlpha: 1, y: 0, x: 0 })\r\n }\r\n }\r\n\r\n // function to build tl\r\n createAnim() {\r\n this.createMainTl()\r\n }\r\n\r\n // Main tl preparer\r\n createMainTl() {\r\n this.tl = gsap.timeline({\r\n paused: true,\r\n onStart: () => {\r\n this.tweening = true\r\n },\r\n onComplete: () => {\r\n this.tweening = false\r\n if (this.hijackScroller) utilities.toggleWindowScroll(false)\r\n },\r\n onReverseComplete: () => {\r\n this.tweening = false\r\n this.bodyClassToggle()\r\n if (this.hijackScroller) utilities.toggleWindowScroll(true)\r\n }\r\n })\r\n }\r\n\r\n killMainTl() {\r\n this.tl && this.tl.kill()\r\n }\r\n\r\n // Instance specifics for sidenavs\r\n openSideNav() {\r\n return gsap.timeline()\r\n .from(this.$sheet, {\r\n duration: 0.4,\r\n xPercent: -100,\r\n display: 'none',\r\n ease: this.options.ease\r\n })\r\n }\r\n\r\n // Instance specifics for dropdowns\r\n openBottomSheet() {\r\n let tl = null\r\n switch (this.options.animation) {\r\n case 'fadeIn': \r\n tl = gsap.timeline()\r\n .from(this.$sheet, {\r\n duration: 0.4,\r\n autoAlpha: 0,\r\n display: 'none',\r\n ease: this.options.ease\r\n })\r\n \r\n this.$childElems &&\r\n tl.from(this.$childElems, {\r\n autoAlpha: 0,\r\n y: -20,\r\n duration: 0.8,\r\n ease: this.options.ease\r\n }, 0)\r\n break\r\n default: \r\n tl = gsap.timeline()\r\n .from(this.$sheet, {\r\n duration: 0.4,\r\n scaleY: 0,\r\n transformOrigin: '50% 0%',\r\n display: 'none',\r\n ease: this.options.ease\r\n })\r\n this.$childElems &&\r\n tl.from(this.$childElems, {\r\n autoAlpha: 0,\r\n y: -20,\r\n duration: 0.8,\r\n ease: this.options.ease\r\n }, 0)\r\n }\r\n\r\n\r\n return tl\r\n }\r\n\r\n openBottomSheetMobileRight() {\r\n let tl = null\r\n tl = gsap.timeline()\r\n .from(this.$sheet, {\r\n duration: 0.4,\r\n xPercent: 100,\r\n transformOrigin: '100% 50%',\r\n display: 'none',\r\n ease: this.options.ease\r\n })\r\n this.$childElems &&\r\n tl.from(this.$childElems, {\r\n autoAlpha: 0,\r\n x: 50,\r\n duration: 0.8,\r\n ease: this.options.ease\r\n }, 0)\r\n\r\n return tl\r\n }\r\n\r\n setDelayOverride(d) {\r\n this.delayOverride = d\r\n }\r\n\r\n // Adding delay function if already active menu exists\r\n addDelay() {\r\n this.delay = menuServices.findActiveMenuService() ? (menuServices.findActiveMenuService().tl.duration() / 2) : 0\r\n if (this.delayOverride) this.delay = 0\r\n //if(this.isMobile) this.delay = 0\r\n }\r\n\r\n // Open and close main\r\n open() {\r\n this.addDelay()\r\n menuServices.disableAllMenuService() // reset others\r\n this.active = true\r\n this.bodyClassToggle()\r\n this.onOpening && this.onOpening()\r\n this.createBackdrop()\r\n //this.tl.timeScale(1).play().delay(this.delay)\r\n gsap.delayedCall(this.delay, () => this.tl.timeScale(1).play());\r\n this.triggerHtmlUpdater()\r\n }\r\n\r\n close() {\r\n this.active = false\r\n this.tl.timeScale(2).reverse()\r\n this.onClosing && this.onClosing()\r\n this.removeBackdrop()\r\n this.triggerHtmlUpdater()\r\n }\r\n\r\n triggerHtmlUpdater() {\r\n if (!this.active) {\r\n\r\n this.triggers.forEach((t) => {\r\n if (this.options.triggerActiveText) t.innerHTML = this.options.triggerActiveText\r\n if (t.dataset.passiveText) t.innerHTML = t.dataset.passiveText\r\n if (window.innerWidth < 768 && t.dataset.passiveTextMobile) t.innerHTML = t.dataset.passiveTextMobile\r\n t.classList.remove(this.triggerActiveClass)\r\n })\r\n return\r\n }\r\n this.triggers.forEach((t) => {\r\n if (this.options.triggerInActiveText) t.innerHTML = this.options.triggerInActiveText\r\n if (t.dataset.activeText) t.innerHTML = t.dataset.activeText\r\n if (window.innerWidth < 768 && t.dataset.activeTextMobile) t.innerHTML = t.dataset.activeTextMobile\r\n t.classList.add(this.triggerActiveClass)\r\n })\r\n }\r\n\r\n toggleOpen() {\r\n !this.active ? this.open() : this.close()\r\n }\r\n\r\n dropDownHeightUpdater() {\r\n const container = this.$el.querySelector('.dropdown-sheet__container')\r\n if (container) container.style.maxHeight = `${window.innerHeight - 52}px`\r\n }\r\n\r\n // ResizeCalc\r\n resizeFunc() {\r\n return false\r\n }\r\n\r\n onResize() {\r\n return utilities.debounce(() => {\r\n this.resizeFunc()\r\n this.isMobile = window.innerWidth < site.settings.breakpoints.mobile\r\n }, 250)\r\n }\r\n\r\n // Listeners\r\n addListeners() {\r\n const clickFunc = (e) => {\r\n e.preventDefault()\r\n this.toggleOpen()\r\n }\r\n this.triggers.forEach(trigger => {\r\n trigger.addEventListener('click', clickFunc)\r\n })\r\n\r\n window.addEventListener('resize', this.onResize())\r\n }\r\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"@babel/runtime/helpers/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}"],"names":["utilities","options","scrollTop","scrollLeft","debounce","func","wait","immediate","timeout","context","this","args","arguments","later","apply","callNow","clearTimeout","setTimeout","isIE","ua","window","navigator","userAgent","msie","indexOf","parseInt","substring","rv","edge","isFuIOS","audio","isIOS","test","isAppleDevice","includes","isTouchScreen","maxTouchPoints","Audio","volume","isMobile","loadImage","src","img","Image","Promise","resolve","reject","onload","onerror","err","imgLoadPromise","loadScript","id","scriptTag","document","querySelector","createElement","setAttribute","body","append","addEventListener","getStyle","e","styleName","styleValue","defaultView","getComputedStyle","getPropertyValue","currentStyle","replace","strMatch","p1","toUpperCase","triggerFocus","element","event","eventType","bubbles","createEvent","initEvent","Event","cancelable","focus","dispatchEvent","toggleWindowScroll","scroll","removeEventListener","disableScroll","pageYOffset","documentElement","pageXOffset","scrollTo","createNodeParsing","s","DOMParser","parseFromString","firstElementChild","rootCssVariables","style","setProperty","site","settings","breakpoints","mobile","isJson","data","JSON","parse","getGsapTargets","timeline","getChildren","map","tween","target","reduce","list","Array","isArray","forEach","el","jquery","push","nodeType","each","filter","i","formatDateForApi","dateString","moment","dateDisplayFormat","format","dateAPIFormat","noOfDays","startDate","endDate","Date","getTime","formatTimeForSlots","dateTimeString","formatedTime","split","windowPanel","href","windowName","width","height","myWindow","open","closed","alert","resizePlayer","container","aspectRatio","iframe","playerWidth","playerHeight","win","clientWidth","clientHeight","ratio","Math","ceil","Object","assign","left","top","isNodeEle","ele","Element","HTMLDocument","Menus","findActiveMenuService","find","menu","active","MainNav","type","$childElems","$el","querySelectorAll","hijackScroller","appendClassName","triggers","$nav","$navItems","$staggerItems","$dropDownTriggers","innerWidth","$hoverImgItems","$coverBanner","activeCoverImage","tweening","navInit","length","createHoverCover","init","addDropDownListener","addHoverImgListeners","killMainTl","createMainTl","tl","add","openBottomSheet","from","autoAlpha","stagger","y","duration","ease","to","display","accordionReset","trigger","classList","contains","parentNode","dd","panel","remove","accordionOpen","panelOpen","mainItemOpenUpdate","item","gsap","$item","banner","innerHTML","dataset","hoverImg","appendChild","updateCover","removeChild","$covers","clearAllCover","$cover","deleteCover","iconExpand","preventDefault","accordionReveal","$trigger","coverLinkOver","Navigation","$backDrop","$sheet","triggerActiveClass","delay","delayOverride","sheetOptions","index","findIndex","m","splice","menuServices","setSheet","createAnim","triggerHtmlUpdater","addListeners","getNav","NAV_OPEN_CLASS","position","close","onComplete","x","$subNavItems","paused","onStart","onReverseComplete","bodyClassToggle","kill","xPercent","animation","scaleY","transformOrigin","d","addDelay","onOpening","createBackdrop","timeScale","play","reverse","onClosing","removeBackdrop","t","triggerInActiveText","activeText","activeTextMobile","triggerActiveText","passiveText","passiveTextMobile","maxHeight","innerHeight","resizeFunc","clickFunc","toggleOpen","onResize","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_inherits","subClass","superClass","TypeError","prototype","create","constructor","value","writable","configurable","_typeof","obj","Symbol","iterator","_possibleConstructorReturn","self","call","ReferenceError","_setPrototypeOf","p"],"sourceRoot":""}