{"version":3,"file":"static/js/1418.16e2fb6b.chunk.js","mappings":"+SA8EA,EA3EsB,SAAAA,GACpB,SAAAC,EAAYC,GAAQ,IAADC,EAGS,OAHTC,EAAAA,EAAAA,GAAA,KAAAH,IACjBE,GAAAE,EAAAA,EAAAA,GAAA,KAAAJ,EAAA,CAAMC,KACDI,QAAUC,EAAAA,YACfJ,EAAKK,eAAYC,EAASN,CAC5B,CAAC,OAAAO,EAAAA,EAAAA,GAAAT,EAAAD,IAAAW,EAAAA,EAAAA,GAAAV,EAAA,EAAAW,IAAA,gBAAAC,MAED,SAAcL,GACRA,GAAaA,EAAUM,eACzBC,aAAaP,EAAUM,eAErBN,GAAaA,EAAUQ,qBACzBD,aAAaP,EAAUQ,4BAElBC,KAAKT,SACd,GAAC,CAAAI,IAAA,oBAAAC,MAED,WACMI,KAAKT,WACPS,KAAKC,cAAcD,KAAKT,WAE1BS,KAAKT,UAAY,IAAIW,EAAAA,QAAU,CAC7BC,GAAIH,KAAKX,QAAQe,QACjBC,UAAWH,EAAAA,QAAUI,MAAMC,MAC3BC,YAAY,EACZC,kBAAmB,MAEvB,GAAC,CAAAd,IAAA,qBAAAC,MAED,WACMI,KAAKT,WACPS,KAAKC,cAAcD,KAAKT,WAE1BS,KAAKT,UAAY,IAAIW,EAAAA,QAAU,CAC7BC,GAAIH,KAAKX,QAAQe,QACjBC,UAAWH,EAAAA,QAAUI,MAAMC,MAC3BC,YAAY,EACZC,kBAAmB,MAEvB,GAAC,CAAAd,IAAA,uBAAAC,MAED,WACMI,KAAKT,WACPS,KAAKC,cAAcD,KAAKT,UAE5B,GAAC,CAAAI,IAAA,SAAAC,MAED,WACE,IAAAc,EAAuCV,KAAKf,MAApC0B,EAAKD,EAALC,MAAOC,EAASF,EAATE,UAAWC,EAAQH,EAARG,SAE1B,OACEC,EAAAA,EAAAA,MAAA,OAAKF,UAAS,2BAAAG,OAA6BF,EAAW,YAAc,IAAMG,IAAKhB,KAAKX,QAAQ4B,SAAA,EAC1FC,EAAAA,EAAAA,KAAA,OAAKN,UAAU,2CAA0CK,UACvDH,EAAAA,EAAAA,MAAA,OAAKF,UAAU,mBAAkBK,SAAA,EAC/BH,EAAAA,EAAAA,MAAA,MAAIF,UAAWA,EAAUK,SAAA,EACvBC,EAAAA,EAAAA,KAAA,KAAGC,GAAI,gBAAkBR,EAAMS,OAAO,EAAG,KACxCT,MAGHO,EAAAA,EAAAA,KAAA,QAAMN,UAAU,OAAMK,UACpBC,EAAAA,EAAAA,KAAA,OAAKN,UAAU,oCAAmCK,UAChDC,EAAAA,EAAAA,KAAA,OAAKG,WAAW,+BAA+BC,UAAU,2CAA0CL,SAAC,mBAO5GC,EAAAA,EAAAA,KAAA,OAAKN,UAAU,0DAA0DW,MAAO,CAAEC,UAAW,OAAQP,SAClGjB,KAAKf,MAAMgC,aAIpB,IAAC,CAzEmB,CAASQ,EAAAA,WCIzBC,EAAW,SAAA3C,GAKf,SAAA2C,EAAYzC,GAAQ,IAADC,EAEoB,OAFpBC,EAAAA,EAAAA,GAAA,KAAAuC,IACjBxC,GAAAE,EAAAA,EAAAA,GAAA,KAAAsC,EAAA,CAAMzC,KAGR0C,MAAQ,CACNC,YAAa,GACbC,YAAa,GACbC,gBAAiB,GACjBC,MAAO,IACR7C,EAkBD8C,cAAgB,SAACC,EAASC,GACxB,OACEhB,EAAAA,EAAAA,KAAA,MAAAD,UACEH,EAAAA,EAAAA,MAAA,KAAGF,UAAU,mDAAmDuB,KAAMF,EAAQG,SAASnB,SAAA,EACrFC,EAAAA,EAAAA,KAAA,QAAMN,UAAU,OAAMK,UACpBC,EAAAA,EAAAA,KAAA,OAAKN,UAAU,gCAA+BK,UAC5CC,EAAAA,EAAAA,KAAA,OAAKG,WAAW,+BAA+BC,UAAU,uCAAsCL,SAAC,cAMpGH,EAAAA,EAAAA,MAAA,QAAMF,UAAU,OAAMK,SAAA,CACnBgB,EAAQI,KAAK,MAAEnB,EAAAA,EAAAA,KAAA,QAAAD,SAAOgB,EAAQK,WAAgB,IAAE,WAX9CJ,EAgBb,EAAChD,EAEDqD,qBAAuB,SAACC,GACtB,IAAQT,EAAU7C,EAAKyC,MAAfI,MACFlB,EAAWkB,GAASA,EAAMU,QAAUvD,EAAKD,MAAMyD,yBAC/CC,EAAUH,GAAUA,EAAOI,YAE3BC,EAAkBL,GAAUA,EAAOM,SAEzC,OACE5B,EAAAA,EAAAA,KAAA,OAAKK,MAAO,CAAEwB,aAAc,OAAQC,MAAO,OAAQC,QAAS,SAAUhC,UACpEC,EAAAA,EAAAA,KAAClC,EAAgB,CAAC2B,MAAOgC,EAAS/B,UAAW,0BAAyCC,SAAUA,EAASI,UACvGC,EAAAA,EAAAA,KAAA,OAAKN,UAAU,eAAcK,UAE3BC,EAAAA,EAAAA,KAAA,MAAIK,MAAO,CAAE0B,QAAS,SAAUhC,UAC9BC,EAAAA,EAAAA,KAACgC,IAAQ,CACPC,KAAMN,EACNO,WAAYlE,EAAK8C,eAAa,GAAAjB,QAAO,kBAAMG,EAAAA,EAAAA,KAAA,SAAW,IACtDmC,gBAAiB,kBAAMnC,EAAAA,EAAAA,KAAA,OAAAD,SAAM/B,EAAKD,MAAMqE,SAASC,0BAA4B,8BAAmC,EAChHC,OAAQ,CAAC,cAAe,QACxBC,QAAS,SAACxB,GAAO,MAAK,CAACA,EAAQyB,KAAK,EACpCC,eAAgBzE,EAAK0E,cACrBC,cAAe,CAAC,QAChBC,SAAU,CAAC,WAAY,OAAQ,OAAQ,eACvCC,WAAY7E,EAAKyC,MAAMI,MACvBiC,uBAAqB,EACrBtB,yBAA0BxD,EAAKD,MAAMyD,gCAfgCC,IAsBnF,EAACzD,EAED+E,WAAa,SAAC9C,GAEE+C,SAASC,cAAchD,GAG7BiD,eAAe,CAAEC,SAAU,SAAUC,MAAO,UACtD,EAACpF,EAEDqF,YAAc,SAACC,GACb,OACEtD,EAAAA,EAAAA,KAAA,OAAKC,GAAG,yBAAyBP,UAAS,GAAAG,OAAK0D,EAAAA,GAAW,YAAc,IAAKxD,UAC3EC,EAAAA,EAAAA,KAAA,OAAKC,GAAG,gBAAgBP,UAAS,GAAAG,OAAK0D,EAAAA,GAAW,YAAc,IAAKxD,UAClEC,EAAAA,EAAAA,KAAA,MAAAD,SACGuD,EAAQE,KAAI,SAACC,GACZ,IAAMC,EAAe,iBAAmBD,EACxC,OACEzD,EAAAA,EAAAA,KAAA,MAAAD,UACEC,EAAAA,EAAAA,KAAA,UAAQ2D,QAAS,kBAAM3F,EAAK+E,WAAWW,EAAa,EAAC3D,SAAE0D,KADhDA,EAIb,SAKV,EAACzF,EAED4F,gBAAkB,SAACC,EAAO7C,EAAK8C,GAC7B,OACE9D,EAAAA,EAAAA,KAAA,OAAKN,UAAU,qBAAqBW,MAAO,CAAEwB,aAAc,OAAQC,MAAO,OAAQC,QAAS,SAAUhC,SAClG+D,GAGP,EAAC9F,EAED+F,aAAe,SAAClD,GACd,OACEb,EAAAA,EAAAA,KAAA,OAAKN,UAAU,OAAMK,UACnBC,EAAAA,EAAAA,KAAA,OAAKN,UAAU,gBAAeK,UAC5BC,EAAAA,EAAAA,KAAA,OAAKN,UAAU,uBAAsBK,UACnCH,EAAAA,EAAAA,MAAA,OAAKF,UAAU,qFAAoFK,SAAA,EACjGC,EAAAA,EAAAA,KAAA,QAAMN,UAAU,iBAChBM,EAAAA,EAAAA,KAAA,SACEN,UAAU,aACVhB,MAAOmC,EACPmD,SAAU,SAACC,GAAC,OAAKjG,EAAKkG,SAAS,CAAErD,MAAOoD,EAAEE,OAAOzF,OAAQ,EACzD0F,KAAK,OACLC,YAAarG,EAAKD,MAAMqE,SAASkC,4BAA8B,gBAGjEtE,EAAAA,EAAAA,KAAA,UAAQ2D,QAAS,SAACM,GAAC,OAAKjG,EAAKkG,SAAS,CAAErD,MAAOoD,EAAEE,OAAOzF,OAAQ,EAACqB,UAC/DC,EAAAA,EAAAA,KAAA,QAAMN,UAAU,OAAMK,UACpBC,EAAAA,EAAAA,KAAA,OAAKN,UAAU,4BAA2BK,UACxCC,EAAAA,EAAAA,KAAA,OAAKG,WAAW,+BAA+BC,UAAU,mCAAkCL,SAAC,uBAW9G,EAAC/B,EAED0E,cAAgB,SAACmB,EAAO7C,EAAK8C,GAAU,OACrC9D,EAAAA,EAAAA,KAAA,OAAKK,MAAO,CAAEwB,aAAc,OAAQC,MAAO,OAAQC,QAAS,SAAUhC,UACpEC,EAAAA,EAAAA,KAAA,MAAIN,UAAU,kBAAiBK,SAAE+D,KAC7B,EAnJN9F,EAAKuG,aAAenG,EAAAA,YAAiBJ,CACvC,CAAC,OAAAO,EAAAA,EAAAA,GAAAiC,EAAA3C,IAAAW,EAAAA,EAAAA,GAAAgC,EAAA,EAAA/B,IAAA,oBAAAC,MAQD,WACE,IAAMiC,GAAc6D,EAAAA,EAAAA,GAAI,IAAIC,IAAI3F,KAAKf,MAAM6D,SAAS4B,KAAI,SAACkB,GAAC,OAAKA,EAAEhD,YAAYxB,OAAO,EAAG,EAAE,MAAIyE,OACzF/D,EAAkB9B,KAAKf,MAAM6D,SAAS4B,KAAI,SAACoB,GAQ7C,OAPAA,EAAEC,QAAU,GACZD,EAAEjE,YAAciE,EAAElD,YAAYxB,OAAO,EAAG,GACxC0E,EAAEhD,SAASkD,SAAQ,SAACJ,GAClBE,EAAEC,SAAO,GAAAhF,OAAO,CAAC6E,EAAElC,KAAMkC,EAAEtD,SAAUsD,EAAEhD,YAAagD,EAAElC,MAAMuC,KAAK,KAAI,IACvE,IACAH,EAAEpC,KAAO,mBAEFoC,CACT,IACA9F,KAAKoF,SAAS,CAAEvD,YAAAA,EAAaC,gBAAAA,IAC7B,IAAIoE,EAAAA,EAAM,CAAE/F,GAAIH,KAAKyF,aAAarF,SACpC,GAAC,CAAAT,IAAA,SAAAC,MA+HD,WAAU,IAADuG,EAAA,KACPC,EAAgDpG,KAAK2B,MAA7CI,EAAKqE,EAALrE,MAAOD,EAAesE,EAAftE,gBAAiBD,EAAWuE,EAAXvE,YAChC,OACEf,EAAAA,EAAAA,MAAA,OAAKF,UAAU,mBAAmBI,IAAKhB,KAAKyF,aAAaxE,SAAA,CACtDjB,KAAKiF,aAAalD,GAClB/B,KAAKuE,YAAY1C,IAClBX,EAAAA,EAAAA,KAAA,OAAKN,UAAS,8CAAAG,OAAgD0D,EAAAA,GAAW,YAAc,IAAKxD,UAC1FC,EAAAA,EAAAA,KAACgC,IAAQ,CACPC,KAAMrB,EACNsB,WAAYpD,KAAKuC,sBAAoB,GAAAxB,QAAO,kBAAMG,EAAAA,EAAAA,KAAA,SAAW,IAC7DmC,gBAAiB,kBAAMnC,EAAAA,EAAAA,KAAA,OAAAD,SAAMkF,EAAKlH,MAAMqE,SAASC,0BAA4B,8BAAmC,EAChHC,OAAQ,CAAC,cAAe,cAAe,QACvCC,QAAS,cACTE,eAAgB3D,KAAK8E,gBACrBjB,cAAe,CAAC,eAChBC,SAAU,CAAC,WACXC,WAAYhC,EACZiC,uBAAqB,EACrBtB,yBAA0B1C,KAAKf,MAAMyD,+BAK/C,IAAC,CApLc,CAASjB,EAAAA,WAApBC,EACG2E,aAAe,CACpBvD,SAAU,GACVJ,yBAA0B,GAmL9B,QCxLqB4D,EAAiB,WAQnC,OAAA5G,EAAAA,EAAAA,IAPD,SAAA4G,EAAYC,IAAMpH,EAAAA,EAAAA,GAAA,KAAAmH,GAChB,IAAME,EAAOxG,KAKb,OAJAwG,EAAKD,KAAOA,EACZC,EAAK1D,SAAWyD,EAAKE,QAAQ3D,UAAY4D,KAAKC,MAAMJ,EAAKE,QAAQ3D,UACjE0D,EAAKlD,SAAWiD,EAAKE,QAAQnD,UAAYoD,KAAKC,MAAMJ,EAAKE,QAAQnD,UACjEtD,KAAK4G,OACEJ,CACT,GAAC,EAAA7G,IAAA,OAAAC,MACD,WACE,IAAM4G,EAAOxG,KACTwG,EAAK1D,UAAY0D,EAAK1D,SAASL,OAAS,GAC1CoE,EAAAA,QAAgB3F,EAAAA,EAAAA,KAACQ,EAAW,CAACoB,SAAU0D,EAAK1D,SAAUQ,SAAUkD,EAAKlD,WAAckD,EAAKD,KAE5F,IAAC,CAdmC,E","sources":["shared/destination/airport-accordion.jsx","shared/destination/airport-list.js","shared/destination/airport-list-module.js"],"sourcesContent":["import React, { Component } from \"react\"\nimport Accordion from \"../../styleguide/js/components/accordion\"\n\nclass AirportAccordion extends Component {\n constructor(props) {\n super(props)\n this.nodeRef = React.createRef()\n this.accordion = undefined\n }\n\n killAccordion(accordion) {\n if (accordion && accordion.resizeTimeout) {\n clearTimeout(accordion.resizeTimeout)\n }\n if (accordion && accordion.updateHeightTimeout) {\n clearTimeout(accordion.updateHeightTimeout)\n }\n delete this.accordion\n }\n\n componentDidMount() {\n if (this.accordion) {\n this.killAccordion(this.accordion)\n }\n this.accordion = new Accordion({\n el: this.nodeRef.current,\n eventName: Accordion.EVENT.CLICK,\n disposable: false,\n persistentElement: null,\n })\n }\n\n componentDidUpdate() {\n if (this.accordion) {\n this.killAccordion(this.accordion)\n }\n this.accordion = new Accordion({\n el: this.nodeRef.current,\n eventName: Accordion.EVENT.CLICK,\n disposable: false,\n persistentElement: null,\n })\n }\n\n componentWillUnmount() {\n if (this.accordion) {\n this.killAccordion(this.accordion)\n }\n }\n\n render() {\n const { label, className, isActive } = this.props\n\n return (\n <div className={`accordion js--accordion ${isActive ? \"is-active\" : \"\"}`} ref={this.nodeRef}>\n <div className=\"accordion__trigger js--accordion-trigger\">\n <div className=\"accordion__title\">\n <h3 className={className}>\n <a id={\"first_letter_\" + label.substr(0, 1)}></a>\n {label}\n </h3>\n\n <span className=\"icon\">\n <svg className=\"svg-icon svg-icon--arrowdownangle\">\n <use xmlnsXlink=\"http://www.w3.org/1999/xlink\" xlinkHref=\"/dist/svg/symbols.svg#svg-arrowdownangle\">\n \n </use>\n </svg>\n </span>\n </div>\n </div>\n <div className=\"accordion__content js--accordion-content countryDetails\" style={{ maxHeight: \"0px\" }}>\n {this.props.children}\n </div>\n </div>\n )\n }\n}\nexport default AirportAccordion\n","import React, { Component } from \"react\"\nimport FlatList from \"flatlist-react\"\nimport \"./AirportList.css\"\nimport { Forms } from \"../../styleguide/js/components/forms\"\nimport { isMobile } from \"react-device-detect\"\nimport AirportAccordion from \"./airport-accordion\"\n\nclass AirportList extends Component {\n static defaultProps = {\n airports: [],\n searchMinCharactersCount: 2,\n }\n constructor(props) {\n super(props)\n this.containerRef = React.createRef()\n }\n state = {\n countryList: [],\n letterIndex: [],\n countryCityList: [],\n query: \"\",\n }\n\n componentDidMount() {\n const letterIndex = [...new Set(this.props.airports.map((a) => a.countryName.substr(0, 1)))].sort()\n let countryCityList = this.props.airports.map((c) => {\n c.allText = \"\"\n c.letterIndex = c.countryName.substr(0, 1)\n c.airports.forEach((a) => {\n c.allText += `${[a.city, a.iataCode, a.countryName, a.city].join(\" \")} `\n })\n c.city = \"temp console fix\"\n\n return c\n })\n this.setState({ letterIndex, countryCityList })\n new Forms({ el: this.containerRef.current })\n }\n\n renderAirport = (airport, idx) => {\n return (\n <li key={idx}>\n <a className=\"button button--link button--link--heavy has-icon\" href={airport.shortUrl}>\n <span className=\"icon\">\n <svg className=\"svg-icon svg-icon--arrowright\">\n <use xmlnsXlink=\"http://www.w3.org/1999/xlink\" xlinkHref=\"/dist/svg/symbols.svg#svg-arrowright\">\n \n </use>\n </svg>\n </span>\n\n <span className=\"text\">\n {airport.text} (<span>{airport.iataCode}</span>){\" \"}\n </span>\n </a>\n </li>\n )\n }\n\n renderCountryAndCity = (cities) => {\n const { query } = this.state\n const isActive = query && query.length >= this.props.searchMinCharactersCount\n const country = cities && cities.countryName\n\n const countryAirports = cities && cities.airports\n\n return (\n <div style={{ marginBottom: \"20px\", width: \"100%\", display: \"block\" }}>\n <AirportAccordion label={country} className={\"country-group-separator\"} key={country} isActive={isActive}>\n <div className=\"article__box\">\n {/* <ul style={{display:\"none\"}}> */}\n <ul style={{ display: \"block\" }}>\n <FlatList\n list={countryAirports}\n renderItem={this.renderAirport || `${() => <div></div>}`}\n renderWhenEmpty={() => <div>{this.props.textKeys.listNoSearchResultsLabel || \"Ingen matchende resultater\"}</div>}\n sortBy={[\"countryName\", \"city\"]}\n groupBy={(airport) => [airport.city]}\n groupSeparator={this.citySeparator}\n groupSortedBy={[\"city\"]}\n searchBy={[\"iataCode\", \"text\", \"city\", \"countryName\"]}\n searchTerm={this.state.query}\n searchCaseInsensitive\n searchMinCharactersCount={this.props.searchMinCharactersCount}\n />\n </ul>\n </div>\n </AirportAccordion>\n </div>\n )\n }\n\n scrollToId = (id) => {\n // element which needs to be scrolled to\n var element = document.querySelector(id)\n\n // scroll to element\n element.scrollIntoView({ behavior: \"smooth\", block: \"center\" })\n }\n\n renderIndex = (letters) => {\n return (\n <div id=\"verticalIndexContainer\" className={`${isMobile ? \"is-mobile\" : \"\"}`}>\n <div id=\"verticalIndex\" className={`${isMobile ? \"is-mobile\" : \"\"}`}>\n <ul>\n {letters.map((l) => {\n const scrollTarget = \"#first_letter_\" + l\n return (\n <li key={l}>\n <button onClick={() => this.scrollToId(scrollTarget)}>{l}</button>\n </li>\n )\n })}\n </ul>\n </div>\n </div>\n )\n }\n\n letterSeparator = (group, idx, groupLabel) => {\n return (\n <div className=\"letter-group-label\" style={{ marginBottom: \"20px\", width: \"100%\", display: \"block\" }}>\n {groupLabel}\n </div>\n )\n }\n\n renderSearch = (query) => {\n return (\n <div className=\"form\">\n <div className=\"form__section\">\n <div className=\"form__section__inner\">\n <div className=\"form__field form__field--text form__field--text-search form__field--text--no-label\">\n <span className=\"form__valid\" />\n <input\n className=\"form__item\"\n value={query}\n onChange={(e) => this.setState({ query: e.target.value })}\n type=\"text\"\n placeholder={this.props.textKeys.listSearchPlaceholderLabel || \"Søg... \"}\n />\n\n <button onClick={(e) => this.setState({ query: e.target.value })}>\n <span className=\"icon\">\n <svg className=\"svg-icon svg-icon--search\">\n <use xmlnsXlink=\"http://www.w3.org/1999/xlink\" xlinkHref=\"/dist/svg/symbols.svg#svg-search\">\n \n </use>\n </svg>\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n )\n }\n\n citySeparator = (group, idx, groupLabel) => (\n <div style={{ marginBottom: \"20px\", width: \"100%\", display: \"block\" }}>\n <h4 className=\"group-separator\">{groupLabel}</h4>\n </div>\n )\n\n render() {\n const { query, countryCityList, letterIndex } = this.state\n return (\n <div className=\"destination-list\" ref={this.containerRef}>\n {this.renderSearch(query)}\n {this.renderIndex(letterIndex)}\n <div className={`destination-list__container is-county-list ${isMobile ? \"is-mobile\" : \"\"}`}>\n <FlatList\n list={countryCityList}\n renderItem={this.renderCountryAndCity || `${() => <div></div>}`}\n renderWhenEmpty={() => <div>{this.props.textKeys.listNoSearchResultsLabel || \"Ingen matchende resultater\"}</div>}\n sortBy={[\"letterIndex\", \"countryName\", \"city\"]}\n groupBy={\"letterIndex\"}\n groupSeparator={this.letterSeparator}\n groupSortedBy={[\"letterIndex\"]}\n searchBy={[\"allText\"]}\n searchTerm={query}\n searchCaseInsensitive\n searchMinCharactersCount={this.props.searchMinCharactersCount}\n />\n </div>\n </div>\n )\n }\n}\nexport default AirportList\n","import React from \"react\"\nimport ReactDOM from \"react-dom\"\nimport AirportList from \"./airport-list\"\n\nimport \"./_destination-page.scss\"\nexport default class AirportListModule {\n constructor(elem) {\n const self = this\n self.elem = elem\n self.airports = elem.dataset.airports && JSON.parse(elem.dataset.airports)\n self.textKeys = elem.dataset.textKeys && JSON.parse(elem.dataset.textKeys)\n this.init()\n return self\n }\n init() {\n const self = this\n if (self.airports && self.airports.length > 0) {\n ReactDOM.render(<AirportList airports={self.airports} textKeys={self.textKeys} />, self.elem)\n }\n }\n}\n"],"names":["_Component","AirportAccordion","props","_this","_classCallCheck","_callSuper","nodeRef","React","accordion","undefined","_inherits","_createClass","key","value","resizeTimeout","clearTimeout","updateHeightTimeout","this","killAccordion","Accordion","el","current","eventName","EVENT","CLICK","disposable","persistentElement","_this$props","label","className","isActive","_jsxs","concat","ref","children","_jsx","id","substr","xmlnsXlink","xlinkHref","style","maxHeight","Component","AirportList","state","countryList","letterIndex","countryCityList","query","renderAirport","airport","idx","href","shortUrl","text","iataCode","renderCountryAndCity","cities","length","searchMinCharactersCount","country","countryName","countryAirports","airports","marginBottom","width","display","FlatList","list","renderItem","renderWhenEmpty","textKeys","listNoSearchResultsLabel","sortBy","groupBy","city","groupSeparator","citySeparator","groupSortedBy","searchBy","searchTerm","searchCaseInsensitive","scrollToId","document","querySelector","scrollIntoView","behavior","block","renderIndex","letters","isMobile","map","l","scrollTarget","onClick","letterSeparator","group","groupLabel","renderSearch","onChange","e","setState","target","type","placeholder","listSearchPlaceholderLabel","containerRef","_toConsumableArray","Set","a","sort","c","allText","forEach","join","Forms","_this2","_this$state","defaultProps","AirportListModule","elem","self","dataset","JSON","parse","init","ReactDOM"],"sourceRoot":""}