@qite/tide-booking-component 1.4.108 → 1.4.110

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 (86) hide show
  1. package/build/build-cjs/index.js +1607 -886
  2. package/build/build-cjs/src/booking-wizard/components/step-route.d.ts +2 -2
  3. package/build/build-cjs/src/booking-wizard/features/sidebar/sidebar-flight.d.ts +1 -0
  4. package/build/build-cjs/src/booking-wizard/features/sidebar/sidebar-util.d.ts +2 -1
  5. package/build/build-cjs/src/booking-wizard/features/sidebar/sidebar.d.ts +0 -31
  6. package/build/build-cjs/src/search-results/components/book-packaging-entry/index.d.ts +7 -0
  7. package/build/build-cjs/src/search-results/components/book-packaging-entry/wl-sidebar.d.ts +7 -0
  8. package/build/build-cjs/src/search-results/components/spinner/spinner.d.ts +4 -1
  9. package/build/build-cjs/src/search-results/store/search-results-slice.d.ts +5 -1
  10. package/build/build-cjs/src/shared/booking/BookingPanel.d.ts +13 -0
  11. package/build/build-cjs/src/shared/booking/Sidebar.d.ts +34 -0
  12. package/build/build-cjs/src/shared/booking/StepIndicators.d.ts +7 -0
  13. package/build/build-cjs/src/shared/components/flyin/flyin.d.ts +2 -0
  14. package/build/build-cjs/src/shared/components/flyin/packaging-flights-flyin.d.ts +2 -0
  15. package/build/build-cjs/src/shared/utils/localization-util.d.ts +1 -0
  16. package/build/build-esm/index.js +1591 -881
  17. package/build/build-esm/src/booking-wizard/components/step-route.d.ts +2 -2
  18. package/build/build-esm/src/booking-wizard/features/sidebar/sidebar-flight.d.ts +1 -0
  19. package/build/build-esm/src/booking-wizard/features/sidebar/sidebar-util.d.ts +2 -1
  20. package/build/build-esm/src/booking-wizard/features/sidebar/sidebar.d.ts +0 -31
  21. package/build/build-esm/src/search-results/components/book-packaging-entry/index.d.ts +7 -0
  22. package/build/build-esm/src/search-results/components/book-packaging-entry/wl-sidebar.d.ts +7 -0
  23. package/build/build-esm/src/search-results/components/spinner/spinner.d.ts +4 -1
  24. package/build/build-esm/src/search-results/store/search-results-slice.d.ts +5 -1
  25. package/build/build-esm/src/shared/booking/BookingPanel.d.ts +13 -0
  26. package/build/build-esm/src/shared/booking/Sidebar.d.ts +34 -0
  27. package/build/build-esm/src/shared/booking/StepIndicators.d.ts +7 -0
  28. package/build/build-esm/src/shared/components/flyin/flyin.d.ts +2 -0
  29. package/build/build-esm/src/shared/components/flyin/packaging-flights-flyin.d.ts +2 -0
  30. package/build/build-esm/src/shared/utils/localization-util.d.ts +1 -0
  31. package/package.json +1 -1
  32. package/src/booking-wizard/components/step-indicator.tsx +10 -31
  33. package/src/booking-wizard/components/step-route.tsx +39 -14
  34. package/src/booking-wizard/features/sidebar/index.tsx +10 -4
  35. package/src/booking-wizard/features/sidebar/sidebar-flight.tsx +2 -2
  36. package/src/booking-wizard/features/sidebar/sidebar-util.ts +1 -5
  37. package/src/booking-wizard/features/sidebar/sidebar.tsx +331 -326
  38. package/src/content/components/image-with-text.tsx +0 -1
  39. package/src/qsm/components/QSMContainer/qsm-container.tsx +189 -83
  40. package/src/qsm/components/item-picker/index.tsx +2 -6
  41. package/src/qsm/components/mobile-filter-modal/index.tsx +15 -1
  42. package/src/search-results/components/book-packaging-entry/index.tsx +48 -0
  43. package/src/search-results/components/book-packaging-entry/wl-sidebar.tsx +165 -0
  44. package/src/search-results/components/excursions/day-by-day-excursions.tsx +6 -2
  45. package/src/search-results/components/excursions/excursion-results.tsx +1 -1
  46. package/src/search-results/components/flight/flight-selection/independent-flight-selection.tsx +12 -3
  47. package/src/search-results/components/hotel/hotel-accommodation-results.tsx +6 -3
  48. package/src/search-results/components/itinerary/full-itinerary.tsx +1 -1
  49. package/src/search-results/components/itinerary/index.tsx +13 -12
  50. package/src/search-results/components/search-results-container/flight-search-results.tsx +1 -1
  51. package/src/search-results/components/search-results-container/search-results-container.tsx +239 -204
  52. package/src/search-results/components/spinner/spinner.tsx +12 -4
  53. package/src/search-results/store/search-results-slice.ts +16 -2
  54. package/src/shared/booking/BookingPanel.tsx +25 -0
  55. package/src/shared/booking/Sidebar.tsx +432 -0
  56. package/src/shared/booking/StepIndicators.tsx +30 -0
  57. package/src/shared/components/flyin/accommodation-flyin.tsx +3 -4
  58. package/src/shared/components/flyin/flights-flyin.tsx +1 -1
  59. package/src/shared/components/flyin/flyin.tsx +12 -4
  60. package/src/shared/components/flyin/group-tour-flyin.tsx +3 -4
  61. package/src/shared/components/flyin/packaging-flights-flyin.tsx +11 -4
  62. package/src/shared/components/icon.tsx +13 -0
  63. package/src/shared/translations/ar-SA.json +7 -1
  64. package/src/shared/translations/da-DK.json +7 -1
  65. package/src/shared/translations/de-DE.json +7 -1
  66. package/src/shared/translations/en-GB.json +8 -2
  67. package/src/shared/translations/es-ES.json +7 -1
  68. package/src/shared/translations/fr-BE.json +7 -1
  69. package/src/shared/translations/fr-FR.json +7 -1
  70. package/src/shared/translations/is-IS.json +7 -1
  71. package/src/shared/translations/it-IT.json +7 -1
  72. package/src/shared/translations/ja-JP.json +7 -1
  73. package/src/shared/translations/nl-BE.json +7 -1
  74. package/src/shared/translations/nl-NL.json +7 -1
  75. package/src/shared/translations/no-NO.json +7 -1
  76. package/src/shared/translations/pl-PL.json +7 -1
  77. package/src/shared/translations/pt-PT.json +7 -1
  78. package/src/shared/translations/sv-SE.json +7 -1
  79. package/src/shared/utils/localization-util.ts +8 -0
  80. package/styles/components/_footer.scss +2 -8
  81. package/styles/components/_loader.scss +82 -0
  82. package/styles/components/_search.scss +14 -7
  83. package/styles/content-blocks-variables.scss +14 -14
  84. /package/build/build-cjs/src/{booking-wizard/components → shared/booking}/product-card.d.ts +0 -0
  85. /package/build/build-esm/src/{booking-wizard/components → shared/booking}/product-card.d.ts +0 -0
  86. /package/src/{booking-wizard/components → shared/booking}/product-card.tsx +0 -0
