{"version":3,"file":"static/js/5393.8696b7af.chunk.js","mappings":"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","sources":["helpers/mopinionHelpers.js","shared/allowed-items-list/allowed-items-list-component.jsx","shared/allowed-items-list/allowed-items-list-module.js","../node_modules/smoothscroll-polyfill/dist/smoothscroll.js"],"sourcesContent":["export function handleMopinion(id) {\n  // Select all scripts with the given src attribute\n  var existingScripts = document.querySelectorAll('script[src=\"//deploy.mopinion.com/js/pastease.js\"]')\n\n  // Remove all selected scripts\n  existingScripts.forEach((script) => {\n    script.remove()\n  })\n\n  var js = document.createElement(\"script\")\n  js.setAttribute(\"type\", \"text/javascript\")\n  js.setAttribute(\"src\", \"//deploy.mopinion.com/js/pastease.js\")\n  js.async = true\n\n  js.addEventListener(\"load\", function () {\n    var t = setInterval(function () {\n      if (window.Pastease) {\n        try {\n          window.Pastease.load(id)\n          clearInterval(t)\n        } catch (e) {\n          console.error(\"Error loading Mopinion\", e)\n        }\n      }\n    }, 50)\n  })\n\n  document.getElementsByTagName(\"head\")[0].appendChild(js)\n}\n","import React, { Component, useCallback, useRef } from \"react\"\nimport Svg from \"../_svgs/svg\"\nimport { isMobile } from \"react-device-detect\"\nimport smoothscroll from \"smoothscroll-polyfill\"\nimport { htmlStringToReactElement } from \"../../helpers/html\"\nimport { handleMopinion } from \"../../helpers/mopinionHelpers\"\n\nexport default class AllowedItemsList extends Component {\n  constructor(props) {\n    super(props)\n\n    const hash = decodeURIComponent(window.location.hash?.replace(\"#\", \"\"))\n    const searchResult = this.searchForHash(hash, props)\n\n    smoothscroll.polyfill()\n\n    this.state = {\n      allItems: props.items,\n      popularItems: props.popularItems,\n      remainingItems: props.remainingItems,\n      items: props.remainingItems,\n      query: \"\",\n      itemsShown: searchResult.itemsShown,\n      shownItems: searchResult.shownItems,\n      initialAmount: searchResult.numberOfItems,\n      hash: hash || \"\",\n      activateAutoScroll: false,\n    }\n  }\n\n  componentDidMount() {\n    document.addEventListener(\"click\", (event) => {\n      var target = event.target\n      if (target.tagName.toLowerCase() === \"a\") {\n        var href = target.getAttribute(\"href\")\n        var link = new URL(href, window.location.href)\n        if (link.hash && link.pathname === window.location.pathname && link.origin === window.location.origin) {\n          event.preventDefault()\n          const hash = decodeURIComponent(link.hash.replace(\"#\", \"\"))\n          window.location.hash = hash\n          const searchResult = this.searchForHash(hash, this.props, true)\n          this.setState({\n            hash: hash || \"\",\n            itemsShown: searchResult.itemsShown,\n            shownItems: searchResult.shownItems,\n            initialAmount: searchResult.numberOfItems,\n          })\n        }\n      }\n    })\n    handleMopinion(this.props.mopinionId)\n  }\n\n  componentDidUpdate() {\n    handleMopinion(this.props.mopinionId)\n  }\n\n  searchForHash = (hash, props, update = false) => {\n    const { textKeys } = props\n    let numberOfItems = update ? this.state.itemsShown : isMobile ? textKeys.numberOfItemsMobile : textKeys.numberOfItems\n    let shownItems = props.remainingItems?.slice(0, numberOfItems) || []\n    if (hash) {\n      const popularItemsIndex = this.findIndexWithProperty(props.popularItems, \"anchorId\", hash)\n      if (popularItemsIndex < 0) {\n        // look in remaining items if hash is not found in popular items\n        const index = this.findIndexWithProperty(props.remainingItems, \"anchorId\", hash)\n        if (index > -1 && index > numberOfItems) {\n          numberOfItems = index + 5\n          shownItems = props.remainingItems?.slice(0, numberOfItems) || []\n        }\n      }\n    }\n    return { hash: hash || \"\", itemsShown: numberOfItems, shownItems: shownItems, numberOfItems: numberOfItems }\n  }\n\n  findIndexWithProperty = (array, propName, propValue) => {\n    for (var i = 0; i < array.length; i++) {\n      if (array[i][propName] === propValue) {\n        return i\n      }\n    }\n    return -1\n  }\n\n  handleInput = (event) => {\n    const name = event.target.name\n    const value = event.target.value\n    this.setState({ [name]: value })\n    this.search(value)\n  }\n\n  search = async (query) => {\n    const { textKeys } = this.props\n\n    // reset to zero state\n    if (query.length < 2) {\n      const numberOfItems = isMobile ? textKeys.numberOfItemsMobile : textKeys.numberOfItems\n      const shownItems = this.props.remainingItems.slice(0, numberOfItems)\n      this.setState({ items: this.props.remainingItems, shownItems: shownItems, itemsShown: numberOfItems })\n      return\n    }\n\n    let items = this.props.items.filter((item) => {\n      let matches = []\n      if (item.title) matches.push(this.isMatch(item.title, query))\n      if (item.info) matches.push(this.isMatch(item.info, query))\n      if (item.category) matches.push(this.isMatch(item.category, query))\n      return matches.includes(true)\n    })\n\n    const numberOfItems = isMobile ? textKeys.numberOfItemsMobile : textKeys.numberOfItems\n    const shownItems = items.slice(0, numberOfItems)\n    this.setState({ items: items, shownItems: shownItems, itemsShown: numberOfItems })\n  }\n\n  isMatch = (text, query) => {\n    const decodedText = this.decodeAndRemoveHtml(text)\n    let isMatch = false\n    const splitQuery = query.split(\" \").filter(Boolean)\n    if (splitQuery.length > 1) {\n      for (var i = 0; i < splitQuery.length; i++) {\n        const part = splitQuery[i]\n        if (part.length < 2) continue\n        isMatch = this.matchString(decodedText, part)\n        if (isMatch) return isMatch\n      }\n    } else {\n      isMatch = this.matchString(decodedText, query)\n    }\n    return isMatch\n  }\n\n  matchString = (text, query) => {\n    return text.toLowerCase().trim().indexOf(query.toLowerCase().trim()) > -1 ? true : false\n  }\n\n  decodeAndRemoveHtml(html) {\n    var txt = document.createElement(\"textarea\")\n    txt.innerHTML = html\n    return txt.value.replace(/<\\/?[^>]+(>|$)/g, \"\")\n  }\n\n  handleMoreClick = (increase) => {\n    const items = this.state.items ?? []\n    const newAmount = this.state.itemsShown + increase\n    const shownItems = items.slice(0, newAmount)\n    this.setState({ itemsShown: newAmount, shownItems: shownItems, activateAutoScroll: true }, () => {\n      var elements = document.getElementsByClassName(\"next-items-wrapper\")\n      if (elements.length > 0) {\n        const element = elements[0]\n        element.classList.remove(\"open\")\n        element.classList.add(\"opening\")\n        setTimeout(function () {\n          element.classList.remove(\"opening\")\n          element.classList.add(\"open\")\n        }, 500)\n      }\n    })\n  }\n\n  handleHideClick = () => {\n    const { textKeys } = this.props\n    const items = this.state.items ?? []\n    const numberOfItems = isMobile ? textKeys.numberOfItemsMobile : textKeys.numberOfItems\n    const shownItems = items.slice(0, numberOfItems)\n    this.setState({ itemsShown: numberOfItems, shownItems: shownItems, activateAutoScroll: false }, () => {\n      const searchField = document.getElementById(\"items-search-field\")\n      if (searchField) {\n        this.scrollIntoView(searchField)\n      }\n    })\n  }\n\n  scrollIntoView = (element) => {\n    const siteHeader = document.getElementsByClassName(\"site-header\")[0]\n    const headerOffset = siteHeader.clientHeight + 20\n    const elementPosition = element.getBoundingClientRect().top\n    const offsetPosition = elementPosition + window.pageYOffset - headerOffset\n\n    window.scrollTo({\n      top: offsetPosition,\n      // behavior: \"smooth\"\n    })\n  }\n\n  setToState = (data) => {\n    this.setState(data)\n  }\n\n  render() {\n    const { textKeys } = this.props\n    return (\n      <div className={`allowed-items-list ${this.props.descriptionIcons && this.props.descriptionIcons.length > 0 ? \"has-description-icons\" : \"\"}`}>\n        <div className=\"items-list-inner\">\n          {this.props.descriptionIcons && this.props.descriptionIcons.length > 0 ? (\n            <div className={`icon-descriptions ${textKeys.disclaimerText ? \"no-bottom-padding\" : \"\"}`}>\n              <div className=\"icon-descriptions-inner\">\n                {this.props.descriptionIcons.map((item, index) => {\n                  return (\n                    <div className=\"item\" key={index}>\n                      <Svg iconName={item.icon} fillColor={item.iconColor} />\n                      <span className=\"text\">{item.text}</span>\n                    </div>\n                  )\n                })}\n              </div>\n            </div>\n          ) : (\n            \"\"\n          )}\n          {textKeys.disclaimerText ? <div className=\"disclaimer-box\" dangerouslySetInnerHTML={{ __html: textKeys.disclaimerText }}></div> : \"\"}\n        </div>\n        <div className=\"items-list-wrapper\">\n          <div className=\"items-list-inner\">\n            <div className=\"form\">\n              <div className=\"form__section\">\n                <div className=\"form__section__inner\">\n                  <div id=\"items-search-field\" className=\"form__field form__field--text form__field--text-search form__field--text--no-label\">\n                    <button>\n                      <Svg iconName=\"search\" />\n                    </button>\n                    <span className=\"form__valid\"></span>\n                    <input\n                      className=\"form__item\"\n                      name=\"query\"\n                      type=\"text\"\n                      placeholder={textKeys.searchFieldLabel || \"Søg på genstande\"}\n                      value={this.state.query}\n                      onChange={(e) => this.handleInput(e)}\n                      autoComplete=\"off\"\n                    />\n                  </div>\n                </div>\n              </div>\n            </div>\n          </div>\n          {this.state.query.length < 2 && this.state.popularItems && this.state.popularItems.length > 0 ? (\n            <div className=\"most-popular-items\">\n              <div className=\"items-list-inner\">\n                <h2 className=\"items-headline\">{textKeys.mostPopularHeadline || \"Mest Populære\"}</h2>\n                {this.state.popularItems.map((item, index) => {\n                  return (\n                    <Item\n                      key={item.info + index}\n                      item={item}\n                      checkinLabel={textKeys.checkinLabel || \"Indtjekket\"}\n                      handLuggageLabel={textKeys.handLuggageLabel || \"Håndbagage\"}\n                      scrollIntoView={this.scrollIntoView}\n                      setToState={this.setToState}\n                      hash={this.state.hash}\n                      mopinionScript={textKeys.mopinionScript || null}\n                    />\n                  )\n                })}\n              </div>\n            </div>\n          ) : (\n            \"\"\n          )}\n          <div id=\"allowed-items\" className=\"items-list-inner padding-bottom\">\n            {this.state.items && this.state.items.length > 0 ? (\n              <React.Fragment>\n                <h2 className=\"items-headline\">{textKeys.alphabeticalHeadline || \"Fra A-Z\"}</h2>\n                <Items\n                  items={this.state.shownItems}\n                  allItems={this.state.items}\n                  increaseAmount={isMobile ? textKeys.numberOfItemsIncrementMobile : textKeys.numberOfItemsIncrement}\n                  initialAmount={this.state.initialAmount}\n                  amountShown={this.state.itemsShown}\n                  checkinLabel={textKeys.checkinLabel || \"Indtjekket\"}\n                  handLuggageLabel={textKeys.handLuggageLabel || \"Håndbagage\"}\n                  scrollIntoView={this.scrollIntoView}\n                  setToState={this.setToState}\n                  hash={this.state.hash}\n                  activateAutoScroll={this.state.activateAutoScroll}\n                  handleMoreClick={this.handleMoreClick}\n                  mopinionScript={this.props.mopinionScript || null}\n                  isMobile={isMobile}\n                  numberOfItemsIncrementMobile={textKeys.numberOfItemsIncrementMobile}\n                  numberOfItemsIncrement={textKeys.numberOfItemsIncrement}\n                />\n                <div className={`buttoncontainer ${this.state.items && this.state.items.length > textKeys.numberOfItems ? \"has-button\" : \"\"}`}>\n                  {this.state.items && this.state.items.length > textKeys.numberOfItems ? (\n                    <a\n                      className=\"button button--expander\"\n                      onClick={() =>\n                        this.state.itemsShown >= this.state.items.length\n                          ? this.handleHideClick()\n                          : this.handleMoreClick(isMobile ? textKeys.numberOfItemsIncrementMobile : textKeys.numberOfItemsIncrement)\n                      }\n                    >\n                      <span className=\"text\">\n                        {this.state.itemsShown >= this.state.items.length\n                          ? textKeys.showLessItemsText || \"Vis færre\"\n                          : textKeys.showMoreItemsText || \"Vis flere\"}\n                      </span>\n                    </a>\n                  ) : (\n                    \"\"\n                  )}\n                </div>\n              </React.Fragment>\n            ) : (\n              <div className=\"allowed-item-list__no-results\">\n                <div className=\"section-header section-header--small\">\n                  <p>{textKeys.noResultsText.replace(\"{input}\", this.state.query)}</p>\n                  <div>\n                    <h2>{textKeys.noResultsHeader}</h2>\n                    <p>{textKeys.noResultsSubHeader}</p>\n                  </div>\n                </div>\n              </div>\n            )}\n          </div>\n        </div>\n      </div>\n    )\n  }\n}\n\n//rewrote component to functional to make use of useCallback and useRef hooks.\nconst Items = ({\n  allItems,\n  hash,\n  mopinionScript,\n  handLuggageLabel,\n  checkinLabel,\n  scrollIntoView,\n  setToState,\n  amountShown,\n  activateAutoScroll,\n  increaseAmount,\n  initialAmount,\n  handleMoreClick,\n  isMobile,\n  numberOfItemsIncrementMobile,\n  numberOfItemsIncrement,\n  items,\n}) => {\n  const observer = useRef()\n  const lastItemElement = useCallback(\n    (node) => {\n      if (!node || allItems.length === 0) return\n      if (observer.current) observer.current.disconnect()\n      observer.current = new IntersectionObserver((entries) => {\n        if (entries[0].isIntersecting && activateAutoScroll && items.length !== allItems.length) {\n          handleMoreClick(isMobile ? numberOfItemsIncrementMobile : numberOfItemsIncrement)\n        }\n      })\n      observer.current.observe(node)\n    },\n    [amountShown, items, activateAutoScroll],\n  )\n\n  if (allItems && allItems.length > 0) {\n    const mappedItems = allItems.map((item, index) => {\n      const isLastItem = items.length === index + 1\n      return (\n        <Item\n          key={item.title + index}\n          item={item}\n          hash={hash}\n          mopinionScript={mopinionScript}\n          handLuggageLabel={handLuggageLabel}\n          checkinLabel={checkinLabel}\n          scrollIntoView={scrollIntoView}\n          setToState={setToState}\n          amountShown={amountShown}\n          itemNumber={index + 1}\n          refProp={isLastItem ? lastItemElement : null}\n        />\n      )\n    })\n\n    let oldItems = \"\"\n    let newItems = \"\"\n\n    let adjustedIncreaseAmount = increaseAmount\n    const sizeDiff = allItems.length - amountShown\n    if (sizeDiff < 0) {\n      adjustedIncreaseAmount = increaseAmount - Math.abs(sizeDiff)\n    }\n\n    const index = mappedItems.length - adjustedIncreaseAmount\n    oldItems = mappedItems.slice(0, index)\n    newItems = mappedItems.slice(index)\n\n    return (\n      <React.Fragment>\n        {oldItems}\n        <div className={mappedItems.length <= initialAmount ? \"\" : \"next-items-wrapper\"}>{newItems}</div>\n      </React.Fragment>\n    )\n  }\n  return null\n}\n\nclass Item extends Component {\n  handleAccordion = (event, classname, item) => {\n    let elem = event.currentTarget\n    this.showHideContent(elem, classname)\n  }\n\n  showHideContent = (elem, classname) => {\n    elem.__toggle = !elem.__toggle\n    let parent = elem.parentElement\n    let target = parent.querySelector(classname)\n    if (elem.__toggle) {\n      target.style.height = target.scrollHeight + \"px\"\n      parent.classList.add(\"is-active\")\n    } else {\n      target.style.height = 0 + \"px\"\n      parent.classList.remove(\"is-active\")\n    }\n  }\n\n  componentDidMount() {\n    const hash = this.props.hash\n    if (hash) {\n      this.handleHash(hash)\n    }\n  }\n\n  componentDidUpdate(prevProps, prevState) {\n    if (prevProps.hash !== this.props.hash) {\n      if (this.props.hash) {\n        this.handleHash(this.props.hash)\n      }\n    }\n  }\n\n  handleHash(hash) {\n    if (this.props.item.anchorId && hash === this.props.item.anchorId) {\n      // waits until paint is done\n      requestAnimationFrame(() => {\n        this.openAccordionFromAnchor()\n      })\n    }\n    if (this.props.setToState) {\n      this.props.setToState({ hash: \"\" })\n    }\n  }\n\n  openAccordionFromAnchor = () => {\n    const accordion = document.getElementById(this.props.item.anchorId)\n    const accordionTrigger = accordion.querySelector(\".itemtable\")\n    if (accordionTrigger) {\n      if (!accordionTrigger.classList.contains(\"is-active\")) this.showHideContent(accordionTrigger, \".contentWrapper\")\n\n      if (this.props.scrollIntoView) this.props.scrollIntoView(accordion)\n    }\n  }\n\n  handleTouchStart = (target) => {\n    let parent = target.parentElement\n    parent.classList.add(\"touched\")\n  }\n\n  handleTouchEnd = (target) => {\n    let parent = target.parentElement\n    parent.classList.remove(\"touched\")\n  }\n\n  render() {\n    const { item } = this.props\n    return (\n      <div\n        ref={this.props.refProp}\n        id={item.anchorId}\n        className={`item-list-item ${this.props.itemNumber > this.props.amountShown ? \"is-hidden\" : \"\"}${\" \" + this.props.itemNumber}`}\n      >\n        <div className={`button itemtable ${item.info ? \"\" : \"no-info\"}`}>\n          <div\n            className=\"iteminfo\"\n            onClick={item.info ? (e) => this.handleAccordion(e, \".contentWrapper\", item) : undefined}\n            onTouchStart={(e) => this.handleTouchStart(e.currentTarget)}\n            onTouchEnd={(e) => this.handleTouchEnd(e.currentTarget)}\n          >\n            <div className=\"title\" dangerouslySetInnerHTML={{ __html: item.title }}></div>\n            <div className=\"checkin\">\n              <Svg iconName={item.checkinLogo} fillColor={item.checkinLogoColor} />\n              <span>{this.props.checkinLabel}</span>\n            </div>\n            <div className=\"handLuggage\">\n              <Svg iconName={item.handLuggageLogo} fillColor={item.handLuggageLogoColor} />\n              <span>{this.props.handLuggageLabel}</span>\n            </div>\n          </div>\n          {item.info ? (\n            <div className=\"contentWrapper show-hide\">\n              <span className=\"info-text\" dangerouslySetInnerHTML={{ __html: item.info }}></span>\n              {this.props.mopinionScript ? htmlStringToReactElement(this.props.mopinionScript) : \"\"}\n            </div>\n          ) : (\n            \"\"\n          )}\n        </div>\n      </div>\n    )\n  }\n}\n","import React from \"react\"\nimport ReactDOM from \"react-dom\"\nimport AllowedItemsList from \"./allowed-items-list-component\"\n\nexport default class AllowedItemsListModule {\n  constructor(elem) {\n    const self = this\n    self.elem = elem\n    self.mopinionId = elem.dataset.mopinionId && elem.dataset.mopinionId\n    self.mopinionScript = elem.dataset.mopinionScript && elem.dataset.mopinionScript\n    self.items = elem.dataset.items && JSON.parse(elem.dataset.items)\n    self.popularItems = elem.dataset.popularItems && JSON.parse(elem.dataset.popularItems)\n    self.remainingItems = elem.dataset.remainingItems && JSON.parse(elem.dataset.remainingItems)\n    self.textKeys = elem.dataset.textKeys && JSON.parse(elem.dataset.textKeys)\n    self.descriptionIcons = elem.dataset.descriptionIcons && JSON.parse(elem.dataset.descriptionIcons)\n    this.init()\n    return self\n  }\n\n  init() {\n    const self = this\n    ReactDOM.unmountComponentAtNode(self.elem)\n    ReactDOM.render(\n      <AllowedItemsList\n        mopinionId={self.mopinionId}\n        mopinionScript={self.mopinionScript}\n        items={self.items}\n        popularItems={self.popularItems}\n        remainingItems={self.remainingItems}\n        textKeys={self.textKeys}\n        descriptionIcons={self.descriptionIcons}\n      />,\n      self.elem,\n    )\n  }\n}\n","/* smoothscroll v0.4.4 - 2019 - Dustan Kasten, Jeremias Menichelli - MIT License */\n(function () {\n  'use strict';\n\n  // polyfill\n  function polyfill() {\n    // aliases\n    var w = window;\n    var d = document;\n\n    // return if scroll behavior is supported and polyfill is not forced\n    if (\n      'scrollBehavior' in d.documentElement.style &&\n      w.__forceSmoothScrollPolyfill__ !== true\n    ) {\n      return;\n    }\n\n    // globals\n    var Element = w.HTMLElement || w.Element;\n    var SCROLL_TIME = 468;\n\n    // object gathering original scroll methods\n    var original = {\n      scroll: w.scroll || w.scrollTo,\n      scrollBy: w.scrollBy,\n      elementScroll: Element.prototype.scroll || scrollElement,\n      scrollIntoView: Element.prototype.scrollIntoView\n    };\n\n    // define timing method\n    var now =\n      w.performance && w.performance.now\n        ? w.performance.now.bind(w.performance)\n        : Date.now;\n\n    /**\n     * indicates if a the current browser is made by Microsoft\n     * @method isMicrosoftBrowser\n     * @param {String} userAgent\n     * @returns {Boolean}\n     */\n    function isMicrosoftBrowser(userAgent) {\n      var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\n\n      return new RegExp(userAgentPatterns.join('|')).test(userAgent);\n    }\n\n    /*\n     * IE has rounding bug rounding down clientHeight and clientWidth and\n     * rounding up scrollHeight and scrollWidth causing false positives\n     * on hasScrollableSpace\n     */\n    var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;\n\n    /**\n     * changes scroll position inside an element\n     * @method scrollElement\n     * @param {Number} x\n     * @param {Number} y\n     * @returns {undefined}\n     */\n    function scrollElement(x, y) {\n      this.scrollLeft = x;\n      this.scrollTop = y;\n    }\n\n    /**\n     * returns result of applying ease math function to a number\n     * @method ease\n     * @param {Number} k\n     * @returns {Number}\n     */\n    function ease(k) {\n      return 0.5 * (1 - Math.cos(Math.PI * k));\n    }\n\n    /**\n     * indicates if a smooth behavior should be applied\n     * @method shouldBailOut\n     * @param {Number|Object} firstArg\n     * @returns {Boolean}\n     */\n    function shouldBailOut(firstArg) {\n      if (\n        firstArg === null ||\n        typeof firstArg !== 'object' ||\n        firstArg.behavior === undefined ||\n        firstArg.behavior === 'auto' ||\n        firstArg.behavior === 'instant'\n      ) {\n        // first argument is not an object/null\n        // or behavior is auto, instant or undefined\n        return true;\n      }\n\n      if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {\n        // first argument is an object and behavior is smooth\n        return false;\n      }\n\n      // throw error when behavior is not supported\n      throw new TypeError(\n        'behavior member of ScrollOptions ' +\n          firstArg.behavior +\n          ' is not a valid value for enumeration ScrollBehavior.'\n      );\n    }\n\n    /**\n     * indicates if an element has scrollable space in the provided axis\n     * @method hasScrollableSpace\n     * @param {Node} el\n     * @param {String} axis\n     * @returns {Boolean}\n     */\n    function hasScrollableSpace(el, axis) {\n      if (axis === 'Y') {\n        return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;\n      }\n\n      if (axis === 'X') {\n        return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;\n      }\n    }\n\n    /**\n     * indicates if an element has a scrollable overflow property in the axis\n     * @method canOverflow\n     * @param {Node} el\n     * @param {String} axis\n     * @returns {Boolean}\n     */\n    function canOverflow(el, axis) {\n      var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];\n\n      return overflowValue === 'auto' || overflowValue === 'scroll';\n    }\n\n    /**\n     * indicates if an element can be scrolled in either axis\n     * @method isScrollable\n     * @param {Node} el\n     * @param {String} axis\n     * @returns {Boolean}\n     */\n    function isScrollable(el) {\n      var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y');\n      var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X');\n\n      return isScrollableY || isScrollableX;\n    }\n\n    /**\n     * finds scrollable parent of an element\n     * @method findScrollableParent\n     * @param {Node} el\n     * @returns {Node} el\n     */\n    function findScrollableParent(el) {\n      while (el !== d.body && isScrollable(el) === false) {\n        el = el.parentNode || el.host;\n      }\n\n      return el;\n    }\n\n    /**\n     * self invoked function that, given a context, steps through scrolling\n     * @method step\n     * @param {Object} context\n     * @returns {undefined}\n     */\n    function step(context) {\n      var time = now();\n      var value;\n      var currentX;\n      var currentY;\n      var elapsed = (time - context.startTime) / SCROLL_TIME;\n\n      // avoid elapsed times higher than one\n      elapsed = elapsed > 1 ? 1 : elapsed;\n\n      // apply easing to elapsed time\n      value = ease(elapsed);\n\n      currentX = context.startX + (context.x - context.startX) * value;\n      currentY = context.startY + (context.y - context.startY) * value;\n\n      context.method.call(context.scrollable, currentX, currentY);\n\n      // scroll more if we have not reached our destination\n      if (currentX !== context.x || currentY !== context.y) {\n        w.requestAnimationFrame(step.bind(w, context));\n      }\n    }\n\n    /**\n     * scrolls window or element with a smooth behavior\n     * @method smoothScroll\n     * @param {Object|Node} el\n     * @param {Number} x\n     * @param {Number} y\n     * @returns {undefined}\n     */\n    function smoothScroll(el, x, y) {\n      var scrollable;\n      var startX;\n      var startY;\n      var method;\n      var startTime = now();\n\n      // define scroll context\n      if (el === d.body) {\n        scrollable = w;\n        startX = w.scrollX || w.pageXOffset;\n        startY = w.scrollY || w.pageYOffset;\n        method = original.scroll;\n      } else {\n        scrollable = el;\n        startX = el.scrollLeft;\n        startY = el.scrollTop;\n        method = scrollElement;\n      }\n\n      // scroll looping over a frame\n      step({\n        scrollable: scrollable,\n        method: method,\n        startTime: startTime,\n        startX: startX,\n        startY: startY,\n        x: x,\n        y: y\n      });\n    }\n\n    // ORIGINAL METHODS OVERRIDES\n    // w.scroll and w.scrollTo\n    w.scroll = w.scrollTo = function() {\n      // avoid action when no arguments are passed\n      if (arguments[0] === undefined) {\n        return;\n      }\n\n      // avoid smooth behavior if not required\n      if (shouldBailOut(arguments[0]) === true) {\n        original.scroll.call(\n          w,\n          arguments[0].left !== undefined\n            ? arguments[0].left\n            : typeof arguments[0] !== 'object'\n              ? arguments[0]\n              : w.scrollX || w.pageXOffset,\n          // use top prop, second argument if present or fallback to scrollY\n          arguments[0].top !== undefined\n            ? arguments[0].top\n            : arguments[1] !== undefined\n              ? arguments[1]\n              : w.scrollY || w.pageYOffset\n        );\n\n        return;\n      }\n\n      // LET THE SMOOTHNESS BEGIN!\n      smoothScroll.call(\n        w,\n        d.body,\n        arguments[0].left !== undefined\n          ? ~~arguments[0].left\n          : w.scrollX || w.pageXOffset,\n        arguments[0].top !== undefined\n          ? ~~arguments[0].top\n          : w.scrollY || w.pageYOffset\n      );\n    };\n\n    // w.scrollBy\n    w.scrollBy = function() {\n      // avoid action when no arguments are passed\n      if (arguments[0] === undefined) {\n        return;\n      }\n\n      // avoid smooth behavior if not required\n      if (shouldBailOut(arguments[0])) {\n        original.scrollBy.call(\n          w,\n          arguments[0].left !== undefined\n            ? arguments[0].left\n            : typeof arguments[0] !== 'object' ? arguments[0] : 0,\n          arguments[0].top !== undefined\n            ? arguments[0].top\n            : arguments[1] !== undefined ? arguments[1] : 0\n        );\n\n        return;\n      }\n\n      // LET THE SMOOTHNESS BEGIN!\n      smoothScroll.call(\n        w,\n        d.body,\n        ~~arguments[0].left + (w.scrollX || w.pageXOffset),\n        ~~arguments[0].top + (w.scrollY || w.pageYOffset)\n      );\n    };\n\n    // Element.prototype.scroll and Element.prototype.scrollTo\n    Element.prototype.scroll = Element.prototype.scrollTo = function() {\n      // avoid action when no arguments are passed\n      if (arguments[0] === undefined) {\n        return;\n      }\n\n      // avoid smooth behavior if not required\n      if (shouldBailOut(arguments[0]) === true) {\n        // if one number is passed, throw error to match Firefox implementation\n        if (typeof arguments[0] === 'number' && arguments[1] === undefined) {\n          throw new SyntaxError('Value could not be converted');\n        }\n\n        original.elementScroll.call(\n          this,\n          // use left prop, first number argument or fallback to scrollLeft\n          arguments[0].left !== undefined\n            ? ~~arguments[0].left\n            : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft,\n          // use top prop, second argument or fallback to scrollTop\n          arguments[0].top !== undefined\n            ? ~~arguments[0].top\n            : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop\n        );\n\n        return;\n      }\n\n      var left = arguments[0].left;\n      var top = arguments[0].top;\n\n      // LET THE SMOOTHNESS BEGIN!\n      smoothScroll.call(\n        this,\n        this,\n        typeof left === 'undefined' ? this.scrollLeft : ~~left,\n        typeof top === 'undefined' ? this.scrollTop : ~~top\n      );\n    };\n\n    // Element.prototype.scrollBy\n    Element.prototype.scrollBy = function() {\n      // avoid action when no arguments are passed\n      if (arguments[0] === undefined) {\n        return;\n      }\n\n      // avoid smooth behavior if not required\n      if (shouldBailOut(arguments[0]) === true) {\n        original.elementScroll.call(\n          this,\n          arguments[0].left !== undefined\n            ? ~~arguments[0].left + this.scrollLeft\n            : ~~arguments[0] + this.scrollLeft,\n          arguments[0].top !== undefined\n            ? ~~arguments[0].top + this.scrollTop\n            : ~~arguments[1] + this.scrollTop\n        );\n\n        return;\n      }\n\n      this.scroll({\n        left: ~~arguments[0].left + this.scrollLeft,\n        top: ~~arguments[0].top + this.scrollTop,\n        behavior: arguments[0].behavior\n      });\n    };\n\n    // Element.prototype.scrollIntoView\n    Element.prototype.scrollIntoView = function() {\n      // avoid smooth behavior if not required\n      if (shouldBailOut(arguments[0]) === true) {\n        original.scrollIntoView.call(\n          this,\n          arguments[0] === undefined ? true : arguments[0]\n        );\n\n        return;\n      }\n\n      // LET THE SMOOTHNESS BEGIN!\n      var scrollableParent = findScrollableParent(this);\n      var parentRects = scrollableParent.getBoundingClientRect();\n      var clientRects = this.getBoundingClientRect();\n\n      if (scrollableParent !== d.body) {\n        // reveal element inside parent\n        smoothScroll.call(\n          this,\n          scrollableParent,\n          scrollableParent.scrollLeft + clientRects.left - parentRects.left,\n          scrollableParent.scrollTop + clientRects.top - parentRects.top\n        );\n\n        // reveal parent in viewport unless is fixed\n        if (w.getComputedStyle(scrollableParent).position !== 'fixed') {\n          w.scrollBy({\n            left: parentRects.left,\n            top: parentRects.top,\n            behavior: 'smooth'\n          });\n        }\n      } else {\n        // reveal element in viewport\n        w.scrollBy({\n          left: clientRects.left,\n          top: clientRects.top,\n          behavior: 'smooth'\n        });\n      }\n    };\n  }\n\n  if (typeof exports === 'object' && typeof module !== 'undefined') {\n    // commonjs\n    module.exports = { polyfill: polyfill };\n  } else {\n    // global\n    polyfill();\n  }\n\n}());\n"],"names":["handleMopinion","id","document","querySelectorAll","forEach","script","remove","js","createElement","setAttribute","async","addEventListener","t","setInterval","window","Pastease","load","clearInterval","e","console","error","getElementsByTagName","appendChild","AllowedItemsList","_Component","props","_window$location$hash","_this","_classCallCheck","_callSuper","searchForHash","hash","_props$remainingItems","update","arguments","length","undefined","textKeys","numberOfItems","state","itemsShown","isMobile","numberOfItemsMobile","shownItems","remainingItems","slice","findIndexWithProperty","popularItems","_props$remainingItems2","index","array","propName","propValue","i","handleInput","event","name","target","value","setState","_defineProperty","search","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","query","_numberOfItems","_shownItems","items","wrap","_context","prev","next","abrupt","filter","item","matches","title","push","isMatch","info","category","includes","stop","_x","apply","text","decodedText","decodeAndRemoveHtml","splitQuery","split","Boolean","part","matchString","toLowerCase","trim","indexOf","handleMoreClick","increase","_this$state$items","newAmount","activateAutoScroll","elements","getElementsByClassName","element","classList","add","setTimeout","handleHideClick","_this$state$items2","searchField","getElementById","scrollIntoView","headerOffset","clientHeight","offsetPosition","getBoundingClientRect","top","pageYOffset","scrollTo","setToState","data","decodeURIComponent","location","replace","searchResult","smoothscroll","allItems","initialAmount","_inherits","_createClass","key","_this2","tagName","href","getAttribute","link","URL","pathname","origin","preventDefault","this","mopinionId","html","txt","innerHTML","_this3","_jsxs","className","concat","descriptionIcons","children","_jsx","disclaimerText","map","Svg","iconName","icon","fillColor","iconColor","dangerouslySetInnerHTML","__html","type","placeholder","searchFieldLabel","onChange","autoComplete","mostPopularHeadline","Item","checkinLabel","handLuggageLabel","mopinionScript","React","alphabeticalHeadline","Items","increaseAmount","numberOfItemsIncrementMobile","numberOfItemsIncrement","amountShown","onClick","showLessItemsText","showMoreItemsText","noResultsText","noResultsHeader","noResultsSubHeader","Component","_ref2","observer","useRef","lastItemElement","useCallback","node","current","disconnect","IntersectionObserver","entries","isIntersecting","observe","oldItems","newItems","mappedItems","isLastItem","itemNumber","refProp","adjustedIncreaseAmount","sizeDiff","Math","abs","_Component2","_this4","_len","args","Array","_key","handleAccordion","classname","elem","currentTarget","showHideContent","__toggle","parent","parentElement","querySelector","style","height","scrollHeight","openAccordionFromAnchor","accordion","anchorId","accordionTrigger","contains","handleTouchStart","handleTouchEnd","handleHash","prevProps","prevState","_this5","requestAnimationFrame","_this6","ref","onTouchStart","onTouchEnd","checkinLogo","checkinLogoColor","handLuggageLogo","handLuggageLogoColor","htmlStringToReactElement","AllowedItemsListModule","self","dataset","JSON","parse","init","ReactDOM","module","exports","polyfill","w","d","documentElement","__forceSmoothScrollPolyfill__","userAgent","Element","HTMLElement","SCROLL_TIME","original","scroll","scrollBy","elementScroll","prototype","scrollElement","now","performance","bind","Date","ROUNDING_TOLERANCE","navigator","RegExp","join","test","shouldBailOut","smoothScroll","call","body","left","scrollX","pageXOffset","scrollY","scrollLeft","scrollTop","SyntaxError","behavior","scrollableParent","el","isScrollable","parentNode","host","findScrollableParent","parentRects","clientRects","getComputedStyle","position","x","y","firstArg","TypeError","hasScrollableSpace","axis","clientWidth","scrollWidth","canOverflow","overflowValue","isScrollableY","isScrollableX","step","context","currentX","currentY","k","elapsed","startTime","cos","PI","startX","startY","method","scrollable"],"sourceRoot":""}