@norwegian/core-components 7.13.7 → 7.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5874,6 +5874,7 @@ class DatepickerComboComponent extends NasComponentBase {
5874
5874
  super('nas-datepicker-combo');
5875
5875
  this.dateService = dateService;
5876
5876
  this.deviceHelper = deviceHelper;
5877
+ this.tabIndex = 0;
5877
5878
  /**
5878
5879
  * @property Input
5879
5880
  * @description
@@ -5905,6 +5906,12 @@ class DatepickerComboComponent extends NasComponentBase {
5905
5906
  * If this number is negative, the inbound lower limit date will subtract the number of days to the selected outbound date.
5906
5907
  */
5907
5908
  this.inboundLowerLimitDateOffset = 0;
5909
+ /**
5910
+ * @property Input
5911
+ * @description
5912
+ * Outbound and inbound dates keep the inline flex.
5913
+ */
5914
+ this.ignoreOnFocusInboundDate = false;
5908
5915
  /**
5909
5916
  * @property Output
5910
5917
  * @description
@@ -5983,19 +5990,20 @@ class DatepickerComboComponent extends NasComponentBase {
5983
5990
  this.setInlineFlexOnContainterWidth();
5984
5991
  }
5985
5992
  onOutboundFocusOnNext(event) {
5986
- if (!this.outboundOnly) {
5993
+ if (!this.outboundOnly && !this.ignoreOnFocusInboundDate) {
5987
5994
  this.inboundOpen = true;
5988
5995
  return;
5989
5996
  }
5990
5997
  this.focusOnNextChange.emit(event);
5991
5998
  }
5992
5999
  onFocusOnNext(event) {
6000
+ this.tabIndex = 0;
5993
6001
  this.focusOnNextChange.emit(event);
5994
6002
  }
5995
6003
  onFocusOnPrevious(event) {
5996
6004
  this.focusOnPreviousChange.emit(event);
5997
6005
  }
5998
- onInboundFocusOnPrevious() {
6006
+ onInboundFocusOnPrevious(event) {
5999
6007
  if (this.times && this.times.length > 0) {
6000
6008
  const selectElement = this.datepickerOutbound.timeSelector?.nativeElement;
6001
6009
  setTimeout(() => {
@@ -6004,6 +6012,12 @@ class DatepickerComboComponent extends NasComponentBase {
6004
6012
  this.inboundOpenChange.emit(false);
6005
6013
  }
6006
6014
  else {
6015
+ if (this.ignoreOnFocusInboundDate) {
6016
+ this.tabIndex = -1;
6017
+ this.onFocusOnPrevious(event);
6018
+ return;
6019
+ }
6020
+ this.tabIndex = 0;
6007
6021
  this.outboundOpen = true;
6008
6022
  }
6009
6023
  }
@@ -6055,11 +6069,11 @@ class DatepickerComboComponent extends NasComponentBase {
6055
6069
  return this.containerWidth.getValue() <= 450;
6056
6070
  }
6057
6071
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatepickerComboComponent, deps: [{ token: DateHelper }, { token: DeviceHelper }], target: i0.ɵɵFactoryTarget.Component }); }
6058
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DatepickerComboComponent, selector: "nas-datepicker-combo", inputs: { outboundId: "outboundId", inboundId: "inboundId", ariaLabelBackdrop: "ariaLabelBackdrop", outboundOpen: "outboundOpen", inboundOpen: "inboundOpen", noAvailableFlightsLabel: "noAvailableFlightsLabel", availableFlightsLabel: "availableFlightsLabel", disablePastSelection: "disablePastSelection", outboundDisabled: "outboundDisabled", inboundDisabled: "inboundDisabled", outboundOnly: "outboundOnly", outboundLabel: "outboundLabel", inboundLabel: "inboundLabel", timepickerLabel: "timepickerLabel", availability: "availability", outboundAvailableDates: "outboundAvailableDates", inboundAvailableDates: "inboundAvailableDates", times: "times", dateDisplayFormat: "dateDisplayFormat", timeDisplayFormat: "timeDisplayFormat", locale: "locale", compact: "compact", nasFormGroup: "nasFormGroup", nasFormControlNameOutbound: "nasFormControlNameOutbound", nasFormControlNameInbound: "nasFormControlNameInbound", outboundSelectedDate: "outboundSelectedDate", inboundSelectedDate: "inboundSelectedDate", disableBackdrop: "disableBackdrop", outboundSelectedTime: "outboundSelectedTime", inboundSelectedTime: "inboundSelectedTime", ariaLabelPreviousMonth: "ariaLabelPreviousMonth", ariaLabelNextMonth: "ariaLabelNextMonth", inboundLowerLimitDateOffset: "inboundLowerLimitDateOffset", inlineFlex: "inlineFlex" }, outputs: { outboundSelectedDateChange: "outboundSelectedDateChange", inboundSelectedDateChange: "inboundSelectedDateChange", outboundOpenChange: "outboundOpenChange", inboundOpenChange: "inboundOpenChange", outboundMonthChange: "outboundMonthChange", inboundMonthChange: "inboundMonthChange", focusOnNextChange: "focusOnNextChange", focusOnPreviousChange: "focusOnPreviousChange" }, viewQueries: [{ propertyName: "datepickerOutbound", first: true, predicate: ["datepickerOutbound"], descendants: true }, { propertyName: "datepickerInbound", first: true, predicate: ["datepickerInbound"], descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [nasClass]=\"getMainClass()\" #container>\n <div [nasClass]=\"getClass('date-picker')\">\n <nas-datepicker #datepickerOutbound compact [id]=\"outboundId\" [disableBackdrop]=\"disableBackdrop\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlName]=\"nasFormControlNameOutbound\" [noAvailableFlightsLabel]=\"noAvailableFlightsLabel\"\n [availableFlightsLabel]=\"availableFlightsLabel\" [disablePastSelection]=\"exists(disablePastSelection)\"\n [availability]=\"exists(availability)\" [availableDates]=\"outboundAvailableDates\" [times]=\"times\"\n [timepickerLabel]=\"timepickerLabel\" [selectedTime]=\"outboundSelectedTime\" [dateDisplayFormat]=\"dateDisplayFormat\"\n [timeDisplayFormat]=\"timeDisplayFormat\" [locale]=\"locale\" [disabled]=\"exists(outboundDisabled)\"\n [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [ariaLabelPreviousMonth]=\"ariaLabelPreviousMonth\"\n [ariaLabelNextMonth]=\"ariaLabelNextMonth\" (focusOnNextChange)=\"onOutboundFocusOnNext($event)\"\n (focusOnPreviousChange)=\"onFocusOnPrevious($event)\" (selectedMonthChange)=\"onOutboundMonthChange($event)\"\n [(open)]=\"outboundOpen\" [(selectedDate)]=\"outboundSelectedDate\">{{outboundLabel}}</nas-datepicker>\n </div>\n <span [nasClass]=\"getClass('separator')\"></span>\n <div *ngIf=\"checkOutboundOnly()\" [nasClass]=\"getClass('date-picker', ['inbound', checkInboundDisabled() && 'hide'])\">\n <nas-datepicker #datepickerInbound compact [id]=\"inboundId\" [disableBackdrop]=\"disableBackdrop\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlName]=\"nasFormControlNameInbound\" [disabled]=\"checkInboundDisabled()\"\n [noAvailableFlightsLabel]=\"noAvailableFlightsLabel\" [availableFlightsLabel]=\"availableFlightsLabel\"\n [disablePastSelection]=\"exists(disablePastSelection)\" [availability]=\"exists(availability)\"\n [availableDates]=\"inboundAvailableDates\" [lowerLimitDate]=\"inboundLowerLimitDate\" [times]=\"times\"\n [timepickerLabel]=\"timepickerLabel\" [selectedTime]=\"inboundSelectedTime\" [dateDisplayFormat]=\"dateDisplayFormat\"\n [timeDisplayFormat]=\"timeDisplayFormat\" [locale]=\"locale\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n [ariaLabelPreviousMonth]=\"ariaLabelPreviousMonth\" [ariaLabelNextMonth]=\"ariaLabelNextMonth\"\n (focusOnNextChange)=\"onFocusOnNext($event)\" (focusOnPreviousChange)=\"onInboundFocusOnPrevious()\"\n [(open)]=\"inboundOpen\" [(selectedMonth)]=\"inboundSelectedMonth\"\n [(selectedDate)]=\"inboundSelectedDate\">{{inboundLabel}}</nas-datepicker>\n </div>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-datepicker-combo{display:flex;margin:24px auto;flex-wrap:wrap;flex-direction:column;width:100%;z-index:1}.nas-datepicker-combo nas-datepicker{display:flex}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper{padding-left:8px;padding-bottom:8px}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper .nas-select{margin-bottom:0}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper .nas-select:after{bottom:25px}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper .nas-select select{background-color:#fff;height:68px;border:2px solid #15273F}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper .nas-select select:focus{border-color:#15273f}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__date-picker-wrapper nas-calendar{right:0;left:0;margin-inline:auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.nas-datepicker-combo__date-picker{width:100%}.nas-datepicker-combo__date-picker:first-child nas-datepicker ::ng-deep .nas-datepicker__date-picker-wrapper{border-bottom:none}.nas-datepicker-combo__date-picker:first-child nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper{border-bottom:none}.nas-datepicker-combo__date-picker--hide,.nas-datepicker-combo__separator{display:none}.nas-datepicker-combo--compact{margin:0 auto}.nas-datepicker-combo--inline-flex{flex-wrap:nowrap;flex-direction:row;position:relative;margin:0}.nas-datepicker-combo--inline-flex ::ng-deep .nas-datepicker-combo__date-picker:last-child .nas-datepicker__date-picker-wrapper .nas-datepicker__controls{border-left:0}.nas-datepicker-combo--inline-flex ::ng-deep .nas-datepicker-combo__date-picker:first-child .nas-datepicker__time-selector-wrapper{padding-right:8px}.nas-datepicker-combo--inline-flex ::ng-deep .nas-datepicker-combo__date-picker--inbound:has(.nas-datepicker__time-selector-wrapper) .nas-datepicker__controls{border:2px solid #6F6F6F!important}.nas-datepicker-combo--inline-flex ::ng-deep .nas-datepicker-combo__date-picker--inbound:has(.nas-datepicker__time-selector-wrapper) .nas-datepicker__controls--filled{border:2px solid #15273F!important}.nas-datepicker-combo--inline-flex-datepicker-float ::ng-deep .nas-datepicker{position:unset}.nas-datepicker-combo--inline-flex-datepicker-float ::ng-deep .nas-datepicker__date-picker-wrapper{position:unset}.nas-datepicker-combo--inline-flex .nas-datepicker-combo__separator{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DatepickerComponent, selector: "nas-datepicker", inputs: ["id", "ariaLabelBackdrop", "disableBackdrop", "noAvailableFlightsLabel", "availableFlightsLabel", "disablePastSelection", "lowerLimitDate", "availability", "availableDates", "disabled", "placeholder", "required", "ariaDescribedby", "ariaLabel", "dateDisplayFormat", "timeDisplayFormat", "locale", "compact", "nasFormGroup", "nasFormControlName", "times", "open", "selectedMonth", "selectedDate", "selectedTime", "ariaLabelPreviousMonth", "ariaLabelNextMonth", "timepickerLabel"], outputs: ["selectedDateChange", "selectedMonthChange", "openChange", "focusOnNextChange", "focusOnPreviousChange"] }, { kind: "directive", type: NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }] }); }
6072
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DatepickerComboComponent, selector: "nas-datepicker-combo", inputs: { outboundId: "outboundId", inboundId: "inboundId", ariaLabelBackdrop: "ariaLabelBackdrop", outboundOpen: "outboundOpen", inboundOpen: "inboundOpen", noAvailableFlightsLabel: "noAvailableFlightsLabel", availableFlightsLabel: "availableFlightsLabel", disablePastSelection: "disablePastSelection", outboundDisabled: "outboundDisabled", inboundDisabled: "inboundDisabled", outboundOnly: "outboundOnly", outboundLabel: "outboundLabel", inboundLabel: "inboundLabel", timepickerLabel: "timepickerLabel", availability: "availability", outboundAvailableDates: "outboundAvailableDates", inboundAvailableDates: "inboundAvailableDates", times: "times", dateDisplayFormat: "dateDisplayFormat", timeDisplayFormat: "timeDisplayFormat", locale: "locale", compact: "compact", nasFormGroup: "nasFormGroup", nasFormControlNameOutbound: "nasFormControlNameOutbound", nasFormControlNameInbound: "nasFormControlNameInbound", outboundSelectedDate: "outboundSelectedDate", inboundSelectedDate: "inboundSelectedDate", disableBackdrop: "disableBackdrop", outboundSelectedTime: "outboundSelectedTime", inboundSelectedTime: "inboundSelectedTime", ariaLabelPreviousMonth: "ariaLabelPreviousMonth", ariaLabelNextMonth: "ariaLabelNextMonth", inboundLowerLimitDateOffset: "inboundLowerLimitDateOffset", inlineFlex: "inlineFlex", ignoreOnFocusInboundDate: "ignoreOnFocusInboundDate" }, outputs: { outboundSelectedDateChange: "outboundSelectedDateChange", inboundSelectedDateChange: "inboundSelectedDateChange", outboundOpenChange: "outboundOpenChange", inboundOpenChange: "inboundOpenChange", outboundMonthChange: "outboundMonthChange", inboundMonthChange: "inboundMonthChange", focusOnNextChange: "focusOnNextChange", focusOnPreviousChange: "focusOnPreviousChange" }, viewQueries: [{ propertyName: "datepickerOutbound", first: true, predicate: ["datepickerOutbound"], descendants: true }, { propertyName: "datepickerInbound", first: true, predicate: ["datepickerInbound"], descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [nasClass]=\"getMainClass()\" #container>\n <div [nasClass]=\"getClass('date-picker')\">\n <nas-datepicker #datepickerOutbound compact [id]=\"outboundId\" [disableBackdrop]=\"disableBackdrop\" [tabIndex]=\"tabIndex\"\n [nasFormGroup]=\"nasFormGroup\" [nasFormControlName]=\"nasFormControlNameOutbound\" [noAvailableFlightsLabel]=\"noAvailableFlightsLabel\"\n [availableFlightsLabel]=\"availableFlightsLabel\" [disablePastSelection]=\"exists(disablePastSelection)\"\n [availability]=\"exists(availability)\" [availableDates]=\"outboundAvailableDates\" [times]=\"times\"\n [timepickerLabel]=\"timepickerLabel\" [selectedTime]=\"outboundSelectedTime\" [dateDisplayFormat]=\"dateDisplayFormat\"\n [timeDisplayFormat]=\"timeDisplayFormat\" [locale]=\"locale\" [disabled]=\"exists(outboundDisabled)\"\n [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [ariaLabelPreviousMonth]=\"ariaLabelPreviousMonth\"\n [ariaLabelNextMonth]=\"ariaLabelNextMonth\" (focusOnNextChange)=\"onOutboundFocusOnNext($event)\"\n (focusOnPreviousChange)=\"onFocusOnPrevious($event)\" (selectedMonthChange)=\"onOutboundMonthChange($event)\"\n [(open)]=\"outboundOpen\" [(selectedDate)]=\"outboundSelectedDate\">{{outboundLabel}}</nas-datepicker>\n </div>\n <span [nasClass]=\"getClass('separator')\"></span>\n <div *ngIf=\"checkOutboundOnly()\" [nasClass]=\"getClass('date-picker', ['inbound', checkInboundDisabled() && 'hide'])\">\n <nas-datepicker #datepickerInbound compact [id]=\"inboundId\" [disableBackdrop]=\"disableBackdrop\" [tabIndex]=\"tabIndex\"\n [nasFormGroup]=\"nasFormGroup\" [nasFormControlName]=\"nasFormControlNameInbound\" [disabled]=\"checkInboundDisabled()\"\n [noAvailableFlightsLabel]=\"noAvailableFlightsLabel\" [availableFlightsLabel]=\"availableFlightsLabel\"\n [disablePastSelection]=\"exists(disablePastSelection)\" [availability]=\"exists(availability)\"\n [availableDates]=\"inboundAvailableDates\" [lowerLimitDate]=\"inboundLowerLimitDate\" [times]=\"times\"\n [timepickerLabel]=\"timepickerLabel\" [selectedTime]=\"inboundSelectedTime\" [dateDisplayFormat]=\"dateDisplayFormat\"\n [timeDisplayFormat]=\"timeDisplayFormat\" [locale]=\"locale\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n [ariaLabelPreviousMonth]=\"ariaLabelPreviousMonth\" [ariaLabelNextMonth]=\"ariaLabelNextMonth\"\n (focusOnNextChange)=\"onFocusOnNext($event)\" (focusOnPreviousChange)=\"onInboundFocusOnPrevious($event)\"\n [(open)]=\"inboundOpen\" [(selectedMonth)]=\"inboundSelectedMonth\"\n [(selectedDate)]=\"inboundSelectedDate\">{{inboundLabel}}</nas-datepicker>\n </div>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-datepicker-combo{display:flex;margin:24px auto;flex-wrap:wrap;flex-direction:column;width:100%;z-index:1}.nas-datepicker-combo nas-datepicker{display:flex}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper{padding-left:8px;padding-bottom:8px}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper .nas-select{margin-bottom:0}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper .nas-select:after{bottom:25px}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper .nas-select select{background-color:#fff;height:68px;border:2px solid #15273F}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper .nas-select select:focus{border-color:#15273f}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__date-picker-wrapper nas-calendar{right:0;left:0;margin-inline:auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.nas-datepicker-combo__date-picker{width:100%}.nas-datepicker-combo__date-picker:first-child nas-datepicker ::ng-deep .nas-datepicker__date-picker-wrapper{border-bottom:none}.nas-datepicker-combo__date-picker:first-child nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper{border-bottom:none}.nas-datepicker-combo__date-picker--hide,.nas-datepicker-combo__separator{display:none}.nas-datepicker-combo--compact{margin:0 auto}.nas-datepicker-combo--inline-flex{flex-wrap:nowrap;flex-direction:row;position:relative;margin:0}.nas-datepicker-combo--inline-flex ::ng-deep .nas-datepicker-combo__date-picker:last-child .nas-datepicker__date-picker-wrapper .nas-datepicker__controls{border-left:0}.nas-datepicker-combo--inline-flex ::ng-deep .nas-datepicker-combo__date-picker:first-child .nas-datepicker__time-selector-wrapper{padding-right:8px}.nas-datepicker-combo--inline-flex ::ng-deep .nas-datepicker-combo__date-picker--inbound:has(.nas-datepicker__time-selector-wrapper) .nas-datepicker__controls{border:2px solid #6F6F6F!important}.nas-datepicker-combo--inline-flex ::ng-deep .nas-datepicker-combo__date-picker--inbound:has(.nas-datepicker__time-selector-wrapper) .nas-datepicker__controls--filled{border:2px solid #15273F!important}.nas-datepicker-combo--inline-flex-datepicker-float ::ng-deep .nas-datepicker{position:unset}.nas-datepicker-combo--inline-flex-datepicker-float ::ng-deep .nas-datepicker__date-picker-wrapper{position:unset}.nas-datepicker-combo--inline-flex .nas-datepicker-combo__separator{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DatepickerComponent, selector: "nas-datepicker", inputs: ["id", "ariaLabelBackdrop", "disableBackdrop", "noAvailableFlightsLabel", "availableFlightsLabel", "disablePastSelection", "lowerLimitDate", "availability", "availableDates", "disabled", "placeholder", "required", "ariaDescribedby", "ariaLabel", "dateDisplayFormat", "timeDisplayFormat", "locale", "compact", "nasFormGroup", "nasFormControlName", "times", "open", "selectedMonth", "selectedDate", "selectedTime", "ariaLabelPreviousMonth", "ariaLabelNextMonth", "timepickerLabel"], outputs: ["selectedDateChange", "selectedMonthChange", "openChange", "focusOnNextChange", "focusOnPreviousChange"] }, { kind: "directive", type: NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }] }); }
6059
6073
  }
6060
6074
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatepickerComboComponent, decorators: [{
6061
6075
  type: Component,
6062
- args: [{ selector: 'nas-datepicker-combo', encapsulation: ViewEncapsulation.Emulated, template: "<div [nasClass]=\"getMainClass()\" #container>\n <div [nasClass]=\"getClass('date-picker')\">\n <nas-datepicker #datepickerOutbound compact [id]=\"outboundId\" [disableBackdrop]=\"disableBackdrop\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlName]=\"nasFormControlNameOutbound\" [noAvailableFlightsLabel]=\"noAvailableFlightsLabel\"\n [availableFlightsLabel]=\"availableFlightsLabel\" [disablePastSelection]=\"exists(disablePastSelection)\"\n [availability]=\"exists(availability)\" [availableDates]=\"outboundAvailableDates\" [times]=\"times\"\n [timepickerLabel]=\"timepickerLabel\" [selectedTime]=\"outboundSelectedTime\" [dateDisplayFormat]=\"dateDisplayFormat\"\n [timeDisplayFormat]=\"timeDisplayFormat\" [locale]=\"locale\" [disabled]=\"exists(outboundDisabled)\"\n [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [ariaLabelPreviousMonth]=\"ariaLabelPreviousMonth\"\n [ariaLabelNextMonth]=\"ariaLabelNextMonth\" (focusOnNextChange)=\"onOutboundFocusOnNext($event)\"\n (focusOnPreviousChange)=\"onFocusOnPrevious($event)\" (selectedMonthChange)=\"onOutboundMonthChange($event)\"\n [(open)]=\"outboundOpen\" [(selectedDate)]=\"outboundSelectedDate\">{{outboundLabel}}</nas-datepicker>\n </div>\n <span [nasClass]=\"getClass('separator')\"></span>\n <div *ngIf=\"checkOutboundOnly()\" [nasClass]=\"getClass('date-picker', ['inbound', checkInboundDisabled() && 'hide'])\">\n <nas-datepicker #datepickerInbound compact [id]=\"inboundId\" [disableBackdrop]=\"disableBackdrop\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlName]=\"nasFormControlNameInbound\" [disabled]=\"checkInboundDisabled()\"\n [noAvailableFlightsLabel]=\"noAvailableFlightsLabel\" [availableFlightsLabel]=\"availableFlightsLabel\"\n [disablePastSelection]=\"exists(disablePastSelection)\" [availability]=\"exists(availability)\"\n [availableDates]=\"inboundAvailableDates\" [lowerLimitDate]=\"inboundLowerLimitDate\" [times]=\"times\"\n [timepickerLabel]=\"timepickerLabel\" [selectedTime]=\"inboundSelectedTime\" [dateDisplayFormat]=\"dateDisplayFormat\"\n [timeDisplayFormat]=\"timeDisplayFormat\" [locale]=\"locale\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n [ariaLabelPreviousMonth]=\"ariaLabelPreviousMonth\" [ariaLabelNextMonth]=\"ariaLabelNextMonth\"\n (focusOnNextChange)=\"onFocusOnNext($event)\" (focusOnPreviousChange)=\"onInboundFocusOnPrevious()\"\n [(open)]=\"inboundOpen\" [(selectedMonth)]=\"inboundSelectedMonth\"\n [(selectedDate)]=\"inboundSelectedDate\">{{inboundLabel}}</nas-datepicker>\n </div>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-datepicker-combo{display:flex;margin:24px auto;flex-wrap:wrap;flex-direction:column;width:100%;z-index:1}.nas-datepicker-combo nas-datepicker{display:flex}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper{padding-left:8px;padding-bottom:8px}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper .nas-select{margin-bottom:0}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper .nas-select:after{bottom:25px}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper .nas-select select{background-color:#fff;height:68px;border:2px solid #15273F}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper .nas-select select:focus{border-color:#15273f}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__date-picker-wrapper nas-calendar{right:0;left:0;margin-inline:auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.nas-datepicker-combo__date-picker{width:100%}.nas-datepicker-combo__date-picker:first-child nas-datepicker ::ng-deep .nas-datepicker__date-picker-wrapper{border-bottom:none}.nas-datepicker-combo__date-picker:first-child nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper{border-bottom:none}.nas-datepicker-combo__date-picker--hide,.nas-datepicker-combo__separator{display:none}.nas-datepicker-combo--compact{margin:0 auto}.nas-datepicker-combo--inline-flex{flex-wrap:nowrap;flex-direction:row;position:relative;margin:0}.nas-datepicker-combo--inline-flex ::ng-deep .nas-datepicker-combo__date-picker:last-child .nas-datepicker__date-picker-wrapper .nas-datepicker__controls{border-left:0}.nas-datepicker-combo--inline-flex ::ng-deep .nas-datepicker-combo__date-picker:first-child .nas-datepicker__time-selector-wrapper{padding-right:8px}.nas-datepicker-combo--inline-flex ::ng-deep .nas-datepicker-combo__date-picker--inbound:has(.nas-datepicker__time-selector-wrapper) .nas-datepicker__controls{border:2px solid #6F6F6F!important}.nas-datepicker-combo--inline-flex ::ng-deep .nas-datepicker-combo__date-picker--inbound:has(.nas-datepicker__time-selector-wrapper) .nas-datepicker__controls--filled{border:2px solid #15273F!important}.nas-datepicker-combo--inline-flex-datepicker-float ::ng-deep .nas-datepicker{position:unset}.nas-datepicker-combo--inline-flex-datepicker-float ::ng-deep .nas-datepicker__date-picker-wrapper{position:unset}.nas-datepicker-combo--inline-flex .nas-datepicker-combo__separator{display:none}\n"] }]
6076
+ args: [{ selector: 'nas-datepicker-combo', encapsulation: ViewEncapsulation.Emulated, template: "<div [nasClass]=\"getMainClass()\" #container>\n <div [nasClass]=\"getClass('date-picker')\">\n <nas-datepicker #datepickerOutbound compact [id]=\"outboundId\" [disableBackdrop]=\"disableBackdrop\" [tabIndex]=\"tabIndex\"\n [nasFormGroup]=\"nasFormGroup\" [nasFormControlName]=\"nasFormControlNameOutbound\" [noAvailableFlightsLabel]=\"noAvailableFlightsLabel\"\n [availableFlightsLabel]=\"availableFlightsLabel\" [disablePastSelection]=\"exists(disablePastSelection)\"\n [availability]=\"exists(availability)\" [availableDates]=\"outboundAvailableDates\" [times]=\"times\"\n [timepickerLabel]=\"timepickerLabel\" [selectedTime]=\"outboundSelectedTime\" [dateDisplayFormat]=\"dateDisplayFormat\"\n [timeDisplayFormat]=\"timeDisplayFormat\" [locale]=\"locale\" [disabled]=\"exists(outboundDisabled)\"\n [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [ariaLabelPreviousMonth]=\"ariaLabelPreviousMonth\"\n [ariaLabelNextMonth]=\"ariaLabelNextMonth\" (focusOnNextChange)=\"onOutboundFocusOnNext($event)\"\n (focusOnPreviousChange)=\"onFocusOnPrevious($event)\" (selectedMonthChange)=\"onOutboundMonthChange($event)\"\n [(open)]=\"outboundOpen\" [(selectedDate)]=\"outboundSelectedDate\">{{outboundLabel}}</nas-datepicker>\n </div>\n <span [nasClass]=\"getClass('separator')\"></span>\n <div *ngIf=\"checkOutboundOnly()\" [nasClass]=\"getClass('date-picker', ['inbound', checkInboundDisabled() && 'hide'])\">\n <nas-datepicker #datepickerInbound compact [id]=\"inboundId\" [disableBackdrop]=\"disableBackdrop\" [tabIndex]=\"tabIndex\"\n [nasFormGroup]=\"nasFormGroup\" [nasFormControlName]=\"nasFormControlNameInbound\" [disabled]=\"checkInboundDisabled()\"\n [noAvailableFlightsLabel]=\"noAvailableFlightsLabel\" [availableFlightsLabel]=\"availableFlightsLabel\"\n [disablePastSelection]=\"exists(disablePastSelection)\" [availability]=\"exists(availability)\"\n [availableDates]=\"inboundAvailableDates\" [lowerLimitDate]=\"inboundLowerLimitDate\" [times]=\"times\"\n [timepickerLabel]=\"timepickerLabel\" [selectedTime]=\"inboundSelectedTime\" [dateDisplayFormat]=\"dateDisplayFormat\"\n [timeDisplayFormat]=\"timeDisplayFormat\" [locale]=\"locale\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n [ariaLabelPreviousMonth]=\"ariaLabelPreviousMonth\" [ariaLabelNextMonth]=\"ariaLabelNextMonth\"\n (focusOnNextChange)=\"onFocusOnNext($event)\" (focusOnPreviousChange)=\"onInboundFocusOnPrevious($event)\"\n [(open)]=\"inboundOpen\" [(selectedMonth)]=\"inboundSelectedMonth\"\n [(selectedDate)]=\"inboundSelectedDate\">{{inboundLabel}}</nas-datepicker>\n </div>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-datepicker-combo{display:flex;margin:24px auto;flex-wrap:wrap;flex-direction:column;width:100%;z-index:1}.nas-datepicker-combo nas-datepicker{display:flex}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper{padding-left:8px;padding-bottom:8px}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper .nas-select{margin-bottom:0}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper .nas-select:after{bottom:25px}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper .nas-select select{background-color:#fff;height:68px;border:2px solid #15273F}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper .nas-select select:focus{border-color:#15273f}.nas-datepicker-combo nas-datepicker ::ng-deep .nas-datepicker__date-picker-wrapper nas-calendar{right:0;left:0;margin-inline:auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.nas-datepicker-combo__date-picker{width:100%}.nas-datepicker-combo__date-picker:first-child nas-datepicker ::ng-deep .nas-datepicker__date-picker-wrapper{border-bottom:none}.nas-datepicker-combo__date-picker:first-child nas-datepicker ::ng-deep .nas-datepicker__time-selector-wrapper{border-bottom:none}.nas-datepicker-combo__date-picker--hide,.nas-datepicker-combo__separator{display:none}.nas-datepicker-combo--compact{margin:0 auto}.nas-datepicker-combo--inline-flex{flex-wrap:nowrap;flex-direction:row;position:relative;margin:0}.nas-datepicker-combo--inline-flex ::ng-deep .nas-datepicker-combo__date-picker:last-child .nas-datepicker__date-picker-wrapper .nas-datepicker__controls{border-left:0}.nas-datepicker-combo--inline-flex ::ng-deep .nas-datepicker-combo__date-picker:first-child .nas-datepicker__time-selector-wrapper{padding-right:8px}.nas-datepicker-combo--inline-flex ::ng-deep .nas-datepicker-combo__date-picker--inbound:has(.nas-datepicker__time-selector-wrapper) .nas-datepicker__controls{border:2px solid #6F6F6F!important}.nas-datepicker-combo--inline-flex ::ng-deep .nas-datepicker-combo__date-picker--inbound:has(.nas-datepicker__time-selector-wrapper) .nas-datepicker__controls--filled{border:2px solid #15273F!important}.nas-datepicker-combo--inline-flex-datepicker-float ::ng-deep .nas-datepicker{position:unset}.nas-datepicker-combo--inline-flex-datepicker-float ::ng-deep .nas-datepicker__date-picker-wrapper{position:unset}.nas-datepicker-combo--inline-flex .nas-datepicker-combo__separator{display:none}\n"] }]
6063
6077
  }], ctorParameters: function () { return [{ type: DateHelper }, { type: DeviceHelper }]; }, propDecorators: { datepickerOutbound: [{
6064
6078
  type: ViewChild,
6065
6079
  args: ['datepickerOutbound']
@@ -6137,6 +6151,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
6137
6151
  type: Input
6138
6152
  }], inlineFlex: [{
6139
6153
  type: Input
6154
+ }], ignoreOnFocusInboundDate: [{
6155
+ type: Input
6140
6156
  }], outboundSelectedDateChange: [{
6141
6157
  type: Output
6142
6158
  }], inboundSelectedDateChange: [{
@@ -6463,6 +6479,7 @@ class FilterComponent extends NasComponentBase {
6463
6479
  this.inlineFlex = 0;
6464
6480
  this.openPassengerSelect = false;
6465
6481
  this.openTransitTypeSelect = false;
6482
+ this.onFocusInboundIgnored = false;
6466
6483
  /**
6467
6484
  * @property Input
6468
6485
  * @description
@@ -6503,6 +6520,18 @@ class FilterComponent extends NasComponentBase {
6503
6520
  * An event that is fired every time the origin dropdown selector opens or closes.
6504
6521
  */
6505
6522
  this.destinationOpenChange = new EventEmitter();
6523
+ /**
6524
+ * @property Output
6525
+ * @description
6526
+ * An event that is fired every time the origin2 dropdown selector opens or closes.
6527
+ */
6528
+ this.origin2OpenChange = new EventEmitter();
6529
+ /**
6530
+ * @property Output
6531
+ * @description
6532
+ * An event that is fired every time the origin dropdown selector opens or closes.
6533
+ */
6534
+ this.destination2OpenChange = new EventEmitter();
6506
6535
  /**
6507
6536
  * @property Output
6508
6537
  * @description
@@ -6521,6 +6550,18 @@ class FilterComponent extends NasComponentBase {
6521
6550
  * An event that is fired every time the selected destination airport changes.
6522
6551
  */
6523
6552
  this.destinationChange = new EventEmitter();
6553
+ /**
6554
+ * @property Output
6555
+ * @description
6556
+ * An event that is fired every time the selected origin2 airport changes.
6557
+ */
6558
+ this.origin2Change = new EventEmitter();
6559
+ /**
6560
+ * @property Output
6561
+ * @description
6562
+ * An event that is fired every time the selected destination airport changes.
6563
+ */
6564
+ this.destination2Change = new EventEmitter();
6524
6565
  /**
6525
6566
  * @property Output
6526
6567
  * @description
@@ -6653,6 +6694,12 @@ class FilterComponent extends NasComponentBase {
6653
6694
  }
6654
6695
  }
6655
6696
  }
6697
+ if (this.tripType == TripType.twoWayOpen) {
6698
+ this.showSwitch = false;
6699
+ }
6700
+ else {
6701
+ this.showSwitch = this.exists(this.useSwitch);
6702
+ }
6656
6703
  if (!this.nasFormGroup) {
6657
6704
  return;
6658
6705
  }
@@ -6819,11 +6866,10 @@ class FilterComponent extends NasComponentBase {
6819
6866
  this.setFocusOnNativeElement(this.passengerSelectDropdown);
6820
6867
  }
6821
6868
  else {
6822
- if (this.enableTripSwitch) {
6823
- this.onTripSwitchOpen(true);
6824
- return;
6869
+ if (this.exists(this.enableMultiCity) && this.tripType == TripType.twoWayOpen) {
6870
+ this.onFocusInboundIgnored = true;
6825
6871
  }
6826
- this.setFocusOnNativeElement(this.datepickerCombo.datepickerOutbound.input);
6872
+ this.setFocusOnNativeElement(this.datepickerCombo?.datepickerOutbound?.input);
6827
6873
  }
6828
6874
  break;
6829
6875
  case 'Escape':
@@ -6832,6 +6878,16 @@ class FilterComponent extends NasComponentBase {
6832
6878
  break;
6833
6879
  }
6834
6880
  }
6881
+ onFocusInboundDateKeyDown(event) {
6882
+ if (event.key == 'Tab' || event.key == 'Enter') {
6883
+ if (!this.exists(this.enableDatepickers)) {
6884
+ this.setFocusOnNativeElement(this.passengerSelectDropdown);
6885
+ return;
6886
+ }
6887
+ this.onFocusInboundIgnored = false;
6888
+ this.setFocusOnNativeElement(this.datepickerCombo.datepickerInbound.input);
6889
+ }
6890
+ }
6835
6891
  onTripSwitchFocusNext(event) {
6836
6892
  if (event.key == 'Tab') {
6837
6893
  if (!this.exists(this.enableDatepickers)) {
@@ -6942,14 +6998,28 @@ class FilterComponent extends NasComponentBase {
6942
6998
  }
6943
6999
  onDatepickerFocusOnPrevious(event) {
6944
7000
  event.preventDefault();
6945
- if (this.enableTripSwitch) {
6946
- this.setFocusOnNativeElement(this.tripTypeSelection.radioElement);
7001
+ if (this.exists(this.enableMultiCity)) {
7002
+ if (this.tripType == TripType.twoWayOpen) {
7003
+ setTimeout(() => {
7004
+ this.setFocusOnNativeElement(this.airportSelect.airportSelectDropdownOrigin.input);
7005
+ });
7006
+ return;
7007
+ }
7008
+ setTimeout(() => {
7009
+ this.setFocusOnNativeElement(this.airportSelect.airportSelectDropdownDestination.input);
7010
+ });
6947
7011
  return;
6948
7012
  }
6949
7013
  this.focusOnAirportSelectBackwards();
6950
7014
  }
6951
7015
  onFocusOnNextChange(event) {
6952
7016
  event.preventDefault();
7017
+ if (this.exists(this.enableMultiCity) && this.tripType == TripType.twoWayOpen) {
7018
+ if (this.onFocusInboundIgnored) {
7019
+ this.setFocusOnNativeElement(this.airportSelect2.airportSelectDropdownOrigin.input);
7020
+ return;
7021
+ }
7022
+ }
6953
7023
  if (event.key == 'Tab' || event.key == 'Enter') {
6954
7024
  if (this.passengerSelectDropdown) {
6955
7025
  this.setFocusOnNativeElement(this.passengerSelectDropdown);
@@ -6985,6 +7055,23 @@ class FilterComponent extends NasComponentBase {
6985
7055
  this.originOpenChange.emit(open);
6986
7056
  this.changeDetector.detectChanges();
6987
7057
  }
7058
+ onOrigin2Open(open) {
7059
+ if (this.tripSwitch) {
7060
+ this.tripSwitch.open = false;
7061
+ }
7062
+ if (this.transitSwitch) {
7063
+ this.openTransitTypeSelect = false;
7064
+ }
7065
+ if (this.datepickerCombo) {
7066
+ this.datepickerCombo.inboundOpen = false;
7067
+ this.datepickerCombo.outboundOpen = false;
7068
+ }
7069
+ if (this.airportSelect && !this.airportSelect.originOpen) {
7070
+ this.updateMaximize();
7071
+ }
7072
+ this.origin2OpenChange.emit(open);
7073
+ this.changeDetector.detectChanges();
7074
+ }
6988
7075
  validateAirportValues() {
6989
7076
  if (!this.airportSelect) {
6990
7077
  return false;
@@ -7022,6 +7109,22 @@ class FilterComponent extends NasComponentBase {
7022
7109
  }
7023
7110
  this.destinationOpenChange.emit(open);
7024
7111
  }
7112
+ onDestination2Open(open) {
7113
+ if (this.tripSwitch) {
7114
+ this.tripSwitch.open = false;
7115
+ }
7116
+ if (this.transitSwitch) {
7117
+ this.openTransitTypeSelect = false;
7118
+ }
7119
+ if (this.datepickerCombo) {
7120
+ this.datepickerCombo.inboundOpen = false;
7121
+ this.datepickerCombo.outboundOpen = false;
7122
+ }
7123
+ if (this.airportSelect && !this.airportSelect.destinationOpen) {
7124
+ this.updateMaximize();
7125
+ }
7126
+ this.destination2OpenChange.emit(open);
7127
+ }
7025
7128
  onPassengerBackdropChange(value) {
7026
7129
  this.openPassengerSelect = value;
7027
7130
  this.passengerSelectOpenChange.emit(this.openPassengerSelect);
@@ -7100,6 +7203,9 @@ class FilterComponent extends NasComponentBase {
7100
7203
  onOriginChange(airport) {
7101
7204
  this.originChange.emit(airport);
7102
7205
  }
7206
+ onOrigin2Change(airport) {
7207
+ this.origin2Change.emit(airport);
7208
+ }
7103
7209
  setSelectedOriginAirport(airport) {
7104
7210
  if (!airport) {
7105
7211
  return;
@@ -7111,9 +7217,23 @@ class FilterComponent extends NasComponentBase {
7111
7217
  this.originAirportCode = airport.code;
7112
7218
  this.changeDetector.detectChanges();
7113
7219
  }
7220
+ setSelectedOrigin2Airport(airport) {
7221
+ if (!airport) {
7222
+ return;
7223
+ }
7224
+ this.onOrigin2Change(airport);
7225
+ if (this.origin2AirportCode === airport.code) {
7226
+ return;
7227
+ }
7228
+ this.origin2AirportCode = airport.code;
7229
+ this.changeDetector.detectChanges();
7230
+ }
7114
7231
  onDestinationChange(airport) {
7115
7232
  this.destinationChange.emit(airport);
7116
7233
  }
7234
+ onDestination2Change(airport) {
7235
+ this.destination2Change.emit(airport);
7236
+ }
7117
7237
  setFocusOnPassengerSelect(event) {
7118
7238
  if (this.isMobileDisplay()) {
7119
7239
  if (this.datepickerCombo) {
@@ -7156,6 +7276,12 @@ class FilterComponent extends NasComponentBase {
7156
7276
  const tripSwitchControl = this.nasFormGroup.get(this.nasFormControlNameTripType);
7157
7277
  tripSwitchControl.patchValue(this.tripType);
7158
7278
  }
7279
+ if (this.tripType == TripType.twoWayOpen) {
7280
+ this.showSwitch = false;
7281
+ }
7282
+ else {
7283
+ this.showSwitch = this.exists(this.useSwitch);
7284
+ }
7159
7285
  }
7160
7286
  onTransitChange(directOnly) {
7161
7287
  setTimeout(() => {
@@ -7273,11 +7399,11 @@ class FilterComponent extends NasComponentBase {
7273
7399
  }
7274
7400
  }
7275
7401
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterComponent, deps: [{ token: DeviceHelper }, { token: SortService }, { token: AbandonedBasketService }, { token: DateHelper }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
7276
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FilterComponent, selector: "nas-filter", inputs: { airportRelations: "airportRelations", ariaLabelClear: "ariaLabelClear", ariaLabelSubtract: "ariaLabelSubtract", ariaLabelBackdrop: "ariaLabelBackdrop", ariaLabelAdd: "ariaLabelAdd", allowedOriginAirports: "allowedOriginAirports", allowedDestinationAirports: "allowedDestinationAirports", displayLatestSearches: "displayLatestSearches", useSwitch: "useSwitch", displayClosestAirports: "displayClosestAirports", originAirportCode: "originAirportCode", destinationAirportCode: "destinationAirportCode", passengerSelectLabel: "passengerSelectLabel", maxPaxCount: "maxPaxCount", passengers: "passengers", minAdultCount: "minAdultCount", tripSwitchRoundTripLabel: "tripSwitchRoundTripLabel", tripSwitchOneWayLabel: "tripSwitchOneWayLabel", directOnlyLabel: "directOnlyLabel", directTransitLabel: "directTransitLabel", minimizeOnMobile: "minimizeOnMobile", inlineOnDesktop: "inlineOnDesktop", expandedAccordionMobile: "expandedAccordionMobile", defaultSummarySeparator: "defaultSummarySeparator", lastSummarySeparator: "lastSummarySeparator", passengerSelectTitle: "passengerSelectTitle", passengerSelectAdultsLabel: "passengerSelectAdultsLabel", passengerSelectYouthsLabel: "passengerSelectYouthsLabel", passengerSelectYoungAdultsLabel: "passengerSelectYoungAdultsLabel", passengerSelectChildrenLabel: "passengerSelectChildrenLabel", passengerSelectInfantsLabel: "passengerSelectInfantsLabel", groupBookingLabel: "groupBookingLabel", allAirportsLabel: "allAirportsLabel", latestSearchesLabel: "latestSearchesLabel", closestAirportsLabel: "closestAirportsLabel", noAirportsLabel: "noAirportsLabel", selectOriginFirstLabel: "selectOriginFirstLabel", labelOrigin: "labelOrigin", placeholderOrigin: "placeholderOrigin", labelDestination: "labelDestination", geolocationLabel: "geolocationLabel", geolocationBlockedLabel: "geolocationBlockedLabel", placeholderDestination: "placeholderDestination", keepSelection: "keepSelection", editSearchTitle: "editSearchTitle", nasFormGroup: "nasFormGroup", nasFormControlNameOrigin: "nasFormControlNameOrigin", nasFormControlNameDestination: "nasFormControlNameDestination", nasFormControlNameTripType: "nasFormControlNameTripType", nasFormControlNameDirectOnly: "nasFormControlNameDirectOnly", nasFormControlNameOutbound: "nasFormControlNameOutbound", nasFormControlNameInbound: "nasFormControlNameInbound", nasFormControlGroupBooking: "nasFormControlGroupBooking", overrideOrigin: "overrideOrigin", enableSuggestions: "enableSuggestions", closestAirports: "closestAirports", minimize: "minimize", airports: "airports", tripType: "tripType", directOnly: "directOnly", groupBookingLimit: "groupBookingLimit", ariaLabelPreviousMonth: "ariaLabelPreviousMonth", ariaLabelNextMonth: "ariaLabelNextMonth", noAvailableFlightsLabel: "noAvailableFlightsLabel", availableFlightsLabel: "availableFlightsLabel", disablePastSelection: "disablePastSelection", outboundLabel: "outboundLabel", inboundLabel: "inboundLabel", availability: "availability", outboundAvailableDates: "outboundAvailableDates", inboundAvailableDates: "inboundAvailableDates", times: "times", dateDisplayFormat: "dateDisplayFormat", timeDisplayFormat: "timeDisplayFormat", locale: "locale", compact: "compact", outboundDisabled: "outboundDisabled", inboundDisabled: "inboundDisabled", enableDatepickers: "enableDatepickers", minimizingLabel: "minimizingLabel", maximizingLabel: "maximizingLabel", directOnlyMobileLabel: "directOnlyMobileLabel", orLabel: "orLabel", passengersTitleLabel: "passengersTitleLabel", invalidDestinationText: "invalidDestinationText", outboundSelectedDate: "outboundSelectedDate", inboundSelectedDate: "inboundSelectedDate", enableDestinationSelect: "enableDestinationSelect", enablePassengersSelect: "enablePassengersSelect", enableTripSwitch: "enableTripSwitch", enableTransitSwitch: "enableTransitSwitch", datePickerComboInlineFlex: "datePickerComboInlineFlex", airportSelectOutboundId: "airportSelectOutboundId", airportSelectInboundId: "airportSelectInboundId", passengerSelectId: "passengerSelectId", datePickerOutboundId: "datePickerOutboundId", datePickerInboundId: "datePickerInboundId", tripTypeId: "tripTypeId", transitTypeId: "transitTypeId" }, outputs: { originOpenChange: "originOpenChange", destinationOpenChange: "destinationOpenChange", passengerSelectOpenChange: "passengerSelectOpenChange", originChange: "originChange", destinationChange: "destinationChange", passengersChange: "passengersChange", tripTypeChange: "tripTypeChange", directOnlyChange: "directOnlyChange", outboundSelectedDateChange: "outboundSelectedDateChange", inboundSelectedDateChange: "inboundSelectedDateChange", outboundOpenChange: "outboundOpenChange", inboundOpenChange: "inboundOpenChange", outboundMonthChange: "outboundMonthChange", inboundMonthChange: "inboundMonthChange", focusOnNextChange: "focusOnNextChange", positionChange: "positionChange" }, viewQueries: [{ propertyName: "passengerSelectDropdown", first: true, predicate: ["passengerSelectDropdown"], descendants: true }, { propertyName: "passengerSelect", first: true, predicate: ["passengerSelect"], descendants: true }, { propertyName: "tripSwitch", first: true, predicate: ["tripSwitch"], descendants: true }, { propertyName: "transitSwitch", first: true, predicate: ["transitSwitch"], descendants: true }, { propertyName: "airportSelect", first: true, predicate: ["airportSelect"], descendants: true }, { propertyName: "datepickerCombo", first: true, predicate: ["datepickerCombo"], descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "tripTypeOneway", first: true, predicate: ["tripTypeOneway"], descendants: true }, { propertyName: "tripTypeRoundTrip", first: true, predicate: ["tripTypeRoundTrip"], descendants: true }, { propertyName: "transitTypeDirectOnly", first: true, predicate: ["transitTypeDirectOnly"], descendants: true }, { propertyName: "transitTypeTransit", first: true, predicate: ["transitTypeTransit"], descendants: true }, { propertyName: "tripTypeSelection", first: true, predicate: ["radio"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<nas-accordion *ngIf=\"deviceHelper?.isMobile() && exists(minimizeOnMobile); else filterTemplate\" simple\n containerOnToggle transparent [expanded]=\"expandedAccordionMobile\" [title]=\"editSearchTitle\"\n (toggleChange)=\"onAccordionToggleChange($event)\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n</nas-accordion>\n<div class=\"container\" *ngIf=\"deviceHelper?.isMobile() && exists(minimizeOnMobile) && displaySummary\">{{getSummary()}}\n</div>\n\n<ng-template #filterTemplate>\n <div #container [nasClass]=\"getContainerClass()\">\n <div [nasClass]=\"getFilterClass('filters', [exists(minimize) && 'minimized', exists(inlineOnDesktop) && 'inline'])\">\n <ng-container *ngIf=\"airports?.length > 0\">\n <nas-airport-select *ngIf=\"airports && airportRelations && (enableDestinationSelect)\" #airportSelect combo\n [ngClass]=\"{ 'lower-z-index': openPassengerSelect || inboundOpen || outboundOpen }\" \n [outboundId]=\"airportSelectOutboundId\" [inboundId]=\"airportSelectInboundId\" [ariaLabelClear]=\"ariaLabelClear\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlNameOrigin]=\"nasFormControlNameOrigin\"\n [nasFormControlNameDestination]=\"nasFormControlNameDestination\" [useSwitch]=\"useSwitch\"\n [nasClass]=\"getAirportSelectClass()\" [airports]=\"airports\" [allowedOriginAiports]=\"allowedOriginAirports\"\n [allowedDestinationAirports]=\"allowedDestinationAirports\" [airportRelations]=\"airportRelations\"\n [latestSearchesOrigin]=\"latestSearchesOrigin\" [latestSearchesDestination]=\"latestSearchesDestination\"\n [displayLatestSearches]=\"displayLatestSearches\" [displayClosestAirports]=\"displayClosestAirports\"\n [originAirportCode]=\"originAirportCode\" [destinationAirportCode]=\"destinationAirportCode\"\n [allAirportsLabel]=\"allAirportsLabel\" [latestSearchesLabel]=\"latestSearchesLabel\"\n [closestAirportsLabel]=\"closestAirportsLabel\" [closestAirports]=\"closestAirports\"\n [selectOriginFirstLabel]=\"selectOriginFirstLabel\" [labelOrigin]=\"labelOrigin\"\n [placeholderOrigin]=\"placeholderOrigin\" [labelDestination]=\"labelDestination\"\n [geolocationLabel]=\"geolocationLabel\" [geolocationBlockedLabel]=\"geolocationBlockedLabel\" \n [noAirportsLabel]=\"noAirportsLabel\" [placeholderDestination]=\"placeholderDestination\" [keepSelection]=\"keepSelection\"\n [invalidDestinationText]=\"invalidDestinationText\" (originChange)=\"setSelectedOriginAirport($event)\"\n (destinationChange)=\"onDestinationChange($event)\" (focusOnNext)=\"onTripSwitchKeyDown($event)\"\n (originOpenChange)=\"onOriginOpen($event)\" (destinationOpenChange)=\"onDestinationOpen($event)\"\n (positionChange)=\"getClosestAirports($event)\"></nas-airport-select>\n <nas-airport-select *ngIf=\"airports && (!enableDestinationSelect)\" #airportSelect\n [ngClass]=\"{ 'lower-z-index': openPassengerSelect || inboundOpen || outboundOpen }\"\n [outboundId]=\"airportSelectOutboundId\" [ariaLabelClear]=\"ariaLabelClear\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlNameOrigin]=\"nasFormControlNameOrigin\" [useSwitch]=\"useSwitch\"\n [nasClass]=\"getClass('airport-origin-select')\" [airports]=\"airports\"\n [allowedOriginAiports]=\"allowedOriginAirports\" [airportRelations]=\"airportRelations\"\n [latestSearchesOrigin]=\"latestSearchesOrigin\" [displayLatestSearches]=\"displayLatestSearches\"\n [displayClosestAirports]=\"displayClosestAirports\" [originAirportCode]=\"originAirportCode\"\n [allAirportsLabel]=\"allAirportsLabel\" [latestSearchesLabel]=\"latestSearchesLabel\"\n [closestAirportsLabel]=\"closestAirportsLabel\" [closestAirports]=\"closestAirports\"\n [selectOriginFirstLabel]=\"selectOriginFirstLabel\" [labelOrigin]=\"labelOrigin\"\n [placeholderOrigin]=\"placeholderOrigin\" [geolocationLabel]=\"geolocationLabel\"\n [geolocationBlockedLabel]=\"geolocationBlockedLabel\" [keepSelection]=\"keepSelection\"\n (originChange)=\"setSelectedOriginAirport($event)\" (focusOnNext)=\"onTripSwitchKeyDown($event)\"\n (originOpenChange)=\"onOriginOpen($event)\" (positionChange)=\"getClosestAirports($event)\"></nas-airport-select>\n <nas-suggestions *ngIf=\"(closestAirports || latestSearchesOrigin) && exists(enableSuggestions)\"\n [ngClass]=\"{ 'lower-z-index': openPassengerSelect || inboundOpen || outboundOpen }\"\n [nasClass]=\"getFilterClass('suggestions', !exists(enableDatepickers) && 'flex-end')\" [suggestions]=\"getSuggestions()\" [orLabel]=\"orLabel\"\n (airportSelect)=\"setSelectedOriginAirport($event)\"></nas-suggestions>\n </ng-container>\n <ng-container *ngIf=\"shouldMaximize()\">\n <form *ngIf=\"enableTripSwitch\" [nasClass]=\"getClass('radio', !exists(enableDatepickers) && 'flex-end')\" (keydown)=\"onTripSwitchFocusNext($event)\">\n <nas-radio #radio [id]=\"tripTypeInputId + '__round-trip'\" [name]=\"'tripType'\" [value]=\"2\" (checkedChange)=\"onTripTypeChange(2)\" [checked]=\"tripType === 2\">\n {{tripSwitchRoundTripLabel}}\n </nas-radio>\n <nas-radio #radio [id]=\"tripTypeInputId + '__one-way'\" [name]=\"'tripType'\" [value]=\"1\" (checkedChange)=\"onTripTypeChange(1)\" [checked]=\"tripType === 1\">\n {{tripSwitchOneWayLabel}}\n </nas-radio>\n </form>\n <div *ngIf=\"exists(enableDatepickers)\" [nasClass]=\"getDatePickersClass()\">\n <nas-datepicker-combo #datepickerCombo compact \n [outboundId]=\"datePickerOutboundId\" [inboundId]=\"datePickerInboundId\" [inlineFlex]=\"inlineFlex\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlNameOutbound]=\"nasFormControlNameOutbound\"\n [nasFormControlNameInbound]=\"nasFormControlNameInbound\" [availability]=\"availability\"\n [availableFlightsLabel]=\"availableFlightsLabel\" [dateDisplayFormat]=\"dateDisplayFormat\"\n [disablePastSelection]=\"disablePastSelection\" [locale]=\"locale\"\n [noAvailableFlightsLabel]=\"noAvailableFlightsLabel\" [inboundAvailableDates]=\"inboundAvailableDates\"\n [inboundLabel]=\"inboundLabel\" [noAvailableFlightsLabel]=\"noAvailableFlightsLabel\"\n [outboundAvailableDates]=\"outboundAvailableDates\" [outboundLabel]=\"outboundLabel\"\n [timeDisplayFormat]=\"timeDisplayFormat\" [times]=\"times\" [outboundDisabled]=\"outboundDisabled\"\n [inboundDisabled]=\"inboundDisabled\" [outboundOnly]=\"tripType === 1\"\n [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [ariaLabelPreviousMonth]=\"ariaLabelPreviousMonth\"\n [ariaLabelNextMonth]=\"ariaLabelNextMonth\" (focusOnNextChange)=\"onFocusOnNextChange($event)\"\n (focusOnPreviousChange)=\"onDatepickerFocusOnPrevious($event)\"\n (inboundMonthChange)=\"onInboundMonthChange($event)\" (outboundMonthChange)=\"onOutboundMonthChange($event)\"\n [(outboundOpen)]=\"outboundOpen\" [(inboundOpen)]=\"inboundOpen\"\n [(inboundSelectedDate)]=\"inboundSelectedDate\" [(outboundSelectedDate)]=\"outboundSelectedDate\">\n </nas-datepicker-combo>\n </div>\n <div *ngIf=\"enablePassengersSelect || enableTransitSwitch\" [nasClass]=\"getClass('dropdown-wrapper')\">\n <div *ngIf=\"enablePassengersSelect\" [nasClass]=\"getClass('passengers')\">\n <button #passengerSelectDropdown (click)=\"onPassengerSelectOpen($event)\" [id]=\"passengerSelectId\"\n [nasClass]=\"getClass('passengers-button', openPassengerSelect && 'active')\">\n <div [nasClass]=\"getClass('label')\">\n <p [nasClass]=\"getClass('button-title')\">{{passengersTitleLabel}}</p>\n <p>{{passengerSelectLabel}}</p>\n </div>\n <div [nasClass]=\"getClass('traveler-icon')\"><nas-icon [icon]=\"'my-profile-compact'\"\n [type]=\"'small'\"></nas-icon></div>\n </button>\n <div *ngIf=\"openPassengerSelect\" [nasClass]=\"getClass('passengers-selection')\">\n <nas-passenger-select #passengerSelect [ariaLabelAdd]=\"ariaLabelAdd\" [ariaLabelSubtract]=\"ariaLabelSubtract\"\n [adultsLabel]=\"passengerSelectAdultsLabel\" [youthsLabel]=\"passengerSelectYouthsLabel\"\n [youngAdultsLabel]=\"passengerSelectYoungAdultsLabel\" [childrenLabel]=\"passengerSelectChildrenLabel\"\n [infantsLabel]=\"passengerSelectInfantsLabel\" [maxPaxCount]=\"maxPaxCount\"\n [minAdultCount]=\"minAdultCount\" [title]=\"passengerSelectTitle\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlGroupBooking]=\"nasFormControlGroupBooking\" [groupBookingLabel]=\"groupBookingLabel\"\n [groupBookingLimit]=\"groupBookingLimit\" (focusOnNext)=\"onPassengersSelectFocusOnNext()\"\n (focusOnPrevious)=\"onPassengersSelectFocusOnPrevious()\"\n [(passengers)]=\"passengers\"></nas-passenger-select>\n <nas-backdrop [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n [showBackdrop]=\"openPassengerSelect\" (showBackdropChange)=\"onPassengerBackdropChange($event)\"></nas-backdrop>\n </div>\n </div>\n <div *ngIf=\"enableTransitSwitch\" [nasClass]=\"getClass('transit-type')\">\n <nas-button *ngIf=\"directOnlyLabel && directTransitLabel\" #transitSwitch block light\n [id]=\"transitTypeInputId\" [iconType]=\"'chevron-down'\" [label]=\"getTransitLabel()\"\n [nasClass]=\"getClass('transit', openTransitTypeSelect && 'active')\"\n [ariaLabelBackdrop]=\"ariaLabelBackdrop\" (click)=\"onTransitSwitchOpen($event)\" (focusOnNext)=\"onTransitSwitchFocusNext($event)\">{{ getTransitLabel() }}\n </nas-button>\n <div *ngIf=\"openTransitTypeSelect\" [nasClass]=\"getClass('transit-type-selection')\" (keydown)=\"transitKeyDown($event)\">\n <button [id]=\"transitTypeInputId + '__direct'\" [nasClass]=\"getTravelDetailsClass('action', directOnly && 'active')\" type=\"button\"\n #transitTypeDirectOnly (click)=\"onTransitChange(true)\">{{ directOnlyLabel }}\n </button>\n <button [id]=\"transitTypeInputId + '__transit'\" type=\"button\" #transitTypeTransit\n [nasClass]=\"getTravelDetailsClass('action', !directOnly && 'active')\"\n (click)=\"onTransitChange(false)\">{{ directTransitLabel }}\n </button>\n <nas-backdrop [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n [(showBackdrop)]=\"openTransitTypeSelect\"></nas-backdrop>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n</ng-template>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-filter{position:relative;z-index:6}.nas-filter ::ng-deep .nas-filter__transit .nas-button--light{border:2px solid #15273F;margin-top:8px}.nas-filter ::ng-deep .nas-filter__transit .nas-button--light:hover,.nas-filter ::ng-deep .nas-filter__transit .nas-button--light:focus{background-color:#fff}.nas-filter ::ng-deep .nas-filter__transit .nas-button__content{gap:0;justify-content:space-between;font-weight:400}.nas-filter ::ng-deep .nas-filter__transit--active .nas-button__icon{transform:rotate(180deg)}.nas-filter ::ng-deep .nas-filter__transit--active .nas-button{background-color:#ebf4ff!important;border:2px solid #15273F;z-index:5}.nas-filter__title{margin-top:24px;font-size:32px;line-height:40px}@media (max-width: 639px){.nas-filter__title{font-size:24px;line-height:32px}}.nas-filter__radio{display:flex;gap:24px;padding:12px}.nas-filter__radio--flex-end{order:4!important}.nas-filter__passengers-button{display:flex;justify-content:space-between;background-color:#fff;border:2px solid #15273F;padding:9px 14px;width:100%;height:67px}.nas-filter__passengers-button--active{background-color:#ebf4ff!important;position:relative;z-index:5}.nas-filter__passengers-button:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-filter__label{flex-direction:column;text-align:left;display:flex;justify-content:center}.nas-filter__label p{margin:0}.nas-filter__button-title{font-weight:700;font-size:14px}.nas-filter__traveler-icon{transform:scale(.85);margin-top:12px}.nas-filter__transit-type-selection{z-index:4;position:absolute;width:100%;border-left:2px solid #15273F;border-right:2px solid #15273F;border-bottom:2px solid #15273F}.nas-filter__transit-type-selection button:first-child{border-bottom:2px solid #E9E7E4}.nas-filter__transit-type-selection ::ng-deep .nas-backdrop{z-index:-1}.nas-filter__passengers{margin-top:8px}.nas-filter__filters:has(.nas-filter__radio--flex-end){display:flex;flex-direction:column}.nas-filter__filters .nas-filter__suggestions ::ng-deep .nas-suggestions{margin:0}.nas-filter__filters--md,.nas-filter__filters--lg{display:flex;flex-wrap:wrap;flex-direction:row;gap:8px}.nas-filter__filters--md .nas-filter__airport-select,.nas-filter__filters--lg .nas-filter__airport-select{flex:0 0 100%}.nas-filter__filters--md .nas-filter__airport-select ::ng-deep .nas-airport-select-combo__switcher,.nas-filter__filters--lg .nas-filter__airport-select ::ng-deep .nas-airport-select-combo__switcher{top:20%;left:48%;transform:rotate(90deg)}.nas-filter__filters--md .nas-filter__suggestions,.nas-filter__filters--lg .nas-filter__suggestions{flex:0 0 100%}.nas-filter__filters--md .nas-filter__suggestions ::ng-deep .nas-suggestions,.nas-filter__filters--lg .nas-filter__suggestions ::ng-deep .nas-suggestions{margin:0}.nas-filter__filters--md .nas-filter__suggestions--flex-end,.nas-filter__filters--lg .nas-filter__suggestions--flex-end{margin-bottom:0}.nas-filter__filters--md .nas-filter__dropdown-wrapper,.nas-filter__filters--lg .nas-filter__dropdown-wrapper{display:flex;gap:8px;flex:1 1 49%}.nas-filter__filters--md .nas-filter__passengers,.nas-filter__filters--lg .nas-filter__passengers{margin-top:0;position:relative;flex:1 1 24.5%}.nas-filter__filters--md .nas-filter__passengers .nas-filter__passengers-button,.nas-filter__filters--lg .nas-filter__passengers .nas-filter__passengers-button{height:67px}.nas-filter__filters--md .nas-filter__transit-type,.nas-filter__filters--lg .nas-filter__transit-type{flex:1 1 24.4%;position:relative}.nas-filter__filters--md .nas-filter__transit-type ::ng-deep .nas-button,.nas-filter__filters--lg .nas-filter__transit-type ::ng-deep .nas-button{height:67px;margin:0}.nas-filter__filters--md .nas-filter__date-combo,.nas-filter__filters--lg .nas-filter__date-combo{flex:1 1 49%}.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound .nas-datepicker__date-picker-wrapper .nas-datepicker__controls,.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound .nas-datepicker__date-picker-wrapper .nas-datepicker__controls{border-left:2px solid #6F6F6F}.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound .nas-datepicker__date-picker-wrapper .nas-datepicker__controls--active,.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound .nas-datepicker__date-picker-wrapper .nas-datepicker__controls--active{border-left:2px solid currentColor}.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker .nas-datepicker__date-picker-wrapper,.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker .nas-datepicker--compact,.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker .nas-datepicker__date-picker-wrapper,.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker .nas-datepicker--compact{position:relative}.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound,.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound{margin-left:8px}.nas-filter__filters--md .nas-filter__radio,.nas-filter__filters--lg .nas-filter__radio{flex:0 0 100%;padding:9px 0}.nas-filter__filters--md:has(.nas-filter__radio--flex-end),.nas-filter__filters--lg:has(.nas-filter__radio--flex-end){display:flex;flex-direction:row}.nas-filter__filters--md ::ng-deep .nas-airport-select-combo,.nas-filter__filters--lg ::ng-deep .nas-airport-select-combo{flex-direction:row}.nas-filter__filters--md ::ng-deep .nas-airport-select-combo__switcher,.nas-filter__filters--lg ::ng-deep .nas-airport-select-combo__switcher{top:20%;left:46.5%;transform:rotate(90deg)}.nas-filter__filters--md .nas-filter__passengers ::ng-deep .nas-passenger-select__list{width:100%;min-width:250px}.nas-filter__filters--lg.nas-filter__filters--inline .nas-filter__airport-select{order:0;flex:1}.nas-filter__filters--lg.nas-filter__filters--inline .nas-filter__airport-select ::ng-deep .nas-airport-select-combo__switcher{left:46%}.nas-filter__filters--lg.nas-filter__filters--inline .nas-filter__date-combo,.nas-filter__filters--lg.nas-filter__filters--inline .nas-filter__dropdown-wrapper{order:0;flex:1}.nas-filter__filters--lg.nas-filter__filters--inline .nas-filter__radio{order:1;flex:1 1 100%}.nas-filter__suggestions{flex-basis:100%;position:relative}.nas-filter__airport-select{order:0;flex:0 0 100%;position:relative}.nas-filter__toggler{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:400;font-size:18px;line-height:24px;color:#15273f;margin-top:6px;z-index:1}.nas-filter__toggler .nas-filter__toggle-action{cursor:pointer;margin-top:2px;float:right}.nas-filter__toggler .nas-filter__direct-only{display:inline-block}.travel-details{position:relative;margin:0;z-index:1;display:flex;flex-direction:column}.travel-details__list{margin-top:12px}.travel-details__list-item{display:flex;align-items:center;justify-content:space-between;padding:6px 0 0}.travel-details__list-item:not(:last-child){padding:6px 0 9px;border-bottom:2px solid #E9E7E4}.travel-details__label{flex-grow:2;margin:0 6px 0 0}.travel-details__title{font-size:18px;line-height:24px;display:block;min-width:124px}.travel-details__title--small{font-size:16px;line-height:24px;margin:0}.travel-details__action{padding:12px;width:100%;background-color:#fff;font-weight:700}.travel-details__action:hover,.travel-details__action:focus{background-color:#f1f1f1}.travel-details__action--border{border-bottom:2px #E9E7E4}.travel-details__action:focus{outline:none;z-index:1}.travel-details__icon{margin-bottom:9px}.travel-details__dropdown{margin-right:0}.travel-details__dropdown:after{content:\"\";position:absolute;bottom:-3px;left:0;width:100%;border-bottom:3px solid #E9E7E4}.travel-details__dropdown--trip-type{order:1;flex:1;margin-right:3px;margin-bottom:3px}.travel-details__dropdown--transit-type{order:2;flex:1;margin-bottom:3px}.travel-details__dropdown--passengers{order:3;flex:1 0 100%;margin-bottom:3px}.travel-details__transit-icon{position:relative;display:flex;justify-content:center;width:calc(100% - 48px);margin:12px auto;height:24px;background-color:inherit}.travel-details__transit-icon:before{content:\"\";position:absolute;height:2px;left:0;width:100%;top:calc(50% - 1px);background-color:currentColor}.travel-details__transit-icon:after{content:\"\";position:absolute;width:10px;height:10px;right:0;top:calc(50% - 5px);border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}.travel-details__transit-icon-stop{position:relative;top:calc(50% - 5px);width:10px;height:10px;border:2px solid currentColor;border-radius:50%;background-color:inherit}@media (min-width: 1000px){.travel-details--no-border:after{border-bottom:none}}::ng-deep .nas-filter__filters .nas-passenger-select__title{padding:8px 16px 0}::ng-deep .nas-filter__filters .nas-passenger-select__list{position:absolute!important;width:100%}::ng-deep .nas-filter__filters .nas-passenger-select__list-item{padding:8px 16px!important}::ng-deep .nas-filter__filters .nas-radio{margin:0!important}::ng-deep .nas-filter__filters .travel-details--no-border:after{display:none}::ng-deep .nas-filter__filters .nas-filter__date-combo .nas-datepicker__date-picker-wrapper{border-bottom:none!important;position:unset}::ng-deep .nas-filter__filters .nas-filter__date-combo .nas-datepicker--compact{position:unset;margin-bottom:0}::ng-deep .nas-filter__filters .nas-filter__date-combo--side-by-side .nas-datepicker-combo__separator{display:block;border-bottom:none!important}::ng-deep .nas-filter__filters .nas-airport-select__input-line{border-top:none!important}::ng-deep .nas-filter__filters .nas-airport-select-combo__separator{border-bottom:none!important}::ng-deep .nas-filter__filters .nas-dropdown__toggle{height:64px!important}::ng-deep .nas-filter__filters .nas-datepicker-combo__separator{display:none}::ng-deep .nas-filter__rotate{transform:rotate(180deg)}::ng-deep .nas-filter__rotate-enter,::ng-deep .nas-filter__rotate-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}::ng-deep .nas-filter__rotate-enter{animation:flip-in .55s ease both}::ng-deep .nas-filter__rotate-leave-active{animation:flip-out .2s ease-out both}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select__input-line{border-top:none}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select-combo__separator{border-top:none}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select__results-wrapper{margin-top:0}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select__results{top:-3px}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select__icon{bottom:18px}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select:after{display:none}::ng-deep .nas-filter__airport-select .nas-airport-select__input-line{display:none}::ng-deep .nas-filter__airport-origin-select{width:100%;max-width:100%}::ng-deep .nas-filter__airport-origin-select .nas-airport-select:only-child{max-width:100%}@media (min-width: 640px){::ng-deep .nas-filter__airport-origin-select{max-width:360px;flex:auto;margin-right:3px}::ng-deep .nas-filter__airport-origin-select .nas-airport-select:only-child{width:auto;max-width:360px}}::ng-deep .nas-filter__origin-combined{border-bottom:3px solid #E9E7E4;order:3;flex:0 0 100%;display:flex;flex-wrap:wrap}@media (min-width: 1000px){::ng-deep .nas-filter__origin-combined{display:flex;flex:none}::ng-deep .nas-filter__origin-combined .nas-dropdown__toggle nas-icon{float:none!important}}::ng-deep .nas-filter__backdrop{display:block;position:fixed;z-index:2;top:0;left:0;width:100%;height:100%;color:transparent;background-color:#0b14202b;animation:passenger-backdrop .7s ease-out both}::ng-deep .nas-filter__passengers-selection{position:absolute;z-index:4;width:100%}::ng-deep .nas-filter__passengers-selection ::ng-deep .nas-backdrop{z-index:-1}@keyframes passenger-backdrop{0%{opacity:0}}::ng-deep .lower-z-index{z-index:1!important;position:relative}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: AirportSelectComponent, selector: "nas-airport-select", inputs: ["outboundId", "inboundId", "airports", "airportRelations", "latestSearchesOrigin", "latestSearchesDestination", "closestAirports", "allowedOriginAiports", "allowedDestinationAirports", "displayLatestSearches", "displayClosestAirports", "combo", "useSwitch", "allAirportsLabel", "latestSearchesLabel", "closestAirportsLabel", "geolocationLabel", "geolocationBlockedLabel", "selectOriginFirstLabel", "noAirportsLabel", "invalidDestinationText", "labelOrigin", "placeholderOrigin", "labelDestination", "placeholderDestination", "labelOutside", "keepSelection", "nasFormControlNameOrigin", "nasFormControlNameDestination", "nasFormGroup", "originAirportCode", "destinationAirportCode", "ariaLabelClear", "ariaLabelBackdrop"], outputs: ["originChange", "originOpenChange", "destinationChange", "destinationOpenChange", "focusOnNext", "positionChange"] }, { kind: "component", type: PassengerSelectComponent, selector: "nas-passenger-select", inputs: ["passengers", "maxPaxCount", "minAdultCount", "groupBookingLimit", "title", "adultsLabel", "childrenLabel", "infantsLabel", "youthsLabel", "youngAdultsLabel", "groupBookingLabel", "nasFormGroup", "nasFormControlGroupBooking", "ariaLabelSubtract", "ariaLabelAdd"], outputs: ["passengersChange", "focusOnNext", "focusOnPrevious"] }, { kind: "component", type: AccordionComponent, selector: "nas-accordion", inputs: ["expanded", "title", "badge", "icon", "simple", "spaced", "small", "inverted", "containerOnToggle", "nopadding", "transparent", "approve", "primary", "warning", "badgeInfo", "badgeSuccess", "badgeWarning", "badgeError", "cssClass", "cssStyle"], outputs: ["toggleChange"] }, { kind: "component", type: IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }, { kind: "directive", type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: ButtonComponent, selector: "nas-button", inputs: ["primary", "secondary", "tertiary", "link", "light", "large", "block", "flex", "compact", "right", "spaceless", "href", "trackingvalue", "canContinueOnDisabled", "disabled", "type", "cssClass", "ariaLabel", "cssStyle", "tabindex", "overrideBaseCssClass", "useRouterLink", "id", "target", "icon", "iconLeft", "iconType", "buttonlink"], outputs: ["clickChange", "focusOnNext"] }, { kind: "component", type: SuggestionsComponent, selector: "nas-suggestions", inputs: ["suggestions", "orLabel"], outputs: ["airportSelect"] }, { kind: "component", type: DatepickerComboComponent, selector: "nas-datepicker-combo", inputs: ["outboundId", "inboundId", "ariaLabelBackdrop", "outboundOpen", "inboundOpen", "noAvailableFlightsLabel", "availableFlightsLabel", "disablePastSelection", "outboundDisabled", "inboundDisabled", "outboundOnly", "outboundLabel", "inboundLabel", "timepickerLabel", "availability", "outboundAvailableDates", "inboundAvailableDates", "times", "dateDisplayFormat", "timeDisplayFormat", "locale", "compact", "nasFormGroup", "nasFormControlNameOutbound", "nasFormControlNameInbound", "outboundSelectedDate", "inboundSelectedDate", "disableBackdrop", "outboundSelectedTime", "inboundSelectedTime", "ariaLabelPreviousMonth", "ariaLabelNextMonth", "inboundLowerLimitDateOffset", "inlineFlex"], outputs: ["outboundSelectedDateChange", "inboundSelectedDateChange", "outboundOpenChange", "inboundOpenChange", "outboundMonthChange", "inboundMonthChange", "focusOnNextChange", "focusOnPreviousChange"] }, { kind: "component", type: RadioComponent, selector: "nas-radio", inputs: ["id", "value", "name", "error", "disabled", "strong", "block", "spaceless", "tabIndex", "required", "aria-label", "aria-describedby", "aria-labelledby", "checked", "nasFormControlName", "nasFormGroup"], outputs: ["checkedChange"] }, { kind: "component", type: BackdropComponent, selector: "nas-backdrop", inputs: ["showBackdrop", "ariaLabelBackdrop"], outputs: ["showBackdropChange"] }] }); }
7402
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FilterComponent, selector: "nas-filter", inputs: { airportRelations: "airportRelations", ariaLabelClear: "ariaLabelClear", ariaLabelSubtract: "ariaLabelSubtract", ariaLabelBackdrop: "ariaLabelBackdrop", ariaLabelAdd: "ariaLabelAdd", allowedOriginAirports: "allowedOriginAirports", allowedDestinationAirports: "allowedDestinationAirports", displayLatestSearches: "displayLatestSearches", useSwitch: "useSwitch", displayClosestAirports: "displayClosestAirports", originAirportCode: "originAirportCode", destinationAirportCode: "destinationAirportCode", origin2AirportCode: "origin2AirportCode", destination2AirportCode: "destination2AirportCode", passengerSelectLabel: "passengerSelectLabel", maxPaxCount: "maxPaxCount", passengers: "passengers", minAdultCount: "minAdultCount", tripSwitchRoundTripLabel: "tripSwitchRoundTripLabel", tripSwitchOneWayLabel: "tripSwitchOneWayLabel", tripSwitchMultiCityLabel: "tripSwitchMultiCityLabel", directOnlyLabel: "directOnlyLabel", directTransitLabel: "directTransitLabel", minimizeOnMobile: "minimizeOnMobile", inlineOnDesktop: "inlineOnDesktop", expandedAccordionMobile: "expandedAccordionMobile", defaultSummarySeparator: "defaultSummarySeparator", lastSummarySeparator: "lastSummarySeparator", passengerSelectTitle: "passengerSelectTitle", passengerSelectAdultsLabel: "passengerSelectAdultsLabel", passengerSelectYouthsLabel: "passengerSelectYouthsLabel", passengerSelectYoungAdultsLabel: "passengerSelectYoungAdultsLabel", passengerSelectChildrenLabel: "passengerSelectChildrenLabel", passengerSelectInfantsLabel: "passengerSelectInfantsLabel", groupBookingLabel: "groupBookingLabel", allAirportsLabel: "allAirportsLabel", latestSearchesLabel: "latestSearchesLabel", closestAirportsLabel: "closestAirportsLabel", noAirportsLabel: "noAirportsLabel", selectOriginFirstLabel: "selectOriginFirstLabel", labelOrigin: "labelOrigin", placeholderOrigin: "placeholderOrigin", labelDestination: "labelDestination", geolocationLabel: "geolocationLabel", geolocationBlockedLabel: "geolocationBlockedLabel", placeholderDestination: "placeholderDestination", keepSelection: "keepSelection", editSearchTitle: "editSearchTitle", nasFormGroup: "nasFormGroup", nasFormControlNameOrigin: "nasFormControlNameOrigin", nasFormControlNameDestination: "nasFormControlNameDestination", nasFormControlNameOrigin2: "nasFormControlNameOrigin2", nasFormControlNameDestination2: "nasFormControlNameDestination2", nasFormControlNameTripType: "nasFormControlNameTripType", nasFormControlNameDirectOnly: "nasFormControlNameDirectOnly", nasFormControlNameOutbound: "nasFormControlNameOutbound", nasFormControlNameInbound: "nasFormControlNameInbound", nasFormControlGroupBooking: "nasFormControlGroupBooking", overrideOrigin: "overrideOrigin", enableSuggestions: "enableSuggestions", closestAirports: "closestAirports", minimize: "minimize", airports: "airports", tripType: "tripType", directOnly: "directOnly", groupBookingLimit: "groupBookingLimit", ariaLabelPreviousMonth: "ariaLabelPreviousMonth", ariaLabelNextMonth: "ariaLabelNextMonth", noAvailableFlightsLabel: "noAvailableFlightsLabel", availableFlightsLabel: "availableFlightsLabel", disablePastSelection: "disablePastSelection", outboundLabel: "outboundLabel", inboundLabel: "inboundLabel", availability: "availability", outboundAvailableDates: "outboundAvailableDates", inboundAvailableDates: "inboundAvailableDates", times: "times", dateDisplayFormat: "dateDisplayFormat", timeDisplayFormat: "timeDisplayFormat", locale: "locale", compact: "compact", outboundDisabled: "outboundDisabled", inboundDisabled: "inboundDisabled", enableDatepickers: "enableDatepickers", minimizingLabel: "minimizingLabel", maximizingLabel: "maximizingLabel", directOnlyMobileLabel: "directOnlyMobileLabel", orLabel: "orLabel", passengersTitleLabel: "passengersTitleLabel", invalidDestinationText: "invalidDestinationText", outboundSelectedDate: "outboundSelectedDate", inboundSelectedDate: "inboundSelectedDate", enableDestinationSelect: "enableDestinationSelect", enablePassengersSelect: "enablePassengersSelect", enableTripSwitch: "enableTripSwitch", enableTransitSwitch: "enableTransitSwitch", datePickerComboInlineFlex: "datePickerComboInlineFlex", airportSelectOutboundId: "airportSelectOutboundId", airportSelectInboundId: "airportSelectInboundId", passengerSelectId: "passengerSelectId", datePickerOutboundId: "datePickerOutboundId", datePickerInboundId: "datePickerInboundId", tripTypeId: "tripTypeId", transitTypeId: "transitTypeId", enableMultiCity: "enableMultiCity" }, outputs: { originOpenChange: "originOpenChange", destinationOpenChange: "destinationOpenChange", origin2OpenChange: "origin2OpenChange", destination2OpenChange: "destination2OpenChange", passengerSelectOpenChange: "passengerSelectOpenChange", originChange: "originChange", destinationChange: "destinationChange", origin2Change: "origin2Change", destination2Change: "destination2Change", passengersChange: "passengersChange", tripTypeChange: "tripTypeChange", directOnlyChange: "directOnlyChange", outboundSelectedDateChange: "outboundSelectedDateChange", inboundSelectedDateChange: "inboundSelectedDateChange", outboundOpenChange: "outboundOpenChange", inboundOpenChange: "inboundOpenChange", outboundMonthChange: "outboundMonthChange", inboundMonthChange: "inboundMonthChange", focusOnNextChange: "focusOnNextChange", positionChange: "positionChange" }, viewQueries: [{ propertyName: "passengerSelectDropdown", first: true, predicate: ["passengerSelectDropdown"], descendants: true }, { propertyName: "passengerSelect", first: true, predicate: ["passengerSelect"], descendants: true }, { propertyName: "tripSwitch", first: true, predicate: ["tripSwitch"], descendants: true }, { propertyName: "transitSwitch", first: true, predicate: ["transitSwitch"], descendants: true }, { propertyName: "airportSelect", first: true, predicate: ["airportSelect"], descendants: true }, { propertyName: "airportSelect2", first: true, predicate: ["airportSelect2"], descendants: true }, { propertyName: "datepickerCombo", first: true, predicate: ["datepickerCombo"], descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "tripTypeOneway", first: true, predicate: ["tripTypeOneway"], descendants: true }, { propertyName: "tripTypeRoundTrip", first: true, predicate: ["tripTypeRoundTrip"], descendants: true }, { propertyName: "transitTypeDirectOnly", first: true, predicate: ["transitTypeDirectOnly"], descendants: true }, { propertyName: "transitTypeTransit", first: true, predicate: ["transitTypeTransit"], descendants: true }, { propertyName: "tripTypeSelection", first: true, predicate: ["radio"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<nas-accordion *ngIf=\"deviceHelper?.isMobile() && exists(minimizeOnMobile); else filterTemplate\" simple\n containerOnToggle transparent [expanded]=\"expandedAccordionMobile\" [title]=\"editSearchTitle\"\n (toggleChange)=\"onAccordionToggleChange($event)\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n</nas-accordion>\n<div class=\"container\" *ngIf=\"deviceHelper?.isMobile() && exists(minimizeOnMobile) && displaySummary\">{{getSummary()}}\n</div>\n\n<ng-template #filterTemplate>\n <div #container [nasClass]=\"getContainerClass()\">\n <div [nasClass]=\"getFilterClass('filters', [exists(minimize) && 'minimized', exists(inlineOnDesktop) && 'inline', exists(enableMultiCity) && 'multi-city', tripType == 3 && 'multi-city-mode'])\">\n <form *ngIf=\"enableTripSwitch\" [nasClass]=\"getClass('radio')\" (keydown)=\"onTripSwitchFocusNext($event)\">\n <nas-radio #radio [id]=\"tripTypeInputId + '__round-trip'\" [name]=\"'tripType'\" [value]=\"2\" (checkedChange)=\"onTripTypeChange(2)\" [checked]=\"tripType === 2\">\n {{tripSwitchRoundTripLabel}}\n </nas-radio>\n <nas-radio #radio [id]=\"tripTypeInputId + '__one-way'\" [name]=\"'tripType'\" [value]=\"1\" (checkedChange)=\"onTripTypeChange(1)\" [checked]=\"tripType === 1\">\n {{tripSwitchOneWayLabel}}\n </nas-radio>\n <nas-radio *ngIf=\"exists(enableMultiCity)\" #radio [id]=\"tripTypeInputId + '__multi-city'\" [name]=\"'tripType'\" [value]=\"3\" (checkedChange)=\"onTripTypeChange(3)\" [checked]=\"tripType === 3\">\n {{tripSwitchMultiCityLabel}}\n </nas-radio>\n </form>\n <ng-container *ngIf=\"airports?.length > 0\">\n <nas-airport-select *ngIf=\"airports && airportRelations && (enableDestinationSelect)\" #airportSelect combo\n [ngClass]=\"{ 'lower-z-index': openPassengerSelect || inboundOpen || outboundOpen }\" \n [outboundId]=\"airportSelectOutboundId\" [inboundId]=\"airportSelectInboundId\" [ariaLabelClear]=\"ariaLabelClear\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlNameOrigin]=\"nasFormControlNameOrigin\"\n [nasFormControlNameDestination]=\"nasFormControlNameDestination\" [useSwitch]=\"showSwitch\"\n [nasClass]=\"getAirportSelectClass()\" [airports]=\"airports\" [allowedOriginAiports]=\"allowedOriginAirports\"\n [allowedDestinationAirports]=\"allowedDestinationAirports\" [airportRelations]=\"airportRelations\"\n [latestSearchesOrigin]=\"latestSearchesOrigin\" [latestSearchesDestination]=\"latestSearchesDestination\"\n [displayLatestSearches]=\"displayLatestSearches\" [displayClosestAirports]=\"displayClosestAirports\"\n [originAirportCode]=\"originAirportCode\" [destinationAirportCode]=\"destinationAirportCode\"\n [allAirportsLabel]=\"allAirportsLabel\" [latestSearchesLabel]=\"latestSearchesLabel\"\n [closestAirportsLabel]=\"closestAirportsLabel\" [closestAirports]=\"closestAirports\"\n [selectOriginFirstLabel]=\"selectOriginFirstLabel\" [labelOrigin]=\"labelOrigin\"\n [placeholderOrigin]=\"placeholderOrigin\" [labelDestination]=\"labelDestination\"\n [geolocationLabel]=\"geolocationLabel\" [geolocationBlockedLabel]=\"geolocationBlockedLabel\" \n [noAirportsLabel]=\"noAirportsLabel\" [placeholderDestination]=\"placeholderDestination\" [keepSelection]=\"keepSelection\"\n [invalidDestinationText]=\"invalidDestinationText\" (originChange)=\"setSelectedOriginAirport($event)\"\n (destinationChange)=\"onDestinationChange($event)\" (focusOnNext)=\"onTripSwitchKeyDown($event)\"\n (originOpenChange)=\"onOriginOpen($event)\" (destinationOpenChange)=\"onDestinationOpen($event)\"\n (positionChange)=\"getClosestAirports($event)\"></nas-airport-select>\n <nas-airport-select *ngIf=\"airports && airportRelations && (enableDestinationSelect) && tripType == 3\" #airportSelect2 combo\n [ngClass]=\"{ 'lower-z-index': openPassengerSelect || inboundOpen || outboundOpen }\" \n [outboundId]=\"airportSelectOutboundId\" [inboundId]=\"airportSelectInboundId\" [ariaLabelClear]=\"ariaLabelClear\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlNameOrigin]=\"nasFormControlNameOrigin2\"\n [nasFormControlNameDestination]=\"nasFormControlNameDestination2\" [useSwitch]=\"false\"\n [nasClass]=\"getAirportSelectClass()\" [airports]=\"airports\" [allowedOriginAiports]=\"allowedOriginAirports\"\n [allowedDestinationAirports]=\"allowedDestinationAirports\" [airportRelations]=\"airportRelations\"\n [latestSearchesOrigin]=\"latestSearchesOrigin\" [latestSearchesDestination]=\"latestSearchesDestination\"\n [displayLatestSearches]=\"displayLatestSearches\" [displayClosestAirports]=\"displayClosestAirports\"\n [originAirportCode]=\"origin2AirportCode\" [destinationAirportCode]=\"destination2AirportCode\"\n [allAirportsLabel]=\"allAirportsLabel\" [latestSearchesLabel]=\"latestSearchesLabel\"\n [closestAirportsLabel]=\"closestAirportsLabel\" [closestAirports]=\"closestAirports\"\n [selectOriginFirstLabel]=\"selectOriginFirstLabel\" [labelOrigin]=\"labelOrigin\"\n [placeholderOrigin]=\"placeholderOrigin\" [labelDestination]=\"labelDestination\"\n [geolocationLabel]=\"geolocationLabel\" [geolocationBlockedLabel]=\"geolocationBlockedLabel\" \n [noAirportsLabel]=\"noAirportsLabel\" [placeholderDestination]=\"placeholderDestination\" [keepSelection]=\"keepSelection\"\n [invalidDestinationText]=\"invalidDestinationText\" (originChange)=\"setSelectedOrigin2Airport($event)\"\n (destinationChange)=\"onDestination2Change($event)\" (focusOnNext)=\"onFocusInboundDateKeyDown($event)\"\n (originOpenChange)=\"onOrigin2Open($event)\" (destinationOpenChange)=\"onDestination2Open($event)\"\n (positionChange)=\"getClosestAirports($event)\"></nas-airport-select>\n <nas-airport-select *ngIf=\"airports && (!enableDestinationSelect)\" #airportSelect\n [ngClass]=\"{ 'lower-z-index': openPassengerSelect || inboundOpen || outboundOpen }\"\n [outboundId]=\"airportSelectOutboundId\" [ariaLabelClear]=\"ariaLabelClear\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlNameOrigin]=\"nasFormControlNameOrigin\" [useSwitch]=\"showSwitch\"\n [nasClass]=\"getClass('airport-origin-select')\" [airports]=\"airports\"\n [allowedOriginAiports]=\"allowedOriginAirports\" [airportRelations]=\"airportRelations\"\n [latestSearchesOrigin]=\"latestSearchesOrigin\" [displayLatestSearches]=\"displayLatestSearches\"\n [displayClosestAirports]=\"displayClosestAirports\" [originAirportCode]=\"originAirportCode\"\n [allAirportsLabel]=\"allAirportsLabel\" [latestSearchesLabel]=\"latestSearchesLabel\"\n [closestAirportsLabel]=\"closestAirportsLabel\" [closestAirports]=\"closestAirports\"\n [selectOriginFirstLabel]=\"selectOriginFirstLabel\" [labelOrigin]=\"labelOrigin\"\n [placeholderOrigin]=\"placeholderOrigin\" [geolocationLabel]=\"geolocationLabel\"\n [geolocationBlockedLabel]=\"geolocationBlockedLabel\" [keepSelection]=\"keepSelection\"\n (originChange)=\"setSelectedOriginAirport($event)\" (focusOnNext)=\"onTripSwitchKeyDown($event)\"\n (originOpenChange)=\"onOriginOpen($event)\" (positionChange)=\"getClosestAirports($event)\"></nas-airport-select>\n <nas-suggestions *ngIf=\"(closestAirports || latestSearchesOrigin) && exists(enableSuggestions) && tripType !== 3\"\n [ngClass]=\"{ 'lower-z-index': openPassengerSelect || inboundOpen || outboundOpen }\"\n [nasClass]=\"getFilterClass('suggestions')\" [suggestions]=\"getSuggestions()\" [orLabel]=\"orLabel\"\n (airportSelect)=\"setSelectedOriginAirport($event)\"></nas-suggestions>\n </ng-container>\n <ng-container *ngIf=\"shouldMaximize()\">\n <div *ngIf=\"exists(enableDatepickers)\" [nasClass]=\"getDatePickersClass()\">\n <nas-datepicker-combo #datepickerCombo compact \n [outboundId]=\"datePickerOutboundId\" [inboundId]=\"datePickerInboundId\" [inlineFlex]=\"inlineFlex\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlNameOutbound]=\"nasFormControlNameOutbound\"\n [nasFormControlNameInbound]=\"nasFormControlNameInbound\" [availability]=\"availability\"\n [availableFlightsLabel]=\"availableFlightsLabel\" [dateDisplayFormat]=\"dateDisplayFormat\"\n [disablePastSelection]=\"disablePastSelection\" [locale]=\"locale\"\n [noAvailableFlightsLabel]=\"noAvailableFlightsLabel\" [inboundAvailableDates]=\"inboundAvailableDates\"\n [inboundLabel]=\"inboundLabel\" [noAvailableFlightsLabel]=\"noAvailableFlightsLabel\"\n [outboundAvailableDates]=\"outboundAvailableDates\" [outboundLabel]=\"outboundLabel\"\n [timeDisplayFormat]=\"timeDisplayFormat\" [times]=\"times\" [outboundDisabled]=\"outboundDisabled\"\n [inboundDisabled]=\"inboundDisabled\" [outboundOnly]=\"tripType === 1\" [ignoreOnFocusInboundDate]=\"tripType === 3\"\n [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [ariaLabelPreviousMonth]=\"ariaLabelPreviousMonth\"\n [ariaLabelNextMonth]=\"ariaLabelNextMonth\" (focusOnNextChange)=\"onFocusOnNextChange($event)\"\n (focusOnPreviousChange)=\"onDatepickerFocusOnPrevious($event)\"\n (inboundMonthChange)=\"onInboundMonthChange($event)\" (outboundMonthChange)=\"onOutboundMonthChange($event)\"\n [(outboundOpen)]=\"outboundOpen\" [(inboundOpen)]=\"inboundOpen\"\n [(inboundSelectedDate)]=\"inboundSelectedDate\" [(outboundSelectedDate)]=\"outboundSelectedDate\">\n </nas-datepicker-combo>\n </div>\n <div *ngIf=\"enablePassengersSelect || enableTransitSwitch\" [nasClass]=\"getClass('dropdown-wrapper')\">\n <div *ngIf=\"enablePassengersSelect\" [nasClass]=\"getClass('passengers')\">\n <button #passengerSelectDropdown (click)=\"onPassengerSelectOpen($event)\" [id]=\"passengerSelectId\"\n [nasClass]=\"getClass('passengers-button', openPassengerSelect && 'active')\">\n <div [nasClass]=\"getClass('label')\">\n <p [nasClass]=\"getClass('button-title')\">{{passengersTitleLabel}}</p>\n <p>{{passengerSelectLabel}}</p>\n </div>\n <div [nasClass]=\"getClass('traveler-icon')\"><nas-icon [icon]=\"'my-profile-compact'\"\n [type]=\"'small'\"></nas-icon></div>\n </button>\n <div *ngIf=\"openPassengerSelect\" [nasClass]=\"getClass('passengers-selection')\">\n <nas-passenger-select #passengerSelect [ariaLabelAdd]=\"ariaLabelAdd\" [ariaLabelSubtract]=\"ariaLabelSubtract\"\n [adultsLabel]=\"passengerSelectAdultsLabel\" [youthsLabel]=\"passengerSelectYouthsLabel\"\n [youngAdultsLabel]=\"passengerSelectYoungAdultsLabel\" [childrenLabel]=\"passengerSelectChildrenLabel\"\n [infantsLabel]=\"passengerSelectInfantsLabel\" [maxPaxCount]=\"maxPaxCount\"\n [minAdultCount]=\"minAdultCount\" [title]=\"passengerSelectTitle\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlGroupBooking]=\"nasFormControlGroupBooking\" [groupBookingLabel]=\"groupBookingLabel\"\n [groupBookingLimit]=\"groupBookingLimit\" (focusOnNext)=\"onPassengersSelectFocusOnNext()\"\n (focusOnPrevious)=\"onPassengersSelectFocusOnPrevious()\"\n [(passengers)]=\"passengers\"></nas-passenger-select>\n <nas-backdrop [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n [showBackdrop]=\"openPassengerSelect\" (showBackdropChange)=\"onPassengerBackdropChange($event)\"></nas-backdrop>\n </div>\n </div>\n <div *ngIf=\"enableTransitSwitch\" [nasClass]=\"getClass('transit-type')\">\n <nas-button *ngIf=\"directOnlyLabel && directTransitLabel\" #transitSwitch block light\n [id]=\"transitTypeInputId\" [iconType]=\"'chevron-down'\" [label]=\"getTransitLabel()\"\n [nasClass]=\"getClass('transit', openTransitTypeSelect && 'active')\"\n [ariaLabelBackdrop]=\"ariaLabelBackdrop\" (click)=\"onTransitSwitchOpen($event)\" (focusOnNext)=\"onTransitSwitchFocusNext($event)\">{{ getTransitLabel() }}\n </nas-button>\n <div *ngIf=\"openTransitTypeSelect\" [nasClass]=\"getClass('transit-type-selection')\" (keydown)=\"transitKeyDown($event)\">\n <button [id]=\"transitTypeInputId + '__direct'\" [nasClass]=\"getTravelDetailsClass('action', directOnly && 'active')\" type=\"button\"\n #transitTypeDirectOnly (click)=\"onTransitChange(true)\">{{ directOnlyLabel }}\n </button>\n <button [id]=\"transitTypeInputId + '__transit'\" type=\"button\" #transitTypeTransit\n [nasClass]=\"getTravelDetailsClass('action', !directOnly && 'active')\"\n (click)=\"onTransitChange(false)\">{{ directTransitLabel }}\n </button>\n <nas-backdrop [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n [(showBackdrop)]=\"openTransitTypeSelect\"></nas-backdrop>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n</ng-template>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-filter{position:relative;z-index:6}.nas-filter ::ng-deep .nas-filter__transit .nas-button--light{border:2px solid #15273F;margin-top:8px}.nas-filter ::ng-deep .nas-filter__transit .nas-button--light:hover,.nas-filter ::ng-deep .nas-filter__transit .nas-button--light:focus{background-color:#fff}.nas-filter ::ng-deep .nas-filter__transit .nas-button__content{gap:0;justify-content:space-between;font-weight:400}.nas-filter ::ng-deep .nas-filter__transit--active .nas-button__icon{transform:rotate(180deg)}.nas-filter ::ng-deep .nas-filter__transit--active .nas-button{background-color:#ebf4ff!important;border:2px solid #15273F;z-index:5}.nas-filter__title{margin-top:24px;font-size:32px;line-height:40px}@media (max-width: 639px){.nas-filter__title{font-size:24px;line-height:32px}}.nas-filter__radio{display:flex;gap:24px;padding:12px}.nas-filter__passengers-button{display:flex;justify-content:space-between;background-color:#fff;border:2px solid #15273F;padding:9px 14px;width:100%;height:67px}.nas-filter__passengers-button--active{background-color:#ebf4ff!important;position:relative;z-index:5}.nas-filter__passengers-button:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-filter__label{flex-direction:column;text-align:left;display:flex;justify-content:center}.nas-filter__label p{margin:0}.nas-filter__button-title{font-weight:700;font-size:14px}.nas-filter__traveler-icon{transform:scale(.85);margin-top:12px}.nas-filter__transit-type-selection{z-index:4;position:absolute;width:100%;border-left:2px solid #15273F;border-right:2px solid #15273F;border-bottom:2px solid #15273F}.nas-filter__transit-type-selection button:first-child{border-bottom:2px solid #E9E7E4}.nas-filter__transit-type-selection ::ng-deep .nas-backdrop{z-index:-1}.nas-filter__filters{display:flex;flex-direction:column;gap:8px}.nas-filter__filters .nas-filter__suggestions ::ng-deep .nas-suggestions{margin:0}.nas-filter__filters--md,.nas-filter__filters--lg{display:flex;flex-wrap:wrap;flex-direction:row;gap:8px}.nas-filter__filters--md .nas-filter__airport-select,.nas-filter__filters--lg .nas-filter__airport-select{flex:0 0 100%}.nas-filter__filters--md .nas-filter__airport-select ::ng-deep .nas-airport-select-combo__switcher,.nas-filter__filters--lg .nas-filter__airport-select ::ng-deep .nas-airport-select-combo__switcher{top:20%;left:48%;transform:rotate(90deg)}.nas-filter__filters--md .nas-filter__suggestions,.nas-filter__filters--lg .nas-filter__suggestions{flex:0 0 100%}.nas-filter__filters--md .nas-filter__suggestions ::ng-deep .nas-suggestions,.nas-filter__filters--lg .nas-filter__suggestions ::ng-deep .nas-suggestions{margin:0}.nas-filter__filters--md .nas-filter__dropdown-wrapper,.nas-filter__filters--lg .nas-filter__dropdown-wrapper{display:flex;gap:8px;flex:1 1 49%}.nas-filter__filters--md .nas-filter__passengers,.nas-filter__filters--lg .nas-filter__passengers{margin-top:0;position:relative;flex:1 1 24.5%}.nas-filter__filters--md .nas-filter__passengers .nas-filter__passengers-button,.nas-filter__filters--lg .nas-filter__passengers .nas-filter__passengers-button{height:67px}.nas-filter__filters--md .nas-filter__transit-type,.nas-filter__filters--lg .nas-filter__transit-type{flex:1 1 24.4%;position:relative}.nas-filter__filters--md .nas-filter__transit-type ::ng-deep .nas-button,.nas-filter__filters--lg .nas-filter__transit-type ::ng-deep .nas-button{height:67px;margin:0}.nas-filter__filters--md .nas-filter__date-combo,.nas-filter__filters--lg .nas-filter__date-combo{flex:1 1 49%}.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound .nas-datepicker__date-picker-wrapper .nas-datepicker__controls,.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound .nas-datepicker__date-picker-wrapper .nas-datepicker__controls{border-left:2px solid #6F6F6F}.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound .nas-datepicker__date-picker-wrapper .nas-datepicker__controls--active,.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound .nas-datepicker__date-picker-wrapper .nas-datepicker__controls--active{border-left:2px solid currentColor}.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker .nas-datepicker__date-picker-wrapper,.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker .nas-datepicker--compact,.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker .nas-datepicker__date-picker-wrapper,.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker .nas-datepicker--compact{position:relative}.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound,.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound{margin-left:8px}.nas-filter__filters--md .nas-filter__radio,.nas-filter__filters--lg .nas-filter__radio{flex:0 0 100%;padding:9px 0}.nas-filter__filters--md ::ng-deep .nas-airport-select-combo,.nas-filter__filters--lg ::ng-deep .nas-airport-select-combo{flex-direction:row}.nas-filter__filters--md ::ng-deep .nas-airport-select-combo__switcher,.nas-filter__filters--lg ::ng-deep .nas-airport-select-combo__switcher{top:20%;left:46.5%;transform:rotate(90deg)}.nas-filter__filters--md .nas-filter__passengers ::ng-deep .nas-passenger-select__list{width:100%;min-width:250px}.nas-filter__filters--lg.nas-filter__filters--inline .nas-filter__airport-select{order:0;flex:1}.nas-filter__filters--lg.nas-filter__filters--inline .nas-filter__airport-select ::ng-deep .nas-airport-select-combo__switcher{left:46%}.nas-filter__filters--lg.nas-filter__filters--inline .nas-filter__date-combo,.nas-filter__filters--lg.nas-filter__filters--inline .nas-filter__dropdown-wrapper{order:0;flex:1}.nas-filter__filters.nas-filter__filters--multi-city{display:flex;flex-wrap:wrap;flex-direction:column;gap:8px}.nas-filter__filters.nas-filter__filters--multi-city .nas-filter__airport-select{order:1}.nas-filter__filters.nas-filter__filters--multi-city .nas-filter__date-combo,.nas-filter__filters.nas-filter__filters--multi-city .nas-filter__dropdown-wrapper,.nas-filter__filters.nas-filter__filters--multi-city .nas-filter__suggestions{order:2}.nas-filter__filters.nas-filter__filters--multi-city-mode{display:grid;grid-template-columns:1fr;grid-template-rows:auto}.nas-filter__filters.nas-filter__filters--multi-city-mode .nas-filter__airport-select:nth-of-type(1){grid-row:2}.nas-filter__filters.nas-filter__filters--multi-city-mode .nas-filter__airport-select:nth-of-type(2){grid-row:4}.nas-filter__filters.nas-filter__filters--multi-city-mode .nas-filter__date-combo{display:contents}.nas-filter__filters.nas-filter__filters--multi-city-mode .nas-filter__date-combo ::ng-deep .nas-datepicker{position:relative}.nas-filter__filters.nas-filter__filters--multi-city-mode .nas-filter__date-combo ::ng-deep nas-datepicker-combo{display:contents}.nas-filter__filters.nas-filter__filters--multi-city-mode .nas-filter__date-combo ::ng-deep .nas-datepicker-combo{display:contents}.nas-filter__filters.nas-filter__filters--multi-city-mode .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound .nas-datepicker__date-picker-wrapper .nas-datepicker__controls{border-left:2px solid currentColor}.nas-filter__filters.nas-filter__filters--multi-city-mode .nas-filter__date-combo ::ng-deep .nas-datepicker:after{content:\"\";display:block;height:2px;width:100%;background-color:#e9e7e4;margin:16px 0 9px}.nas-filter__filters.nas-filter__filters--multi-city-mode .nas-filter__passengers{margin-top:0}.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--md,.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--lg{grid-template-columns:2fr 1fr;grid-template-rows:auto auto}.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--md .nas-filter__radio,.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--lg .nas-filter__radio{grid-row:1}.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--md .nas-filter__airport-select:nth-of-type(1),.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--lg .nas-filter__airport-select:nth-of-type(1){grid-column:1;grid-row:2}.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--md .nas-filter__airport-select:nth-of-type(2),.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--lg .nas-filter__airport-select:nth-of-type(2){grid-column:1;grid-row:3}.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--md .nas-filter__date-combo,.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--lg .nas-filter__date-combo{grid-column:2;grid-row:2/span 2;display:grid}.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo,.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo{display:flex;flex-direction:column;gap:8px}.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound,.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound{margin-left:0}.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker:after,.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker:after{content:unset;margin:0}.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--md .nas-filter__dropdown-wrapper,.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--lg .nas-filter__dropdown-wrapper{grid-row:4;grid-column:1/-1}.nas-filter__filters.nas-filter__filters--md,.nas-filter__filters.nas-filter__filters--lg{flex-direction:row}.nas-filter__suggestions{flex-basis:100%;position:relative}.nas-filter__airport-select{order:0;flex:0 0 100%;position:relative}.nas-filter__toggler{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:400;font-size:18px;line-height:24px;color:#15273f;margin-top:6px;z-index:1}.nas-filter__toggler .nas-filter__toggle-action{cursor:pointer;margin-top:2px;float:right}.nas-filter__toggler .nas-filter__direct-only{display:inline-block}.travel-details{position:relative;margin:0;z-index:1;display:flex;flex-direction:column}.travel-details__list{margin-top:12px}.travel-details__list-item{display:flex;align-items:center;justify-content:space-between;padding:6px 0 0}.travel-details__list-item:not(:last-child){padding:6px 0 9px;border-bottom:2px solid #E9E7E4}.travel-details__label{flex-grow:2;margin:0 6px 0 0}.travel-details__title{font-size:18px;line-height:24px;display:block;min-width:124px}.travel-details__title--small{font-size:16px;line-height:24px;margin:0}.travel-details__action{padding:12px;width:100%;background-color:#fff;font-weight:700}.travel-details__action:hover,.travel-details__action:focus{background-color:#f1f1f1}.travel-details__action--border{border-bottom:2px #E9E7E4}.travel-details__action:focus{outline:none;z-index:1}.travel-details__icon{margin-bottom:9px}.travel-details__dropdown{margin-right:0}.travel-details__dropdown:after{content:\"\";position:absolute;bottom:-3px;left:0;width:100%;border-bottom:3px solid #E9E7E4}.travel-details__dropdown--trip-type{order:1;flex:1;margin-right:3px;margin-bottom:3px}.travel-details__dropdown--transit-type{order:2;flex:1;margin-bottom:3px}.travel-details__dropdown--passengers{order:3;flex:1 0 100%;margin-bottom:3px}.travel-details__transit-icon{position:relative;display:flex;justify-content:center;width:calc(100% - 48px);margin:12px auto;height:24px;background-color:inherit}.travel-details__transit-icon:before{content:\"\";position:absolute;height:2px;left:0;width:100%;top:calc(50% - 1px);background-color:currentColor}.travel-details__transit-icon:after{content:\"\";position:absolute;width:10px;height:10px;right:0;top:calc(50% - 5px);border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}.travel-details__transit-icon-stop{position:relative;top:calc(50% - 5px);width:10px;height:10px;border:2px solid currentColor;border-radius:50%;background-color:inherit}@media (min-width: 1000px){.travel-details--no-border:after{border-bottom:none}}::ng-deep .nas-filter__filters .nas-passenger-select__title{padding:8px 16px 0}::ng-deep .nas-filter__filters .nas-passenger-select__list{position:absolute!important;width:100%;z-index:2}::ng-deep .nas-filter__filters .nas-passenger-select__list-item{padding:8px 16px!important}::ng-deep .nas-filter__filters .nas-radio{margin:0!important}::ng-deep .nas-filter__filters .travel-details--no-border:after{display:none}::ng-deep .nas-filter__filters .nas-filter__date-combo .nas-datepicker__date-picker-wrapper{border-bottom:none!important;position:unset}::ng-deep .nas-filter__filters .nas-filter__date-combo .nas-datepicker--compact{position:unset;margin-bottom:0}::ng-deep .nas-filter__filters .nas-filter__date-combo--side-by-side .nas-datepicker-combo__separator{display:block;border-bottom:none!important}::ng-deep .nas-filter__filters .nas-airport-select__input-line{border-top:none!important}::ng-deep .nas-filter__filters .nas-airport-select-combo__separator{border-bottom:none!important}::ng-deep .nas-filter__filters .nas-dropdown__toggle{height:64px!important}::ng-deep .nas-filter__filters .nas-datepicker-combo__separator{display:none}::ng-deep .nas-filter__rotate{transform:rotate(180deg)}::ng-deep .nas-filter__rotate-enter,::ng-deep .nas-filter__rotate-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}::ng-deep .nas-filter__rotate-enter{animation:flip-in .55s ease both}::ng-deep .nas-filter__rotate-leave-active{animation:flip-out .2s ease-out both}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select__input-line{border-top:none}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select-combo__separator{border-top:none}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select__results-wrapper{margin-top:0}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select__results{top:-3px}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select__icon{bottom:18px}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select:after{display:none}::ng-deep .nas-filter__airport-select .nas-airport-select__input-line{display:none}::ng-deep .nas-filter__airport-origin-select{width:100%;max-width:100%}::ng-deep .nas-filter__airport-origin-select .nas-airport-select:only-child{max-width:100%}@media (min-width: 640px){::ng-deep .nas-filter__airport-origin-select{max-width:360px;flex:auto;margin-right:3px}::ng-deep .nas-filter__airport-origin-select .nas-airport-select:only-child{width:auto;max-width:360px}}::ng-deep .nas-filter__origin-combined{border-bottom:3px solid #E9E7E4;order:3;flex:0 0 100%;display:flex;flex-wrap:wrap}@media (min-width: 1000px){::ng-deep .nas-filter__origin-combined{display:flex;flex:none}::ng-deep .nas-filter__origin-combined .nas-dropdown__toggle nas-icon{float:none!important}}::ng-deep .nas-filter__backdrop{display:block;position:fixed;z-index:2;top:0;left:0;width:100%;height:100%;color:transparent;background-color:#0b14202b;animation:passenger-backdrop .7s ease-out both}::ng-deep .nas-filter__passengers-selection{position:absolute;z-index:4;width:100%}::ng-deep .nas-filter__passengers-selection ::ng-deep .nas-backdrop{z-index:-1}@keyframes passenger-backdrop{0%{opacity:0}}::ng-deep .lower-z-index{z-index:1!important;position:relative}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: AirportSelectComponent, selector: "nas-airport-select", inputs: ["outboundId", "inboundId", "airports", "airportRelations", "latestSearchesOrigin", "latestSearchesDestination", "closestAirports", "allowedOriginAiports", "allowedDestinationAirports", "displayLatestSearches", "displayClosestAirports", "combo", "useSwitch", "allAirportsLabel", "latestSearchesLabel", "closestAirportsLabel", "geolocationLabel", "geolocationBlockedLabel", "selectOriginFirstLabel", "noAirportsLabel", "invalidDestinationText", "labelOrigin", "placeholderOrigin", "labelDestination", "placeholderDestination", "labelOutside", "keepSelection", "nasFormControlNameOrigin", "nasFormControlNameDestination", "nasFormGroup", "originAirportCode", "destinationAirportCode", "ariaLabelClear", "ariaLabelBackdrop"], outputs: ["originChange", "originOpenChange", "destinationChange", "destinationOpenChange", "focusOnNext", "positionChange"] }, { kind: "component", type: PassengerSelectComponent, selector: "nas-passenger-select", inputs: ["passengers", "maxPaxCount", "minAdultCount", "groupBookingLimit", "title", "adultsLabel", "childrenLabel", "infantsLabel", "youthsLabel", "youngAdultsLabel", "groupBookingLabel", "nasFormGroup", "nasFormControlGroupBooking", "ariaLabelSubtract", "ariaLabelAdd"], outputs: ["passengersChange", "focusOnNext", "focusOnPrevious"] }, { kind: "component", type: AccordionComponent, selector: "nas-accordion", inputs: ["expanded", "title", "badge", "icon", "simple", "spaced", "small", "inverted", "containerOnToggle", "nopadding", "transparent", "approve", "primary", "warning", "badgeInfo", "badgeSuccess", "badgeWarning", "badgeError", "cssClass", "cssStyle"], outputs: ["toggleChange"] }, { kind: "component", type: IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }, { kind: "directive", type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: ButtonComponent, selector: "nas-button", inputs: ["primary", "secondary", "tertiary", "link", "light", "large", "block", "flex", "compact", "right", "spaceless", "href", "trackingvalue", "canContinueOnDisabled", "disabled", "type", "cssClass", "ariaLabel", "cssStyle", "tabindex", "overrideBaseCssClass", "useRouterLink", "id", "target", "icon", "iconLeft", "iconType", "buttonlink"], outputs: ["clickChange", "focusOnNext"] }, { kind: "component", type: SuggestionsComponent, selector: "nas-suggestions", inputs: ["suggestions", "orLabel"], outputs: ["airportSelect"] }, { kind: "component", type: DatepickerComboComponent, selector: "nas-datepicker-combo", inputs: ["outboundId", "inboundId", "ariaLabelBackdrop", "outboundOpen", "inboundOpen", "noAvailableFlightsLabel", "availableFlightsLabel", "disablePastSelection", "outboundDisabled", "inboundDisabled", "outboundOnly", "outboundLabel", "inboundLabel", "timepickerLabel", "availability", "outboundAvailableDates", "inboundAvailableDates", "times", "dateDisplayFormat", "timeDisplayFormat", "locale", "compact", "nasFormGroup", "nasFormControlNameOutbound", "nasFormControlNameInbound", "outboundSelectedDate", "inboundSelectedDate", "disableBackdrop", "outboundSelectedTime", "inboundSelectedTime", "ariaLabelPreviousMonth", "ariaLabelNextMonth", "inboundLowerLimitDateOffset", "inlineFlex", "ignoreOnFocusInboundDate"], outputs: ["outboundSelectedDateChange", "inboundSelectedDateChange", "outboundOpenChange", "inboundOpenChange", "outboundMonthChange", "inboundMonthChange", "focusOnNextChange", "focusOnPreviousChange"] }, { kind: "component", type: RadioComponent, selector: "nas-radio", inputs: ["id", "value", "name", "error", "disabled", "strong", "block", "spaceless", "tabIndex", "required", "aria-label", "aria-describedby", "aria-labelledby", "checked", "nasFormControlName", "nasFormGroup"], outputs: ["checkedChange"] }, { kind: "component", type: BackdropComponent, selector: "nas-backdrop", inputs: ["showBackdrop", "ariaLabelBackdrop"], outputs: ["showBackdropChange"] }] }); }
7277
7403
  }
7278
7404
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterComponent, decorators: [{
7279
7405
  type: Component,
7280
- args: [{ selector: 'nas-filter', template: "<nas-accordion *ngIf=\"deviceHelper?.isMobile() && exists(minimizeOnMobile); else filterTemplate\" simple\n containerOnToggle transparent [expanded]=\"expandedAccordionMobile\" [title]=\"editSearchTitle\"\n (toggleChange)=\"onAccordionToggleChange($event)\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n</nas-accordion>\n<div class=\"container\" *ngIf=\"deviceHelper?.isMobile() && exists(minimizeOnMobile) && displaySummary\">{{getSummary()}}\n</div>\n\n<ng-template #filterTemplate>\n <div #container [nasClass]=\"getContainerClass()\">\n <div [nasClass]=\"getFilterClass('filters', [exists(minimize) && 'minimized', exists(inlineOnDesktop) && 'inline'])\">\n <ng-container *ngIf=\"airports?.length > 0\">\n <nas-airport-select *ngIf=\"airports && airportRelations && (enableDestinationSelect)\" #airportSelect combo\n [ngClass]=\"{ 'lower-z-index': openPassengerSelect || inboundOpen || outboundOpen }\" \n [outboundId]=\"airportSelectOutboundId\" [inboundId]=\"airportSelectInboundId\" [ariaLabelClear]=\"ariaLabelClear\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlNameOrigin]=\"nasFormControlNameOrigin\"\n [nasFormControlNameDestination]=\"nasFormControlNameDestination\" [useSwitch]=\"useSwitch\"\n [nasClass]=\"getAirportSelectClass()\" [airports]=\"airports\" [allowedOriginAiports]=\"allowedOriginAirports\"\n [allowedDestinationAirports]=\"allowedDestinationAirports\" [airportRelations]=\"airportRelations\"\n [latestSearchesOrigin]=\"latestSearchesOrigin\" [latestSearchesDestination]=\"latestSearchesDestination\"\n [displayLatestSearches]=\"displayLatestSearches\" [displayClosestAirports]=\"displayClosestAirports\"\n [originAirportCode]=\"originAirportCode\" [destinationAirportCode]=\"destinationAirportCode\"\n [allAirportsLabel]=\"allAirportsLabel\" [latestSearchesLabel]=\"latestSearchesLabel\"\n [closestAirportsLabel]=\"closestAirportsLabel\" [closestAirports]=\"closestAirports\"\n [selectOriginFirstLabel]=\"selectOriginFirstLabel\" [labelOrigin]=\"labelOrigin\"\n [placeholderOrigin]=\"placeholderOrigin\" [labelDestination]=\"labelDestination\"\n [geolocationLabel]=\"geolocationLabel\" [geolocationBlockedLabel]=\"geolocationBlockedLabel\" \n [noAirportsLabel]=\"noAirportsLabel\" [placeholderDestination]=\"placeholderDestination\" [keepSelection]=\"keepSelection\"\n [invalidDestinationText]=\"invalidDestinationText\" (originChange)=\"setSelectedOriginAirport($event)\"\n (destinationChange)=\"onDestinationChange($event)\" (focusOnNext)=\"onTripSwitchKeyDown($event)\"\n (originOpenChange)=\"onOriginOpen($event)\" (destinationOpenChange)=\"onDestinationOpen($event)\"\n (positionChange)=\"getClosestAirports($event)\"></nas-airport-select>\n <nas-airport-select *ngIf=\"airports && (!enableDestinationSelect)\" #airportSelect\n [ngClass]=\"{ 'lower-z-index': openPassengerSelect || inboundOpen || outboundOpen }\"\n [outboundId]=\"airportSelectOutboundId\" [ariaLabelClear]=\"ariaLabelClear\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlNameOrigin]=\"nasFormControlNameOrigin\" [useSwitch]=\"useSwitch\"\n [nasClass]=\"getClass('airport-origin-select')\" [airports]=\"airports\"\n [allowedOriginAiports]=\"allowedOriginAirports\" [airportRelations]=\"airportRelations\"\n [latestSearchesOrigin]=\"latestSearchesOrigin\" [displayLatestSearches]=\"displayLatestSearches\"\n [displayClosestAirports]=\"displayClosestAirports\" [originAirportCode]=\"originAirportCode\"\n [allAirportsLabel]=\"allAirportsLabel\" [latestSearchesLabel]=\"latestSearchesLabel\"\n [closestAirportsLabel]=\"closestAirportsLabel\" [closestAirports]=\"closestAirports\"\n [selectOriginFirstLabel]=\"selectOriginFirstLabel\" [labelOrigin]=\"labelOrigin\"\n [placeholderOrigin]=\"placeholderOrigin\" [geolocationLabel]=\"geolocationLabel\"\n [geolocationBlockedLabel]=\"geolocationBlockedLabel\" [keepSelection]=\"keepSelection\"\n (originChange)=\"setSelectedOriginAirport($event)\" (focusOnNext)=\"onTripSwitchKeyDown($event)\"\n (originOpenChange)=\"onOriginOpen($event)\" (positionChange)=\"getClosestAirports($event)\"></nas-airport-select>\n <nas-suggestions *ngIf=\"(closestAirports || latestSearchesOrigin) && exists(enableSuggestions)\"\n [ngClass]=\"{ 'lower-z-index': openPassengerSelect || inboundOpen || outboundOpen }\"\n [nasClass]=\"getFilterClass('suggestions', !exists(enableDatepickers) && 'flex-end')\" [suggestions]=\"getSuggestions()\" [orLabel]=\"orLabel\"\n (airportSelect)=\"setSelectedOriginAirport($event)\"></nas-suggestions>\n </ng-container>\n <ng-container *ngIf=\"shouldMaximize()\">\n <form *ngIf=\"enableTripSwitch\" [nasClass]=\"getClass('radio', !exists(enableDatepickers) && 'flex-end')\" (keydown)=\"onTripSwitchFocusNext($event)\">\n <nas-radio #radio [id]=\"tripTypeInputId + '__round-trip'\" [name]=\"'tripType'\" [value]=\"2\" (checkedChange)=\"onTripTypeChange(2)\" [checked]=\"tripType === 2\">\n {{tripSwitchRoundTripLabel}}\n </nas-radio>\n <nas-radio #radio [id]=\"tripTypeInputId + '__one-way'\" [name]=\"'tripType'\" [value]=\"1\" (checkedChange)=\"onTripTypeChange(1)\" [checked]=\"tripType === 1\">\n {{tripSwitchOneWayLabel}}\n </nas-radio>\n </form>\n <div *ngIf=\"exists(enableDatepickers)\" [nasClass]=\"getDatePickersClass()\">\n <nas-datepicker-combo #datepickerCombo compact \n [outboundId]=\"datePickerOutboundId\" [inboundId]=\"datePickerInboundId\" [inlineFlex]=\"inlineFlex\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlNameOutbound]=\"nasFormControlNameOutbound\"\n [nasFormControlNameInbound]=\"nasFormControlNameInbound\" [availability]=\"availability\"\n [availableFlightsLabel]=\"availableFlightsLabel\" [dateDisplayFormat]=\"dateDisplayFormat\"\n [disablePastSelection]=\"disablePastSelection\" [locale]=\"locale\"\n [noAvailableFlightsLabel]=\"noAvailableFlightsLabel\" [inboundAvailableDates]=\"inboundAvailableDates\"\n [inboundLabel]=\"inboundLabel\" [noAvailableFlightsLabel]=\"noAvailableFlightsLabel\"\n [outboundAvailableDates]=\"outboundAvailableDates\" [outboundLabel]=\"outboundLabel\"\n [timeDisplayFormat]=\"timeDisplayFormat\" [times]=\"times\" [outboundDisabled]=\"outboundDisabled\"\n [inboundDisabled]=\"inboundDisabled\" [outboundOnly]=\"tripType === 1\"\n [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [ariaLabelPreviousMonth]=\"ariaLabelPreviousMonth\"\n [ariaLabelNextMonth]=\"ariaLabelNextMonth\" (focusOnNextChange)=\"onFocusOnNextChange($event)\"\n (focusOnPreviousChange)=\"onDatepickerFocusOnPrevious($event)\"\n (inboundMonthChange)=\"onInboundMonthChange($event)\" (outboundMonthChange)=\"onOutboundMonthChange($event)\"\n [(outboundOpen)]=\"outboundOpen\" [(inboundOpen)]=\"inboundOpen\"\n [(inboundSelectedDate)]=\"inboundSelectedDate\" [(outboundSelectedDate)]=\"outboundSelectedDate\">\n </nas-datepicker-combo>\n </div>\n <div *ngIf=\"enablePassengersSelect || enableTransitSwitch\" [nasClass]=\"getClass('dropdown-wrapper')\">\n <div *ngIf=\"enablePassengersSelect\" [nasClass]=\"getClass('passengers')\">\n <button #passengerSelectDropdown (click)=\"onPassengerSelectOpen($event)\" [id]=\"passengerSelectId\"\n [nasClass]=\"getClass('passengers-button', openPassengerSelect && 'active')\">\n <div [nasClass]=\"getClass('label')\">\n <p [nasClass]=\"getClass('button-title')\">{{passengersTitleLabel}}</p>\n <p>{{passengerSelectLabel}}</p>\n </div>\n <div [nasClass]=\"getClass('traveler-icon')\"><nas-icon [icon]=\"'my-profile-compact'\"\n [type]=\"'small'\"></nas-icon></div>\n </button>\n <div *ngIf=\"openPassengerSelect\" [nasClass]=\"getClass('passengers-selection')\">\n <nas-passenger-select #passengerSelect [ariaLabelAdd]=\"ariaLabelAdd\" [ariaLabelSubtract]=\"ariaLabelSubtract\"\n [adultsLabel]=\"passengerSelectAdultsLabel\" [youthsLabel]=\"passengerSelectYouthsLabel\"\n [youngAdultsLabel]=\"passengerSelectYoungAdultsLabel\" [childrenLabel]=\"passengerSelectChildrenLabel\"\n [infantsLabel]=\"passengerSelectInfantsLabel\" [maxPaxCount]=\"maxPaxCount\"\n [minAdultCount]=\"minAdultCount\" [title]=\"passengerSelectTitle\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlGroupBooking]=\"nasFormControlGroupBooking\" [groupBookingLabel]=\"groupBookingLabel\"\n [groupBookingLimit]=\"groupBookingLimit\" (focusOnNext)=\"onPassengersSelectFocusOnNext()\"\n (focusOnPrevious)=\"onPassengersSelectFocusOnPrevious()\"\n [(passengers)]=\"passengers\"></nas-passenger-select>\n <nas-backdrop [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n [showBackdrop]=\"openPassengerSelect\" (showBackdropChange)=\"onPassengerBackdropChange($event)\"></nas-backdrop>\n </div>\n </div>\n <div *ngIf=\"enableTransitSwitch\" [nasClass]=\"getClass('transit-type')\">\n <nas-button *ngIf=\"directOnlyLabel && directTransitLabel\" #transitSwitch block light\n [id]=\"transitTypeInputId\" [iconType]=\"'chevron-down'\" [label]=\"getTransitLabel()\"\n [nasClass]=\"getClass('transit', openTransitTypeSelect && 'active')\"\n [ariaLabelBackdrop]=\"ariaLabelBackdrop\" (click)=\"onTransitSwitchOpen($event)\" (focusOnNext)=\"onTransitSwitchFocusNext($event)\">{{ getTransitLabel() }}\n </nas-button>\n <div *ngIf=\"openTransitTypeSelect\" [nasClass]=\"getClass('transit-type-selection')\" (keydown)=\"transitKeyDown($event)\">\n <button [id]=\"transitTypeInputId + '__direct'\" [nasClass]=\"getTravelDetailsClass('action', directOnly && 'active')\" type=\"button\"\n #transitTypeDirectOnly (click)=\"onTransitChange(true)\">{{ directOnlyLabel }}\n </button>\n <button [id]=\"transitTypeInputId + '__transit'\" type=\"button\" #transitTypeTransit\n [nasClass]=\"getTravelDetailsClass('action', !directOnly && 'active')\"\n (click)=\"onTransitChange(false)\">{{ directTransitLabel }}\n </button>\n <nas-backdrop [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n [(showBackdrop)]=\"openTransitTypeSelect\"></nas-backdrop>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n</ng-template>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-filter{position:relative;z-index:6}.nas-filter ::ng-deep .nas-filter__transit .nas-button--light{border:2px solid #15273F;margin-top:8px}.nas-filter ::ng-deep .nas-filter__transit .nas-button--light:hover,.nas-filter ::ng-deep .nas-filter__transit .nas-button--light:focus{background-color:#fff}.nas-filter ::ng-deep .nas-filter__transit .nas-button__content{gap:0;justify-content:space-between;font-weight:400}.nas-filter ::ng-deep .nas-filter__transit--active .nas-button__icon{transform:rotate(180deg)}.nas-filter ::ng-deep .nas-filter__transit--active .nas-button{background-color:#ebf4ff!important;border:2px solid #15273F;z-index:5}.nas-filter__title{margin-top:24px;font-size:32px;line-height:40px}@media (max-width: 639px){.nas-filter__title{font-size:24px;line-height:32px}}.nas-filter__radio{display:flex;gap:24px;padding:12px}.nas-filter__radio--flex-end{order:4!important}.nas-filter__passengers-button{display:flex;justify-content:space-between;background-color:#fff;border:2px solid #15273F;padding:9px 14px;width:100%;height:67px}.nas-filter__passengers-button--active{background-color:#ebf4ff!important;position:relative;z-index:5}.nas-filter__passengers-button:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-filter__label{flex-direction:column;text-align:left;display:flex;justify-content:center}.nas-filter__label p{margin:0}.nas-filter__button-title{font-weight:700;font-size:14px}.nas-filter__traveler-icon{transform:scale(.85);margin-top:12px}.nas-filter__transit-type-selection{z-index:4;position:absolute;width:100%;border-left:2px solid #15273F;border-right:2px solid #15273F;border-bottom:2px solid #15273F}.nas-filter__transit-type-selection button:first-child{border-bottom:2px solid #E9E7E4}.nas-filter__transit-type-selection ::ng-deep .nas-backdrop{z-index:-1}.nas-filter__passengers{margin-top:8px}.nas-filter__filters:has(.nas-filter__radio--flex-end){display:flex;flex-direction:column}.nas-filter__filters .nas-filter__suggestions ::ng-deep .nas-suggestions{margin:0}.nas-filter__filters--md,.nas-filter__filters--lg{display:flex;flex-wrap:wrap;flex-direction:row;gap:8px}.nas-filter__filters--md .nas-filter__airport-select,.nas-filter__filters--lg .nas-filter__airport-select{flex:0 0 100%}.nas-filter__filters--md .nas-filter__airport-select ::ng-deep .nas-airport-select-combo__switcher,.nas-filter__filters--lg .nas-filter__airport-select ::ng-deep .nas-airport-select-combo__switcher{top:20%;left:48%;transform:rotate(90deg)}.nas-filter__filters--md .nas-filter__suggestions,.nas-filter__filters--lg .nas-filter__suggestions{flex:0 0 100%}.nas-filter__filters--md .nas-filter__suggestions ::ng-deep .nas-suggestions,.nas-filter__filters--lg .nas-filter__suggestions ::ng-deep .nas-suggestions{margin:0}.nas-filter__filters--md .nas-filter__suggestions--flex-end,.nas-filter__filters--lg .nas-filter__suggestions--flex-end{margin-bottom:0}.nas-filter__filters--md .nas-filter__dropdown-wrapper,.nas-filter__filters--lg .nas-filter__dropdown-wrapper{display:flex;gap:8px;flex:1 1 49%}.nas-filter__filters--md .nas-filter__passengers,.nas-filter__filters--lg .nas-filter__passengers{margin-top:0;position:relative;flex:1 1 24.5%}.nas-filter__filters--md .nas-filter__passengers .nas-filter__passengers-button,.nas-filter__filters--lg .nas-filter__passengers .nas-filter__passengers-button{height:67px}.nas-filter__filters--md .nas-filter__transit-type,.nas-filter__filters--lg .nas-filter__transit-type{flex:1 1 24.4%;position:relative}.nas-filter__filters--md .nas-filter__transit-type ::ng-deep .nas-button,.nas-filter__filters--lg .nas-filter__transit-type ::ng-deep .nas-button{height:67px;margin:0}.nas-filter__filters--md .nas-filter__date-combo,.nas-filter__filters--lg .nas-filter__date-combo{flex:1 1 49%}.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound .nas-datepicker__date-picker-wrapper .nas-datepicker__controls,.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound .nas-datepicker__date-picker-wrapper .nas-datepicker__controls{border-left:2px solid #6F6F6F}.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound .nas-datepicker__date-picker-wrapper .nas-datepicker__controls--active,.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound .nas-datepicker__date-picker-wrapper .nas-datepicker__controls--active{border-left:2px solid currentColor}.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker .nas-datepicker__date-picker-wrapper,.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker .nas-datepicker--compact,.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker .nas-datepicker__date-picker-wrapper,.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker .nas-datepicker--compact{position:relative}.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound,.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound{margin-left:8px}.nas-filter__filters--md .nas-filter__radio,.nas-filter__filters--lg .nas-filter__radio{flex:0 0 100%;padding:9px 0}.nas-filter__filters--md:has(.nas-filter__radio--flex-end),.nas-filter__filters--lg:has(.nas-filter__radio--flex-end){display:flex;flex-direction:row}.nas-filter__filters--md ::ng-deep .nas-airport-select-combo,.nas-filter__filters--lg ::ng-deep .nas-airport-select-combo{flex-direction:row}.nas-filter__filters--md ::ng-deep .nas-airport-select-combo__switcher,.nas-filter__filters--lg ::ng-deep .nas-airport-select-combo__switcher{top:20%;left:46.5%;transform:rotate(90deg)}.nas-filter__filters--md .nas-filter__passengers ::ng-deep .nas-passenger-select__list{width:100%;min-width:250px}.nas-filter__filters--lg.nas-filter__filters--inline .nas-filter__airport-select{order:0;flex:1}.nas-filter__filters--lg.nas-filter__filters--inline .nas-filter__airport-select ::ng-deep .nas-airport-select-combo__switcher{left:46%}.nas-filter__filters--lg.nas-filter__filters--inline .nas-filter__date-combo,.nas-filter__filters--lg.nas-filter__filters--inline .nas-filter__dropdown-wrapper{order:0;flex:1}.nas-filter__filters--lg.nas-filter__filters--inline .nas-filter__radio{order:1;flex:1 1 100%}.nas-filter__suggestions{flex-basis:100%;position:relative}.nas-filter__airport-select{order:0;flex:0 0 100%;position:relative}.nas-filter__toggler{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:400;font-size:18px;line-height:24px;color:#15273f;margin-top:6px;z-index:1}.nas-filter__toggler .nas-filter__toggle-action{cursor:pointer;margin-top:2px;float:right}.nas-filter__toggler .nas-filter__direct-only{display:inline-block}.travel-details{position:relative;margin:0;z-index:1;display:flex;flex-direction:column}.travel-details__list{margin-top:12px}.travel-details__list-item{display:flex;align-items:center;justify-content:space-between;padding:6px 0 0}.travel-details__list-item:not(:last-child){padding:6px 0 9px;border-bottom:2px solid #E9E7E4}.travel-details__label{flex-grow:2;margin:0 6px 0 0}.travel-details__title{font-size:18px;line-height:24px;display:block;min-width:124px}.travel-details__title--small{font-size:16px;line-height:24px;margin:0}.travel-details__action{padding:12px;width:100%;background-color:#fff;font-weight:700}.travel-details__action:hover,.travel-details__action:focus{background-color:#f1f1f1}.travel-details__action--border{border-bottom:2px #E9E7E4}.travel-details__action:focus{outline:none;z-index:1}.travel-details__icon{margin-bottom:9px}.travel-details__dropdown{margin-right:0}.travel-details__dropdown:after{content:\"\";position:absolute;bottom:-3px;left:0;width:100%;border-bottom:3px solid #E9E7E4}.travel-details__dropdown--trip-type{order:1;flex:1;margin-right:3px;margin-bottom:3px}.travel-details__dropdown--transit-type{order:2;flex:1;margin-bottom:3px}.travel-details__dropdown--passengers{order:3;flex:1 0 100%;margin-bottom:3px}.travel-details__transit-icon{position:relative;display:flex;justify-content:center;width:calc(100% - 48px);margin:12px auto;height:24px;background-color:inherit}.travel-details__transit-icon:before{content:\"\";position:absolute;height:2px;left:0;width:100%;top:calc(50% - 1px);background-color:currentColor}.travel-details__transit-icon:after{content:\"\";position:absolute;width:10px;height:10px;right:0;top:calc(50% - 5px);border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}.travel-details__transit-icon-stop{position:relative;top:calc(50% - 5px);width:10px;height:10px;border:2px solid currentColor;border-radius:50%;background-color:inherit}@media (min-width: 1000px){.travel-details--no-border:after{border-bottom:none}}::ng-deep .nas-filter__filters .nas-passenger-select__title{padding:8px 16px 0}::ng-deep .nas-filter__filters .nas-passenger-select__list{position:absolute!important;width:100%}::ng-deep .nas-filter__filters .nas-passenger-select__list-item{padding:8px 16px!important}::ng-deep .nas-filter__filters .nas-radio{margin:0!important}::ng-deep .nas-filter__filters .travel-details--no-border:after{display:none}::ng-deep .nas-filter__filters .nas-filter__date-combo .nas-datepicker__date-picker-wrapper{border-bottom:none!important;position:unset}::ng-deep .nas-filter__filters .nas-filter__date-combo .nas-datepicker--compact{position:unset;margin-bottom:0}::ng-deep .nas-filter__filters .nas-filter__date-combo--side-by-side .nas-datepicker-combo__separator{display:block;border-bottom:none!important}::ng-deep .nas-filter__filters .nas-airport-select__input-line{border-top:none!important}::ng-deep .nas-filter__filters .nas-airport-select-combo__separator{border-bottom:none!important}::ng-deep .nas-filter__filters .nas-dropdown__toggle{height:64px!important}::ng-deep .nas-filter__filters .nas-datepicker-combo__separator{display:none}::ng-deep .nas-filter__rotate{transform:rotate(180deg)}::ng-deep .nas-filter__rotate-enter,::ng-deep .nas-filter__rotate-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}::ng-deep .nas-filter__rotate-enter{animation:flip-in .55s ease both}::ng-deep .nas-filter__rotate-leave-active{animation:flip-out .2s ease-out both}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select__input-line{border-top:none}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select-combo__separator{border-top:none}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select__results-wrapper{margin-top:0}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select__results{top:-3px}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select__icon{bottom:18px}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select:after{display:none}::ng-deep .nas-filter__airport-select .nas-airport-select__input-line{display:none}::ng-deep .nas-filter__airport-origin-select{width:100%;max-width:100%}::ng-deep .nas-filter__airport-origin-select .nas-airport-select:only-child{max-width:100%}@media (min-width: 640px){::ng-deep .nas-filter__airport-origin-select{max-width:360px;flex:auto;margin-right:3px}::ng-deep .nas-filter__airport-origin-select .nas-airport-select:only-child{width:auto;max-width:360px}}::ng-deep .nas-filter__origin-combined{border-bottom:3px solid #E9E7E4;order:3;flex:0 0 100%;display:flex;flex-wrap:wrap}@media (min-width: 1000px){::ng-deep .nas-filter__origin-combined{display:flex;flex:none}::ng-deep .nas-filter__origin-combined .nas-dropdown__toggle nas-icon{float:none!important}}::ng-deep .nas-filter__backdrop{display:block;position:fixed;z-index:2;top:0;left:0;width:100%;height:100%;color:transparent;background-color:#0b14202b;animation:passenger-backdrop .7s ease-out both}::ng-deep .nas-filter__passengers-selection{position:absolute;z-index:4;width:100%}::ng-deep .nas-filter__passengers-selection ::ng-deep .nas-backdrop{z-index:-1}@keyframes passenger-backdrop{0%{opacity:0}}::ng-deep .lower-z-index{z-index:1!important;position:relative}\n"] }]
7406
+ args: [{ selector: 'nas-filter', template: "<nas-accordion *ngIf=\"deviceHelper?.isMobile() && exists(minimizeOnMobile); else filterTemplate\" simple\n containerOnToggle transparent [expanded]=\"expandedAccordionMobile\" [title]=\"editSearchTitle\"\n (toggleChange)=\"onAccordionToggleChange($event)\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n</nas-accordion>\n<div class=\"container\" *ngIf=\"deviceHelper?.isMobile() && exists(minimizeOnMobile) && displaySummary\">{{getSummary()}}\n</div>\n\n<ng-template #filterTemplate>\n <div #container [nasClass]=\"getContainerClass()\">\n <div [nasClass]=\"getFilterClass('filters', [exists(minimize) && 'minimized', exists(inlineOnDesktop) && 'inline', exists(enableMultiCity) && 'multi-city', tripType == 3 && 'multi-city-mode'])\">\n <form *ngIf=\"enableTripSwitch\" [nasClass]=\"getClass('radio')\" (keydown)=\"onTripSwitchFocusNext($event)\">\n <nas-radio #radio [id]=\"tripTypeInputId + '__round-trip'\" [name]=\"'tripType'\" [value]=\"2\" (checkedChange)=\"onTripTypeChange(2)\" [checked]=\"tripType === 2\">\n {{tripSwitchRoundTripLabel}}\n </nas-radio>\n <nas-radio #radio [id]=\"tripTypeInputId + '__one-way'\" [name]=\"'tripType'\" [value]=\"1\" (checkedChange)=\"onTripTypeChange(1)\" [checked]=\"tripType === 1\">\n {{tripSwitchOneWayLabel}}\n </nas-radio>\n <nas-radio *ngIf=\"exists(enableMultiCity)\" #radio [id]=\"tripTypeInputId + '__multi-city'\" [name]=\"'tripType'\" [value]=\"3\" (checkedChange)=\"onTripTypeChange(3)\" [checked]=\"tripType === 3\">\n {{tripSwitchMultiCityLabel}}\n </nas-radio>\n </form>\n <ng-container *ngIf=\"airports?.length > 0\">\n <nas-airport-select *ngIf=\"airports && airportRelations && (enableDestinationSelect)\" #airportSelect combo\n [ngClass]=\"{ 'lower-z-index': openPassengerSelect || inboundOpen || outboundOpen }\" \n [outboundId]=\"airportSelectOutboundId\" [inboundId]=\"airportSelectInboundId\" [ariaLabelClear]=\"ariaLabelClear\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlNameOrigin]=\"nasFormControlNameOrigin\"\n [nasFormControlNameDestination]=\"nasFormControlNameDestination\" [useSwitch]=\"showSwitch\"\n [nasClass]=\"getAirportSelectClass()\" [airports]=\"airports\" [allowedOriginAiports]=\"allowedOriginAirports\"\n [allowedDestinationAirports]=\"allowedDestinationAirports\" [airportRelations]=\"airportRelations\"\n [latestSearchesOrigin]=\"latestSearchesOrigin\" [latestSearchesDestination]=\"latestSearchesDestination\"\n [displayLatestSearches]=\"displayLatestSearches\" [displayClosestAirports]=\"displayClosestAirports\"\n [originAirportCode]=\"originAirportCode\" [destinationAirportCode]=\"destinationAirportCode\"\n [allAirportsLabel]=\"allAirportsLabel\" [latestSearchesLabel]=\"latestSearchesLabel\"\n [closestAirportsLabel]=\"closestAirportsLabel\" [closestAirports]=\"closestAirports\"\n [selectOriginFirstLabel]=\"selectOriginFirstLabel\" [labelOrigin]=\"labelOrigin\"\n [placeholderOrigin]=\"placeholderOrigin\" [labelDestination]=\"labelDestination\"\n [geolocationLabel]=\"geolocationLabel\" [geolocationBlockedLabel]=\"geolocationBlockedLabel\" \n [noAirportsLabel]=\"noAirportsLabel\" [placeholderDestination]=\"placeholderDestination\" [keepSelection]=\"keepSelection\"\n [invalidDestinationText]=\"invalidDestinationText\" (originChange)=\"setSelectedOriginAirport($event)\"\n (destinationChange)=\"onDestinationChange($event)\" (focusOnNext)=\"onTripSwitchKeyDown($event)\"\n (originOpenChange)=\"onOriginOpen($event)\" (destinationOpenChange)=\"onDestinationOpen($event)\"\n (positionChange)=\"getClosestAirports($event)\"></nas-airport-select>\n <nas-airport-select *ngIf=\"airports && airportRelations && (enableDestinationSelect) && tripType == 3\" #airportSelect2 combo\n [ngClass]=\"{ 'lower-z-index': openPassengerSelect || inboundOpen || outboundOpen }\" \n [outboundId]=\"airportSelectOutboundId\" [inboundId]=\"airportSelectInboundId\" [ariaLabelClear]=\"ariaLabelClear\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlNameOrigin]=\"nasFormControlNameOrigin2\"\n [nasFormControlNameDestination]=\"nasFormControlNameDestination2\" [useSwitch]=\"false\"\n [nasClass]=\"getAirportSelectClass()\" [airports]=\"airports\" [allowedOriginAiports]=\"allowedOriginAirports\"\n [allowedDestinationAirports]=\"allowedDestinationAirports\" [airportRelations]=\"airportRelations\"\n [latestSearchesOrigin]=\"latestSearchesOrigin\" [latestSearchesDestination]=\"latestSearchesDestination\"\n [displayLatestSearches]=\"displayLatestSearches\" [displayClosestAirports]=\"displayClosestAirports\"\n [originAirportCode]=\"origin2AirportCode\" [destinationAirportCode]=\"destination2AirportCode\"\n [allAirportsLabel]=\"allAirportsLabel\" [latestSearchesLabel]=\"latestSearchesLabel\"\n [closestAirportsLabel]=\"closestAirportsLabel\" [closestAirports]=\"closestAirports\"\n [selectOriginFirstLabel]=\"selectOriginFirstLabel\" [labelOrigin]=\"labelOrigin\"\n [placeholderOrigin]=\"placeholderOrigin\" [labelDestination]=\"labelDestination\"\n [geolocationLabel]=\"geolocationLabel\" [geolocationBlockedLabel]=\"geolocationBlockedLabel\" \n [noAirportsLabel]=\"noAirportsLabel\" [placeholderDestination]=\"placeholderDestination\" [keepSelection]=\"keepSelection\"\n [invalidDestinationText]=\"invalidDestinationText\" (originChange)=\"setSelectedOrigin2Airport($event)\"\n (destinationChange)=\"onDestination2Change($event)\" (focusOnNext)=\"onFocusInboundDateKeyDown($event)\"\n (originOpenChange)=\"onOrigin2Open($event)\" (destinationOpenChange)=\"onDestination2Open($event)\"\n (positionChange)=\"getClosestAirports($event)\"></nas-airport-select>\n <nas-airport-select *ngIf=\"airports && (!enableDestinationSelect)\" #airportSelect\n [ngClass]=\"{ 'lower-z-index': openPassengerSelect || inboundOpen || outboundOpen }\"\n [outboundId]=\"airportSelectOutboundId\" [ariaLabelClear]=\"ariaLabelClear\" [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlNameOrigin]=\"nasFormControlNameOrigin\" [useSwitch]=\"showSwitch\"\n [nasClass]=\"getClass('airport-origin-select')\" [airports]=\"airports\"\n [allowedOriginAiports]=\"allowedOriginAirports\" [airportRelations]=\"airportRelations\"\n [latestSearchesOrigin]=\"latestSearchesOrigin\" [displayLatestSearches]=\"displayLatestSearches\"\n [displayClosestAirports]=\"displayClosestAirports\" [originAirportCode]=\"originAirportCode\"\n [allAirportsLabel]=\"allAirportsLabel\" [latestSearchesLabel]=\"latestSearchesLabel\"\n [closestAirportsLabel]=\"closestAirportsLabel\" [closestAirports]=\"closestAirports\"\n [selectOriginFirstLabel]=\"selectOriginFirstLabel\" [labelOrigin]=\"labelOrigin\"\n [placeholderOrigin]=\"placeholderOrigin\" [geolocationLabel]=\"geolocationLabel\"\n [geolocationBlockedLabel]=\"geolocationBlockedLabel\" [keepSelection]=\"keepSelection\"\n (originChange)=\"setSelectedOriginAirport($event)\" (focusOnNext)=\"onTripSwitchKeyDown($event)\"\n (originOpenChange)=\"onOriginOpen($event)\" (positionChange)=\"getClosestAirports($event)\"></nas-airport-select>\n <nas-suggestions *ngIf=\"(closestAirports || latestSearchesOrigin) && exists(enableSuggestions) && tripType !== 3\"\n [ngClass]=\"{ 'lower-z-index': openPassengerSelect || inboundOpen || outboundOpen }\"\n [nasClass]=\"getFilterClass('suggestions')\" [suggestions]=\"getSuggestions()\" [orLabel]=\"orLabel\"\n (airportSelect)=\"setSelectedOriginAirport($event)\"></nas-suggestions>\n </ng-container>\n <ng-container *ngIf=\"shouldMaximize()\">\n <div *ngIf=\"exists(enableDatepickers)\" [nasClass]=\"getDatePickersClass()\">\n <nas-datepicker-combo #datepickerCombo compact \n [outboundId]=\"datePickerOutboundId\" [inboundId]=\"datePickerInboundId\" [inlineFlex]=\"inlineFlex\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlNameOutbound]=\"nasFormControlNameOutbound\"\n [nasFormControlNameInbound]=\"nasFormControlNameInbound\" [availability]=\"availability\"\n [availableFlightsLabel]=\"availableFlightsLabel\" [dateDisplayFormat]=\"dateDisplayFormat\"\n [disablePastSelection]=\"disablePastSelection\" [locale]=\"locale\"\n [noAvailableFlightsLabel]=\"noAvailableFlightsLabel\" [inboundAvailableDates]=\"inboundAvailableDates\"\n [inboundLabel]=\"inboundLabel\" [noAvailableFlightsLabel]=\"noAvailableFlightsLabel\"\n [outboundAvailableDates]=\"outboundAvailableDates\" [outboundLabel]=\"outboundLabel\"\n [timeDisplayFormat]=\"timeDisplayFormat\" [times]=\"times\" [outboundDisabled]=\"outboundDisabled\"\n [inboundDisabled]=\"inboundDisabled\" [outboundOnly]=\"tripType === 1\" [ignoreOnFocusInboundDate]=\"tripType === 3\"\n [ariaLabelBackdrop]=\"ariaLabelBackdrop\" [ariaLabelPreviousMonth]=\"ariaLabelPreviousMonth\"\n [ariaLabelNextMonth]=\"ariaLabelNextMonth\" (focusOnNextChange)=\"onFocusOnNextChange($event)\"\n (focusOnPreviousChange)=\"onDatepickerFocusOnPrevious($event)\"\n (inboundMonthChange)=\"onInboundMonthChange($event)\" (outboundMonthChange)=\"onOutboundMonthChange($event)\"\n [(outboundOpen)]=\"outboundOpen\" [(inboundOpen)]=\"inboundOpen\"\n [(inboundSelectedDate)]=\"inboundSelectedDate\" [(outboundSelectedDate)]=\"outboundSelectedDate\">\n </nas-datepicker-combo>\n </div>\n <div *ngIf=\"enablePassengersSelect || enableTransitSwitch\" [nasClass]=\"getClass('dropdown-wrapper')\">\n <div *ngIf=\"enablePassengersSelect\" [nasClass]=\"getClass('passengers')\">\n <button #passengerSelectDropdown (click)=\"onPassengerSelectOpen($event)\" [id]=\"passengerSelectId\"\n [nasClass]=\"getClass('passengers-button', openPassengerSelect && 'active')\">\n <div [nasClass]=\"getClass('label')\">\n <p [nasClass]=\"getClass('button-title')\">{{passengersTitleLabel}}</p>\n <p>{{passengerSelectLabel}}</p>\n </div>\n <div [nasClass]=\"getClass('traveler-icon')\"><nas-icon [icon]=\"'my-profile-compact'\"\n [type]=\"'small'\"></nas-icon></div>\n </button>\n <div *ngIf=\"openPassengerSelect\" [nasClass]=\"getClass('passengers-selection')\">\n <nas-passenger-select #passengerSelect [ariaLabelAdd]=\"ariaLabelAdd\" [ariaLabelSubtract]=\"ariaLabelSubtract\"\n [adultsLabel]=\"passengerSelectAdultsLabel\" [youthsLabel]=\"passengerSelectYouthsLabel\"\n [youngAdultsLabel]=\"passengerSelectYoungAdultsLabel\" [childrenLabel]=\"passengerSelectChildrenLabel\"\n [infantsLabel]=\"passengerSelectInfantsLabel\" [maxPaxCount]=\"maxPaxCount\"\n [minAdultCount]=\"minAdultCount\" [title]=\"passengerSelectTitle\" [nasFormGroup]=\"nasFormGroup\"\n [nasFormControlGroupBooking]=\"nasFormControlGroupBooking\" [groupBookingLabel]=\"groupBookingLabel\"\n [groupBookingLimit]=\"groupBookingLimit\" (focusOnNext)=\"onPassengersSelectFocusOnNext()\"\n (focusOnPrevious)=\"onPassengersSelectFocusOnPrevious()\"\n [(passengers)]=\"passengers\"></nas-passenger-select>\n <nas-backdrop [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n [showBackdrop]=\"openPassengerSelect\" (showBackdropChange)=\"onPassengerBackdropChange($event)\"></nas-backdrop>\n </div>\n </div>\n <div *ngIf=\"enableTransitSwitch\" [nasClass]=\"getClass('transit-type')\">\n <nas-button *ngIf=\"directOnlyLabel && directTransitLabel\" #transitSwitch block light\n [id]=\"transitTypeInputId\" [iconType]=\"'chevron-down'\" [label]=\"getTransitLabel()\"\n [nasClass]=\"getClass('transit', openTransitTypeSelect && 'active')\"\n [ariaLabelBackdrop]=\"ariaLabelBackdrop\" (click)=\"onTransitSwitchOpen($event)\" (focusOnNext)=\"onTransitSwitchFocusNext($event)\">{{ getTransitLabel() }}\n </nas-button>\n <div *ngIf=\"openTransitTypeSelect\" [nasClass]=\"getClass('transit-type-selection')\" (keydown)=\"transitKeyDown($event)\">\n <button [id]=\"transitTypeInputId + '__direct'\" [nasClass]=\"getTravelDetailsClass('action', directOnly && 'active')\" type=\"button\"\n #transitTypeDirectOnly (click)=\"onTransitChange(true)\">{{ directOnlyLabel }}\n </button>\n <button [id]=\"transitTypeInputId + '__transit'\" type=\"button\" #transitTypeTransit\n [nasClass]=\"getTravelDetailsClass('action', !directOnly && 'active')\"\n (click)=\"onTransitChange(false)\">{{ directTransitLabel }}\n </button>\n <nas-backdrop [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n [(showBackdrop)]=\"openTransitTypeSelect\"></nas-backdrop>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n</ng-template>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-filter{position:relative;z-index:6}.nas-filter ::ng-deep .nas-filter__transit .nas-button--light{border:2px solid #15273F;margin-top:8px}.nas-filter ::ng-deep .nas-filter__transit .nas-button--light:hover,.nas-filter ::ng-deep .nas-filter__transit .nas-button--light:focus{background-color:#fff}.nas-filter ::ng-deep .nas-filter__transit .nas-button__content{gap:0;justify-content:space-between;font-weight:400}.nas-filter ::ng-deep .nas-filter__transit--active .nas-button__icon{transform:rotate(180deg)}.nas-filter ::ng-deep .nas-filter__transit--active .nas-button{background-color:#ebf4ff!important;border:2px solid #15273F;z-index:5}.nas-filter__title{margin-top:24px;font-size:32px;line-height:40px}@media (max-width: 639px){.nas-filter__title{font-size:24px;line-height:32px}}.nas-filter__radio{display:flex;gap:24px;padding:12px}.nas-filter__passengers-button{display:flex;justify-content:space-between;background-color:#fff;border:2px solid #15273F;padding:9px 14px;width:100%;height:67px}.nas-filter__passengers-button--active{background-color:#ebf4ff!important;position:relative;z-index:5}.nas-filter__passengers-button:focus-visible{outline:2px solid #0978E8;outline-offset:2px}.nas-filter__label{flex-direction:column;text-align:left;display:flex;justify-content:center}.nas-filter__label p{margin:0}.nas-filter__button-title{font-weight:700;font-size:14px}.nas-filter__traveler-icon{transform:scale(.85);margin-top:12px}.nas-filter__transit-type-selection{z-index:4;position:absolute;width:100%;border-left:2px solid #15273F;border-right:2px solid #15273F;border-bottom:2px solid #15273F}.nas-filter__transit-type-selection button:first-child{border-bottom:2px solid #E9E7E4}.nas-filter__transit-type-selection ::ng-deep .nas-backdrop{z-index:-1}.nas-filter__filters{display:flex;flex-direction:column;gap:8px}.nas-filter__filters .nas-filter__suggestions ::ng-deep .nas-suggestions{margin:0}.nas-filter__filters--md,.nas-filter__filters--lg{display:flex;flex-wrap:wrap;flex-direction:row;gap:8px}.nas-filter__filters--md .nas-filter__airport-select,.nas-filter__filters--lg .nas-filter__airport-select{flex:0 0 100%}.nas-filter__filters--md .nas-filter__airport-select ::ng-deep .nas-airport-select-combo__switcher,.nas-filter__filters--lg .nas-filter__airport-select ::ng-deep .nas-airport-select-combo__switcher{top:20%;left:48%;transform:rotate(90deg)}.nas-filter__filters--md .nas-filter__suggestions,.nas-filter__filters--lg .nas-filter__suggestions{flex:0 0 100%}.nas-filter__filters--md .nas-filter__suggestions ::ng-deep .nas-suggestions,.nas-filter__filters--lg .nas-filter__suggestions ::ng-deep .nas-suggestions{margin:0}.nas-filter__filters--md .nas-filter__dropdown-wrapper,.nas-filter__filters--lg .nas-filter__dropdown-wrapper{display:flex;gap:8px;flex:1 1 49%}.nas-filter__filters--md .nas-filter__passengers,.nas-filter__filters--lg .nas-filter__passengers{margin-top:0;position:relative;flex:1 1 24.5%}.nas-filter__filters--md .nas-filter__passengers .nas-filter__passengers-button,.nas-filter__filters--lg .nas-filter__passengers .nas-filter__passengers-button{height:67px}.nas-filter__filters--md .nas-filter__transit-type,.nas-filter__filters--lg .nas-filter__transit-type{flex:1 1 24.4%;position:relative}.nas-filter__filters--md .nas-filter__transit-type ::ng-deep .nas-button,.nas-filter__filters--lg .nas-filter__transit-type ::ng-deep .nas-button{height:67px;margin:0}.nas-filter__filters--md .nas-filter__date-combo,.nas-filter__filters--lg .nas-filter__date-combo{flex:1 1 49%}.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound .nas-datepicker__date-picker-wrapper .nas-datepicker__controls,.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound .nas-datepicker__date-picker-wrapper .nas-datepicker__controls{border-left:2px solid #6F6F6F}.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound .nas-datepicker__date-picker-wrapper .nas-datepicker__controls--active,.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound .nas-datepicker__date-picker-wrapper .nas-datepicker__controls--active{border-left:2px solid currentColor}.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker .nas-datepicker__date-picker-wrapper,.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker .nas-datepicker--compact,.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker .nas-datepicker__date-picker-wrapper,.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker .nas-datepicker--compact{position:relative}.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound,.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound{margin-left:8px}.nas-filter__filters--md .nas-filter__radio,.nas-filter__filters--lg .nas-filter__radio{flex:0 0 100%;padding:9px 0}.nas-filter__filters--md ::ng-deep .nas-airport-select-combo,.nas-filter__filters--lg ::ng-deep .nas-airport-select-combo{flex-direction:row}.nas-filter__filters--md ::ng-deep .nas-airport-select-combo__switcher,.nas-filter__filters--lg ::ng-deep .nas-airport-select-combo__switcher{top:20%;left:46.5%;transform:rotate(90deg)}.nas-filter__filters--md .nas-filter__passengers ::ng-deep .nas-passenger-select__list{width:100%;min-width:250px}.nas-filter__filters--lg.nas-filter__filters--inline .nas-filter__airport-select{order:0;flex:1}.nas-filter__filters--lg.nas-filter__filters--inline .nas-filter__airport-select ::ng-deep .nas-airport-select-combo__switcher{left:46%}.nas-filter__filters--lg.nas-filter__filters--inline .nas-filter__date-combo,.nas-filter__filters--lg.nas-filter__filters--inline .nas-filter__dropdown-wrapper{order:0;flex:1}.nas-filter__filters.nas-filter__filters--multi-city{display:flex;flex-wrap:wrap;flex-direction:column;gap:8px}.nas-filter__filters.nas-filter__filters--multi-city .nas-filter__airport-select{order:1}.nas-filter__filters.nas-filter__filters--multi-city .nas-filter__date-combo,.nas-filter__filters.nas-filter__filters--multi-city .nas-filter__dropdown-wrapper,.nas-filter__filters.nas-filter__filters--multi-city .nas-filter__suggestions{order:2}.nas-filter__filters.nas-filter__filters--multi-city-mode{display:grid;grid-template-columns:1fr;grid-template-rows:auto}.nas-filter__filters.nas-filter__filters--multi-city-mode .nas-filter__airport-select:nth-of-type(1){grid-row:2}.nas-filter__filters.nas-filter__filters--multi-city-mode .nas-filter__airport-select:nth-of-type(2){grid-row:4}.nas-filter__filters.nas-filter__filters--multi-city-mode .nas-filter__date-combo{display:contents}.nas-filter__filters.nas-filter__filters--multi-city-mode .nas-filter__date-combo ::ng-deep .nas-datepicker{position:relative}.nas-filter__filters.nas-filter__filters--multi-city-mode .nas-filter__date-combo ::ng-deep nas-datepicker-combo{display:contents}.nas-filter__filters.nas-filter__filters--multi-city-mode .nas-filter__date-combo ::ng-deep .nas-datepicker-combo{display:contents}.nas-filter__filters.nas-filter__filters--multi-city-mode .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound .nas-datepicker__date-picker-wrapper .nas-datepicker__controls{border-left:2px solid currentColor}.nas-filter__filters.nas-filter__filters--multi-city-mode .nas-filter__date-combo ::ng-deep .nas-datepicker:after{content:\"\";display:block;height:2px;width:100%;background-color:#e9e7e4;margin:16px 0 9px}.nas-filter__filters.nas-filter__filters--multi-city-mode .nas-filter__passengers{margin-top:0}.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--md,.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--lg{grid-template-columns:2fr 1fr;grid-template-rows:auto auto}.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--md .nas-filter__radio,.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--lg .nas-filter__radio{grid-row:1}.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--md .nas-filter__airport-select:nth-of-type(1),.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--lg .nas-filter__airport-select:nth-of-type(1){grid-column:1;grid-row:2}.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--md .nas-filter__airport-select:nth-of-type(2),.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--lg .nas-filter__airport-select:nth-of-type(2){grid-column:1;grid-row:3}.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--md .nas-filter__date-combo,.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--lg .nas-filter__date-combo{grid-column:2;grid-row:2/span 2;display:grid}.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo,.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo{display:flex;flex-direction:column;gap:8px}.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound,.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker-combo__date-picker--inbound{margin-left:0}.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--md .nas-filter__date-combo ::ng-deep .nas-datepicker:after,.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--lg .nas-filter__date-combo ::ng-deep .nas-datepicker:after{content:unset;margin:0}.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--md .nas-filter__dropdown-wrapper,.nas-filter__filters.nas-filter__filters--multi-city-mode.nas-filter__filters--lg .nas-filter__dropdown-wrapper{grid-row:4;grid-column:1/-1}.nas-filter__filters.nas-filter__filters--md,.nas-filter__filters.nas-filter__filters--lg{flex-direction:row}.nas-filter__suggestions{flex-basis:100%;position:relative}.nas-filter__airport-select{order:0;flex:0 0 100%;position:relative}.nas-filter__toggler{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:400;font-size:18px;line-height:24px;color:#15273f;margin-top:6px;z-index:1}.nas-filter__toggler .nas-filter__toggle-action{cursor:pointer;margin-top:2px;float:right}.nas-filter__toggler .nas-filter__direct-only{display:inline-block}.travel-details{position:relative;margin:0;z-index:1;display:flex;flex-direction:column}.travel-details__list{margin-top:12px}.travel-details__list-item{display:flex;align-items:center;justify-content:space-between;padding:6px 0 0}.travel-details__list-item:not(:last-child){padding:6px 0 9px;border-bottom:2px solid #E9E7E4}.travel-details__label{flex-grow:2;margin:0 6px 0 0}.travel-details__title{font-size:18px;line-height:24px;display:block;min-width:124px}.travel-details__title--small{font-size:16px;line-height:24px;margin:0}.travel-details__action{padding:12px;width:100%;background-color:#fff;font-weight:700}.travel-details__action:hover,.travel-details__action:focus{background-color:#f1f1f1}.travel-details__action--border{border-bottom:2px #E9E7E4}.travel-details__action:focus{outline:none;z-index:1}.travel-details__icon{margin-bottom:9px}.travel-details__dropdown{margin-right:0}.travel-details__dropdown:after{content:\"\";position:absolute;bottom:-3px;left:0;width:100%;border-bottom:3px solid #E9E7E4}.travel-details__dropdown--trip-type{order:1;flex:1;margin-right:3px;margin-bottom:3px}.travel-details__dropdown--transit-type{order:2;flex:1;margin-bottom:3px}.travel-details__dropdown--passengers{order:3;flex:1 0 100%;margin-bottom:3px}.travel-details__transit-icon{position:relative;display:flex;justify-content:center;width:calc(100% - 48px);margin:12px auto;height:24px;background-color:inherit}.travel-details__transit-icon:before{content:\"\";position:absolute;height:2px;left:0;width:100%;top:calc(50% - 1px);background-color:currentColor}.travel-details__transit-icon:after{content:\"\";position:absolute;width:10px;height:10px;right:0;top:calc(50% - 5px);border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}.travel-details__transit-icon-stop{position:relative;top:calc(50% - 5px);width:10px;height:10px;border:2px solid currentColor;border-radius:50%;background-color:inherit}@media (min-width: 1000px){.travel-details--no-border:after{border-bottom:none}}::ng-deep .nas-filter__filters .nas-passenger-select__title{padding:8px 16px 0}::ng-deep .nas-filter__filters .nas-passenger-select__list{position:absolute!important;width:100%;z-index:2}::ng-deep .nas-filter__filters .nas-passenger-select__list-item{padding:8px 16px!important}::ng-deep .nas-filter__filters .nas-radio{margin:0!important}::ng-deep .nas-filter__filters .travel-details--no-border:after{display:none}::ng-deep .nas-filter__filters .nas-filter__date-combo .nas-datepicker__date-picker-wrapper{border-bottom:none!important;position:unset}::ng-deep .nas-filter__filters .nas-filter__date-combo .nas-datepicker--compact{position:unset;margin-bottom:0}::ng-deep .nas-filter__filters .nas-filter__date-combo--side-by-side .nas-datepicker-combo__separator{display:block;border-bottom:none!important}::ng-deep .nas-filter__filters .nas-airport-select__input-line{border-top:none!important}::ng-deep .nas-filter__filters .nas-airport-select-combo__separator{border-bottom:none!important}::ng-deep .nas-filter__filters .nas-dropdown__toggle{height:64px!important}::ng-deep .nas-filter__filters .nas-datepicker-combo__separator{display:none}::ng-deep .nas-filter__rotate{transform:rotate(180deg)}::ng-deep .nas-filter__rotate-enter,::ng-deep .nas-filter__rotate-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}::ng-deep .nas-filter__rotate-enter{animation:flip-in .55s ease both}::ng-deep .nas-filter__rotate-leave-active{animation:flip-out .2s ease-out both}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select__input-line{border-top:none}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select-combo__separator{border-top:none}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select__results-wrapper{margin-top:0}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select__results{top:-3px}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select__icon{bottom:18px}::ng-deep .nas-filter__airport-select--no-border .nas-airport-select:after{display:none}::ng-deep .nas-filter__airport-select .nas-airport-select__input-line{display:none}::ng-deep .nas-filter__airport-origin-select{width:100%;max-width:100%}::ng-deep .nas-filter__airport-origin-select .nas-airport-select:only-child{max-width:100%}@media (min-width: 640px){::ng-deep .nas-filter__airport-origin-select{max-width:360px;flex:auto;margin-right:3px}::ng-deep .nas-filter__airport-origin-select .nas-airport-select:only-child{width:auto;max-width:360px}}::ng-deep .nas-filter__origin-combined{border-bottom:3px solid #E9E7E4;order:3;flex:0 0 100%;display:flex;flex-wrap:wrap}@media (min-width: 1000px){::ng-deep .nas-filter__origin-combined{display:flex;flex:none}::ng-deep .nas-filter__origin-combined .nas-dropdown__toggle nas-icon{float:none!important}}::ng-deep .nas-filter__backdrop{display:block;position:fixed;z-index:2;top:0;left:0;width:100%;height:100%;color:transparent;background-color:#0b14202b;animation:passenger-backdrop .7s ease-out both}::ng-deep .nas-filter__passengers-selection{position:absolute;z-index:4;width:100%}::ng-deep .nas-filter__passengers-selection ::ng-deep .nas-backdrop{z-index:-1}@keyframes passenger-backdrop{0%{opacity:0}}::ng-deep .lower-z-index{z-index:1!important;position:relative}\n"] }]
7281
7407
  }], ctorParameters: function () { return [{ type: DeviceHelper }, { type: SortService }, { type: AbandonedBasketService }, { type: DateHelper }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { passengerSelectDropdown: [{
7282
7408
  type: ViewChild,
7283
7409
  args: ['passengerSelectDropdown']
@@ -7293,6 +7419,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
7293
7419
  }], airportSelect: [{
7294
7420
  type: ViewChild,
7295
7421
  args: ['airportSelect']
7422
+ }], airportSelect2: [{
7423
+ type: ViewChild,
7424
+ args: ['airportSelect2']
7296
7425
  }], datepickerCombo: [{
7297
7426
  type: ViewChild,
7298
7427
  args: ['datepickerCombo']
@@ -7338,6 +7467,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
7338
7467
  type: Input
7339
7468
  }], destinationAirportCode: [{
7340
7469
  type: Input
7470
+ }], origin2AirportCode: [{
7471
+ type: Input
7472
+ }], destination2AirportCode: [{
7473
+ type: Input
7341
7474
  }], passengerSelectLabel: [{
7342
7475
  type: Input
7343
7476
  }], maxPaxCount: [{
@@ -7350,6 +7483,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
7350
7483
  type: Input
7351
7484
  }], tripSwitchOneWayLabel: [{
7352
7485
  type: Input
7486
+ }], tripSwitchMultiCityLabel: [{
7487
+ type: Input
7353
7488
  }], directOnlyLabel: [{
7354
7489
  type: Input
7355
7490
  }], directTransitLabel: [{
@@ -7410,6 +7545,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
7410
7545
  type: Input
7411
7546
  }], nasFormControlNameDestination: [{
7412
7547
  type: Input
7548
+ }], nasFormControlNameOrigin2: [{
7549
+ type: Input
7550
+ }], nasFormControlNameDestination2: [{
7551
+ type: Input
7413
7552
  }], nasFormControlNameTripType: [{
7414
7553
  type: Input
7415
7554
  }], nasFormControlNameDirectOnly: [{
@@ -7444,12 +7583,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
7444
7583
  type: Output
7445
7584
  }], destinationOpenChange: [{
7446
7585
  type: Output
7586
+ }], origin2OpenChange: [{
7587
+ type: Output
7588
+ }], destination2OpenChange: [{
7589
+ type: Output
7447
7590
  }], passengerSelectOpenChange: [{
7448
7591
  type: Output
7449
7592
  }], originChange: [{
7450
7593
  type: Output
7451
7594
  }], destinationChange: [{
7452
7595
  type: Output
7596
+ }], origin2Change: [{
7597
+ type: Output
7598
+ }], destination2Change: [{
7599
+ type: Output
7453
7600
  }], passengersChange: [{
7454
7601
  type: Output
7455
7602
  }], tripTypeChange: [{
@@ -7528,6 +7675,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
7528
7675
  type: Input
7529
7676
  }], transitTypeId: [{
7530
7677
  type: Input
7678
+ }], enableMultiCity: [{
7679
+ type: Input
7531
7680
  }], outboundSelectedDateChange: [{
7532
7681
  type: Output
7533
7682
  }], inboundSelectedDateChange: [{