{"version":3,"file":"itineraryFields.42d20c7a47eafa6732a7.js","mappings":"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","sources":["webpack://kenya_markup/./src/components/ItineraryFields/ItineraryFieldsComponent.vue?5e88","webpack://kenya_markup/./src/components/ItineraryFields/ItineraryFieldsComponent.vue?c03c","webpack://kenya_markup/./src/components/ItineraryFields/ItineraryFieldsComponent.vue","webpack://kenya_markup/./src/components/ItineraryFields/ItineraryFieldsComponent.vue?e874"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.itinerary-fields--small {\\r\\n max-width: 750px;\\n}\\n.itinerary-fields .cabininput__trigger {\\r\\n width: 100%;\\n}\\n.itinerary-fields .select__dropdown {\\r\\n /* z-index: 1003 */\\n}\\n.itinerary-fields .airport-lookup {\\r\\n position: relative;\\r\\n /* z-index: 1002; */\\n}\\n.itinerary-fields--small .cabininput__trigger {\\r\\n margin-top: 16px;\\r\\n white-space: nowrap;\\n}\\n.itinerary-fields--small .airport-lookup {\\r\\n margin-top: 16px;\\n}\\n.itinerary-fields--small .depart-return-picker {\\r\\n margin-top: 16px;\\n}\\n.itinerary-fields--small .booking-widget__search-button {\\r\\n margin-top: 16px;\\n}\\n.itinerary-fields:not(.itinerary-fields--small),\\r\\n.itinerary-fields:not(.itinerary-fields--small) .itinerary-fields__second-row {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n justify-content: flex-start;\\r\\n flex-wrap: wrap;\\r\\n column-gap: 16px;\\r\\n row-gap: 24px;\\n}\\n.itinerary-fields__second-row {\\r\\n /* flex-wrap: nowrap; */\\r\\n flex-grow: 1;\\n}\\n.itinerary-fields__multi-city {\\r\\n flex-grow: 1;\\n}\\n.itinerary-fields--small .itinerary-fields__multi-city__row {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n align-items: stretch;\\n}\\n.itinerary-fields:not(.itinerary-fields--small) .itinerary-fields__multi-city__row {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n column-gap: 16px;\\r\\n position: relative;\\r\\n margin-top: 24px;\\n}\\n.itinerary-fields:not(.itinerary-fields--small) .itinerary-fields__multi-city__row:first-child {\\r\\n margin-top: 0;\\n}\\n.itinerary-fields:not(.itinerary-fields--small) .itinerary-fields__depart-return-picker,\\r\\n.itinerary-fields:not(.itinerary-fields--small) .itinerary-fields__airport-lookup {\\r\\n flex-grow: 1;\\n}\\n.itinerary-fields--large .itinerary-fields__trip-type {\\r\\n min-width: 135px;\\r\\n flex-basis: 220px;\\r\\n /* flex-grow: 1; */\\n}\\n.itinerary-fields--medium .itinerary-fields__trip-type {\\r\\n flex-basis: 133px;\\r\\n /* flex-basis: 210px; */\\r\\n /* flex-grow: 1; */\\n}\\n.itinerary-fields--large .itinerary-fields__depart-return-picker {\\r\\n min-width: 330px;\\r\\n /* flex-basis: 210px; */\\n}\\n.itinerary-fields--medium .itinerary-fields__depart-return-picker {\\r\\n flex-basis: 278px;\\r\\n /* flex-basis: 210px; */\\n}\\n.itinerary-fields--large .itinerary-fields__airport-lookup {\\r\\n flex-basis: 560px;\\n}\\n.itinerary-fields--medium .itinerary-fields__airport-lookup {\\r\\n flex-basis: 325px;\\r\\n /* flex-basis: 585px; */\\n}\\n.itinerary-fields--small .itinerary-fields__cabin-input,\\r\\n.itinerary-fields--small .itinerary-fields__airport-lookup,\\r\\n.itinerary-fields--small .itinerary-fields__depart-return-picker {\\r\\n /* flex-basis: 210px; */\\r\\n width: 100%;\\n}\\n.itinerary-fields--large .itinerary-fields__cabin-input {\\r\\n flex-basis: 245px;\\r\\n /* min-width: 210px; */\\n}\\n.itinerary-fields--small .booking-widget__search-button {\\r\\n width: 100%;\\n}\\n.itinerary-fields .select__trigger {\\r\\n min-width: 0;\\n}\\n.itinerary-fields__multi-city__row .airport-lookup {\\r\\n flex-grow: 1;\\n}\\n.itinerary-fields--small .itinerary-fields__multi-city__remove {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n margin-top: 16px;\\n}\\n.itinerary-fields:not(.itinerary-fields--small) .itinerary-fields__multi-city__remove {\\r\\n position: absolute;\\r\\n right: -16px;\\r\\n top: 50%;\\r\\n transform: translateX(100%) translateY(-50%);\\n}\\n.itinerary-fields__add-flight {\\r\\n flex-grow: 1;\\n}\\n.itinerary-fields--small .itinerary-fields__add-flight .button {\\r\\n margin-left: 0;\\n}\\n.panel--in-hero .itinerary-fields__add-flight .button {\\r\\n color: #FFF;\\n}\\n.list-enter-active, .list-leave-active, .row-enter-active, .row-leave-active {\\r\\n transition: all 0.2s;\\n}\\n.list-enter-from, .list-leave-to, .row-enter-from, .row-leave-to {\\r\\n opacity: 0;\\r\\n max-height: 0px;\\r\\n margin-top: 0px !important;\\r\\n overflow: hidden;\\n}\\n.list-enter-to, .list-leave-from, .row-enter-to, .row-leave-from {\\r\\n opacity: 1;\\r\\n max-height: 100px;\\r\\n overflow: hidden;\\n}\\n.itinerary-fields__add-flight__button {\\r\\n align-items: center;\\r\\n display: inline-flex;\\r\\n appearance: none;\\r\\n background-color: transparent;\\r\\n border: 0;\\n}\\n.itinerary-fields__add-flight__button__icon {\\r\\n margin-right: 8px;\\r\\n background-color: var(--kq-brand-primary);\\r\\n border-radius: 50%;\\r\\n width: 35px;\\r\\n height: 35px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n justify-content: center;\\n}\\n.panel--in-hero .itinerary-fields__add-flight__button {\\r\\n color: #FFF;\\r\\n padding-left: 0;\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/ItineraryFields/ItineraryFieldsComponent.vue\"],\"names\":[],\"mappings\":\";AAqSA;EACE,gBAAgB;AAClB;AAEA;EACE,WAAW;AACb;AAEA;EACE,kBAAkB;AACpB;AAEA;EACE,kBAAkB;EAClB,mBAAmB;AACrB;AAEA;EACE,gBAAgB;EAChB,mBAAmB;AACrB;AAEA;EACE,gBAAgB;AAClB;AAEA;EACE,gBAAgB;AAClB;AAEA;EACE,gBAAgB;AAClB;AAEA;;EAEE,aAAa;EACb,mBAAmB;EACnB,2BAA2B;EAC3B,eAAe;EACf,gBAAgB;EAChB,aAAa;AACf;AAEA;EACE,uBAAuB;EACvB,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,oBAAoB;AACtB;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,gBAAgB;EAChB,kBAAkB;EAClB,gBAAgB;AAClB;AAEA;EACE,aAAa;AACf;AAGA;;EAEE,YAAY;AACd;AAEA;EACE,gBAAgB;EAChB,iBAAiB;EACjB,kBAAkB;AACpB;AAEA;EACE,iBAAiB;EACjB,uBAAuB;EACvB,kBAAkB;AACpB;AAEA;EACE,gBAAgB;EAChB,uBAAuB;AACzB;AAEA;EACE,iBAAiB;EACjB,uBAAuB;AACzB;AAEA;EACE,iBAAiB;AACnB;AAEA;EACE,iBAAiB;EACjB,uBAAuB;AACzB;AAEA;;;EAGE,uBAAuB;EACvB,WAAW;AACb;AAEA;EACE,iBAAiB;EACjB,sBAAsB;AACxB;AAEA;EACE,WAAW;AACb;AAEA;EACE,YAAY;AACd;AAEA;EACE,YAAY;AACd;AAEA;EACE,aAAa;EACb,yBAAyB;EACzB,gBAAgB;AAClB;AAEA;EACE,kBAAkB;EAClB,YAAY;EACZ,QAAQ;EACR,4CAA4C;AAC9C;AAEA;EACE,YAAY;AACd;AAEA;EACE,cAAc;AAChB;AAEA;EACE,WAAW;AACb;AAEA;EACE,oBAAoB;AACtB;AACA;EACE,UAAU;EACV,eAAe;EACf,0BAA0B;EAC1B,gBAAgB;AAClB;AACA;EACE,UAAU;EACV,iBAAiB;EACjB,gBAAgB;AAClB;AAEA;EACE,mBAAmB;EACnB,oBAAoB;EACpB,gBAAgB;EAChB,6BAA6B;EAC7B,SAAS;AACX;AAEA;EACE,iBAAiB;EACjB,yCAAyC;EACzC,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,mBAAmB;EACnB,uBAAuB;AACzB;AAEA;EACE,WAAW;EACX,eAAe;AACjB\",\"sourcesContent\":[\"<template>\\r\\n <div\\r\\n :class=\\\"[\\r\\n 'itinerary-fields',\\r\\n 'itinerary-fields--' + size,\\r\\n {\\r\\n 'itinerary-fields--stuck': isStuck,\\r\\n 'itinerary-fields--multi-city': tripTypeRef === 'multi-city'\\r\\n },\\r\\n\\r\\n ]\\\">\\r\\n <div class=\\\"itinerary-fields__trip-type\\\">\\r\\n <DropdownSelect\\r\\n v-model=\\\"dropdownTripType\\\"\\r\\n :dropdown-title=\\\"cmsProps?.tripTypeLabel.value ?? 'Trip'\\\"\\r\\n :options-array=\\\"tripOptions\\\"\\r\\n />\\r\\n </div>\\r\\n <div v-if=\\\"tripTypeRef !== 'multi-city'\\\" class=\\\"itinerary-fields__airport-lookup\\\">\\r\\n <AirportLookup\\r\\n v-model:airport-from=\\\"itinerariesRef[0].fromAirport\\\"\\r\\n v-model:airport-to=\\\"itinerariesRef[0].toAirport\\\"\\r\\n />\\r\\n </div>\\r\\n <div v-if=\\\"tripTypeRef === 'multi-city'\\\" class=\\\"itinerary-fields__multi-city\\\">\\r\\n <transition-group name=\\\"list\\\">\\r\\n <div v-for=\\\"(itinerary, index) in itinerariesRef\\\" :key=\\\"index\\\" class=\\\"itinerary-fields__multi-city__row\\\">\\r\\n <AirportLookup\\r\\n v-model:airport-from=\\\"itinerary.fromAirport\\\"\\r\\n v-model:airport-to=\\\"itinerary.toAirport\\\"\\r\\n />\\r\\n <depart-return-picker\\r\\n v-model:depart-value=\\\"itinerary.departureDate\\\"\\r\\n :name=\\\"'departureDate' + index\\\"\\r\\n :show-prices=\\\"false\\\"\\r\\n :show-one-way=\\\"false\\\"\\r\\n one-way\\r\\n :min-date=\\\"(index > 0 && itinerariesRef[index - 1].departureDate\\r\\n ? (dayjs(itinerariesRef[index - 1].departureDate).endOf('month').isSame(itinerariesRef[index - 1].departureDate, 'day')\\r\\n ? dayjs(itinerariesRef[index - 1].departureDate).endOf('month').add(1, 'day').toDate()\\r\\n : new Date(itinerariesRef[index - 1].departureDate as string))\\r\\n : dayjs().startOf('day').toDate())\\\"\\r\\n :max-date=\\\"index < itinerariesRef.length - 1 && itinerariesRef[index + 1].departureDate\\r\\n ? new Date(itinerariesRef[index + 1].departureDate as string)\\r\\n : index > 0 && itinerariesRef[index - 1].departureDate\\r\\n ? dayjs(itinerariesRef[index - 1].departureDate).add(361, 'day').toDate()\\r\\n : dayjs().startOf('day').add(361, 'day').toDate() \\\"\\r\\n @update:display-month=\\\"value => setDisplayMonth(value)\\\"\\r\\n />\\r\\n <div v-if=\\\"index === itinerariesRef.length - 1 && index !== 0\\\" class=\\\"itinerary-fields__multi-city__remove\\\">\\r\\n <button role=\\\"button\\\" aria-label=\\\"Remove this flight\\\" class=\\\"button button--text button--icon\\\" @click=\\\"removeMultiCityFlight(index)\\\"><i class=\\\"icon icon-delete-fill icon--sm icon-color--red\\\" aria-hidden=\\\"true\\\"></i></button>\\r\\n </div>\\r\\n </div>\\r\\n </transition-group>\\r\\n </div>\\r\\n <transition name=\\\"row\\\">\\r\\n <div v-if=\\\"itinerariesRef[0].fromAirport && itinerariesRef[0].toAirport || !conditionalSecondRow\\\" class=\\\"itinerary-fields__second-row\\\">\\r\\n <div v-if=\\\"tripTypeRef === 'multi-city'\\\" class=\\\"itinerary-fields__add-flight\\\">\\r\\n <button\\r\\n v-if=\\\"itinerariesRef.length < 4\\\"\\r\\n role=\\\"button\\\"\\r\\n aria-label=\\\"Add a multi-city flight to your itinerary\\\"\\r\\n class=\\\"itinerary-fields__add-flight__button\\\"\\r\\n @click=\\\"addMultiCityFlight\\\">\\r\\n <span class=\\\"itinerary-fields__add-flight__button__icon\\\">\\r\\n <i class=\\\"icon icon-color--white icon-plus icon--sm\\\" aria-hidden=\\\"true\\\"></i>\\r\\n </span>\\r\\n Add Flight\\r\\n </button>\\r\\n </div>\\r\\n <div v-if=\\\"showCabinClass || (!conditionalSecondRow && !conditionalCabinClass)\\\" class=\\\"itinerary-fields__cabin-input\\\">\\r\\n <cabin-input v-model=\\\"passengerAndCabinClassRef\\\" />\\r\\n </div>\\r\\n <div v-if=\\\"tripTypeRef !== 'multi-city' && showDates && itinerariesRef[1]\\\" class=\\\"itinerary-fields__depart-return-picker\\\">\\r\\n <depart-return-picker\\r\\n v-model:depart-value=\\\"itinerariesRef[0].departureDate\\\"\\r\\n v-model:return-value=\\\"itinerariesRef[1].departureDate\\\"\\r\\n v-model:trip-length=\\\"tripLengthRef\\\"\\r\\n name=\\\"departReturn\\\"\\r\\n :min-date=\\\"dayjs().startOf('day').toDate()\\\"\\r\\n :max-date=\\\"itinerariesRef[0].departureDate ? undefined : ((dayjs(itinerariesRef[0].departureDate).add(361, 'day').toDate()))\\\"\\r\\n :show-prices=\\\"showPrices\\\"\\r\\n :api-prices=\\\"apiPrices\\\"\\r\\n :one-way=\\\"tripTypeRef !== 'return'\\\"\\r\\n @update:one-way=\\\"setOneWay\\\"\\r\\n @update:display-month=\\\"value => setDisplayMonth(value)\\\"\\r\\n />\\r\\n </div>\\r\\n <slot></slot>\\r\\n </div>\\r\\n </transition>\\r\\n </div>\\r\\n</template>\\r\\n\\r\\n<script setup lang=\\\"ts\\\">\\r\\nimport { ref, computed, watch, inject, onMounted, Ref } from 'vue'\\r\\nimport { watchDebounced } from '@vueuse/core'\\r\\nimport CabinInput from '../CabinInput/CabinInput.vue'\\r\\nimport AirportLookup from '../AirportLookup/AirportLookup.vue'\\r\\nimport DropdownSelect from '../DropdownSelect/DropdownSelect.vue';\\r\\nimport DepartReturnPicker from '../DepartReturnPicker/DepartReturnPicker.vue';\\r\\nimport createAmadeusBestPricesRequest from '../../lib/createAmadeusBestPricesRequest';\\r\\nimport optiClient from '../../services/api';\\r\\nimport { AirBestPricesReply } from \\\"../../../amadeus-client/api\\\";\\r\\n\\r\\nimport { Itinerary } from '../../types/ApiTypes'\\r\\nimport { CabinInputValues } from \\\"../CabinInput/types\\\";\\r\\nimport { BookingWidgetContentInterface } from '../BookingWidget/types';\\r\\nimport dayjs from 'dayjs';\\r\\n\\r\\nexport type ItineraryFieldsProps = {\\r\\n size?: 'small' | 'medium' | 'large'\\r\\n showDates?: boolean\\r\\n showCabinClass?: boolean\\r\\n conditionalSecondRow?: boolean\\r\\n conditionalCabinClass?: boolean,\\r\\n allowMultiCity?: boolean\\r\\n isStuck?: boolean\\r\\n showPrices?: boolean\\r\\n} & ItineraryFieldsState;\\r\\n\\r\\nexport interface ItineraryFieldsState {\\r\\n itineraries?: Itinerary[]\\r\\n passengerAndCabinClass?: CabinInputValues\\r\\n tripType?: TripDropdownValue\\r\\n}\\r\\n\\r\\ntype TripDropdownValue = { label: string; value: 'return' | 'oneway' | 'multi-city', imgsrc?: string };\\r\\n\\r\\nconst props = withDefaults(defineProps<ItineraryFieldsProps>(), {\\r\\n size: 'small',\\r\\n showDates: true,\\r\\n allowMultiCity: true,\\r\\n showCabinClass: true,\\r\\n conditionalSecondRow: true,\\r\\n conditionalCabinClass: true,\\r\\n showPrices: true,\\r\\n itineraries: () => [{}, {}],\\r\\n passengerAndCabinClass: (props) => props.passengerAndCabinClass ?? ({ adults: 1, cabin: 'economy', youth: 0, child: 0, infant: 0 }),\\r\\n});\\r\\n\\r\\ninterface Emits {\\r\\n (e: 'update:itineraries', state: Itinerary[]): void\\r\\n (e: 'update:passengerAndCabinClass', state: CabinInputValues): void\\r\\n (e: 'update:tripType', state: TripDropdownValue | undefined): void\\r\\n};\\r\\n\\r\\nconst emit = defineEmits<Emits>();\\r\\n\\r\\nconst tripOptions: TripDropdownValue[] = [\\r\\n { label: 'Return', value: 'return' },\\r\\n { label: 'One way', value: 'oneway' },\\r\\n];\\r\\n\\r\\nif (props.allowMultiCity) {\\r\\n tripOptions.push({ label: 'Multi-city', value: 'multi-city' });\\r\\n}\\r\\n\\r\\nconst getInitialTripType = () => {\\r\\n if (props.tripType) return props.tripType;\\r\\n if (props.itineraries.length === 1) return tripOptions[1];\\r\\n if (props.itineraries.length === 2) {\\r\\n if (props.itineraries[0].toAirportCode && props.itineraries[0].toAirportCode === props.itineraries[1].fromAirportCode) return tripOptions[2];\\r\\n }\\r\\n return tripOptions[0];\\r\\n};\\r\\n\\r\\nconst cmsProps = inject<Ref<BookingWidgetContentInterface | undefined>>('cms-props');\\r\\n\\r\\nconst dropdownTripType = ref<TripDropdownValue>();\\r\\nconst tripLengthRef = ref(15);\\r\\nconst itinerariesRef = ref<Itinerary[]>(props.itineraries);\\r\\nconst passengerAndCabinClassRef = ref(props.passengerAndCabinClass);\\r\\nconst displayMonth = ref(dayjs().add(1, 'day').toDate());\\r\\nconst apiPrices = ref<AirBestPricesReply>();\\r\\nconst fareFamilies: string[] = inject('amadeus-fare-families') ?? ['CFFECOBIZ','CFFBIZ'];\\r\\n\\r\\nconst tripTypeRef = computed(() => dropdownTripType.value?.value);\\r\\n\\r\\nonMounted(() => {\\r\\n const initialTripType = getInitialTripType();\\r\\n dropdownTripType.value = initialTripType;\\r\\n const initialDepartureDate = initialTripType.value !== 'multi-city' ? props.itineraries?.[0]?.departureDate : undefined;\\r\\n if (initialDepartureDate) displayMonth.value = new Date(initialDepartureDate);\\r\\n});\\r\\n\\r\\nwatch(tripTypeRef, (value, oldValue) => {\\r\\n if (value === oldValue || !oldValue) return;\\r\\n if (value === 'multi-city') {\\r\\n itinerariesRef.value[0] = itinerariesRef.value[0] ?? {};\\r\\n itinerariesRef.value.length = 1;\\r\\n } else if (value === 'oneway') {\\r\\n itinerariesRef.value[0] = itinerariesRef.value[0] ?? {};\\r\\n itinerariesRef.value[1] = {ignore: true};\\r\\n itinerariesRef.value.length = 2;\\r\\n } else {\\r\\n itinerariesRef.value[0] = itinerariesRef.value[0] ?? {};\\r\\n itinerariesRef.value[1] = {ignore: false};\\r\\n itinerariesRef.value.length = 2;\\r\\n }\\r\\n itinerariesRef.value = [...itinerariesRef.value];\\r\\n}, { immediate: true });\\r\\n\\r\\nwatch(() => itinerariesRef.value[0], (itinerary) => {\\r\\n if (tripTypeRef.value === 'return' && itinerary.fromAirport?.locIATA && itinerary.toAirport?.locIATA && itinerariesRef.value[1]) {\\r\\n itinerariesRef.value[1].toAirport = itinerariesRef.value[0].fromAirport;\\r\\n itinerariesRef.value[1].fromAirport = itinerariesRef.value[0].toAirport;\\r\\n }\\r\\n}, { deep: true });\\r\\n\\r\\nwatch(passengerAndCabinClassRef, (value) => {\\r\\n emit('update:passengerAndCabinClass', value);\\r\\n});\\r\\n\\r\\nwatch(() => props.passengerAndCabinClass, (value) => {\\r\\n passengerAndCabinClassRef.value = value;\\r\\n}, { deep: true });\\r\\n\\r\\nwatch(dropdownTripType, (value) => {\\r\\n emit('update:tripType', value);\\r\\n});\\r\\n\\r\\nwatch(() => props.tripType, (value) => {\\r\\n dropdownTripType.value = value;\\r\\n}, { deep: true });\\r\\n\\r\\nwatchDebounced(itinerariesRef, (value) => {\\r\\n emit('update:itineraries', value);\\r\\n}, { deep: true, debounce: 300, maxWait: 500 });\\r\\n\\r\\nwatch(() => props.itineraries, (value) => {\\r\\n itinerariesRef.value = value;\\r\\n}, { deep: true });\\r\\n\\r\\nconst setDisplayMonth = (month: Date) => {\\r\\n displayMonth.value = month;\\r\\n};\\r\\n\\r\\nconst setOneWay = (value: boolean) => {\\r\\n dropdownTripType.value = tripOptions[value ? 1 : 0];\\r\\n};\\r\\n\\r\\nconst pricesRequest = computed(() => {\\r\\n if (!itinerariesRef.value[0].fromAirport || !itinerariesRef.value[0].toAirport || !displayMonth.value || tripTypeRef.value === 'multi-city' || !props.showDates) return null;\\r\\n return createAmadeusBestPricesRequest({\\r\\n originLocationCode:itinerariesRef.value[0].fromAirport.locIATA,\\r\\n destinationLocationCode: itinerariesRef.value[0].toAirport.locIATA,\\r\\n departureDateTime: itinerariesRef.value[0].departureDate ? new Date(itinerariesRef.value[0].departureDate) : displayMonth.value,\\r\\n tripDuration: tripTypeRef.value === 'oneway' ? undefined : itinerariesRef.value[1].departureDate ? dayjs(itinerariesRef.value[1].departureDate).diff(itinerariesRef.value[0].departureDate, 'days') + 1 : tripLengthRef.value,\\r\\n rangeOfDeparture: itinerariesRef.value[0].departureDate ? undefined : 62,\\r\\n durationFlexibility: itinerariesRef.value[0].departureDate ? undefined : 1,\\r\\n fareFamilies,\\r\\n });\\r\\n});\\r\\n\\r\\nconst getFlightPrices = async () => {\\r\\n try {\\r\\n const res: AirBestPricesReply = await optiClient.bookings.postApiV1BookingsFlightsSearch(pricesRequest.value);\\r\\n apiPrices.value = res;\\r\\n console.log('get', apiPrices.value);\\r\\n } catch (error) {\\r\\n console.log(error);\\r\\n }\\r\\n};\\r\\n\\r\\n\\r\\nconst calculateMonthsDifference = (departureDate) => {\\r\\n if (departureDate) {\\r\\n const currentDate = dayjs();\\r\\n const departureDateObj = dayjs(departureDate, 'DD MMM YY');\\r\\n const monthsDifference = currentDate.diff(departureDateObj, 'month') * - 1;\\r\\n return monthsDifference;\\r\\n }\\r\\n return 0;\\r\\n }\\r\\n\\r\\n\\r\\nwatchDebounced(() => pricesRequest.value, (newValue) => {\\r\\n if (newValue) {\\r\\n getFlightPrices();\\r\\n }\\r\\n}, {debounce: 300, maxWait: 500});\\r\\n\\r\\nfunction addMultiCityFlight() {\\r\\n itinerariesRef.value.push({ignore: false});\\r\\n}\\r\\n\\r\\nfunction removeMultiCityFlight(index: number) {\\r\\n itinerariesRef.value.splice(index, 1);\\r\\n}\\r\\n</script>\\r\\n\\r\\n<style>\\r\\n.itinerary-fields--small {\\r\\n max-width: 750px;\\r\\n}\\r\\n\\r\\n.itinerary-fields .cabininput__trigger {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.itinerary-fields .select__dropdown {\\r\\n /* z-index: 1003 */\\r\\n}\\r\\n\\r\\n.itinerary-fields .airport-lookup {\\r\\n position: relative;\\r\\n /* z-index: 1002; */\\r\\n}\\r\\n\\r\\n.itinerary-fields--small .cabininput__trigger {\\r\\n margin-top: 16px;\\r\\n white-space: nowrap;\\r\\n}\\r\\n\\r\\n.itinerary-fields--small .airport-lookup {\\r\\n margin-top: 16px;\\r\\n}\\r\\n\\r\\n.itinerary-fields--small .depart-return-picker {\\r\\n margin-top: 16px;\\r\\n}\\r\\n\\r\\n.itinerary-fields--small .booking-widget__search-button {\\r\\n margin-top: 16px;\\r\\n}\\r\\n\\r\\n.itinerary-fields:not(.itinerary-fields--small),\\r\\n.itinerary-fields:not(.itinerary-fields--small) .itinerary-fields__second-row {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n justify-content: flex-start;\\r\\n flex-wrap: wrap;\\r\\n column-gap: 16px;\\r\\n row-gap: 24px;\\r\\n}\\r\\n\\r\\n.itinerary-fields__second-row {\\r\\n /* flex-wrap: nowrap; */\\r\\n flex-grow: 1;\\r\\n}\\r\\n\\r\\n.itinerary-fields__multi-city {\\r\\n flex-grow: 1;\\r\\n}\\r\\n\\r\\n.itinerary-fields--small .itinerary-fields__multi-city__row {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n align-items: stretch;\\r\\n}\\r\\n\\r\\n.itinerary-fields:not(.itinerary-fields--small) .itinerary-fields__multi-city__row {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n column-gap: 16px;\\r\\n position: relative;\\r\\n margin-top: 24px;\\r\\n}\\r\\n\\r\\n.itinerary-fields:not(.itinerary-fields--small) .itinerary-fields__multi-city__row:first-child {\\r\\n margin-top: 0;\\r\\n}\\r\\n\\r\\n\\r\\n.itinerary-fields:not(.itinerary-fields--small) .itinerary-fields__depart-return-picker,\\r\\n.itinerary-fields:not(.itinerary-fields--small) .itinerary-fields__airport-lookup {\\r\\n flex-grow: 1;\\r\\n}\\r\\n\\r\\n.itinerary-fields--large .itinerary-fields__trip-type {\\r\\n min-width: 135px;\\r\\n flex-basis: 220px;\\r\\n /* flex-grow: 1; */\\r\\n}\\r\\n\\r\\n.itinerary-fields--medium .itinerary-fields__trip-type {\\r\\n flex-basis: 133px;\\r\\n /* flex-basis: 210px; */\\r\\n /* flex-grow: 1; */\\r\\n}\\r\\n\\r\\n.itinerary-fields--large .itinerary-fields__depart-return-picker {\\r\\n min-width: 330px;\\r\\n /* flex-basis: 210px; */\\r\\n}\\r\\n\\r\\n.itinerary-fields--medium .itinerary-fields__depart-return-picker {\\r\\n flex-basis: 278px;\\r\\n /* flex-basis: 210px; */\\r\\n}\\r\\n\\r\\n.itinerary-fields--large .itinerary-fields__airport-lookup {\\r\\n flex-basis: 560px;\\r\\n}\\r\\n\\r\\n.itinerary-fields--medium .itinerary-fields__airport-lookup {\\r\\n flex-basis: 325px;\\r\\n /* flex-basis: 585px; */\\r\\n}\\r\\n\\r\\n.itinerary-fields--small .itinerary-fields__cabin-input,\\r\\n.itinerary-fields--small .itinerary-fields__airport-lookup,\\r\\n.itinerary-fields--small .itinerary-fields__depart-return-picker {\\r\\n /* flex-basis: 210px; */\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.itinerary-fields--large .itinerary-fields__cabin-input {\\r\\n flex-basis: 245px;\\r\\n /* min-width: 210px; */\\r\\n}\\r\\n\\r\\n.itinerary-fields--small .booking-widget__search-button {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.itinerary-fields .select__trigger {\\r\\n min-width: 0;\\r\\n}\\r\\n\\r\\n.itinerary-fields__multi-city__row .airport-lookup {\\r\\n flex-grow: 1;\\r\\n}\\r\\n\\r\\n.itinerary-fields--small .itinerary-fields__multi-city__remove {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n margin-top: 16px;\\r\\n}\\r\\n\\r\\n.itinerary-fields:not(.itinerary-fields--small) .itinerary-fields__multi-city__remove {\\r\\n position: absolute;\\r\\n right: -16px;\\r\\n top: 50%;\\r\\n transform: translateX(100%) translateY(-50%);\\r\\n}\\r\\n\\r\\n.itinerary-fields__add-flight {\\r\\n flex-grow: 1;\\r\\n}\\r\\n\\r\\n.itinerary-fields--small .itinerary-fields__add-flight .button {\\r\\n margin-left: 0;\\r\\n}\\r\\n\\r\\n.panel--in-hero .itinerary-fields__add-flight .button {\\r\\n color: #FFF;\\r\\n}\\r\\n\\r\\n.list-enter-active, .list-leave-active, .row-enter-active, .row-leave-active {\\r\\n transition: all 0.2s;\\r\\n}\\r\\n.list-enter-from, .list-leave-to, .row-enter-from, .row-leave-to {\\r\\n opacity: 0;\\r\\n max-height: 0px;\\r\\n margin-top: 0px !important;\\r\\n overflow: hidden;\\r\\n}\\r\\n.list-enter-to, .list-leave-from, .row-enter-to, .row-leave-from {\\r\\n opacity: 1;\\r\\n max-height: 100px;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.itinerary-fields__add-flight__button {\\r\\n align-items: center;\\r\\n display: inline-flex;\\r\\n appearance: none;\\r\\n background-color: transparent;\\r\\n border: 0;\\r\\n}\\r\\n\\r\\n.itinerary-fields__add-flight__button__icon {\\r\\n margin-right: 8px;\\r\\n background-color: var(--kq-brand-primary);\\r\\n border-radius: 50%;\\r\\n width: 35px;\\r\\n height: 35px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n.panel--in-hero .itinerary-fields__add-flight__button {\\r\\n color: #FFF;\\r\\n padding-left: 0;\\r\\n}\\r\\n</style>\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n};\r\nimport { defineComponent as _defineComponent } from 'vue';\r\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, TransitionGroup as _TransitionGroup, withCtx as _withCtx, createTextVNode as _createTextVNode, renderSlot as _renderSlot, Transition as _Transition, normalizeClass as _normalizeClass } from \"vue\";\r\nvar _hoisted_1 = { class: \"itinerary-fields__trip-type\" };\r\nvar _hoisted_2 = {\r\n key: 0,\r\n class: \"itinerary-fields__airport-lookup\"\r\n};\r\nvar _hoisted_3 = {\r\n key: 1,\r\n class: \"itinerary-fields__multi-city\"\r\n};\r\nvar _hoisted_4 = {\r\n key: 0,\r\n class: \"itinerary-fields__multi-city__remove\"\r\n};\r\nvar _hoisted_5 = [\"onClick\"];\r\nvar _hoisted_6 = /*#__PURE__*/ _createElementVNode(\"i\", {\r\n class: \"icon icon-delete-fill icon--sm icon-color--red\",\r\n \"aria-hidden\": \"true\"\r\n}, null, -1 /* HOISTED */);\r\nvar _hoisted_7 = [\r\n _hoisted_6\r\n];\r\nvar _hoisted_8 = {\r\n key: 0,\r\n class: \"itinerary-fields__second-row\"\r\n};\r\nvar _hoisted_9 = {\r\n key: 0,\r\n class: \"itinerary-fields__add-flight\"\r\n};\r\nvar _hoisted_10 = /*#__PURE__*/ _createElementVNode(\"span\", { class: \"itinerary-fields__add-flight__button__icon\" }, [\r\n /*#__PURE__*/ _createElementVNode(\"i\", {\r\n class: \"icon icon-color--white icon-plus icon--sm\",\r\n \"aria-hidden\": \"true\"\r\n })\r\n], -1 /* HOISTED */);\r\nvar _hoisted_11 = {\r\n key: 1,\r\n class: \"itinerary-fields__cabin-input\"\r\n};\r\nvar _hoisted_12 = {\r\n key: 2,\r\n class: \"itinerary-fields__depart-return-picker\"\r\n};\r\nimport { ref, computed, watch, inject, onMounted } from 'vue';\r\nimport { watchDebounced } from '@vueuse/core';\r\nimport CabinInput from '../CabinInput/CabinInput.vue';\r\nimport AirportLookup from '../AirportLookup/AirportLookup.vue';\r\nimport DropdownSelect from '../DropdownSelect/DropdownSelect.vue';\r\nimport DepartReturnPicker from '../DepartReturnPicker/DepartReturnPicker.vue';\r\nimport createAmadeusBestPricesRequest from '../../lib/createAmadeusBestPricesRequest';\r\nimport optiClient from '../../services/api';\r\nimport dayjs from 'dayjs';\r\nexport default /*#__PURE__*/ _defineComponent({\r\n __name: 'ItineraryFieldsComponent',\r\n props: {\r\n size: { default: 'small' },\r\n showDates: { type: Boolean, default: true },\r\n showCabinClass: { type: Boolean, default: true },\r\n conditionalSecondRow: { type: Boolean, default: true },\r\n conditionalCabinClass: { type: Boolean, default: true },\r\n allowMultiCity: { type: Boolean, default: true },\r\n isStuck: { type: Boolean },\r\n showPrices: { type: Boolean, default: true },\r\n itineraries: { default: function () { return [{}, {}]; } },\r\n passengerAndCabinClass: { default: function (props) { var _a; return (_a = props.passengerAndCabinClass) !== null && _a !== void 0 ? _a : ({ adults: 1, cabin: 'economy', youth: 0, child: 0, infant: 0 }); } },\r\n tripType: {}\r\n },\r\n emits: [\"update:itineraries\", \"update:passengerAndCabinClass\", \"update:tripType\"],\r\n setup: function (__props, _a) {\r\n var _this = this;\r\n var _b;\r\n var emit = _a.emit;\r\n var props = __props;\r\n ;\r\n var tripOptions = [\r\n { label: 'Return', value: 'return' },\r\n { label: 'One way', value: 'oneway' },\r\n ];\r\n if (props.allowMultiCity) {\r\n tripOptions.push({ label: 'Multi-city', value: 'multi-city' });\r\n }\r\n var getInitialTripType = function () {\r\n if (props.tripType)\r\n return props.tripType;\r\n if (props.itineraries.length === 1)\r\n return tripOptions[1];\r\n if (props.itineraries.length === 2) {\r\n if (props.itineraries[0].toAirportCode && props.itineraries[0].toAirportCode === props.itineraries[1].fromAirportCode)\r\n return tripOptions[2];\r\n }\r\n return tripOptions[0];\r\n };\r\n var cmsProps = inject('cms-props');\r\n var dropdownTripType = ref();\r\n var tripLengthRef = ref(15);\r\n var itinerariesRef = ref(props.itineraries);\r\n var passengerAndCabinClassRef = ref(props.passengerAndCabinClass);\r\n var displayMonth = ref(dayjs().add(1, 'day').toDate());\r\n var apiPrices = ref();\r\n var fareFamilies = (_b = inject('amadeus-fare-families')) !== null && _b !== void 0 ? _b : ['CFFECOBIZ', 'CFFBIZ'];\r\n var tripTypeRef = computed(function () { var _a; return (_a = dropdownTripType.value) === null || _a === void 0 ? void 0 : _a.value; });\r\n onMounted(function () {\r\n var _a, _b;\r\n var initialTripType = getInitialTripType();\r\n dropdownTripType.value = initialTripType;\r\n var initialDepartureDate = initialTripType.value !== 'multi-city' ? (_b = (_a = props.itineraries) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.departureDate : undefined;\r\n if (initialDepartureDate)\r\n displayMonth.value = new Date(initialDepartureDate);\r\n });\r\n watch(tripTypeRef, function (value, oldValue) {\r\n var _a, _b, _c;\r\n if (value === oldValue || !oldValue)\r\n return;\r\n if (value === 'multi-city') {\r\n itinerariesRef.value[0] = (_a = itinerariesRef.value[0]) !== null && _a !== void 0 ? _a : {};\r\n itinerariesRef.value.length = 1;\r\n }\r\n else if (value === 'oneway') {\r\n itinerariesRef.value[0] = (_b = itinerariesRef.value[0]) !== null && _b !== void 0 ? _b : {};\r\n itinerariesRef.value[1] = { ignore: true };\r\n itinerariesRef.value.length = 2;\r\n }\r\n else {\r\n itinerariesRef.value[0] = (_c = itinerariesRef.value[0]) !== null && _c !== void 0 ? _c : {};\r\n itinerariesRef.value[1] = { ignore: false };\r\n itinerariesRef.value.length = 2;\r\n }\r\n itinerariesRef.value = __spreadArray([], itinerariesRef.value, true);\r\n }, { immediate: true });\r\n watch(function () { return itinerariesRef.value[0]; }, function (itinerary) {\r\n var _a, _b;\r\n if (tripTypeRef.value === 'return' && ((_a = itinerary.fromAirport) === null || _a === void 0 ? void 0 : _a.locIATA) && ((_b = itinerary.toAirport) === null || _b === void 0 ? void 0 : _b.locIATA) && itinerariesRef.value[1]) {\r\n itinerariesRef.value[1].toAirport = itinerariesRef.value[0].fromAirport;\r\n itinerariesRef.value[1].fromAirport = itinerariesRef.value[0].toAirport;\r\n }\r\n }, { deep: true });\r\n watch(passengerAndCabinClassRef, function (value) {\r\n emit('update:passengerAndCabinClass', value);\r\n });\r\n watch(function () { return props.passengerAndCabinClass; }, function (value) {\r\n passengerAndCabinClassRef.value = value;\r\n }, { deep: true });\r\n watch(dropdownTripType, function (value) {\r\n emit('update:tripType', value);\r\n });\r\n watch(function () { return props.tripType; }, function (value) {\r\n dropdownTripType.value = value;\r\n }, { deep: true });\r\n watchDebounced(itinerariesRef, function (value) {\r\n emit('update:itineraries', value);\r\n }, { deep: true, debounce: 300, maxWait: 500 });\r\n watch(function () { return props.itineraries; }, function (value) {\r\n itinerariesRef.value = value;\r\n }, { deep: true });\r\n var setDisplayMonth = function (month) {\r\n displayMonth.value = month;\r\n };\r\n var setOneWay = function (value) {\r\n dropdownTripType.value = tripOptions[value ? 1 : 0];\r\n };\r\n var pricesRequest = computed(function () {\r\n if (!itinerariesRef.value[0].fromAirport || !itinerariesRef.value[0].toAirport || !displayMonth.value || tripTypeRef.value === 'multi-city' || !props.showDates)\r\n return null;\r\n return createAmadeusBestPricesRequest({\r\n originLocationCode: itinerariesRef.value[0].fromAirport.locIATA,\r\n destinationLocationCode: itinerariesRef.value[0].toAirport.locIATA,\r\n departureDateTime: itinerariesRef.value[0].departureDate ? new Date(itinerariesRef.value[0].departureDate) : displayMonth.value,\r\n tripDuration: tripTypeRef.value === 'oneway' ? undefined : itinerariesRef.value[1].departureDate ? dayjs(itinerariesRef.value[1].departureDate).diff(itinerariesRef.value[0].departureDate, 'days') + 1 : tripLengthRef.value,\r\n rangeOfDeparture: itinerariesRef.value[0].departureDate ? undefined : 62,\r\n durationFlexibility: itinerariesRef.value[0].departureDate ? undefined : 1,\r\n fareFamilies: fareFamilies,\r\n });\r\n });\r\n var getFlightPrices = function () { return __awaiter(_this, void 0, void 0, function () {\r\n var res, error_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n _a.trys.push([0, 2, , 3]);\r\n return [4 /*yield*/, optiClient.bookings.postApiV1BookingsFlightsSearch(pricesRequest.value)];\r\n case 1:\r\n res = _a.sent();\r\n apiPrices.value = res;\r\n console.log('get', apiPrices.value);\r\n return [3 /*break*/, 3];\r\n case 2:\r\n error_1 = _a.sent();\r\n console.log(error_1);\r\n return [3 /*break*/, 3];\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n }); };\r\n var calculateMonthsDifference = function (departureDate) {\r\n if (departureDate) {\r\n var currentDate = dayjs();\r\n var departureDateObj = dayjs(departureDate, 'DD MMM YY');\r\n var monthsDifference = currentDate.diff(departureDateObj, 'month') * -1;\r\n return monthsDifference;\r\n }\r\n return 0;\r\n };\r\n watchDebounced(function () { return pricesRequest.value; }, function (newValue) {\r\n if (newValue) {\r\n getFlightPrices();\r\n }\r\n }, { debounce: 300, maxWait: 500 });\r\n function addMultiCityFlight() {\r\n itinerariesRef.value.push({ ignore: false });\r\n }\r\n function removeMultiCityFlight(index) {\r\n itinerariesRef.value.splice(index, 1);\r\n }\r\n return function (_ctx, _cache) {\r\n var _a, _b;\r\n return (_openBlock(), _createElementBlock(\"div\", {\r\n class: _normalizeClass([\r\n 'itinerary-fields',\r\n 'itinerary-fields--' + _ctx.size,\r\n {\r\n 'itinerary-fields--stuck': _ctx.isStuck,\r\n 'itinerary-fields--multi-city': tripTypeRef.value === 'multi-city'\r\n },\r\n ])\r\n }, [\r\n _createElementVNode(\"div\", _hoisted_1, [\r\n _createVNode(DropdownSelect, {\r\n modelValue: dropdownTripType.value,\r\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = function ($event) { return ((dropdownTripType).value = $event); }),\r\n \"dropdown-title\": (_b = (_a = _unref(cmsProps)) === null || _a === void 0 ? void 0 : _a.tripTypeLabel.value) !== null && _b !== void 0 ? _b : 'Trip',\r\n \"options-array\": tripOptions\r\n }, null, 8 /* PROPS */, [\"modelValue\", \"dropdown-title\"])\r\n ]),\r\n (tripTypeRef.value !== 'multi-city')\r\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\r\n _createVNode(AirportLookup, {\r\n \"airport-from\": itinerariesRef.value[0].fromAirport,\r\n \"onUpdate:airportFrom\": _cache[1] || (_cache[1] = function ($event) { return ((itinerariesRef.value[0].fromAirport) = $event); }),\r\n \"airport-to\": itinerariesRef.value[0].toAirport,\r\n \"onUpdate:airportTo\": _cache[2] || (_cache[2] = function ($event) { return ((itinerariesRef.value[0].toAirport) = $event); })\r\n }, null, 8 /* PROPS */, [\"airport-from\", \"airport-to\"])\r\n ]))\r\n : _createCommentVNode(\"v-if\", true),\r\n (tripTypeRef.value === 'multi-city')\r\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\r\n _createVNode(_TransitionGroup, { name: \"list\" }, {\r\n default: _withCtx(function () { return [\r\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(itinerariesRef.value, function (itinerary, index) {\r\n return (_openBlock(), _createElementBlock(\"div\", {\r\n key: index,\r\n class: \"itinerary-fields__multi-city__row\"\r\n }, [\r\n _createVNode(AirportLookup, {\r\n \"airport-from\": itinerary.fromAirport,\r\n \"onUpdate:airportFrom\": function ($event) { return ((itinerary.fromAirport) = $event); },\r\n \"airport-to\": itinerary.toAirport,\r\n \"onUpdate:airportTo\": function ($event) { return ((itinerary.toAirport) = $event); }\r\n }, null, 8 /* PROPS */, [\"airport-from\", \"onUpdate:airportFrom\", \"airport-to\", \"onUpdate:airportTo\"]),\r\n _createVNode(DepartReturnPicker, {\r\n \"depart-value\": itinerary.departureDate,\r\n \"onUpdate:departValue\": function ($event) { return ((itinerary.departureDate) = $event); },\r\n name: 'departureDate' + index,\r\n \"show-prices\": false,\r\n \"show-one-way\": false,\r\n \"one-way\": \"\",\r\n \"min-date\": (index > 0 && itinerariesRef.value[index - 1].departureDate\r\n ? (_unref(dayjs)(itinerariesRef.value[index - 1].departureDate).endOf('month').isSame(itinerariesRef.value[index - 1].departureDate, 'day')\r\n ? _unref(dayjs)(itinerariesRef.value[index - 1].departureDate).endOf('month').add(1, 'day').toDate()\r\n : new Date(itinerariesRef.value[index - 1].departureDate))\r\n : _unref(dayjs)().startOf('day').toDate()),\r\n \"max-date\": index < itinerariesRef.value.length - 1 && itinerariesRef.value[index + 1].departureDate\r\n ? new Date(itinerariesRef.value[index + 1].departureDate)\r\n : index > 0 && itinerariesRef.value[index - 1].departureDate\r\n ? _unref(dayjs)(itinerariesRef.value[index - 1].departureDate).add(361, 'day').toDate()\r\n : _unref(dayjs)().startOf('day').add(361, 'day').toDate(),\r\n \"onUpdate:displayMonth\": _cache[3] || (_cache[3] = function (value) { return setDisplayMonth(value); })\r\n }, null, 8 /* PROPS */, [\"depart-value\", \"onUpdate:departValue\", \"name\", \"min-date\", \"max-date\"]),\r\n (index === itinerariesRef.value.length - 1 && index !== 0)\r\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\r\n _createElementVNode(\"button\", {\r\n role: \"button\",\r\n \"aria-label\": \"Remove this flight\",\r\n class: \"button button--text button--icon\",\r\n onClick: function ($event) { return (removeMultiCityFlight(index)); }\r\n }, _hoisted_7, 8 /* PROPS */, _hoisted_5)\r\n ]))\r\n : _createCommentVNode(\"v-if\", true)\r\n ]));\r\n }), 128 /* KEYED_FRAGMENT */))\r\n ]; }),\r\n _: 1 /* STABLE */\r\n })\r\n ]))\r\n : _createCommentVNode(\"v-if\", true),\r\n _createVNode(_Transition, { name: \"row\" }, {\r\n default: _withCtx(function () { return [\r\n (itinerariesRef.value[0].fromAirport && itinerariesRef.value[0].toAirport || !_ctx.conditionalSecondRow)\r\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\r\n (tripTypeRef.value === 'multi-city')\r\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\r\n (itinerariesRef.value.length < 4)\r\n ? (_openBlock(), _createElementBlock(\"button\", {\r\n key: 0,\r\n role: \"button\",\r\n \"aria-label\": \"Add a multi-city flight to your itinerary\",\r\n class: \"itinerary-fields__add-flight__button\",\r\n onClick: addMultiCityFlight\r\n }, [\r\n _hoisted_10,\r\n _createTextVNode(\" Add Flight \")\r\n ]))\r\n : _createCommentVNode(\"v-if\", true)\r\n ]))\r\n : _createCommentVNode(\"v-if\", true),\r\n (_ctx.showCabinClass || (!_ctx.conditionalSecondRow && !_ctx.conditionalCabinClass))\r\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\r\n _createVNode(CabinInput, {\r\n modelValue: passengerAndCabinClassRef.value,\r\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = function ($event) { return ((passengerAndCabinClassRef).value = $event); })\r\n }, null, 8 /* PROPS */, [\"modelValue\"])\r\n ]))\r\n : _createCommentVNode(\"v-if\", true),\r\n (tripTypeRef.value !== 'multi-city' && _ctx.showDates && itinerariesRef.value[1])\r\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\r\n _createVNode(DepartReturnPicker, {\r\n \"depart-value\": itinerariesRef.value[0].departureDate,\r\n \"onUpdate:departValue\": _cache[5] || (_cache[5] = function ($event) { return ((itinerariesRef.value[0].departureDate) = $event); }),\r\n \"return-value\": itinerariesRef.value[1].departureDate,\r\n \"onUpdate:returnValue\": _cache[6] || (_cache[6] = function ($event) { return ((itinerariesRef.value[1].departureDate) = $event); }),\r\n \"trip-length\": tripLengthRef.value,\r\n \"onUpdate:tripLength\": _cache[7] || (_cache[7] = function ($event) { return ((tripLengthRef).value = $event); }),\r\n name: \"departReturn\",\r\n \"min-date\": _unref(dayjs)().startOf('day').toDate(),\r\n \"max-date\": itinerariesRef.value[0].departureDate ? undefined : ((_unref(dayjs)(itinerariesRef.value[0].departureDate).add(361, 'day').toDate())),\r\n \"show-prices\": _ctx.showPrices,\r\n \"api-prices\": apiPrices.value,\r\n \"one-way\": tripTypeRef.value !== 'return',\r\n \"onUpdate:oneWay\": setOneWay,\r\n \"onUpdate:displayMonth\": _cache[8] || (_cache[8] = function (value) { return setDisplayMonth(value); })\r\n }, null, 8 /* PROPS */, [\"depart-value\", \"return-value\", \"trip-length\", \"min-date\", \"max-date\", \"show-prices\", \"api-prices\", \"one-way\"])\r\n ]))\r\n : _createCommentVNode(\"v-if\", true),\r\n _renderSlot(_ctx.$slots, \"default\")\r\n ]))\r\n : _createCommentVNode(\"v-if\", true)\r\n ]; }),\r\n _: 3 /* FORWARDED */\r\n })\r\n ], 2 /* CLASS */));\r\n };\r\n }\r\n});\r\n","import script from \"./ItineraryFieldsComponent.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ItineraryFieldsComponent.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./ItineraryFieldsComponent.vue?vue&type=style&index=0&id=7598c4ec&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/vue-loader/dist/index.js??ruleSet[0]!./ItineraryFieldsComponent.vue?vue&type=style&index=0&id=7598c4ec&lang=css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"0efa8829\", content, false, {});\n// Hot Module Replacement\nif(module.hot) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/vue-loader/dist/index.js??ruleSet[0]!./ItineraryFieldsComponent.vue?vue&type=style&index=0&id=7598c4ec&lang=css\", function() {\n var newContent = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/vue-loader/dist/index.js??ruleSet[0]!./ItineraryFieldsComponent.vue?vue&type=style&index=0&id=7598c4ec&lang=css\");\n if(newContent.__esModule) newContent = newContent.default;\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}"],"names":["___CSS_LOADER_EXPORT___","push","module","id","_hoisted_1","class","_hoisted_2","key","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_7","_","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","__name","props","size","default","showDates","type","Boolean","showCabinClass","conditionalSecondRow","conditionalCabinClass","allowMultiCity","isStuck","showPrices","itineraries","passengerAndCabinClass","_a","adults","cabin","youth","child","infant","tripType","emits","setup","__props","_b","_this","this","emit","tripOptions","label","value","cmsProps","dropdownTripType","tripLengthRef","itinerariesRef","passengerAndCabinClassRef","displayMonth","add","toDate","apiPrices","fareFamilies","tripTypeRef","initialTripType","length","toAirportCode","fromAirportCode","initialDepartureDate","departureDate","undefined","Date","oldValue","_c","ignore","to","from","pack","arguments","ar","i","l","Array","prototype","slice","call","concat","__spreadArray","immediate","itinerary","fromAirport","locIATA","toAirport","deep","debounce","maxWait","setDisplayMonth","month","setOneWay","pricesRequest","createAmadeusBestPricesRequest","originLocationCode","destinationLocationCode","departureDateTime","tripDuration","diff","rangeOfDeparture","durationFlexibility","addMultiCityFlight","newValue","thisArg","_arguments","P","generator","res","error_1","body","f","y","t","g","sent","trys","ops","next","verb","Symbol","iterator","n","v","op","TypeError","done","pop","e","step","__generator","console","log","Promise","resolve","reject","fulfilled","rejected","result","then","apply","_ctx","_cache","DropdownSelect","modelValue","$event","tripTypeLabel","AirportLookup","name","index","DepartReturnPicker","endOf","isSame","startOf","role","onClick","splice","CabinInput","$slots","content","__esModule","locals","exports"],"sourceRoot":""}