@norwegian/core-components 6.51.3 → 6.52.1

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.
Files changed (34) hide show
  1. package/assets/documentation/filter-new/filter-new.md +0 -0
  2. package/esm2022/lib/components/airport-select-new/airport-select-new.component.mjs +2 -2
  3. package/esm2022/lib/components/alert/alert.component.mjs +2 -2
  4. package/esm2022/lib/components/datepicker-combo-new/datepicker-combo-new.component.mjs +1 -1
  5. package/esm2022/lib/components/datepicker-new/datepicker-new.component.mjs +3 -3
  6. package/esm2022/lib/components/filter/index.mjs +1 -2
  7. package/esm2022/lib/components/filter-new/enums/trip-type.enum.mjs +8 -0
  8. package/esm2022/lib/components/filter-new/filter-new.component.mjs +1328 -0
  9. package/esm2022/lib/components/filter-new/filter-new.module.mjs +101 -0
  10. package/esm2022/lib/components/filter-new/index.mjs +4 -0
  11. package/esm2022/lib/components/index.mjs +3 -1
  12. package/esm2022/lib/components/number-field-new/number-field-new.component.mjs +3 -3
  13. package/esm2022/lib/components/passenger-select/index.mjs +1 -3
  14. package/esm2022/lib/components/passenger-select-new/enums/passenger-type.enum.mjs +9 -0
  15. package/esm2022/lib/components/passenger-select-new/index.mjs +5 -0
  16. package/esm2022/lib/components/passenger-select-new/models/passengers.model.mjs +2 -0
  17. package/esm2022/lib/components/passenger-select-new/passenger-select-new.component.mjs +417 -0
  18. package/esm2022/lib/components/passenger-select-new/passenger-select-new.module.mjs +28 -0
  19. package/fesm2022/norwegian-core-components.mjs +8665 -6836
  20. package/fesm2022/norwegian-core-components.mjs.map +1 -1
  21. package/lib/components/datepicker-combo-new/datepicker-combo-new.component.d.ts +2 -2
  22. package/lib/components/filter/index.d.ts +0 -1
  23. package/lib/components/filter-new/enums/trip-type.enum.d.ts +6 -0
  24. package/lib/components/filter-new/filter-new.component.d.ts +829 -0
  25. package/lib/components/filter-new/filter-new.module.d.ts +27 -0
  26. package/lib/components/filter-new/index.d.ts +3 -0
  27. package/lib/components/index.d.ts +2 -0
  28. package/lib/components/passenger-select/index.d.ts +0 -2
  29. package/lib/components/passenger-select-new/enums/passenger-type.enum.d.ts +7 -0
  30. package/lib/components/passenger-select-new/index.d.ts +4 -0
  31. package/lib/components/passenger-select-new/models/passengers.model.d.ts +10 -0
  32. package/lib/components/passenger-select-new/passenger-select-new.component.d.ts +141 -0
  33. package/lib/components/passenger-select-new/passenger-select-new.module.d.ts +10 -0
  34. package/package.json +1 -1
