{"version":3,"file":"static/js/6708.931275ce.chunk.js","mappings":"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","sources":["shared/flight-search-hero/flight-search-hero-component.jsx","shared/flight-search-hero/flight-search-hero-module.js","shared/flight-search-hero/search-overlay.jsx"],"sourcesContent":["import React, { Component } from \"react\"\nimport * as dateHelper from \"../../booking/helpers/date\"\nimport * as endpoints from \"../../api/endpoints\"\nimport ReactHtmlParser from \"react-html-parser\"\nimport { isMobile, isIOS } from \"react-device-detect\"\nimport da from \"date-fns/locale/da\"\nimport enGB from \"date-fns/locale/en-GB\"\nimport Svg from \"../_svgs/svg\"\nimport SearchOverlay from \"./search-overlay\"\nimport pointInPolygon from \"point-in-polygon\"\nimport reactStringReplace from \"react-string-replace\"\nimport * as endpoint from \"../../booking/constants/Endpoints\"\nimport axios from \"axios\"\nimport ipRangeCheck from \"ip-range-check\"\nimport { getIPRange } from \"get-ip-range\"\nimport OutsideClickTrigger from \"../../booking/components/common/OutsideClickTrigger\"\nimport * as SelectionFactoryHelper from \"../helpers/SelectionFactoryHelper\"\nimport * as cookieHelper from \"../../helpers/cookie\"\nimport { DateTime } from \"luxon\"\n\nexport default class FlightSearchHero extends Component {\n  constructor(props) {\n    super(props)\n\n    const dtLocale = dateHelper.luxonLocale(props.locale)\n    const zone = \"Europe/Copenhagen\"\n    const cphTimeConvert = DateTime.local().setLocale(dtLocale).setZone(zone) // gets local time and changes timezone to copenhagen to get correct time\n    const cphTime = cphTimeConvert.setZone(\"local\", { keepLocalTime: true }) // locks in copenhagen time and switches back to local timezone. This ensures the time will stay CPH time when we later converts the DateTime to a JS Date object.\n    let startDate = cphTime.set({ milliseconds: 0, seconds: 0, minutes: 60 }).minus({ hours: 1 })\n    let minDate = startDate.minus({ days: 1 })\n    let minTime = cphTime.set({ hours: 0, minutes: 0, seconds: 0, milliseconds: 0 })\n    let maxTime = cphTime.set({ hours: 23, minutes: 0, seconds: 0, milliseconds: 0 })\n\n    this.state = {\n      flights: [],\n      direction: \"D\",\n      q: \"\",\n      showOverlay: false,\n      searchDate: startDate,\n      minDate: minDate,\n      datepickerOpen: false,\n      renderWaitingTime: false,\n      t2WaitingTime: \"N/A\",\n      t3WaitingTime: \"N/A\",\n      minTime: minTime,\n      maxTime: maxTime,\n      otherDaysMinTime: minTime,\n      airports: [],\n      airlines: [],\n      startDate: startDate,\n      scrollDistance: 0,\n      scrollStart: 0,\n    }\n  }\n\n  componentDidMount() {\n    this.addEventListeners()\n    if (this.props.alwaysShowWaitingTimes) {\n      this.setState({ renderWaitingTime: true }, () => {\n        this.getWaitingTime()\n        setInterval(this.getWaitingTime, 10000)\n      })\n    } else if (isMobile) {\n      if (this.props.ipAddress && this.props.ipRange) {\n        if (ipRangeCheck(this.props.ipAddress, getIPRange(this.props.ipRange))) {\n          this.setState({ renderWaitingTime: true }, () => {\n            this.getWaitingTime()\n            setInterval(this.getWaitingTime, 10000)\n          })\n        } else {\n          this.getLocation()\n        }\n      } else {\n        this.getLocation()\n      }\n    }\n  }\n\n  addEventListeners() {\n    window.addEventListener(\"resize\", (event) => {\n      this.setState({ screenWidth: event.target.screen.width })\n    })\n    document.body.addEventListener(\"keydown\", (e) => {\n      let flightId = document.getElementById(\"flight-search-hero-input\")\n      let flightIsFocused = document.activeElement === flightId\n\n      if (e.key === \"Escape\") {\n        this.setState({ showOverlay: false })\n        if (isMobile) {\n          const elements = document.getElementsByClassName(\"site-header\")\n          const siteHeader = elements[0]\n          if (siteHeader) {\n            siteHeader.style.display = null\n            const siteHeaderWrapper = document.getElementsByClassName(\"site-header-wrapper\")[0]\n            if (siteHeaderWrapper) {\n              siteHeaderWrapper.style.height = siteHeader.clientHeight + \"px\"\n            }\n          }\n          this.setZIndexOfNotificationBanner(null)\n          document.body.classList.remove(\"disable-scroll\")\n        }\n        const input = document.querySelector(\"#flight-search-hero-input\")\n        if (input) {\n          input.blur()\n        }\n      }\n      if (e.key === \"Enter\" && flightIsFocused) {\n        window.location.href = `${this.state.direction === \"D\" ? this.props.departuresPage : this.props.arrivalsPage}?q=${\n          this.state.q\n        }&date=${this.state.searchDate.toFormat(\"dd / MM / yyyy\")}&time=${this.state.searchDate.toFormat(\"HH\")}`\n      }\n    })\n  }\n\n  search = async () => {\n    if (this.state.q.length >= (this.props.minCharsBeforeSearch ?? 2)) {\n      const dt = this.state.searchDate\n      const zone = \"Europe/Copenhagen\"\n      const cphTime = dt.setZone(zone, { keepLocalTime: true }) // set zone to copenhagen and keep local time, which is already cph time\n      const start = cphTime.toUTC() // convert to UTC which is what Solr expects\n      const end = cphTime.endOf(\"day\").toUTC() // convert to UTC which is what Solr expects\n      const flightsData = {\n        direction: this.state.direction,\n        query: this.state.q,\n        startDateTime: start,\n        endDateTime: end,\n        language: this.props.locale,\n      }\n\n      // use this data and call GetAirports endpoint to get airports from solr core instead of flightinfo\n      // const airportsData = { language: this.props.locale, query: this.state.q, limit: this.props.allFlightsLimit }\n      const returns = await Promise.all([this.getFlights(flightsData), this.getAirports(flightsData)])\n        .then((responses) => {\n          return Promise.all(\n            responses.map((response) => {\n              return response\n            }),\n          )\n        })\n        .then((data) => {\n          return data\n        })\n        .catch((err) => {\n          console.log(err)\n        })\n      const flights = returns[0]\n      const airports = returns[1]\n      const airlines = this.getAirlines(flights)\n      this.setState({ flights: flights, airports: airports, airlines: airlines })\n    }\n  }\n\n  getFlights = (data) => {\n    return endpoints\n      .getFlightInfoTable(data)\n      .then((res) => {\n        return res.data\n      })\n      .then((data) => {\n        let flights = []\n        if (data) {\n          flights = data\n        }\n        return flights\n      })\n      .catch((err) => {\n        console.log(err)\n      })\n  }\n\n  getAirports = (data) => {\n    // return endpoints.getAirports(data)\n    return endpoints\n      .getAirportsFromFlights(data)\n      .then((res) => {\n        return res.data\n      })\n      .then((data) => {\n        let airports = []\n        if (data) {\n          airports = data\n        }\n        return airports\n      })\n      .catch((err) => {\n        console.log(err)\n      })\n  }\n\n  getAirlines = (flights) => {\n    let airlines = []\n    if (flights && flights.length > 0) {\n      const result = Array.from(new Set(flights.map((f) => f.IataAirline))).map((iata) => {\n        return {\n          iata: iata,\n          name: flights.find((f) => f.IataAirline === iata).Airline,\n          nameMobile: flights.find((f) => f.IataAirline === iata).AirlineMobile,\n        }\n      })\n      airlines = result\n    }\n    return airlines\n  }\n\n  handleInput = (event, search = true) => {\n    this.setState(\n      {\n        [event.target.name]: event.target.value,\n      },\n      () => {\n        if (this.state.q.length >= 1) {\n          if (isMobile && !this.state.showOverlay) {\n            // scroll to top to fix the input field in the overlay being out of view on iphone\n            window.scrollTo(0, 0)\n            this.setZIndexOfNotificationBanner(0)\n          }\n          this.setState({ showOverlay: true }, () => {\n            if (search) this.search()\n            if (isMobile) {\n              const elements = document.getElementsByClassName(\"site-header\")\n              const siteHeader = elements[0]\n              if (siteHeader) {\n                siteHeader.style.display = \"none\"\n              }\n              document.body.classList.add(\"disable-scroll\")\n            }\n          })\n        } else {\n          if (!isMobile) {\n            this.handleCloseOverlay()\n          }\n        }\n      },\n    )\n  }\n\n  handleDirectionChange = (direction) => {\n    this.setState({ direction: direction }, () => {\n      this.search()\n    })\n  }\n\n  handleCloseOverlay = () => {\n    this.setState({ showOverlay: false, searchDate: this.state.startDate, q: \"\", flights: [], airports: [] }, () => {\n      if (isMobile) {\n        const elements = document.getElementsByClassName(\"site-header\")\n        const siteHeader = elements[0]\n        if (siteHeader) {\n          siteHeader.style.display = null\n          const siteHeaderWrapper = document.getElementsByClassName(\"site-header-wrapper\")[0]\n          if (siteHeaderWrapper) {\n            siteHeaderWrapper.style.height = siteHeader.clientHeight + \"px\"\n          }\n        }\n        this.setZIndexOfNotificationBanner(null)\n        document.body.classList.remove(\"disable-scroll\")\n      }\n    })\n  }\n\n  handleDateChange = (dateInput) => {\n    this.setState(\n      (prevState) => {\n        let dateTime = DateTime.fromJSDate(dateInput)\n        const startOfPrevDate = prevState.searchDate.startOf(\"day\")\n        const startOfMinDate = prevState.minDate.startOf(\"day\")\n        const startOfNewDate = dateTime.startOf(\"day\")\n        if (startOfMinDate.toMillis() === startOfNewDate.toMillis()) {\n          // if the times are the same, meaning only the date was changed, set date to minDate\n          const time = dateTime.toFormat(\"HH:mm\")\n          const prevTime = prevState.searchDate.toFormat(\"HH:mm\")\n          if (dateTime <= prevState.minDate || time === prevTime) {\n            return { searchDate: prevState.minDate, minTime: prevState.minDate }\n          }\n          return { searchDate: dateTime, minTime: prevState.minDate }\n        } else {\n          // if the dates have changed, set time to 0\n          if (startOfPrevDate.toMillis() !== startOfNewDate.toMillis()) {\n            dateTime = dateTime.set({ hours: 0, minutes: 0, seconds: 0, milliseconds: 0 })\n            if (document.getElementsByClassName(\"react-datepicker__time-list\")[0]) {\n              document.getElementsByClassName(\"react-datepicker__time-list\")[0].scrollTo({\n                top: 0,\n                behavior: \"smooth\",\n              })\n            }\n          }\n          return { searchDate: dateTime, minTime: prevState.otherDaysMinTime }\n        }\n      },\n      () => this.search(),\n    )\n  }\n\n  handleDatepicker = () => {\n    this.setState({ datepickerOpen: !this.state.datepickerOpen })\n  }\n\n  closeDatepicker = () => {\n    this.setState({ datepickerOpen: false })\n  }\n\n  getLocation = () => {\n    if (navigator.geolocation) {\n      navigator.geolocation.getCurrentPosition(this.checkLocation)\n    }\n  }\n\n  checkLocation = (position) => {\n    // check if coords is inside airport polygon\n    if (position.coords) {\n      const polygon = this.createPolygon(this.props.coordinates)\n      const isAtAirport = pointInPolygon([position.coords.latitude, position.coords.longitude], polygon)\n      if (isAtAirport) {\n        this.setState({ renderWaitingTime: true }, () => {\n          this.getWaitingTime()\n        })\n      }\n    }\n  }\n\n  createPolygon = (coordinates) => {\n    const polygon = []\n    coordinates.forEach((coords) => {\n      polygon.push([coords.latitude, coords.longitude])\n    })\n    return polygon\n  }\n\n  getWaitingTime = () => {\n    const hosts = document.body && document.body.dataset.hosts && JSON.parse(document.body.dataset.hosts)\n    axios.get(endpoint.WAITING_TIME_SECURITY(hosts)).then(\n      (result) => {\n        // let time = result.data[terminal + \"WaitingTimeInterval\"] + \" min\"\n        if (result.status === 204) {\n          this.setState({\n            // [stateKey]: time\n            t2WaitingTime: \"N/A\",\n            t3WaitingTime: \"N/A\",\n          })\n          return\n        }\n        this.setState({\n          // [stateKey]: time\n          t2WaitingTime: result.data.t2WaitingTimeInterval,\n          t3WaitingTime: result.data.t3WaitingTimeInterval,\n        })\n      },\n      (error) => {\n        this.setState({\n          // [stateKey]: \"N/A\",\n          t2WaitingTime: \"N/A\",\n          t3WaitingTime: \"N/A\",\n          error,\n        })\n      },\n    )\n  }\n\n  getWaitingTimeString = (text, input) => {\n    const newText = text.replace(\"{time}\", input)\n    const regex = new RegExp(/\\((.*?)\\)/)\n    return reactStringReplace(newText, regex, (match, i) => <span key={match + i}>({match})</span>)\n  }\n\n  handleOutsideClick = () => {\n    if (!this.state.overInput) {\n      this.setState({ showOverlay: false, datepickerOpen: false })\n    }\n  }\n\n  handleInputFocus = () => {\n    if (this.state.q.length > 0) {\n      if (isMobile && !this.state.showOverlay) {\n        // scroll to top to fix the input field in the overlay being out of view on iphone\n        window.scrollTo(0, 0)\n        this.setZIndexOfNotificationBanner(0)\n      }\n      this.setState({ showOverlay: true }, () => {\n        if (isMobile) {\n          const elements = document.getElementsByClassName(\"site-header\")\n          const siteHeader = elements[0]\n          if (siteHeader) {\n            siteHeader.style.display = \"none\"\n          }\n          document.body.classList.add(\"disable-scroll\")\n        }\n      })\n    }\n  }\n\n  handleTouchStart = () => {\n    if (isIOS) {\n      this.setState({ scrollStart: window.pageYOffset })\n    }\n  }\n\n  handleTouchEnd = (e) => {\n    if (isIOS) {\n      let end = window.pageYOffset\n      let distance = end - this.state.scrollStart\n      if (distance === 0) {\n        // only if you havent scrolled\n        e.target.focus()\n      }\n      this.setState({ scrollStart: 0 })\n    }\n  }\n\n  handleMouseLeave = (e) => {\n    this.setState({ overInput: false })\n    if (isIOS) {\n      e.target.blur() // force blur on mouse leave on iOS, which triggers when clicking outside the input field\n    }\n  }\n\n  handleInputClick = (e) => {\n    e.target.focus() // force focus for iOS\n  }\n\n  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  render() {\n    let heroStyle = {}\n    let renderHeroImage = false\n    if (isMobile && this.props.backgroundImageMobile) {\n      heroStyle = { backgroundImage: `url(${this.props.backgroundImageMobile})` }\n      renderHeroImage = true\n    } else if (this.props.backgroundImage) {\n      heroStyle = { backgroundImage: `url(${this.props.backgroundImage})` }\n      renderHeroImage = true\n    }\n    const { renderWaitingTime } = this.state\n    let t2WaitingTime, t3WaitingTime\n    if (renderWaitingTime) {\n      t2WaitingTime = this.getWaitingTimeString(this.props.terminalTwoWaitingLabel || \"Terminal 2 ({time})\", this.state.t2WaitingTime)\n      t3WaitingTime = this.getWaitingTimeString(this.props.terminalThreeWaitingLabel || \"Terminal 3 ({time})\", this.state.t3WaitingTime)\n    }\n\n    const topPadding = SelectionFactoryHelper.getFromSelectionFactory(this.props.topPadding)\n    const bottomPadding = SelectionFactoryHelper.getFromSelectionFactory(this.props.bottomPadding)\n    const bottomMargin = SelectionFactoryHelper.getFromSelectionFactory(this.props.bottomMargin)\n\n    return (\n      <>\n        {renderHeroImage ? (\n          <img\n            style={{ display: \"none\" }}\n            loading=\"eager\"\n            fetchPriority=\"high\"\n            src={isMobile ? this.props.backgroundImageMobile : this.props.backgroundImage}\n          ></img>\n        ) : (\n          \"\"\n        )}\n        <section\n          className={`deck deck--front ${topPadding ? topPadding : \"\"} ${bottomPadding ? bottomPadding : \"\"} ${bottomMargin ? bottomMargin : \"\"}`}\n          style={heroStyle}\n        >\n          <header className=\"section-header section-header-search\">\n            <div className=\"section-header__inner\">\n              <div className=\"infohead__white\">{this.props.title}</div>\n              <h1>{ReactHtmlParser(this.props.heading)}</h1>\n              <div className=\"form\">\n                <div className=\"form__section form__section--light form__section--fat\">\n                  <div className={`form__section__inner ${isMobile && this.state.showOverlay ? \"is-active\" : \"\"}`}>\n                    <OutsideClickTrigger onOutsideClick={() => (isMobile ? undefined : this.handleOutsideClick())}>\n                      <React.Fragment>\n                        <div className=\"form__field form__field--text form__field--text-search form__field--text--no-label is-bound is-filled\">\n                          <span className=\"form__valid\"></span>\n                          <input\n                            className=\"form__item\"\n                            id=\"flight-search-hero-input\"\n                            autoComplete=\"off\"\n                            autoCapitalize=\"none\"\n                            name=\"q\"\n                            type=\"text\"\n                            placeholder={this.props.searchBoxPlaceholder}\n                            value={this.state.q}\n                            onChange={(e) => this.handleInput(e)}\n                            onMouseEnter={() => this.setState({ overInput: true })}\n                            onMouseLeave={(e) => this.handleMouseLeave(e)}\n                            onFocus={() => this.handleInputFocus()}\n                            onClick={(e) => this.handleInputClick(e)}\n                            onTouchStart={() => this.handleTouchStart()}\n                            onTouchEnd={(e) => this.handleTouchEnd(e)}\n                          />\n                          {!isMobile ? (\n                            <button\n                              tabIndex={-1}\n                              className={`search-button ${this.state.showOverlay ? \"active\" : \"\"}`}\n                              onClick={this.state.showOverlay ? this.handleCloseOverlay : undefined}\n                            >\n                              <div className={`search-icon`}></div>\n                            </button>\n                          ) : (\n                            \"\"\n                          )}\n                          {isMobile && this.state.showOverlay ? (\n                            <button onClick={this.handleCloseOverlay}>\n                              <Svg iconName={\"close\"} fillColor={\"#071143\"} />\n                            </button>\n                          ) : (\n                            \"\"\n                          )}\n                        </div>\n                        <SearchOverlay\n                          {...this.props}\n                          {...this.state}\n                          handleDirectionChange={this.handleDirectionChange}\n                          handleDateChange={this.handleDateChange}\n                          locale={this.props.locale === \"da\" ? da : enGB}\n                          handleDatepicker={this.handleDatepicker}\n                          closeDatepicker={this.closeDatepicker}\n                          showTime={isMobile ? false : true}\n                        />\n                      </React.Fragment>\n                    </OutsideClickTrigger>\n                  </div>\n                </div>\n              </div>\n              {renderWaitingTime ? (\n                <div className=\"secwait\">\n                  <div className=\"headline\">{this.props.waitingTimeAtSecurity || \"Ventetid i security\"}</div>\n                  {t2WaitingTime}&nbsp;&nbsp;&nbsp;{t3WaitingTime}\n                </div>\n              ) : (\n                \"\"\n              )}\n            </div>\n            <div className={\"button-container\"}>\n              {this.props.arrivalsButtonLabel && this.props.arrivalsPage ? (\n                <a href={this.props.arrivalsPage}>\n                  <div className=\"button button--medium has-icon no-shadow\">\n                    <Svg iconName={\"planetakeoff\"} fillColor={\"#064FC2\"} />\n                    <span className=\"text\">{this.props.arrivalsButtonLabel}</span>\n                  </div>\n                </a>\n              ) : (\n                \"\"\n              )}\n              {this.props.departuresButtonLabel && this.props.departuresPage ? (\n                <a href={this.props.departuresPage}>\n                  <div className=\"button button--medium has-icon no-shadow\">\n                    <Svg iconName={\"planetakeoff\"} fillColor={\"#064FC2\"} />\n                    <span className=\"text\">{this.props.departuresButtonLabel}</span>\n                  </div>\n                </a>\n              ) : (\n                \"\"\n              )}\n            </div>\n          </header>\n        </section>\n      </>\n    )\n  }\n}\n","import React from \"react\"\nimport ReactDOM from \"react-dom\"\nimport FlightSearchHero from \"./flight-search-hero-component\"\n\nexport default class FlightSearchHeroModule {\n  constructor(elem) {\n    const self = this\n    self.elem = elem\n    self.modelJson = elem.dataset.modelJson && JSON.parse(elem.dataset.modelJson)\n    self.coordinates = elem.dataset.coordinates && JSON.parse(elem.dataset.coordinates)\n    self.locale = (document.body && document.body.dataset.language) || \"da\"\n    self.hosts = document.body && document.body.dataset.hosts && JSON.parse(document.body.dataset.hosts)\n    self.tabIcons = elem.dataset.tabIcons && JSON.parse(elem.dataset.tabIcons)\n    self.init()\n    return self\n  }\n\n  init() {\n    const self = this\n    ReactDOM.unmountComponentAtNode(self.elem)\n    ReactDOM.render(\n      <FlightSearchHero\n        {...self.modelJson}\n        {...self.tabIcons}\n        locale={self.locale}\n        coordinates={self.coordinates}\n        hosts={self.hosts}\n        ipAddress={self.elem.dataset.ipAddress}\n      />,\n      self.elem,\n    )\n  }\n}\n","import React, { Component, forwardRef } from \"react\"\nimport DatePicker from \"react-datepicker\"\nimport Svg from \"../_svgs/svg\"\nimport { isMobile } from \"react-device-detect\"\n\nexport default class SearchOverlay extends Component {\n  constructor(props) {\n    super(props)\n\n    this.calendar = React.createRef()\n  }\n\n  componentDidMount() {\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  handleDatepicker = () => {\n    const openState = this.calendar.state.open\n    this.calendar.setOpen(!openState)\n    this.props.handleDatepicker()\n  }\n\n  handleOutsideClick = () => {\n    this.calendar.setOpen(false)\n    this.props.closeDatepicker()\n  }\n\n  render() {\n    const CustomInput = forwardRef(({ value }, ref) => (\n      <div className={\"react-datepicker-ignore-onclickoutside\"} onClick={this.handleDatepicker} ref={ref}>\n        {value}\n      </div>\n    ))\n    CustomInput.displayName = \"CustomInput\"\n\n    const shortDateOptions = {\n      month: \"short\",\n      day: \"2-digit\",\n    }\n\n    const shortSearchDate = new Date(this.props.searchDate).toLocaleDateString(this.props.locale.code, shortDateOptions)\n    const noResultsLabel =\n      this.props.noResultsLabel?.replace(\"{input}\", this.props.q).replace(\"{date}\", shortSearchDate) ??\n      `Ingen resultater matchede din søgning på \"${this.props.q}\"`\n    const renderSearchResults = this.props.q && this.props.q.length >= (this.props.minCharsBeforeSearch ?? 2)\n    const isOpen = this.props.q && this.props.q.length > 0\n\n    const formattedDate = this.props.searchDate.toFormat(\"dd / MM / yyyy\")\n    const formattedTime = this.props.searchDate.toFormat(\"HH\")\n\n    const departuresTabIconColor = this.props.direction === \"D\" ? \"#064FC2\" : \"#071143\"\n    const departuresTabIcon = (\n      <Svg\n        iconName={this.props.departuresTabIcon ? this.props.departuresTabIcon : \"planetakeoff\"}\n        fillColor={\"none\"}\n        stroke={departuresTabIconColor}\n      />\n    )\n    const arrivalsTabIconColor = this.props.direction === \"A\" ? \"#064FC2\" : \"#071143\"\n    const arrivalsTabIcon = (\n      <Svg iconName={this.props.arrivalsTabIcon ? this.props.arrivalsTabIcon : \"planelanding\"} fillColor={\"none\"} stroke={arrivalsTabIconColor} />\n    )\n\n    return (\n      <div className=\"form__section__inner\">\n        <div\n          className={`search-overlay ${!isMobile && isOpen && !renderSearchResults ? \"is-open\" : \"\"} ${\n            !isMobile && renderSearchResults ? \"has-results\" : !isMobile && !renderSearchResults ? \"is-closed\" : \"\"\n          } ${this.props.showOverlay ? \"\" : \"hide-overlay\"} ${isMobile && this.props.showOverlay ? \"mobile-open\" : \"\"}`}\n        >\n          {!isMobile && this.props.q.length < (this.props.minCharsBeforeSearch ?? 2) ? (\n            <div className=\"form__section__inner\">\n              <div className=\"search-results helper-text\">\n                <div className=\"flights__table stylish-table\">\n                  <div className=\"stylish-table__row stylish-table__row--body\">\n                    <p>\n                      {this.props.searchHelperText ||\n                        `Du skal minimum skrive ${this.props.minCharsBeforeSearch ?? 2} karakterer for at få resultater.`}\n                    </p>\n                  </div>\n                </div>\n              </div>\n            </div>\n          ) : (\n            <React.Fragment>\n              <div className={`tabs ${isOpen && !renderSearchResults ? \"is-round\" : \"\"} `}>\n                <a\n                  className={`button button--medium has-icon no-shadow ${this.props.direction === \"D\" ? \"is-active\" : \"\"}`}\n                  tabIndex=\"1\"\n                  onClick={() => this.props.handleDirectionChange(\"D\")}\n                  onTouchStart={() => this.props.handleDirectionChange(\"D\")}\n                >\n                  {departuresTabIcon}\n                  <span className=\"text\">{this.props.departuresTabLabel || \"Afgange\"}</span>\n                </a>\n                <a\n                  className={`button button--medium has-icon no-shadow ${this.props.direction === \"A\" ? \"is-active\" : \"\"}`}\n                  tabIndex=\"2\"\n                  onClick={() => this.props.handleDirectionChange(\"A\")}\n                  onTouchStart={() => this.props.handleDirectionChange(\"A\")}\n                >\n                  {arrivalsTabIcon}\n                  <span className=\"text\">{this.props.arrivalsTabLabel || \"Ankomster\"}</span>\n                </a>\n                <div className={`dateselect ${this.props.datepickerOpen ? \"datepicker-open\" : \"\"} ${!isMobile ? \"is-desktop\" : \"\"}`}>\n                  <DatePicker\n                    ref={(r) => (this.calendar = r)}\n                    selected={this.props.searchDate.toJSDate()}\n                    onChange={(date) => this.props.handleDateChange(date)}\n                    showTimeSelect={this.props.showTime || false}\n                    dateFormat=\"dd. MMM yyyy\"\n                    minDate={this.props.minDate.toJSDate()}\n                    minTime={this.props.minTime.toJSDate()}\n                    maxTime={this.props.maxTime.toJSDate()}\n                    locale={this.props.locale}\n                    customInput={<CustomInput calendar={this.calendar} />}\n                    timeCaption={this.props.timeLabel || \"Tidspunkt\"}\n                    timeIntervals={60}\n                    onClickOutside={this.handleOutsideClick}\n                    onCalendarClose={this.props.closeDatepicker}\n                  />\n                </div>\n                <div className=\"clear\"></div>\n              </div>\n              {(isMobile && renderSearchResults) || !isMobile ? (\n                <div\n                  className={`search-results ${isMobile && this.props.datepickerOpen ? \"datepicker-open\" : \"\"} ${\n                    isMobile && this.props.showOverlay ? \"make-sticky\" : \"\"\n                  }`}\n                >\n                  <div className=\"flights__table stylish-table\">\n                    {this.props.flights && this.props.flights.length > 0 ? (\n                      this.props.flights.map((flight, index) => {\n                        const currentUrl = this.props.direction === \"D\" ? this.props.departuresPage : this.props.arrivalsPage\n                        if (\n                          (isMobile && index < (this.props.numberOfFlightsMobile || 10)) ||\n                          (!isMobile && index < (this.props.numberOfFlights || 5))\n                        ) {\n                          const innerFlight = (\n                            <>\n                              <div className=\"stylish-table__cell flights__table__col--time\">\n                                <div>\n                                  {flight.Delayed ? (\n                                    <React.Fragment>\n                                      <span className=\"t--strike\">{`${flight.Time}`}</span>\n                                      <span>\n                                        <em>{`${flight.ExpectedTime}`}</em>\n                                      </span>\n                                    </React.Fragment>\n                                  ) : (\n                                    <span>\n                                      <em>{`${flight.Time}`}</em>\n                                    </span>\n                                  )}\n                                </div>\n                              </div>\n                              <div className=\"stylish-table__cell flights__table__col--destination\">\n                                <div>\n                                  <span className=\"v--desktop-only\">\n                                    <strong>\n                                      <span>{flight.Destination}</span>\n                                    </strong>\n                                  </span>\n                                  <span className=\"v--mobile-only\">\n                                    <strong>{flight.Destination}</strong> ({flight.IataDestination})\n                                  </span>\n                                  <span className=\"v--mobile-only\">{flight.AirlineMobile ? flight.AirlineMobile : flight.Airline}</span>\n                                </div>\n                              </div>\n                              <div className=\"stylish-table__cell flights__table__col--iataDestination v--desktop-only\">\n                                <div>\n                                  <span>{flight.IataDestination}</span>\n                                </div>\n                              </div>\n                              <div className=\"stylish-table__cell flights__table__col--carrier v--desktop-only\">\n                                <div>\n                                  <span>\n                                    <span>{flight.Airline}</span>\n                                  </span>\n                                </div>\n                              </div>\n                              <div className=\"stylish-table__cell flights__table__col--gate\">\n                                <div>\n                                  <span>{flight.Iata}</span>\n                                </div>\n                              </div>\n                            </>\n                          )\n                          if (this.props.flightClickHandler) {\n                            return (\n                              <a\n                                key={index}\n                                className=\"stylish-table__row stylish-table__row--body pointer\"\n                                onClick={(e) => this.props.flightClickHandler(e, flight)}\n                              >\n                                {innerFlight}\n                              </a>\n                            )\n                          } else {\n                            return (\n                              <a\n                                key={index}\n                                className=\"stylish-table__row stylish-table__row--body pointer\"\n                                href={`${currentUrl}/${flight.Iata}?id=${flight.FlightId}`}\n                              >\n                                {innerFlight}\n                              </a>\n                            )\n                          }\n                        }\n                        return\n                      })\n                    ) : (\n                      <div className=\"stylish-table__row stylish-table__row--body no-results\">{noResultsLabel}</div>\n                    )}\n                  </div>\n                  {this.props.flights && this.props.flights.length > 0 ? (\n                    <div className=\"see-more-link\">\n                      {(this.props.direction === \"D\" && this.props.seeMoreFlightsDepartures) ||\n                      (this.props.direction === \"A\" && this.props.seeMoreFlightsArrivals) ? (\n                        <a\n                          href={`${this.props.direction === \"D\" ? this.props.departuresPage : this.props.arrivalsPage}?q=${\n                            this.props.q\n                          }&date=${formattedDate}&time=${formattedTime}`}\n                        >\n                          <Svg iconName={\"arrowright-slim\"} fillColor={\"none\"} />\n                          {this.props.direction === \"D\"\n                            ? this.props.seeMoreFlightsDepartures.replace(\"{input}\", this.props.q)\n                            : this.props.seeMoreFlightsArrivals.replace(\"{input}\", this.props.q)}\n                        </a>\n                      ) : (\n                        \"\"\n                      )}\n                    </div>\n                  ) : (\n                    \"\"\n                  )}\n                  {this.props.airports && this.props.airports.length > 0 ? (\n                    <div className={\"all-flights\"}>\n                      <h3>{this.props.direction === \"D\" ? this.props.allFlightsTo : this.props.allFlightsFrom}</h3>\n                      {this.props.airports.map((airport, index) => {\n                        if (index >= this.props.allFlightsLimit) return\n                        return (\n                          <a\n                            href={`${this.props.direction === \"D\" ? this.props.departuresPage : this.props.arrivalsPage}?q=${\n                              airport.Iata\n                            }&date=${formattedDate}&time=${formattedTime}`}\n                            key={airport.Iata + index}\n                          >{`${airport.Name} (${airport.Iata})`}</a>\n                        )\n                      })}\n                    </div>\n                  ) : (\n                    \"\"\n                  )}\n                  {this.props.airlines && this.props.airlines.length > 0 ? (\n                    <div className={\"all-flights\"}>\n                      <h3>{this.props.allFlightsWithCarrier}</h3>\n                      {this.props.airlines.map((airline, index) => {\n                        if (index >= this.props.carriersLimit) return\n                        return (\n                          <a\n                            href={`${this.props.direction === \"D\" ? this.props.departuresPage : this.props.arrivalsPage}?q=${\n                              airline.iata\n                            }&date=${formattedDate}&time=${formattedTime}`}\n                            key={airline.iata + index}\n                          >{`${isMobile && airline.nameMobile ? airline.nameMobile : airline.name} (${airline.iata})`}</a>\n                        )\n                      })}\n                    </div>\n                  ) : (\n                    \"\"\n                  )}\n                </div>\n              ) : (\n                \"\"\n              )}\n            </React.Fragment>\n          )}\n        </div>\n      </div>\n    )\n  }\n}\n"],"names":["FlightSearchHero","_Component","props","_this","_classCallCheck","_callSuper","search","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_this$props$minCharsB","dt","cphTime","start","end","flightsData","returns","flights","airports","airlines","wrap","_context","prev","next","state","q","length","minCharsBeforeSearch","searchDate","setZone","keepLocalTime","toUTC","endOf","direction","query","startDateTime","endDateTime","language","locale","Promise","all","getFlights","getAirports","then","responses","map","response","data","catch","err","console","log","sent","getAirlines","setState","stop","endpoints","res","Array","from","Set","f","IataAirline","iata","name","find","Airline","nameMobile","AirlineMobile","handleInput","event","arguments","undefined","_defineProperty","target","value","isMobile","showOverlay","window","scrollTo","setZIndexOfNotificationBanner","siteHeader","document","getElementsByClassName","style","display","body","classList","add","handleCloseOverlay","handleDirectionChange","startDate","siteHeaderWrapper","height","clientHeight","remove","handleDateChange","dateInput","prevState","dateTime","DateTime","fromJSDate","startOfPrevDate","startOf","startOfMinDate","minDate","startOfNewDate","toMillis","time","toFormat","prevTime","minTime","set","hours","minutes","seconds","milliseconds","top","behavior","otherDaysMinTime","handleDatepicker","datepickerOpen","closeDatepicker","getLocation","navigator","geolocation","getCurrentPosition","checkLocation","position","coords","polygon","createPolygon","coordinates","pointInPolygon","latitude","longitude","renderWaitingTime","getWaitingTime","forEach","push","hosts","dataset","JSON","parse","axios","endpoint","result","status","t2WaitingTime","t2WaitingTimeInterval","t3WaitingTime","t3WaitingTimeInterval","error","getWaitingTimeString","text","input","newText","replace","regex","RegExp","reactStringReplace","match","i","_jsxs","children","handleOutsideClick","overInput","handleInputFocus","handleTouchStart","isIOS","scrollStart","pageYOffset","handleTouchEnd","e","focus","handleMouseLeave","blur","handleInputClick","zindex","notificationBanner","querySelector","notificationVersion","cookieHelper","zIndex","dtLocale","dateHelper","local","setLocale","minus","days","maxTime","scrollDistance","_inherits","_createClass","key","_this2","this","addEventListeners","alwaysShowWaitingTimes","setInterval","ipAddress","ipRange","ipRangeCheck","getIPRange","_this3","addEventListener","screenWidth","screen","width","flightId","getElementById","flightIsFocused","activeElement","location","href","concat","departuresPage","arrivalsPage","_this4","heroStyle","renderHeroImage","backgroundImageMobile","backgroundImage","terminalTwoWaitingLabel","terminalThreeWaitingLabel","topPadding","SelectionFactoryHelper","bottomPadding","bottomMargin","_Fragment","_jsx","loading","fetchPriority","src","className","title","ReactHtmlParser","heading","OutsideClickTrigger","onOutsideClick","React","id","autoComplete","autoCapitalize","type","placeholder","searchBoxPlaceholder","onChange","onMouseEnter","onMouseLeave","onFocus","onClick","onTouchStart","onTouchEnd","tabIndex","Svg","iconName","fillColor","SearchOverlay","_objectSpread","da","enGB","showTime","waitingTimeAtSecurity","arrivalsButtonLabel","departuresButtonLabel","Component","FlightSearchHeroModule","elem","self","modelJson","tabIcons","init","ReactDOM","openState","calendar","open","setOpen","vh","innerHeight","documentElement","setProperty","_this$props$noResults","_this$props$noResults2","_this$props$minCharsB2","_this$props$minCharsB3","CustomInput","forwardRef","_ref","ref","displayName","shortSearchDate","Date","toLocaleDateString","code","month","day","noResultsLabel","renderSearchResults","isOpen","formattedDate","formattedTime","departuresTabIconColor","departuresTabIcon","stroke","arrivalsTabIconColor","arrivalsTabIcon","searchHelperText","departuresTabLabel","arrivalsTabLabel","DatePicker","r","selected","toJSDate","date","showTimeSelect","dateFormat","customInput","timeCaption","timeLabel","timeIntervals","onClickOutside","onCalendarClose","flight","index","currentUrl","numberOfFlightsMobile","numberOfFlights","innerFlight","Delayed","Time","ExpectedTime","Destination","IataDestination","Iata","flightClickHandler","FlightId","seeMoreFlightsDepartures","seeMoreFlightsArrivals","allFlightsTo","allFlightsFrom","airport","allFlightsLimit","Name","allFlightsWithCarrier","airline","carriersLimit"],"sourceRoot":""}