{"version":3,"sources":["webpack:///./app/javascript/components/vof/helpers/contentRenderHelper.js","webpack:///./app/javascript/components/vof/helpers/searchHelpers.js","webpack:///./app/javascript/components/vof/hero/ui/SubmitButton.jsx","webpack:///./app/javascript/components/vof/hero/dropdown/DropdownMenuItem.jsx","webpack:///./app/javascript/components/vof/hero/dropdown/DropdownMenu.jsx","webpack:///./app/javascript/components/vof/hero/fields/DestinationsDateFields.jsx","webpack:///./app/javascript/components/vof/hero/tabs/packages/PackageSearchForm.jsx","webpack:///./app/javascript/components/vof/hero/tabs/packages/TabsPackageDeal.jsx","webpack:///./app/javascript/components/vof/api/server.js","webpack:///./app/javascript/components/common/ui/Button.jsx","webpack:///./app/javascript/components/common/hooks/useOutsideClick.js","webpack:///./app/javascript/components/vof/common/forms/DateFieldRange.jsx"],"names":["subHeightCalculations","subElClass","sub","document","querySelector","subHeight","clientHeight","height","Math","max","documentElement","window","innerHeight","fetchPackages","payload","server","get","params","setFullScreenElHeight","el","style","setFullScreenClasses","hotelsEl","body","classList","add","setFullScreenHeights","removeFullScreenClasses","remove","removeFullScreenHeights","setHotelsHeightActions","setTimeout","Promise","resolve","then","search","calcNightsMoment","start","end","diff","setMinDepartureDateMoment","date","nights","moment","disableScroll","element","isIOS","disableBodyScroll","enableScroll","clearAllBodyScrollLocks","enableBodyScroll","SubmitButton","handler","disabled","label","iconClasses","className","rest","clickHandler","type","DropdownMenuItem","hovered","item","menu","getActiveHoveredState","setDropdownOptionHoverState","selectDropdownOption","role","tabIndex","data-item","onMouseOver","onClick","DropdownMenu","getAllDestinations","closeOpenDropdown","dropdownRef","useRef","outsideClick","useOutsideClick","outsideRef","onEveryClick","useEffect","click","ref","map","i","key","DestinationsDateFields","arrival","setArrival","minNights","setNights","setPlaying","departure","setDeparture","useState","dateFocused","setDateFocused","DateFieldRange","startDate","endDate","focusedInput","onDatesChange","hours","minDeparture","onFocusChange","focused","minimumNights","isDayBlocked","isDateBlockedForSelection","numberOfMonths","isMobile","keepOpenOnDateSelect","initialVisibleMonth","earliestStartDate","showDefaultInputIcon","withPortal","startDatePlaceholderText","endDatePlaceholderText","PackageSearchForm","useContext","HeroContext","state","dropdown","activeDestinationTitle","activeDestinationHeading","activeDestination","destinations","dispatch","_setPlaying","playing","HERO","PLAYING","SET","displayLocationAside","setDisplayLocationAside","valid","setValid","queryObj","toggleDropdown","open","dropdownTmp","DROPDOWN","_setDropdown","length","aria-hidden","id","aria-expanded","aria-haspopup","aria-label","ARRIVAL","NIGHTS","href","destination","format","Qs","stringify","e","preventDefault","trackSeePackageDetailsClick","TabsPackageDeal","setMinNights","lowestNightsList","lowestStay","webPSupport","_setActiveDestinationHeading","heading","ACTIVE_DESTINATION","HEADING","setListBarSelection","useSetDestinationListBarPos","setBackgroundImage","useSetBackgroundImage","getDestinationData","property","verb","webp_image","image","getActiveDropdown","setActiveDestination","option","title","active","nav","value","featured","isFeatured","featuredDestinations","some","t","TITLE","NAV","url","destinationsDropdownList","animated","selected","n","$heroBg","transform","animation","clearInterval","_destinationInterval_","API_URL","location","protocol","host","axios","create","baseURL","Button","children","props","defaultProps","setOutsideClick","handleClickOutside","event","current","contains","target","handleKeydown","addEventListener","removeEventListener","startDateId","endDateId","hideKeyboardShortcutsPanel","readOnly","numberMonths","transitionDuration","noBorder"],"mappings":"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","file":"js/60-51a7ea5a815ea6bb6729.chunk.js","sourcesContent":["\n// A promise to return full height minus passed node height\n// subElClass: (string) class or id of element\nexport const getContentHeightSub = (subElClass) => new Promise((resolve) => {\n if(document.querySelector(subElClass)) {\n resolve(subHeightCalculations(subElClass))\n } else {\n setTimeout( () => resolve(subHeightCalculations(subElClass)), 1000)\n }\n})\n\nconst subHeightCalculations = (subElClass) => {\n let sub = document.querySelector(subElClass)\n\n if(sub) {\n let subHeight = sub.clientHeight\n let height = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n )\n\n let contentHeight = height - subHeight\n return `${contentHeight}px`\n }\n}","import { enableBodyScroll, disableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock'\nimport { isIOS } from 'react-device-detect'\nimport server from '../api/server'\nimport moment from 'moment'\nimport { getContentHeightSub } from './contentRenderHelper'\n\nexport const fetchPackages = (payload) => {\n return server.get('/packages.json', { params: payload })\n}\n\n// If within 40% of top\nexport const isInViewport = (elem) => {\n var bounding = elem.getBoundingClientRect()\n // Only if 40% from top of viewport\n let twenty = Math.ceil( (window.innerHeight || document.documentElement.clientHeight) * 0.4)\n\n return (\n (\n bounding.bottom >= 0 &&\n bounding.bottom <= (window.innerHeight || document.documentElement.clientHeight)\n ) || (\n bounding.top >= 0 &&\n bounding.top <= twenty\n )\n )\n}\n\n\nexport const setFullScreenElHeight = (el) => {\n if(el)\n el.style.height = `${Math.max(document.documentElement.clientHeight, window.innerHeight || 0)}px`\n}\n\nexport const setFullScreenClasses = () => {\n let hotelsEl = document.querySelector(\".hotels\")\n let body = document.querySelector(\"body\")\n let wrapperEl = document.querySelector(\".ecommerce-wrapper\")\n wrapperEl.classList.add(\"fullscreen\")\n hotelsEl.classList.add(\"fullscreen\")\n body.classList.add(\"fullscreen\")\n setFullScreenHeights()\n}\n\nexport const removeFullScreenClasses = () => {\n let hotelsEl = document.querySelector(\".hotels\")\n let body = document.querySelector(\"body\")\n let wrapperEl = document.querySelector(\".ecommerce-wrapper\")\n wrapperEl.classList.remove(\"fullscreen\")\n hotelsEl.classList.remove(\"fullscreen\")\n body.classList.remove(\"fullscreen\")\n removeFullScreenHeights()\n}\n\nexport const setFullScreenHeights = () => {\n let hotelsEl = document.querySelector(\".hotels\")\n if(hotelsEl) {\n setHotelsHeightActions(hotelsEl)\n } else {\n setTimeout(() => {\n let hotelsEl = document.querySelector(\".hotels\")\n if(hotelsEl) {\n setHotelsHeightActions(hotelsEl)\n }\n }, 300)\n }\n}\n\nconst setHotelsHeightActions = (el) => {\n el.style.height = `${Math.max(document.documentElement.clientHeight, window.innerHeight || 0)}px`\n\n getContentHeightSub('.search-bar').\n then( (height) => {\n let search = document.querySelector(\".viewport.search\")\n if(search) {\n search.style.height = height\n // To let hotels load\n setTimeout(() => {\n let content = search.querySelector(\".content\")\n content.style.height = height\n }, 2000)\n } else {\n setTimeout(() => {\n let search = document.querySelector(\".viewport.search\")\n if(search) {\n search.style.height = height\n let content = search.querySelector(\".content\")\n content.style.height = height\n }\n }, 1000)\n }\n })\n\n}\n\nexport const removeFullScreenHeights = () => {\n let hotelsEl = document.querySelector(\".hotels\")\n let search = document.querySelector(\".viewport.search\")\n hotelsEl.style.height = null\n search.style.height = null\n}\n\nexport const calcNights = (start, end) => {\n let date1_ms = start.getTime()\n let date2_ms = end.getTime()\n let difference_ms = date2_ms - date1_ms\n let nights = Math.round(difference_ms / (1000 * 60 * 60 * 24))\n return nights\n}\n\n// Expects a Moment object for each date\nexport const calcNightsMoment = (start, end) => end.diff(start, 'days')\n\n// Calc min departure date by min package nights\nexport const setMinDepartureDate = (date, nights) => {\n let minDeparture = new Date(date)\n minDeparture.setDate(minDeparture.getDate() + parseInt(nights))\n return minDeparture\n}\n\n// Calc min departure date by min package nights\n// Expects Momemt object\nexport const setMinDepartureDateMoment = (date, nights) => moment(date).add(nights, \"days\")\n\n// Set Hotels Fullscreen\nexport const setupHotelFullscreen = () => {\n let hotelEl = document.querySelector(\".hotels\")\n // let searchEl = document.querySelector(\".viewport.search\")\n if(hotelEl) {\n // let body = document.querySelector(\"body\")\n // body.classList.add(\"fullscreen\")\n // clearAllBodyScrollLocks()\n setFullScreenClasses()\n if(!isIOS) {\n disableBodyScroll(hotelEl)\n }\n // setFullScreenElHeight(hotelEl)\n // let subHeight = getContentHeightSub(\".search-bar\")\n // let search = document.querySelector(\".viewport.search\")\n // search.style.height = subHeight\n // disableBodyScroll(hotelEl, { allowTouchMove: el => el.classList.contains(\"scrollable\") })\n // disableBodyScroll(searchEl)\n }\n}\n\nexport const disableScroll = (element) => {\n if(!isIOS) disableBodyScroll(document.querySelector(element))\n let body = document.querySelector(\"body\")\n body.classList.add(\"fullscreen\")\n}\n\nexport const enableScroll = (element) => {\n if(!isIOS) clearAllBodyScrollLocks()\n if(!isIOS) enableBodyScroll(document.querySelector(element))\n let body = document.querySelector(\"body\")\n body.classList.remove(\"fullscreen\")\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport Button from '../../../common/ui/Button'\n\nconst SubmitButton = ({\n handler,\n disabled,\n label,\n iconClasses,\n className = '',\n ...rest\n}) => {\n return (\n \n )\n}\n\nSubmitButton.propTypes = {\n handler: PropTypes.func.isRequired,\n disabled: PropTypes.bool.isRequired,\n label: PropTypes.string.isRequired,\n iconClasses: PropTypes.string,\n className: PropTypes.string\n}\n\nexport default SubmitButton","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst DropdownMenuItem = ({\n item,\n menu,\n getActiveHoveredState,\n setDropdownOptionHoverState,\n selectDropdownOption,\n}) => {\n\n const isHovered = () => {\n const hovered = getActiveHoveredState()\n return item === hovered ? \"hovered\" : ''\n }\n\n const outputMenuItem = () => {\n return (\n
We take the hassle out of vacationing.
Enjoy the savings and convenience of a Package Deal.