{"version":3,"sources":["webpack:///./app/components/render/Navigation/SearchBar.js","webpack:///./app/constants/dates.js","webpack:///./app/components/react/Navigation/legacy/includes/direct.js","webpack:///./app/components/react/Navigation/legacy/includes/invalid-dates.js","webpack:///./app/components/react/Navigation/legacy/includes/child-message.js","webpack:///./app/components/react/Navigation/legacy/includes/submit-button.js","webpack:///./app/components/react/Navigation/legacy/includes/room-list.js","webpack:///./app/components/react/Navigation/legacy/includes/room-number.js","webpack:///./app/components/react/Navigation/legacy/includes/airports.js","webpack:///./app/components/react/Navigation/legacy/includes/self-travel.js","webpack:///./app/components/react/Navigation/legacy/includes/duration.js","webpack:///./app/components/react/Navigation/legacy/includes/calendar.js","webpack:///./app/util/query-helpers.js","webpack:///./app/components/react/Navigation/Searchbar/components/RecentSearchButton.js","webpack:///./app/components/react/Navigation/Searchbar/includes/submit-button.js","webpack:///./app/components/react/Navigation/Searchbar/includes/airports.js","webpack:///./app/components/react/Navigation/Searchbar/query.js","webpack:///./app/components/react/Navigation/Searchbar/includes/calendar.js","webpack:///./node_modules/svg-react/lib/index.js","webpack:///./app/components/react/Atoms/Typeahead/legacy/index.js","webpack:///./app/components/react/Navigation/legacy/layouts/full-width.js","webpack:///./app/components/react/Navigation/legacy/includes/hidden-values.js","webpack:///./app/components/react/Navigation/legacy/includes/show-other-dates.js","webpack:///./app/components/react/Navigation/legacy/layouts/sidebar.js","webpack:///./app/components/react/Navigation/legacy/index.js","webpack:///./app/components/react/Navigation/Searchbar/constants.js","webpack:///./app/constants/sitecore.js","webpack:///./app/components/react/Navigation/Searchbar/components/SubTabs.js","webpack:///./app/util/modals.js","webpack:///./app/components/react/Navigation/Searchbar/components/HiddenInputs.js","webpack:///./app/components/react/Navigation/Searchbar/components/RecentSearch.js","webpack:///./app/components/react/Navigation/Searchbar/components/RecentSearches.js","webpack:///./app/components/react/Navigation/Searchbar/helpers.js","webpack:///./app/components/react/Navigation/Searchbar/components/Guests/AgeOption.js","webpack:///./app/components/react/Navigation/Searchbar/components/Guests/AgeSelect.js","webpack:///./app/components/react/Navigation/Searchbar/components/Guests/Room.js","webpack:///./app/components/react/Navigation/Searchbar/components/Guests/Guests.js","webpack:///./app/components/react/Navigation/Searchbar/components/Options.js","webpack:///./app/components/react/Navigation/Searchbar/components/Tabs.js","webpack:///./app/components/react/Navigation/Searchbar/layouts/full-width.js","webpack:///./app/components/react/Navigation/Searchbar/includes/direct.js","webpack:///./app/components/react/Navigation/Searchbar/includes/invalid-dates.js","webpack:///./app/components/react/Navigation/Searchbar/includes/child-message.js","webpack:///./app/components/react/Navigation/Searchbar/includes/room-list.js","webpack:///./app/components/react/Navigation/Searchbar/includes/room-number.js","webpack:///./app/components/react/Navigation/Searchbar/components/DepartureAirports.js","webpack:///./app/components/react/Navigation/Searchbar/includes/self-travel.js","webpack:///./app/components/react/Navigation/Searchbar/includes/duration.js","webpack:///./app/components/react/Navigation/Searchbar/includes/hidden-values.js","webpack:///./app/components/react/Navigation/Searchbar/components/TextDatePicker.js","webpack:///./app/components/react/Navigation/Searchbar/includes/show-other-dates.js","webpack:///./app/components/react/Navigation/Searchbar/layouts/sidebar.js","webpack:///./app/components/react/Navigation/Searchbar/index.js"],"names":["__webpack_require__","_class","context","_classCallCheck","this","isLegacy","document","querySelector","init","SearchComponent","LegacySearchBar","Searchbar","ReactDOM","render","_react2","default","createElement","MONTHS","TRUNCATED_DAYS","DAYS","API_FORMAT","DISPLAY_FORMAT","_ref","handleDirect","dictionary","direct","isFullWidth","componentIdentifier","checkboxClass","className","type","id","name","checked","onChange","htmlFor","value","readOnly","shouldErrorBeShown","labels","showInfants","childCount","isSubmitDisabled","disabled","Search","handleOccupancy","occupancy","ChildAges","childRange","map","country","index","key","Adults","onClick","bind","undefined","Children","Infants","ages","child","cIndex","age","ageIndex","handleRoomSizeChange","options","rooms","validOccupancy","validMaxNumberOfInfants","event","handleAirportChange","airports","airport","selfTravel","airportDisplayName","aria-hidden","_CustomSelect2","placeholder","Departure","update","length","inputId","handleSelfTravel","handleDurationChange","availableDurations","duration","_SelectBox2","inputName","values","selectedValue","_react","_breakpoints","Calendar","props","_this2","_this","_possibleConstructorReturn","__proto__","Object","getPrototypeOf","call","toggleCalender","_asyncToGenerator","regeneratorRuntime","mark","_callee","_ref2","SingleDatePicker","wrap","_context","prev","next","e","then","module","__esModule","assign","sent","setState","singleDatePicker","isMobile","state","pageFirstLoad","handleCalendarToggle","stop","handleTextDateInput","target","textDate","inputDate","_moment2","dateFormat","monthsFromToday","add","maxCalendarMonths","today","isAfter","setCustomValidity","checkValidity","handleDate","handleCalendarSelect","date","format","copyWeekHeaders","weekHeaders","querySelectorAll","monthElements","style","display","forEach","month","weekHeaderClone","cloneNode","classList","marginLeft","appendChild","singleDatePickerLoaded","Component","_this3","startDate","onFocusChange","focused","_this4","_state","_props","initialVisibleMonth","fakedateStartText","isDayBlocked","datepickerClass","handleShowOtherDates","showOtherDates","showOtherDatesLabel","formattedDate","isUnderTablet","window","innerWidth","tabletBreakpoint","shouldShowCheckbox","isCalendarActive","pattern","onDateChange","hideKeyboardShortcutsPanel","orientation","displayFormat","showDefaultInputIcon","numberOfMonths","renderCalendarInfo","_showOtherDates2","show","xmlns","viewBox","d","getQueryValue","defaultValue","arguments","query","location","search","params","URLSearchParams","has","get","Array","isArray","showRecentSearch","recentSearchText","openRecentSearch","recentSearchCount","_ref$isFullWidth","fullWidthClass","recentSearchLabel","replace","departureLabel","departurePlaceholderLabel","closeMainModal","_DepartureAirports2","selectedAirport","QUERY_PARAMS","START_DATE","END_DATE","GEO_NAME","SHOW_OTHER_DATES","DURATION","SELF_TRAVEL","DIRECT","DEPARTURE_AIRPORT","ARRIVAL_AIRPORT","ROOMS","DATE","REQUIRED_SEARCH_PARAMS","_dates","_query","componentDidMount","_this$props","endDate","addEventListener","hasClickedOutside","passive","loadCalendar","hasClickedOnFooterElement","footerElementIDs","includes","datepickerRef","contains","closeRangePicker","setFooterRef","el","pickerFooterRef","saveChanges","pickerIsOpen","prevDates","resetDatesTo","clearRangePicker","preventDefault","tempDates","textDates","formatDate","isValid","_callee2","_ref4","DateRangePicker","_context2","dateRangePicker","abrupt","toggleCalendar","_callee3","_context3","scrollToPickers","handleApply","closePicker","closeAll","openPicker","inputClick","momentDate","handleTextInput","_e$target","delimiter","possibleDateDelimiters","find","RegExp","test","isBlocked","_defineProperty","dateRangePickerLoaded","focusedInput","flexibilityCheckboxId","flexibilityCheckboxLabelId","clearButtonId","applyButtonId","removeEventListener","clearLabel","applyLabel","dateRangeLabel","invalidDatesLabel","startDatePlaceholder","endDatePlaceholder","checkInDateLabel","checkOutDateLabel","title","formattedStartDate","formattedEndDate","displayDate","hasDefinedTextDates","ref","_TextDatePicker2","startDateId","endDateId","onDatesChange","_ref6","keepOpenOnDateSelect","onApply","onClear","setRef","defineProperty","exports","_createClass","defineProperties","i","descriptor","enumerable","configurable","writable","Constructor","protoProps","staticProps","prototype","obj","_interopRequireDefault","svg","_React$Component","instance","TypeError","self","ReferenceError","apply","subClass","superClass","create","constructor","setPrototypeOf","_inherits","ajaxLoad","ajax","XMLHttpRequest","open","src","send","onloadend","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","responseXML","firstChild","childNodes","Symbol","iterator","done","nodeType","refs","err","return","width","height","preserveAspectRatio","version","propTypes","PropTypes","string","isRequired","Sentry","_emptyHelpers","_locationHelpers","_domHelpers","TypeaheadSearch","showPicker","showList","locations","geoData","selectedRegion","selectedResort","selectedCountry","geoLocationName","arrivalAirport","inputValue","activeItem","countries","regions","resorts","filteredRegions","filteredResorts","listCountry","listRegion","listResort","slideIndex","viewportOffsetTop","mobileActive","displayAllRegion","hasSelected","hasInteracted","typeaheadSelected","displayTypeaheadError","handleChange","handleSelectLocation","handleHover","detectKeyEvents","detectClickEvents","handleListItemClick","handleListBack","isLocationValid","handleViewUpdate","toggleMobileFullScreenInput","error","errorInfo","withScope","scope","keys","setExtra","captureException","valueLowerCase","toLowerCase","isNotNullOrWhitespace","filter","GeoLocationName","indexOf","Region","Country","IsSearchable","displayLocations","JSON","parse","stringify","regex","valueUpper","capitalizeFirstLetter","regexUpper","replaceGeoLocationName","replaceCountry","replaceRegion","Resort","replaceResort","ArrivalAirports","AirportCode","setGeoStart","DepartureAirports","LocationSeasonDates","overideError","body","getBoundingClientRect","top","setTimeout","activateNoScroll","scrollBy","removeNoScroll","ViewManager","hasTransitionedAboveAndWithin","hasTransitionedBelow","data","push","sort","queryString","geoLocation","activeRegion","which","keyCode","selected","parentNode","scrollTop","offsetTop","specifiedElement","getElementById","inputDom","isClickInside","isClickInsideInput","geo","searchedLocation","resort","region","x","navigator","userAgent","match","evt","selectedRegionObject","departureAirports","locationSeasonDates","selectedResortObject","isBelow","on","EVENT_UPDATE","off","tier","forceOpenOverlay","item","isNotFilteredRegion","isNotFilteredResort","isRegion","isCountryARegion","isResortARegion","foundSelectableRegion","regionIsResort","object","getListGeoData","handleOverlayToggle","remove","concat","_toConsumableArray","regionName","geoDatum","transitionedAboveTablet","typeaheadMobileElement","typeaheadFullScreenActive","scrollIntoView","focus","_this5","tierOneClass","tierTwoClass","tierThreeClass","translate3d","transform","typeaheadListClass","typeaheadListTestClass1","isAppleSafari","typeaheadListTestClass2","searchBarTest1","searchBarTest2","data-element","toggleFullSearchBar","autoComplete","itemClass","onMouseEnter","_svgReact2","dangerouslySetInnerHTML","__html","errorMsg","FullWidth","initMultiCenterSearch","MultiCenterSearch","multiCenterSearchComponent","onTabClick","tabName","changeTab","React","selectedTab","hidden","data-toggle","method","action","searchURL","setFormRef","_legacy2","Location","updateRegion","_calendar2","_duration2","_invalidDates2","_airports2","_submitButton2","_selfTravel2","_direct2","_roomNumber2","_roomList2","_childMessage2","recentSearches","toggleHandler","searchIndex","href","url","moment","departureAirport","Math","floor","getTotalAdultsString","getTotalChildrenString","getTotalInfantsString","updateSelectedTags","handleMultiCentreSearch","inspirationTags","showWhoValidation","showWhatValidation","showWhenValidation","selectedLocation","hotelCode","_hiddenValues2","_dictionary","_queryHelpers","formRef","submit","handleSubmit","destination","queryValue","numberOfNights","occupancyCount","currency","typeAhead","activeResort","maxNumNights","roomLimit","adultLimit","childLimit","infantLimit","defaultChildAge","dateRange","Direct Flights","Duration Fllexibility","DurationDate","Invalid Dates Error","Child Message Advice","Children Age Message","Max number of PAX error","Max number of Infants error","dateError","hasSearched","searchParams","StartDate","Duration","Airport","Occupancy","calendarActive","selectedLocationDates","hasLoaded","dataError","getTotalOccupancy","daydiff","parseDate","isOutsideRange","displayError","whoIds","whatIds","whenIds","WhoTags","element","Id","WhatTags","WhenTags","inspirationResultsPage","join","newAirportOrder","airportOrder","airportOrderItem","splice","sortAirports","a","b","AirportName","seasonDates","isNotNullOrEmptyArray","seasonFromDate","FromDate","seasonToDate","ToDate","isBetween","sortedSeasonDates","handleSeasonDates","compare","validationEls","count","parseInt","searchbarData","dataset","componentLabel","limits","componentMetadata","componentGeogrpahydata","errorMessage","componentErrorMessage","componentInspirationMetadata","componentInspirationResultsPage","isCollection","componentIsCollection","relatedCollection","componentRelatedCollection","currentDestination","componentCurrentDestination","componentAirportOrder","tag","TagName","_extends","searchObj","substring","room0adults","selftravel","currentSearch","buildForm","travelinkLocation","split","pop","trim","sortedAirports","childArray","MinChildAge","MaxChildAge","MinNumberOfNights","MaxNumberOfNights","Value","Name","MaxRooms","MaxNumberOfAdults","MaxNumberOfChilds","MaxNumberOfInfants","ShowInfants","DefaultChildAge","MaxCalendarMonths","SearchResultPage","input","childAges","adults","children","infants","childIndex","query_string","lets","pair","decodeURIComponent","arr","str","mdy","Date","first","second","storage","localStorage","getItem","reverse","storageJSON","styles","getComputedStyle","minHeight","getDictionary","random","getGeoData","route","getText","limit","property","check","newValue","validateInfants","availableDayFirst","availableDayLast","blockedDayFirst","blockedDayLast","blockDates","isDateBlocked","clone","firstFromDate","firstToDate","firstAvailableDate","autoClose","documentElement","header","stopPropagation","stickyBanner","scrollContainer","iPhone","Mac","iPod","iOS","tagList","recentSearch","totalAdults","Number","totalChildren","totalInfants","class","clientWidth","isAirportValid","startDateString","_sidebar2","setSelfTravel","_fullWidth2","FALLBACK_LIMITS","SC_BOOL","TRUE","FALSE","tabs","activeTab","tab","text","toggleStickyLayouts","headers","toggle","stickyFooter","selectedHotel","room","roomIndex","searchUrl","getPartyStringFromSearch","holidayLabel","hotelOnlyLabel","departureAirportName","hasFlights","partyString","RecentSearches","handleClicked","contentRef","closeRecentSearch","backgroundRef","isOpen","recentSearchesTitle","_RecentSearch2","generateIntArray","start","end","fill","_","onSelect","infantLabel","_helpers","handleClose","infantAges","_AgeOption2","Room","modifyAdultCount","change","addingOrRemoving","addChild","closeAgeSelect","removeChild","removeInfant","ageSelectIsOpen","removeRoom","from","infant","infantIndex","openAgeSelect","_AgeSelect2","Guests","isPopoverOpen","containerRef","closePopover","handleInputClick","openPopover","discard","discardGuestChanges","applyGuestChanges","addRoom","tempSearchParams","overrideGuestInteraction","roomId","_Room2","directLabel","_ref$recentSearchCoun","_RecentSearchButton2","_search","searchTabLabel","multicentreTabLabel","tabsClass","SEARCH_TABS","SEARCH","MULTICENTRE","isModal","onSubTabClick","SEARCH_SUB_TABS","HOLIDAY","activeSubTab","closeModal","isModalOpen","_modals2","scrollTo","prevScrolledPosition","openModal","currentScrollDepth","scrollY","HOTEL_ONLY","hasScrolled","doesOverlap","searchBarClasses","wrapperClasses","searchBarClass","wrapperClass","containerClass","modalControlText","subTabs","setSearchBarRef","_Tabs2","_SubTabs2","_Options2","_Typeahead2","noResultsLabel","ourLocationsLabel","countriesLabel","resortsLabel","regionsLabel","clearDates","_Guests2","_HiddenInputs2","_RecentSearches2","DepartureAirport","departureAirportRef","handleAirportClick","openList","closeList","getInvalidClass","_sitecore","_constants","isValidQuery","presentQueryKeys","REQUIRED_PARAM","every","val","searchBarRef","sumArray","reduce","curr","acc","calculatePartyString","getRoomCount","removeStringsFromNumber","replaceAll","getPartyString","ScrollLockManager","release","lock","_this$searchBarRef$ge","searchBarTopOffset","searchBarHeight","_window","positionToMoveTo","innerHeight","getElementRect","left","behavior","directValue","Adult Age Label","Infant Search Option","Hotel only","Recent searches","Infants message","Search Results","Location List Error","Who Tag Select Label","What Tag Select Label","When Tag Select Label","Who Tag Select Error","What Tag Select Error","When Tag Select Error","Hotel Search Tab","Multi Centre Search Tab","Multi Centre Search Button","Departure Flexibility","Apply","Clear","Destination Menu Heading","Departure Airport Menu Heading","Add a Room","Add a Child","Recent Search Modal Title","Countries","Regions","Resorts","Find your holiday","Inspire my holiday","No Results","Destination Placeholder","Departure Airport Placeholder","Departure Date Input Placeholder","Return Date Input Placeholder","Hotels","Holiday","Guests Placeholder","Check-in Date","Check-out Date","Who Placeholder","What Placeholder","When Placeholder","Travel Dates Heading","Destination","hotelLocation","HotelCode","parsedSelfTravel","cmsLabels","componentDoesOverlap","componentIsFullWidth","currentRoomCount","incomingProperty","_state$limits","minChildAge","isInfant","foundChild","findIndex","childAge","tomorrow","dayAfterTomorrow","isSame","some","diff","mobileWrapper","searchBasket","hasSelectedRegion","hasDates","airportIsValid"],"mappings":"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","file":"SearchBarRender-f8f256e651ae08681398.js","sourcesContent":["import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\n\r\nimport Searchbar from '../../react/Navigation/Searchbar';\r\nimport LegacySearchBar from '../../react/Navigation/legacy';\r\n\r\nexport default class {\r\n\tconstructor(context) {\r\n\t\tthis.context = context;\r\n\t\t// Show old searchbar where we would show the 'Sidebar' version (e.g. 'Check Pricing' \r\n\t\t// on hotel pages). Temporary until that is re-designed and can be worked into the new components\r\n\t\tthis.isLegacy = document.querySelector('[data-element=\"search-basket\"]') !== null;\r\n\t\tthis.init();\r\n\t}\r\n\r\n\tinit() {\r\n\t\tconst SearchComponent = this.isLegacy ? LegacySearchBar : Searchbar;\r\n\t\tReactDOM.render(\r\n\t\t\t, this.context\r\n\t\t);\r\n\t}\r\n}\r\n","export const MONTHS = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\r\n\r\nexport const TRUNCATED_DAYS = ['S', 'S', 'M', 'T', 'W', 'T', 'F'];\r\nexport const DAYS = ['Sat', 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri'];\r\n\r\nexport const API_FORMAT = \"YYYY-MM-DD\";\r\nexport const DISPLAY_FORMAT = \"DD/MM/YYYY\";","import React from 'react';\r\n\r\nconst Direct = ({\r\n handleDirect,\r\n dictionary,\r\n\r\n direct,\r\n isFullWidth,\r\n componentIdentifier\r\n}) => {\r\n let checkboxClass = isFullWidth ? \"form-control-static form-ui-checkbox\" : \"form-ui-checkbox\";\r\n return (\r\n
\r\n handleDirect()} />\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default Direct;\r\n","import React from 'react';\r\n\r\nconst InvalidDates = ({\r\n shouldErrorBeShown,\r\n\r\n labels\r\n}) => {\r\n return (\r\n
\r\n {shouldErrorBeShown() && {labels[\"Invalid Dates Error\"]} }\r\n
\r\n );\r\n}\r\n\r\nexport default InvalidDates;\r\n","import React from 'react';\r\n\r\nconst ChildMessage = ({\r\n labels,\r\n showInfants,\r\n childCount\r\n}) => {\r\n return (\r\n
\r\n {!showInfants && childCount > 0 &&\r\n
\r\n Have infants? Call one of our travel experts to book your holiday: 01293 762 410\r\n
\r\n {labels[\"Child Message Advice\"]}\r\n
\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default ChildMessage;\r\n","import React from 'react';\r\n\r\nconst SubmitButton = ({\r\n labels,\r\n isSubmitDisabled,\r\n isFullWidth\r\n}) => {\r\n if (isFullWidth) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default SubmitButton;\r\n","import React from 'react';\r\n\r\nconst RoomsList = ({\r\n handleOccupancy,\r\n\r\n occupancy,\r\n ChildAges,\r\n labels,\r\n showInfants,\r\n childRange,\r\n isFullWidth\r\n}) => {\r\n return (\r\n
\r\n {occupancy.map((country, index) => (\r\n
\r\n
Room {index + 1}
\r\n {showInfants &&\r\n [\r\n
\r\n
\r\n
{labels.Adults}
\r\n
\r\n \r\n {occupancy[index].Adults}\r\n \r\n \r\n
\r\n
\r\n
\r\n ,
\r\n
\r\n
{labels.Children}
\r\n
\r\n \r\n {occupancy[index].Children}\r\n \r\n \r\n
\r\n
\r\n
\r\n ,
\r\n
\r\n
{labels.Infants}
\r\n
\r\n \r\n {occupancy[index].Infants}\r\n \r\n \r\n
\r\n
\r\n
\r\n ]\r\n }\r\n {!showInfants &&\r\n [\r\n
\r\n
\r\n
{labels.Adults}
\r\n
\r\n \r\n {occupancy[index].Adults}\r\n \r\n \r\n
\r\n
\r\n
\r\n ,
\r\n
\r\n
{labels.Children}
\r\n
\r\n \r\n {occupancy[index].Children}\r\n \r\n \r\n
\r\n
\r\n
\r\n ]\r\n }\r\n
\r\n {ChildAges[index].ages.map((child, cIndex) => (\r\n
\r\n \r\n \r\n
\r\n ))}\r\n
\r\n
\r\n ))}\r\n
\r\n );\r\n}\r\n\r\nexport default RoomsList;\r\n","import React from 'react';\r\n\r\nconst RoomNumber = ({\r\n handleRoomSizeChange,\r\n\r\n labels,\r\n options,\r\n rooms,\r\n validOccupancy,\r\n validMaxNumberOfInfants,\r\n isFullWidth\r\n}) => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n {!validOccupancy &&\r\n
\r\n {labels[\"Max number of PAX error\"]}\r\n
\r\n }\r\n {!validMaxNumberOfInfants &&\r\n
\r\n {labels[\"Max number of Infants error\"]}\r\n
\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default RoomNumber;\r\n","import React from 'react';\r\nimport CustomSelect from '../../../Atoms/CustomSelect';\r\n\r\nconst Airports = ({\r\n handleAirportChange,\r\n\r\n labels,\r\n airports,\r\n airport,\r\n selfTravel,\r\n airportDisplayName,\r\n componentIdentifier\r\n}) => {\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default Airports;\r\n","import React from 'react';\r\n\r\nconst SelfTravel = ({\r\n handleSelfTravel,\r\n\r\n selfTravel,\r\n isFullWidth,\r\n componentIdentifier\r\n}) => {\r\n let checkboxClass = isFullWidth ? \"form-control-static form-ui-checkbox\" : \"form-ui-checkbox\";\r\n return (\r\n
\r\n handleSelfTravel()} />\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default SelfTravel;","import React from 'react';\r\nimport SelectBox from '../../../Atoms/SelectBox';\r\n\r\nconst Duration = ({\r\n handleDurationChange,\r\n\r\n availableDurations,\r\n duration,\r\n componentIdentifier\r\n}) => {\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default Duration;\r\n","import moment from 'moment';\r\nimport React, { Component } from 'react';\r\nimport ShowOtherDates from './show-other-dates';\r\nimport { tabletBreakpoint } from '../../../../../constants/breakpoints';\r\n\r\nexport default class Calendar extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.dateFormat = \"DD-MM-YYYY\";\r\n\r\n this.state = {\r\n singleDatePicker: null,\r\n singleDatePickerLoaded: false,\r\n textDate: '',\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n // if user has searched then load calendar immediately\r\n if (this.props.startDate !== null) {\r\n this.setState({\r\n pageFirstLoad: true,\r\n }, () => {\r\n this.toggleCalender();\r\n });\r\n }\r\n }\r\n\r\n toggleCalender = async () => {\r\n const { SingleDatePicker } = await import(/* webpackChunkName: \"react-dates\" */ 'react-dates');\r\n\r\n if (SingleDatePicker) {\r\n this.setState({ singleDatePicker: SingleDatePicker });\r\n }\r\n\r\n if (this.props.isMobile && !this.state.pageFirstLoad) {\r\n this.props.handleCalendarToggle(true);\r\n } else if (this.props.isMobile && this.state.pageFirstLoad) {\r\n this.setState({ pageFirstLoad: false });\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.state.singleDatePicker && !this.state.singleDatePickerLoaded) {\r\n\r\n if (this.props.startDate === null) {\r\n // display calendar when user clicks on fake datepicker.\r\n const focused = {\r\n focused: true,\r\n }\r\n this.props.onFocusChange(focused);\r\n }\r\n\r\n this.setState({ singleDatePickerLoaded: true });\r\n }\r\n }\r\n\r\n handleTextDateInput = (e) => {\r\n const { target } = e;\r\n this.setState({ textDate: target.value })\r\n if (target.value === '') return;\r\n const inputDate = moment(target.value, this.dateFormat);\r\n // more date validation\r\n const monthsFromToday = moment().add(this.props.maxCalendarMonths, 'months');\r\n const today = moment();\r\n // Using HTML5 Validation API for simple validation (using pattern attribute)\r\n if (inputDate && (today.isAfter(inputDate) || inputDate.isAfter(monthsFromToday))) {\r\n target.setCustomValidity('invalid value');\r\n return;\r\n } else {\r\n target.setCustomValidity(\"\");\r\n };\r\n if (!target.checkValidity()) return;\r\n this.props.handleDate(inputDate, false);\r\n }\r\n\r\n handleCalendarSelect = (date) => {\r\n this.props.handleDate(date);\r\n this.setState({\r\n textDate: date.format(this.dateFormat),\r\n })\r\n }\r\n\r\n // Function for duplicating the 'week header' in the calendar\r\n // This is needed as it's normally fixed, but it's needed on each\r\n // month\r\n copyWeekHeaders = () => {\r\n if (!this.props.isMobile) return;\r\n const weekHeaders = document.querySelectorAll(\".DayPicker__week-header\");\r\n if (weekHeaders.length !== 1) return;\r\n const monthElements = document.querySelectorAll('.CalendarMonth__caption');\r\n // Hide original header\r\n weekHeaders[0].style.display = 'none';\r\n monthElements.forEach((month) => {\r\n const weekHeaderClone = weekHeaders[0].cloneNode(true);\r\n weekHeaderClone.classList.add('week-header-alt')\r\n // override for style added by the library\r\n weekHeaderClone.style.marginLeft = '0';\r\n weekHeaderClone.style.display = 'flex';\r\n month.appendChild(weekHeaderClone);\r\n })\r\n }\r\n\r\n render() {\r\n const { singleDatePicker: SingleDatePicker, textDate } = this.state;\r\n\r\n const {\r\n handleCalendarToggle,\r\n onFocusChange,\r\n initialVisibleMonth,\r\n fakedateStartText,\r\n startDate,\r\n focused,\r\n isMobile,\r\n isDayBlocked,\r\n datepickerClass,\r\n maxCalendarMonths,\r\n handleShowOtherDates,\r\n showOtherDates,\r\n componentIdentifier,\r\n showOtherDatesLabel\r\n } = this.props;\r\n\r\n const formattedDate = moment(startDate).format(this.dateFormat);\r\n // Show checkbox always on desktop, but only if the calendar is active on mobile\r\n const isUnderTablet = window.innerWidth < tabletBreakpoint;\r\n const shouldShowCheckbox = (!isUnderTablet || (isUnderTablet && this.props.isCalendarActive));\r\n\r\n this.copyWeekHeaders();\r\n\r\n return (\r\n
\r\n {isMobile &&\r\n
\r\n {SingleDatePicker\r\n ?\r\n
handleCalendarToggle(true)} className=\"FakeDateInput\">\r\n \r\n
{startDate ? formattedDate : fakedateStartText}
\r\n
\r\n :\r\n
\r\n \r\n
{startDate ? formattedDate: fakedateStartText}
\r\n
\r\n }\r\n
\r\n }\r\n
\r\n {isMobile &&\r\n
handleCalendarToggle(false)}>X
\r\n }\r\n {SingleDatePicker\r\n ?\r\n
\r\n {isMobile &&\r\n \r\n }\r\n this.handleCalendarSelect(startDate)}\r\n onFocusChange={focused => onFocusChange(focused)}\r\n focused={focused}\r\n hideKeyboardShortcutsPanel={true}\r\n orientation={isMobile ? 'vertical' : 'horizontal'}\r\n displayFormat={this.dateFormat}\r\n showDefaultInputIcon={true}\r\n numberOfMonths={isMobile ? maxCalendarMonths : 1}\r\n isDayBlocked={isDayBlocked}\r\n initialVisibleMonth={initialVisibleMonth}\r\n renderCalendarInfo={() => \r\n }\r\n />\r\n
\r\n :\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {startDate !== null ? startDate.format(this.dateFormat) : 'Date'}\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","export const getQueryValue = (key, defaultValue = false) => {\r\n if (!key) return defaultValue;\r\n const query = window.location.search;\r\n if (!query) return defaultValue;\r\n const params = new URLSearchParams(query);\r\n if (!params || !params.has(key)) return defaultValue;\r\n const value = params.get(key);\r\n return Array.isArray(value) ? value[0] : value;\r\n}\r\n","import React from 'react'\r\n\r\nconst RecentSearchButton = ({\r\n showRecentSearch,\r\n recentSearchText,\r\n openRecentSearch,\r\n recentSearchCount,\r\n isFullWidth = false,\r\n}) => {\r\n if (!showRecentSearch) return
\r\n const fullWidthClass = isFullWidth ? 'SearchBar_recentSearch-full' : '';\r\n const recentSearchLabel = recentSearchText.replace(\"{0}\", recentSearchCount);\r\n return (\r\n \r\n
\r\n \r\n \r\n {recentSearchLabel}\r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nexport default RecentSearchButton","import React from 'react';\r\n\r\nconst SubmitButton = ({\r\n labels,\r\n isSubmitDisabled,\r\n isFullWidth\r\n}) => {\r\n if (isFullWidth) {\r\n return (\r\n
\r\n
\r\n \r\n {labels.Search}\r\n
\r\n \r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default SubmitButton;\r\n","import React from 'react';\r\nimport DepartureAirports from '../components/DepartureAirports';\r\n\r\nconst Airports = ({\r\n handleAirportChange,\r\n departureLabel,\r\n departurePlaceholderLabel,\r\n airports,\r\n selfTravel,\r\n disabled,\r\n airportDisplayName,\r\n componentIdentifier,\r\n closeMainModal,\r\n}) => {\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default Airports;\r\n","export const QUERY_PARAMS = {\r\n START_DATE: 'startDate',\r\n END_DATE: 'endDate',\r\n GEO_NAME: 'geoLocationName',\r\n SHOW_OTHER_DATES: 'showOtherDates',\r\n DURATION: 'duration',\r\n SELF_TRAVEL: 'selftravel',\r\n DIRECT: 'direct',\r\n DEPARTURE_AIRPORT: 'departureAirport',\r\n ARRIVAL_AIRPORT: 'arrivalAirport',\r\n ROOMS: 'rooms',\r\n DATE: 'date',\r\n};\r\n\r\nexport const REQUIRED_SEARCH_PARAMS = [\r\n QUERY_PARAMS.DATE,\r\n QUERY_PARAMS.DURATION,\r\n QUERY_PARAMS.ROOMS,\r\n QUERY_PARAMS.SHOW_OTHER_DATES,\r\n QUERY_PARAMS.SELF_TRAVEL,\r\n QUERY_PARAMS.DIRECT,\r\n QUERY_PARAMS.GEO_NAME,\r\n];\r\n","import moment from 'moment';\r\nimport React, { Component } from 'react';\r\nimport ShowOtherDates from './show-other-dates';\r\nimport { tabletBreakpoint } from '../../../../../constants/breakpoints';\r\nimport { DISPLAY_FORMAT } from '../../../../../constants/dates';\r\nimport TextDatePicker from '../components/TextDatePicker';\r\nimport { QUERY_PARAMS } from '../query';\r\n\r\nexport default class Calendar extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.dateFormat = \"DD-MM-YYYY\";\r\n\r\n this.possibleDateDelimiters = ['-', '/', '.'];\r\n\r\n this.state = {\r\n dateRangePicker: null,\r\n dateRangePickerLoaded: false,\r\n textDate: '',\r\n startDate: null,\r\n endDate: null,\r\n focusedInput: null,\r\n pickerIsOpen: false,\r\n tempDates: {\r\n startDate: null,\r\n endDate: null,\r\n },\r\n textDates: {\r\n startDate: '',\r\n endDate: '',\r\n }\r\n };\r\n\r\n this.flexibilityCheckboxId = 'ShowOtherDates_checkbox';\r\n this.flexibilityCheckboxLabelId = 'ShowOtherDates_checkboxLabel';\r\n this.clearButtonId = 'ShowOtherDates_button-clear';\r\n this.applyButtonId = 'ShowOtherDates_button-apply';\r\n\r\n this.footerElementIDs = [\r\n this.applyButtonId,\r\n this.clearButtonId,\r\n this.flexibilityCheckboxId,\r\n this.flexibilityCheckboxLabelId\r\n ];\r\n\r\n this.datepickerRef = null;\r\n this.pickerFooterRef = null;\r\n }\r\n\r\n componentDidMount() {\r\n // if user has searched then load calendar immediately\r\n if (this.props.startDate !== null) {\r\n this.setState({\r\n pageFirstLoad: true,\r\n }, () => {\r\n this.toggleCalendar();\r\n });\r\n };\r\n }\r\n\r\n componentDidMount = async () => {\r\n document.addEventListener(\"click\", this.hasClickedOutside, { passive: true });\r\n // If we have dates provided (from a current search) populate here\r\n const { startDate, endDate } = this.props;\r\n if (startDate && endDate) {\r\n // If we have dates provided, we need to load the calendar in to populate\r\n await this.loadCalendar();\r\n this.handleCalendarSelect(startDate, endDate);\r\n this.setState({\r\n startDate,\r\n endDate\r\n });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n document.removeEventListener(\"click\", this.hasClickedOutside);\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.state.dateRangePicker && !this.state.dateRangePickerLoaded) {\r\n\r\n if (this.props.startDate === null || this.props.endDate === null) {\r\n // display calendar when user clicks on fake datepicker.\r\n this.props.onFocusChange('startDate');\r\n }\r\n\r\n this.setState({ dateRangePickerLoaded: true });\r\n }\r\n }\r\n\r\n hasClickedOutside = (e) => {\r\n const { id } = e.target;\r\n // Dynamic datepicker is taken out of the DOM on close, so we need to check the target directly\r\n const hasClickedOnFooterElement = this.footerElementIDs.includes(id);\r\n if ((this.datepickerRef && !this.datepickerRef.contains(e.target)) && !hasClickedOnFooterElement) {\r\n // Clicked outside datepicker and datepicker footer elements\r\n this.closeRangePicker(false);\r\n }\r\n }\r\n\r\n setFooterRef = (el) => {\r\n this.pickerFooterRef = el;\r\n }\r\n\r\n closeRangePicker = (saveChanges = true) => {\r\n this.setState({\r\n pickerIsOpen: false,\r\n });\r\n\r\n // If we are aren't saving the current values, go back to\r\n // what we had previously selected, otherwise update\r\n const {\r\n startDate,\r\n endDate,\r\n } = !saveChanges ? this.state : this.state.prevDates;\r\n\r\n this.resetDatesTo(startDate, endDate);\r\n\r\n if (this.props.isMobile) {\r\n this.props.handleCalendarToggle(false);\r\n }\r\n }\r\n\r\n clearRangePicker = (e) => {\r\n if (e) e.preventDefault();\r\n this.setState({\r\n tempDates: {\r\n startDate: null,\r\n endDate: null,\r\n },\r\n duration: 0,\r\n });\r\n this.resetDatesTo(null, null);\r\n this.props.onFocusChange('startDate');\r\n }\r\n\r\n resetDatesTo = (startDate, endDate) => {\r\n this.setState({\r\n startDate,\r\n endDate,\r\n tempDates: {\r\n startDate,\r\n endDate,\r\n },\r\n textDates: {\r\n startDate: {\r\n value: this.formatDate(startDate),\r\n isValid: !!startDate,\r\n },\r\n endDate: {\r\n value: this.formatDate(endDate),\r\n isValid: !!endDate,\r\n }\r\n }\r\n });\r\n }\r\n\r\n loadCalendar = async () => {\r\n if (this.state.dateRangePicker) return;\r\n\r\n const { DateRangePicker } = await import(/* webpackChunkName: \"react-dates\" */ 'react-dates');\r\n\r\n if (DateRangePicker) {\r\n this.setState({ dateRangePicker: DateRangePicker });\r\n }\r\n }\r\n\r\n toggleCalendar = async () => {\r\n this.props.scrollToPickers();\r\n\r\n this.loadCalendar();\r\n\r\n this.props.onFocusChange(QUERY_PARAMS.START_DATE);\r\n\r\n if (this.props.isMobile && !this.state.pageFirstLoad) {\r\n this.props.handleCalendarToggle(true);\r\n } else if (this.props.isMobile && this.state.pageFirstLoad) {\r\n this.setState({ pageFirstLoad: false });\r\n }\r\n\r\n this.setState({\r\n pickerIsOpen: !this.state.pickerIsOpen,\r\n })\r\n }\r\n\r\n handleCalendarSelect = (startDate, endDate) => { \r\n this.setState({\r\n tempDates: {\r\n startDate,\r\n endDate,\r\n },\r\n textDates: {\r\n startDate: {\r\n value: this.formatDate(startDate, DISPLAY_FORMAT),\r\n isValid: true,\r\n },\r\n endDate: {\r\n value: this.formatDate(endDate, DISPLAY_FORMAT),\r\n isValid: true,\r\n }\r\n }\r\n })\r\n };\r\n\r\n handleApply = (e) => {\r\n if (e) e.preventDefault();\r\n const { tempDates } = this.state;\r\n const { startDate, endDate } = tempDates;\r\n this.props.handleDate(startDate, endDate, false);\r\n this.props.onFocusChange(null);\r\n this.props.handleCalendarToggle(false);\r\n this.setState({\r\n startDate,\r\n endDate,\r\n });\r\n };\r\n\r\n closePicker = (e) => {\r\n if (e) e.preventDefault();\r\n this.props.handleCalendarToggle(false)\r\n }\r\n\r\n closeAll = (e) => {\r\n if (e) e.preventDefault();\r\n this.closePicker();\r\n this.props.closeMainModal();\r\n }\r\n\r\n // Function for duplicating the 'week header' in the calendar\r\n // This is needed as it's normally fixed, but it's needed on each\r\n // month\r\n copyWeekHeaders = () => {\r\n if (!this.props.isMobile) return;\r\n const weekHeaders = document.querySelectorAll(\".DayPicker__week-header\");\r\n if (weekHeaders.length !== 1) return;\r\n const monthElements = document.querySelectorAll('.CalendarMonth__caption');\r\n // Hide original header\r\n weekHeaders[0].style.display = 'none';\r\n monthElements.forEach((month) => {\r\n const weekHeaderClone = weekHeaders[0].cloneNode(true);\r\n weekHeaderClone.classList.add('week-header-alt')\r\n // override for style added by the library\r\n weekHeaderClone.style.marginLeft = '0';\r\n weekHeaderClone.style.display = 'flex';\r\n month.appendChild(weekHeaderClone);\r\n })\r\n }\r\n\r\n openPicker = () => {\r\n this.setState({\r\n pickerIsOpen: true,\r\n })\r\n }\r\n\r\n inputClick = (e) => {\r\n const { name } = e.target;\r\n this.props.onFocusChange(name);\r\n }\r\n\r\n formatDate = (date, format = DISPLAY_FORMAT) => {\r\n const momentDate = moment(date);\r\n if (!momentDate.isValid()) return '';\r\n return momentDate.format(format);\r\n }\r\n\r\n handleTextInput = (e) => {\r\n const { name, value } = e.target;\r\n const requiredLength = 10;\r\n let isValid = false;\r\n if (value.length === requiredLength) {\r\n const delimiter = this.possibleDateDelimiters.find((delimiter) => {\r\n return new RegExp(`[${delimiter}]`).test(value)\r\n })\r\n const date = moment(\r\n e.target.value,\r\n `DD${delimiter}MM${delimiter}YYYY`\r\n );\r\n isValid = date.isValid();\r\n const isBlocked = this.props.isDayBlocked(date);\r\n if (isValid && !isBlocked) {\r\n this.setState({\r\n tempDates: {\r\n ...this.state.tempDates,\r\n [name]: date,\r\n },\r\n })\r\n }\r\n }\r\n\r\n this.setState({\r\n textDates: {\r\n ...this.state.textDates,\r\n [name]: {\r\n value,\r\n isValid,\r\n },\r\n }\r\n })\r\n }\r\n\r\n render() {\r\n const { dateRangePicker: DateRangePicker } = this.state;\r\n\r\n const {\r\n handleCalendarToggle,\r\n onFocusChange,\r\n initialVisibleMonth,\r\n fakedateStartText,\r\n focused,\r\n isMobile,\r\n isDayBlocked,\r\n datepickerClass,\r\n maxCalendarMonths,\r\n handleShowOtherDates,\r\n showOtherDates,\r\n componentIdentifier,\r\n showOtherDatesLabel,\r\n isCalendarActive,\r\n clearLabel,\r\n applyLabel,\r\n dateRangeLabel,\r\n invalidDatesLabel,\r\n startDatePlaceholder,\r\n endDatePlaceholder,\r\n checkInDateLabel,\r\n checkOutDateLabel,\r\n title,\r\n placeholder\r\n } = this.props;\r\n\r\n const { startDate, endDate, textDates } = this.state;\r\n\r\n const formattedStartDate = this.formatDate(startDate, DISPLAY_FORMAT);\r\n const formattedEndDate = this.formatDate(endDate, DISPLAY_FORMAT);\r\n // Show checkbox always on desktop, but only if the calendar is active on mobile\r\n const isUnderTablet = window.innerWidth < tabletBreakpoint;\r\n const shouldShowCheckbox = (!isUnderTablet || (isUnderTablet && isCalendarActive));\r\n\r\n this.copyWeekHeaders();\r\n\r\n const displayDate = (startDate && endDate) ? `${formattedStartDate} - ${formattedEndDate}` : placeholder;\r\n\r\n const hasDefinedTextDates = textDates.startDate.value && textDates.endDate.value;\r\n\r\n return (\r\n
this.datepickerRef = el}>\r\n {isMobile &&\r\n
\r\n \r\n {isCalendarActive &&\r\n
\r\n
this.closePicker()}>\r\n \r\n
\r\n
this.closeAll()}>\r\n \r\n
\r\n
\r\n }\r\n {DateRangePicker\r\n ?\r\n
handleCalendarToggle(true)}>\r\n
{displayDate}
\r\n
\r\n :\r\n
\r\n
{displayDate}
\r\n
\r\n }\r\n
\r\n }\r\n
\r\n \r\n {this.props.isMobile && \r\n }\r\n {DateRangePicker\r\n ?
\r\n
\r\n this.handleCalendarSelect(startDate, endDate)}\r\n focusedInput={focused}\r\n onFocusChange={focused => onFocusChange(focused)}\r\n keepOpenOnDateSelect\r\n numberOfMonths={isMobile ? maxCalendarMonths : 2}\r\n orientation={isMobile ? 'vertical' : 'horizontal'}\r\n hideKeyboardShortcutsPanel\r\n displayFormat={DISPLAY_FORMAT}\r\n isDayBlocked={isDayBlocked}\r\n initialVisibleMonth={initialVisibleMonth}\r\n renderCalendarInfo={() =>\r\n
\r\n \r\n \r\n
\r\n }\r\n />\r\n
\r\n handleCalendarToggle(true)}\r\n readOnly\r\n />\r\n
\r\n :
\r\n {displayDate}\r\n
\r\n }\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar svg = function (_React$Component) {\n _inherits(svg, _React$Component);\n\n function svg() {\n _classCallCheck(this, svg);\n\n return _possibleConstructorReturn(this, Object.getPrototypeOf(svg).apply(this, arguments));\n }\n\n _createClass(svg, [{\n key: 'componentWillMount',\n value: function componentWillMount() {\n this.ajaxLoad();\n }\n }, {\n key: 'ajaxLoad',\n value: function ajaxLoad() {\n var ajax = new XMLHttpRequest();\n ajax.open(\"GET\", this.props.src, true);\n ajax.send();\n ajax.onloadend = function (e) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = e.target.responseXML.firstChild.childNodes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var value = _step.value;\n\n if (value.nodeType === 1) this.refs.svg.appendChild(value);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }.bind(this);\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props;\n var onClick = _props.onClick;\n var className = _props.className;\n var width = _props.width;\n var height = _props.height;\n var id = _props.id;\n var viewBox = _props.viewBox;\n var preserveAspectRatio = _props.preserveAspectRatio;\n\n return _react2.default.createElement('svg', { ref: 'svg', xmlns: 'http://www.w3.org/2000/svg', version: '1.1', viewBox: viewBox, preserveAspectRatio: preserveAspectRatio || \"xMinYMin meet\", onClick: onClick, id: id, width: width, height: height, className: className });\n }\n }]);\n\n return svg;\n}(_react2.default.Component);\n\nexports.default = svg;\n\nsvg.propTypes = {\n src: _react2.default.PropTypes.string.isRequired\n};","import React, { Component } from 'react';\r\nimport * as Sentry from '@sentry/browser';\r\nimport Svg from 'svg-react';\r\n\r\nimport ViewManager from '../../../../../managers/view';\r\nimport { isNotNullOrWhitespace, capitalizeFirstLetter } from '../../../../../util/empty-helpers.js';\r\nimport { tabletBreakpoint } from '../../../../../constants/breakpoints';\r\nimport { queryString } from '../../../../../util/location-helpers.js';\r\nimport { isAppleSafari, activateNoScroll, removeNoScroll } from '../../../../../util/dom-helpers.js';\r\n\r\nexport default class TypeaheadSearch extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n showPicker: false,\r\n showList: false,\r\n locations: [],\r\n geoData: [],\r\n selectedRegion: \"\",\r\n selectedResort: \"\",\r\n selectedCountry: \"\",\r\n geoLocationName: \"\",\r\n arrivalAirport: \"\",\r\n inputValue: \"\",\r\n activeItem: null,\r\n countries: [],\r\n regions: [],\r\n resorts: [],\r\n filteredRegions: [],\r\n filteredResorts: [],\r\n listCountry: \"\",\r\n listRegion: \"\",\r\n listResort: \"\",\r\n slideIndex: 0,\r\n viewportOffsetTop: 0,\r\n isMobile: false,\r\n mobileActive: false,\r\n displayAllRegion: false,\r\n hasSelected: false,\r\n hasInteracted: false,\r\n typeaheadSelected: \"\",\r\n displayTypeaheadError: false\r\n }\r\n\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSelectLocation = this.handleSelectLocation.bind(this);\r\n this.handleHover = this.handleHover.bind(this);\r\n this.detectKeyEvents = this.detectKeyEvents.bind(this);\r\n this.detectClickEvents = this.detectClickEvents.bind(this);\r\n this.handleListItemClick = this.handleListItemClick.bind(this);\r\n this.handleListBack = this.handleListBack.bind(this);\r\n this.isLocationValid = this.isLocationValid.bind(this);\r\n this.handleViewUpdate = this.handleViewUpdate.bind(this);\r\n this.toggleMobileFullScreenInput = this.toggleMobileFullScreenInput.bind(this);\r\n }\r\n\r\n componentDidCatch(error, errorInfo) {\r\n Sentry.withScope(scope => {\r\n Object.keys(errorInfo).forEach(key => {\r\n scope.setExtra(key, errorInfo[key]);\r\n });\r\n Sentry.captureException(error);\r\n });\r\n }\r\n\r\n handleChange(event) {\r\n let value = event.target.value,\r\n valueLowerCase = value.toLowerCase(),\r\n locations = [...this.state.geoData],\r\n showPicker = false,\r\n hasSelected = false;\r\n\r\n if (isNotNullOrWhitespace(value)) {\r\n this.setState({displayTypeaheadError: false});\r\n }\r\n\r\n this.setState({hasInteracted: true});\r\n\r\n if (valueLowerCase.length < 2) return this.setState({inputValue: value, showPicker});\r\n\r\n showPicker = true;\r\n locations = locations.filter((location) =>{\r\n\r\n // if result found\r\n if (location.GeoLocationName.toLowerCase().indexOf(valueLowerCase) != -1 ||\r\n location.Region.toLowerCase().indexOf(valueLowerCase) != -1 ||\r\n location.Country.toLowerCase().indexOf(valueLowerCase) != -1) {\r\n\r\n if (location.GeoLocationName === location.Region && !location.IsSearchable) {\r\n // if location is a region that isn't searchable eg \"Italian Lakes\"\r\n return false;\r\n }\r\n // if a full country name & not \"italy\"\r\n if (location.Country.toLowerCase() == valueLowerCase || location.Region.toLowerCase() == location.GeoLocationName.toLowerCase()) {\r\n return true\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n // no result returned\r\n return false;\r\n });\r\n\r\n let displayLocations = JSON.parse(JSON.stringify(locations));\r\n let regex = new RegExp(valueLowerCase, \"g\");\r\n let valueUpper = capitalizeFirstLetter(valueLowerCase);\r\n let regexUpper = new RegExp(valueUpper, \"g\");\r\n for (let i = 0; i < displayLocations.length; i++) {\r\n if (isNotNullOrWhitespace(displayLocations[i].GeoLocationName)) {\r\n let replaceGeoLocationName = displayLocations[i].GeoLocationName;\r\n replaceGeoLocationName = replaceGeoLocationName.replace(regex,''+valueLowerCase+'');\r\n replaceGeoLocationName = replaceGeoLocationName.replace(regexUpper,''+valueUpper+'');\r\n displayLocations[i].GeoLocationName = replaceGeoLocationName;\r\n }\r\n if (isNotNullOrWhitespace(displayLocations[i].Country)) {\r\n let replaceCountry = displayLocations[i].Country;\r\n replaceCountry = replaceCountry.replace(regex,''+valueLowerCase+'');\r\n replaceCountry = replaceCountry.replace(regexUpper,''+valueUpper+'');\r\n displayLocations[i].Country = replaceCountry;\r\n }\r\n if (isNotNullOrWhitespace(displayLocations[i].Region)) {\r\n let replaceRegion = displayLocations[i].Region;\r\n replaceRegion = replaceRegion.replace(regex,''+valueLowerCase+'');\r\n replaceRegion = replaceRegion.replace(regexUpper,''+valueUpper+'');\r\n displayLocations[i].Region = replaceRegion;\r\n }\r\n if (isNotNullOrWhitespace(displayLocations[i].Resort)) {\r\n let replaceResort = displayLocations[i].Resort;\r\n replaceResort = replaceResort.replace(regex,''+valueLowerCase+'');\r\n replaceResort = replaceResort.replace(regexUpper,''+valueUpper+'');\r\n displayLocations[i].Resort = replaceResort;\r\n }\r\n }\r\n\r\n this.setState({showPicker, locations, inputValue: value, displayLocations, hasSelected, hasInteracted: true});\r\n }\r\n\r\n handleSelectLocation(location) {\r\n // check to close mobile popup upon typeahead selection\r\n this.toggleMobileFullScreenInput();\r\n let selectedResort = \"\";\r\n let selectedRegion = \"\";\r\n let selectedCountry = \"\";\r\n if (isNotNullOrWhitespace(location.Resort)) {\r\n selectedResort = location.Resort;\r\n }\r\n if (isNotNullOrWhitespace(location.Region)) {\r\n selectedRegion = location.Region;\r\n }\r\n if (isNotNullOrWhitespace(location.Country)) {\r\n selectedCountry = location.Country;\r\n }\r\n let arrivalAirport = location.ArrivalAirports[0].AirportCode;\r\n let geoLocationName = location.GeoLocationName;\r\n\r\n this.setGeoStart(this.state.geoData, geoLocationName);\r\n this.props.update(selectedRegion, location.DepartureAirports, location.LocationSeasonDates);\r\n this.setState({\r\n selectedResort,\r\n selectedRegion,\r\n inputValue: location.GeoLocationName,\r\n arrivalAirport,\r\n geoLocationName,\r\n selectedCountry,\r\n showPicker: false,\r\n hasSelected: true,\r\n typeaheadSelected: location.GeoLocationName,\r\n });\r\n }\r\n\r\n handleHover(index) {\r\n this.setState({activeItem: index});\r\n }\r\n\r\n handleOverlayToggle(show, overideError) {\r\n if (this.state.countries.length === 1) {\r\n this.handleListItemClick(this.state.countries[0], 0, false)\r\n }\r\n\r\n if (this.state.isMobile) {\r\n if (show) {\r\n let viewportOffset = document.body.getBoundingClientRect();\r\n let viewportOffsetTop =- viewportOffset.top;\r\n setTimeout(activateNoScroll, 1000);\r\n this.setState({\r\n mobileActive: true,\r\n viewportOffsetTop\r\n });\r\n } else {\r\n window.scrollBy(0, this.state.viewportOffsetTop);\r\n if (isNotNullOrWhitespace(this.state.inputValue) || overideError) {\r\n this.setState({displayTypeaheadError: false});\r\n } else {\r\n this.setState({displayTypeaheadError: true});\r\n }\r\n this.setState({mobileActive: false});\r\n removeNoScroll(this.state.isMobile);\r\n }\r\n } else {\r\n if (show) {\r\n this.setState({showList: true});\r\n } else {\r\n if (isNotNullOrWhitespace(this.state.inputValue) || overideError) {\r\n this.setState({displayTypeaheadError: false});\r\n } else {\r\n this.setState({displayTypeaheadError: true});\r\n }\r\n this.setState({showList: false});\r\n }\r\n }\r\n }\r\n\r\n handleViewUpdate(event) {\r\n if (ViewManager.hasTransitionedAboveAndWithin(tabletBreakpoint)) {\r\n this.toggleMobileFullScreenInput(true);\r\n\r\n if (this.state.mobileActive) {\r\n this.setState({\r\n mobileActive: false,\r\n isMobile: false,\r\n showList: true,\r\n }, () => {\r\n removeNoScroll(this.state.isMobile);\r\n });\r\n } else {\r\n this.setState({\r\n mobileActive: false,\r\n isMobile: false,\r\n showList: false,\r\n }, () => {\r\n removeNoScroll(this.state.isMobile)\r\n });\r\n }\r\n } else if (ViewManager.hasTransitionedBelow(tabletBreakpoint)) {\r\n if (this.state.showList) {\r\n this.setState({\r\n mobileActive: true,\r\n isMobile: true,\r\n }, () => {\r\n setTimeout(activateNoScroll, 1000);\r\n });\r\n } else {\r\n this.setState({\r\n mobileActive: false,\r\n isMobile: true,\r\n showList: true,\r\n });\r\n removeNoScroll(this.state.isMobile);\r\n }\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n let geoData = [...this.state.geoData];\r\n let data = [...this.props.geoData];\r\n if (geoData.length !== data.length) {\r\n let countries = [];\r\n for (let i = 0; i < this.props.geoData.length; i++) {\r\n if (countries.indexOf(this.props.geoData[i].Country) === -1) {\r\n countries.push(this.props.geoData[i].Country);\r\n }\r\n }\r\n countries.sort();\r\n\r\n let query = queryString();\r\n let geoLocation = \"\";\r\n if (isNotNullOrWhitespace(query.geoLocationName)) {\r\n geoLocation = query.geoLocationName;\r\n }\r\n\r\n if (this.props.activeRegion !== 'default') {\r\n geoLocation = this.props.activeRegion;\r\n }\r\n this.setGeoStart(data, geoLocation);\r\n this.setState({locations: data, geoData: data, countries});\r\n }\r\n }\r\n\r\n detectKeyEvents(e) {\r\n if (this.state.showPicker) {\r\n var key = e.which || e.keyCode;\r\n if (key === 13) { // 13 is ENTER\r\n e.preventDefault();\r\n let locations = [...this.state.locations];\r\n let selectedResort = locations[this.state.activeItem].Resort;\r\n let selectedRegion = locations[this.state.activeItem].Region;\r\n let inputValue = locations[this.state.activeItem].GeoLocationName;\r\n let arrivalAirport = locations[this.state.activeItem].ArrivalAirports[0].AirportCode;\r\n let geoLocationName = locations[this.state.activeItem].GeoLocationName;\r\n this.props.update(selectedRegion, locations[this.state.activeItem].DepartureAirports);\r\n this.setState({showPicker: false, selectedResort, selectedRegion, inputValue, arrivalAirport, geoLocationName});\r\n } else if (key === 38) { // 38 is UP\r\n let value = this.state.activeItem;\r\n if (value !== 0) {\r\n e.preventDefault();\r\n value--;\r\n this.setState({activeItem: value});\r\n let selected = document.querySelector('#typeahead .active');\r\n selected.parentNode.scrollTop = selected.offsetTop;\r\n }\r\n } else if (key === 40) { // 40 is DOWN\r\n let value = this.state.activeItem;\r\n if (value !== this.state.locations.length - 1) {\r\n e.preventDefault();\r\n value++;\r\n this.setState({activeItem: value});\r\n let selected = document.querySelector('#typeahead .active');\r\n selected.parentNode.scrollTop = selected.offsetTop;\r\n }\r\n } else if (key === 9) {\r\n this.setState({showPicker: false});\r\n } else {\r\n this.props.update(\"default\", []);\r\n }\r\n }\r\n if (key = 9 && this.state.hasInteracted) {\r\n this.isLocationValid();\r\n }\r\n }\r\n\r\n detectClickEvents(event) {\r\n if (this.state.showPicker) {\r\n const specifiedElement = document.getElementById('typeahead');\r\n const inputDom = document.getElementById('typeaheadInput');\r\n if(specifiedElement) {\r\n const isClickInside = specifiedElement.contains(event.target);\r\n const isClickInsideInput = inputDom.contains(event.target);\r\n if (!isClickInside && !isClickInsideInput) {\r\n this.isLocationValid();\r\n this.setState({ showPicker: false });\r\n }\r\n } \r\n } else if (this.state.hasInteracted) {\r\n const specifiedElement = document.getElementById('typeaheadInput');\r\n const isClickInside = specifiedElement.contains(event.target);\r\n if (!isClickInside) {\r\n this.isLocationValid();\r\n }\r\n }\r\n\r\n if (this.state.showList && !this.state.isMobile) {\r\n const specifiedElement = document.getElementById('typeahead-list');\r\n if (specifiedElement) {\r\n const isClickInside = specifiedElement.contains(event.target);\r\n if (!isClickInside) {\r\n if (!isNotNullOrWhitespace(this.state.inputValue)) {\r\n this.setState({displayTypeaheadError: true});\r\n } else {\r\n this.setState({displayTypeaheadError: false});\r\n }\r\n this.setState({showList: false});\r\n }\r\n }\r\n }\r\n }\r\n\r\n isLocationValid() {\r\n if ((!this.state.hasSelected && this.state.inputValue !== this.state.typeaheadSelected) || this.state.inputValue === \"\") {\r\n this.setState({displayTypeaheadError: true});\r\n } else {\r\n this.setState({displayTypeaheadError: false});\r\n }\r\n }\r\n\r\n setGeoStart(geo, geoLocation) {\r\n // Filter out what should already be shown upon opening on a search results page.\r\n if (isNotNullOrWhitespace(geoLocation)) {\r\n let searchedLocation = geoLocation.replace(/\\+/g, ' ');\r\n for (let i = 0; i < geo.length; i++) {\r\n if (geo[i].GeoLocationName === searchedLocation) {\r\n let geoLocationName = geo[i].GeoLocationName;\r\n let resort = geo[i].Resort;\r\n let region = geo[i].Region;\r\n let country = geo[i].Country;\r\n let filteredRegions = [];\r\n let filteredResorts = [];\r\n let regions = [];\r\n let resorts = [];\r\n let displayAllRegion = false;\r\n\r\n if (geoLocationName === resort || geoLocationName === region) {\r\n let slideIndex = 1;\r\n\r\n for (let x = 0; x < geo.length; x++) {\r\n if (geo[x].Region === region && geo[x].Country === country && geo[x].Resort !== null) {\r\n filteredResorts.push(geo[x]);\r\n resorts.push(geo[x].GeoLocationName);\r\n }\r\n\r\n if (geo[x].GeoLocationName === region) {\r\n displayAllRegion = true;\r\n }\r\n\r\n if ((geo[x].Country === country && geo[x].Resort === null || geo[x].Country === country && geo[x].Country === geo[x].Region) && !geo[x].IsSearchable) {\r\n filteredRegions.push(geo[x]);\r\n regions.push(geo[x].GeoLocationName);\r\n }\r\n }\r\n resorts.sort();\r\n regions.sort();\r\n\r\n if (resorts.length > 0) {\r\n slideIndex = 1;\r\n }\r\n\r\n this.setState({\r\n listCountry: country,\r\n listRegion: region,\r\n listResort: resort,\r\n filteredRegions,\r\n filteredResorts,\r\n regions,\r\n resorts,\r\n displayAllRegion,\r\n slideIndex\r\n });\r\n break;\r\n } else if (geoLocationName === country) {\r\n this.setState({\r\n listCountry: country,\r\n slideIndex: 0\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n componentWillMount() {\r\n if (!this.state.hasInteracted) {\r\n const ua = navigator.userAgent,\r\n event = (ua.match(/iPad/i)) ? \"touchstart\" : \"click\";\r\n document.body.addEventListener('keydown', evt => this.detectKeyEvents(evt));\r\n document.body.addEventListener(event, evt => this.detectClickEvents(evt));\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n let query = queryString();\r\n let geoLocationName = \"\";\r\n let selectedRegion = \"\";\r\n let selectedResort = \"\";\r\n let selectedCountry = \"\";\r\n let arrivalAirport = \"\";\r\n let selectedRegionObject = null;\r\n\r\n if (isNotNullOrWhitespace(query.geoLocationName)) {\r\n geoLocationName = query.geoLocationName.replace(/\\+/g, ' ');\r\n }\r\n if (isNotNullOrWhitespace(query.region)) {\r\n selectedRegion = query.region.replace(/\\+/g, ' ');\r\n }\r\n if (this.props.activeRegion !== 'default') {\r\n let departureAirports = null;\r\n let locationSeasonDates = null;\r\n selectedRegion = this.props.activeRegion;\r\n selectedRegionObject = this.props.geoData.find(country => country.GeoLocationName === this.props.activeRegion);\r\n\r\n if (selectedRegionObject && selectedRegionObject.IsSearchable) {\r\n departureAirports = selectedRegionObject.DepartureAirports;\r\n arrivalAirport = selectedRegionObject.ArrivalAirports[0].AirportCode;\r\n locationSeasonDates = selectedRegionObject.LocationSeasonDates;\r\n geoLocationName = this.props.activeRegion;\r\n } else {\r\n const selectedResortObject = this.props.geoData.find(resort => resort.GeoLocationName === geoLocationName);\r\n if (selectedResortObject) {\r\n departureAirports = selectedResortObject.DepartureAirports;\r\n locationSeasonDates = selectedResortObject.LocationSeasonDates;\r\n geoLocationName = selectedResortObject.GeoLocationName;\r\n this.props.update(selectedRegion, departureAirports, locationSeasonDates);\r\n }\r\n }\r\n\r\n }\r\n if (isNotNullOrWhitespace(query.resort)) {\r\n selectedResort = query.resort.replace(/\\+/g, ' ');\r\n }\r\n if (isNotNullOrWhitespace(query.arrivalAirport)) {\r\n arrivalAirport = query.arrivalAirport.replace(/\\+/g, ' ');\r\n }\r\n if (isNotNullOrWhitespace(query.country)) {\r\n selectedCountry = query.country.replace(/\\+/g, ' ');\r\n }\r\n\r\n const isMobile = ViewManager.isBelow(tabletBreakpoint);\r\n\r\n let showList = isMobile ? true : false;\r\n\r\n let inputValue = '';\r\n if (selectedRegionObject && !selectedRegionObject.IsSearchable) {\r\n if (selectedResort) {\r\n geoLocationName = selectedResort;\r\n inputValue = geoLocationName;\r\n } else {\r\n inputValue = '';\r\n }\r\n } else if (geoLocationName !== '') {\r\n inputValue = geoLocationName;\r\n }\r\n\r\n this.setState({geoLocationName, selectedResort, selectedRegion, inputValue, arrivalAirport, selectedCountry, isMobile, showList});\r\n\r\n ViewManager.on(ViewManager.EVENT_UPDATE, this.handleViewUpdate);\r\n }\r\n\r\n\r\n componentWillUnmount() {\r\n ViewManager.off(ViewManager.EVENT_UPDATE, this.handleViewUpdate);\r\n }\r\n\r\n handleListItemClick(value, tier, forceOpenOverlay) {\r\n if (tier === 0) {\r\n const availableRegions = this.state.geoData.filter(geo => geo.Country === value);\r\n const filteredRegions = [];\r\n\r\n availableRegions.forEach(item => {\r\n // check that the item hasn't already been pushed to filteredRegions to stop duplicates displaying\r\n const isNotFilteredRegion = !filteredRegions.find(region => region.Region === item.GeoLocationName);\r\n // it is possible for resorts to display as regions where the country is the region, eg Morocco\r\n const isNotFilteredResort = !filteredRegions.find(region => region.Resort === item.GeoLocationName);\r\n\r\n // check if item is a standard region object\r\n const isRegion = item.GeoLocationName === item.Region && isNotFilteredRegion;\r\n // check if item is a country & country is also a region\r\n const isCountryARegion = item.Country === item.Region && isRegion && isNotFilteredRegion;\r\n const isResort = item.Resort !== null;\r\n // check if the item is a resort & the item.Country is also the region\r\n const isResortARegion = (isResort && item.Resort !== item.Region) && (item.Country === item.Region || item.Region === \"\") && isNotFilteredResort;\r\n\r\n if (isRegion || isCountryARegion || isResortARegion) {\r\n filteredRegions.push(item);\r\n }\r\n });\r\n\r\n if (filteredRegions.length === 1 && filteredRegions[0].GeoLocationName === value) {\r\n this.handleListItemClick(value, 2);\r\n } else {\r\n this.setState({\r\n filteredRegions,\r\n listCountry: value,\r\n slideIndex: 1,\r\n });\r\n }\r\n } else if (tier === 1) {\r\n const filteredResorts = this.state.geoData.filter(geo => geo.Resort && geo.Region === value);\r\n const foundSelectableRegion = this.state.filteredRegions.find(country => country.GeoLocationName === value);\r\n let regionIsResort;\r\n\r\n if (foundSelectableRegion) {\r\n regionIsResort = foundSelectableRegion.GeoLocationName === foundSelectableRegion.Resort;\r\n }\r\n\r\n if (foundSelectableRegion && foundSelectableRegion.IsSearchable || foundSelectableRegion && regionIsResort) {\r\n // if region is searchable then populate destination input\r\n this.handleListItemClick(value, 2);\r\n } else if (filteredResorts.length > 0 && foundSelectableRegion && !foundSelectableRegion.IsSearchable) {\r\n // if region is not searchable open tier 2\r\n this.setState({\r\n filteredResorts,\r\n listRegion: value,\r\n slideIndex: 2,\r\n displayAllRegion: false,\r\n });\r\n }\r\n } else if (tier === 2) {\r\n let object = this.state.filteredResorts.find(resort => resort.GeoLocationName === value);\r\n\r\n if (!object) {\r\n object = this.state.filteredRegions.find(region => region.GeoLocationName === value);\r\n }\r\n\r\n if (!object) {\r\n object = this.state.geoData.find(country => country.GeoLocationName === value);\r\n }\r\n\r\n object = this.getListGeoData(object);\r\n\r\n if (isNotNullOrWhitespace(object.geoLocationName)) {\r\n let selectedResort = object.selectedResort;\r\n let selectedRegion = object.selectedRegion;\r\n let selectedCountry = object.selectedCountry;\r\n let geoLocationName = object.geoLocationName;\r\n let arrivalAirport = object.arrivalAirport;\r\n let departureAirports = object.departureAirports;\r\n\r\n this.props.update(selectedRegion, departureAirports, object.LocationSeasonDates);\r\n this.setState({\r\n selectedResort,\r\n selectedRegion,\r\n inputValue: geoLocationName,\r\n typeaheadSelected: geoLocationName,\r\n arrivalAirport,\r\n geoLocationName,\r\n selectedCountry\r\n });\r\n if (!forceOpenOverlay) this.handleOverlayToggle(false, true);\r\n // Remove active class from all relevant typeahead elements\r\n let typeaheads = document.querySelectorAll(\".typeahead-list, .typeahead-mobile\");\r\n typeaheads.forEach((el) => el.classList.remove('active'));\r\n removeNoScroll(this.state.isMobile, false);\r\n }\r\n }\r\n }\r\n\r\n getListGeoData(item) {\r\n let object = {\r\n selectedResort: \"\",\r\n selectedRegion: \"\",\r\n selectedCountry: \"\",\r\n arrivalAirport: \"\",\r\n geoLocationName: \"\",\r\n departureAirports: [],\r\n LocationSeasonDates: item.LocationSeasonDates\r\n }\r\n if (isNotNullOrWhitespace(item.Resort)) {\r\n object.selectedResort = item.Resort;\r\n }\r\n if (isNotNullOrWhitespace(item.Region)) {\r\n object.selectedRegion = item.Region;\r\n }\r\n if (isNotNullOrWhitespace(item.Country)) {\r\n object.selectedCountry = item.Country;\r\n }\r\n object.arrivalAirport = item.ArrivalAirports[0].AirportCode;\r\n object.geoLocationName = item.GeoLocationName;\r\n object.departureAirports = [...item.DepartureAirports];\r\n return object;\r\n }\r\n\r\n /**\r\n * pluck the current region geoDatum from the list of regions and resorts within the filtedRegion,\r\n * this is to overide filteredResorts when clicking on an 'All' region link and therefore\r\n * ensure the region data is matched and not any unintended resort of the same name as the region.\r\n */\r\n getSelectedRegionGeoData(regionName) {\r\n return this.state.filteredRegions.filter(geoDatum => (geoDatum.GeoLocationName === regionName && geoDatum.Resort === null));\r\n }\r\n\r\n handleListBack(tier) {\r\n if (tier === 1 || this.state.filteredRegions.length === 0) {\r\n this.setState({\r\n slideIndex: 0,\r\n filteredRegions: [],\r\n filteredResorts: [],\r\n displayAllRegion: false\r\n });\r\n } else {\r\n this.setState({\r\n slideIndex: 1,\r\n filteredResorts: [],\r\n displayAllRegion: false\r\n });\r\n }\r\n }\r\n\r\n toggleMobileFullScreenInput(transitionedAboveTablet) {\r\n if (window.innerWidth < tabletBreakpoint || transitionedAboveTablet) {\r\n const typeaheadMobileElement = document.querySelector('.typeahead-mobile');\r\n const typeaheadFullScreenActive = typeaheadMobileElement.classList.contains('active');\r\n const header = document.querySelector('[data-element=\"header\"]');\r\n header.classList.remove(\"hidden\");\r\n if (typeaheadFullScreenActive) {\r\n const searchBar = document.querySelector('.form-searchbar_nav');\r\n searchBar.scrollIntoView();\r\n typeaheadMobileElement.classList.remove('active');\r\n removeNoScroll(this.state.isMobile);\r\n } else if (!typeaheadFullScreenActive && !transitionedAboveTablet) {\r\n const modalFormInput = document.querySelector('.form-control-mobile');\r\n modalFormInput.focus();\r\n typeaheadMobileElement.classList.add('active');\r\n // delay until full screen modal has transitioned onto screen\r\n setTimeout(activateNoScroll, 500);\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n let tierOneClass = this.state.slideIndex === 0 ? \"typeahead-list_slide tier-1\" : \"typeahead-list_slide tier-1 out\"\r\n let tierTwoClass = this.state.slideIndex === 1 ? \"typeahead-list_slide tier-2\" : \"typeahead-list_slide tier-2 out\"\r\n let tierThreeClass = this.state.slideIndex === 2 ? \"typeahead-list_slide tier-3\" : \"typeahead-list_slide tier-3 out\"\r\n let translate3d = {'transform': 'translate3d(-' + 33.333333333333336 * this.state.slideIndex + '%, 0px, 0px)'}\r\n let typeaheadListClass = this.state.showList && this.state.mobileActive ? \"typeahead-list active\" : \"typeahead-list\";\r\n typeaheadListClass = isAppleSafari(navigator.userAgent) ? typeaheadListClass + ' ios' : typeaheadListClass;\r\n const typeaheadListTestClass1 = typeaheadListClass + ' typeahead-list-test1';\r\n const typeaheadListTestClass2 = typeaheadListClass + ' typeahead-list-test2';\r\n\r\n if (this.props.searchBarTest1) {\r\n typeaheadListClass = typeaheadListTestClass1;\r\n\r\n } else if (this.props.searchBarTest2) {\r\n typeaheadListClass = typeaheadListTestClass2;\r\n\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {this.handleChange(e); this.props.toggleFullSearchBar();} : () => {this.handleChange; this.toggleMobileFullScreenInput();}}\r\n autoComplete={\"off\"}\r\n />\r\n {this.handleOverlayToggle(true); this.props.toggleFullSearchBar()} : (event) => this.handleOverlayToggle(true)}\r\n >\r\n \r\n List\r\n
\r\n {this.state.showPicker &&\r\n
\r\n
\r\n {this.state.displayLocations.map((location, index) => {\r\n let itemClass = \"typeahead__scroll__container__item\";\r\n if (index === this.state.activeItem) {\r\n itemClass = itemClass + ' active';\r\n }\r\n return (\r\n
this.handleSelectLocation(this.state.locations[index])} onMouseEnter={() => this.handleHover(index)}>\r\n \r\n
\r\n
,
\r\n
\r\n )})}\r\n {this.state.locations.length === 0 &&\r\n
No results for your search
\r\n }\r\n
\r\n
\r\n }\r\n {this.state.showList &&\r\n
\r\n {this.state.isMobile &&\r\n
this.handleOverlayToggle(false)}>X
\r\n }\r\n
\r\n
\r\n\r\n
\r\n
Destinations
\r\n
    \r\n {this.state.countries.map((country, index) => (\r\n
  • this.handleListItemClick(country, 0)}>{country}
  • \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n
Destinations in {this.state.listCountry}
\r\n
    \r\n {this.state.filteredRegions.map((item, index) => (\r\n
  • this.handleListItemClick(item.GeoLocationName, 1)}>{item.GeoLocationName}
  • \r\n ))}\r\n
\r\n
this.handleListBack(1)}> Back
\r\n
\r\n\r\n
\r\n
Destinations in {this.state.listRegion}
\r\n {this.state.displayAllRegion &&\r\n
    \r\n
  • this.handleListItemClick(this.state.listRegion, 2)}>All {this.state.listRegion}
  • \r\n
\r\n }\r\n
    \r\n {this.state.filteredResorts.map((item, index) => (\r\n
  • this.handleListItemClick(item.GeoLocationName, 2)}>{item.GeoLocationName}
  • \r\n ))}\r\n
\r\n
this.handleListBack(2)}> Back
\r\n
\r\n\r\n
\r\n
\r\n
\r\n }\r\n
\r\n {(this.state.displayTypeaheadError && this.props.searchBarTest2) &&// conditional render below to show different variations of the error message, white with background or\r\n \r\n \r\n {this.props.errorMsg}\r\n \r\n \r\n }\r\n {(!this.props.searchBarTest2) &&\r\n \r\n \r\n {this.props.errorMsg}\r\n \r\n \r\n }\r\n {/* mobile full screen popup version of typeahead input */}\r\n
\r\n
X
\r\n
\r\n {this.handleChange(e); this.props.toggleFullSearchBar();} : this.handleChange}\r\n autoComplete={\"off\"}\r\n />\r\n {this.handleOverlayToggle(true); this.props.toggleFullSearchBar()} : (event) => this.handleOverlayToggle(true)}\r\n >\r\n \r\n List\r\n
\r\n {this.state.showPicker &&\r\n
\r\n
\r\n {this.state.displayLocations.map((location, index) => {\r\n let itemClass = \"typeahead__scroll__container__item\";\r\n if (index === this.state.activeItem) {\r\n itemClass = itemClass + ' active';\r\n }\r\n return (\r\n
this.handleSelectLocation(this.state.locations[index])} onMouseEnter={() => this.handleHover(index)}>\r\n \r\n
\r\n
,
\r\n
\r\n )})}\r\n {this.state.locations.length === 0 &&\r\n
No results for your search
\r\n }\r\n
\r\n
\r\n }\r\n {this.state.showList &&\r\n
\r\n {this.state.isMobile &&\r\n
this.handleOverlayToggle(false)}>X
\r\n }\r\n
\r\n
\r\n\r\n
\r\n
Destinations
\r\n
    \r\n {this.state.countries.map((country, index) => (\r\n
  • this.handleListItemClick(country, 0)}>{country}
  • \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n
Destinations in {this.state.listCountry}
\r\n
    \r\n {this.state.filteredRegions.map((item, index) => (\r\n
  • this.handleListItemClick(item.GeoLocationName, 1)}>{item.GeoLocationName}
  • \r\n ))}\r\n
\r\n
this.handleListBack(1)}> Back
\r\n
\r\n\r\n
\r\n
Destinations in {this.state.listRegion}
\r\n {this.state.displayAllRegion &&\r\n
    \r\n
  • this.handleListItemClick(this.state.listRegion, 2)}>All {this.state.listRegion}
  • \r\n
\r\n }\r\n
    \r\n {this.state.filteredResorts.map((item, index) => (\r\n
  • this.handleListItemClick(item.GeoLocationName, 2)}>{item.GeoLocationName}
  • \r\n ))}\r\n
\r\n
this.handleListBack(2)}> Back
\r\n
\r\n\r\n
\r\n
\r\n
\r\n }\r\n
\r\n {(this.state.displayTypeaheadError && this.props.searchBarTest2) &&// conditional render below to show different variations of the error message, white with background or\r\n
\r\n
\r\n {this.props.errorMsg}\r\n
\r\n
\r\n }\r\n {(!this.props.searchBarTest2) &&\r\n
\r\n
\r\n {this.props.errorMsg}\r\n
\r\n
\r\n }\r\n \r\n \r\n )\r\n }\r\n\r\n}\r\n","import React from 'react';\r\n\r\n// Import all components used in the full width view\r\nimport Calendar from '../includes/calendar';\r\nimport Duration from '../includes/duration';\r\nimport SelfTravel from '../includes/self-travel';\r\nimport Airports from '../includes/airports';\r\nimport RoomNumber from '../includes/room-number';\r\nimport RoomList from '../includes/room-list';\r\nimport SubmitButton from '../includes/submit-button';\r\nimport ChildMessage from '../includes/child-message';\r\nimport InvalidDates from '../includes/invalid-dates';\r\nimport TypeaheadSearch from '../../../Atoms/Typeahead/legacy';\r\nimport Direct from '../includes/direct';\r\n\r\nexport default class FullWidth extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n multiCenterSearchComponent: null,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.selectedTab === 'multicentre') {\r\n this.onTabClick('multicentre');\r\n }\r\n }\r\n\r\n initMultiCenterSearch = async () => {\r\n const { default: MultiCenterSearch } = await import(/* webpackChunkName: \"MultiCenterSearch\" */ '../includes/multi-center-search');\r\n this.setState({\r\n multiCenterSearchComponent: MultiCenterSearch\r\n });\r\n }\r\n\r\n onTabClick = (tabName) => {\r\n if (tabName === 'multicentre') {\r\n this.initMultiCenterSearch();\r\n this.props.changeTab(\"multicentre\");\r\n } else {\r\n this.props.changeTab(\"search\");\r\n }\r\n }\r\n\r\n render() {\r\n const { multiCenterSearchComponent: MultiCenterSearch } = this.state;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • this.onTabClick(\"search\")}>{this.props.labels[\"Hotel Search Tab\"]}
  • \r\n
  • this.onTabClick(\"multicentre\")}>{this.props.labels[\"Multi Centre Search Tab\"]}
  • \r\n
\r\n
\r\n
\r\n {this.props.selectedTab === \"search\" &&\r\n
\r\n
\r\n
this.props.setFormRef(el)}>\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {/*\r\n Special input to pull from the checkbox in the calendar\r\n As this form submits to the querystring, the input value\r\n from the calendar doesn't get pulled through, so we\r\n inject it into this hidden input. This is a text input\r\n because checkboxes don't add to the querystring if they\r\n are off, which is needed here\r\n */}\r\n \r\n
\r\n \r\n
\r\n
\r\n {!this.props.isSubmitDisabled && [\r\n \r\n ,
\r\n \r\n
\r\n ]}\r\n
\r\n
\r\n \r\n {this.props.recentSearches.length > 0 &&\r\n \r\n }\r\n
\r\n
\r\n }\r\n {MultiCenterSearch && this.props.selectedTab === \"multicentre\" &&\r\n \r\n }\r\n
\r\n
\r\n );\r\n }\r\n}","import React from 'react';\r\n\r\nconst HiddenValues = ({\r\n selectedLocation,\r\n hotelCode\r\n}) => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default HiddenValues;\r\n","import React from 'react';\r\n\r\nconst ShowOtherDates = ({\r\n handleShowOtherDates,\r\n showOtherDates,\r\n componentIdentifier,\r\n showOtherDatesLabel,\r\n show\r\n}) => {\r\n return (\r\n
\r\n handleShowOtherDates(e)} />\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default ShowOtherDates;","import React from 'react';\r\n\r\n// Import all components used in the sidebar\r\nimport Calendar from '../includes/calendar';\r\nimport HiddenValues from '../includes/hidden-values';\r\nimport Duration from '../includes/duration';\r\nimport SelfTravel from '../includes/self-travel';\r\nimport Airports from '../includes/airports';\r\nimport RoomNumber from '../includes/room-number';\r\nimport RoomList from '../includes/room-list';\r\nimport SubmitButton from '../includes/submit-button';\r\nimport ChildMessage from '../includes/child-message';\r\nimport InvalidDates from '../includes/invalid-dates';\r\nimport Direct from '../includes/direct';\r\n\r\nconst Sidebar = ({\r\n handleCalendarToggle,\r\n handleDate,\r\n onFocusChange,\r\n shouldErrorBeShown,\r\n handleRoomSizeChange,\r\n handleOccupancy,\r\n handleAirportChange,\r\n handleSelfTravel,\r\n handleDirect,\r\n handleDurationChange,\r\n handleShowOtherDates,\r\n showOtherDates,\r\n initialVisibleMonth,\r\n dictionary,\r\n setFormRef,\r\n searchURL,\r\n hotelCode,\r\n selectedLocation,\r\n isMobile,\r\n fakedateStartText,\r\n datepickerClass,\r\n startDate,\r\n focused,\r\n isDayBlocked,\r\n labels,\r\n availableDurations,\r\n duration,\r\n direct,\r\n selfTravel,\r\n airports,\r\n airport,\r\n airportDisplayName,\r\n rooms,\r\n options,\r\n validOccupancy,\r\n validMaxNumberOfInfants,\r\n occupancy,\r\n ChildAges,\r\n isSubmitDisabled,\r\n showInfants,\r\n childCount,\r\n childRange,\r\n componentIdentifier,\r\n maxCalendarMonths,\r\n isCalendarActive,\r\n}) => {\r\n\r\n return (\r\n
\r\n
\r\n
setFormRef(el)}>\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {/*\r\n Special input to pull from the checkbox in the calendar\r\n As this form submits to the querystring, the input value\r\n from the calendar doesn't get pulled through, so we\r\n inject it into this hidden input. This is a text input\r\n because checkboxes don't add to the querystring if they\r\n are off, which is needed here\r\n */}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Sidebar;\r\n","import React from 'react';\r\nimport { tabletBreakpoint } from '../../../../constants/breakpoints';\r\nimport { isNotNullOrWhitespace, isNotNullOrEmptyArray } from '../../../../util/empty-helpers.js';\r\nimport Sidebar from './layouts/sidebar';\r\nimport FullWidth from './layouts/full-width';\r\nimport { getDictionary, getText } from '../../../../util/dictionary';\r\nimport { getQueryValue } from \"../../../../util/query-helpers\";\r\n\r\nclass Searchbar extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.formRef = null;\r\n\r\n const queryValue = getQueryValue('showOtherDates', true);\r\n\r\n this.state = {\r\n numberOfNights: \"7\",\r\n occupancyCount: 1,\r\n currency: \"£\",\r\n geo: [],\r\n typeAhead: [],\r\n availableDurations: [],\r\n duration: \"\",\r\n airports: [],\r\n resorts: [],\r\n activeRegion: \"default\",\r\n activeResort: \"default\",\r\n airport: \"default\",\r\n destination: \"\",\r\n maxNumNights: 20,\r\n roomLimit: 5,\r\n adultLimit: 9,\r\n selfTravel: false,\r\n showOtherDates: queryValue === true || queryValue === 'true',\r\n direct: false,\r\n childLimit: 8,\r\n infantLimit: 4,\r\n defaultChildAge: 0,\r\n labels: {\"dateRange\": [\"Check In\",\"Check Out\"],\r\n \"Adults\":\"Adults\",\r\n \"Children\":\"Children\",\r\n \"Departure\":\"Select a departure airport...\",\r\n \"Direct Flights\":\"Direct flights only\",\r\n \"Duration Fllexibility\":\"I'm flexible (+/- 2 days)\",\r\n \"DurationDate\":\"Check In - Check Out\",\r\n \"Infants\":\"Infants\",\r\n \"Location\":\"Location or hotel name...\",\r\n \"Search\":\"Search\",\r\n \"Invalid Dates Error\": \"You have entered invalid dates.\",\r\n \"Child Message Advice\": \"13 year old should be classed as an adult\",\r\n \"Children Age Message\": \"(0-17 yrs on return date)\",\r\n \"Max number of PAX error\": \"Invalid search, please amend your search criteria\",\r\n \"Max number of Infants error\": \"You can not have more infants than adults\"\r\n },\r\n rooms: 1,\r\n dateError: false,\r\n childRange: [],\r\n showInfants: true,\r\n hasSearched: false,\r\n validOccupancy: true,\r\n validMaxNumberOfInfants: true,\r\n childCount: 0,\r\n recentSearches: [],\r\n showRecentSearch: false,\r\n searchParams: {\r\n Region: \"\",\r\n Resort: \"\",\r\n StartDate: \"\",\r\n Duration: \"\",\r\n Airport: \"\",\r\n Occupancy: [{Adults: 2, Children: 0, Infants: 0}],\r\n ChildAges: [{ages:[]}]\r\n },\r\n searchURL: \"/\",\r\n startDate: null,\r\n endDate: null,\r\n focused: false,\r\n calendarActive: false,\r\n viewportOffsetTop: 0,\r\n isMobile: false,\r\n displayTypeaheadError: false,\r\n selectedTab:\"search\",\r\n showWhoValidation: false,\r\n showWhatValidation: false,\r\n showWhenValidation: false,\r\n selectedLocationDates: [],\r\n dictionary: null,\r\n hasLoaded: false,\r\n dataError: false,\r\n }\r\n\r\n this.handleRoomSizeChange = this.handleRoomSizeChange.bind(this);\r\n this.handleOccupancy = this.handleOccupancy.bind(this);\r\n this.getTotalOccupancy = this.getTotalOccupancy.bind(this);\r\n this.daydiff = this.daydiff.bind(this);\r\n this.dictionary = this.dictionary.bind(this);\r\n this.parseDate = this.parseDate.bind(this);\r\n this.validOccupancy = this.validOccupancy.bind(this);\r\n this.isOutsideRange = this.isOutsideRange.bind(this);\r\n this.isDayBlocked = this.isDayBlocked.bind(this);\r\n this.updateRegion = this.updateRegion.bind(this);\r\n this.handleSelfTravel = this.handleSelfTravel.bind(this);\r\n this.handleDirect = this.handleDirect.bind(this);\r\n this.handleAirportChange = this.handleAirportChange.bind(this);\r\n this.toggleHandler = this.toggleHandler.bind(this);\r\n this.handleDate = this.handleDate.bind(this);\r\n this.handleDurationChange = this.handleDurationChange.bind(this);\r\n this.displayError = this.displayError.bind(this);\r\n this.onFocusChange = this.onFocusChange.bind(this);\r\n this.changeTab = this.changeTab.bind(this);\r\n this.updateSelectedTags = this.updateSelectedTags.bind(this);\r\n this.handleMultiCentreSearch = this.handleMultiCentreSearch.bind(this);\r\n this.handleCalendarToggle = this.handleCalendarToggle.bind(this);\r\n this.initialVisibleMonth = this.initialVisibleMonth.bind(this);\r\n this.getTotalAdultsString = this.getTotalAdultsString.bind(this);\r\n this.getTotalChildrenString = this.getTotalChildrenString.bind(this);\r\n this.getTotalInfantsString = this.getTotalInfantsString.bind(this);\r\n }\r\n\r\n handleMultiCentreSearch() {\r\n let inspirationTags = {...this.state.inspirationTags};\r\n\r\n let whoIds = [];\r\n let whatIds = [];\r\n let whenIds = [];\r\n\r\n inspirationTags.WhoTags.forEach(element => {\r\n if (element.selected === true) {\r\n whoIds.push(element.Id);\r\n }\r\n });\r\n\r\n inspirationTags.WhatTags.forEach(element => {\r\n if (element.selected === true) {\r\n whatIds.push(element.Id);\r\n }\r\n });\r\n\r\n inspirationTags.WhenTags.forEach(element => {\r\n if (element.selected === true) {\r\n whenIds.push(element.Id);\r\n }\r\n });\r\n\r\n let showWhoValidation = whoIds.length === 0;\r\n let showWhatValidation = whatIds.length === 0;\r\n let showWhenValidation = whenIds.length === 0;\r\n\r\n if (showWhoValidation || showWhatValidation || showWhenValidation) {\r\n this.setState({showWhoValidation, showWhatValidation, showWhenValidation}, () => {\r\n let elementToScroll = this.props.context.querySelector('[data-error]');\r\n elementToScroll.scrollIntoView();\r\n });\r\n } else {\r\n let query = this.state.inspirationResultsPage + '?WhoTagIds=' + whoIds.join(',') + '&WhatTagIds=' + whatIds.join(',') + '&WhenTagIds=' + whenIds.join(',');\r\n window.location = query;\r\n }\r\n }\r\n\r\n changeTab(selectedTab) {\r\n this.setState({selectedTab})\r\n }\r\n\r\n validOccupancy(occupancy) {\r\n let Adults = this.getTotalOccupancy(occupancy, 'Adults');\r\n let Children = this.getTotalOccupancy(occupancy, 'Children');\r\n let Infants = this.getTotalOccupancy(occupancy, 'Infants');\r\n const total = Adults + Children + Infants;\r\n\r\n if (total > 9) return false;\r\n\r\n if (Children > this.state.childLimit || Adults > this.state.adultLimit || Infants > this.state.infantLimit) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n compare(airports) {\r\n const { airportOrder } = this.state;\r\n const newAirportOrder = [];\r\n airportOrder.forEach(airportOrderItem => {\r\n airports.forEach((airport, index) => {\r\n if (airportOrderItem.AirportCode === airport.AirportCode) {\r\n newAirportOrder.push(airport);\r\n airports.splice(index, 1);\r\n }\r\n });\r\n });\r\n\r\n return newAirportOrder.concat(airports.sort(this.sortAirports));\r\n }\r\n\r\n sortAirports(a,b) {\r\n if (a.AirportName < b.AirportName)\r\n return -1;\r\n if (a.AirportName > b.AirportName)\r\n return 1;\r\n return 0;\r\n }\r\n\r\n handleSeasonDates(seasonDates) {\r\n let selectedLocationDates = [];\r\n let startDate = this.state.startDate;\r\n\r\n if (isNotNullOrEmptyArray(seasonDates)) {\r\n seasonDates.forEach(element => {\r\n let seasonFromDate = moment(element.FromDate);\r\n let seasonToDate = moment(element.ToDate);\r\n\r\n if (startDate !== null && startDate.isBetween(seasonFromDate, seasonToDate, \"days\", \"[]\")) {\r\n startDate = null;\r\n }\r\n\r\n selectedLocationDates.push({\r\n seasonFromDate,\r\n seasonToDate\r\n });\r\n });\r\n }\r\n\r\n return {\r\n startDate,\r\n selectedLocationDates\r\n };\r\n }\r\n\r\n updateRegion(activeRegion, airports, seasonDates) {\r\n let sortedSeasonDates = this.handleSeasonDates(seasonDates);\r\n\r\n if (airports.length > 0) {\r\n let airportDisplayName = this.state.airportDisplayName;\r\n let airport = this.state.airport;\r\n\r\n airports = this.compare(JSON.parse(JSON.stringify(airports)));\r\n\r\n // set airport to default value for another destination\r\n const airportDisplayNameExists = this.state.airportDisplayName !== \"\" && this.state.airportDisplayName !== undefined;\r\n if (airportDisplayNameExists && airports.find((item) => {\r\n return item.AirportName === this.state.airportDisplayName\r\n }) == undefined) {\r\n airport = \"default\";\r\n airportDisplayName = \"\";\r\n }\r\n\r\n // Check if validation is opened\r\n if(this.formRef) {\r\n const validationEls = this.formRef.querySelectorAll(\".dateErrorContainer\");\r\n if(this.state.activeRegion !== 'default' || this.state.activeRegion !== '') {\r\n if (validationEls.length > 0) {\r\n validationEls.forEach(el => {\r\n if(!el.classList.contains('hidden')) {\r\n el.classList.add('hidden');\r\n }\r\n })\r\n };\r\n }\r\n }\r\n\r\n this.setState({\r\n activeRegion,\r\n airports,\r\n airport,\r\n airportDisplayName,\r\n selectedLocationDates: sortedSeasonDates.selectedLocationDates,\r\n startDate: sortedSeasonDates.startDate\r\n }, () => {\r\n if (this.state.isMobile) {\r\n this.setState({ focused: true }); // Reinitialise the calendar if mobile\r\n }\r\n });\r\n } else {\r\n this.setState({\r\n activeRegion,\r\n airports,\r\n selectedLocationDates: sortedSeasonDates.selectedLocationDates,\r\n startDate: sortedSeasonDates.startDate\r\n }, () => {\r\n if (this.state.isMobile) {\r\n this.setState({ focused: true }); // Reinitialise the calendar if mobile\r\n }\r\n });\r\n }\r\n }\r\n\r\n handleSelfTravel() {\r\n let selfTravel = !this.state.selfTravel,\r\n search = this.state.searchParams.Occupancy,\r\n validOccupancy = true;\r\n for (let {Adults, Children, Infants} of search) {\r\n if (Adults < Children + Infants && !selfTravel) {\r\n validOccupancy = false;\r\n }\r\n }\r\n // set airport to default value for \"hotel Only\"\r\n if (selfTravel) {\r\n const airport = \"default\";\r\n const airportDisplayName = \"\";\r\n this.setState({selfTravel, validOccupancy, airportDisplayName, airport});\r\n } else {\r\n this.setState({selfTravel, validOccupancy});\r\n }\r\n }\r\n\r\n handleShowOtherDates = (e) => {\r\n this.setState({\r\n showOtherDates: !this.state.showOtherDates,\r\n })\r\n }\r\n\r\n handleDirect() {\r\n this.setState({ direct: !this.state.direct });\r\n }\r\n\r\n getTotalOccupancy(occupancy, type) {\r\n let count = 0;\r\n if (type) {\r\n for (let i=0; i < occupancy.length; i++) {\r\n count += parseInt(occupancy[i][type]);\r\n }\r\n } else {\r\n for (let i=0; i < occupancy.length; i++) {\r\n count += parseInt(occupancy[i].Adults) + parseInt(occupancy[i].Children) + parseInt(occupancy[i].Infants);\r\n }\r\n }\r\n return count;\r\n }\r\n\r\n componentWillMount() {\r\n const searchbarData = this.props.context;\r\n const labels = JSON.parse(searchbarData.dataset.componentLabel);\r\n const limits = JSON.parse(searchbarData.dataset.componentMetadata);\r\n const data = JSON.parse(searchbarData.dataset.componentGeogrpahydata); \r\n const errorMessage = searchbarData.dataset.componentErrorMessage;\r\n const inspirationTags = JSON.parse(searchbarData.dataset.componentInspirationMetadata);\r\n const inspirationResultsPage = searchbarData.dataset.componentInspirationResultsPage;\r\n const isCollection = searchbarData.dataset.componentIsCollection;\r\n const relatedCollection = searchbarData.dataset.componentRelatedCollection;\r\n const currentDestination = searchbarData.dataset.componentCurrentDestination.replace(/\\-/g, \" \");\r\n const airportOrder = JSON.parse(searchbarData.dataset.componentAirportOrder);\r\n inspirationTags.WhatTags.forEach(tag => {\r\n tag.selected = false;\r\n if (tag.TagName === relatedCollection) {\r\n tag.selected = true;\r\n }\r\n });\r\n this.setState({\r\n labels,\r\n limits,\r\n data,\r\n inspirationTags,\r\n inspirationResultsPage,\r\n selectedTab: isCollection === \"True\" ? \"multicentre\" : \"search\",\r\n airportOrder,\r\n errorMessage,\r\n }, () => {\r\n data.forEach(location => {\r\n if (location.Region.toLowerCase() !== '' && (location.Region.toLowerCase() === currentDestination.toLowerCase())) {\r\n this.updateRegion(location.Region, location.DepartureAirports, location.LocationSeasonDates);\r\n }\r\n });\r\n });\r\n }\r\n\r\n getGeoData() {\r\n let searchParams = JSON.parse(JSON.stringify(this.state.searchParams));\r\n let rooms = this.state.rooms;\r\n\r\n let {\r\n labels,\r\n limits,\r\n data,\r\n inspirationTags,\r\n inspirationResultsPage,\r\n } = {...this.state};\r\n\r\n let searchObj = this.queryString(window.location.search.substring(1));\r\n\r\n // Work out the end date and give it the same format as the start date.\r\n let duration = \"\";\r\n if (isNotNullOrWhitespace(searchObj) && isNotNullOrWhitespace(searchObj.duration) && isNotNullOrWhitespace(searchObj.date)) {\r\n searchObj.duration = parseInt(searchObj.duration);\r\n duration = searchObj.duration;\r\n searchObj.endDate = moment(searchObj.date, \"YYYY-MM-DD\").add(searchObj.duration, 'days').format(\"YYYY-MM-DD\");\r\n searchObj.startDate = searchObj.date;\r\n }\r\n\r\n let sortedSeasonDates = {\r\n selectedLocationDates: [],\r\n startDate: this.state.startDate\r\n }\r\n\r\n let airport = \"default\";\r\n let airports = this.state.airports;\r\n let selectedLocation = null;\r\n let activeRegion = this.state.activeRegion;\r\n let selfTravel = this.state.selfTravel;\r\n if (isNotNullOrWhitespace(searchObj) && isNotNullOrWhitespace(searchObj.room0adults)) {\r\n selfTravel = searchObj.selftravel === 'on' ? true : false;\r\n if (isNotNullOrWhitespace(searchObj.geoLocationName)) {\r\n let selectedLocation = data.find(x => x.GeoLocationName === searchObj.geoLocationName);\r\n if (selectedLocation && Object.keys(selectedLocation).includes('DepartureAirports')) {\r\n if (isNotNullOrWhitespace(searchObj.departureAirport)) {\r\n airport = selectedLocation.DepartureAirports.find(x => x.AirportCode === searchObj.departureAirport).AirportCode;\r\n }\r\n airports = selectedLocation.DepartureAirports;\r\n if (selectedLocation && selectedLocation.LocationSeasonDates) {\r\n sortedSeasonDates = this.handleSeasonDates(selectedLocation.LocationSeasonDates);\r\n }\r\n }\r\n }\r\n let currentSearch = this.buildForm(searchObj);\r\n searchParams.Occupancy = currentSearch.Occupancy;\r\n searchParams.ChildAges = currentSearch.ChildAges;\r\n rooms = currentSearch.rooms;\r\n }\r\n if (document.querySelector('[data-element=\"search-basket\"]') !== null) {\r\n let location = document.querySelector('[data-travelink-location]').dataset.travelinkLocation;\r\n location = location.split(',').pop().trim();\r\n selectedLocation = data.find(x => x.GeoLocationName.toLowerCase() === location.toLowerCase());\r\n\r\n let sortedAirports;\r\n if (selectedLocation && airports.length > 0) {\r\n sortedAirports = this.compare(airports)\r\n } else if (selectedLocation && airports.length === 0) {\r\n sortedAirports = this.compare(selectedLocation.DepartureAirports);\r\n }\r\n\r\n airports = selectedLocation ? sortedAirports || \"\" : \"\";\r\n activeRegion = location;\r\n\r\n if (selectedLocation && selectedLocation.LocationSeasonDates) {\r\n sortedSeasonDates = this.handleSeasonDates(selectedLocation.LocationSeasonDates);\r\n }\r\n\r\n if (!selectedLocation) {\r\n this.setState({\r\n dataError: true,\r\n });\r\n }\r\n }\r\n\r\n labels.dateRange = labels.DurationDate.split('-');\r\n let childArray = [];\r\n\r\n for (let i=limits.MinChildAge; i <= limits.MaxChildAge; i++) {\r\n childArray.push(i);\r\n }\r\n\r\n data = data.sort();\r\n let airportDisplayName = '';\r\n\r\n if (airports) {\r\n airports.map((item, i) => {\r\n if (item.AirportCode === airport) {\r\n airportDisplayName = item.AirportName;\r\n }\r\n })\r\n }\r\n\r\n const isMobile = window.innerWidth < tabletBreakpoint;\r\n let focused = isMobile ? true : false;\r\n\r\n let availableDurations = [];\r\n const minNights = limits.MinNumberOfNights === 0 ? 1 : limits.MinNumberOfNights;\r\n // Start from 1 because 0 nights is not valid.\r\n for (let i = minNights; i < (limits.MaxNumberOfNights + 1); i++) {\r\n let label = i === 1 ? ' Night' : ' Nights';\r\n let object = {\r\n Value: i,\r\n Name: i + label\r\n }\r\n availableDurations.push(object);\r\n }\r\n\r\n this.setState({\r\n geo: data,\r\n labels,\r\n roomLimit: limits.MaxRooms,\r\n adultLimit: limits.MaxNumberOfAdults,\r\n childLimit: limits.MaxNumberOfChilds,\r\n infantLimit: limits.MaxNumberOfInfants,\r\n childRange: childArray,\r\n showInfants: limits.ShowInfants,\r\n maxNumNights: limits.MaxNumberOfNights,\r\n defaultChildAge: limits.DefaultChildAge,\r\n maxCalendarMonths: limits.MaxCalendarMonths,\r\n searchParams,\r\n selfTravel,\r\n rooms,\r\n airports,\r\n airport,\r\n airportDisplayName,\r\n activeRegion,\r\n selectedLocation,\r\n searchURL: limits.SearchResultPage,\r\n focused,\r\n isMobile,\r\n availableDurations,\r\n duration,\r\n inspirationTags,\r\n inspirationResultsPage,\r\n selectedLocationDates: sortedSeasonDates.selectedLocationDates,\r\n hasLoaded: true,\r\n });\r\n }\r\n\r\n handleInputFocus(event, input) {\r\n event.preventDefault();\r\n input.scrollIntoView();\r\n }\r\n\r\n handleAirportChange(item) {\r\n this.setState({airport: item.AirportCode, airportDisplayName: item.AirportName});\r\n }\r\n\r\n buildForm(query) {\r\n let occupancy = [];\r\n let childAges = [];\r\n let rooms = query.rooms;\r\n for (let index = 0; index < rooms; index++) {\r\n let adults = 0;\r\n let children = 0;\r\n let infants = 0;\r\n if (query['room' + index + 'adults'] !== undefined) {\r\n adults = query['room' + index + 'adults'];\r\n }\r\n if (query['room' + index + 'children'] !== undefined) {\r\n children = query['room' + index + 'children'];\r\n }\r\n if (query['room' + index + 'infants'] !== undefined) {\r\n infants = query['room' + index + 'infants'];\r\n }\r\n let ages = [];\r\n for (let childIndex = 0; childIndex < children; childIndex++) {\r\n ages.push(query['room' + index + 'child' + childIndex]);\r\n }\r\n occupancy.push({ Adults: parseInt(adults), Children: parseInt(children), Infants: parseInt(infants) });\r\n childAges.push({ ages: ages });\r\n }\r\n return {\r\n Occupancy: occupancy,\r\n ChildAges: childAges,\r\n rooms: rooms\r\n };\r\n }\r\n\r\n queryString(query) {\r\n if (!query) return;\r\n let query_string = {};\r\n let lets = query.replace(/\\+/g, \" \").split(\"&\");\r\n\r\n for (let i = 0; i < lets.length; i++) {\r\n let pair = lets[i].split(\"=\");\r\n // If first entry with this name\r\n if (typeof query_string[pair[0]] === \"undefined\") {\r\n query_string[pair[0]] = decodeURIComponent(pair[1]);\r\n // If second entry with this name\r\n } else if (typeof query_string[pair[0]] === \"string\") {\r\n let arr = [ query_string[pair[0]],decodeURIComponent(pair[1]) ];\r\n query_string[pair[0]] = arr;\r\n // If third or later entry with this name\r\n } else {\r\n query_string[pair[0]].push(decodeURIComponent(pair[1]));\r\n }\r\n }\r\n\r\n return query_string;\r\n\r\n };\r\n\r\n parseDate(str) {\r\n var mdy = str.split('-');\r\n return new Date(mdy[0], mdy[1]-1, mdy[2]);\r\n }\r\n\r\n daydiff(first, second) {\r\n return (second-first)/(1000*60*60*24);\r\n }\r\n\r\n componentDidMount() {\r\n let searchObj = this.queryString(window.location.search.substring(1));\r\n if (searchObj !== '' && searchObj !== undefined && searchObj !== null) {\r\n if (searchObj.region !== '' && searchObj.region !== undefined) {\r\n this.setState({hasSearched: true, activeRegion: searchObj.region.replace(/\\+/g, ' ')});\r\n }\r\n if (searchObj.region !== '' && searchObj.resort !== undefined) {\r\n this.setState({hasSearched: true, activeResort: searchObj.resort.replace(/\\+/g, ' ')});\r\n }\r\n if (searchObj.date !== '' && searchObj.date !== undefined) {\r\n this.setState({startDate: moment(searchObj.date)});\r\n }\r\n }\r\n let storage = JSON.parse(localStorage.getItem(\"history\"));\r\n if (storage === null) {\r\n storage = [];\r\n }\r\n storage.reverse();\r\n let recentSearches = [];\r\n for (let i = 0; i < storage.length; i++) {\r\n // Added in null check to prevent user from making invalid searches now that we don't use end date.\r\n if (i < 3 && storage[i] !== '' && !isNotNullOrWhitespace(storage.endDate)) {\r\n let storageJSON = this.queryString(storage[i]);\r\n storageJSON.url = storage[i];\r\n if (storageJSON.date !== undefined && storageJSON.duration !== undefined) {\r\n recentSearches.push(storageJSON);\r\n }\r\n }\r\n }\r\n\r\n // Layout Shift fix for when there are no recent searches\r\n // This is the only place we have knowledge of whether there are\r\n // recent searches, so can't be done in CSS or CSHTML\r\n const styles = window.getComputedStyle(this.props.context);\r\n if (!recentSearches.length && styles) {\r\n const { minHeight } = styles;\r\n if (minHeight !== '0px') {\r\n const isMobile = window.innerWidth < tabletBreakpoint;\r\n this.props.context.style.minHeight = isMobile ? \"350px\" : \"250px\";\r\n }\r\n }\r\n\r\n getDictionary('Search Bar', (dictionary) => {\r\n this.setState({\r\n dictionary,\r\n recentSearches: recentSearches,\r\n componentIdentifier: Math.random()\r\n }, () => { this.getGeoData() });\r\n })\r\n }\r\n\r\n dictionary(route) {\r\n return this.state.dictionary ? getText(route, this.state.dictionary) : \"\";\r\n }\r\n\r\n // Pull a DOM ref to the form so we can hijack the submit event\r\n setFormRef = (ref) => {\r\n if(this.formRef) return;\r\n this.formRef = ref\r\n // find submit button\r\n const submit = this.formRef.querySelector(\"[type='submit']\");\r\n if(submit) {\r\n // Hijack submit event\r\n submit.addEventListener('click', this.handleSubmit);\r\n };\r\n };\r\n\r\n // Event capture for checking form validation\r\n handleSubmit = (e) => {\r\n e.preventDefault();\r\n if (!this.formRef) return;\r\n const destination = this.formRef.querySelector(\".typeahead__input\");\r\n if (!destination) {\r\n this.formRef.submit()\r\n return;\r\n };\r\n const value = destination.value;\r\n if(value === 'default' || value === '' || value === undefined) {\r\n const validationEls = this.formRef.querySelectorAll(\".dateErrorContainer-alt\");\r\n validationEls.forEach((el) => el.classList.remove('hidden'));\r\n return;\r\n }\r\n this.formRef.submit();\r\n }\r\n\r\n handleRoomSizeChange(event) {\r\n const limit = this.state.roomLimit;\r\n let selectedValue = +event.target.value,\r\n count = 0,\r\n search = JSON.parse(JSON.stringify(this.state.searchParams)),\r\n startValue = search.Occupancy.length,\r\n state = { validOccupancy: false };\r\n\r\n if (selectedValue > this.state.rooms) {\r\n if (selectedValue <= limit) {\r\n for(let i = search.Occupancy.length; i < selectedValue; i++) {\r\n let obj = {Adults: 1, Children: 0, Infants: 0};\r\n let childObj = {ages:[]};\r\n search.Occupancy.push(obj);\r\n search.ChildAges.push(childObj);\r\n }\r\n\r\n count = this.getTotalOccupancy(search.Occupancy);\r\n let validOccupancy = this.validOccupancy(search.Occupancy);\r\n state = { searchParams: search, occupancyCount: count, rooms: search.Occupancy.length, validOccupancy };\r\n }\r\n } else {\r\n search.Occupancy.splice(selectedValue);\r\n search.ChildAges.splice(selectedValue);\r\n\r\n count = this.getTotalOccupancy(search.Occupancy);\r\n let validOccupancy = this.validOccupancy(search.Occupancy);\r\n state = { searchParams: search, occupancyCount: count, rooms: search.Occupancy.length, validOccupancy }\r\n }\r\n\r\n this.setState(state);\r\n }\r\n\r\n handleOccupancy(type, index, property, check) {\r\n let search = JSON.parse(JSON.stringify(this.state.searchParams));\r\n if (property === 'Infants' && type === 'add') {\r\n let newValue = search.Occupancy[index][property] + 1;\r\n if ((search.Occupancy[index].Adults < newValue) && !this.state.selfTravel) {\r\n this.setState({validMaxNumberOfInfants: false});\r\n return;\r\n }\r\n } else if (property === 'Adults' && type === 'remove') {\r\n let newValue = search.Occupancy[index][property] - 1,\r\n validateInfants = search.Occupancy[index].Infants > newValue;\r\n if (search.Occupancy[index].Children > newValue || validateInfants) {\r\n validateInfants && this.setState({validMaxNumberOfInfants: false});\r\n return;\r\n }\r\n }\r\n if (type === 'add' && this.state[check] >= search.Occupancy[index][property]) {\r\n search.Occupancy[index][property] = search.Occupancy[index][property] + 1;\r\n if (property === 'Children') {\r\n search.ChildAges[index].ages.push(this.state.defaultChildAge);\r\n }\r\n } else if (type === 'remove') {\r\n if (search.Occupancy[index][property] > 1 && property === 'Adults') {\r\n search.Occupancy[index][property] = search.Occupancy[index][property] - 1;\r\n } else {\r\n if (search.Occupancy[index][property] > 0) {\r\n if (property !== 'Adults') {\r\n search.Occupancy[index][property] = search.Occupancy[index][property] -1;\r\n }\r\n if (property === 'Children') {\r\n search.ChildAges[index].ages.pop();\r\n }\r\n }\r\n }\r\n }\r\n let childCount = this.getTotalOccupancy(search.Occupancy, 'Children');\r\n let count = this.getTotalOccupancy(search.Occupancy);\r\n let validOccupancy = this.validOccupancy(search.Occupancy);\r\n if (validOccupancy) {\r\n this.setState({ searchParams: search, occupancyCount: count, childCount, validOccupancy: true, validMaxNumberOfInfants: true });\r\n } else {\r\n this.setState({ validOccupancy: false, validMaxNumberOfInfants: true });\r\n }\r\n }\r\n\r\n isOutsideRange(date) {\r\n const availableDayFirst = moment().add(-1, 'd');\r\n const availableDayLast = moment().add(18, 'M');\r\n // respect limit of 18 months\r\n if ( date > availableDayFirst && date < availableDayLast ) {\r\n if (this.state.startDate) {\r\n // respect nights limit from CMS\r\n if (this.state.startDate !== null &&\r\n date > moment(this.state.startDate).add(this.state.maxNumNights, 'd')) { return true };\r\n }\r\n return false\r\n }\r\n return true;\r\n }\r\n\r\n shouldErrorBeShown() {\r\n let startDate = document.getElementById('startDate');\r\n if (startDate) {\r\n if (startDate.value.length > 9) {\r\n let isOutsideStart = this.isOutsideRange(moment(startDate.value));\r\n if (isOutsideStart) { return true } else return false;\r\n } else return false\r\n }\r\n }\r\n\r\n isDayBlocked(date) {\r\n const blockedDayFirst = moment().add(-1, 'd');\r\n const blockedDayLast = moment().add(2, 'd');\r\n const blockDates = this.state.selectedLocationDates;\r\n let isDateBlocked = false;\r\n\r\n if ( date > blockedDayFirst && date < blockedDayLast ) {\r\n isDateBlocked = true;\r\n }\r\n\r\n blockDates.forEach(element => {\r\n if ( element.seasonFromDate !== null && element.seasonToDate !== null ) {\r\n if (date.isBetween(element.seasonFromDate, element.seasonToDate, \"days\", \"[]\")) {\r\n isDateBlocked = true;\r\n }\r\n }\r\n });\r\n\r\n const today = moment();\r\n const monthsFromToday = moment().add(this.state.maxCalendarMonths, 'months');\r\n if (!date.isBetween(today, monthsFromToday, \"days\", \"[]\")) {\r\n isDateBlocked = true;\r\n }\r\n\r\n return isDateBlocked;\r\n }\r\n\r\n initialVisibleMonth() {\r\n // As the mobile datepicker is not dynamic, we want to show the\r\n // earliest month we can (i.e. now)\r\n if (this.state.isMobile) return moment();\r\n if (this.state.startDate !== null) {\r\n // clone moment as we allow this part of state to leave this component\r\n return this.state.startDate.clone();\r\n }\r\n\r\n if (this.state.selectedLocationDates.length > 0) {\r\n const firstFromDate = moment({...this.state.selectedLocationDates[0].seasonFromDate});\r\n const firstToDate = moment({...this.state.selectedLocationDates[0].seasonToDate});\r\n\r\n if (firstToDate === null) {\r\n return moment();\r\n } else {\r\n let firstAvailableDate = moment().add(3, 'd');\r\n if (firstAvailableDate < firstFromDate) {\r\n return moment();\r\n } else if (firstAvailableDate > firstToDate) {\r\n return firstAvailableDate;\r\n }\r\n return firstToDate.add(1, 'd');\r\n }\r\n }\r\n return moment();\r\n }\r\n\r\n // reset calendar\r\n handleDate(startDate, autoClose = true) {\r\n if (!startDate.isValid()) return;\r\n if (autoClose) {\r\n document.body.classList.remove('no-scroll');\r\n document.documentElement.classList.remove('no-scroll');\r\n const header = document.querySelector('[data-element=\"header\"]');\r\n if (header) {\r\n header.classList.remove('hidden');\r\n }\r\n window.scrollBy(0, this.state.viewportOffsetTop);\r\n }\r\n this.setState({ startDate, calendarActive: autoClose ? false : true });\r\n }\r\n\r\n toggleHandler(event){\r\n event.stopPropagation();\r\n this.setState({showRecentSearch: !this.state.showRecentSearch});\r\n }\r\n\r\n onFocusChange(focused) {\r\n focused = focused.focused;\r\n if (this.state.isMobile && !focused) {\r\n return; // doesn't update the focused if it is trying to close the DRP\r\n }\r\n this.setState({ focused });\r\n }\r\n\r\n activateNoScroll() {\r\n document.body.classList.add('no-scroll');\r\n document.documentElement.classList.add('no-scroll');\r\n\r\n let stickyBanner = document.querySelector('[data-component=\"sticky-banner\"]');\r\n if (stickyBanner) {\r\n stickyBanner.classList.add('hidden');\r\n }\r\n\r\n let header = document.querySelector('[data-element=\"header\"]');\r\n if (header) {\r\n header.classList.add('hidden');\r\n }\r\n }\r\n\r\n handleCalendarToggle(show) {\r\n if (show) {\r\n let viewportOffset = document.body.getBoundingClientRect();\r\n let viewportOffsetTop =- viewportOffset.top;\r\n setTimeout(this.activateNoScroll, 250);\r\n const stickyBanner = document.querySelector('[data-component=\"StickyBanner\"]');\r\n if (stickyBanner) {\r\n stickyBanner.classList.add('StickyBanner--hide');\r\n }\r\n\r\n this.setState({\r\n calendarActive: true,\r\n focused: 'startDate',\r\n viewportOffsetTop\r\n });\r\n if (this.state.startDate === null) {\r\n let scrollContainer = document.querySelector('.transition-container--vertical');\r\n if (scrollContainer) {\r\n scrollContainer.scrollTop = 0;\r\n }\r\n }\r\n } else {\r\n document.body.classList.remove('no-scroll');\r\n document.documentElement.classList.remove('no-scroll');\r\n\r\n const stickyBanner = document.querySelector('[data-component=\"StickyBanner\"]');\r\n if (stickyBanner) {\r\n stickyBanner.classList.remove('hidden');\r\n stickyBanner.classList.remove('StickyBanner--hide');\r\n }\r\n\r\n let header = document.querySelector('[data-element=\"header\"]');\r\n if (header) {\r\n header.classList.remove('hidden');\r\n }\r\n\r\n window.scrollBy(0, this.state.viewportOffsetTop);\r\n this.setState({calendarActive: false});\r\n }\r\n }\r\n\r\n handleDurationChange(item) {\r\n this.setState({duration: item.Value});\r\n }\r\n\r\n isAppleSafari(userAgent){\r\n let iPhone = userAgent.match(/iPhone/i) !== null;\r\n let Mac = userAgent.match(/Mac/i) !== null;\r\n let iPod = userAgent.match(/iPod/i) !== null;\r\n let iOS = userAgent.match(/iOS/i) !== null;\r\n let Safari = userAgent.match(/Safari/i) !== null;\r\n return Safari && (iPhone || Mac || iPod || iOS);\r\n }\r\n\r\n displayError(display) {\r\n this.setState({displayTypeaheadError: display});\r\n }\r\n\r\n updateSelectedTags(index, tagList) {\r\n let showWhoValidation = this.state.showWhoValidation;\r\n let showWhatValidation = this.state.showWhatValidation;\r\n let showWhenValidation = this.state.showWhenValidation;\r\n\r\n // Handle validation messaging. Reset on change.\r\n if (tagList == 'WhoTags') showWhoValidation = false;\r\n if (tagList == 'WhatTags') showWhatValidation = false;\r\n if (tagList == 'WhenTags') showWhenValidation = false;\r\n\r\n let inspirationTags = {...this.state.inspirationTags};\r\n if (inspirationTags[tagList][index].selected) {\r\n inspirationTags[tagList][index].selected = false;\r\n } else {\r\n inspirationTags[tagList][index].selected = true;\r\n }\r\n this.setState({inspirationTags, showWhoValidation, showWhatValidation, showWhenValidation});\r\n }\r\n\r\n getTotalAdultsString(recentSearch) {\r\n let totalAdults = 0;\r\n for (let i = 0; i < this.state.roomLimit; i++) {\r\n if (recentSearch[`room${i}adults`]) {\r\n totalAdults += Number(recentSearch[`room${i}adults`]);\r\n }\r\n }\r\n const adultLabel = totalAdults > 1 ? 'Adults' : 'Adult';\r\n let totalAdultsString = totalAdults > 0 ? `, ${totalAdults} ${adultLabel}` : '';\r\n\r\n return totalAdultsString;\r\n }\r\n\r\n getTotalChildrenString(recentSearch) {\r\n let totalChildren = 0;\r\n for (let i = 0; i < this.state.roomLimit; i++) {\r\n if (recentSearch[`room${i}children`]) {\r\n totalChildren += Number(recentSearch[`room${i}children`]);\r\n }\r\n }\r\n const childrenLabel = totalChildren > 1 ? 'Children' : 'Child';\r\n let totalChildrenString = totalChildren > 0 ? `, ${totalChildren} ${childrenLabel}` : '';\r\n\r\n return totalChildrenString;\r\n }\r\n\r\n getTotalInfantsString(recentSearch) {\r\n let totalInfants = 0;\r\n for (let i = 0; i < this.state.roomLimit; i++) {\r\n if (recentSearch[`room${i}infants`]) {\r\n totalInfants += Number(recentSearch[`room${i}infants`]);\r\n }\r\n }\r\n const infantsLabel = totalInfants > 1 ? 'Infants' : 'Infant';\r\n let totalInfantsString = totalInfants > 0 ? `, ${totalInfants} ${infantsLabel}` : '';\r\n\r\n return totalInfantsString;\r\n }\r\n\r\n render() {\r\n if (!this.state.hasLoaded) return null;\r\n\r\n if (this.state.dataError) {\r\n return (\r\n

{this.state.errorMessage}

\r\n );\r\n }\r\n\r\n const occupancy = this.state.searchParams.Occupancy;\r\n const ChildAges = this.state.searchParams.ChildAges;\r\n const labels = this.state.labels;\r\n const showInfants = this.state.showInfants;\r\n const isMobile = document.body.clientWidth < tabletBreakpoint;\r\n const componentIdentifier = this.state.componentIdentifier;\r\n let adults = [];\r\n let children = [];\r\n let infants = [];\r\n let isAirportValid = false;\r\n let datepickerClass = this.state.calendarActive ? 'DateOverlay active' : 'DateOverlay';\r\n datepickerClass = this.isAppleSafari(navigator.userAgent) ? datepickerClass + ' ios' : datepickerClass;\r\n datepickerClass = isMobile ? datepickerClass : '';\r\n let startDateString = this.state.startDate === null ? '' : moment(this.state.startDate).format('DD-MM-YYYY');\r\n let fakedateStartText = this.state.startDate === null ? labels.dateRange[0] : startDateString;\r\n\r\n if (this.state.selfTravel || (this.state.airport !== '' && this.state.airport !== 'default')) {\r\n isAirportValid = true;\r\n }\r\n let isSubmitDisabled = !(this.state.startDate && (this.state.activeRegion !== 'default' && this.state.activeRegion !== '' && this.state.duration !== '') && isAirportValid);\r\n\r\n for (let i=0; i < this.state.adultLimit; i++) {\r\n adults.push();\r\n }\r\n\r\n for (let i=0; i <= this.state.childLimit; i++) {\r\n children.push();\r\n }\r\n\r\n for (let i=0; i <= this.state.infantLimit; i++) {\r\n infants.push();\r\n }\r\n\r\n let hidden = '';\r\n if (this.state.hasSearched) {\r\n hidden = 'hidden';\r\n }\r\n\r\n let options = [];\r\n for (let i = 1; i < this.state.roomLimit+1; i++) {\r\n options.push(\r\n \r\n );\r\n }\r\n let searchBasket = document.querySelector('[data-element=\"search-basket\"]') !== null;\r\n if (searchBasket) {\r\n let hotelCode = document.querySelector('[data-hotel-code]').dataset.hotelCode;\r\n let selectedLocation = {\r\n Region: \"\",\r\n Resort: \"\",\r\n ArrivalAirports: [\r\n {\r\n AirportCode: \"\"\r\n }\r\n ],\r\n GeoLocationName: \"\"\r\n }\r\n if (this.state.selectedLocation !== undefined) {\r\n selectedLocation = this.state.selectedLocation;\r\n }\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n