{"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                          &nbsp;\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":""}