{"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":""}