@@ -0,0 +1,829 @@
1
+ /**
2
+ * @license
3
+ * Copyright Norwegian Air Shuttle. All Rights Reserved.
4
+ */
5
+ import { AfterViewChecked, ElementRef, EventEmitter, OnInit, ChangeDetectorRef } from '@angular/core';
6
+ import { FormGroup } from '@angular/forms';
7
+ import { BehaviorSubject } from 'rxjs';
8
+ import { TripType } from './enums/trip-type.enum';
9
+ import { NasComponentBase } from '../../core/base/nas-component.base';
10
+ import { ClassModel } from '../../core/models/class.model';
11
+ import { UtcDate } from '../../core/models/utc-date.model';
12
+ import { AbandonedBasketService } from '../../core/services/abandoned-basket/abandoned-basket.service';
13
+ import { DateHelper } from '../../core/services/date/date-helper.service';
14
+ import { DeviceHelper } from '../../core/services/device/device-helper.service';
15
+ import { SortService } from '../../core/services/sort/sort.service';
16
+ import { AirportModel } from '../airport-select-new/models/airport.model';
17
+ import { DropdownComponent } from '../dropdown/dropdown.component';
18
+ import { PassengersModel } from '../passenger-select/models/passengers.model';
19
+ import { SubsidyDiscountModel } from '../subsidy-discount/models/subsidy-discount.model';
20
+ import { PassengerSelectComponent } from '../passenger-select/passenger-select.component';
21
+ import { SubsidyDiscountComponent } from '../subsidy-discount/subsidy-discount.component';
22
+ import { DatepickerComboNewComponent } from '../datepicker-combo-new/datepicker-combo-new.component';
23
+ import { AirportSelectNewComponent } from '../airport-select-new/airport-select-new.component';
24
+ import * as i0 from "@angular/core";
25
+ /**
26
+ * @description
27
+ * Norwegian Filter Component | New design | Beta
28
+ */
29
+ export declare class FilterNewComponent extends NasComponentBase implements OnInit, AfterViewChecked {
30
+ deviceHelper: DeviceHelper;
31
+ private sortService;
32
+ private abandonedBasketService;
33
+ private dateService;
34
+ elementRef: ElementRef;
35
+ private changeDetector;
36
+ passengerSelectDropdown: DropdownComponent;
37
+ passengerSelect: PassengerSelectComponent;
38
+ tripSwitch: DropdownComponent;
39
+ transitSwitch: DropdownComponent;
40
+ airportSelect: AirportSelectNewComponent;
41
+ datepickerCombo: DatepickerComboNewComponent;
42
+ container: ElementRef;
43
+ tripTypeOneway: ElementRef;
44
+ tripTypeRoundTrip: ElementRef;
45
+ transitTypeDirectOnly: ElementRef;
46
+ transitTypeTransit: ElementRef;
47
+ subsidyDiscount: SubsidyDiscountComponent;
48
+ latestSearchesOrigin: Array<AirportModel>;
49
+ latestSearchesDestination: Array<AirportModel>;
50
+ displaySummary: boolean;
51
+ nativeElement: HTMLElement;
52
+ inboundLowerLimitDate: UtcDate;
53
+ containerWidth: BehaviorSubject<number>;
54
+ maximize: boolean;
55
+ isNasGroupValid: boolean;
56
+ inlineFlex: number;
57
+ openPassengerSelect: boolean;
58
+ openTransitTypeSelect: boolean;
59
+ get outboundOpen(): boolean;
60
+ set outboundOpen(value: boolean);
61
+ get inboundOpen(): boolean;
62
+ set inboundOpen(value: boolean);
63
+ private inboundOpenTimeout;
64
+ /**
65
+ * @property Input
66
+ * @required
67
+ * @description
68
+ * A record containing keys with all airport codes with corresponding array of airport codes connected to the key.
69
+ */
70
+ airportRelations: Record<string, Array<string>>;
71
+ /**
72
+ * @property Input
73
+ * @description
74
+ * Adds 'aria-label' on the clear button inside the airport select inputs.
75
+ */
76
+ ariaLabelClear: string;
77
+ /**
78
+ * @property Input
79
+ * @description
80
+ * ARIA label for the subtract buttons.
81
+ */
82
+ ariaLabelSubtract: string;
83
+ /**
84
+ * @property Input
85
+ * @description
86
+ * Adds 'aria-label' to the backdrops.
87
+ */
88
+ ariaLabelBackdrop: string;
89
+ /**
90
+ * @property Input
91
+ * @description
92
+ * ARIA label for the add buttons.
93
+ */
94
+ ariaLabelAdd: string;
95
+ /**
96
+ * @property Input
97
+ * @description
98
+ * A list of airports that should be displayed in the origin dropdown.
99
+ * If not included, all airports will be displayed.
100
+ */
101
+ allowedOriginAirports: Array<AirportModel>;
102
+ /**
103
+ * @property Input
104
+ * @description
105
+ * An array of airports that are restricted for destination airports. It will default to airports if not set.
106
+ */
107
+ allowedDestinationAirports: Array<AirportModel>;
108
+ /**
109
+ * @property Input
110
+ * @description
111
+ * A boolean indicating if airports that the user allready has searh for should be displayed.
112
+ */
113
+ displayLatestSearches: boolean;
114
+ /**
115
+ * @property Input
116
+ * @description
117
+ * Display switch UI to interchange origin and destination airport.
118
+ */
119
+ useSwitch?: boolean;
120
+ /**
121
+ * @property Input
122
+ * @description
123
+ * A boolean indicating if airports that are close to the user should be displayed.
124
+ */
125
+ displayClosestAirports: boolean;
126
+ /**
127
+ * @property Input
128
+ * @description
129
+ * The airport code of the origin airport. It will set the selected origin airport based on this value.
130
+ */
131
+ originAirportCode: string;
132
+ /**
133
+ * @property Input
134
+ * @description
135
+ * The airport code of the destination airport. It will set the selected destination airport based on this value.
136
+ */
137
+ destinationAirportCode: string;
138
+ /**
139
+ * @property Input
140
+ * @description
141
+ * A label that will be added to the passenger select dropdown.
142
+ */
143
+ passengerSelectLabel: string;
144
+ /**
145
+ * @property Input
146
+ * @description
147
+ * The total maximum amount of passengers in the passenger select dropdown.
148
+ */
149
+ maxPaxCount: number;
150
+ /**
151
+ * @property Input
152
+ * @description
153
+ * An array of different passenger types that will be displayed.
154
+ */
155
+ get passengers(): Array<PassengersModel>;
156
+ set passengers(value: Array<PassengersModel>);
157
+ /**
158
+ * @property Input
159
+ * @description
160
+ * The minimum amount of adults that can be selected in the passenger select dropdown.
161
+ */
162
+ minAdultCount: number;
163
+ /**
164
+ * @property Input
165
+ * @description
166
+ * A label for round trip selection in the trip switch dropdown.
167
+ */
168
+ tripSwitchRoundTripLabel: string;
169
+ /**
170
+ * @property Input
171
+ * @description
172
+ * A label for one way selection in the trip switch dropdown.
173
+ */
174
+ tripSwitchOneWayLabel: string;
175
+ /**
176
+ * @property Input
177
+ * @description
178
+ * A label for direct only selection in the transit switch dropdown.
179
+ */
180
+ directOnlyLabel: string;
181
+ /**
182
+ * @property Input
183
+ * @description
184
+ * A label for both direct and transit selection in the transit switch dropdown.
185
+ */
186
+ directTransitLabel: string;
187
+ /**
188
+ * @property Input
189
+ * @description
190
+ * Indicates if the filter should be minimized on mobile screen sizes.
191
+ */
192
+ minimizeOnMobile?: boolean;
193
+ /**
194
+ * @property Input
195
+ * @description
196
+ * Indicates if the edit search of accordion should be expended on mobile screen sizes.
197
+ */
198
+ get expandedAccordionMobile(): boolean;
199
+ set expandedAccordionMobile(value: boolean);
200
+ /**
201
+ * @property Input
202
+ * @description
203
+ * A separator for the filter summary that is dispayed if minimizeOnMobile is true.
204
+ *
205
+ * ### Example
206
+ * 1 traveller, round trip and direct/transit
207
+ */
208
+ defaultSummarySeparator: string;
209
+ /**
210
+ * A separator for the filter summary is are dispayed if minimizeOnMobile is true.
211
+ *
212
+ * ### Example
213
+ * 1 traveller, round trip and direct/transit
214
+ */
215
+ lastSummarySeparator: string;
216
+ /**
217
+ * @property Input
218
+ * @description
219
+ * A title that will be added to the passenger select dropdown.
220
+ */
221
+ passengerSelectTitle: string;
222
+ /**
223
+ * @property Input
224
+ * @description
225
+ * A label for the adults passenger type in the passenger select dropdown.
226
+ */
227
+ passengerSelectAdultsLabel: string;
228
+ /**
229
+ * @property Input
230
+ * @description
231
+ * A label for the youths passenger type in the passenger select dropdown.
232
+ */
233
+ passengerSelectYouthsLabel: string;
234
+ /**
235
+ * @property Input
236
+ * @description
237
+ * A label for the young adults passenger type in the passenger select dropdown.
238
+ */
239
+ passengerSelectYoungAdultsLabel: string;
240
+ /**
241
+ * @property Input
242
+ * @description
243
+ * A label for the children passenger type in the passenger select dropdown.
244
+ */
245
+ passengerSelectChildrenLabel: string;
246
+ /**
247
+ * @property Input
248
+ * @description
249
+ * A label for the infants passenger type in the passenger select dropdown.
250
+ */
251
+ passengerSelectInfantsLabel: string;
252
+ /**
253
+ * @property Input
254
+ * @description
255
+ * A label that will appear when total number of selected passengers exceeds the group booking limit
256
+ */
257
+ groupBookingLabel: string;
258
+ /**
259
+ * @property Input
260
+ * @description
261
+ * A label that will appear on top of all airports in the airport select drop down lists.
262
+ */
263
+ allAirportsLabel: string;
264
+ /**
265
+ * @property Input
266
+ * @description
267
+ * A label that will appear on top of the latest searches in the airport select drop down lists.
268
+ */
269
+ latestSearchesLabel: string;
270
+ /**
271
+ * @property Input
272
+ * @description
273
+ * A label that will appear on top of the closest airports in the airport select drop down lists.
274
+ */
275
+ closestAirportsLabel: string;
276
+ /**
277
+ * @property Input
278
+ * @description
279
+ * A label that will appear in the destination input field in the airport select, if the
280
+ * user tries to select a destination airport without selecting an origin airport.
281
+ */
282
+ selectOriginFirstLabel: string;
283
+ /**
284
+ * @property Input
285
+ * @required
286
+ * @description
287
+ * A label that will appear on top of the origin airport input field.
288
+ */
289
+ labelOrigin: string;
290
+ /**
291
+ * @property Input
292
+ * @description
293
+ * A placeholder that will appear on the origin airport input field.
294
+ */
295
+ placeholderOrigin: string;
296
+ /**
297
+ * @property Input
298
+ * @required
299
+ * @description
300
+ * A label that will appear on top of the destination airport input field.
301
+ */
302
+ labelDestination: string;
303
+ /**
304
+ * @property Input
305
+ * @description
306
+ * A label that will appear in my location in the drop down list in airport select.
307
+ */
308
+ geolocationLabel: string;
309
+ /**
310
+ * @property Input
311
+ * @description
312
+ * A label that will appear in my location, in the drop down list in airport select if user has denied geolocation.
313
+ */
314
+ geolocationBlockedLabel: string;
315
+ /**
316
+ * @property Input
317
+ * @description
318
+ * A placeholder that will appear on the destination airport input field.
319
+ */
320
+ placeholderDestination: string;
321
+ /**
322
+ * @property Input
323
+ * @description
324
+ * A modifier that will allow always keeping the selected airport.
325
+ * The last selected airport will be shown once user clears the selection and blur.
326
+ */
327
+ keepSelection: boolean;
328
+ /**
329
+ * @property Input
330
+ * @description
331
+ * A title that will be assigned to edit search accordion.
332
+ */
333
+ editSearchTitle: string;
334
+ /**
335
+ * @property Input
336
+ * @description
337
+ * Adds the parent's form group.
338
+ * It requires that the consumer included ReactiveFormsModule in it's module.
339
+ * It is requiered to be filled if nasFormControlName added.
340
+ */
341
+ nasFormGroup: FormGroup;
342
+ /**
343
+ * @property Input
344
+ * @description
345
+ * Sets a formControlName directive to the input.
346
+ * It requires that the consumer included ReactiveFormsModule in it's module.
347
+ * It requiers that the nasFormGroup input is filled.
348
+ */
349
+ nasFormControlNameOrigin: string;
350
+ /**
351
+ * @property Input
352
+ * @description
353
+ * Sets a formControlName directive to the input.
354
+ * It requires that the consumer included ReactiveFormsModule in it's module.
355
+ * It requiers that the nasFormGroup input is filled.
356
+ */
357
+ nasFormControlNameDestination: string;
358
+ /**
359
+ * @property Input
360
+ * @description
361
+ * Sets a formControlName directive to the input.
362
+ * It requires that the consumer included ReactiveFormsModule in it's module.
363
+ * It requiers that the nasFormGroup input is filled.
364
+ */
365
+ nasFormControlNameTripType: string;
366
+ /**
367
+ * @property Input
368
+ * @description
369
+ * Sets a formControlName directive to the input.
370
+ * It requires that the consumer included ReactiveFormsModule in it's module.
371
+ * It requiers that the nasFormGroup input is filled.
372
+ */
373
+ nasFormControlNameDirectOnly: string;
374
+ /**
375
+ * @property Input
376
+ * @description
377
+ * Sets a formControlName directive to the input.
378
+ * It requires that the consumer included ReactiveFormsModule in it's module.
379
+ * It requiers that the nasFormGroup input is filled.
380
+ */
381
+ nasFormControlNameOutbound: string;
382
+ /**
383
+ * @property Input
384
+ * @description
385
+ * Sets a formControlName directive to the input.
386
+ * It requires that the consumer included ReactiveFormsModule in it's module.
387
+ * It requiers that the nasFormGroup input is filled.
388
+ */
389
+ nasFormControlNameInbound: string;
390
+ /**
391
+ * @property Input
392
+ * @description
393
+ * Sets a formControlName directive to the input.
394
+ * It requires that the consumer included ReactiveFormsModule in it's module.
395
+ * It requiers that the nasFormGroup input is filled.
396
+ */
397
+ nasFormControlGroupBooking: string;
398
+ /**
399
+ * @property Input
400
+ * @description
401
+ * Sets a formControlName directive to the input.
402
+ * It requires that the consumer included ReactiveFormsModule in it's module.
403
+ * It requiers that the nasFormGroup input is filled.
404
+ */
405
+ nasFormControlNameSubsidyDiscount: string;
406
+ /**
407
+ * @property Input
408
+ * @description
409
+ * Make latest searches and geolocation override default value in the origin airport selector.
410
+ */
411
+ overrideOrigin?: boolean;
412
+ /**
413
+ * @property Input
414
+ * @description
415
+ * This will make the filter display suggested airports based on geolocation and latest searches.
416
+ */
417
+ enableSuggestions?: boolean;
418
+ get closestAirports(): Array<AirportModel>;
419
+ set closestAirports(airports: Array<AirportModel>);
420
+ /**
421
+ * @property Input
422
+ * @description
423
+ * This will only display airport selection. When a city pair is selected, the rest of the filter will be visible.
424
+ */
425
+ minimize?: boolean;
426
+ /**
427
+ * @property Input
428
+ * @required
429
+ * @description
430
+ * All airports that will be populated into the dropdown lists.
431
+ * If displayLatestSearches is true, it will try to get the latest searches from the abandoned basket.
432
+ */
433
+ get airports(): Array<AirportModel>;
434
+ set airports(airports: Array<AirportModel>);
435
+ /**
436
+ * @property Input
437
+ * @description
438
+ * Sets and gets the selected trip type.
439
+ */
440
+ get tripType(): TripType;
441
+ set tripType(tripType: TripType);
442
+ /**
443
+ * @property Input
444
+ * @description
445
+ * Sets and gets whether the selected transit type is direct only or not.
446
+ */
447
+ get directOnly(): boolean;
448
+ set directOnly(directOnly: boolean);
449
+ /**
450
+ * @property Input
451
+ * @description
452
+ * The limit for when the total amount of passengers exceeds to be a group booking.
453
+ */
454
+ groupBookingLimit: number;
455
+ /**
456
+ * @property Input
457
+ * @description
458
+ * Subsidy discounts
459
+ */
460
+ subsidyDiscounts: Array<SubsidyDiscountModel>;
461
+ /**
462
+ * @property Input
463
+ * @description
464
+ * Selected subsidy discount
465
+ */
466
+ selectedSubsidyDiscount: SubsidyDiscountModel;
467
+ /**
468
+ * @property Input
469
+ * @description
470
+ * Subsidy discount label
471
+ */
472
+ subsidyDiscountLabel: string;
473
+ /**
474
+ * @property Input
475
+ * @description
476
+ * ARIA label for the previous month button in the calendar.
477
+ */
478
+ ariaLabelPreviousMonth: string;
479
+ /**
480
+ * @property Input
481
+ * @description
482
+ * ARIA label for the next month button in the calendar.
483
+ */
484
+ ariaLabelNextMonth: string;
485
+ /**
486
+ * @property Output
487
+ * @description
488
+ * An event that is fired every time the origin dropdown selector opens or closes.
489
+ */
490
+ originOpenChange: EventEmitter<boolean>;
491
+ /**
492
+ * @property Output
493
+ * @description
494
+ * An event that is fired every time the origin dropdown selector opens or closes.
495
+ */
496
+ destinationOpenChange: EventEmitter<boolean>;
497
+ /**
498
+ * @property Output
499
+ * @description
500
+ * An event that is fired every time the passenger select dropdown opens or closes.
501
+ */
502
+ passengerSelectOpenChange: EventEmitter<boolean>;
503
+ /**
504
+ * @property Output
505
+ * @description
506
+ * An event that is fired every time the selected origin airport changes.
507
+ */
508
+ originChange: EventEmitter<AirportModel>;
509
+ /**
510
+ * @property Output
511
+ * @description
512
+ * An event that is fired every time the selected destination airport changes.
513
+ */
514
+ destinationChange: EventEmitter<AirportModel>;
515
+ /**
516
+ * @property Output
517
+ * @description
518
+ * An event that is fired every time a passenger selection change is performed.
519
+ */
520
+ passengersChange: EventEmitter<PassengersModel[]>;
521
+ /**
522
+ * @property Output
523
+ * @description
524
+ * Sets and gets the selected trip type.
525
+ */
526
+ tripTypeChange: EventEmitter<TripType>;
527
+ /**
528
+ * @property Output
529
+ * @description
530
+ * Sets and gets whether the selected transit type is direct only or not.
531
+ */
532
+ directOnlyChange: EventEmitter<boolean>;
533
+ /**
534
+ * @property Input
535
+ * @description
536
+ * Label for no available flights.
537
+ */
538
+ noAvailableFlightsLabel: string;
539
+ /**
540
+ * @property Input
541
+ * @description
542
+ * Label for available flights.
543
+ */
544
+ availableFlightsLabel: string;
545
+ /**
546
+ * @property Input
547
+ * @description
548
+ * Disable possibility to select dates in the past.
549
+ */
550
+ disablePastSelection: boolean;
551
+ /**
552
+ * @property Input
553
+ * @description
554
+ * Label for outbound datepicker.
555
+ */
556
+ outboundLabel: string;
557
+ /**
558
+ * @property Input
559
+ * @description
560
+ * Label for inbound datepicker.
561
+ */
562
+ inboundLabel: string;
563
+ /**
564
+ * @property Input
565
+ * @description
566
+ * Sets the datepickers in availability mode where available dates can be added.
567
+ */
568
+ availability: boolean;
569
+ /**
570
+ * @property Input
571
+ * @description
572
+ * Available dates for outbound calendar.
573
+ */
574
+ outboundAvailableDates: Array<UtcDate>;
575
+ /**
576
+ * @property Input
577
+ * @description
578
+ * Available dates for inbound calendar.
579
+ */
580
+ inboundAvailableDates: Array<UtcDate>;
581
+ /**
582
+ * @property Input
583
+ * @description
584
+ * If set, Enables the time dropdown selector alongside datepicker.
585
+ */
586
+ times: Array<UtcDate>;
587
+ /**
588
+ * @property Input
589
+ * @description
590
+ * The display format of the date when user has selected the date and it is being shown in the input box for the date picker.
591
+ * Please look at the angular Date pipe for valid formats and variations.
592
+ */
593
+ dateDisplayFormat: string;
594
+ /**
595
+ * @property Input
596
+ * @description
597
+ * The time display format.
598
+ */
599
+ timeDisplayFormat: string;
600
+ /**
601
+ * @property Input
602
+ * @description
603
+ * A locale code for the locale format rules to use. When not supplied, uses the value of LOCALE_ID, which is en-US by default.
604
+ * This requires that registerLocaleData is called with the respective locale.
605
+ */
606
+ locale: string;
607
+ /**
608
+ * @property Input
609
+ * @description
610
+ * A modifier to remove the padding and margins around the element.
611
+ */
612
+ compact: boolean;
613
+ /**
614
+ * @property Input
615
+ * @description
616
+ * Disable possibility to select outbound dates.
617
+ */
618
+ outboundDisabled: boolean;
619
+ /**
620
+ * @property Input
621
+ * @description
622
+ * Disable possibility to select inbound dates.
623
+ */
624
+ inboundDisabled: boolean;
625
+ /**
626
+ * @property Input
627
+ * @description
628
+ * Show/Add date picker combo into the filter if set to true.
629
+ */
630
+ enableDatepickers: boolean;
631
+ /**
632
+ * @property Input
633
+ * @required
634
+ * @description
635
+ * Label for the toggle icon for minimizing filter.
636
+ */
637
+ minimizingLabel: string;
638
+ /**
639
+ * @property Input
640
+ * @required
641
+ * @description
642
+ * Label for the toggle icon for maximizing filter.
643
+ */
644
+ maximizingLabel: string;
645
+ /**
646
+ * @property Input
647
+ * @required
648
+ * @description
649
+ * Label for the toggling transit type when filter is minimized.
650
+ */
651
+ directOnlyMobileLabel: string;
652
+ /**
653
+ * @property Input
654
+ * @description
655
+ * Label for 'or' in the suggestioned airports.
656
+ */
657
+ orLabel: string;
658
+ /**
659
+ * @property Input
660
+ * @description
661
+ * Label for 'Travelers' in the passengers select button.
662
+ */
663
+ passengersTitleLabel: string;
664
+ /**
665
+ * @property Input
666
+ * @description
667
+ * A text that appears in the destinations dropdown list when origin airport is not set.
668
+ */
669
+ invalidDestinationText: string;
670
+ /**
671
+ * @property Input
672
+ * @description
673
+ * Selected datefor outbound calendar.
674
+ */
675
+ get outboundSelectedDate(): UtcDate;
676
+ set outboundSelectedDate(date: UtcDate);
677
+ /**
678
+ * @property Input
679
+ * @description
680
+ * Selected datefor inbound calendar.
681
+ */
682
+ get inboundSelectedDate(): UtcDate;
683
+ set inboundSelectedDate(date: UtcDate);
684
+ /**
685
+ * @property Input
686
+ * @description
687
+ * Will display the destination input, set this to false to remove it. It's true by default.
688
+ */
689
+ enableDestinationSelect: boolean;
690
+ /**
691
+ * @property Input
692
+ * @description
693
+ * Will display passenger select, set this to false to remove it. It's true by default.
694
+ */
695
+ enablePassengersSelect: boolean;
696
+ /**
697
+ * @property Input
698
+ * @description
699
+ * Will display the trip switch, set this to false to remove it. It's true by default.
700
+ */
701
+ enableTripSwitch: boolean;
702
+ /**
703
+ * @property Input
704
+ * @description
705
+ * Will display the transit switch, set this to false to remove it. It's true by default.
706
+ */
707
+ enableTransitSwitch: boolean;
708
+ /**
709
+ * @property Output
710
+ * @description
711
+ * When selected datehas been changed on the outbound calendar.
712
+ */
713
+ outboundSelectedDateChange: EventEmitter<UtcDate>;
714
+ /**
715
+ * @property Output
716
+ * @description
717
+ * When selected datehas been changed on the inbound calendar.
718
+ */
719
+ inboundSelectedDateChange: EventEmitter<UtcDate>;
720
+ /**
721
+ * @property Output
722
+ * @description
723
+ * Outbound datepicker is open or closed.
724
+ */
725
+ outboundOpenChange: EventEmitter<boolean>;
726
+ /**
727
+ * @property Output
728
+ * @description
729
+ * Inbound datepicker is open or closed.
730
+ */
731
+ inboundOpenChange: EventEmitter<boolean>;
732
+ /**
733
+ * @property Output
734
+ * @description
735
+ * Outbound calendar changes month.
736
+ */
737
+ outboundMonthChange: EventEmitter<UtcDate>;
738
+ /**
739
+ * @property Output
740
+ * @description
741
+ * Inbound calendar changes month.
742
+ */
743
+ inboundMonthChange: EventEmitter<UtcDate>;
744
+ /**
745
+ * @property Output
746
+ * @description
747
+ * When a user has actively changed the date.
748
+ */
749
+ focusOnNextChange: EventEmitter<any>;
750
+ /**
751
+ * @property Output
752
+ * @description
753
+ * The geolocation of the user. Will be emitted if 'enableSuggestions' is true.
754
+ */
755
+ positionChange: EventEmitter<GeolocationPosition>;
756
+ /**
757
+ * @property Output
758
+ * @description
759
+ * An even that is fired every time the info button on the subsidy discount is clicked.
760
+ */
761
+ subsidyDiscountInfoClick: EventEmitter<any>;
762
+ get inboundSelectedMonth(): UtcDate;
763
+ set inboundSelectedMonth(month: UtcDate);
764
+ private outboundSelectedDateValue;
765
+ private inboundSelectedDateValue;
766
+ private inboundSelectedMonthValue;
767
+ private airportsValue;
768
+ private tripTypeValue;
769
+ private directOnlyValue;
770
+ private expandedAccordionMobileValue;
771
+ private closestAirportsValue;
772
+ private outboundOpenValue;
773
+ private inboundOpenValue;
774
+ private passengersValue;
775
+ private focusAsyncTimout;
776
+ private transitSwitchFocusTimeout;
777
+ private tripSwitchFocusTimeout;
778
+ constructor(deviceHelper: DeviceHelper, sortService: SortService, abandonedBasketService: AbandonedBasketService, dateService: DateHelper, elementRef: ElementRef, changeDetector: ChangeDetectorRef);
779
+ ngOnInit(): void;
780
+ ngAfterViewChecked(): void;
781
+ onSubsidyDiscountInfoClick(): void;
782
+ onSubsidyDiscountSelectChange(model: SubsidyDiscountModel): void;
783
+ getClosestAirports(position: GeolocationPosition): void;
784
+ getFilterClass(element?: string, modifiersInput?: any): ClassModel;
785
+ getAirportSelectClass(): ClassModel;
786
+ getSuggestions(): Array<AirportModel>;
787
+ getDatePickersClass(): ClassModel;
788
+ getTravelDetailsClass(element?: string, modifiersInput?: any): ClassModel;
789
+ onInboundMonthChange(month: UtcDate): void;
790
+ onOutboundMonthChange(month: UtcDate): void;
791
+ onPassengersSelectFocusOnPrevious(): void;
792
+ passengerKeyDown(event: KeyboardEvent): void;
793
+ onTripSwitchKeyDown(event: KeyboardEvent): void;
794
+ transitKeyDown(event: KeyboardEvent): void;
795
+ onSubsidyDiscountInfoButtonKeydown(event: KeyboardEvent): void;
796
+ onPassengersSelectFocusOnNext(): void;
797
+ focusAsync(refElement: ElementRef): void;
798
+ onDatepickerFocusOnPrevious(event: KeyboardEvent | MouseEvent): void;
799
+ selectPreviousControl(): void;
800
+ onFocusOnNextChange(event: KeyboardEvent | MouseEvent): void;
801
+ isMobileDisplay(): boolean;
802
+ isTabletDisplay(): boolean;
803
+ onOriginOpen(open: boolean): void;
804
+ validateAirportValues(): boolean;
805
+ updateMaximize(): void;
806
+ onDestinationOpen(open: boolean): void;
807
+ onPassengerSelectOpen(): void;
808
+ onTripSwitchOpen(open: boolean): void;
809
+ onTransitSwitchOpen(open: boolean): void;
810
+ onOriginChange(airport: AirportModel): void;
811
+ setSelectedOriginAirport(airport: AirportModel): void;
812
+ onDestinationChange(airport: AirportModel): void;
813
+ setFocusOnPassengerSelect(event: KeyboardEvent): void;
814
+ setFocusOnNativeElement(element: ElementRef): void;
815
+ onTripTypeChange(tripType: TripType): void;
816
+ onTransitChange(directOnly: boolean): void;
817
+ getTravelDetailsTripSwitchIconClass(modifiers?: any): Array<ClassModel>;
818
+ getTripSwitchLabel(): string;
819
+ getTransitLabel(): string;
820
+ onAccordionToggleChange(expanded: boolean): void;
821
+ getSummary(): string;
822
+ shouldMaximize(): boolean;
823
+ private focusOnAirportSelectBackwards;
824
+ private setLatestSearches;
825
+ private closeDropdowns;
826
+ private setInlineFlexWidth;
827
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterNewComponent, never>;
828
+ static ɵcmp: i0.ɵɵComponentDeclaration<FilterNewComponent, "nas-filter-new", never, { "airportRelations": { "alias": "airportRelations"; "required": false; }; "ariaLabelClear": { "alias": "ariaLabelClear"; "required": false; }; "ariaLabelSubtract": { "alias": "ariaLabelSubtract"; "required": false; }; "ariaLabelBackdrop": { "alias": "ariaLabelBackdrop"; "required": false; }; "ariaLabelAdd": { "alias": "ariaLabelAdd"; "required": false; }; "allowedOriginAirports": { "alias": "allowedOriginAirports"; "required": false; }; "allowedDestinationAirports": { "alias": "allowedDestinationAirports"; "required": false; }; "displayLatestSearches": { "alias": "displayLatestSearches"; "required": false; }; "useSwitch": { "alias": "useSwitch"; "required": false; }; "displayClosestAirports": { "alias": "displayClosestAirports"; "required": false; }; "originAirportCode": { "alias": "originAirportCode"; "required": false; }; "destinationAirportCode": { "alias": "destinationAirportCode"; "required": false; }; "passengerSelectLabel": { "alias": "passengerSelectLabel"; "required": false; }; "maxPaxCount": { "alias": "maxPaxCount"; "required": false; }; "passengers": { "alias": "passengers"; "required": false; }; "minAdultCount": { "alias": "minAdultCount"; "required": false; }; "tripSwitchRoundTripLabel": { "alias": "tripSwitchRoundTripLabel"; "required": false; }; "tripSwitchOneWayLabel": { "alias": "tripSwitchOneWayLabel"; "required": false; }; "directOnlyLabel": { "alias": "directOnlyLabel"; "required": false; }; "directTransitLabel": { "alias": "directTransitLabel"; "required": false; }; "minimizeOnMobile": { "alias": "minimizeOnMobile"; "required": false; }; "expandedAccordionMobile": { "alias": "expandedAccordionMobile"; "required": false; }; "defaultSummarySeparator": { "alias": "defaultSummarySeparator"; "required": false; }; "lastSummarySeparator": { "alias": "lastSummarySeparator"; "required": false; }; "passengerSelectTitle": { "alias": "passengerSelectTitle"; "required": false; }; "passengerSelectAdultsLabel": { "alias": "passengerSelectAdultsLabel"; "required": false; }; "passengerSelectYouthsLabel": { "alias": "passengerSelectYouthsLabel"; "required": false; }; "passengerSelectYoungAdultsLabel": { "alias": "passengerSelectYoungAdultsLabel"; "required": false; }; "passengerSelectChildrenLabel": { "alias": "passengerSelectChildrenLabel"; "required": false; }; "passengerSelectInfantsLabel": { "alias": "passengerSelectInfantsLabel"; "required": false; }; "groupBookingLabel": { "alias": "groupBookingLabel"; "required": false; }; "allAirportsLabel": { "alias": "allAirportsLabel"; "required": false; }; "latestSearchesLabel": { "alias": "latestSearchesLabel"; "required": false; }; "closestAirportsLabel": { "alias": "closestAirportsLabel"; "required": false; }; "selectOriginFirstLabel": { "alias": "selectOriginFirstLabel"; "required": false; }; "labelOrigin": { "alias": "labelOrigin"; "required": false; }; "placeholderOrigin": { "alias": "placeholderOrigin"; "required": false; }; "labelDestination": { "alias": "labelDestination"; "required": false; }; "geolocationLabel": { "alias": "geolocationLabel"; "required": false; }; "geolocationBlockedLabel": { "alias": "geolocationBlockedLabel"; "required": false; }; "placeholderDestination": { "alias": "placeholderDestination"; "required": false; }; "keepSelection": { "alias": "keepSelection"; "required": false; }; "editSearchTitle": { "alias": "editSearchTitle"; "required": false; }; "nasFormGroup": { "alias": "nasFormGroup"; "required": false; }; "nasFormControlNameOrigin": { "alias": "nasFormControlNameOrigin"; "required": false; }; "nasFormControlNameDestination": { "alias": "nasFormControlNameDestination"; "required": false; }; "nasFormControlNameTripType": { "alias": "nasFormControlNameTripType"; "required": false; }; "nasFormControlNameDirectOnly": { "alias": "nasFormControlNameDirectOnly"; "required": false; }; "nasFormControlNameOutbound": { "alias": "nasFormControlNameOutbound"; "required": false; }; "nasFormControlNameInbound": { "alias": "nasFormControlNameInbound"; "required": false; }; "nasFormControlGroupBooking": { "alias": "nasFormControlGroupBooking"; "required": false; }; "nasFormControlNameSubsidyDiscount": { "alias": "nasFormControlNameSubsidyDiscount"; "required": false; }; "overrideOrigin": { "alias": "overrideOrigin"; "required": false; }; "enableSuggestions": { "alias": "enableSuggestions"; "required": false; }; "closestAirports": { "alias": "closestAirports"; "required": false; }; "minimize": { "alias": "minimize"; "required": false; }; "airports": { "alias": "airports"; "required": false; }; "tripType": { "alias": "tripType"; "required": false; }; "directOnly": { "alias": "directOnly"; "required": false; }; "groupBookingLimit": { "alias": "groupBookingLimit"; "required": false; }; "subsidyDiscounts": { "alias": "subsidyDiscounts"; "required": false; }; "selectedSubsidyDiscount": { "alias": "selectedSubsidyDiscount"; "required": false; }; "subsidyDiscountLabel": { "alias": "subsidyDiscountLabel"; "required": false; }; "ariaLabelPreviousMonth": { "alias": "ariaLabelPreviousMonth"; "required": false; }; "ariaLabelNextMonth": { "alias": "ariaLabelNextMonth"; "required": false; }; "noAvailableFlightsLabel": { "alias": "noAvailableFlightsLabel"; "required": false; }; "availableFlightsLabel": { "alias": "availableFlightsLabel"; "required": false; }; "disablePastSelection": { "alias": "disablePastSelection"; "required": false; }; "outboundLabel": { "alias": "outboundLabel"; "required": false; }; "inboundLabel": { "alias": "inboundLabel"; "required": false; }; "availability": { "alias": "availability"; "required": false; }; "outboundAvailableDates": { "alias": "outboundAvailableDates"; "required": false; }; "inboundAvailableDates": { "alias": "inboundAvailableDates"; "required": false; }; "times": { "alias": "times"; "required": false; }; "dateDisplayFormat": { "alias": "dateDisplayFormat"; "required": false; }; "timeDisplayFormat": { "alias": "timeDisplayFormat"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "outboundDisabled": { "alias": "outboundDisabled"; "required": false; }; "inboundDisabled": { "alias": "inboundDisabled"; "required": false; }; "enableDatepickers": { "alias": "enableDatepickers"; "required": false; }; "minimizingLabel": { "alias": "minimizingLabel"; "required": false; }; "maximizingLabel": { "alias": "maximizingLabel"; "required": false; }; "directOnlyMobileLabel": { "alias": "directOnlyMobileLabel"; "required": false; }; "orLabel": { "alias": "orLabel"; "required": false; }; "passengersTitleLabel": { "alias": "passengersTitleLabel"; "required": false; }; "invalidDestinationText": { "alias": "invalidDestinationText"; "required": false; }; "outboundSelectedDate": { "alias": "outboundSelectedDate"; "required": false; }; "inboundSelectedDate": { "alias": "inboundSelectedDate"; "required": false; }; "enableDestinationSelect": { "alias": "enableDestinationSelect"; "required": false; }; "enablePassengersSelect": { "alias": "enablePassengersSelect"; "required": false; }; "enableTripSwitch": { "alias": "enableTripSwitch"; "required": false; }; "enableTransitSwitch": { "alias": "enableTransitSwitch"; "required": false; }; }, { "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"; "subsidyDiscountInfoClick": "subsidyDiscountInfoClick"; }, never, never, false, never>;
829
+ }