@@ -596,6 +596,7 @@ var SRP$f = {
596
596
  DEPARTURE_ASC: 'تاريخ المغادرة (الأقرب أولاً)',
597
597
  FILTERS: 'عوامل التصفية',
598
598
  SHOW_ITINERARY: 'عرض خط سير الرحلة',
599
+ VIEW_BOOKING: 'عرض الحجز',
599
600
  ITINERARY_TITLE: 'ملخص رحلتك',
600
601
  DOSSIER_NUMBER: 'رقم الملف',
601
602
  PACKAGE_PRICE_PER_PERSON: 'سعر الباقة للشخص الواحد',
@@ -629,7 +630,12 @@ var SRP$f = {
629
630
  DURATION_ASC: 'المدة تصاعدياً',
630
631
  DURATION_DESC: 'المدة تنازلياً',
631
632
  TRAVEL_GROUP: 'مجموعة المسافرين',
632
- EXCURSION: 'رحلة'
633
+ EXCURSION: 'رحلة',
634
+ LOADING_EXCURSIONS: 'جارٍ تحميل الرحلات...',
635
+ LOADING_FLIGHTS: 'جارٍ تحميل الرحلات الجوية...',
636
+ LOADING_ACCOMMODATIONS: 'جارٍ تحميل الإقامات...',
637
+ LOADING_ITINERARY: 'جارٍ تحميل خط سير الرحلة...',
638
+ LOADING_OPTIONS: 'جارٍ تحميل الخيارات...'
633
639
  };
634
640
  var ITINERARY$f = {
635
641
  DAY: 'اليوم',
@@ -1009,6 +1015,7 @@ var SRP$e = {
1009
1015
  DEPARTURE_ASC: 'Afrejsedato (snarest først)',
1010
1016
  FILTERS: 'Filtre',
1011
1017
  SHOW_ITINERARY: 'Vis rejseplan',
1018
+ VIEW_BOOKING: 'Se booking',
1012
1019
  ITINERARY_TITLE: 'Din rejseoversigt',
1013
1020
  DOSSIER_NUMBER: 'Sagsnummer',
1014
1021
  PACKAGE_PRICE_PER_PERSON: 'pakkepris pr. person',
@@ -1042,7 +1049,12 @@ var SRP$e = {
1042
1049
  DURATION_ASC: 'Varighed stigende',
1043
1050
  DURATION_DESC: 'Varighed faldende',
1044
1051
  TRAVEL_GROUP: 'Rejseselskab',
1045
- EXCURSION: 'Udflugt'
1052
+ EXCURSION: 'Udflugt',
1053
+ LOADING_EXCURSIONS: 'Indlæser udflugter...',
1054
+ LOADING_FLIGHTS: 'Indlæser fly...',
1055
+ LOADING_ACCOMMODATIONS: 'Indlæser indkvarteringer...',
1056
+ LOADING_ITINERARY: 'Indlæser rejseplan...',
1057
+ LOADING_OPTIONS: 'Indlæser muligheder...'
1046
1058
  };
1047
1059
  var ITINERARY$e = {
1048
1060
  DAY: 'Dag',
@@ -1427,6 +1439,7 @@ var SRP$d = {
1427
1439
  DEPARTURE_ASC: 'Abreisedatum (früheste zuerst)',
1428
1440
  FILTERS: 'Filter',
1429
1441
  SHOW_ITINERARY: 'Reiseverlauf anzeigen',
1442
+ VIEW_BOOKING: 'Buchung anzeigen',
1430
1443
  ITINERARY_TITLE: 'Ihre Reiseübersicht',
1431
1444
  DOSSIER_NUMBER: 'Vorgangsnummer',
1432
1445
  PACKAGE_PRICE_PER_PERSON: 'Paketpreis pro Person',
@@ -1456,7 +1469,12 @@ var SRP$d = {
1456
1469
  ARRIVAL_AIRPORTS: 'Ankunftsflughäfen',
1457
1470
  PRICE: 'Preis',
1458
1471
  TRAVEL_GROUP: 'Reisegruppe',
1459
- EXCURSION: 'Ausflug'
1472
+ EXCURSION: 'Ausflug',
1473
+ LOADING_EXCURSIONS: 'Lade Ausflüge...',
1474
+ LOADING_FLIGHTS: 'Lade Flüge...',
1475
+ LOADING_ACCOMMODATIONS: 'Lade Unterkünfte...',
1476
+ LOADING_ITINERARY: 'Lade Reiseverlauf...',
1477
+ LOADING_OPTIONS: 'Lade Optionen...'
1460
1478
  };
1461
1479
  var ITINERARY$d = {
1462
1480
  DAY: 'Tag',
@@ -1541,7 +1559,7 @@ var PRODUCT$c = {
1541
1559
  STAY_INCLUDED: 'Stay included',
1542
1560
  FLIGHT_INCLUDED: 'Flight included',
1543
1561
  TRANSFER_INCLUDED: 'Transfer included',
1544
- LOADING_PRICE: 'Your price is being composed.',
1562
+ LOADING_PRICE: 'Loading price...',
1545
1563
  PER_PERSON: 'Per person',
1546
1564
  PER_NIGHT: 'Per night',
1547
1565
  PER_PERSON_PER_NIGHT: 'Per person / per night',
@@ -1844,6 +1862,7 @@ var SRP$c = {
1844
1862
  DEPARTURE_ASC: 'Departure date (soonest first)',
1845
1863
  FILTERS: 'Filters',
1846
1864
  SHOW_ITINERARY: 'Show itinerary',
1865
+ VIEW_BOOKING: 'View booking',
1847
1866
  ITINERARY_TITLE: 'Your trip summary',
1848
1867
  DOSSIER_NUMBER: 'File number',
1849
1868
  PACKAGE_PRICE_PER_PERSON: 'package price per person',
@@ -1873,7 +1892,12 @@ var SRP$c = {
1873
1892
  DEPARTURE_AIRPORTS: 'Departure airports',
1874
1893
  ARRIVAL_AIRPORTS: 'Arrival airports',
1875
1894
  TRAVEL_GROUP: 'Travel group',
1876
- EXCURSION: 'Excursion'
1895
+ EXCURSION: 'Excursion',
1896
+ LOADING_EXCURSIONS: 'Loading excursions...',
1897
+ LOADING_FLIGHTS: 'Loading flights...',
1898
+ LOADING_ACCOMMODATIONS: 'Loading accommodations...',
1899
+ LOADING_ITINERARY: 'Loading itinerary...',
1900
+ LOADING_OPTIONS: 'Loading options...'
1877
1901
  };
1878
1902
  var ITINERARY$c = {
1879
1903
  DAY: 'Day',
@@ -2258,6 +2282,7 @@ var SRP$b = {
2258
2282
  DEPARTURE_ASC: 'Fecha de salida (más próxima primero)',
2259
2283
  FILTERS: 'Filtros',
2260
2284
  SHOW_ITINERARY: 'Mostrar itinerario',
2285
+ VIEW_BOOKING: 'Ver reserva',
2261
2286
  ITINERARY_TITLE: 'Resumen de tu viaje',
2262
2287
  DOSSIER_NUMBER: 'Número de expediente',
2263
2288
  PACKAGE_PRICE_PER_PERSON: 'precio del paquete por persona',
@@ -2287,7 +2312,12 @@ var SRP$b = {
2287
2312
  ARRIVAL_AIRPORTS: 'Aeropuertos de llegada',
2288
2313
  PRICE: 'Precio',
2289
2314
  TRAVEL_GROUP: 'Grupo de viaje',
2290
- EXCURSION: 'Excursión'
2315
+ EXCURSION: 'Excursión',
2316
+ LOADING_EXCURSIONS: 'Cargando excursiones...',
2317
+ LOADING_FLIGHTS: 'Cargando vuelos...',
2318
+ LOADING_ACCOMMODATIONS: 'Cargando alojamientos...',
2319
+ LOADING_ITINERARY: 'Cargando itinerario...',
2320
+ LOADING_OPTIONS: 'Cargando opciones...'
2291
2321
  };
2292
2322
  var ITINERARY$b = {
2293
2323
  DAY: 'Día',
@@ -2676,6 +2706,7 @@ var SRP$a = {
2676
2706
  DEPARTURE_ASC: 'Date de départ (la plus proche d’abord)',
2677
2707
  FILTERS: 'Filtres',
2678
2708
  SHOW_ITINERARY: 'Afficher l’itinéraire',
2709
+ VIEW_BOOKING: 'Voir la réservation',
2679
2710
  ITINERARY_TITLE: 'Résumé de votre voyage',
2680
2711
  DOSSIER_NUMBER: 'Numéro de dossier',
2681
2712
  PACKAGE_PRICE_PER_PERSON: 'prix du forfait par personne',
@@ -2705,7 +2736,12 @@ var SRP$a = {
2705
2736
  ARRIVAL_AIRPORTS: 'Aéroports d’arrivée',
2706
2737
  PRICE: 'Prix',
2707
2738
  TRAVEL_GROUP: 'Groupe de voyageurs',
2708
- EXCURSION: 'Excursion'
2739
+ EXCURSION: 'Excursion',
2740
+ LOADING_EXCURSIONS: 'Chargement des excursions...',
2741
+ LOADING_FLIGHTS: 'Chargement des vols...',
2742
+ LOADING_ACCOMMODATIONS: 'Chargement des hébergements...',
2743
+ LOADING_ITINERARY: 'Chargement de l’itinéraire...',
2744
+ LOADING_OPTIONS: 'Chargement des options...'
2709
2745
  };
2710
2746
  var ITINERARY$a = {
2711
2747
  DAY: 'Jour',
@@ -3089,6 +3125,7 @@ var SRP$9 = {
3089
3125
  DEPARTURE_ASC: 'Date de départ (la plus proche d’abord)',
3090
3126
  FILTERS: 'Filtres',
3091
3127
  SHOW_ITINERARY: 'Afficher l’itinéraire',
3128
+ VIEW_BOOKING: 'Voir la réservation',
3092
3129
  ITINERARY_TITLE: 'Résumé de votre voyage',
3093
3130
  DOSSIER_NUMBER: 'Numéro de dossier',
3094
3131
  PACKAGE_PRICE_PER_PERSON: 'prix du forfait par personne',
@@ -3118,7 +3155,12 @@ var SRP$9 = {
3118
3155
  ARRIVAL_AIRPORTS: 'Aéroports d’arrivée',
3119
3156
  PRICE: 'Prix',
3120
3157
  TRAVEL_GROUP: 'Groupe de voyageurs',
3121
- EXCURSION: 'Excursion'
3158
+ EXCURSION: 'Excursion',
3159
+ LOADING_EXCURSIONS: 'Chargement des excursions...',
3160
+ LOADING_FLIGHTS: 'Chargement des vols...',
3161
+ LOADING_ACCOMMODATIONS: 'Chargement des hébergements...',
3162
+ LOADING_ITINERARY: 'Chargement de l’itinéraire...',
3163
+ LOADING_OPTIONS: 'Chargement des options...'
3122
3164
  };
3123
3165
  var ITINERARY$9 = {
3124
3166
  DAY: 'Jour',
@@ -3502,6 +3544,7 @@ var SRP$8 = {
3502
3544
  DEPARTURE_ASC: 'Brottfarardagur (nærst fyrst)',
3503
3545
  FILTERS: 'Síur',
3504
3546
  SHOW_ITINERARY: 'Sýna ferðaráætlun',
3547
+ VIEW_BOOKING: 'Skoða bókun',
3505
3548
  ITINERARY_TITLE: 'Yfirlit ferðarinnar',
3506
3549
  DOSSIER_NUMBER: 'Skrárnúmer',
3507
3550
  PACKAGE_PRICE_PER_PERSON: 'pakka verð á mann',
@@ -3531,7 +3574,12 @@ var SRP$8 = {
3531
3574
  ARRIVAL_AIRPORTS: 'Komuflugvellir',
3532
3575
  PRICE: 'Verð',
3533
3576
  TRAVEL_GROUP: 'Ferðahópur',
3534
- EXCURSION: 'Útflutningur'
3577
+ EXCURSION: 'Útflutningur',
3578
+ LOADING_EXCURSIONS: 'Hleðst inn í útflutninga...',
3579
+ LOADING_FLIGHTS: 'Hleðst inn í flug...',
3580
+ LOADING_ACCOMMODATIONS: 'Hleðst inn í gistingar...',
3581
+ LOADING_ITINERARY: 'Hleðst inn í ferðaráætlun...',
3582
+ LOADING_OPTIONS: 'Hleðst inn í valkosti...'
3535
3583
  };
3536
3584
  var ITINERARY$8 = {
3537
3585
  DAY: 'Dagur',
@@ -3916,6 +3964,7 @@ var SRP$7 = {
3916
3964
  DEPARTURE_ASC: 'Data di partenza (prima la più vicina)',
3917
3965
  FILTERS: 'Filtri',
3918
3966
  SHOW_ITINERARY: 'Mostra itinerario',
3967
+ VIEW_BOOKING: 'Visualizza prenotazione',
3919
3968
  ITINERARY_TITLE: 'Riepilogo del tuo viaggio',
3920
3969
  DOSSIER_NUMBER: 'Numero di pratica',
3921
3970
  PACKAGE_PRICE_PER_PERSON: 'prezzo pacchetto per persona',
@@ -3945,7 +3994,12 @@ var SRP$7 = {
3945
3994
  ARRIVAL_AIRPORTS: 'Aeroporti di arrivo',
3946
3995
  PRICE: 'Prezzo',
3947
3996
  TRAVEL_GROUP: 'Gruppo di viaggio',
3948
- EXCURSION: 'Escursione'
3997
+ EXCURSION: 'Escursione',
3998
+ LOADING_EXCURSIONS: 'Caricamento delle escursioni...',
3999
+ LOADING_FLIGHTS: 'Caricamento dei voli...',
4000
+ LOADING_ACCOMMODATIONS: 'Caricamento degli alloggi...',
4001
+ LOADING_ITINERARY: "Caricamento dell'itinerario...",
4002
+ LOADING_OPTIONS: 'Caricamento delle opzioni...'
3949
4003
  };
3950
4004
  var ITINERARY$7 = {
3951
4005
  DAY: 'Giorno',
@@ -4334,6 +4388,7 @@ var SRP$6 = {
4334
4388
  DEPARTURE_ASC: 'Vertrekdatum (dichtstbij eerst)',
4335
4389
  FILTERS: 'Filters',
4336
4390
  SHOW_ITINERARY: 'Toon reisplan',
4391
+ VIEW_BOOKING: 'Bekijk boeking',
4337
4392
  ITINERARY_TITLE: 'Overzicht van je reis',
4338
4393
  DOSSIER_NUMBER: 'Dossiernummer',
4339
4394
  PACKAGE_PRICE_PER_PERSON: 'pakketprijs per persoon',
@@ -4363,7 +4418,12 @@ var SRP$6 = {
4363
4418
  ARRIVAL_AIRPORTS: 'Aankomstluchthavens',
4364
4419
  PRICE: 'Prijs',
4365
4420
  TRAVEL_GROUP: 'Reisgezelschap',
4366
- EXCURSION: 'Excursie'
4421
+ EXCURSION: 'Excursie',
4422
+ LOADING_EXCURSIONS: 'Excursies laden...',
4423
+ LOADING_FLIGHTS: 'Vluchten laden...',
4424
+ LOADING_ACCOMMODATIONS: 'Accommodaties laden...',
4425
+ LOADING_ITINERARY: 'Reisplan laden...',
4426
+ LOADING_OPTIONS: 'Opties laden...'
4367
4427
  };
4368
4428
  var ITINERARY$6 = {
4369
4429
  DAY: 'Dag',
@@ -4748,6 +4808,7 @@ var SRP$5 = {
4748
4808
  DEPARTURE_ASC: 'Vertrekdatum (dichtstbij eerst)',
4749
4809
  FILTERS: 'Filters',
4750
4810
  SHOW_ITINERARY: 'Toon reisplan',
4811
+ VIEW_BOOKING: 'Bekijk boeking',
4751
4812
  ITINERARY_TITLE: 'Overzicht van je reis',
4752
4813
  DOSSIER_NUMBER: 'Dossiernummer',
4753
4814
  PACKAGE_PRICE_PER_PERSON: 'pakketprijs per persoon',
@@ -4777,7 +4838,12 @@ var SRP$5 = {
4777
4838
  ARRIVAL_AIRPORTS: 'Aankomstluchthavens',
4778
4839
  PRICE: 'Prijs',
4779
4840
  TRAVEL_GROUP: 'Reisgezelschap',
4780
- EXCURSION: 'Excursie'
4841
+ EXCURSION: 'Excursie',
4842
+ LOADING_EXCURSIONS: 'Excursies laden...',
4843
+ LOADING_FLIGHTS: 'Vluchten laden...',
4844
+ LOADING_ACCOMMODATIONS: 'Accommodaties laden...',
4845
+ LOADING_ITINERARY: 'Reisplan laden...',
4846
+ LOADING_OPTIONS: 'Opties laden...'
4781
4847
  };
4782
4848
  var ITINERARY$5 = {
4783
4849
  DAY: 'Dag',
@@ -5162,6 +5228,7 @@ var SRP$4 = {
5162
5228
  DEPARTURE_ASC: 'Avreisedato (nærmeste først)',
5163
5229
  FILTERS: 'Filtre',
5164
5230
  SHOW_ITINERARY: 'Vis reiserute',
5231
+ VIEW_BOOKING: 'Se bestilling',
5165
5232
  ITINERARY_TITLE: 'Din reisemåloversikt',
5166
5233
  DOSSIER_NUMBER: 'Saksnummer',
5167
5234
  PACKAGE_PRICE_PER_PERSON: 'pakkepris per person',
@@ -5191,7 +5258,12 @@ var SRP$4 = {
5191
5258
  ARRIVAL_AIRPORTS: 'Ankomstflyplasser',
5192
5259
  PRICE: 'Pris',
5193
5260
  TRAVEL_GROUP: 'Reisefølge',
5194
- EXCURSION: 'Utflukt'
5261
+ EXCURSION: 'Utflukt',
5262
+ LOADING_EXCURSIONS: 'Laster utflukter...',
5263
+ LOADING_FLIGHTS: 'Laster flyvninger...',
5264
+ LOADING_ACCOMMODATIONS: 'Laster overnattinger...',
5265
+ LOADING_ITINERARY: 'Laster reiserute...',
5266
+ LOADING_OPTIONS: 'Laster alternativer...'
5195
5267
  };
5196
5268
  var ITINERARY$4 = {
5197
5269
  DAY: 'Dag',
@@ -5576,6 +5648,7 @@ var SRP$3 = {
5576
5648
  DEPARTURE_ASC: 'Data wyjazdu (najbliższa najpierw)',
5577
5649
  FILTERS: 'Filtry',
5578
5650
  SHOW_ITINERARY: 'Pokaż plan podróży',
5651
+ VIEW_BOOKING: 'Zobacz rezerwację',
5579
5652
  ITINERARY_TITLE: 'Podsumowanie Twojej podróży',
5580
5653
  DOSSIER_NUMBER: 'Numer pliku',
5581
5654
  PACKAGE_PRICE_PER_PERSON: 'cena pakietu za osobę',
@@ -5605,7 +5678,12 @@ var SRP$3 = {
5605
5678
  ARRIVAL_AIRPORTS: 'Lotniska przylotu',
5606
5679
  PRICE: 'Cena',
5607
5680
  TRAVEL_GROUP: 'Grupa podróżnych',
5608
- EXCURSION: 'Wycieczka'
5681
+ EXCURSION: 'Wycieczka',
5682
+ LOADING_EXCURSIONS: 'Ładowanie wycieczek...',
5683
+ LOADING_FLIGHTS: 'Ładowanie lotów...',
5684
+ LOADING_ACCOMMODATIONS: 'Ładowanie zakwaterowań...',
5685
+ LOADING_ITINERARY: 'Ładowanie planu podróży...',
5686
+ LOADING_OPTIONS: 'Ładowanie opcji...'
5609
5687
  };
5610
5688
  var ITINERARY$3 = {
5611
5689
  DAY: 'Dzień',
@@ -5990,6 +6068,7 @@ var SRP$2 = {
5990
6068
  DEPARTURE_ASC: 'Data de partida (mais próxima primeiro)',
5991
6069
  FILTERS: 'Filtros',
5992
6070
  SHOW_ITINERARY: 'Mostrar itinerário',
6071
+ VIEW_BOOKING: 'Ver reserva',
5993
6072
  ITINERARY_TITLE: 'Resumo da sua viagem',
5994
6073
  DOSSIER_NUMBER: 'Número do processo',
5995
6074
  PACKAGE_PRICE_PER_PERSON: 'preço do pacote por pessoa',
@@ -6019,7 +6098,12 @@ var SRP$2 = {
6019
6098
  ARRIVAL_AIRPORTS: 'Aeroportos de chegada',
6020
6099
  PRICE: 'Preço',
6021
6100
  TRAVEL_GROUP: 'Grupo de viajantes',
6022
- EXCURSION: 'Excursão'
6101
+ EXCURSION: 'Excursão',
6102
+ LOADING_EXCURSIONS: 'A carregar excursões...',
6103
+ LOADING_FLIGHTS: 'A carregar voos...',
6104
+ LOADING_ACCOMMODATIONS: 'A carregar alojamentos...',
6105
+ LOADING_ITINERARY: 'A carregar itinerário...',
6106
+ LOADING_OPTIONS: 'A carregar opções...'
6023
6107
  };
6024
6108
  var ITINERARY$2 = {
6025
6109
  DAY: 'Dia',
@@ -6404,6 +6488,7 @@ var SRP$1 = {
6404
6488
  DEPARTURE_ASC: 'Avresedatum (närmast först)',
6405
6489
  FILTERS: 'Filter',
6406
6490
  SHOW_ITINERARY: 'Visa resplan',
6491
+ VIEW_BOOKING: 'Visa bokning',
6407
6492
  ITINERARY_TITLE: 'Din resesammanfattning',
6408
6493
  DOSSIER_NUMBER: 'Filnummer',
6409
6494
  PACKAGE_PRICE_PER_PERSON: 'paketpris per person',
@@ -6433,7 +6518,12 @@ var SRP$1 = {
6433
6518
  ARRIVAL_AIRPORTS: 'Ankomstflygplatser',
6434
6519
  PRICE: 'Pris',
6435
6520
  TRAVEL_GROUP: 'Resesällskap',
6436
- EXCURSION: 'Utflykt'
6521
+ EXCURSION: 'Utflykt',
6522
+ LOADING_EXCURSIONS: 'Laddar utflykter...',
6523
+ LOADING_FLIGHTS: 'Laddar flyg...',
6524
+ LOADING_ACCOMMODATIONS: 'Laddar boenden...',
6525
+ LOADING_ITINERARY: 'Laddar resplan...',
6526
+ LOADING_OPTIONS: 'Laddar alternativ...'
6437
6527
  };
6438
6528
  var ITINERARY$1 = {
6439
6529
  DAY: 'Dag',
@@ -6816,6 +6906,7 @@ var SRP = {
6816
6906
  DEPARTURE_ASC: '出発日(早い順)',
6817
6907
  FILTERS: 'フィルター',
6818
6908
  SHOW_ITINERARY: '旅程を表示',
6909
+ VIEW_BOOKING: '予約を見る',
6819
6910
  ITINERARY_TITLE: 'あなたの旅行概要',
6820
6911
  DOSSIER_NUMBER: 'ファイル番号',
6821
6912
  PACKAGE_PRICE_PER_PERSON: '1人あたりのパッケージ料金',
@@ -6845,7 +6936,12 @@ var SRP = {
6845
6936
  ARRIVAL_AIRPORTS: '到着空港',
6846
6937
  PRICE: '価格',
6847
6938
  TRAVEL_GROUP: '旅行グループ',
6848
- EXCURSION: 'エクスカーション'
6939
+ EXCURSION: 'エクスカーション',
6940
+ LOADING_EXCURSIONS: 'エクスカーションを読み込み中...',
6941
+ LOADING_FLIGHTS: 'フライトを読み込み中...',
6942
+ LOADING_ACCOMMODATIONS: '宿泊施設を読み込み中...',
6943
+ LOADING_ITINERARY: '旅程を読み込み中...',
6944
+ LOADING_OPTIONS: 'オプションを読み込み中...'
6849
6945
  };
6850
6946
  var ITINERARY = {
6851
6947
  DAY: '日',
@@ -6995,6 +7091,14 @@ function format(text, args) {
6995
7091
  return typeof args[index] == 'undefined' ? match : args[index];
6996
7092
  });
6997
7093
  }
7094
+ var formatDate = function (date) {
7095
+ return new Intl.DateTimeFormat('nl-BE', {
7096
+ weekday: 'short',
7097
+ day: '2-digit',
7098
+ month: 'short',
7099
+ year: '2-digit'
7100
+ }).format(new Date(date));
7101
+ };
6998
7102
  var dateToDateStruct = function (date) {
6999
7103
  if (date === undefined) {
7000
7104
  return { year: 0, month: 0, day: 0 };
@@ -7098,6 +7202,11 @@ var getDatesBetween = function (fromDate, toDate) {
7098
7202
  }
7099
7203
  return dates;
7100
7204
  };
7205
+ var getDateOnlyTime = function (date) {
7206
+ if (!date) return 0;
7207
+ var parsedDate = new Date(date);
7208
+ return new Date(parsedDate.getFullYear(), parsedDate.getMonth(), parsedDate.getDate()).getTime();
7209
+ };
7101
7210
 
7102
7211
  var getDateFromParams = function (params, name) {
7103
7212
  var dateString = params.get(name);
@@ -16748,6 +16857,28 @@ var Icon = function (_a) {
16748
16857
  d: 'M256 0c14.7 0 28.2 8.1 35.2 21l216 400c6.7 12.4 6.4 27.4-.8 39.5S486.1 480 472 480L40 480c-14.1 0-27.2-7.4-34.4-19.5s-7.5-27.1-.8-39.5l216-400c7-12.9 20.5-21 35.2-21zm0 352a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-192c-18.2 0-32.7 15.5-31.4 33.7l7.4 104c.9 12.5 11.4 22.3 23.9 22.3 12.6 0 23-9.7 23.9-22.3l7.4-104c1.3-18.2-13.1-33.7-31.4-33.7z'
16749
16858
  })
16750
16859
  );
16860
+ case 'ui-shopping-cart':
16861
+ return React__default['default'].createElement(
16862
+ 'svg',
16863
+ {
16864
+ className: ['icon', 'icon--'.concat(name), className]
16865
+ .filter(function (className) {
16866
+ return !lodash.isEmpty(className);
16867
+ })
16868
+ .join(' '),
16869
+ width: width,
16870
+ height: height,
16871
+ viewBox: '0 0 640 512',
16872
+ fill: fill !== null && fill !== void 0 ? fill : 'currentColor'
16873
+ },
16874
+ React__default['default'].createElement(HTMLComment, {
16875
+ text: '!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.'
16876
+ }),
16877
+ title && React__default['default'].createElement('title', null, title),
16878
+ React__default['default'].createElement('path', {
16879
+ d: 'M24-16C10.7-16 0-5.3 0 8S10.7 32 24 32l45.3 0c3.9 0 7.2 2.8 7.9 6.6l52.1 286.3c6.2 34.2 36 59.1 70.8 59.1L456 384c13.3 0 24-10.7 24-24s-10.7-24-24-24l-255.9 0c-11.6 0-21.5-8.3-23.6-19.7l-5.1-28.3 303.6 0c30.8 0 57.2-21.9 62.9-52.2L568.9 69.9C572.6 50.2 557.5 32 537.4 32l-412.7 0-.4-2c-4.8-26.6-28-46-55.1-46L24-16zM208 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm224 0a48 48 0 1 0 0-96 48 48 0 1 0 0 96z'
16880
+ })
16881
+ );
16751
16882
  default:
16752
16883
  return null;
16753
16884
  }
@@ -20640,47 +20771,27 @@ var SettingsContext = React__default['default'].createContext({
20640
20771
  }
20641
20772
  });
20642
20773
 
20643
- var StepIndicators = function (_a) {
20644
- var currentStep = _a.currentStep;
20645
- var _b = React.useContext(SettingsContext),
20646
- flightOptions = _b.flightOptions,
20647
- roomOptions = _b.roomOptions;
20648
- var translations = reactRedux.useSelector(selectTranslations);
20649
- var travelersFirstStep = reactRedux.useSelector(selectTravelersFirstStep);
20650
- var allSteps = [];
20651
- if (travelersFirstStep) {
20652
- allSteps.push(translations.STEPS.PERSONAL_DETAILS);
20653
- }
20654
- if (!flightOptions.isHidden) {
20655
- allSteps.push(translations.STEPS.FLIGHT_OPTIONS);
20656
- }
20657
- if (!roomOptions.isHidden) {
20658
- allSteps.push(translations.STEPS.ROOM_OPTIONS);
20659
- }
20660
- allSteps.push(translations.STEPS.EXTRA_OPTIONS);
20661
- if (!travelersFirstStep) {
20662
- allSteps.push(translations.STEPS.PERSONAL_DETAILS);
20663
- }
20664
- allSteps.push(translations.STEPS.SUMMARY);
20665
- allSteps.push(translations.STEPS.CONFIRMATION);
20774
+ var StepIndicators$1 = function (_a) {
20775
+ var currentStep = _a.currentStep,
20776
+ stepLabels = _a.stepLabels;
20666
20777
  return React__default['default'].createElement(
20667
20778
  'div',
20668
20779
  { className: 'step-indicators' },
20669
20780
  React__default['default'].createElement(
20670
20781
  'div',
20671
20782
  { className: 'step-indicators__items' },
20672
- allSteps.map(function (stepName, index) {
20783
+ stepLabels.map(function (stepName, index) {
20673
20784
  return React__default['default'].createElement(
20674
20785
  'div',
20675
20786
  {
20676
20787
  key: ''.concat(index + 1, '-').concat(stepName),
20677
20788
  className: buildClassName([
20678
20789
  'step-indicators__item',
20679
- currentStep === index + 1 && 'step-indicators__item--active',
20680
- currentStep > index + 1 && 'step-indicators__item--completed'
20790
+ currentStep === index && 'step-indicators__item--active',
20791
+ currentStep > index && 'step-indicators__item--completed'
20681
20792
  ])
20682
20793
  },
20683
- React__default['default'].createElement('div', { className: 'step-indicators__icon step-indicators__icon' }, index + 1),
20794
+ React__default['default'].createElement('div', { className: 'step-indicators__icon' }, index + 1),
20684
20795
  React__default['default'].createElement('div', { className: 'step-indicators__text' }, stepName)
20685
20796
  );
20686
20797
  })
@@ -20688,27 +20799,94 @@ var StepIndicators = function (_a) {
20688
20799
  );
20689
20800
  };
20690
20801
 
20691
- var StepRoute = function (_a) {
20692
- var number = _a.number,
20693
- title = _a.title,
20694
- component = _a.component;
20802
+ var StepIndicators = function (_a) {
20803
+ var currentStep = _a.currentStep;
20804
+ var _b = React.useContext(SettingsContext),
20805
+ flightOptions = _b.flightOptions,
20806
+ roomOptions = _b.roomOptions;
20807
+ var translations = reactRedux.useSelector(selectTranslations);
20808
+ var travelersFirstStep = reactRedux.useSelector(selectTravelersFirstStep);
20809
+ var stepLabels = [];
20810
+ if (travelersFirstStep) {
20811
+ stepLabels.push(translations.STEPS.PERSONAL_DETAILS);
20812
+ }
20813
+ if (!flightOptions.isHidden) {
20814
+ stepLabels.push(translations.STEPS.FLIGHT_OPTIONS);
20815
+ }
20816
+ if (!roomOptions.isHidden) {
20817
+ stepLabels.push(translations.STEPS.ROOM_OPTIONS);
20818
+ }
20819
+ stepLabels.push(translations.STEPS.EXTRA_OPTIONS);
20820
+ if (!travelersFirstStep) {
20821
+ stepLabels.push(translations.STEPS.PERSONAL_DETAILS);
20822
+ }
20823
+ stepLabels.push(translations.STEPS.SUMMARY);
20824
+ stepLabels.push(translations.STEPS.CONFIRMATION);
20825
+ return React__default['default'].createElement(StepIndicators$1, { currentStep: currentStep, stepLabels: stepLabels });
20826
+ };
20827
+
20828
+ var BookingPanel = function (_a) {
20829
+ var currentStep = _a.currentStep,
20830
+ stepLabels = _a.stepLabels,
20831
+ renderTitle = _a.renderTitle,
20832
+ children = _a.children,
20833
+ StepIndicatorsComponent = _a.StepIndicatorsComponent;
20695
20834
  return React__default['default'].createElement(
20696
- React__default['default'].Fragment,
20697
- null,
20698
- React__default['default'].createElement(StepIndicators, { currentStep: number }),
20835
+ 'div',
20836
+ { className: 'booking__panel' },
20837
+ React__default['default'].createElement(StepIndicatorsComponent, { currentStep: currentStep, stepLabels: stepLabels }),
20699
20838
  React__default['default'].createElement(
20700
20839
  'div',
20701
20840
  { className: 'booking__panel-frame booking__panel-frame--transparent' },
20702
20841
  React__default['default'].createElement(
20703
20842
  'div',
20704
20843
  { className: 'booking__panel-heading' },
20705
- React__default['default'].createElement('h4', { className: 'booking__panel-title' }, number, '. ', title)
20844
+ React__default['default'].createElement('h4', { className: 'booking__panel-title' }, renderTitle(currentStep))
20706
20845
  ),
20707
- React__default['default'].createElement('div', { className: 'booking__panel-body' }, component)
20846
+ React__default['default'].createElement('div', { className: 'booking__panel-body' }, children)
20708
20847
  )
20709
20848
  );
20710
20849
  };
20711
20850
 
20851
+ var StepRoute = function (_a) {
20852
+ var number = _a.number;
20853
+ _a.title;
20854
+ var component = _a.component;
20855
+ var _b = React.useContext(SettingsContext),
20856
+ flightOptions = _b.flightOptions,
20857
+ roomOptions = _b.roomOptions;
20858
+ var translations = reactRedux.useSelector(selectTranslations);
20859
+ var travelersFirstStep = reactRedux.useSelector(selectTravelersFirstStep);
20860
+ var stepLabels = [];
20861
+ if (travelersFirstStep) {
20862
+ stepLabels.push(translations.STEPS.PERSONAL_DETAILS);
20863
+ }
20864
+ if (!flightOptions.isHidden) {
20865
+ stepLabels.push(translations.STEPS.FLIGHT_OPTIONS);
20866
+ }
20867
+ if (!roomOptions.isHidden) {
20868
+ stepLabels.push(translations.STEPS.ROOM_OPTIONS);
20869
+ }
20870
+ stepLabels.push(translations.STEPS.EXTRA_OPTIONS);
20871
+ if (!travelersFirstStep) {
20872
+ stepLabels.push(translations.STEPS.PERSONAL_DETAILS);
20873
+ }
20874
+ stepLabels.push(translations.STEPS.SUMMARY);
20875
+ stepLabels.push(translations.STEPS.CONFIRMATION);
20876
+ return React__default['default'].createElement(
20877
+ BookingPanel,
20878
+ {
20879
+ currentStep: number,
20880
+ stepLabels: stepLabels,
20881
+ StepIndicatorsComponent: StepIndicators,
20882
+ renderTitle: function (step) {
20883
+ return React__default['default'].createElement(React__default['default'].Fragment, null, step + 1, '. ', stepLabels[step]);
20884
+ }
20885
+ },
20886
+ component
20887
+ );
20888
+ };
20889
+
20712
20890
  var _a$2;
20713
20891
  var initialState$4 = {
20714
20892
  apiUrl: '',
@@ -21863,8 +22041,7 @@ var FlightFilter = function (_a) {
21863
22041
  );
21864
22042
  };
21865
22043
 
21866
- var getTravelersText = function (rooms) {
21867
- var translations = reactRedux.useSelector(selectTranslations);
22044
+ var getTravelersText = function (rooms, translations) {
21868
22045
  return rooms.map(function (r) {
21869
22046
  return lodash
21870
22047
  .compact([
@@ -25355,7 +25532,7 @@ var selectPackagePriceDetails = toolkit.createSelector(selectPriceDetails, funct
25355
25532
  return priceDetail.isInPackage;
25356
25533
  });
25357
25534
  });
25358
- var selectSeparatePackagePriceDetails = toolkit.createSelector(selectPackagePriceDetails, function (pricedetails) {
25535
+ var selectSeparatePackagePriceDetails$1 = toolkit.createSelector(selectPackagePriceDetails, function (pricedetails) {
25359
25536
  var result = [];
25360
25537
  var filteredPriceDetails = pricedetails.filter(function (priceDetail) {
25361
25538
  return priceDetail.isSeparate;
@@ -25497,11 +25674,11 @@ var ProductCard = function (_a) {
25497
25674
 
25498
25675
  var SidebarFlight = function (_a) {
25499
25676
  var title = _a.title,
25500
- flightMetaData = _a.flightMetaData;
25677
+ flightMetaData = _a.flightMetaData,
25678
+ translations = _a.translations;
25501
25679
  var flightLines = parseFlightLines(flightMetaData);
25502
25680
  var firstFlight = lodash.first(flightLines);
25503
25681
  var lastFlight = lodash.last(flightLines);
25504
- var translations = reactRedux.useSelector(selectTranslations);
25505
25682
  return React__default['default'].createElement(
25506
25683
  'div',
25507
25684
  { className: 'pricing-summary__group' },
@@ -25567,47 +25744,50 @@ var SidebarFlight = function (_a) {
25567
25744
  );
25568
25745
  };
25569
25746
 
25570
- var Sidebar = function (_a) {
25747
+ var SharedSidebar = function (_a) {
25571
25748
  var productName = _a.productName,
25572
25749
  thumbnailUrl = _a.thumbnailUrl,
25573
25750
  isLoading = _a.isLoading,
25751
+ translations = _a.translations,
25752
+ headerComponent = _a.headerComponent,
25574
25753
  travelerRooms = _a.travelerRooms,
25575
25754
  startDateText = _a.startDateText,
25576
25755
  endDateText = _a.endDateText,
25756
+ loaderComponent = _a.loaderComponent,
25577
25757
  departureFlightMetaData = _a.departureFlightMetaData,
25578
25758
  returnFlightMetaData = _a.returnFlightMetaData,
25759
+ accommodations = _a.accommodations,
25760
+ packagingAccommodations = _a.packagingAccommodations,
25761
+ isOnRequest = _a.isOnRequest,
25762
+ includedServiceTypes = _a.includedServiceTypes,
25579
25763
  basePrice = _a.basePrice,
25580
25764
  commission = _a.commission,
25581
25765
  totalPrice = _a.totalPrice,
25582
25766
  includedCosts = _a.includedCosts,
25583
25767
  extraCosts = _a.extraCosts,
25584
25768
  deposit = _a.deposit,
25585
- accommodations = _a.accommodations,
25586
- includedServiceTypes = _a.includedServiceTypes,
25587
- isOnRequest = _a.isOnRequest,
25588
- headerComponent = _a.headerComponent,
25589
- footerComponent = _a.footerComponent,
25590
- loaderComponent = _a.loaderComponent,
25591
- isUnavailable = _a.isUnavailable,
25592
25769
  basePricePerPaxType = _a.basePricePerPaxType,
25593
- seperateExtraPricePerPaxType = _a.seperateExtraPricePerPaxType;
25770
+ seperateExtraPricePerPaxType = _a.seperateExtraPricePerPaxType,
25771
+ isUnavailable = _a.isUnavailable,
25772
+ agent = _a.agent,
25773
+ footerComponent = _a.footerComponent;
25774
+ if (!translations) return null;
25594
25775
  var _b = React.useState(false),
25595
25776
  active = _b[0],
25596
25777
  setActive = _b[1];
25597
- var translations = reactRedux.useSelector(selectTranslations);
25598
- var currencyCode = reactRedux.useSelector(selectCurrencyCode);
25599
- var isAgent = reactRedux.useSelector(selectAgentAdressId);
25778
+ var handleToggleClick = function () {
25779
+ setActive(!active);
25780
+ };
25781
+ var isFlightOnly =
25782
+ (includedServiceTypes === null || includedServiceTypes === void 0 ? void 0 : includedServiceTypes.length) === 1 &&
25783
+ includedServiceTypes.includes(build.ServiceType.flight);
25600
25784
  var canShowPriceBreakdownSection = Boolean(basePrice && basePrice > 0) || !lodash.isEmpty(includedCosts) || !lodash.isEmpty(extraCosts);
25601
25785
  var canShowTotalPriceSection = Boolean(totalPrice && totalPrice > 0);
25602
25786
  var remainingAmount = Number(
25603
25787
  ((totalPrice !== null && totalPrice !== void 0 ? totalPrice : 0) - (deposit !== null && deposit !== void 0 ? deposit : 0)).toFixed(2)
25604
25788
  );
25605
- var isFlightOnly =
25606
- (includedServiceTypes === null || includedServiceTypes === void 0 ? void 0 : includedServiceTypes.length) === 1 &&
25607
- includedServiceTypes.includes(build.ServiceType.flight);
25608
- var handleToggleClick = function () {
25609
- setActive(!active);
25610
- };
25789
+ // TODO: Determine currency code based on the data, for now default to EUR
25790
+ var currencyCode = 'EUR';
25611
25791
  return React__default['default'].createElement(
25612
25792
  'div',
25613
25793
  { className: buildClassName(['booking__sidebar', active && 'booking__sidebar--active']) },
@@ -25619,337 +25799,392 @@ var Sidebar = function (_a) {
25619
25799
  React__default['default'].createElement(
25620
25800
  'div',
25621
25801
  { className: 'pricing-summary' },
25622
- !isUnavailable
25623
- ? React__default['default'].createElement(
25802
+ React__default['default'].createElement(
25803
+ 'div',
25804
+ { className: 'pricing-summary__wrapper' },
25805
+ React__default['default'].createElement(
25806
+ 'div',
25807
+ { className: 'pricing-summary__region pricing-summary__region--fade-in' },
25808
+ React__default['default'].createElement(
25624
25809
  'div',
25625
- { className: 'pricing-summary__wrapper' },
25626
- React__default['default'].createElement(
25627
- 'div',
25628
- { className: 'pricing-summary__region '.concat(!isLoading ? 'pricing-summary__region--fade-in' : '') },
25810
+ { className: 'pricing-summary__group' },
25811
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.TRAVEL_INFO),
25812
+ !lodash.isEmpty(travelerRooms) &&
25813
+ (travelerRooms === null || travelerRooms === void 0
25814
+ ? void 0
25815
+ : travelerRooms.map(function (room, rIndex) {
25816
+ return React__default['default'].createElement(
25817
+ 'div',
25818
+ { className: 'pricing-summary__row', key: rIndex },
25819
+ React__default['default'].createElement(
25820
+ 'div',
25821
+ { className: 'pricing-summary__property' },
25822
+ travelerRooms.length > 1 && ''.concat(translations.SHARED.ROOM, ' ').concat(rIndex + 1),
25823
+ travelerRooms.length === 1 && translations.ROOM_OPTIONS_FORM.TRAVELER_GROUP
25824
+ ),
25825
+ React__default['default'].createElement('div', { className: 'pricing-summary__value' }, room)
25826
+ );
25827
+ })),
25828
+ startDateText &&
25629
25829
  React__default['default'].createElement(
25630
25830
  'div',
25631
- { className: 'pricing-summary__group' },
25632
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.TRAVEL_INFO),
25633
- !lodash.isEmpty(travelerRooms) &&
25634
- (travelerRooms === null || travelerRooms === void 0
25635
- ? void 0
25636
- : travelerRooms.map(function (room, rIndex) {
25637
- return React__default['default'].createElement(
25638
- 'div',
25639
- { className: 'pricing-summary__row', key: rIndex },
25640
- React__default['default'].createElement(
25641
- 'div',
25642
- { className: 'pricing-summary__property' },
25643
- travelerRooms.length > 1 && ''.concat(translations.SHARED.ROOM, ' ').concat(rIndex + 1),
25644
- travelerRooms.length === 1 && translations.ROOM_OPTIONS_FORM.TRAVELER_GROUP
25645
- ),
25646
- React__default['default'].createElement('div', { className: 'pricing-summary__value' }, room)
25647
- );
25648
- })),
25649
- startDateText &&
25831
+ { className: 'pricing-summary__row' },
25832
+ React__default['default'].createElement(
25833
+ 'div',
25834
+ { className: 'pricing-summary__property' },
25835
+ startDateText && endDateText ? translations.SIDEBAR.DEPARTURE : translations.SIDEBAR.DEPARTURE_SINGLE
25836
+ ),
25837
+ React__default['default'].createElement('div', { className: 'pricing-summary__value' }, startDateText)
25838
+ ),
25839
+ endDateText &&
25840
+ React__default['default'].createElement(
25841
+ 'div',
25842
+ { className: 'pricing-summary__row' },
25843
+ React__default['default'].createElement('div', { className: 'pricing-summary__property' }, translations.SIDEBAR.ARRIVAL),
25844
+ React__default['default'].createElement('div', { className: 'pricing-summary__value' }, endDateText)
25845
+ )
25846
+ ),
25847
+ isLoading && loaderComponent,
25848
+ !isLoading &&
25849
+ departureFlightMetaData &&
25850
+ React__default['default'].createElement(SidebarFlight, {
25851
+ title: translations.SIDEBAR.DEPARTURE_FLIGHT,
25852
+ flightMetaData: departureFlightMetaData,
25853
+ translations: translations
25854
+ }),
25855
+ !isLoading &&
25856
+ returnFlightMetaData &&
25857
+ React__default['default'].createElement(SidebarFlight, {
25858
+ title: translations.SIDEBAR.ARRIVAL_FLIGHT,
25859
+ flightMetaData: returnFlightMetaData,
25860
+ translations: translations
25861
+ }),
25862
+ accommodations &&
25863
+ React__default['default'].createElement(
25864
+ 'div',
25865
+ { className: 'pricing-summary__group' },
25866
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.ACCOMMODATION),
25867
+ accommodations.map(function (accommodation) {
25868
+ var option = accommodation.options.find(function (x) {
25869
+ return x.isSelected;
25870
+ });
25871
+ return React__default['default'].createElement(
25872
+ 'div',
25873
+ { key: accommodation.index },
25650
25874
  React__default['default'].createElement(
25651
25875
  'div',
25652
25876
  { className: 'pricing-summary__row' },
25653
25877
  React__default['default'].createElement(
25654
25878
  'div',
25655
25879
  { className: 'pricing-summary__property' },
25656
- startDateText && endDateText ? translations.SIDEBAR.DEPARTURE : translations.SIDEBAR.DEPARTURE_SINGLE
25880
+ option === null || option === void 0 ? void 0 : option.accommodationName,
25881
+ isOnRequest ? ' ('.concat(translations.SIDEBAR.ON_REQUEST, ')') : '',
25882
+ (option === null || option === void 0 ? void 0 : option.isOnRequest) ? ' ('.concat(translations.SIDEBAR.ON_REQUEST, ')') : ''
25883
+ )
25884
+ ),
25885
+ React__default['default'].createElement(
25886
+ 'div',
25887
+ { className: 'pricing-summary__row' },
25888
+ React__default['default'].createElement(
25889
+ 'div',
25890
+ { className: 'price-summarty__property' },
25891
+ option === null || option === void 0 ? void 0 : option.regimeName
25657
25892
  ),
25658
- React__default['default'].createElement('div', { className: 'pricing-summary__value' }, startDateText)
25893
+ React__default['default'].createElement(
25894
+ 'div',
25895
+ { className: 'price-summary__value' },
25896
+ !isFlightOnly &&
25897
+ getDatePeriodText(
25898
+ translations,
25899
+ option === null || option === void 0 ? void 0 : option.from,
25900
+ option === null || option === void 0 ? void 0 : option.to,
25901
+ true
25902
+ )
25903
+ )
25904
+ )
25905
+ );
25906
+ })
25907
+ ),
25908
+ packagingAccommodations &&
25909
+ React__default['default'].createElement(
25910
+ 'div',
25911
+ { className: 'pricing-summary__group' },
25912
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.ACCOMMODATION),
25913
+ packagingAccommodations.map(function (accommodation) {
25914
+ return React__default['default'].createElement(
25915
+ 'div',
25916
+ { key: accommodation.guid },
25917
+ React__default['default'].createElement(
25918
+ 'div',
25919
+ { className: 'pricing-summary__row' },
25920
+ React__default['default'].createElement(
25921
+ 'div',
25922
+ { className: 'pricing-summary__property' },
25923
+ accommodation === null || accommodation === void 0 ? void 0 : accommodation.accommodationName,
25924
+ isOnRequest ? ' ('.concat(translations.SIDEBAR.ON_REQUEST, ')') : ''
25925
+ )
25659
25926
  ),
25660
- endDateText &&
25661
25927
  React__default['default'].createElement(
25662
25928
  'div',
25663
25929
  { className: 'pricing-summary__row' },
25664
- React__default['default'].createElement('div', { className: 'pricing-summary__property' }, translations.SIDEBAR.ARRIVAL),
25665
- React__default['default'].createElement('div', { className: 'pricing-summary__value' }, endDateText)
25930
+ React__default['default'].createElement(
25931
+ 'div',
25932
+ { className: 'price-summarty__property' },
25933
+ accommodation === null || accommodation === void 0 ? void 0 : accommodation.regimeName
25934
+ ),
25935
+ React__default['default'].createElement(
25936
+ 'div',
25937
+ { className: 'price-summary__value' },
25938
+ !isFlightOnly &&
25939
+ getDatePeriodText(
25940
+ translations,
25941
+ accommodation === null || accommodation === void 0 ? void 0 : accommodation.from,
25942
+ accommodation === null || accommodation === void 0 ? void 0 : accommodation.to,
25943
+ true
25944
+ )
25945
+ )
25666
25946
  )
25667
- ),
25668
- isLoading && loaderComponent,
25669
- !isLoading &&
25670
- departureFlightMetaData &&
25671
- React__default['default'].createElement(SidebarFlight, {
25672
- title: translations.SIDEBAR.DEPARTURE_FLIGHT,
25673
- flightMetaData: departureFlightMetaData
25674
- }),
25675
- !isLoading &&
25676
- returnFlightMetaData &&
25677
- React__default['default'].createElement(SidebarFlight, { title: translations.SIDEBAR.ARRIVAL_FLIGHT, flightMetaData: returnFlightMetaData }),
25678
- accommodations &&
25947
+ );
25948
+ })
25949
+ )
25950
+ ),
25951
+ !isLoading &&
25952
+ canShowPriceBreakdownSection &&
25953
+ React__default['default'].createElement(
25954
+ 'div',
25955
+ { className: 'pricing-summary__region '.concat(!isLoading ? 'pricing-summary__region--fade-in' : '') },
25956
+ basePrice !== undefined &&
25957
+ basePrice > 0 &&
25958
+ React__default['default'].createElement(
25959
+ 'div',
25960
+ { className: 'pricing-summary__group' },
25679
25961
  React__default['default'].createElement(
25680
25962
  'div',
25681
- { className: 'pricing-summary__group' },
25682
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.ACCOMMODATION),
25683
- accommodations.map(function (accommodation) {
25684
- var option = accommodation.options.find(function (x) {
25685
- return x.isSelected;
25686
- });
25963
+ { className: 'pricing-summary__row' },
25964
+ React__default['default'].createElement(
25965
+ 'div',
25966
+ { className: 'pricing-summary__property' },
25967
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.BASE_PRICE)
25968
+ ),
25969
+ React__default['default'].createElement('div', { className: 'pricing-summary__value' }, formatPrice$3(basePrice, currencyCode))
25970
+ ),
25971
+ basePricePerPaxType &&
25972
+ basePricePerPaxType.map(function (ppt, index) {
25687
25973
  return React__default['default'].createElement(
25688
- 'div',
25689
- { key: accommodation.index },
25974
+ React__default['default'].Fragment,
25975
+ { key: ''.concat(ppt.paxType, '-').concat(index) },
25690
25976
  React__default['default'].createElement(
25691
25977
  'div',
25692
25978
  { className: 'pricing-summary__row' },
25693
25979
  React__default['default'].createElement(
25694
25980
  'div',
25695
25981
  { className: 'pricing-summary__property' },
25696
- option === null || option === void 0 ? void 0 : option.accommodationName,
25697
- isOnRequest ? ' ('.concat(translations.SIDEBAR.ON_REQUEST, ')') : '',
25698
- (option === null || option === void 0 ? void 0 : option.isOnRequest) ? ' ('.concat(translations.SIDEBAR.ON_REQUEST, ')') : ''
25699
- )
25700
- ),
25701
- React__default['default'].createElement(
25702
- 'div',
25703
- { className: 'pricing-summary__row' },
25704
- React__default['default'].createElement(
25705
- 'div',
25706
- { className: 'price-summarty__property' },
25707
- option === null || option === void 0 ? void 0 : option.regimeName
25982
+ ppt.numberOfPax,
25983
+ ' ',
25984
+ getPaxTypeTranslation(translations, ppt.paxType, ppt.numberOfPax)
25708
25985
  ),
25709
25986
  React__default['default'].createElement(
25710
25987
  'div',
25711
- { className: 'price-summary__value' },
25712
- !isFlightOnly &&
25713
- getDatePeriodText(
25714
- translations,
25715
- option === null || option === void 0 ? void 0 : option.from,
25716
- option === null || option === void 0 ? void 0 : option.to,
25717
- true
25718
- )
25988
+ { className: 'pricing-summary__value' },
25989
+ formatPrice$3(ppt.pricePerPaxType, currencyCode)
25719
25990
  )
25720
- )
25721
- );
25722
- })
25723
- )
25724
- ),
25725
- !isLoading &&
25726
- canShowPriceBreakdownSection &&
25727
- React__default['default'].createElement(
25728
- 'div',
25729
- { className: 'pricing-summary__region '.concat(!isLoading ? 'pricing-summary__region--fade-in' : '') },
25730
- basePrice !== undefined &&
25731
- basePrice > 0 &&
25732
- React__default['default'].createElement(
25733
- 'div',
25734
- { className: 'pricing-summary__group' },
25735
- React__default['default'].createElement(
25736
- 'div',
25737
- { className: 'pricing-summary__row' },
25738
- React__default['default'].createElement(
25739
- 'div',
25740
- { className: 'pricing-summary__property' },
25741
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.BASE_PRICE)
25742
25991
  ),
25743
- React__default['default'].createElement('div', { className: 'pricing-summary__value' }, formatPrice$3(basePrice, currencyCode))
25744
- ),
25745
- basePricePerPaxType &&
25746
- basePricePerPaxType.map(function (ppt, index) {
25992
+ ppt.details.map(function (detail, dIndex) {
25747
25993
  return React__default['default'].createElement(
25748
- React__default['default'].Fragment,
25749
- { key: ''.concat(ppt.paxType, '-').concat(index) },
25994
+ 'div',
25995
+ { className: 'pricing-summary__row pricing-summary__row--sub', key: ''.concat(ppt.paxType, '-').concat(index, '-').concat(dIndex) },
25750
25996
  React__default['default'].createElement(
25751
25997
  'div',
25752
- { className: 'pricing-summary__row' },
25998
+ { className: 'pricing-summary__property' },
25999
+ detail.numberOfPax,
26000
+ 'x ',
26001
+ detail.description
26002
+ ),
26003
+ React__default['default'].createElement(
26004
+ 'div',
26005
+ { className: 'pricing-summary__value' },
26006
+ formatPrice$3(detail.price / detail.numberOfPax, currencyCode)
26007
+ )
26008
+ );
26009
+ })
26010
+ );
26011
+ })
26012
+ ),
26013
+ !lodash.isEmpty(includedCosts) &&
26014
+ React__default['default'].createElement(
26015
+ 'div',
26016
+ { className: 'pricing-summary__group' },
26017
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.INCLUDED_COSTS),
26018
+ includedCosts === null || includedCosts === void 0
26019
+ ? void 0
26020
+ : includedCosts.map(function (priceDetail, index) {
26021
+ var _a;
26022
+ return React__default['default'].createElement(
26023
+ React__default['default'].Fragment,
26024
+ { key: lodash.compact([priceDetail.productCode, priceDetail.accommodationCode, index]).join('_') },
26025
+ React__default['default'].createElement(
26026
+ 'div',
26027
+ { className: 'pricing-summary__row' },
26028
+ React__default['default'].createElement('div', { className: 'pricing-summary__property' }, priceDetail.productName),
26029
+ priceDetail.showPrice &&
25753
26030
  React__default['default'].createElement(
25754
26031
  'div',
25755
- { className: 'pricing-summary__property' },
25756
- ppt.numberOfPax,
25757
- ' ',
25758
- getPaxTypeTranslation(translations, ppt.paxType, ppt.numberOfPax)
25759
- ),
26032
+ { className: 'pricing-summary__value' },
26033
+ formatPrice$3(priceDetail.price * priceDetail.amount, currencyCode)
26034
+ )
26035
+ ),
26036
+ React__default['default'].createElement(
26037
+ 'div',
26038
+ { className: 'pricing-summary__row' },
26039
+ React__default['default'].createElement(
26040
+ 'div',
26041
+ { className: 'price-summary__property' },
26042
+ (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode
26043
+ )
26044
+ )
26045
+ );
26046
+ })
26047
+ ),
26048
+ !lodash.isEmpty(extraCosts) &&
26049
+ React__default['default'].createElement(
26050
+ 'div',
26051
+ { className: 'pricing-summary__group' },
26052
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.EXTRA_COSTS),
26053
+ extraCosts === null || extraCosts === void 0
26054
+ ? void 0
26055
+ : extraCosts.map(function (priceDetail, index) {
26056
+ var _a;
26057
+ return React__default['default'].createElement(
26058
+ React__default['default'].Fragment,
26059
+ { key: lodash.compact([priceDetail.productCode, priceDetail.accommodationCode, index]).join('_') },
26060
+ React__default['default'].createElement(
26061
+ 'div',
26062
+ { className: 'pricing-summary__row' },
26063
+ React__default['default'].createElement('div', { className: 'pricing-summary__property' }, priceDetail.productName),
26064
+ priceDetail.showPrice &&
25760
26065
  React__default['default'].createElement(
25761
26066
  'div',
25762
26067
  { className: 'pricing-summary__value' },
25763
- formatPrice$3(ppt.pricePerPaxType, currencyCode)
26068
+ formatPrice$3(priceDetail.price * priceDetail.amount, currencyCode)
25764
26069
  )
25765
- ),
25766
- ppt.details.map(function (detail, dIndex) {
26070
+ ),
26071
+ React__default['default'].createElement(
26072
+ 'div',
26073
+ { className: 'pricing-summary__row' },
26074
+ React__default['default'].createElement(
26075
+ 'div',
26076
+ { className: 'pricing-summary__property' },
26077
+ (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode
26078
+ )
26079
+ ),
26080
+ seperateExtraPricePerPaxType &&
26081
+ seperateExtraPricePerPaxType.map(function (ppt, index) {
25767
26082
  return React__default['default'].createElement(
25768
- 'div',
25769
- {
25770
- className: 'pricing-summary__row pricing-summary__row--sub',
25771
- key: ''.concat(ppt.paxType, '-').concat(index, '-').concat(dIndex)
25772
- },
25773
- React__default['default'].createElement(
25774
- 'div',
25775
- { className: 'pricing-summary__property' },
25776
- detail.numberOfPax,
25777
- 'x ',
25778
- detail.description
25779
- ),
26083
+ React__default['default'].Fragment,
26084
+ { key: ''.concat(ppt.paxType, '-').concat(index) },
25780
26085
  React__default['default'].createElement(
25781
26086
  'div',
25782
- { className: 'pricing-summary__value' },
25783
- formatPrice$3(detail.price / detail.numberOfPax, currencyCode)
25784
- )
25785
- );
25786
- })
25787
- );
25788
- })
25789
- ),
25790
- !lodash.isEmpty(includedCosts) &&
25791
- React__default['default'].createElement(
25792
- 'div',
25793
- { className: 'pricing-summary__group' },
25794
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.INCLUDED_COSTS),
25795
- includedCosts === null || includedCosts === void 0
25796
- ? void 0
25797
- : includedCosts.map(function (priceDetail, index) {
25798
- var _a;
25799
- return React__default['default'].createElement(
25800
- React__default['default'].Fragment,
25801
- { key: lodash.compact([priceDetail.productCode, priceDetail.accommodationCode, index]).join('_') },
25802
- React__default['default'].createElement(
25803
- 'div',
25804
- { className: 'pricing-summary__row' },
25805
- React__default['default'].createElement('div', { className: 'pricing-summary__property' }, priceDetail.productName),
25806
- priceDetail.showPrice &&
26087
+ { className: 'pricing-summary__row' },
25807
26088
  React__default['default'].createElement(
25808
26089
  'div',
25809
- { className: 'pricing-summary__value' },
25810
- formatPrice$3(priceDetail.price * priceDetail.amount, currencyCode)
25811
- )
25812
- ),
25813
- React__default['default'].createElement(
25814
- 'div',
25815
- { className: 'pricing-summary__row' },
25816
- React__default['default'].createElement(
25817
- 'div',
25818
- { className: 'price-summary__property' },
25819
- (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode
25820
- )
25821
- )
25822
- );
25823
- })
25824
- ),
25825
- !lodash.isEmpty(extraCosts) &&
25826
- React__default['default'].createElement(
25827
- 'div',
25828
- { className: 'pricing-summary__group' },
25829
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.EXTRA_COSTS),
25830
- extraCosts === null || extraCosts === void 0
25831
- ? void 0
25832
- : extraCosts.map(function (priceDetail, index) {
25833
- var _a;
25834
- return React__default['default'].createElement(
25835
- React__default['default'].Fragment,
25836
- { key: lodash.compact([priceDetail.productCode, priceDetail.accommodationCode, index]).join('_') },
25837
- React__default['default'].createElement(
25838
- 'div',
25839
- { className: 'pricing-summary__row' },
25840
- React__default['default'].createElement('div', { className: 'pricing-summary__property' }, priceDetail.productName),
25841
- priceDetail.showPrice &&
26090
+ { className: 'pricing-summary__property' },
26091
+ ppt.numberOfPax,
26092
+ ' ',
26093
+ getPaxTypeTranslation(translations, ppt.paxType, ppt.numberOfPax)
26094
+ ),
25842
26095
  React__default['default'].createElement(
25843
26096
  'div',
25844
26097
  { className: 'pricing-summary__value' },
25845
- formatPrice$3(priceDetail.price * priceDetail.amount, currencyCode)
26098
+ formatPrice$3(ppt.pricePerPaxType, currencyCode)
25846
26099
  )
25847
- ),
25848
- React__default['default'].createElement(
25849
- 'div',
25850
- { className: 'pricing-summary__row' },
25851
- React__default['default'].createElement(
25852
- 'div',
25853
- { className: 'pricing-summary__property' },
25854
- (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode
25855
- )
25856
- ),
25857
- seperateExtraPricePerPaxType &&
25858
- seperateExtraPricePerPaxType.map(function (ppt, index) {
26100
+ ),
26101
+ ppt.details.map(function (detail, dIndex) {
25859
26102
  return React__default['default'].createElement(
25860
- React__default['default'].Fragment,
25861
- { key: ''.concat(ppt.paxType, '-').concat(index) },
26103
+ 'div',
26104
+ {
26105
+ className: 'pricing-summary__row pricing-summary__row--sub',
26106
+ key: ''.concat(ppt.paxType, '-').concat(index, '-').concat(dIndex)
26107
+ },
25862
26108
  React__default['default'].createElement(
25863
26109
  'div',
25864
- { className: 'pricing-summary__row' },
25865
- React__default['default'].createElement(
25866
- 'div',
25867
- { className: 'pricing-summary__property' },
25868
- ppt.numberOfPax,
25869
- ' ',
25870
- getPaxTypeTranslation(translations, ppt.paxType, ppt.numberOfPax)
25871
- ),
25872
- React__default['default'].createElement(
25873
- 'div',
25874
- { className: 'pricing-summary__value' },
25875
- formatPrice$3(ppt.pricePerPaxType, currencyCode)
25876
- )
26110
+ { className: 'pricing-summary__property' },
26111
+ detail.numberOfPax,
26112
+ 'x ',
26113
+ detail.description
25877
26114
  ),
25878
- ppt.details.map(function (detail, dIndex) {
25879
- return React__default['default'].createElement(
25880
- 'div',
25881
- {
25882
- className: 'pricing-summary__row pricing-summary__row--sub',
25883
- key: ''.concat(ppt.paxType, '-').concat(index, '-').concat(dIndex)
25884
- },
25885
- React__default['default'].createElement(
25886
- 'div',
25887
- { className: 'pricing-summary__property' },
25888
- detail.numberOfPax,
25889
- 'x ',
25890
- detail.description
25891
- ),
25892
- React__default['default'].createElement(
25893
- 'div',
25894
- { className: 'pricing-summary__value' },
25895
- formatPrice$3(detail.price / detail.numberOfPax, currencyCode)
25896
- )
25897
- );
25898
- })
26115
+ React__default['default'].createElement(
26116
+ 'div',
26117
+ { className: 'pricing-summary__value' },
26118
+ formatPrice$3(detail.price / detail.numberOfPax, currencyCode)
26119
+ )
25899
26120
  );
25900
26121
  })
25901
- );
25902
- })
25903
- )
26122
+ );
26123
+ })
26124
+ );
26125
+ })
25904
26126
  )
25905
- )
25906
- : React__default['default'].createElement(
25907
- 'div',
25908
- { className: 'pricing-summary__region' },
25909
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.PACKAGE_NOT_AVAILABLE)
25910
26127
  ),
25911
- !isLoading &&
25912
- canShowTotalPriceSection &&
25913
- !isUnavailable &&
25914
- React__default['default'].createElement(
25915
- 'div',
25916
- { className: 'pricing-summary__region pricing-summary__region--pricing '.concat(!isLoading ? 'pricing-summary__region--fade-in' : '') },
25917
- deposit && remainingAmount > 0
25918
- ? React__default['default'].createElement(
25919
- 'div',
25920
- { className: 'pricing-summary__group' },
25921
- isAgent &&
25922
- React__default['default'].createElement(
25923
- 'div',
25924
- { className: 'pricing-summary__row pricing-summary__row--total-price' },
26128
+ !isLoading &&
26129
+ canShowTotalPriceSection &&
26130
+ !isUnavailable &&
26131
+ React__default['default'].createElement(
26132
+ 'div',
26133
+ { className: 'pricing-summary__region pricing-summary__region--pricing '.concat(!isLoading ? 'pricing-summary__region--fade-in' : '') },
26134
+ deposit && remainingAmount > 0
26135
+ ? React__default['default'].createElement(
26136
+ 'div',
26137
+ { className: 'pricing-summary__group' },
26138
+ agent &&
25925
26139
  React__default['default'].createElement(
25926
26140
  'div',
25927
- { className: 'pricing-summary__property' },
25928
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.COMMISSION)
26141
+ { className: 'pricing-summary__row pricing-summary__row--total-price' },
26142
+ React__default['default'].createElement(
26143
+ 'div',
26144
+ { className: 'pricing-summary__property' },
26145
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.COMMISSION)
26146
+ ),
26147
+ React__default['default'].createElement(
26148
+ 'div',
26149
+ { className: 'pricing-summary__value' },
26150
+ React__default['default'].createElement(
26151
+ 'div',
26152
+ { className: 'pricing' },
26153
+ React__default['default'].createElement(
26154
+ 'div',
26155
+ { className: 'pricing__price' },
26156
+ formatPrice$3(commission !== null && commission !== void 0 ? commission : 0, currencyCode)
26157
+ )
26158
+ )
26159
+ )
25929
26160
  ),
26161
+ totalPrice !== undefined &&
26162
+ totalPrice > 0 &&
25930
26163
  React__default['default'].createElement(
25931
26164
  'div',
25932
- { className: 'pricing-summary__value' },
26165
+ { className: 'pricing-summary__row pricing-summary__row--total-price' },
25933
26166
  React__default['default'].createElement(
25934
26167
  'div',
25935
- { className: 'pricing' },
26168
+ { className: 'pricing-summary__property' },
26169
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SHARED.TOTAL_PRICE)
26170
+ ),
26171
+ React__default['default'].createElement(
26172
+ 'div',
26173
+ { className: 'pricing-summary__value' },
25936
26174
  React__default['default'].createElement(
25937
26175
  'div',
25938
- { className: 'pricing__price' },
25939
- formatPrice$3(commission !== null && commission !== void 0 ? commission : 0, currencyCode)
26176
+ { className: 'pricing' },
26177
+ React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$3(totalPrice, currencyCode))
25940
26178
  )
25941
26179
  )
25942
- )
25943
- ),
25944
- totalPrice !== undefined &&
25945
- totalPrice > 0 &&
26180
+ ),
25946
26181
  React__default['default'].createElement(
25947
26182
  'div',
25948
- { className: 'pricing-summary__row pricing-summary__row--total-price' },
26183
+ { className: 'pricing-summary__row' },
25949
26184
  React__default['default'].createElement(
25950
26185
  'div',
25951
26186
  { className: 'pricing-summary__property' },
25952
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SHARED.TOTAL_PRICE)
26187
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.DEPOSIT)
25953
26188
  ),
25954
26189
  React__default['default'].createElement(
25955
26190
  'div',
@@ -25957,97 +26192,80 @@ var Sidebar = function (_a) {
25957
26192
  React__default['default'].createElement(
25958
26193
  'div',
25959
26194
  { className: 'pricing' },
25960
- React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$3(totalPrice, currencyCode))
26195
+ React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$3(deposit, currencyCode))
25961
26196
  )
25962
26197
  )
25963
26198
  ),
25964
- React__default['default'].createElement(
25965
- 'div',
25966
- { className: 'pricing-summary__row' },
25967
- React__default['default'].createElement(
25968
- 'div',
25969
- { className: 'pricing-summary__property' },
25970
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.DEPOSIT)
25971
- ),
25972
26199
  React__default['default'].createElement(
25973
26200
  'div',
25974
- { className: 'pricing-summary__value' },
25975
- React__default['default'].createElement(
25976
- 'div',
25977
- { className: 'pricing' },
25978
- React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$3(deposit, currencyCode))
25979
- )
25980
- )
25981
- ),
25982
- React__default['default'].createElement(
25983
- 'div',
25984
- { className: 'pricing-summary__row' },
25985
- React__default['default'].createElement(
25986
- 'small',
25987
- null,
26201
+ { className: 'pricing-summary__row' },
25988
26202
  React__default['default'].createElement(
25989
- 'em',
26203
+ 'small',
25990
26204
  null,
25991
- translations.SIDEBAR.DEPOSIT_TEXT1,
25992
- React__default['default'].createElement('strong', null, translations.SIDEBAR.DEPOSIT_TEXT2),
25993
- translations.SIDEBAR.DEPOSIT_TEXT3,
25994
- formatPrice$3(remainingAmount, currencyCode),
25995
- translations.SIDEBAR.DEPOSIT_TEXT4,
25996
- React__default['default'].createElement('strong', null, translations.SIDEBAR.DEPOSIT_TEXT5),
25997
- translations.SIDEBAR.DEPOSIT_TEXT6
26205
+ React__default['default'].createElement(
26206
+ 'em',
26207
+ null,
26208
+ translations.SIDEBAR.DEPOSIT_TEXT1,
26209
+ React__default['default'].createElement('strong', null, translations.SIDEBAR.DEPOSIT_TEXT2),
26210
+ translations.SIDEBAR.DEPOSIT_TEXT3,
26211
+ formatPrice$3(remainingAmount, currencyCode),
26212
+ translations.SIDEBAR.DEPOSIT_TEXT4,
26213
+ React__default['default'].createElement('strong', null, translations.SIDEBAR.DEPOSIT_TEXT5),
26214
+ translations.SIDEBAR.DEPOSIT_TEXT6
26215
+ )
25998
26216
  )
25999
26217
  )
26000
26218
  )
26001
- )
26002
- : React__default['default'].createElement(
26003
- 'div',
26004
- { className: 'pricing-summary__group' },
26005
- isAgent &&
26006
- React__default['default'].createElement(
26007
- 'div',
26008
- { className: 'pricing-summary__row pricing-summary__row--total-price' },
26009
- React__default['default'].createElement(
26010
- 'div',
26011
- { className: 'pricing-summary__property' },
26012
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.COMMISSION)
26013
- ),
26219
+ : React__default['default'].createElement(
26220
+ 'div',
26221
+ { className: 'pricing-summary__group' },
26222
+ agent &&
26014
26223
  React__default['default'].createElement(
26015
26224
  'div',
26016
- { className: 'pricing-summary__value' },
26225
+ { className: 'pricing-summary__row pricing-summary__row--total-price' },
26017
26226
  React__default['default'].createElement(
26018
26227
  'div',
26019
- { className: 'pricing' },
26228
+ { className: 'pricing-summary__property' },
26229
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.COMMISSION)
26230
+ ),
26231
+ React__default['default'].createElement(
26232
+ 'div',
26233
+ { className: 'pricing-summary__value' },
26020
26234
  React__default['default'].createElement(
26021
26235
  'div',
26022
- { className: 'pricing__price' },
26023
- formatPrice$3(commission !== null && commission !== void 0 ? commission : 0, currencyCode)
26236
+ { className: 'pricing' },
26237
+ React__default['default'].createElement(
26238
+ 'div',
26239
+ { className: 'pricing__price' },
26240
+ formatPrice$3(commission !== null && commission !== void 0 ? commission : 0, currencyCode)
26241
+ )
26024
26242
  )
26025
26243
  )
26026
- )
26027
- ),
26028
- totalPrice !== undefined &&
26029
- totalPrice > 0 &&
26030
- React__default['default'].createElement(
26031
- 'div',
26032
- { className: 'pricing-summary__row pricing-summary__row--total-price' },
26033
- React__default['default'].createElement(
26034
- 'div',
26035
- { className: 'pricing-summary__property' },
26036
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SHARED.TOTAL_PRICE)
26037
26244
  ),
26245
+ totalPrice !== undefined &&
26246
+ totalPrice > 0 &&
26038
26247
  React__default['default'].createElement(
26039
26248
  'div',
26040
- { className: 'pricing-summary__value' },
26249
+ { className: 'pricing-summary__row pricing-summary__row--total-price' },
26041
26250
  React__default['default'].createElement(
26042
26251
  'div',
26043
- { className: 'pricing' },
26044
- React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$3(totalPrice, currencyCode))
26252
+ { className: 'pricing-summary__property' },
26253
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SHARED.TOTAL_PRICE)
26254
+ ),
26255
+ React__default['default'].createElement(
26256
+ 'div',
26257
+ { className: 'pricing-summary__value' },
26258
+ React__default['default'].createElement(
26259
+ 'div',
26260
+ { className: 'pricing' },
26261
+ React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$3(totalPrice, currencyCode))
26262
+ )
26045
26263
  )
26046
26264
  )
26047
- )
26048
- )
26049
- ),
26050
- footerComponent
26265
+ )
26266
+ ),
26267
+ footerComponent
26268
+ )
26051
26269
  )
26052
26270
  )
26053
26271
  );
@@ -26064,7 +26282,8 @@ var SidebarContainer = function (_a) {
26064
26282
  showPricesPerPaxType = _f.showPricesPerPaxType;
26065
26283
  var bookingAttributes = reactRedux.useSelector(selectBookingAttributes);
26066
26284
  var rooms = reactRedux.useSelector(selectFormRooms);
26067
- var travelerRooms = getTravelersText(rooms);
26285
+ var translations = reactRedux.useSelector(selectTranslations);
26286
+ var travelerRooms = getTravelersText(rooms, translations);
26068
26287
  var departureFlight = reactRedux.useSelector(selectDepartureFlight);
26069
26288
  var departureFlightMetaData =
26070
26289
  (_b = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.flightMetaData) !== null && _b !== void 0
@@ -26085,7 +26304,8 @@ var SidebarContainer = function (_a) {
26085
26304
  var includedServiceTypes = reactRedux.useSelector(selectIncludedServiceTypes);
26086
26305
  var isUnavailable = reactRedux.useSelector(selectIsUnavailable) || false;
26087
26306
  var isLoading = isFetchingProductOptions || isFetchingPriceDetails;
26088
- return React__default['default'].createElement(Sidebar, {
26307
+ var agent = reactRedux.useSelector(selectAgentAdressId);
26308
+ return React__default['default'].createElement(SharedSidebar, {
26089
26309
  productName: productName,
26090
26310
  thumbnailUrl: thumbnailUrl,
26091
26311
  isLoading: isLoading,
@@ -26101,7 +26321,7 @@ var SidebarContainer = function (_a) {
26101
26321
  basePrice: reactRedux.useSelector(selectBasePrice),
26102
26322
  commission: reactRedux.useSelector(selectCommission),
26103
26323
  totalPrice: reactRedux.useSelector(selectTotalPrice),
26104
- includedCosts: reactRedux.useSelector(selectSeparatePackagePriceDetails),
26324
+ includedCosts: reactRedux.useSelector(selectSeparatePackagePriceDetails$1),
26105
26325
  extraCosts: reactRedux.useSelector(selectSeparateExtraPriceDetails),
26106
26326
  accommodations: accommodations,
26107
26327
  includedServiceTypes: includedServiceTypes,
@@ -26112,7 +26332,9 @@ var SidebarContainer = function (_a) {
26112
26332
  loaderComponent: loaderComponent !== null && loaderComponent !== void 0 ? loaderComponent : undefined,
26113
26333
  isUnavailable: isUnavailable,
26114
26334
  basePricePerPaxType: showPricesPerPaxType ? reactRedux.useSelector(selectBasePricePerPaxType) : undefined,
26115
- seperateExtraPricePerPaxType: showPricesPerPaxType ? reactRedux.useSelector(selectSeparateExtraPriceDetailsPerPaxType) : undefined
26335
+ seperateExtraPricePerPaxType: showPricesPerPaxType ? reactRedux.useSelector(selectSeparateExtraPriceDetailsPerPaxType) : undefined,
26336
+ translations: translations,
26337
+ agent: agent
26116
26338
  });
26117
26339
  };
26118
26340
 
@@ -30811,19 +31033,25 @@ var qsmReducer = qsmSlice.reducer;
30811
31033
 
30812
31034
  var SearchResultsConfigurationContext = React__default['default'].createContext(undefined);
30813
31035
 
30814
- var Spinner = function () {
30815
- var _a;
31036
+ var Spinner = function (_a) {
31037
+ var _b;
31038
+ var label = _a.label;
30816
31039
  var context = React.useContext(SearchResultsConfigurationContext);
30817
- var translations = getTranslations((_a = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB');
31040
+ var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
30818
31041
  return React__default['default'].createElement(
30819
31042
  'div',
30820
- { className: 'spinner__container' },
30821
- React__default['default'].createElement('span', { className: 'spinner__icon' }),
31043
+ { className: 'loader__container' },
30822
31044
  React__default['default'].createElement(
30823
- 'span',
30824
- { className: 'spinner__label' },
30825
- translations === null || translations === void 0 ? void 0 : translations.SRP.LOADING
30826
- )
31045
+ 'div',
31046
+ { className: 'loader__line' },
31047
+ React__default['default'].createElement('li', { className: 'loader__ball loader__ball--1' }),
31048
+ React__default['default'].createElement('li', { className: 'loader__ball loader__ball--2' }),
31049
+ React__default['default'].createElement('li', { className: 'loader__ball loader__ball--3' })
31050
+ ),
31051
+ React__default['default'].createElement('div', {
31052
+ 'data-text': label !== null && label !== void 0 ? label : translations.SRP.LOADING,
31053
+ className: 'loader__line__text'
31054
+ })
30827
31055
  );
30828
31056
  };
30829
31057
 
@@ -31884,6 +32112,7 @@ var MobileFilterModal = function () {
31884
32112
  destinationAirport = _b.destinationAirport,
31885
32113
  returnAirport = _b.returnAirport,
31886
32114
  destination = _b.destination;
32115
+ var searchInputRef = React.useRef(null);
31887
32116
  var _c = React.useState(''),
31888
32117
  inputValue = _c[0],
31889
32118
  setInputValue = _c[1];
@@ -31900,6 +32129,18 @@ var MobileFilterModal = function () {
31900
32129
  },
31901
32130
  [activeSearchFieldProps]
31902
32131
  );
32132
+ React.useEffect(
32133
+ function () {
32134
+ if (mobileFilterType !== 'search') return;
32135
+ requestAnimationFrame(function () {
32136
+ var input = searchInputRef.current;
32137
+ if (!input) return;
32138
+ input.focus();
32139
+ input.setSelectionRange(input.value.length, input.value.length);
32140
+ });
32141
+ },
32142
+ [mobileFilterType, activeSearchFieldProps === null || activeSearchFieldProps === void 0 ? void 0 : activeSearchFieldProps.fieldKey]
32143
+ );
31903
32144
  /* ---------------------------------------------------------------- */
31904
32145
  /* Helpers */
31905
32146
  /* ---------------------------------------------------------------- */
@@ -32092,6 +32333,7 @@ var MobileFilterModal = function () {
32092
32333
  'label',
32093
32334
  { className: 'qsm__input-wrapper' },
32094
32335
  React__default['default'].createElement('input', {
32336
+ ref: searchInputRef,
32095
32337
  type: 'text',
32096
32338
  id: 'search',
32097
32339
  value: inputValue,
@@ -32101,7 +32343,6 @@ var MobileFilterModal = function () {
32101
32343
  onChange: function (e) {
32102
32344
  return handleInputChange(e.target.value);
32103
32345
  },
32104
- // onChange={(e) => handleLocationChange(e.target.value)}
32105
32346
  className: 'qsm__input qsm__input--modal qsm__from-to u-ps-2',
32106
32347
  placeholder: activeSearchFieldProps.placeholder
32107
32348
  }),
@@ -32599,7 +32840,6 @@ var ItemPicker$1 = function (_a) {
32599
32840
  isDropdownOpen = _b[0],
32600
32841
  setIsDropdownOpen = _b[1];
32601
32842
  var dropdownRef = React.useRef(null);
32602
- var toggleButtonRef = React.useRef(null);
32603
32843
  var handlePick = function (picked, id) {
32604
32844
  setIsDropdownOpen(false);
32605
32845
  onPick(picked, id);
@@ -32621,7 +32861,7 @@ var ItemPicker$1 = function (_a) {
32621
32861
  React__default['default'].createElement('span', { className: 'dropdown__label' }, label),
32622
32862
  React__default['default'].createElement(
32623
32863
  'div',
32624
- { className: 'dropdown' },
32864
+ { className: 'dropdown', ref: dropdownRef },
32625
32865
  React__default['default'].createElement(
32626
32866
  'button',
32627
32867
  {
@@ -32630,8 +32870,7 @@ var ItemPicker$1 = function (_a) {
32630
32870
  return setIsDropdownOpen(function (prev) {
32631
32871
  return !prev;
32632
32872
  });
32633
- },
32634
- ref: toggleButtonRef
32873
+ }
32635
32874
  },
32636
32875
  React__default['default'].createElement('span', null, selection || placeholder),
32637
32876
  React__default['default'].createElement('span', { className: 'arrow' }, '\u25BE')
@@ -33064,58 +33303,16 @@ var QSMContainer = function () {
33064
33303
  );
33065
33304
  })
33066
33305
  ),
33067
- React__default['default'].createElement(
33068
- 'div',
33069
- { className: 'qsm__filter' },
33070
- (qsmType === build.PortalQsmType.Accommodation ||
33071
- qsmType === build.PortalQsmType.AccommodationAndFlight ||
33072
- qsmType === build.PortalQsmType.GroupTour) &&
33073
- React__default['default'].createElement(
33074
- 'div',
33075
- { className: 'radiobutton-group qsm__filter__inputgroup' },
33076
- React__default['default'].createElement(
33077
- 'div',
33078
- { className: 'radiobutton' },
33079
- React__default['default'].createElement(
33080
- 'label',
33081
- { className: 'radiobutton__label' },
33082
- React__default['default'].createElement('input', {
33083
- type: 'radio',
33084
- name: 'numberOfAccommodations',
33085
- // onChange={handleMainBookerChange}
33086
- // onBlur={formik.handleBlur}
33087
- value: '',
33088
- checked: true,
33089
- readOnly: true,
33090
- className: 'radiobutton__input'
33091
- }),
33092
- React__default['default'].createElement('span', null, translations.QSM.ONE_ACCOMMODATION)
33093
- )
33094
- ),
33306
+ !isMobile &&
33307
+ React__default['default'].createElement(
33308
+ 'div',
33309
+ { className: 'qsm__filter' },
33310
+ (qsmType === build.PortalQsmType.Accommodation ||
33311
+ qsmType === build.PortalQsmType.AccommodationAndFlight ||
33312
+ qsmType === build.PortalQsmType.GroupTour) &&
33095
33313
  React__default['default'].createElement(
33096
33314
  'div',
33097
- { className: 'radiobutton' },
33098
- React__default['default'].createElement(
33099
- 'label',
33100
- { className: 'radiobutton__label' },
33101
- React__default['default'].createElement('input', {
33102
- type: 'radio',
33103
- name: 'numberOfAccommodations',
33104
- // onChange={handleMainBookerChange}
33105
- // onBlur={formik.handleBlur}
33106
- value: '',
33107
- className: 'radiobutton__input',
33108
- disabled: true
33109
- }),
33110
- React__default['default'].createElement('span', null, translations.QSM.MULTIPLE_ACCOMMODATIONS)
33111
- )
33112
- )
33113
- ),
33114
- qsmType === build.PortalQsmType.Flight &&
33115
- React__default['default'].createElement(
33116
- 'div',
33117
- { className: 'radiobutton-group qsm__filter__inputgroup' },
33118
- allowOneWay &&
33315
+ { className: 'radiobutton-group qsm__filter__inputgroup' },
33119
33316
  React__default['default'].createElement(
33120
33317
  'div',
33121
33318
  { className: 'radiobutton' },
@@ -33124,18 +33321,17 @@ var QSMContainer = function () {
33124
33321
  { className: 'radiobutton__label' },
33125
33322
  React__default['default'].createElement('input', {
33126
33323
  type: 'radio',
33127
- name: 'tripType',
33128
- value: 'oneway',
33129
- checked: tripType === 'oneway',
33130
- onChange: function () {
33131
- return handleTripTypeChange('oneway');
33132
- },
33324
+ name: 'numberOfAccommodations',
33325
+ // onChange={handleMainBookerChange}
33326
+ // onBlur={formik.handleBlur}
33327
+ value: '',
33328
+ checked: true,
33329
+ readOnly: true,
33133
33330
  className: 'radiobutton__input'
33134
33331
  }),
33135
- React__default['default'].createElement('span', null, translations.QSM.ONEWAY)
33332
+ React__default['default'].createElement('span', null, translations.QSM.ONE_ACCOMMODATION)
33136
33333
  )
33137
33334
  ),
33138
- allowRoundtrip &&
33139
33335
  React__default['default'].createElement(
33140
33336
  'div',
33141
33337
  { className: 'radiobutton' },
@@ -33144,58 +33340,102 @@ var QSMContainer = function () {
33144
33340
  { className: 'radiobutton__label' },
33145
33341
  React__default['default'].createElement('input', {
33146
33342
  type: 'radio',
33147
- name: 'tripType',
33148
- value: 'roundtrip',
33149
- checked: tripType === 'roundtrip',
33150
- onChange: function () {
33151
- return handleTripTypeChange('roundtrip');
33152
- },
33153
- className: 'radiobutton__input'
33343
+ name: 'numberOfAccommodations',
33344
+ // onChange={handleMainBookerChange}
33345
+ // onBlur={formik.handleBlur}
33346
+ value: '',
33347
+ className: 'radiobutton__input',
33348
+ disabled: true
33154
33349
  }),
33155
- React__default['default'].createElement('span', null, translations.QSM.ROUNDTRIP)
33350
+ React__default['default'].createElement('span', null, translations.QSM.MULTIPLE_ACCOMMODATIONS)
33156
33351
  )
33157
- ),
33158
- allowOpenJaw &&
33159
- React__default['default'].createElement(
33160
- 'div',
33161
- { className: 'radiobutton' },
33352
+ )
33353
+ ),
33354
+ qsmType === build.PortalQsmType.Flight &&
33355
+ React__default['default'].createElement(
33356
+ 'div',
33357
+ { className: 'radiobutton-group qsm__filter__inputgroup' },
33358
+ allowOneWay &&
33162
33359
  React__default['default'].createElement(
33163
- 'label',
33164
- { className: 'radiobutton__label' },
33165
- React__default['default'].createElement('input', {
33166
- type: 'radio',
33167
- name: 'tripType',
33168
- value: 'openjaw',
33169
- checked: tripType === 'openjaw',
33170
- onChange: function () {
33171
- return handleTripTypeChange('openjaw');
33172
- },
33173
- className: 'radiobutton__input'
33174
- }),
33175
- React__default['default'].createElement('span', null, translations.QSM.OPENJAW)
33360
+ 'div',
33361
+ { className: 'radiobutton' },
33362
+ React__default['default'].createElement(
33363
+ 'label',
33364
+ { className: 'radiobutton__label' },
33365
+ React__default['default'].createElement('input', {
33366
+ type: 'radio',
33367
+ name: 'tripType',
33368
+ value: 'oneway',
33369
+ checked: tripType === 'oneway',
33370
+ onChange: function () {
33371
+ return handleTripTypeChange('oneway');
33372
+ },
33373
+ className: 'radiobutton__input'
33374
+ }),
33375
+ React__default['default'].createElement('span', null, translations.QSM.ONEWAY)
33376
+ )
33377
+ ),
33378
+ allowRoundtrip &&
33379
+ React__default['default'].createElement(
33380
+ 'div',
33381
+ { className: 'radiobutton' },
33382
+ React__default['default'].createElement(
33383
+ 'label',
33384
+ { className: 'radiobutton__label' },
33385
+ React__default['default'].createElement('input', {
33386
+ type: 'radio',
33387
+ name: 'tripType',
33388
+ value: 'roundtrip',
33389
+ checked: tripType === 'roundtrip',
33390
+ onChange: function () {
33391
+ return handleTripTypeChange('roundtrip');
33392
+ },
33393
+ className: 'radiobutton__input'
33394
+ }),
33395
+ React__default['default'].createElement('span', null, translations.QSM.ROUNDTRIP)
33396
+ )
33397
+ ),
33398
+ allowOpenJaw &&
33399
+ React__default['default'].createElement(
33400
+ 'div',
33401
+ { className: 'radiobutton' },
33402
+ React__default['default'].createElement(
33403
+ 'label',
33404
+ { className: 'radiobutton__label' },
33405
+ React__default['default'].createElement('input', {
33406
+ type: 'radio',
33407
+ name: 'tripType',
33408
+ value: 'openjaw',
33409
+ checked: tripType === 'openjaw',
33410
+ onChange: function () {
33411
+ return handleTripTypeChange('openjaw');
33412
+ },
33413
+ className: 'radiobutton__input'
33414
+ }),
33415
+ React__default['default'].createElement('span', null, translations.QSM.OPENJAW)
33416
+ )
33176
33417
  )
33177
- )
33178
- ),
33179
- React__default['default'].createElement(
33180
- 'div',
33181
- { className: 'qsm__filter__classgroup' },
33182
- qsmType !== build.PortalQsmType.Accommodation &&
33183
- qsmType !== build.PortalQsmType.Car &&
33184
- qsmType !== build.PortalQsmType.Ticket &&
33185
- qsmType !== build.PortalQsmType.Cruise &&
33186
- qsmType !== build.PortalQsmType.Transfer &&
33187
- qsmType !== build.PortalQsmType.GroupTour &&
33188
- askTravelClass &&
33189
- React__default['default'].createElement(TravelClassPicker, null),
33190
- qsmType !== build.PortalQsmType.Multidestination &&
33191
- qsmType !== build.PortalQsmType.Car &&
33192
- qsmType !== build.PortalQsmType.Flight &&
33193
- qsmType !== build.PortalQsmType.Transfer &&
33194
- askTravelType &&
33195
- React__default['default'].createElement(TravelTypePicker, null),
33196
- askNationality && React__default['default'].createElement(TravelNationalityPicker, null)
33197
- )
33198
- ),
33418
+ ),
33419
+ React__default['default'].createElement(
33420
+ 'div',
33421
+ { className: 'qsm__filter__classgroup' },
33422
+ qsmType !== build.PortalQsmType.Accommodation &&
33423
+ qsmType !== build.PortalQsmType.Car &&
33424
+ qsmType !== build.PortalQsmType.Ticket &&
33425
+ qsmType !== build.PortalQsmType.Cruise &&
33426
+ qsmType !== build.PortalQsmType.Transfer &&
33427
+ qsmType !== build.PortalQsmType.GroupTour &&
33428
+ askTravelClass &&
33429
+ React__default['default'].createElement(TravelClassPicker, null),
33430
+ qsmType !== build.PortalQsmType.Multidestination &&
33431
+ qsmType !== build.PortalQsmType.Car &&
33432
+ qsmType !== build.PortalQsmType.Flight &&
33433
+ qsmType !== build.PortalQsmType.Transfer &&
33434
+ askTravelType &&
33435
+ React__default['default'].createElement(TravelTypePicker, null),
33436
+ askNationality && React__default['default'].createElement(TravelNationalityPicker, null)
33437
+ )
33438
+ ),
33199
33439
  React__default['default'].createElement(
33200
33440
  'div',
33201
33441
  { className: 'qsm__input-group' },
@@ -33217,6 +33457,139 @@ var QSMContainer = function () {
33217
33457
  React__default['default'].createElement(SearchInputGroup, { fieldConfig: destination }),
33218
33458
  React__default['default'].createElement(Dates, { value: dateRange, onChange: handleDateChange }),
33219
33459
  askTravelers && React__default['default'].createElement(TravelInputGroup, null),
33460
+ isMobile &&
33461
+ React__default['default'].createElement(
33462
+ 'div',
33463
+ { className: 'qsm__filter' },
33464
+ (qsmType === build.PortalQsmType.Accommodation ||
33465
+ qsmType === build.PortalQsmType.AccommodationAndFlight ||
33466
+ qsmType === build.PortalQsmType.GroupTour) &&
33467
+ React__default['default'].createElement(
33468
+ 'div',
33469
+ { className: 'radiobutton-group qsm__filter__inputgroup' },
33470
+ React__default['default'].createElement(
33471
+ 'div',
33472
+ { className: 'radiobutton' },
33473
+ React__default['default'].createElement(
33474
+ 'label',
33475
+ { className: 'radiobutton__label' },
33476
+ React__default['default'].createElement('input', {
33477
+ type: 'radio',
33478
+ name: 'numberOfAccommodations',
33479
+ // onChange={handleMainBookerChange}
33480
+ // onBlur={formik.handleBlur}
33481
+ value: '',
33482
+ checked: true,
33483
+ readOnly: true,
33484
+ className: 'radiobutton__input'
33485
+ }),
33486
+ React__default['default'].createElement('span', null, translations.QSM.ONE_ACCOMMODATION)
33487
+ )
33488
+ ),
33489
+ React__default['default'].createElement(
33490
+ 'div',
33491
+ { className: 'radiobutton' },
33492
+ React__default['default'].createElement(
33493
+ 'label',
33494
+ { className: 'radiobutton__label' },
33495
+ React__default['default'].createElement('input', {
33496
+ type: 'radio',
33497
+ name: 'numberOfAccommodations',
33498
+ // onChange={handleMainBookerChange}
33499
+ // onBlur={formik.handleBlur}
33500
+ value: '',
33501
+ className: 'radiobutton__input',
33502
+ disabled: true
33503
+ }),
33504
+ React__default['default'].createElement('span', null, translations.QSM.MULTIPLE_ACCOMMODATIONS)
33505
+ )
33506
+ )
33507
+ ),
33508
+ qsmType === build.PortalQsmType.Flight &&
33509
+ React__default['default'].createElement(
33510
+ 'div',
33511
+ { className: 'radiobutton-group qsm__filter__inputgroup' },
33512
+ allowOneWay &&
33513
+ React__default['default'].createElement(
33514
+ 'div',
33515
+ { className: 'radiobutton' },
33516
+ React__default['default'].createElement(
33517
+ 'label',
33518
+ { className: 'radiobutton__label' },
33519
+ React__default['default'].createElement('input', {
33520
+ type: 'radio',
33521
+ name: 'tripType',
33522
+ value: 'oneway',
33523
+ checked: tripType === 'oneway',
33524
+ onChange: function () {
33525
+ return handleTripTypeChange('oneway');
33526
+ },
33527
+ className: 'radiobutton__input'
33528
+ }),
33529
+ React__default['default'].createElement('span', null, translations.QSM.ONEWAY)
33530
+ )
33531
+ ),
33532
+ allowRoundtrip &&
33533
+ React__default['default'].createElement(
33534
+ 'div',
33535
+ { className: 'radiobutton' },
33536
+ React__default['default'].createElement(
33537
+ 'label',
33538
+ { className: 'radiobutton__label' },
33539
+ React__default['default'].createElement('input', {
33540
+ type: 'radio',
33541
+ name: 'tripType',
33542
+ value: 'roundtrip',
33543
+ checked: tripType === 'roundtrip',
33544
+ onChange: function () {
33545
+ return handleTripTypeChange('roundtrip');
33546
+ },
33547
+ className: 'radiobutton__input'
33548
+ }),
33549
+ React__default['default'].createElement('span', null, translations.QSM.ROUNDTRIP)
33550
+ )
33551
+ ),
33552
+ allowOpenJaw &&
33553
+ React__default['default'].createElement(
33554
+ 'div',
33555
+ { className: 'radiobutton' },
33556
+ React__default['default'].createElement(
33557
+ 'label',
33558
+ { className: 'radiobutton__label' },
33559
+ React__default['default'].createElement('input', {
33560
+ type: 'radio',
33561
+ name: 'tripType',
33562
+ value: 'openjaw',
33563
+ checked: tripType === 'openjaw',
33564
+ onChange: function () {
33565
+ return handleTripTypeChange('openjaw');
33566
+ },
33567
+ className: 'radiobutton__input'
33568
+ }),
33569
+ React__default['default'].createElement('span', null, translations.QSM.OPENJAW)
33570
+ )
33571
+ )
33572
+ ),
33573
+ React__default['default'].createElement(
33574
+ 'div',
33575
+ { className: 'qsm__filter__classgroup' },
33576
+ qsmType !== build.PortalQsmType.Accommodation &&
33577
+ qsmType !== build.PortalQsmType.Car &&
33578
+ qsmType !== build.PortalQsmType.Ticket &&
33579
+ qsmType !== build.PortalQsmType.Cruise &&
33580
+ qsmType !== build.PortalQsmType.Transfer &&
33581
+ qsmType !== build.PortalQsmType.GroupTour &&
33582
+ askTravelClass &&
33583
+ React__default['default'].createElement(TravelClassPicker, null),
33584
+ qsmType !== build.PortalQsmType.Multidestination &&
33585
+ qsmType !== build.PortalQsmType.Car &&
33586
+ qsmType !== build.PortalQsmType.Flight &&
33587
+ qsmType !== build.PortalQsmType.Transfer &&
33588
+ askTravelType &&
33589
+ React__default['default'].createElement(TravelTypePicker, null),
33590
+ askNationality && React__default['default'].createElement(TravelNationalityPicker, null)
33591
+ )
33592
+ ),
33220
33593
  React__default['default'].createElement(
33221
33594
  'button',
33222
33595
  { type: 'button', className: 'cta', onClick: handleSubmit },
@@ -33292,7 +33665,9 @@ var initialState$1 = {
33292
33665
  itinerary: null,
33293
33666
  excursionSearchParams: null,
33294
33667
  selectedExcursionSearchResult: null,
33295
- confirmedExcursionsByDay: {}
33668
+ confirmedExcursionsByDay: {},
33669
+ bookPackagingEntry: false,
33670
+ currentStep: 0
33296
33671
  };
33297
33672
  var searchResultsSlice = toolkit.createSlice({
33298
33673
  name: 'searchResults',
@@ -33473,6 +33848,12 @@ var searchResultsSlice = toolkit.createSlice({
33473
33848
  },
33474
33849
  clearConfirmedExcursionsForDay: function (state, action) {
33475
33850
  delete state.confirmedExcursionsByDay[action.payload.dayKey];
33851
+ },
33852
+ setBookPackagingEntry: function (state, action) {
33853
+ state.bookPackagingEntry = action.payload;
33854
+ },
33855
+ setCurrentStep: function (state, action) {
33856
+ state.currentStep = action.payload;
33476
33857
  }
33477
33858
  }
33478
33859
  });
@@ -33517,6 +33898,8 @@ var setExcursionSearchParams = _a.setExcursionSearchParams,
33517
33898
  confirmExcursionForDay = _a.confirmExcursionForDay,
33518
33899
  removeConfirmedExcursionForDay = _a.removeConfirmedExcursionForDay;
33519
33900
  _a.clearConfirmedExcursionsForDay;
33901
+ var setBookPackagingEntry = _a.setBookPackagingEntry;
33902
+ _a.setCurrentStep;
33520
33903
  var searchResultsReducer = searchResultsSlice.reducer;
33521
33904
 
33522
33905
  var ItemPicker = function (_a) {
@@ -33863,11 +34246,6 @@ var getServiceTypePriority = function (serviceType) {
33863
34246
  var _a;
33864
34247
  return (_a = SERVICE_TYPE_PRIORITY[serviceType !== null && serviceType !== void 0 ? serviceType : -1]) !== null && _a !== void 0 ? _a : 2;
33865
34248
  };
33866
- var getDateOnlyTime = function (date) {
33867
- if (!date) return 0;
33868
- var parsedDate = new Date(date);
33869
- return new Date(parsedDate.getFullYear(), parsedDate.getMonth(), parsedDate.getDate()).getTime();
33870
- };
33871
34249
  var Itinerary = function (_a) {
33872
34250
  var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
33873
34251
  var isOpen = _a.isOpen,
@@ -33881,6 +34259,7 @@ var Itinerary = function (_a) {
33881
34259
  }),
33882
34260
  editablePackagingEntry = _q.editablePackagingEntry,
33883
34261
  priceDetails = _q.priceDetails;
34262
+ var dispatch = reactRedux.useDispatch();
33884
34263
  var packagingEntry =
33885
34264
  editablePackagingEntry !== null && editablePackagingEntry !== void 0
33886
34265
  ? editablePackagingEntry
@@ -33971,6 +34350,9 @@ var Itinerary = function (_a) {
33971
34350
  var numberOfPax = ((_p = packagingEntry.pax) === null || _p === void 0 ? void 0 : _p.length) || 1;
33972
34351
  var totalPrice = (priceDetails === null || priceDetails === void 0 ? void 0 : priceDetails.total) || packagingEntry.price || 0;
33973
34352
  var pricePerPerson = totalPrice / numberOfPax;
34353
+ var handleConfirm = function () {
34354
+ dispatch(setBookPackagingEntry(true));
34355
+ };
33974
34356
  return React__default['default'].createElement(
33975
34357
  'div',
33976
34358
  { className: 'search__filters--modal '.concat(isOpen ? 'is-open' : '') },
@@ -34026,7 +34408,7 @@ var Itinerary = function (_a) {
34026
34408
  'div',
34027
34409
  { className: 'search__filter__prices' },
34028
34410
  isLoading
34029
- ? React__default['default'].createElement(Spinner, null)
34411
+ ? React__default['default'].createElement(Spinner, { label: translations.PRODUCT.LOADING_PRICE })
34030
34412
  : React__default['default'].createElement(
34031
34413
  React__default['default'].Fragment,
34032
34414
  null,
@@ -34041,7 +34423,7 @@ var Itinerary = function (_a) {
34041
34423
  React__default['default'].createElement('strong', null, '(', formatPrice$3(totalPrice, 'EUR'), ' ', translations.SRP.TOTAL, ')')
34042
34424
  )
34043
34425
  ),
34044
- React__default['default'].createElement('button', { className: 'cta' }, translations.QSM.CONFIRM)
34426
+ React__default['default'].createElement('button', { className: 'cta', onClick: handleConfirm }, translations.QSM.CONFIRM)
34045
34427
  )
34046
34428
  ),
34047
34429
  React__default['default'].createElement(
@@ -35366,7 +35748,7 @@ var FlightsFlyIn = function (_a) {
35366
35748
  'div',
35367
35749
  { className: 'flyin__content' },
35368
35750
  flightSearchDetailsLoading || lodash.isEmpty(flights)
35369
- ? React__default['default'].createElement(Spinner, null)
35751
+ ? React__default['default'].createElement(Spinner, { label: translations.SRP.LOADING_FLIGHTS })
35370
35752
  : flight &&
35371
35753
  React__default['default'].createElement(
35372
35754
  'div',
@@ -35993,17 +36375,17 @@ var AccommodationFlyIn = function (_a) {
35993
36375
  handleConfirm = _a.handleConfirm;
35994
36376
  var dispatch = reactRedux.useDispatch();
35995
36377
  var context = React.useContext(SearchResultsConfigurationContext);
36378
+ var language = (_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB';
36379
+ var translations = getTranslations(language);
35996
36380
  if (isLoading) {
35997
36381
  return React__default['default'].createElement(
35998
36382
  React__default['default'].Fragment,
35999
36383
  null,
36000
- (_b = context === null || context === void 0 ? void 0 : context.customSpinner) !== null && _b !== void 0
36001
- ? _b
36002
- : React__default['default'].createElement(Spinner, null)
36384
+ (_c = context === null || context === void 0 ? void 0 : context.customSpinner) !== null && _c !== void 0
36385
+ ? _c
36386
+ : React__default['default'].createElement(Spinner, { label: translations.SRP.LOADING_ACCOMMODATIONS })
36003
36387
  );
36004
36388
  }
36005
- var language = (_c = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _c !== void 0 ? _c : 'en-GB';
36006
- var translations = getTranslations(language);
36007
36389
  var _d = reactRedux.useSelector(function (state) {
36008
36390
  return state.searchResults;
36009
36391
  }),
@@ -36440,17 +36822,17 @@ var GroupTourFlyIn = function (_a) {
36440
36822
  setIsOpen = _a.setIsOpen;
36441
36823
  var dispatch = reactRedux.useDispatch();
36442
36824
  var context = React.useContext(SearchResultsConfigurationContext);
36825
+ var language = (_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB';
36826
+ var translations = getTranslations(language);
36443
36827
  if (isLoading) {
36444
36828
  return React__default['default'].createElement(
36445
36829
  React__default['default'].Fragment,
36446
36830
  null,
36447
- (_b = context === null || context === void 0 ? void 0 : context.customSpinner) !== null && _b !== void 0
36448
- ? _b
36449
- : React__default['default'].createElement(Spinner, null)
36831
+ (_c = context === null || context === void 0 ? void 0 : context.customSpinner) !== null && _c !== void 0
36832
+ ? _c
36833
+ : React__default['default'].createElement(Spinner, { label: translations.SRP.LOADING_OPTIONS })
36450
36834
  );
36451
36835
  }
36452
- var language = (_c = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _c !== void 0 ? _c : 'en-GB';
36453
- var translations = getTranslations(language);
36454
36836
  var bookingPackageDetails = reactRedux.useSelector(function (state) {
36455
36837
  return state.searchResults;
36456
36838
  }).bookingPackageDetails;
@@ -41247,18 +41629,13 @@ var HotelAccommodationResults = function (_a) {
41247
41629
  React__default['default'].createElement(
41248
41630
  'div',
41249
41631
  { className: 'search__results__label__date' },
41250
- firstResultDay && firstResultMonth
41251
- ? React__default['default'].createElement(
41252
- React__default['default'].Fragment,
41253
- null,
41254
- React__default['default'].createElement('p', { className: 'search__results__label__date-date' }, firstResultDay),
41255
- React__default['default'].createElement('p', null, firstResultMonth)
41256
- )
41257
- : React__default['default'].createElement(Icon, { name: 'ui-bed', height: 16, fill: 'white' })
41632
+ React__default['default'].createElement('p', { className: 'search__results__label__date-date' }, firstResultDay),
41633
+ React__default['default'].createElement('p', null, firstResultMonth)
41258
41634
  ),
41259
41635
  React__default['default'].createElement(
41260
41636
  'div',
41261
41637
  { className: 'search__results__label__text' },
41638
+ React__default['default'].createElement(Icon, { name: 'ui-bed', height: 16 }),
41262
41639
  React__default['default'].createElement(
41263
41640
  'h3',
41264
41641
  null,
@@ -41272,7 +41649,9 @@ var HotelAccommodationResults = function (_a) {
41272
41649
  ? React__default['default'].createElement(
41273
41650
  React__default['default'].Fragment,
41274
41651
  null,
41275
- (_c = context.customSpinner) !== null && _c !== void 0 ? _c : React__default['default'].createElement(Spinner, null)
41652
+ (_c = context.customSpinner) !== null && _c !== void 0
41653
+ ? _c
41654
+ : React__default['default'].createElement(Spinner, { label: translations.SRP.LOADING_ACCOMMODATIONS })
41276
41655
  )
41277
41656
  : renderHotelResults(visibleResults, context, activeTab, translations, selectedPackagingAccoResult, isFlyIn),
41278
41657
  packagingAccoResults.length > 3 &&
@@ -41993,6 +42372,8 @@ var PackageingFlightsFlyIn = function (_a) {
41993
42372
  var _b;
41994
42373
  _a.isOpen;
41995
42374
  _a.setIsOpen;
42375
+ var toggleFilters = _a.toggleFilters,
42376
+ filtersOpen = _a.filtersOpen;
41996
42377
  var context = React.useContext(SearchResultsConfigurationContext);
41997
42378
  var language = (_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB';
41998
42379
  var translations = getTranslations(language);
@@ -42046,15 +42427,17 @@ var PackageingFlightsFlyIn = function (_a) {
42046
42427
  'div',
42047
42428
  { className: 'flyin__content flyin__content--columns' },
42048
42429
  flightsLoading
42049
- ? React__default['default'].createElement(Spinner, null)
42430
+ ? React__default['default'].createElement(Spinner, { label: translations.SRP.LOADING_FLIGHTS })
42050
42431
  : React__default['default'].createElement(
42051
42432
  React__default['default'].Fragment,
42052
42433
  null,
42053
42434
  React__default['default'].createElement(Filters, {
42054
42435
  initialFilters: initialFlightFilters,
42055
42436
  filters: flightFilters,
42056
- isOpen: false,
42057
- handleSetIsOpen: function () {},
42437
+ isOpen: filtersOpen,
42438
+ handleSetIsOpen: function () {
42439
+ return toggleFilters && toggleFilters();
42440
+ },
42058
42441
  // handleApplyFilters={() => setSearchTrigger((prev) => prev + 1)}
42059
42442
  isLoading: flightsLoading,
42060
42443
  setFilters: function (filters) {
@@ -42079,6 +42462,17 @@ var PackageingFlightsFlyIn = function (_a) {
42079
42462
  '\u00A0',
42080
42463
  translations.FLIGHTS_FORM.FLIGHTS_FOUND_3
42081
42464
  ),
42465
+ React__default['default'].createElement(
42466
+ 'div',
42467
+ {
42468
+ className: 'cta cta--filter',
42469
+ onClick: function () {
42470
+ return toggleFilters && toggleFilters();
42471
+ }
42472
+ },
42473
+ React__default['default'].createElement(Icon, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
42474
+ translations.SRP.FILTERS
42475
+ ),
42082
42476
  sortByTypes &&
42083
42477
  sortByTypes.length > 0 &&
42084
42478
  React__default['default'].createElement(
@@ -42286,7 +42680,7 @@ var ExcursionResults = function (_a) {
42286
42680
  dispatch(setSelectedExcursionSearchResult(excursion));
42287
42681
  };
42288
42682
  return isLoading
42289
- ? React__default['default'].createElement(Spinner, null)
42683
+ ? React__default['default'].createElement(Spinner, { label: translations.SRP.LOADING_EXCURSIONS })
42290
42684
  : React__default['default'].createElement(
42291
42685
  'div',
42292
42686
  { className: 'flyin__content flyin__content--columns' },
@@ -42736,7 +43130,9 @@ var FlyIn = function (_a) {
42736
43130
  isPackageEditFlow = _a.isPackageEditFlow,
42737
43131
  handleConfirm = _a.handleConfirm,
42738
43132
  sortByTypes = _a.sortByTypes,
42739
- activeSearchSeed = _a.activeSearchSeed;
43133
+ activeSearchSeed = _a.activeSearchSeed,
43134
+ toggleFilters = _a.toggleFilters,
43135
+ filtersOpen = _a.filtersOpen;
42740
43136
  var dispatch = reactRedux.useDispatch();
42741
43137
  var context = React.useContext(SearchResultsConfigurationContext);
42742
43138
  var language = (_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB';
@@ -42885,8 +43281,10 @@ var FlyIn = function (_a) {
42885
43281
  React__default['default'].createElement(Filters, {
42886
43282
  initialFilters: initialFilters,
42887
43283
  filters: filters,
42888
- isOpen: false,
42889
- handleSetIsOpen: function () {},
43284
+ isOpen: filtersOpen,
43285
+ handleSetIsOpen: function () {
43286
+ return toggleFilters && toggleFilters();
43287
+ },
42890
43288
  // handleApplyFilters={() => setSearchTrigger((prev) => prev + 1)}
42891
43289
  isLoading: isLoading,
42892
43290
  setFilters: function (filters) {
@@ -42915,6 +43313,17 @@ var FlyIn = function (_a) {
42915
43313
  translations.SRP.TOTAL_RESULTS_LABEL
42916
43314
  )
42917
43315
  ),
43316
+ React__default['default'].createElement(
43317
+ 'div',
43318
+ {
43319
+ className: 'cta cta--filter',
43320
+ onClick: function () {
43321
+ return toggleFilters && toggleFilters();
43322
+ }
43323
+ },
43324
+ React__default['default'].createElement(Icon, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
43325
+ translations.SRP.FILTERS
43326
+ ),
42918
43327
  sortByTypes &&
42919
43328
  sortByTypes.length > 0 &&
42920
43329
  React__default['default'].createElement(
@@ -42944,7 +43353,12 @@ var FlyIn = function (_a) {
42944
43353
  React__default['default'].createElement(AccommodationFlyIn, { isLoading: detailsLoading, handleConfirm: handleConfirm }),
42945
43354
  srpType === build.PortalQsmType.AccommodationAndFlight &&
42946
43355
  (flyInType === 'flight-outward-results' || flyInType === 'flight-return-results') &&
42947
- React__default['default'].createElement(PackageingFlightsFlyIn, { isOpen: isOpen, setIsOpen: setIsOpen }),
43356
+ React__default['default'].createElement(PackageingFlightsFlyIn, {
43357
+ isOpen: isOpen,
43358
+ setIsOpen: setIsOpen,
43359
+ toggleFilters: toggleFilters,
43360
+ filtersOpen: filtersOpen
43361
+ }),
42948
43362
  srpType === build.PortalQsmType.AccommodationAndFlight &&
42949
43363
  flyInType === 'excursion-results' &&
42950
43364
  React__default['default'].createElement(ExcursionResults, { isFlyIn: true, activeSearchSeed: activeSearchSeed }),
@@ -43814,6 +44228,9 @@ var IndependentFlightSelection = function (_a) {
43814
44228
  },
43815
44229
  [searchResults, selectedReturnKey]
43816
44230
  );
44231
+ var firstResultDate = uniqueOutwardFlights.length > 0 ? uniqueOutwardFlights[0].outward.segments[0].departureDateTime : null;
44232
+ var firstResultDay = firstResultDate ? dateFns.format(firstResultDate, 'd') : null;
44233
+ var firstResultMonth = firstResultDate ? dateFns.format(firstResultDate, 'MMM') : null;
43817
44234
  return React__default['default'].createElement(
43818
44235
  React__default['default'].Fragment,
43819
44236
  null,
@@ -43823,11 +44240,13 @@ var IndependentFlightSelection = function (_a) {
43823
44240
  React__default['default'].createElement(
43824
44241
  'div',
43825
44242
  { className: 'search__results__label__date' },
43826
- React__default['default'].createElement(Icon, { name: 'ui-flight', height: 16, fill: 'white' })
44243
+ React__default['default'].createElement('p', { className: 'search__results__label__date-date' }, firstResultDay),
44244
+ React__default['default'].createElement('p', null, firstResultMonth)
43827
44245
  ),
43828
44246
  React__default['default'].createElement(
43829
44247
  'div',
43830
44248
  { className: 'search__results__label__text' },
44249
+ React__default['default'].createElement(Icon, { name: 'ui-flight', height: 16, fill: 'white' }),
43831
44250
  React__default['default'].createElement(
43832
44251
  'h3',
43833
44252
  null,
@@ -43866,14 +44285,11 @@ var IndependentFlightSelection = function (_a) {
43866
44285
  React__default['default'].createElement(
43867
44286
  'div',
43868
44287
  { className: 'search__results__label search__results__label--secondary' },
43869
- React__default['default'].createElement(
43870
- 'div',
43871
- { className: 'search__results__label__date' },
43872
- React__default['default'].createElement(Icon, { name: 'ui-flight', height: 16, fill: 'white' })
43873
- ),
44288
+ React__default['default'].createElement('div', { className: 'search__results__label__date' }),
43874
44289
  React__default['default'].createElement(
43875
44290
  'div',
43876
44291
  { className: 'search__results__label__text' },
44292
+ React__default['default'].createElement(Icon, { name: 'ui-flight', height: 16, fill: 'white' }),
43877
44293
  React__default['default'].createElement(
43878
44294
  'h3',
43879
44295
  null,
@@ -44993,7 +45409,7 @@ var FlightResultsContainer = function (_a) {
44993
45409
  React__default['default'].createElement(
44994
45410
  'div',
44995
45411
  { className: 'search__results__wrapper' },
44996
- flightsLoading && React__default['default'].createElement(Spinner, null),
45412
+ flightsLoading && React__default['default'].createElement(Spinner, { label: translations.SRP.LOADING_FLIGHTS }),
44997
45413
  (context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) == build.PortalQsmType.Flight &&
44998
45414
  (context === null || context === void 0 ? void 0 : context.showFlightAccommodationResults) &&
44999
45415
  results &&
@@ -46100,7 +46516,7 @@ var FullItinerary = function (_a) {
46100
46516
  return React__default['default'].createElement(
46101
46517
  React__default['default'].Fragment,
46102
46518
  null,
46103
- isLoading && React__default['default'].createElement(Spinner, null),
46519
+ isLoading && React__default['default'].createElement(Spinner, { label: translations.SRP.LOADING_ITINERARY }),
46104
46520
  React__default['default'].createElement('div', { ref: hostRef, style: { display: isLoading ? 'none' : 'block' } })
46105
46521
  );
46106
46522
  };
@@ -46213,7 +46629,7 @@ var DayByDayExcursions = function () {
46213
46629
  React__default['default'].Fragment,
46214
46630
  null,
46215
46631
  stayDates.map(function (day) {
46216
- var _a, _b;
46632
+ var _a, _b, _c;
46217
46633
  var dayKey = dateFns.format(day, 'yyyy-MM-dd');
46218
46634
  var confirmedExcursions = (_a = confirmedExcursionsByDay[dayKey]) !== null && _a !== void 0 ? _a : [];
46219
46635
  return React__default['default'].createElement(
@@ -46225,17 +46641,31 @@ var DayByDayExcursions = function () {
46225
46641
  React__default['default'].createElement(
46226
46642
  'div',
46227
46643
  { className: 'search__results__label__date' },
46228
- React__default['default'].createElement(Icon, { name: 'ui-excursion', height: 16, fill: 'white' })
46644
+ React__default['default'].createElement(
46645
+ 'p',
46646
+ { className: 'search__results__label__date-date' },
46647
+ dateFns.format(day, 'd', {
46648
+ locale: getLocale((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB')
46649
+ })
46650
+ ),
46651
+ React__default['default'].createElement(
46652
+ 'p',
46653
+ null,
46654
+ dateFns.format(day, 'MMM', {
46655
+ locale: getLocale((_c = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _c !== void 0 ? _c : 'en-GB')
46656
+ })
46657
+ )
46229
46658
  ),
46230
46659
  React__default['default'].createElement(
46231
46660
  'div',
46232
46661
  { className: 'search__results__label__text' },
46662
+ React__default['default'].createElement(Icon, { name: 'ui-excursion', height: 16 }),
46233
46663
  React__default['default'].createElement(
46234
46664
  'h3',
46235
46665
  null,
46236
- dateFns.format(day, 'EEEE d MMMM', {
46237
- locale: getLocale((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB')
46238
- })
46666
+ translations.SRP.SELECT,
46667
+ ' ',
46668
+ React__default['default'].createElement('strong', null, translations.SRP.EXCURSION)
46239
46669
  )
46240
46670
  )
46241
46671
  ),
@@ -46323,6 +46753,264 @@ var DayByDayExcursions = function () {
46323
46753
  );
46324
46754
  };
46325
46755
 
46756
+ var mapToSidebarFlightMetaData = function (entryLine) {
46757
+ var _a, _b;
46758
+ return {
46759
+ flightLines:
46760
+ (_a = entryLine.flightInformation) === null || _a === void 0
46761
+ ? void 0
46762
+ : _a.flightLines.map(function (f) {
46763
+ return {
46764
+ number: f.flightNumber,
46765
+ departureDate: f.departureDate,
46766
+ departureAirport: f.departureAirportCode,
46767
+ departureAirportDescription: f.departureAirportDescription,
46768
+ departureTime: f.departureTime,
46769
+ arrivalDate: f.arrivalDate,
46770
+ arrivalAirport: f.arrivalAirportCode,
46771
+ arrivalAirportDescription: f.arrivalAirportDescription,
46772
+ arrivalTime: f.arrivalTime,
46773
+ flightClass: '',
46774
+ travelClass: '',
46775
+ airline: f.airlineDescription,
46776
+ airlineCode: f.airlineCode,
46777
+ operatingAirlineCode: f.operatingAirlineCode,
46778
+ operatingAirlineDescription: f.operatingAirlineDescription,
46779
+ durationInTicks: f.durationInTicks
46780
+ };
46781
+ }),
46782
+ luggageIncluded: false, // Not present in editablePackagingEntry, set default
46783
+ bagageAllowed: false, // Not present in editablePackagingEntry, set default
46784
+ bagage: '', // Not present in editablePackagingEntry, set default
46785
+ mealIncluded: false, // Not present in editablePackagingEntry, set default
46786
+ meal: '', // Not present in editablePackagingEntry, set default
46787
+ durationInTicks:
46788
+ (_b = entryLine.flightInformation) === null || _b === void 0
46789
+ ? void 0
46790
+ : _b.flightLines.reduce(function (s, _a) {
46791
+ var durationInTicks = _a.durationInTicks;
46792
+ return s + (durationInTicks !== null && durationInTicks !== void 0 ? durationInTicks : 0);
46793
+ }, 0)
46794
+ };
46795
+ };
46796
+ var selectSeparatePackagePriceDetails = function (priceDetails) {
46797
+ var result = [];
46798
+ var filteredPriceDetails = priceDetails.filter(function (priceDetail) {
46799
+ return priceDetail.isSeparate;
46800
+ });
46801
+ filteredPriceDetails.forEach(function (priceDetail) {
46802
+ var priceDetailToMerge = result.find(function (x) {
46803
+ return x.productCode === priceDetail.productCode && x.accommodationCode === priceDetail.accommodationCode && x.productType === priceDetail.productType;
46804
+ });
46805
+ if (priceDetailToMerge) {
46806
+ priceDetailToMerge.total += priceDetail.total;
46807
+ priceDetailToMerge.price += priceDetail.price;
46808
+ } else {
46809
+ result.push(Object.assign({}, priceDetail));
46810
+ }
46811
+ });
46812
+ return result;
46813
+ };
46814
+ var WLSidebar = function (_a) {
46815
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
46816
+ var activeSearchSeed = _a.activeSearchSeed;
46817
+ var context = React.useContext(SearchResultsConfigurationContext);
46818
+ if (!context) {
46819
+ return null;
46820
+ }
46821
+ var translations = getTranslations((_b = context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
46822
+ var _u = reactRedux.useSelector(function (state) {
46823
+ return state.searchResults;
46824
+ }),
46825
+ editablePackagingEntry = _u.editablePackagingEntry,
46826
+ priceDetails = _u.priceDetails;
46827
+ // Map editablePackagingEntry to sidebar props (example, adjust as needed)
46828
+ if (!editablePackagingEntry) {
46829
+ return null;
46830
+ }
46831
+ console.log('editablePackagingEntry in WLSidebar:', editablePackagingEntry);
46832
+ console.log('priceDetails in WLSidebar:', priceDetails);
46833
+ var sortedLines = React.useMemo(
46834
+ function () {
46835
+ var _a;
46836
+ return __spreadArray(
46837
+ [],
46838
+ (_a = editablePackagingEntry === null || editablePackagingEntry === void 0 ? void 0 : editablePackagingEntry.lines) !== null && _a !== void 0 ? _a : [],
46839
+ true
46840
+ ).sort(function (a, b) {
46841
+ var _a, _b;
46842
+ var dateA = getDateOnlyTime(a.from);
46843
+ var dateB = getDateOnlyTime(b.from);
46844
+ if (dateA !== dateB) {
46845
+ return dateA - dateB;
46846
+ }
46847
+ return ((_a = a.order) !== null && _a !== void 0 ? _a : Infinity) - ((_b = b.order) !== null && _b !== void 0 ? _b : Infinity);
46848
+ });
46849
+ },
46850
+ [editablePackagingEntry]
46851
+ );
46852
+ var firstEntryLine = lodash.first(sortedLines);
46853
+ var accommodationLines = editablePackagingEntry.lines.filter(function (line) {
46854
+ return line.serviceType === ACCOMMODATION_SERVICE_TYPE;
46855
+ });
46856
+ var accommodationLine = (_c = lodash.first(accommodationLines)) !== null && _c !== void 0 ? _c : firstEntryLine;
46857
+ var location =
46858
+ (_l =
46859
+ (_j =
46860
+ (_g =
46861
+ (_e =
46862
+ (_d = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.location) === null || _d === void 0
46863
+ ? void 0
46864
+ : _d.name) !== null && _e !== void 0
46865
+ ? _e
46866
+ : (_f = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.oord) === null || _f === void 0
46867
+ ? void 0
46868
+ : _f.name) !== null && _g !== void 0
46869
+ ? _g
46870
+ : (_h = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.region) === null || _h === void 0
46871
+ ? void 0
46872
+ : _h.name) !== null && _j !== void 0
46873
+ ? _j
46874
+ : (_k = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.country) === null || _k === void 0
46875
+ ? void 0
46876
+ : _k.name) !== null && _l !== void 0
46877
+ ? _l
46878
+ : (_m = firstEntryLine === null || firstEntryLine === void 0 ? void 0 : firstEntryLine.location) === null || _m === void 0
46879
+ ? void 0
46880
+ : _m.name;
46881
+ var rooms =
46882
+ (activeSearchSeed === null || activeSearchSeed === void 0
46883
+ ? void 0
46884
+ : activeSearchSeed.rooms.map(function (room) {
46885
+ var adults = room.pax
46886
+ .filter(function (p) {
46887
+ return p.age && p.age >= 18;
46888
+ })
46889
+ .map(function (p) {
46890
+ return { id: p.id, age: p.age };
46891
+ });
46892
+ var children = room.pax
46893
+ .filter(function (p) {
46894
+ return p.age && p.age < 18;
46895
+ })
46896
+ .map(function (p) {
46897
+ return { id: p.id, age: p.age };
46898
+ });
46899
+ return { adults: adults, children: children };
46900
+ })) || [];
46901
+ var travelerRooms = getTravelersText(rooms, translations);
46902
+ var flightSegments = sortedLines.filter(function (line) {
46903
+ return line.serviceType === FLIGHT_SERVICE_TYPE && line.flightInformation && Array.isArray(line.flightInformation.flightLines);
46904
+ });
46905
+ var outboundFlight = lodash.first(flightSegments);
46906
+ var returnFlight = flightSegments.length > 1 ? lodash.last(flightSegments) : undefined;
46907
+ var outboundFlightMetaData = outboundFlight ? mapToSidebarFlightMetaData(outboundFlight) : undefined;
46908
+ var returnFlightMetaData = returnFlight ? mapToSidebarFlightMetaData(returnFlight) : undefined;
46909
+ var basePrice = lodash.sum(
46910
+ (_o =
46911
+ priceDetails === null || priceDetails === void 0
46912
+ ? void 0
46913
+ : priceDetails.details
46914
+ .filter(function (pd) {
46915
+ return pd.isInPackage;
46916
+ })
46917
+ .map(function (pd) {
46918
+ return pd.price * pd.amount;
46919
+ })) !== null && _o !== void 0
46920
+ ? _o
46921
+ : []
46922
+ );
46923
+ var separateExtraPriceDetails =
46924
+ (_p =
46925
+ priceDetails === null || priceDetails === void 0
46926
+ ? void 0
46927
+ : priceDetails.details.filter(function (pd) {
46928
+ return !pd.isInPackage && pd.isSeparate;
46929
+ })) !== null && _p !== void 0
46930
+ ? _p
46931
+ : [];
46932
+ var totalPrice = lodash.sum(
46933
+ __spreadArray(
46934
+ [basePrice],
46935
+ separateExtraPriceDetails.map(function (priceDetail) {
46936
+ return priceDetail.price * priceDetail.amount;
46937
+ }),
46938
+ true
46939
+ )
46940
+ );
46941
+ var includedCosts = selectSeparatePackagePriceDetails(
46942
+ (_q =
46943
+ priceDetails === null || priceDetails === void 0
46944
+ ? void 0
46945
+ : priceDetails.details.filter(function (pd) {
46946
+ return pd.isInPackage;
46947
+ })) !== null && _q !== void 0
46948
+ ? _q
46949
+ : []
46950
+ );
46951
+ return React__default['default'].createElement(SharedSidebar, {
46952
+ productName: location !== null && location !== void 0 ? location : '',
46953
+ thumbnailUrl: (_r = context.destinationImage) === null || _r === void 0 ? void 0 : _r.url,
46954
+ translations: translations,
46955
+ travelerRooms: travelerRooms,
46956
+ startDateText: ((_s = lodash.first(sortedLines)) === null || _s === void 0 ? void 0 : _s.from) && formatDate(new Date(lodash.first(sortedLines).from)),
46957
+ endDateText: ((_t = lodash.last(sortedLines)) === null || _t === void 0 ? void 0 : _t.to) && formatDate(new Date(lodash.last(sortedLines).to)),
46958
+ isLoading: !editablePackagingEntry || !priceDetails,
46959
+ loaderComponent: React__default['default'].createElement(Spinner, null),
46960
+ departureFlightMetaData: outboundFlightMetaData,
46961
+ returnFlightMetaData: returnFlightMetaData,
46962
+ includedServiceTypes: editablePackagingEntry.lines.map(function (line) {
46963
+ return line.serviceType;
46964
+ }),
46965
+ packagingAccommodations: accommodationLines,
46966
+ basePrice: basePrice,
46967
+ commission: priceDetails === null || priceDetails === void 0 ? void 0 : priceDetails.commission,
46968
+ totalPrice: totalPrice,
46969
+ includedCosts: includedCosts,
46970
+ extraCosts: separateExtraPriceDetails,
46971
+ deposit: priceDetails === null || priceDetails === void 0 ? void 0 : priceDetails.deposit,
46972
+ isUnavailable: false,
46973
+ agent: context.agentId
46974
+ });
46975
+ };
46976
+
46977
+ var BookPackagingEntry = function (_a) {
46978
+ var _b;
46979
+ var activeSearchSeed = _a.activeSearchSeed;
46980
+ var context = React.useContext(SearchResultsConfigurationContext);
46981
+ if (!context) {
46982
+ return null;
46983
+ }
46984
+ var translations = getTranslations((_b = context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
46985
+ var currentStep = reactRedux.useSelector(function (state) {
46986
+ return state.searchResults;
46987
+ }).currentStep;
46988
+ reactRedux.useDispatch();
46989
+ var stepLabels = [translations.STEPS.PERSONAL_DETAILS, translations.STEPS.SUMMARY, translations.STEPS.CONFIRMATION];
46990
+ return React__default['default'].createElement(
46991
+ 'div',
46992
+ { className: 'booking' },
46993
+ React__default['default'].createElement(
46994
+ 'div',
46995
+ { className: 'booking__content' },
46996
+ React__default['default'].createElement(
46997
+ BookingPanel,
46998
+ {
46999
+ currentStep: currentStep,
47000
+ stepLabels: stepLabels,
47001
+ StepIndicatorsComponent: StepIndicators$1,
47002
+ renderTitle: function (step) {
47003
+ return React__default['default'].createElement(React__default['default'].Fragment, null, step + 1, '.\u00A0', stepLabels[step]);
47004
+ }
47005
+ },
47006
+ React__default['default'].createElement('div', null)
47007
+ ),
47008
+ React__default['default'].createElement('div', { className: 'backdrop', id: 'backdrop' }),
47009
+ React__default['default'].createElement(WLSidebar, { activeSearchSeed: activeSearchSeed })
47010
+ )
47011
+ );
47012
+ };
47013
+
46326
47014
  var SearchResultsContainer = function () {
46327
47015
  var _a, _b;
46328
47016
  var currentSearch = typeof window !== 'undefined' ? window.location.search : '';
@@ -46349,10 +47037,10 @@ var SearchResultsContainer = function () {
46349
47037
  packagingAccoSearchDetails = _c.packagingAccoSearchDetails,
46350
47038
  editablePackagingEntry = _c.editablePackagingEntry,
46351
47039
  transactionId = _c.transactionId,
46352
- flyInType = _c.flyInType;
46353
- _c.itinerary;
46354
- var packagingFlightResults = _c.packagingFlightResults,
46355
- confirmedExcursionsByDay = _c.confirmedExcursionsByDay;
47040
+ flyInType = _c.flyInType,
47041
+ packagingFlightResults = _c.packagingFlightResults,
47042
+ confirmedExcursionsByDay = _c.confirmedExcursionsByDay,
47043
+ bookPackagingEntry = _c.bookPackagingEntry;
46356
47044
  var isMobile = useMediaQuery('(max-width: 1200px)');
46357
47045
  var _d = React.useState(false),
46358
47046
  initialFiltersSet = _d[0],
@@ -47406,7 +48094,7 @@ var SearchResultsContainer = function () {
47406
48094
  };
47407
48095
  var fetchItinerary = function () {
47408
48096
  return __awaiter(void 0, void 0, void 0, function () {
47409
- var config, request, itinerary_1, err_8;
48097
+ var config, request, itinerary, err_8;
47410
48098
  var _a, _b;
47411
48099
  return __generator(this, function (_c) {
47412
48100
  switch (_c.label) {
@@ -47429,8 +48117,8 @@ var SearchResultsContainer = function () {
47429
48117
  };
47430
48118
  return [4 /*yield*/, build.getItinerary(config, request)];
47431
48119
  case 2:
47432
- itinerary_1 = _c.sent();
47433
- dispatch(setItinerary(itinerary_1));
48120
+ itinerary = _c.sent();
48121
+ dispatch(setItinerary(itinerary));
47434
48122
  setItineraryIsLoading(false);
47435
48123
  return [3 /*break*/, 4];
47436
48124
  case 3:
@@ -47871,335 +48559,368 @@ var SearchResultsContainer = function () {
47871
48559
  React__default['default'].createElement(
47872
48560
  'div',
47873
48561
  { className: 'search' },
47874
- React__default['default'].createElement(
47875
- 'div',
47876
- { className: 'search__container' },
47877
- context.searchConfiguration.qsmType === build.PortalQsmType.Flight &&
47878
- React__default['default'].createElement(
47879
- FlightSearchProvider,
47880
- { tideConnection: context.tideConnection },
47881
- React__default['default'].createElement(FlightResultsContainer, { isMobile: isMobile }),
47882
- React__default['default'].createElement(FlyIn, {
47883
- srpType: context.searchConfiguration.qsmType,
47884
- isOpen: flyInIsOpen,
47885
- setIsOpen: handleFlyInToggle,
47886
- onPanelRef: function (el) {
47887
- return (panelRef.current = el);
47888
- },
47889
- detailsLoading: detailsIsLoading
47890
- })
47891
- ),
47892
- (context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight ||
47893
- context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation ||
47894
- context.searchConfiguration.qsmType === build.PortalQsmType.GroupTour ||
47895
- context.searchConfiguration.qsmType === build.PortalQsmType.RoundTrip) &&
47896
- React__default['default'].createElement(
47897
- React__default['default'].Fragment,
47898
- null,
47899
- context.searchConfiguration.qsmType != build.PortalQsmType.AccommodationAndFlight &&
47900
- context.showFilters &&
47901
- React__default['default'].createElement(Filters, {
47902
- initialFilters: initialFilters,
47903
- filters: filters,
47904
- isOpen: filtersOpen,
47905
- handleSetIsOpen: function () {
47906
- return setFiltersOpen(!filtersOpen);
47907
- },
47908
- // handleApplyFilters={() => setSearchTrigger((prev) => prev + 1)}
47909
- isLoading: isLoading,
47910
- setFilters: function (filters) {
47911
- return dispatch(setFilters(filters));
47912
- },
47913
- resetFilters: function (filters) {
47914
- return dispatch(resetFilters(filters));
47915
- }
47916
- }),
47917
- context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
47918
- React__default['default'].createElement(Itinerary, {
47919
- isOpen: itineraryOpen,
47920
- handleSetIsOpen: function () {
47921
- return setItineraryOpen(!itineraryOpen);
47922
- },
47923
- isLoading: pricesAreLoading,
47924
- onEditAccommodation: handleEditAccommodation
47925
- }),
47926
- React__default['default'].createElement(
47927
- 'div',
47928
- { className: 'search__results' },
47929
- isMobile &&
48562
+ bookPackagingEntry
48563
+ ? React__default['default'].createElement(BookPackagingEntry, { activeSearchSeed: activeSearchSeed })
48564
+ : React__default['default'].createElement(
48565
+ 'div',
48566
+ { className: 'search__container' },
48567
+ context.searchConfiguration.qsmType === build.PortalQsmType.Flight &&
48568
+ React__default['default'].createElement(
48569
+ FlightSearchProvider,
48570
+ { tideConnection: context.tideConnection },
48571
+ React__default['default'].createElement(FlightResultsContainer, { isMobile: isMobile }),
48572
+ React__default['default'].createElement(FlyIn, {
48573
+ srpType: context.searchConfiguration.qsmType,
48574
+ isOpen: flyInIsOpen,
48575
+ setIsOpen: handleFlyInToggle,
48576
+ onPanelRef: function (el) {
48577
+ return (panelRef.current = el);
48578
+ },
48579
+ detailsLoading: detailsIsLoading,
48580
+ filtersOpen: filtersOpen
48581
+ })
48582
+ ),
48583
+ (context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight ||
48584
+ context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation ||
48585
+ context.searchConfiguration.qsmType === build.PortalQsmType.GroupTour ||
48586
+ context.searchConfiguration.qsmType === build.PortalQsmType.RoundTrip) &&
48587
+ React__default['default'].createElement(
48588
+ React__default['default'].Fragment,
48589
+ null,
48590
+ context.searchConfiguration.qsmType != build.PortalQsmType.AccommodationAndFlight &&
48591
+ context.showFilters &&
48592
+ React__default['default'].createElement(Filters, {
48593
+ initialFilters: initialFilters,
48594
+ filters: filters,
48595
+ isOpen: filtersOpen,
48596
+ handleSetIsOpen: function () {
48597
+ return setFiltersOpen(!filtersOpen);
48598
+ },
48599
+ // handleApplyFilters={() => setSearchTrigger((prev) => prev + 1)}
48600
+ isLoading: isLoading,
48601
+ setFilters: function (filters) {
48602
+ return dispatch(setFilters(filters));
48603
+ },
48604
+ resetFilters: function (filters) {
48605
+ return dispatch(resetFilters(filters));
48606
+ }
48607
+ }),
48608
+ context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48609
+ React__default['default'].createElement(Itinerary, {
48610
+ isOpen: itineraryOpen,
48611
+ handleSetIsOpen: function () {
48612
+ return setItineraryOpen(!itineraryOpen);
48613
+ },
48614
+ isLoading: isLoading || pricesAreLoading || flightsLoading || itineraryIsLoading,
48615
+ onEditAccommodation: handleEditAccommodation
48616
+ }),
47930
48617
  React__default['default'].createElement(
47931
48618
  'div',
47932
- { className: 'search__result-row' },
47933
- React__default['default'].createElement(
47934
- 'div',
47935
- { className: 'search__results__actions' },
47936
- context.searchConfiguration.qsmType != build.PortalQsmType.AccommodationAndFlight &&
47937
- context.showFilters &&
48619
+ { className: 'search__results' },
48620
+ isMobile &&
48621
+ React__default['default'].createElement(
48622
+ 'div',
48623
+ { className: 'search__result-row' },
47938
48624
  React__default['default'].createElement(
47939
48625
  'div',
47940
- {
47941
- className: 'cta cta--filter',
47942
- onClick: function () {
47943
- return setFiltersOpen(true);
47944
- }
47945
- },
47946
- React__default['default'].createElement(Icon, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
47947
- translations.SRP.FILTERS
48626
+ { className: 'search__results__actions' },
48627
+ context.searchConfiguration.qsmType != build.PortalQsmType.AccommodationAndFlight &&
48628
+ context.showFilters &&
48629
+ React__default['default'].createElement(
48630
+ 'div',
48631
+ {
48632
+ className: 'cta cta--filter',
48633
+ onClick: function () {
48634
+ return setFiltersOpen(true);
48635
+ }
48636
+ },
48637
+ React__default['default'].createElement(Icon, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
48638
+ translations.SRP.FILTERS
48639
+ ),
48640
+ context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48641
+ React__default['default'].createElement(
48642
+ 'div',
48643
+ {
48644
+ className: 'cta cta--filter',
48645
+ onClick: function () {
48646
+ return setItineraryOpen(true);
48647
+ }
48648
+ },
48649
+ React__default['default'].createElement(Icon, { name: 'ui-shopping-cart', className: 'mobile-filters-button__icon', height: 16 }),
48650
+ translations.SRP.VIEW_BOOKING
48651
+ )
47948
48652
  ),
47949
- context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
47950
- React__default['default'].createElement(
47951
- 'div',
47952
- {
47953
- className: 'cta cta--filter',
47954
- onClick: function () {
47955
- return setItineraryOpen(true);
48653
+ sortByTypes &&
48654
+ sortByTypes.length > 0 &&
48655
+ React__default['default'].createElement(ItemPicker, {
48656
+ items: sortByTypes,
48657
+ selection: (selectedSortType === null || selectedSortType === void 0 ? void 0 : selectedSortType.label) || undefined,
48658
+ selectedSortByType: selectedSortType,
48659
+ label: translations.SRP.SORTBY,
48660
+ placeholder: translations.SRP.SORTBY,
48661
+ classModifier: 'travel-class-picker__items',
48662
+ valueFormatter: function (value, direction) {
48663
+ return getSortingName(
48664
+ translations,
48665
+ findSortByType(sortByTypes, value, direction !== null && direction !== void 0 ? direction : 'asc')
48666
+ );
48667
+ },
48668
+ onPick: function (newSortKey, direction) {
48669
+ return handleSortChange(newSortKey, direction);
47956
48670
  }
47957
- },
47958
- React__default['default'].createElement(Icon, { name: 'ui-calendar', className: 'mobile-filters-button__icon', height: 16 }),
47959
- translations.SRP.SHOW_ITINERARY
47960
- )
47961
- ),
47962
- sortByTypes &&
47963
- sortByTypes.length > 0 &&
47964
- React__default['default'].createElement(ItemPicker, {
47965
- items: sortByTypes,
47966
- selection: (selectedSortType === null || selectedSortType === void 0 ? void 0 : selectedSortType.label) || undefined,
47967
- selectedSortByType: selectedSortType,
47968
- label: translations.SRP.SORTBY,
47969
- placeholder: translations.SRP.SORTBY,
47970
- classModifier: 'travel-class-picker__items',
47971
- valueFormatter: function (value, direction) {
47972
- return getSortingName(
47973
- translations,
47974
- findSortByType(sortByTypes, value, direction !== null && direction !== void 0 ? direction : 'asc')
47975
- );
47976
- },
47977
- onPick: function (newSortKey, direction) {
47978
- return handleSortChange(newSortKey, direction);
47979
- }
47980
- })
47981
- ),
47982
- context.searchConfiguration.qsmType !== build.PortalQsmType.AccommodationAndFlight &&
47983
- React__default['default'].createElement(
47984
- 'div',
47985
- { className: 'search__result-row' },
47986
- React__default['default'].createElement(
47987
- 'span',
47988
- { className: 'search__result-row-text' },
47989
- !isLoading &&
47990
- React__default['default'].createElement(
47991
- React__default['default'].Fragment,
47992
- null,
47993
- context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation &&
47994
- (filteredPackagingAccoResults === null || filteredPackagingAccoResults === void 0 ? void 0 : filteredPackagingAccoResults.length) &&
47995
- (filteredPackagingAccoResults === null || filteredPackagingAccoResults === void 0 ? void 0 : filteredPackagingAccoResults.length),
47996
- context.searchConfiguration.qsmType !== build.PortalQsmType.Accommodation &&
47997
- (filteredResults === null || filteredResults === void 0 ? void 0 : filteredResults.length) &&
47998
- filteredResults.length,
47999
- '\u00A0',
48000
- translations.SRP.TOTAL_RESULTS_LABEL
48001
- )
48002
- ),
48003
- !context.packagingEntry &&
48004
- !isMobile &&
48005
- sortByTypes &&
48006
- sortByTypes.length > 0 &&
48007
- React__default['default'].createElement(
48008
- 'div',
48009
- { className: 'search__result-row-filter' },
48010
- React__default['default'].createElement(ItemPicker, {
48011
- items: sortByTypes,
48012
- selection: (selectedSortType === null || selectedSortType === void 0 ? void 0 : selectedSortType.label) || undefined,
48013
- selectedSortByType: selectedSortType,
48014
- label: translations.SRP.SORTBY,
48015
- placeholder: translations.SRP.SORTBY,
48016
- classModifier: 'travel-class-picker__items',
48017
- valueFormatter: function (value, direction) {
48018
- return getSortingName(
48019
- translations,
48020
- findSortByType(sortByTypes, value, direction !== null && direction !== void 0 ? direction : 'asc')
48021
- );
48022
- },
48023
- onPick: function (newSortKey, direction) {
48024
- return handleSortChange(newSortKey, direction);
48025
- }
48026
- })
48027
- )
48028
- ),
48029
- React__default['default'].createElement(
48030
- 'div',
48031
- { className: 'search__results__wrapper' },
48032
- context.showTabViews &&
48033
- (context.searchConfiguration.qsmType === build.PortalQsmType.GroupTour ||
48034
- context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation) &&
48035
- React__default['default'].createElement(TabViews, null),
48036
- context.showRoundTripResults && context.showMockup && React__default['default'].createElement(RoundTripResults, null),
48037
- context.searchConfiguration.qsmType === build.PortalQsmType.GroupTour &&
48038
- React__default['default'].createElement(GroupTourResults, { isLoading: isLoading }),
48039
- context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48040
- !context.packagingEntry &&
48041
- context.showFlightResults &&
48042
- React__default['default'].createElement(
48043
- React__default['default'].Fragment,
48044
- null,
48671
+ })
48672
+ ),
48673
+ context.searchConfiguration.qsmType !== build.PortalQsmType.AccommodationAndFlight &&
48045
48674
  React__default['default'].createElement(
48046
48675
  'div',
48047
- { className: 'search__results__label search__results__label--secondary' },
48676
+ { className: 'search__result-row' },
48048
48677
  React__default['default'].createElement(
48049
- 'div',
48050
- { className: 'search__results__label__date' },
48051
- React__default['default'].createElement(Icon, { name: 'ui-flight', height: 16, fill: 'white' })
48678
+ 'span',
48679
+ { className: 'search__result-row-text' },
48680
+ !isLoading &&
48681
+ React__default['default'].createElement(
48682
+ React__default['default'].Fragment,
48683
+ null,
48684
+ context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation &&
48685
+ (filteredPackagingAccoResults === null || filteredPackagingAccoResults === void 0
48686
+ ? void 0
48687
+ : filteredPackagingAccoResults.length) &&
48688
+ (filteredPackagingAccoResults === null || filteredPackagingAccoResults === void 0
48689
+ ? void 0
48690
+ : filteredPackagingAccoResults.length),
48691
+ context.searchConfiguration.qsmType !== build.PortalQsmType.Accommodation &&
48692
+ (filteredResults === null || filteredResults === void 0 ? void 0 : filteredResults.length) &&
48693
+ filteredResults.length,
48694
+ '\u00A0',
48695
+ translations.SRP.TOTAL_RESULTS_LABEL
48696
+ )
48052
48697
  ),
48053
- React__default['default'].createElement(
48054
- 'div',
48055
- { className: 'search__results__label__text' },
48698
+ !context.packagingEntry &&
48699
+ !isMobile &&
48700
+ sortByTypes &&
48701
+ sortByTypes.length > 0 &&
48056
48702
  React__default['default'].createElement(
48057
- 'h3',
48058
- null,
48059
- translations.SRP.SELECT,
48060
- ' ',
48061
- React__default['default'].createElement('strong', null, ' ', translations.SRP.DEPARTURE)
48703
+ 'div',
48704
+ { className: 'search__result-row-filter' },
48705
+ React__default['default'].createElement(ItemPicker, {
48706
+ items: sortByTypes,
48707
+ selection: (selectedSortType === null || selectedSortType === void 0 ? void 0 : selectedSortType.label) || undefined,
48708
+ selectedSortByType: selectedSortType,
48709
+ label: translations.SRP.SORTBY,
48710
+ placeholder: translations.SRP.SORTBY,
48711
+ classModifier: 'travel-class-picker__items',
48712
+ valueFormatter: function (value, direction) {
48713
+ return getSortingName(
48714
+ translations,
48715
+ findSortByType(sortByTypes, value, direction !== null && direction !== void 0 ? direction : 'asc')
48716
+ );
48717
+ },
48718
+ onPick: function (newSortKey, direction) {
48719
+ return handleSortChange(newSortKey, direction);
48720
+ }
48721
+ })
48062
48722
  )
48063
- )
48064
48723
  ),
48065
- flightsLoading
48066
- ? React__default['default'].createElement(Spinner, null)
48067
- : React__default['default'].createElement(
48068
- React__default['default'].Fragment,
48069
- null,
48724
+ React__default['default'].createElement(
48725
+ 'div',
48726
+ { className: 'search__results__wrapper' },
48727
+ context.showTabViews &&
48728
+ (context.searchConfiguration.qsmType === build.PortalQsmType.GroupTour ||
48729
+ context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation) &&
48730
+ React__default['default'].createElement(TabViews, null),
48731
+ context.showRoundTripResults && context.showMockup && React__default['default'].createElement(RoundTripResults, null),
48732
+ context.searchConfiguration.qsmType === build.PortalQsmType.GroupTour &&
48733
+ React__default['default'].createElement(GroupTourResults, { isLoading: isLoading }),
48734
+ context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48735
+ !context.packagingEntry &&
48736
+ context.showFlightResults &&
48737
+ React__default['default'].createElement(
48738
+ React__default['default'].Fragment,
48739
+ null,
48740
+ React__default['default'].createElement(
48741
+ 'div',
48742
+ { className: 'search__results__label search__results__label--secondary' },
48070
48743
  React__default['default'].createElement(
48071
48744
  'div',
48072
- { className: 'search__results__cards search__results__cards--extended' },
48073
- selectedOutwardKey &&
48074
- selectedOutward &&
48075
- React__default['default'].createElement(IndependentFlightOption, {
48076
- key: 'flight-'.concat(selectedOutwardKey),
48077
- item: selectedOutward.outward,
48078
- guid: selectedOutward.outwardGuid,
48079
- onSelect: function () {
48080
- return dispatch(setSelectedOutwardKey(null));
48081
- },
48082
- selectedGuid: selectedOutward.outwardGuid,
48083
- isOutward: true,
48084
- showSelectedState: true,
48085
- price: selectedOutward.price
48086
- }),
48087
- visibleOutwardFlights.map(function (result) {
48088
- return React__default['default'].createElement(IndependentFlightOption, {
48089
- key: 'flight-'.concat(result.outwardGuid),
48090
- item: result.outward,
48091
- onSelect: function () {
48092
- return dispatch(setSelectedOutwardKey(getFlightKey(result.outward.segments)));
48093
- },
48094
- guid: result.outwardGuid,
48095
- isOutward: true,
48096
- price: result.price,
48097
- currentSelectedPrice: selectedOutward === null || selectedOutward === void 0 ? void 0 : selectedOutward.price
48098
- });
48099
- })
48745
+ { className: 'search__results__label__date' },
48746
+ (function () {
48747
+ var firstResultDate = uniqueOutwardFlights.length > 0 ? uniqueOutwardFlights[0].outward.segments[0].departureDateTime : null;
48748
+ var firstResultDay = firstResultDate ? dateFns.format(firstResultDate, 'd') : null;
48749
+ var firstResultMonth = firstResultDate ? dateFns.format(firstResultDate, 'MMM') : null;
48750
+ return React__default['default'].createElement(
48751
+ React__default['default'].Fragment,
48752
+ null,
48753
+ React__default['default'].createElement('p', { className: 'search__results__label__date-date' }, firstResultDay),
48754
+ React__default['default'].createElement('p', null, firstResultMonth)
48755
+ );
48756
+ })()
48100
48757
  ),
48101
- uniqueOutwardFlights &&
48102
- uniqueOutwardFlights.length > 3 &&
48758
+ React__default['default'].createElement(
48759
+ 'div',
48760
+ { className: 'search__results__label__text' },
48761
+ React__default['default'].createElement(Icon, { name: 'ui-flight', height: 16 }),
48103
48762
  React__default['default'].createElement(
48104
- 'div',
48105
- { className: 'search__results__cards__actions' },
48763
+ 'h3',
48764
+ null,
48765
+ translations.SRP.SELECT,
48766
+ ' ',
48767
+ React__default['default'].createElement('strong', null, ' ', translations.SRP.DEPARTURE)
48768
+ )
48769
+ )
48770
+ ),
48771
+ flightsLoading
48772
+ ? React__default['default'].createElement(Spinner, { label: translations.SRP.LOADING_FLIGHTS })
48773
+ : React__default['default'].createElement(
48774
+ React__default['default'].Fragment,
48775
+ null,
48106
48776
  React__default['default'].createElement(
48107
- 'button',
48108
- {
48109
- className: 'cta cta--secondary',
48110
- onClick: function () {
48111
- return handleShowMoreFlights('flight-outward-results');
48112
- }
48113
- },
48114
- translations.SRP.SHOW_MORE
48115
- )
48777
+ 'div',
48778
+ { className: 'search__results__cards search__results__cards--extended' },
48779
+ selectedOutwardKey &&
48780
+ selectedOutward &&
48781
+ React__default['default'].createElement(IndependentFlightOption, {
48782
+ key: 'flight-'.concat(selectedOutwardKey),
48783
+ item: selectedOutward.outward,
48784
+ guid: selectedOutward.outwardGuid,
48785
+ onSelect: function () {
48786
+ return dispatch(setSelectedOutwardKey(null));
48787
+ },
48788
+ selectedGuid: selectedOutward.outwardGuid,
48789
+ isOutward: true,
48790
+ showSelectedState: true,
48791
+ price: selectedOutward.price
48792
+ }),
48793
+ visibleOutwardFlights.map(function (result) {
48794
+ return React__default['default'].createElement(IndependentFlightOption, {
48795
+ key: 'flight-'.concat(result.outwardGuid),
48796
+ item: result.outward,
48797
+ onSelect: function () {
48798
+ return dispatch(setSelectedOutwardKey(getFlightKey(result.outward.segments)));
48799
+ },
48800
+ guid: result.outwardGuid,
48801
+ isOutward: true,
48802
+ price: result.price,
48803
+ currentSelectedPrice: selectedOutward === null || selectedOutward === void 0 ? void 0 : selectedOutward.price
48804
+ });
48805
+ })
48806
+ ),
48807
+ uniqueOutwardFlights &&
48808
+ uniqueOutwardFlights.length > 3 &&
48809
+ React__default['default'].createElement(
48810
+ 'div',
48811
+ { className: 'search__results__cards__actions' },
48812
+ React__default['default'].createElement(
48813
+ 'button',
48814
+ {
48815
+ className: 'cta cta--secondary',
48816
+ onClick: function () {
48817
+ return handleShowMoreFlights('flight-outward-results');
48818
+ }
48819
+ },
48820
+ translations.SRP.SHOW_MORE
48821
+ )
48822
+ )
48116
48823
  )
48117
- )
48118
- ),
48119
- context.showHotelAccommodationResults &&
48120
- !context.packagingEntry &&
48121
- React__default['default'].createElement(HotelAccommodationResults, { isLoading: isLoading }),
48122
- context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48123
- !context.packagingEntry &&
48124
- React__default['default'].createElement(DayByDayExcursions, null),
48125
- context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48126
- !context.packagingEntry &&
48127
- context.showFlightResults &&
48128
- React__default['default'].createElement(
48129
- React__default['default'].Fragment,
48130
- null,
48131
- React__default['default'].createElement(
48132
- 'div',
48133
- { className: 'search__results__label search__results__label--secondary' },
48134
- React__default['default'].createElement(
48135
- 'div',
48136
- { className: 'search__results__label__date' },
48137
- React__default['default'].createElement(Icon, { name: 'ui-flight', height: 16, fill: 'white' })
48138
48824
  ),
48825
+ context.showHotelAccommodationResults &&
48826
+ !context.packagingEntry &&
48827
+ React__default['default'].createElement(HotelAccommodationResults, { isLoading: isLoading }),
48828
+ context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48829
+ !context.packagingEntry &&
48830
+ React__default['default'].createElement(DayByDayExcursions, null),
48831
+ context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48832
+ !context.packagingEntry &&
48833
+ context.showFlightResults &&
48139
48834
  React__default['default'].createElement(
48140
- 'div',
48141
- { className: 'search__results__label__text' },
48835
+ React__default['default'].Fragment,
48836
+ null,
48142
48837
  React__default['default'].createElement(
48143
- 'h3',
48144
- null,
48145
- translations.SRP.SELECT,
48146
- ' ',
48147
- React__default['default'].createElement('strong', null, ' ', translations.SRP.RETURN)
48838
+ 'div',
48839
+ { className: 'search__results__label search__results__label--secondary' },
48840
+ React__default['default'].createElement(
48841
+ 'div',
48842
+ { className: 'search__results__label__date' },
48843
+ (function () {
48844
+ var firstResultDate = uniqueReturnFlights.length > 0 ? uniqueReturnFlights[0].return.segments[0].departureDateTime : null;
48845
+ var firstResultDay = firstResultDate ? dateFns.format(firstResultDate, 'd') : null;
48846
+ var firstResultMonth = firstResultDate ? dateFns.format(firstResultDate, 'MMM') : null;
48847
+ return React__default['default'].createElement(
48848
+ React__default['default'].Fragment,
48849
+ null,
48850
+ React__default['default'].createElement('p', { className: 'search__results__label__date-date' }, firstResultDay),
48851
+ React__default['default'].createElement('p', null, firstResultMonth)
48852
+ );
48853
+ })()
48854
+ ),
48855
+ React__default['default'].createElement(
48856
+ 'div',
48857
+ { className: 'search__results__label__text' },
48858
+ React__default['default'].createElement(Icon, { name: 'ui-flight', height: 16 }),
48859
+ React__default['default'].createElement(
48860
+ 'h3',
48861
+ null,
48862
+ translations.SRP.SELECT,
48863
+ ' ',
48864
+ React__default['default'].createElement('strong', null, ' ', translations.SRP.RETURN)
48865
+ )
48866
+ )
48867
+ ),
48868
+ React__default['default'].createElement(
48869
+ 'div',
48870
+ { className: 'search__results__cards search__results__cards--extended' },
48871
+ selectedReturnKey &&
48872
+ selectedReturn &&
48873
+ React__default['default'].createElement(IndependentFlightOption, {
48874
+ key: 'flight-'.concat(selectedReturnKey),
48875
+ item: selectedReturn.return,
48876
+ guid: selectedReturn.outwardGuid,
48877
+ selectedGuid: selectedReturn.outwardGuid,
48878
+ isOutward: false,
48879
+ showSelectedState: true,
48880
+ price: selectedReturn.price
48881
+ }),
48882
+ uniqueReturnFlights.map(function (result) {
48883
+ return React__default['default'].createElement(IndependentFlightOption, {
48884
+ key: 'flight-'.concat(result.outwardGuid),
48885
+ item: result.return,
48886
+ onSelect: function () {
48887
+ return dispatch(setSelectedReturnKey(getFlightKey(result.return.segments)));
48888
+ },
48889
+ guid: result.outwardGuid,
48890
+ isOutward: false,
48891
+ currentSelectedPrice: selectedReturn === null || selectedReturn === void 0 ? void 0 : selectedReturn.price,
48892
+ price: result.price
48893
+ });
48894
+ })
48148
48895
  )
48149
- )
48150
- ),
48151
- React__default['default'].createElement(
48152
- 'div',
48153
- { className: 'search__results__cards search__results__cards--extended' },
48154
- selectedReturnKey &&
48155
- selectedReturn &&
48156
- React__default['default'].createElement(IndependentFlightOption, {
48157
- key: 'flight-'.concat(selectedReturnKey),
48158
- item: selectedReturn.return,
48159
- guid: selectedReturn.outwardGuid,
48160
- selectedGuid: selectedReturn.outwardGuid,
48161
- isOutward: false,
48162
- showSelectedState: true,
48163
- price: selectedReturn.price
48164
- }),
48165
- uniqueReturnFlights.map(function (result) {
48166
- return React__default['default'].createElement(IndependentFlightOption, {
48167
- key: 'flight-'.concat(result.outwardGuid),
48168
- item: result.return,
48169
- onSelect: function () {
48170
- return dispatch(setSelectedReturnKey(getFlightKey(result.return.segments)));
48171
- },
48172
- guid: result.outwardGuid,
48173
- isOutward: false,
48174
- currentSelectedPrice: selectedReturn === null || selectedReturn === void 0 ? void 0 : selectedReturn.price,
48175
- price: result.price
48176
- });
48177
- })
48178
- )
48179
- ),
48180
- context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48181
- context.packagingEntry &&
48182
- React__default['default'].createElement(FullItinerary, { isLoading: itineraryIsLoading })
48896
+ ),
48897
+ context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48898
+ context.packagingEntry &&
48899
+ React__default['default'].createElement(FullItinerary, { isLoading: itineraryIsLoading })
48900
+ )
48901
+ ),
48902
+ React__default['default'].createElement(FlyIn, {
48903
+ srpType: context.searchConfiguration.qsmType,
48904
+ isOpen: flyInIsOpen,
48905
+ setIsOpen: handleFlyInToggle,
48906
+ handleConfirm: function () {
48907
+ return handleConfirmHotelSwap();
48908
+ },
48909
+ onPanelRef: function (el) {
48910
+ return (panelRef.current = el);
48911
+ },
48912
+ detailsLoading: detailsIsLoading,
48913
+ flyInType: flyInType,
48914
+ isPackageEditFlow: !!context.packagingEntry,
48915
+ sortByTypes: sortByTypes,
48916
+ activeSearchSeed: activeSearchSeed,
48917
+ toggleFilters: function () {
48918
+ return setFiltersOpen(!filtersOpen);
48919
+ },
48920
+ filtersOpen: filtersOpen
48921
+ })
48183
48922
  )
48184
- ),
48185
- React__default['default'].createElement(FlyIn, {
48186
- srpType: context.searchConfiguration.qsmType,
48187
- isOpen: flyInIsOpen,
48188
- setIsOpen: handleFlyInToggle,
48189
- handleConfirm: function () {
48190
- return handleConfirmHotelSwap();
48191
- },
48192
- onPanelRef: function (el) {
48193
- return (panelRef.current = el);
48194
- },
48195
- detailsLoading: detailsIsLoading,
48196
- flyInType: flyInType,
48197
- isPackageEditFlow: !!context.packagingEntry,
48198
- sortByTypes: sortByTypes,
48199
- activeSearchSeed: activeSearchSeed
48200
- })
48201
48923
  )
48202
- )
48203
48924
  )
48204
48925
  );
48205
48926
  };