{"version":3,"file":"static/js/8635.c0b098ef.chunk.js","mappings":"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","sources":["booking/components/loginState.jsx","helpers/keys.js","shared/header/language-selector.jsx","shared/header/universe-selection-bar.jsx","shared/header/header-mobile.jsx","shared/header/search-section.jsx","shared/header/search-section-modal.jsx","shared/header/header-component.jsx","typeahead/Services/httpService.js","typeahead/helpers/dataProvider.js"],"sourcesContent":["import React, { Component } from \"react\"\n\nimport { instanceOf } from \"prop-types\"\nimport { withCookies, Cookies } from \"react-cookie\"\nimport * as cookieNames from \"../constants/Cookies\"\n\nimport * as endpoint from \"../constants/Endpoints\"\nimport LoginLink from \"./common/loginLink\"\n\nimport { UserProfile } from \"../../hooks/userProfile\"\n\nclass LoginState extends Component {\n static propTypes = {\n cookies: instanceOf(Cookies).isRequired,\n }\n\n render() {\n const { config } = this.props\n const textKeys = config && config.textKeys ? config.textKeys : {}\n const idpToken = this.props.cookies.get(cookieNames.IDP_TOKEN_LOGIN) === \"True\"\n return (\n <UserProfile>\n {(profile) => {\n if (profile !== null && profile.ContactDetails) {\n // if(profile.ContactDetails.FirstName || profile.ContactDetails.LastName) {\n // return (\n // <a className={this.props.linkClassName || (!this.props.isShop && \"button button--nav\")} href={textKeys.myAdvantageLink}>\n // <span className=\"text name\">{profile.ContactDetails.FirstName} {profile.ContactDetails.LastName}</span>\n // </a>\n // )\n // } else {\n // return (\n // <a className={this.props.linkClassName || (!this.props.isShop && \"button button--nav\")} href={textKeys.myAdvantageLink}>\n // <span className=\"text name\">{profile.EmailAddress}</span>\n // </a>\n // )\n // }\n return (\n <a className={this.props.linkClassName || (!this.props.isShop && \"button button--nav\")} href={textKeys.myAdvantageLink}>\n <span className=\"text name\">{textKeys.cphProfileLabel}</span>\n </a>\n )\n } else if (idpToken) {\n return (\n <LoginLink\n loginurl={endpoint.ACCOUNT_LOGIN(config && config.hosts, config && config.language)}\n linkClassName={this.props.linkClassName || \"button button--nav\"}\n spanClassName={\"text name\"}\n linkText={textKeys.myAdvantageLabel}\n isShop={this.props.isShop}\n trackingHandler={this.props.trackingHandler}\n />\n )\n } else {\n return (\n <LoginLink\n loginurl={endpoint.ACCOUNT_LOGIN(config && config.hosts, config && config.language)}\n linkClassName={this.props.linkClassName || \"button button--nav\"}\n spanClassName={\"text\"}\n linkText={textKeys.loginLabel}\n isShop={this.props.isShop}\n trackingHandler={this.props.trackingHandler}\n />\n )\n }\n }}\n </UserProfile>\n )\n }\n}\n\nexport default withCookies(LoginState)\n","export const generateRandomString = () => {\n const characters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\"\n let randomString = \"\"\n\n for (let i = 0; i < 5; i++) {\n const randomIndex = Math.floor(Math.random() * characters.length)\n randomString += characters[randomIndex]\n }\n\n return randomString\n}\n","import React, { useState } from \"react\"\nimport Svg from \"../_svgs/svg\"\nimport OutsideClickTrigger from \"../../booking/components/common/OutsideClickTrigger\"\n\nexport default function LanguageSelector({ languages, useParkingLanguageSelection, languageChoiceLabel }) {\n const [isLanguageActive, setIsLanguageActive] = useState(false)\n\n const handleLanguageToggle = () => {\n setIsLanguageActive(!isLanguageActive)\n }\n\n return languages && languages.length > 0 ? (\n <div className={`main-navigation__item langselect js--has-dropdown ${isLanguageActive ? \"is-dropped\" : \"\"}`}>\n <OutsideClickTrigger onOutsideClick={() => setIsLanguageActive(false)}>\n <>\n {languages.map((lang, index) => {\n if (lang.selected) {\n return (\n <button key={index} className=\"button button--nav js--dropdown-trigger\" onClick={() => handleLanguageToggle()}>\n <img src={lang.languageLogo}></img>\n <Svg iconName={\"arrowdownangle\"} />\n </button>\n )\n }\n return\n })}\n\n <div className={`dropdown dropdown--language ${isLanguageActive ? \"is-active\" : \"\"}`}>\n {languageChoiceLabel ? <h6>{languageChoiceLabel}</h6> : \"\"}\n <ul className=\"dropdown__list js--dropdown-list\" data-dropdowntargetid={2}>\n {useParkingLanguageSelection\n ? languages.map((lang, index) => {\n if (!lang.selected) {\n return (\n <li key={index} className=\"dropdown__item\">\n <a tabIndex={isLanguageActive ? 0 : -1} className={`button ${lang.selected ? \"is-active\" : \"\"}`}>\n <img src={lang.languageLogo}></img>\n <span className=\"langtext\">{lang.text}</span>\n </a>\n </li>\n )\n }\n })\n : languages.map((lang, index) => {\n if (!lang.selected) {\n return (\n <li key={index} className=\"dropdown__item\">\n <a tabIndex={isLanguageActive ? 0 : -1} href={lang.value} className={`button ${lang.selected ? \"is-active\" : \"\"}`}>\n <img src={lang.languageLogo}></img>\n <span className=\"langtext\">{lang.text}</span>\n </a>\n </li>\n )\n }\n })}\n </ul>\n </div>\n </>\n </OutsideClickTrigger>\n </div>\n ) : (\n \"\"\n )\n}\n","import React, { useState, useRef, useEffect } from \"react\"\nimport Svg from \"../../shared/_svgs/svg\"\nimport { generateRandomString } from \"../../helpers/keys\"\nimport OutsideClickTrigger from \"../../booking/components/common/OutsideClickTrigger\"\n\nconst UniverseSelectionBar = ({ universeSelection, universesSelectText, isMobile }) => {\n const [isSelectorOpen, setIsSelectorOpen] = useState(false)\n\n const universeSelectorRef = useRef(null)\n\n useEffect(() => {\n const handleEvent = (event) => {\n //if the current event is not a descendant of the universe selector, close it.\n if (!isDescendantOf(event.target, universeSelectorRef.current)) {\n setIsSelectorOpen(false)\n }\n }\n document.addEventListener(\"focus\", handleEvent, true)\n\n return () => {\n document.removeEventListener(\"focus\", handleEvent, true)\n }\n }, [])\n\n function isDescendantOf(child, parent) {\n let node = child.parentNode\n\n while (node) {\n if (node === parent) {\n return true\n }\n node = node.parentNode\n }\n\n return false\n }\n\n //if current page isnt registered within a universe,\n //we use this flag along with the mainUniverse property\n //to designate the current page is part of the mainUniverse as a fallback mechanism.\n const shouldFallBackToMainUniverse =\n universeSelection && universeSelection.length > 0 && universeSelection.map((u) => u.currentUniverse).every((cu) => cu === false)\n\n if (!universeSelection) return null\n\n return (\n <div className=\"universe-container\">\n <div className=\"universe-selector universe-selector__bar w--wider\">\n <div className=\"universe-select\">\n <input type=\"checkbox\" onChange={(e) => setIsSelectorOpen(e.target.checked)} checked={isSelectorOpen} id=\"universe-dropdown\" />\n <div ref={universeSelectorRef} className=\"dropdowncontainer\">\n <OutsideClickTrigger onOutsideClick={() => setIsSelectorOpen(false)}>\n <>\n <label\n htmlFor=\"universe-dropdown\"\n className={`selector${isSelectorOpen || isMobile ? \" open\" : \" closed\"}`}\n name=\"Universe Selector\"\n role=\"button\"\n tabIndex={0}\n onKeyDown={(e) => {\n if (e.key === \"Enter\") setIsSelectorOpen(!isSelectorOpen)\n }}\n >\n {universesSelectText}\n {isMobile ? null : (\n <span className={`selector-arrow-icon${isSelectorOpen ? \" open\" : \"\"}`}>\n <svg className=\"svg-icon svg-icon--arrowdownangle\">\n <use xmlnsXlink=\"http://www.w3.org/1999/xlink\" xlinkHref=\"/dist/svg/symbols.svg#svg-arrowdownangle\">\n \n </use>\n </svg>\n </span>\n )}\n </label>\n <div className=\"universe-dropdown\">\n {universeSelection.map((universe, index) => (\n <a\n key={generateRandomString()}\n data-property={index}\n tabIndex={isSelectorOpen || isMobile ? 0 : -1}\n href={universe.universeRoot}\n className={\n universe.currentUniverse ? \"active-site\" : shouldFallBackToMainUniverse && universe.mainUniverse ? \"active-site\" : \"\"\n }\n >\n <div className=\"icon\">\n <Svg iconName={universe.universeIcon} renderContainer={false} />\n </div>\n <div className=\"text\">{universe.universeName}</div>\n </a>\n ))}\n </div>\n </>\n </OutsideClickTrigger>\n </div>\n </div>\n </div>\n </div>\n )\n}\nexport default UniverseSelectionBar\n","import React, { useState } from \"react\"\nimport Svg from \"../_svgs/svg\"\nimport { CookiesProvider } from \"react-cookie\"\nimport * as SelectionFactoryHelper from \"../helpers/SelectionFactoryHelper\"\nimport LoginState from \"../../booking/components/loginState\"\nimport LanguageSelector from \"./language-selector\"\nimport UniverseSelectionBar from \"./universe-selection-bar\"\n\nexport default function HeaderMobile({\n isMobileMenuActive,\n logo,\n logoOverride,\n logoLink,\n logoTracking,\n handleMobileSearchOpen,\n handleMobileMenuToggle,\n languages,\n useParkingLanguageSelection,\n loginState,\n headerLinks,\n handleClickTracking,\n shopLogoTracking,\n shopLogoLink,\n shopLogo,\n megaMenuCard,\n shopLogoLinkTarget,\n languageChoiceLabel,\n sectionNotAvailableText,\n pageNotAvailableText,\n universeSelection,\n universesSelectText,\n}) {\n return (\n <div className={`main-navigation--mobile js--mobile-navigation ${isMobileMenuActive ? \"is-active is-fixed\" : \"\"}`}>\n <div className=\"main-navigation--mobile__top\">\n <a\n className={`button button--nav button--logo ${logoOverride && \"button--logo--override\"}`}\n href={logoLink}\n onClick={() => handleClickTracking(logoTracking)}\n >\n {logoOverride ? <img src={logoOverride} alt=\"Logo\" /> : <Svg iconName={logo || \"logo-tight\"} />}\n </a>\n <div className=\"main-navigation__item main-navigation__item--search\" onClick={() => handleMobileSearchOpen()}>\n <a className=\"button button--nav button--nav--search\">\n <Svg iconClass={\"icon\"} iconName={\"search-new\"} />\n </a>\n </div>\n <button className=\"button button--toggle js--navigation-toggle\" onClick={() => handleMobileMenuToggle()}>\n <Svg iconClass={\"icon\"} iconName={\"burgermenu\"} />\n </button>\n </div>\n <ul className={`main-navigation--mobile__list js--navigation-inner ${isMobileMenuActive ? \"is-active\" : \"\"}`}>\n <li>\n <div className=\"main-navigation--mobile__list__top\">\n <LanguageSelector\n languageChoiceLabel={languageChoiceLabel}\n languages={languages}\n useParkingLanguageSelection={useParkingLanguageSelection}\n />\n\n <div className={`main-navigation__item main-navigation__item--user`}>\n <CookiesProvider>\n <LoginState config={loginState} />\n </CookiesProvider>\n </div>\n <button className=\"button button--toggle js--navigation-toggle\" onClick={() => handleMobileMenuToggle()}>\n <Svg iconClass={\"icon2\"} iconName={\"close-new\"} />\n </button>\n </div>\n </li>\n {headerLinks && headerLinks.length > 0\n ? headerLinks.map((item, index) => {\n return (\n <MobileLinkList\n key={\"mobileLinkList\" + index}\n megaMenuCard={megaMenuCard}\n link={item.link}\n linkText={item.linkText}\n handleClickTracking={handleClickTracking}\n sectionNotAvailableText={sectionNotAvailableText}\n pageNotAvailableText={pageNotAvailableText}\n isMobileMenuActive={isMobileMenuActive}\n {...item}\n />\n )\n })\n : \"\"}\n {shopLogo && shopLogoLink ? (\n <li className=\"taxfreelink\">\n <a href={shopLogoLink} onClick={() => handleClickTracking(shopLogoTracking)} target={shopLogoLinkTarget}>\n <img src={shopLogo} alt=\"\" />\n </a>\n </li>\n ) : (\n \"\"\n )}\n <li>\n <UniverseSelectionBar universeSelection={universeSelection} universesSelectText={universesSelectText} isMobile={true} />\n </li>\n </ul>\n </div>\n )\n}\n\nfunction MobileLinkList({ megaMenuCard, link, linkText, handleClickTracking, sectionNotAvailableText, pageNotAvailableText, isMobileMenuActive }) {\n const [isToggle, setIsToggle] = useState(false)\n\n //TODO - Do this with React\n const showHideContent = (event, classname) => {\n setIsToggle(!isToggle)\n let elem = event.currentTarget\n elem.__toggle = !elem.__toggle\n let target = elem.parentElement.querySelector(classname)\n if (elem.__toggle) {\n target.style.height = target.scrollHeight + \"px\"\n elem.classList.add(\"is-active\")\n } else {\n target.style.height = 0 + \"px\"\n elem.classList.remove(\"is-active\")\n }\n }\n\n const getLinkList = (linkArea, megaMenuElements) => {\n let linkList = []\n if (linkArea) {\n linkList = linkList.concat(linkArea)\n }\n\n if (megaMenuElements) {\n megaMenuElements.forEach((elem) => {\n if (elem.__type__ === \"MegaMenuLinkListElement\") {\n const firstLink = elem.firstLink\n firstLink.isFirstLink = true\n linkList.push(firstLink)\n linkList = linkList.concat(elem.linkArea)\n } else {\n linkList.push(elem.linkItem)\n }\n })\n }\n\n return linkList\n }\n\n let linkList = []\n if (megaMenuCard) linkList = getLinkList(megaMenuCard.linkArea, megaMenuCard.megaMenuElements)\n\n const showAnnotation = megaMenuCard.annotate || (!megaMenuCard.annotate && megaMenuCard.hasAnnotatedLinks)\n return (\n <li>\n <div className=\"mobile-navigation__links\">\n <div className=\"topmenuitem button button--link has-icon\" onClick={(e) => showHideContent(e, \".contentWrapper\")}>\n <a className=\"text\" href={link} tabIndex={isMobileMenuActive ? 0 : -1}>\n {linkText}\n </a>\n </div>\n <div className={\"contentWrapper show-hide\"}>\n {showAnnotation ? (\n <div className={`annotation-text`}>\n {megaMenuCard.annotate ? <p>{sectionNotAvailableText.replace(\"*\", \"\").replace(\"{headline}\", linkText)}</p> : \"\"}\n {!megaMenuCard.annotate && megaMenuCard.hasAnnotatedLinks ? <p>{pageNotAvailableText}</p> : \"\"}\n </div>\n ) : (\n \"\"\n )}\n <ul className={\"links-list\"}>\n {linkList && linkList.length > 0\n ? linkList.map((link, index) => {\n const linkTarget = SelectionFactoryHelper.getFromSelectionFactory(link.linkTarget)\n return (\n <li key={index} className=\"links-list__item\">\n <a\n tabIndex={isToggle ? 0 : -1}\n className={`button button--link has-icon ${link.isFirstLink ? \"first-link\" : \"\"}`}\n target={linkTarget}\n href={link.linkUrl}\n onClick={() => handleClickTracking(link.linkTracking)}\n >\n <span className=\"text\">{`${link.linkText}${!megaMenuCard.annotate && link.annotate ? \"*\" : \"\"}`}</span>\n </a>\n </li>\n )\n })\n : \"\"}\n </ul>\n </div>\n </div>\n </li>\n )\n}\n","import React, { Component } from \"react\"\nimport OutsideClickTrigger from \"../../booking/components/common/OutsideClickTrigger\"\nimport Svg from \"../_svgs/svg\"\nimport * as cookieHelper from \"../../helpers/cookie\"\nimport * as tracking from \"../../helpers/tracking\"\nimport * as dataProvider from \"../../typeahead/helpers/dataProvider\"\nimport reactStringReplace from \"react-string-replace\"\nimport ReactHtmlParser from \"react-html-parser\"\nimport { isSafari } from \"react-device-detect\"\n\nexport default class SearchSection extends Component {\n constructor(props) {\n super(props)\n\n this.state = {\n searchQuery: \"\",\n totalCount: 0,\n filteredData: {},\n displayGroupNames: [],\n }\n this.trackingTimeoutId = null\n this.inputRef = React.createRef()\n }\n\n componentDidMount() {\n this.focusInput()\n\n let vh = window.innerHeight * 0.01\n document.documentElement.style.setProperty(\"--vh\", `${vh}px`)\n window.addEventListener(\"resize\", () => {\n let vh = window.innerHeight * 0.01\n document.documentElement.style.setProperty(\"--vh\", `${vh}px`)\n })\n }\n\n componentDidUpdate() {\n if (window.innerWidth >= 950) {\n // modal threshold/on desktop view\n this.focusInput()\n }\n }\n\n focusInput() {\n if (this.props.isSearchActive) {\n const input = document.querySelector(\".searchinput\")\n if (input) {\n input.focus()\n }\n }\n }\n\n handleSearchClose = (closeHandler) => {\n this.setState({ totalCount: 0, searchQuery: \"\", filteredData: {}, displayGroupNames: [] }, () => {\n if (closeHandler) closeHandler()\n })\n }\n\n handleInput = (event) => {\n const name = event.target.name\n const value = event.target.value\n if (this.inputRef.current === document.activeElement && this.inputRef.current.value.length > 1 && (event.key === 13 || event.key === \"Enter\")) {\n window.location.href = this.state.searchUrl\n }\n\n this.setState({ [name]: value }, () => {\n this.performSearch(value, true)\n })\n }\n\n performSearch = async (query, track = true) => {\n const response = await dataProvider.getData(query)\n\n if (this.trackingTimeoutId) {\n clearTimeout(this.trackingTimeoutId)\n }\n\n if (response && response.data) {\n const data = dataProvider.createPageData(response.data, this.props.searchConfig, track, \"site search - generic\", query)\n const { filteredData, displayGroupNames, totalCount } = data\n this.setState({ filteredData, displayGroupNames, totalCount })\n } else {\n const data = dataProvider.createPageData({}, this.props.searchConfig, track, \"site search - generic\", query)\n const { filteredData, displayGroupNames, totalCount } = data\n this.setState({ filteredData, displayGroupNames, totalCount })\n }\n this.trackingTimeoutId = setTimeout(() => {\n tracking.trackSearchInteraction(cookieHelper.getUserId(this.props), query)\n }, 200)\n }\n\n resultsReplace = (text, query, count) => {\n let newtext = text || \"\"\n if (query) newtext = newtext.replace(\"{{searchQuery}}\", query)\n if (count) newtext = newtext.replace(\"{{count}}\", count)\n return newtext\n }\n\n renderSearchButton = (isZeroState, searchQuery, totalCount) => {\n const { searchConfig } = this.props\n let buttonText =\n isZeroState || totalCount === 0\n ? searchConfig.texts.searchButton.defaultText\n : this.resultsReplace(searchConfig.texts.searchButton.resultsText, searchQuery, totalCount)\n let searchUrl = isZeroState || totalCount === 0 ? searchConfig.siteSearchUrl : `${searchConfig.siteSearchUrl}?query=${searchQuery}&c=global*`\n if (searchUrl != this.state.searchUrl) this.setState({ searchUrl: searchUrl })\n\n return (\n <div className=\"buttoncontainer\">\n <a tabIndex={this.props.isSearchActive ? 0 : -1} href={searchUrl} className={`button button--medium button--general no-shadow`}>\n <span className=\"text\">{buttonText}</span>\n </a>\n </div>\n )\n }\n\n render() {\n const { searchConfig } = this.props\n const { searchQuery, filteredData, totalCount } = this.state\n let data = filteredData || {}\n\n const top = searchConfig.sectionData ? searchConfig.sectionData.searchSectionTop : []\n const middle = searchConfig.sectionData ? searchConfig.sectionData.searchSectionMiddle : []\n const bottom = searchConfig.sectionData ? searchConfig.sectionData.searchSectionBottom : []\n const isZeroState = searchQuery.length <= 1\n\n if (isZeroState) {\n data = searchConfig.zeroState.data || {}\n }\n\n const searchFieldPlaceholder = searchConfig.zeroState.searchFieldPlaceholder\n\n return (\n <div className={`search-section ${isSafari ? \"safari-only\" : \"\"} ${this.props.isSearchActive ? \"is-active\" : \"\"}`}>\n <OutsideClickTrigger onOutsideClick={() => this.handleSearchClose(this.props.handleOutsideClick)}>\n <div className={`search-section__content`}>\n <div className=\"input-wrapper\">\n <input\n ref={this.inputRef}\n tabIndex={this.props.isSearchActive ? 0 : -1}\n className=\"searchinput\"\n type=\"text\"\n name={\"searchQuery\"}\n placeholder={searchFieldPlaceholder || \"Søg\"}\n value={this.state.searchQuery}\n onChange={(e) => this.handleInput(e)}\n onKeyDown={(e) => (e.key === 13 || e.key === \"Enter\" ? this.handleInput(e) : null)}\n ></input>\n <div className=\"icon-wrapper\">\n <div\n tabIndex={this.props.isSearchActive ? 0 : -1}\n className=\"closeicon\"\n onKeyDown={(e) => {\n if (e.keyCode === 13) {\n e.preventDefault()\n this.handleSearchClose(this.props.closeHandler)\n return\n }\n }}\n onClick={() => this.handleSearchClose(this.props.closeHandler)}\n >\n <Svg iconName={\"close\"} fillColor={\"#333333\"} />\n </div>\n </div>\n </div>\n\n <Section\n searchConfig={this.props.searchConfig}\n totalCount={totalCount}\n data={data}\n isZeroState={isZeroState}\n section={top}\n sectionName={\"searchSectionTop\"}\n className={\"top\"}\n isSearchActive={this.props.isSearchActive}\n resultsReplace={this.resultsReplace}\n searchQuery={searchQuery}\n />\n\n <Section\n searchConfig={this.props.searchConfig}\n data={data}\n isZeroState={isZeroState}\n section={middle}\n sectionName={\"searchSectionMiddle\"}\n className={\"middle\"}\n isSearchActive={this.props.isSearchActive}\n resultsReplace={this.resultsReplace}\n searchQuery={searchQuery}\n />\n\n <Section\n searchConfig={this.props.searchConfig}\n data={data}\n isZeroState={isZeroState}\n section={bottom}\n sectionName={\"searchSectionBottom\"}\n className={\"bottom\"}\n isSearchActive={this.props.isSearchActive}\n resultsReplace={this.resultsReplace}\n searchQuery={searchQuery}\n />\n\n {this.renderSearchButton(isZeroState, searchQuery, totalCount)}\n </div>\n </OutsideClickTrigger>\n </div>\n )\n }\n}\n\nclass Section extends Component {\n renderItem = (elem, key, className) => {\n return (\n <a tabIndex={this.props.isSearchActive ? 0 : -1} href={elem.url} key={key} className={className}>\n {elem.icon ? (\n <div className=\"icon\">\n <Svg iconName={elem.icon} />\n </div>\n ) : (\n \"\"\n )}\n <div className=\"text\">{elem.name}</div>\n {elem.displayGroupName ? <span className=\"category\">{elem.displayGroupName}</span> : \"\"}\n </a>\n )\n }\n\n hasData(section, data, isZeroState = false) {\n let tempData = data\n if (data && Object.keys(data).length > 0) {\n return section.some((element) => {\n if (tempData[element] && tempData[element].length > 0) {\n if (isZeroState) {\n return true\n } else {\n return false\n }\n }\n if ((tempData[element] && tempData[element].count > 0) || (tempData[element] && tempData[element].docs.length > 0)) {\n if (tempData[element].docs.some((element) => element.isZeroData) && !isZeroState) {\n return false\n } else {\n return true\n }\n }\n return false\n })\n }\n return false\n }\n\n renderResults = (section, data) => {\n const { searchConfig, searchQuery, sectionName } = this.props\n const { texts, shopSearchUrl, arrivalsSearchUrl, departuresSearchUrl, maxResults } = searchConfig\n const { arrivals, departures, taxFree } = texts\n if (section && section.length > 0) {\n let topItemCount = 0\n return section.map((group) => {\n let url, item\n const results = data[group].docs\n const count = data[group].count\n if (count < 1) return \"\"\n const displayGroupName = data[group].displayGroupName\n switch (group) {\n case \"ProductsTypeahead\":\n case \"CategoryTypeahead\":\n case \"BrandsTypeahead\":\n if (sectionName === \"searchSectionTop\") {\n topItemCount++\n if (topItemCount > maxResults) return\n }\n url = `${shopSearchUrl}?q=${searchQuery}&c=shop*`\n item = this.getItem(url, searchQuery, taxFree.searchResultText, count, \"shoppingbag-new\")\n return this.renderItem(item, group, \"item\")\n case \"DepartureTypeahead\":\n if (sectionName === \"searchSectionTop\") {\n topItemCount++\n if (topItemCount > maxResults) return\n }\n url = `${departuresSearchUrl}?q=${searchQuery}`\n item = this.getItem(url, searchQuery, departures.searchResultText, count, \"planetakeoff\")\n return this.renderItem(item, group, \"item\")\n case \"ArrivalsTypeahead\":\n if (sectionName === \"searchSectionTop\") {\n topItemCount++\n if (topItemCount > maxResults) return\n }\n url = `${arrivalsSearchUrl}?q=${searchQuery}`\n item = this.getItem(url, searchQuery, arrivals.searchResultText, count, \"planelanding\")\n return this.renderItem(item, group, \"item\")\n case \"MerchantsTypeahead\":\n return results.map((res, index) => {\n if (res.isZeroData) return\n if (sectionName === \"searchSectionTop\") {\n topItemCount++\n if (topItemCount > maxResults) return\n }\n const merchant = this.getItem(\n res.MerchantURL,\n searchQuery,\n `${res.Name} ${res.CustomLocationLabel_s || \"\"}`,\n null,\n null,\n res.DisplayGroupName_s || displayGroupName,\n )\n return this.renderItem(merchant, group + index, \"item\")\n })\n case \"ArticleTypeahead\":\n return results.map((res, index) => {\n if (res.isZeroData) return\n if (sectionName === \"searchSectionTop\") {\n topItemCount++\n if (topItemCount > maxResults) return\n }\n const article = this.getItem(res.PageUrl_s, searchQuery, res.Header_s, null, null, displayGroupName)\n return this.renderItem(article, group + index, \"item\")\n })\n }\n })\n }\n return \"\"\n }\n\n getItem = (url, searchQuery, resultsText, count = null, icon = null, category = null) => {\n let text = resultsText\n if (icon) {\n if (searchQuery) text = text.replace(\"{{searchQuery}}\", `<span>${searchQuery}</span>`)\n if (count) text = text.replace(\"{{count}}\", count)\n text = ReactHtmlParser(text)\n } else {\n let resultText = this.props.resultsReplace(resultsText, searchQuery, count)\n text = this.stringReplace(resultText, searchQuery)\n }\n const item = { icon: icon, url: url, name: text }\n if (category) item.displayGroupName = category\n return item\n }\n\n stringReplace = (text, input) => {\n const words = input.split(\" \").filter(Boolean)\n const regex = new RegExp(\"(\" + words.join(\"*|\") + \")\", \"gi\")\n return reactStringReplace(text, regex, (match, i) => <span key={match + i}>{match}</span>)\n }\n\n render() {\n const { section, data, isZeroState, className, searchConfig, searchQuery } = this.props\n\n // render no results\n if (this.props.totalCount && this.props.totalCount === 0 && searchQuery.length > 1) {\n const resultText =\n searchConfig.noResults?.replace(\"{{searchQuery}}\", `<span>${searchQuery}</span>`) || \"Ingen resultater matchede {{searchQuery}}\"\n return (\n <div className={className}>\n <div className={\"item\"}>\n <div className={\"text\"}>{ReactHtmlParser(resultText)}</div>\n </div>\n </div>\n )\n }\n return this.hasData(section, data, isZeroState) ? (\n <div className={className}>\n {isZeroState\n ? section.map((group) => {\n const sectionData = data[group]\n if (sectionData) {\n return (\n <div key={group}>\n {sectionData.length > 0 &&\n sectionData.map((elem, index) => {\n return this.renderItem(elem, index, \"item\")\n })}\n </div>\n )\n } else {\n return\n }\n })\n : this.renderResults(section, data)}\n </div>\n ) : (\n \"\"\n )\n }\n}\n","import React, { Component } from \"react\"\nimport Modal from \"../modal/modal\"\nimport SearchSection from \"./search-section\"\nimport { isSafari } from \"react-device-detect\"\n\nexport default class SearchSectionModal extends Component {\n afterModalOpenHandler = () => {\n const input = document.querySelector(\".searchinput\")\n if (input) {\n input.focus()\n }\n }\n\n render() {\n if (this.props.searchOpen) {\n return (\n <Modal\n isOpen={true}\n hideClose={true}\n closeHandler={this.props.closeHandler}\n afterOpenHandler={this.afterModalOpenHandler}\n noScrollToTop=\"true\"\n modifier={`modal--wide modal--fixed site-header ${isSafari ? \"safari-only\" : \"\"}`}\n overlayModifier=\"ReactModal__Overlay--fixed header-container\"\n bodyModifier=\"ReactModal__Body--open ReactModal--no-overflow\"\n >\n <SearchSection {...this.props} isSearchActive={true} closeHandler={this.props.closeHandler} />\n </Modal>\n )\n } else {\n return \"\"\n }\n }\n}\n","import React, { useState } from \"react\"\nimport HeaderMobile from \"./header-mobile\"\nimport Svg from \"../_svgs/svg\"\nimport { CookiesProvider } from \"react-cookie\"\nimport LoginState from \"../../booking/components/loginState\"\nimport * as SelectionFactoryHelper from \"../helpers/SelectionFactoryHelper\"\nimport SearchSection from \"./search-section\"\nimport SearchSectionModal from \"./search-section-modal\"\nimport * as cookieHelper from \"../../helpers/cookie\"\nimport { isMobile } from \"react-device-detect\"\nimport UniverseSelectionBar from \"./universe-selection-bar\"\nimport LanguageSelector from \"./language-selector\"\nimport useWindowWidth from \"../../hooks/useWindowWidth\"\n\nexport default function Header({\n logo,\n logoOverride,\n logoLink,\n logoTracking,\n headerLinks,\n shopLogo,\n shopLogoLink,\n shopLogoTracking,\n languageChoiceLabel,\n languages,\n useParkingLanguageSelection,\n loginState,\n megaMenuCard,\n locale,\n searchConfig,\n accessibilityHeaderItems,\n universeSelection,\n universesSelectText,\n sectionNotAvailableText,\n pageNotAvailableText,\n onlyTopLevel = false,\n timeoutHandle = null,\n shopLogoLinkTarget,\n showLogin,\n}) {\n const [isSearchActive, setIsSearchActive] = useState(false)\n const [isMobileSearchActive, setIsMobileSearchActive] = useState(false)\n const [isMobileMenuActive, setIsMobileMenuActive] = useState(false)\n const [activeLevel2Index, setActiveLevel2Index] = useState(null)\n const [topLevelHover, setTopLevelHover] = useState(false)\n const [subLevelHover, setSubLevelHover] = useState(false)\n const [mouseOverSearchToggle, setMouseOverSearchToggle] = useState(false)\n const windowWidth = useWindowWidth()\n\n const handleSearchToggle = () => {\n const notificationBanner = document.querySelector(\".notifications\")\n\n setTopLevelHover(false)\n setActiveLevel2Index(null)\n setSubLevelHover(false)\n\n if (isSearchActive) {\n if (notificationBanner) {\n const notificationVersion = notificationBanner.dataset.notificationVersion\n const notificationCookie = cookieHelper.getCookie(notificationVersion)\n if (notificationCookie !== \"closed\") {\n notificationBanner.style.display = \"block\"\n }\n }\n } else {\n if (notificationBanner) {\n notificationBanner.style.display = \"none\"\n }\n let siteHeader = document.getElementsByClassName(\"site-header\")[0]\n if (siteHeader) {\n let siteHeaderWrapper = document.getElementsByClassName(\"site-header-wrapper\")[0]\n if (siteHeaderWrapper) {\n siteHeaderWrapper.style.height = siteHeader.clientHeight + \"px\"\n }\n }\n }\n setIsSearchActive(!isSearchActive)\n }\n\n const handleMobileSearchOpen = () => {\n setZIndexOfNotificationBanner(0)\n setIsMobileSearchActive(true)\n document.body.classList.add(\"disable-scroll\")\n }\n\n const handleMobileSearchClose = () => {\n setIsMobileSearchActive(false)\n setZIndexOfNotificationBanner(null)\n document.body.classList.remove(\"disable-scroll\")\n }\n\n const handleSearchClose = () => {\n if (!mouseOverSearchToggle) {\n const notificationBanner = document.querySelector(\".notifications\")\n if (notificationBanner) {\n const notificationVersion = notificationBanner.dataset.notificationVersion\n const notificationCookie = cookieHelper.getCookie(notificationVersion)\n if (notificationCookie !== \"closed\") {\n notificationBanner.style.display = \"block\"\n }\n }\n setIsSearchActive(false)\n }\n }\n if (isMobile) {\n document.activeElement.blur()\n }\n\n const handleMobileMenuToggle = () => {\n if (!isMobileMenuActive) {\n setZIndexOfNotificationBanner(0)\n setIsMobileMenuActive(!isMobileMenuActive)\n document.body.classList.add(\"disable-scroll\")\n } else {\n setIsMobileMenuActive(!isMobileMenuActive)\n setZIndexOfNotificationBanner(null)\n document.body.classList.remove(\"disable-scroll\")\n }\n }\n\n const topLevelHoverHandler = (index, content) => {\n if (onlyTopLevel || isSearchActive) return\n\n clearTimeout(timeoutHandle)\n\n timeoutHandle = setTimeout(() => {\n if (content) {\n setActiveLevel2Index(index)\n setTopLevelHover(true)\n } else {\n setTopLevelHover(false)\n setActiveLevel2Index(null)\n }\n }, 200)\n }\n\n const topLevelUnhoverHandler = () => {\n if (onlyTopLevel || isSearchActive) return\n clearTimeout(timeoutHandle)\n\n timeoutHandle = setTimeout(() => {\n setTopLevelHover(false)\n if (!subLevelHover) {\n setActiveLevel2Index(null)\n }\n }, 100)\n }\n\n const subLevelHoverHandler = () => {\n if (onlyTopLevel || isSearchActive) return\n\n clearTimeout(timeoutHandle)\n setSubLevelHover(true)\n setTopLevelHover(false)\n }\n\n const subLevelUnhoverHandler = () => {\n if (onlyTopLevel || isSearchActive) return\n setSubLevelHover(false)\n if (!topLevelHover) setActiveLevel2Index(null)\n clearTimeout(timeoutHandle)\n }\n\n const handleClickTracking = (tracking) => {\n if (tracking) {\n try {\n tracking()\n } catch (error) {\n console.error(\"Error in tracking function\", error)\n }\n }\n }\n\n const setZIndexOfNotificationBanner = (zindex) => {\n const notificationBanner = document.querySelector(\".notification\")\n if (notificationBanner) {\n const notificationVersion = notificationBanner.dataset.notificationVersion\n const notificationCookie = cookieHelper.getCookie(notificationVersion)\n if (notificationCookie !== \"closed\") {\n notificationBanner.style.zIndex = zindex\n }\n }\n }\n\n var renderedAccessibleHeaderItems = (\n <AccessibilityHeaderItems\n accessibleHeaderItems={accessibilityHeaderItems}\n setIsSearchActive={setIsSearchActive}\n setTopLevelHover={setTopLevelHover}\n setSubLevelHover={setSubLevelHover}\n setActiveLevel2Index={setActiveLevel2Index}\n />\n )\n\n const target = SelectionFactoryHelper.getFromSelectionFactory(shopLogoLinkTarget)\n\n return (\n <div className={`site-header js--site-header ${isSearchActive ? \"is-sticky\" : \"\"}`}>\n {windowWidth >= 950 ? (\n <UniverseSelectionBar universeSelection={universeSelection} universesSelectText={universesSelectText || \"CPH Websites\"} />\n ) : null}\n <nav className={`main-navigation`}>\n {renderedAccessibleHeaderItems}\n\n {/* Mobile */}\n {windowWidth < 950 ? (\n <HeaderMobile\n isMobileMenuActive={isMobileMenuActive}\n logo={logo}\n logoOverride={logoOverride}\n logoLink={logoLink}\n logoTracking={logoTracking}\n handleMobileSearchOpen={handleMobileSearchOpen}\n handleMobileMenuToggle={handleMobileMenuToggle}\n languages={languages}\n useParkingLanguageSelection={useParkingLanguageSelection}\n loginState={loginState}\n headerLinks={headerLinks}\n handleClickTracking={handleClickTracking}\n shopLogoTracking={shopLogoTracking}\n shopLogoLink={shopLogoLink}\n shopLogo={shopLogo}\n megaMenuCard={megaMenuCard}\n shopLogoLinkTarget={target}\n languageChoiceLabel={languageChoiceLabel}\n sectionNotAvailableText={sectionNotAvailableText}\n pageNotAvailableText={pageNotAvailableText}\n universeSelection={universeSelection}\n universesSelectText={universesSelectText || \"CPH Websites\"}\n />\n ) : undefined}\n\n {/* Desktop */}\n {windowWidth >= 950 ? (\n <div className={`main-navigation--desktop ${activeLevel2Index ? \"is-active\" : \"\"}`}>\n <div className=\"w--wider pos-static\">\n <ul className=\"main-navigation--desktop__main\">\n <li className=\"main-navigation__item\">\n <a\n className={`button button--nav button--logo ${logoOverride && \"button--logo--override\"}`}\n href={logoLink}\n onClick={() => handleClickTracking(logoTracking)}\n >\n {logoOverride ? <img src={logoOverride} alt=\"Logo\" /> : <Svg iconName={logo || \"logo-tight\"} />}\n </a>\n </li>\n\n {headerLinks && headerLinks.length > 0\n ? headerLinks.map((item, index) => {\n return (\n <HeaderElementTopLevel\n key={`topLevelItem${index}`}\n // {...item}\n //The megaMenuCard is equivelent to\n megaMenuCard={item.megaMenuCard}\n setIsSearchActive={setIsSearchActive}\n setTopLevelHover={setTopLevelHover}\n setSubLevelHover={setSubLevelHover}\n setActiveLevel2Index={setActiveLevel2Index}\n icon={item.icon}\n iconUpload={item.iconUpload}\n selectedTags={item.selectedTags}\n link={item.link}\n linkText={item.linkText}\n index={index}\n handleClickTracking={handleClickTracking}\n active={activeLevel2Index === index}\n onlyTopLevel={onlyTopLevel}\n mouseEnterHandler={topLevelHoverHandler}\n mouseLeaveHandler={topLevelUnhoverHandler}\n topLevelHover={topLevelHover}\n windowWidth={windowWidth}\n activeLevel2Index={activeLevel2Index}\n headerLinks={headerLinks}\n locale={locale}\n subLevelHoverHandler={subLevelHoverHandler}\n subLevelUnhoverHandler={subLevelUnhoverHandler}\n sublevelHover={subLevelHover}\n sectionNotAvailableText={sectionNotAvailableText}\n pageNotAvailableText={pageNotAvailableText}\n />\n )\n })\n : \"\"}\n </ul>\n <ul className=\"main-navigation--desktop__aux\">\n {shopLogo && shopLogoLink ? (\n <li className=\"taxfreelink\">\n <a href={shopLogoLink} onClick={() => handleClickTracking(shopLogoTracking)} target={target}>\n <img src={shopLogo} alt=\"\" />\n </a>\n </li>\n ) : (\n \"\"\n )}\n {showLogin ? (\n <li className={`main-navigation__item main-navigation__item--bottom main-navigation__item--user`}>\n <CookiesProvider>\n <LoginState config={loginState} />\n </CookiesProvider>\n </li>\n ) : (\n \"\"\n )}\n\n <LanguageSelector\n languageChoiceLabel={languageChoiceLabel}\n languages={languages}\n useParkingLanguageSelection={useParkingLanguageSelection}\n />\n\n {/* Search Function */}\n <li\n className=\"main-navigation__item search search--desktop\"\n onMouseOver={() => setMouseOverSearchToggle(true)}\n onMouseOut={() => setMouseOverSearchToggle(false)}\n >\n <button id=\"search\" className=\"button button--nav for-search js--search-field-toggle\" onClick={() => handleSearchToggle()}>\n <Svg iconClass={\"icon\"} iconName={\"search-new\"} />\n </button>\n </li>\n </ul>\n </div>\n </div>\n ) : undefined}\n </nav>\n {windowWidth < 950 ? (\n <SearchSectionModal searchConfig={searchConfig} searchOpen={isMobileSearchActive} closeHandler={handleMobileSearchClose} />\n ) : (\n <SearchSection\n searchConfig={searchConfig}\n isSearchActive={isSearchActive}\n handleOutsideClick={handleSearchClose}\n closeHandler={handleSearchClose}\n ></SearchSection>\n )}\n </div>\n )\n}\n\nfunction HeaderElementTopLevel({\n //default props in functional components\n index = 0,\n onlyTopLevel = false,\n mouseEnterHandler = null,\n mouseLeaveHandler = null,\n link,\n linkText,\n linkTracking,\n active,\n handleClickTracking,\n megaMenuCard,\n windowWidth,\n activeLevel2Index,\n headerLinks,\n locale,\n subLevelHoverHandler,\n subLevelUnhoverHandler,\n subLevelHover,\n topLevelHover,\n setIsSearchActive,\n setTopLevelHover,\n setActiveLevel2Index,\n sectionNotAvailableText,\n pageNotAvailableText,\n}) {\n const headerLinkToRender = headerLinks && headerLinks[index]\n\n const handleEnterKeyPress = (event) => {\n if (event.keyCode === 13) {\n event.preventDefault()\n if (!active) {\n setIsSearchActive(false)\n setTopLevelHover(true)\n setActiveLevel2Index(index)\n mouseEnterHandler(index, megaMenuCard)\n return\n }\n\n mouseLeaveHandler()\n return\n }\n }\n\n if (link && linkText) {\n return (\n <li\n onMouseLeave={() => mouseLeaveHandler()}\n onClick={() => handleClickTracking(linkTracking)}\n className={`main-navigation__item ${active ? \"is-highlighted\" : \"\"}`}\n >\n <a\n onMouseEnter={() => mouseEnterHandler(index, megaMenuCard)}\n onKeyDown={(e) => handleEnterKeyPress(e)}\n className={`button button--nav ${active ? \"is-active\" : \"\"}`}\n href={link}\n >\n <span className=\"text\">{linkText}</span>\n </a>\n {!onlyTopLevel && windowWidth >= 950 && (\n <div className={`main-navigation--desktop__main__level2 ${activeLevel2Index === index && active ? \"is-active\" : \"\"}`}>\n {headerLinkToRender && megaMenuCard ? (\n <HeaderElementSubLevel\n key={`subLevelItem${index}`}\n {...megaMenuCard}\n handleClickTracking={handleClickTracking}\n index={index}\n active={activeLevel2Index === index}\n language={locale}\n topLevelHover={topLevelHover}\n mouseEnterHandler={subLevelHoverHandler}\n mouseLeaveHandler={subLevelUnhoverHandler}\n subLevelHover={subLevelHover}\n sectionNotAvailableText={sectionNotAvailableText}\n pageNotAvailableText={pageNotAvailableText}\n />\n ) : (\n <span className=\"main-navigation--desktop__main__level2__item\" key={`subLevelItem${index}`}></span>\n )}\n </div>\n )}\n </li>\n )\n } else {\n return null\n }\n}\n\nfunction HeaderElementSubLevel({\n active = false,\n mouseEnterHandler = null,\n mouseLeaveHandler = null,\n handleClickTracking,\n language,\n headline,\n linkArea,\n text,\n megaMenuElements,\n annotate,\n hasAnnotatedLinks,\n sectionNotAvailableText,\n pageNotAvailableText,\n}) {\n const renderMegaMenuElements = (contentArea) => {\n return contentArea\n ? contentArea.map((block, i) => {\n switch (block.__type__) {\n case \"MegaMenuLinkImageElementBlock\":\n case \"MegaMenuLinkElementBlock\":\n return (\n <MegaMenuElement\n key={i}\n handleClickTracking={handleClickTracking}\n image={block.image}\n linkItem={block.linkItem}\n text={block.text}\n active={active}\n annotateCard={annotate}\n />\n )\n case \"MegaMenuLinkListElement\":\n return (\n <MegaMenuLinkList\n key={i}\n handleClickTracking={handleClickTracking}\n language={language}\n firstLink={block.firstLink}\n linkArea={block.linkArea}\n active={active}\n annotateCard={annotate}\n />\n )\n }\n })\n : null\n }\n\n return (\n <div\n className={`main-navigation--desktop__main__level2__item ${active ? \"is-active\" : \"\"}`}\n onMouseEnter={() => mouseEnterHandler()}\n onMouseLeave={() => mouseLeaveHandler()}\n >\n <div className={`w--wider`}>\n <div className={`text-section`}>\n <p className=\"headline\">{`${headline}${annotate ? \"*\" : \"\"}`}</p>\n <span dangerouslySetInnerHTML={{ __html: text }}></span>\n {linkArea && linkArea.length > 0 ? (\n <div className={\"links-container\"}>\n {linkArea.map((link, index) => {\n const linkTarget = SelectionFactoryHelper.getFromSelectionFactory(link.linkTarget)\n return (\n <a\n tabIndex={active ? 0 : -1}\n key={index}\n href={link.linkUrl || undefined}\n onClick={() => handleClickTracking(link.linkTracking)}\n target={linkTarget}\n >\n <Svg iconName={\"arrowright-slim\"} />\n {`${link.linkText}${!annotate && link.annotate ? \"*\" : \"\"}`}\n </a>\n )\n })}\n </div>\n ) : (\n \"\"\n )}\n </div>\n <div className={`elements-section-wrapper`}>\n <div className={`elements-section`}>{renderMegaMenuElements(megaMenuElements)}</div>\n <div className={`annotation-text`}>\n {annotate ? sectionNotAvailableText.replace(\"{headline}\", headline) : \"\"}\n {!annotate && hasAnnotatedLinks ? pageNotAvailableText : \"\"}\n </div>\n </div>\n </div>\n <div className={\"bottom-shadow\"}></div>\n </div>\n )\n}\n\nfunction MegaMenuElement({ handleClickTracking, image, linkItem, text, active, annotateCard }) {\n return (\n <a\n onClick={() => handleClickTracking(linkItem?.linkTracking)}\n tabIndex={active && linkItem?.linkUrl ? 0 : -1}\n href={linkItem?.linkUrl || undefined}\n className={`mega-menu-element ${image ? \"has-image\" : \"\"}`}\n >\n <div>\n {image ? <img src={image} /> : \"\"}\n <div className={\"link-text\"}>{`${linkItem?.linkText}${!annotateCard && linkItem?.annotate ? \"*\" : \"\"}`}</div>\n <span dangerouslySetInnerHTML={{ __html: text }}></span>\n </div>\n </a>\n )\n}\n\nfunction MegaMenuLinkList({ handleClickTracking, firstLink, linkArea, active, annotateCard }) {\n const firstLinkTarget = SelectionFactoryHelper.getFromSelectionFactory(firstLink.linkTarget)\n return (\n <div className={`mega-menu-link-list`}>\n <a\n tabIndex={active ? 0 : -1}\n className={`first-link`}\n href={firstLink.linkUrl || undefined}\n onClick={() => handleClickTracking(firstLink.linkTracking)}\n target={firstLinkTarget}\n >{`${firstLink?.linkText}${!annotateCard && firstLink?.annotate ? \"*\" : \"\"}`}</a>\n {linkArea && linkArea.length > 0\n ? linkArea.map((link, index) => {\n const linkTarget = SelectionFactoryHelper.getFromSelectionFactory(link.linkTarget)\n return (\n <a\n tabIndex={active ? 0 : -1}\n key={index}\n href={link.linkUrl || undefined}\n onClick={() => handleClickTracking(link.linkTracking)}\n target={linkTarget}\n >{`${link.linkText}${!annotateCard && link.annotate ? \"*\" : \"\"}`}</a>\n )\n })\n : \"\"}\n </div>\n )\n}\n\nfunction AccessibilityHeaderItems({ accessibleHeaderItems, setIsSearchActive, setTopLevelHover, setSubLevelHover, setActiveLevel2Index }) {\n let items = undefined\n let accessibleHeader = undefined\n\n const handleInteraction = () => {\n setIsSearchActive(false)\n setTopLevelHover(false)\n setSubLevelHover(false)\n setActiveLevel2Index(null)\n }\n\n if (accessibleHeaderItems)\n items = accessibleHeaderItems.map((item) => {\n return (\n <a\n key={item.linkText}\n onClick={() => handleInteraction()}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.keyCode === 13) {\n handleInteraction()\n return\n }\n }}\n className=\"accessibility-menu-item\"\n href={item.link || item.remainingUrl}\n aria-label={item.ariaLabel || item.linkText}\n >\n {item.linkText}\n </a>\n )\n })\n\n if (items)\n accessibleHeader = items.length ? (\n <nav className=\"accessibility-nav-menu\" aria-label=\"accessibility menu\">\n {items}\n </nav>\n ) : null\n\n if (accessibleHeader)\n return (\n <nav className=\"accessibility-nav-menu\" aria-label=\"accessibility menu\">\n {items}\n </nav>\n )\n\n return null\n}\n","import axios from \"axios\"\n\naxios.defaults.headers.common[\"Content-Type\"] = \"application/json\"\n//axios.defaults.headers.common['Access-Control-Allow-Origin'] = '*';\n\nconst makeRequestCreator = () => {\n let call\n return (url) => {\n if (call) {\n call.cancel(\"Only one request allowed at a time.\")\n }\n call = axios.CancelToken.source()\n return axios.get(url, {\n cancelToken: call.token,\n })\n }\n}\n\nconst getRequest = makeRequestCreator()\n\nconst get = async (url) => {\n try {\n return await getRequest(url)\n } catch (err) {\n if (axios.isCancel(err)) {\n // console.error(`Cancelling previous request: ${err.message}`);\n }\n }\n}\n\nexport default {\n get: get,\n}\n","import http from \"../Services/httpService\"\nimport config from \"../config.json\"\nimport * as trackingHelper from \"../../helpers/tracking\"\n\nexport const getData = (query) => {\n return http.get(config.siteprefix + config.url + query)\n}\n\nexport const createPageData = (data, dataConfig, track = false, eventCategory = \"\", eventLabel = \"\") => {\n const displayGroupNames = {}\n var count = 0\n if (data) {\n for (var propName in data) {\n displayGroupNames[propName] = data[propName].displayGroupName\n if (data[propName].count === 0) {\n data[propName].docs = createZeroStateData(data[propName].docs, propName, dataConfig)\n //delete data[propName];\n } else {\n count += data[propName].count\n }\n }\n trackingHelper.handleSearchTrackingTimeout(track, eventCategory, \"typeahead - 0.5 sec\", eventLabel, count)\n return { filteredData: data, displayGroupNames: displayGroupNames, totalCount: count }\n }\n trackingHelper.handleSearchTrackingTimeout(track, eventCategory, \"typeahead - 0.5 sec\", eventLabel, count)\n return { filteredData: {}, displayGroupNames: displayGroupNames, totalCount: count }\n}\n\nexport const createZeroStateData = (docs, propName, dataConfig) => {\n let config = dataConfig\n if (!config) {\n const desktopSearchBox = document.querySelector(\"[data-input-search]\")\n let config = desktopSearchBox ? desktopSearchBox.dataset.inputSearch : \"\"\n if (config) {\n dataConfig = JSON.parse(config)\n }\n }\n\n if (docs && docs.length > 0) {\n return docs.map((element) => {\n element.name = config.zeroState.data[propName] ? config.zeroState.data[propName].name : \"\"\n element.url = config.zeroState.data[propName] ? config.zeroState.data[propName].url : \"\"\n element.displayGroupName = config.zeroState.data[propName] ? config.zeroState.data[propName].displayGroupName : \"\"\n return element\n })\n } else {\n // let typeahead = {}\n let zeroDataDocs = []\n if (config.zeroState && config.zeroState.data[propName]) {\n zeroDataDocs = config.zeroState.data[propName].map((element) => {\n element.isZeroData = true\n return element\n })\n }\n\n docs = zeroDataDocs\n // element.name = config.zeroState.data[propName] ? config.zeroState.data[propName].name : ''\n // element.url = config.zeroState.data[propName] ? config.zeroState.data[propName].url : ''\n // element.displayGroupName = config.zeroState.data[propName] ? config.zeroState.data[propName].displayGroupName : ''\n // docs.push(element)\n return docs\n }\n}\n"],"names":["LoginState","_Component","_classCallCheck","_callSuper","arguments","_inherits","_createClass","key","value","_this","config","this","props","textKeys","idpToken","cookies","get","cookieNames","_jsx","UserProfile","children","profile","ContactDetails","className","linkClassName","isShop","href","myAdvantageLink","cphProfileLabel","LoginLink","loginurl","endpoint","hosts","language","spanClassName","linkText","myAdvantageLabel","trackingHandler","loginLabel","Component","withCookies","generateRandomString","characters","randomString","i","Math","floor","random","LanguageSelector","_ref","languages","useParkingLanguageSelection","languageChoiceLabel","_useState","useState","_useState2","_slicedToArray","isLanguageActive","setIsLanguageActive","length","concat","OutsideClickTrigger","onOutsideClick","_jsxs","_Fragment","map","lang","index","selected","onClick","src","languageLogo","Svg","iconName","tabIndex","text","universeSelection","universesSelectText","isMobile","isSelectorOpen","setIsSelectorOpen","universeSelectorRef","useRef","useEffect","handleEvent","event","child","parent","node","parentNode","isDescendantOf","target","current","document","addEventListener","removeEventListener","shouldFallBackToMainUniverse","u","currentUniverse","every","cu","type","onChange","e","checked","id","ref","htmlFor","name","role","onKeyDown","xmlnsXlink","xlinkHref","universe","universeRoot","mainUniverse","universeIcon","renderContainer","universeName","HeaderMobile","isMobileMenuActive","logo","logoOverride","logoLink","logoTracking","handleMobileSearchOpen","handleMobileMenuToggle","loginState","headerLinks","handleClickTracking","shopLogoTracking","shopLogoLink","shopLogo","megaMenuCard","shopLogoLinkTarget","sectionNotAvailableText","pageNotAvailableText","alt","iconClass","CookiesProvider","item","MobileLinkList","_objectSpread","link","UniverseSelectionBar","_ref2","isToggle","setIsToggle","linkList","linkArea","megaMenuElements","forEach","elem","__type__","firstLink","isFirstLink","push","linkItem","getLinkList","showAnnotation","annotate","hasAnnotatedLinks","classname","currentTarget","__toggle","parentElement","querySelector","style","height","scrollHeight","classList","add","remove","showHideContent","replace","linkTarget","SelectionFactoryHelper","linkUrl","linkTracking","SearchSection","handleSearchClose","closeHandler","setState","totalCount","searchQuery","filteredData","displayGroupNames","handleInput","inputRef","activeElement","window","location","state","searchUrl","_defineProperty","performSearch","_asyncToGenerator","_regeneratorRuntime","mark","_callee","query","track","response","data","_data","_filteredData","_displayGroupNames","_totalCount","_args","wrap","_context","prev","next","undefined","dataProvider","sent","trackingTimeoutId","clearTimeout","searchConfig","setTimeout","tracking","cookieHelper","stop","_x","apply","resultsReplace","count","newtext","renderSearchButton","isZeroState","buttonText","texts","searchButton","defaultText","resultsText","siteSearchUrl","isSearchActive","React","focusInput","vh","innerHeight","documentElement","setProperty","innerWidth","input","focus","_this2","_this$state","top","sectionData","searchSectionTop","middle","searchSectionMiddle","bottom","searchSectionBottom","zeroState","searchFieldPlaceholder","isSafari","handleOutsideClick","placeholder","keyCode","preventDefault","fillColor","Section","section","sectionName","_Component2","_this3","_len","args","Array","_key","renderItem","url","icon","displayGroupName","renderResults","_this3$props","shopSearchUrl","arrivalsSearchUrl","departuresSearchUrl","maxResults","arrivals","departures","taxFree","topItemCount","group","results","docs","getItem","searchResultText","res","isZeroData","merchant","MerchantURL","Name","CustomLocationLabel_s","DisplayGroupName_s","article","PageUrl_s","Header_s","category","ReactHtmlParser","resultText","stringReplace","words","split","filter","Boolean","regex","RegExp","join","reactStringReplace","match","tempData","Object","keys","some","element","_this4","_this$props","_searchConfig$noResul","noResults","hasData","SearchSectionModal","afterModalOpenHandler","searchOpen","Modal","isOpen","hideClose","afterOpenHandler","noScrollToTop","modifier","overlayModifier","bodyModifier","Header","locale","accessibilityHeaderItems","_ref$onlyTopLevel","onlyTopLevel","_ref$timeoutHandle","timeoutHandle","showLogin","setIsSearchActive","_useState3","_useState4","isMobileSearchActive","setIsMobileSearchActive","_useState5","_useState6","setIsMobileMenuActive","_useState7","_useState8","activeLevel2Index","setActiveLevel2Index","_useState9","_useState10","topLevelHover","setTopLevelHover","_useState11","_useState12","subLevelHover","setSubLevelHover","_useState13","_useState14","mouseOverSearchToggle","setMouseOverSearchToggle","windowWidth","useWindowWidth","notificationBanner","notificationVersion","dataset","display","blur","topLevelHoverHandler","content","topLevelUnhoverHandler","subLevelHoverHandler","subLevelUnhoverHandler","error","console","setZIndexOfNotificationBanner","zindex","zIndex","renderedAccessibleHeaderItems","AccessibilityHeaderItems","accessibleHeaderItems","body","HeaderElementTopLevel","iconUpload","selectedTags","active","mouseEnterHandler","mouseLeaveHandler","sublevelHover","onMouseOver","onMouseOut","siteHeader","getElementsByClassName","siteHeaderWrapper","clientHeight","handleSearchToggle","_ref2$index","_ref2$onlyTopLevel","_ref2$mouseEnterHandl","_ref2$mouseLeaveHandl","headerLinkToRender","onMouseLeave","onMouseEnter","handleEnterKeyPress","HeaderElementSubLevel","_ref3","contentArea","_ref3$active","_ref3$mouseEnterHandl","_ref3$mouseLeaveHandl","headline","dangerouslySetInnerHTML","__html","block","MegaMenuElement","image","annotateCard","MegaMenuLinkList","_ref4","_ref5","firstLinkTarget","_ref6","items","accessibleHeader","handleInteraction","remainingUrl","ariaLabel","axios","headers","common","getRequest","call","cancel","source","cancelToken","token","makeRequestCreator","abrupt","t0","getData","http","createPageData","dataConfig","eventCategory","eventLabel","propName","createZeroStateData","trackingHelper","desktopSearchBox","inputSearch","JSON","parse","zeroDataDocs"],"sourceRoot":""}