@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
@@ -628,6 +628,7 @@ var SRP$f = {
628
628
  DEPARTURE_ASC: 'تاريخ المغادرة (الأقرب أولاً)',
629
629
  FILTERS: 'عوامل التصفية',
630
630
  SHOW_ITINERARY: 'عرض خط سير الرحلة',
631
+ VIEW_BOOKING: 'عرض الحجز',
631
632
  ITINERARY_TITLE: 'ملخص رحلتك',
632
633
  DOSSIER_NUMBER: 'رقم الملف',
633
634
  PACKAGE_PRICE_PER_PERSON: 'سعر الباقة للشخص الواحد',
@@ -661,7 +662,12 @@ var SRP$f = {
661
662
  DURATION_ASC: 'المدة تصاعدياً',
662
663
  DURATION_DESC: 'المدة تنازلياً',
663
664
  TRAVEL_GROUP: 'مجموعة المسافرين',
664
- EXCURSION: 'رحلة'
665
+ EXCURSION: 'رحلة',
666
+ LOADING_EXCURSIONS: 'جارٍ تحميل الرحلات...',
667
+ LOADING_FLIGHTS: 'جارٍ تحميل الرحلات الجوية...',
668
+ LOADING_ACCOMMODATIONS: 'جارٍ تحميل الإقامات...',
669
+ LOADING_ITINERARY: 'جارٍ تحميل خط سير الرحلة...',
670
+ LOADING_OPTIONS: 'جارٍ تحميل الخيارات...'
665
671
  };
666
672
  var ITINERARY$f = {
667
673
  DAY: 'اليوم',
@@ -1041,6 +1047,7 @@ var SRP$e = {
1041
1047
  DEPARTURE_ASC: 'Afrejsedato (snarest først)',
1042
1048
  FILTERS: 'Filtre',
1043
1049
  SHOW_ITINERARY: 'Vis rejseplan',
1050
+ VIEW_BOOKING: 'Se booking',
1044
1051
  ITINERARY_TITLE: 'Din rejseoversigt',
1045
1052
  DOSSIER_NUMBER: 'Sagsnummer',
1046
1053
  PACKAGE_PRICE_PER_PERSON: 'pakkepris pr. person',
@@ -1074,7 +1081,12 @@ var SRP$e = {
1074
1081
  DURATION_ASC: 'Varighed stigende',
1075
1082
  DURATION_DESC: 'Varighed faldende',
1076
1083
  TRAVEL_GROUP: 'Rejseselskab',
1077
- EXCURSION: 'Udflugt'
1084
+ EXCURSION: 'Udflugt',
1085
+ LOADING_EXCURSIONS: 'Indlæser udflugter...',
1086
+ LOADING_FLIGHTS: 'Indlæser fly...',
1087
+ LOADING_ACCOMMODATIONS: 'Indlæser indkvarteringer...',
1088
+ LOADING_ITINERARY: 'Indlæser rejseplan...',
1089
+ LOADING_OPTIONS: 'Indlæser muligheder...'
1078
1090
  };
1079
1091
  var ITINERARY$e = {
1080
1092
  DAY: 'Dag',
@@ -1459,6 +1471,7 @@ var SRP$d = {
1459
1471
  DEPARTURE_ASC: 'Abreisedatum (früheste zuerst)',
1460
1472
  FILTERS: 'Filter',
1461
1473
  SHOW_ITINERARY: 'Reiseverlauf anzeigen',
1474
+ VIEW_BOOKING: 'Buchung anzeigen',
1462
1475
  ITINERARY_TITLE: 'Ihre Reiseübersicht',
1463
1476
  DOSSIER_NUMBER: 'Vorgangsnummer',
1464
1477
  PACKAGE_PRICE_PER_PERSON: 'Paketpreis pro Person',
@@ -1488,7 +1501,12 @@ var SRP$d = {
1488
1501
  ARRIVAL_AIRPORTS: 'Ankunftsflughäfen',
1489
1502
  PRICE: 'Preis',
1490
1503
  TRAVEL_GROUP: 'Reisegruppe',
1491
- EXCURSION: 'Ausflug'
1504
+ EXCURSION: 'Ausflug',
1505
+ LOADING_EXCURSIONS: 'Lade Ausflüge...',
1506
+ LOADING_FLIGHTS: 'Lade Flüge...',
1507
+ LOADING_ACCOMMODATIONS: 'Lade Unterkünfte...',
1508
+ LOADING_ITINERARY: 'Lade Reiseverlauf...',
1509
+ LOADING_OPTIONS: 'Lade Optionen...'
1492
1510
  };
1493
1511
  var ITINERARY$d = {
1494
1512
  DAY: 'Tag',
@@ -1573,7 +1591,7 @@ var PRODUCT$c = {
1573
1591
  STAY_INCLUDED: 'Stay included',
1574
1592
  FLIGHT_INCLUDED: 'Flight included',
1575
1593
  TRANSFER_INCLUDED: 'Transfer included',
1576
- LOADING_PRICE: 'Your price is being composed.',
1594
+ LOADING_PRICE: 'Loading price...',
1577
1595
  PER_PERSON: 'Per person',
1578
1596
  PER_NIGHT: 'Per night',
1579
1597
  PER_PERSON_PER_NIGHT: 'Per person / per night',
@@ -1876,6 +1894,7 @@ var SRP$c = {
1876
1894
  DEPARTURE_ASC: 'Departure date (soonest first)',
1877
1895
  FILTERS: 'Filters',
1878
1896
  SHOW_ITINERARY: 'Show itinerary',
1897
+ VIEW_BOOKING: 'View booking',
1879
1898
  ITINERARY_TITLE: 'Your trip summary',
1880
1899
  DOSSIER_NUMBER: 'File number',
1881
1900
  PACKAGE_PRICE_PER_PERSON: 'package price per person',
@@ -1905,7 +1924,12 @@ var SRP$c = {
1905
1924
  DEPARTURE_AIRPORTS: 'Departure airports',
1906
1925
  ARRIVAL_AIRPORTS: 'Arrival airports',
1907
1926
  TRAVEL_GROUP: 'Travel group',
1908
- EXCURSION: 'Excursion'
1927
+ EXCURSION: 'Excursion',
1928
+ LOADING_EXCURSIONS: 'Loading excursions...',
1929
+ LOADING_FLIGHTS: 'Loading flights...',
1930
+ LOADING_ACCOMMODATIONS: 'Loading accommodations...',
1931
+ LOADING_ITINERARY: 'Loading itinerary...',
1932
+ LOADING_OPTIONS: 'Loading options...'
1909
1933
  };
1910
1934
  var ITINERARY$c = {
1911
1935
  DAY: 'Day',
@@ -2290,6 +2314,7 @@ var SRP$b = {
2290
2314
  DEPARTURE_ASC: 'Fecha de salida (más próxima primero)',
2291
2315
  FILTERS: 'Filtros',
2292
2316
  SHOW_ITINERARY: 'Mostrar itinerario',
2317
+ VIEW_BOOKING: 'Ver reserva',
2293
2318
  ITINERARY_TITLE: 'Resumen de tu viaje',
2294
2319
  DOSSIER_NUMBER: 'Número de expediente',
2295
2320
  PACKAGE_PRICE_PER_PERSON: 'precio del paquete por persona',
@@ -2319,7 +2344,12 @@ var SRP$b = {
2319
2344
  ARRIVAL_AIRPORTS: 'Aeropuertos de llegada',
2320
2345
  PRICE: 'Precio',
2321
2346
  TRAVEL_GROUP: 'Grupo de viaje',
2322
- EXCURSION: 'Excursión'
2347
+ EXCURSION: 'Excursión',
2348
+ LOADING_EXCURSIONS: 'Cargando excursiones...',
2349
+ LOADING_FLIGHTS: 'Cargando vuelos...',
2350
+ LOADING_ACCOMMODATIONS: 'Cargando alojamientos...',
2351
+ LOADING_ITINERARY: 'Cargando itinerario...',
2352
+ LOADING_OPTIONS: 'Cargando opciones...'
2323
2353
  };
2324
2354
  var ITINERARY$b = {
2325
2355
  DAY: 'Día',
@@ -2708,6 +2738,7 @@ var SRP$a = {
2708
2738
  DEPARTURE_ASC: 'Date de départ (la plus proche d’abord)',
2709
2739
  FILTERS: 'Filtres',
2710
2740
  SHOW_ITINERARY: 'Afficher l’itinéraire',
2741
+ VIEW_BOOKING: 'Voir la réservation',
2711
2742
  ITINERARY_TITLE: 'Résumé de votre voyage',
2712
2743
  DOSSIER_NUMBER: 'Numéro de dossier',
2713
2744
  PACKAGE_PRICE_PER_PERSON: 'prix du forfait par personne',
@@ -2737,7 +2768,12 @@ var SRP$a = {
2737
2768
  ARRIVAL_AIRPORTS: 'Aéroports d’arrivée',
2738
2769
  PRICE: 'Prix',
2739
2770
  TRAVEL_GROUP: 'Groupe de voyageurs',
2740
- EXCURSION: 'Excursion'
2771
+ EXCURSION: 'Excursion',
2772
+ LOADING_EXCURSIONS: 'Chargement des excursions...',
2773
+ LOADING_FLIGHTS: 'Chargement des vols...',
2774
+ LOADING_ACCOMMODATIONS: 'Chargement des hébergements...',
2775
+ LOADING_ITINERARY: 'Chargement de l’itinéraire...',
2776
+ LOADING_OPTIONS: 'Chargement des options...'
2741
2777
  };
2742
2778
  var ITINERARY$a = {
2743
2779
  DAY: 'Jour',
@@ -3121,6 +3157,7 @@ var SRP$9 = {
3121
3157
  DEPARTURE_ASC: 'Date de départ (la plus proche d’abord)',
3122
3158
  FILTERS: 'Filtres',
3123
3159
  SHOW_ITINERARY: 'Afficher l’itinéraire',
3160
+ VIEW_BOOKING: 'Voir la réservation',
3124
3161
  ITINERARY_TITLE: 'Résumé de votre voyage',
3125
3162
  DOSSIER_NUMBER: 'Numéro de dossier',
3126
3163
  PACKAGE_PRICE_PER_PERSON: 'prix du forfait par personne',
@@ -3150,7 +3187,12 @@ var SRP$9 = {
3150
3187
  ARRIVAL_AIRPORTS: 'Aéroports d’arrivée',
3151
3188
  PRICE: 'Prix',
3152
3189
  TRAVEL_GROUP: 'Groupe de voyageurs',
3153
- EXCURSION: 'Excursion'
3190
+ EXCURSION: 'Excursion',
3191
+ LOADING_EXCURSIONS: 'Chargement des excursions...',
3192
+ LOADING_FLIGHTS: 'Chargement des vols...',
3193
+ LOADING_ACCOMMODATIONS: 'Chargement des hébergements...',
3194
+ LOADING_ITINERARY: 'Chargement de l’itinéraire...',
3195
+ LOADING_OPTIONS: 'Chargement des options...'
3154
3196
  };
3155
3197
  var ITINERARY$9 = {
3156
3198
  DAY: 'Jour',
@@ -3534,6 +3576,7 @@ var SRP$8 = {
3534
3576
  DEPARTURE_ASC: 'Brottfarardagur (nærst fyrst)',
3535
3577
  FILTERS: 'Síur',
3536
3578
  SHOW_ITINERARY: 'Sýna ferðaráætlun',
3579
+ VIEW_BOOKING: 'Skoða bókun',
3537
3580
  ITINERARY_TITLE: 'Yfirlit ferðarinnar',
3538
3581
  DOSSIER_NUMBER: 'Skrárnúmer',
3539
3582
  PACKAGE_PRICE_PER_PERSON: 'pakka verð á mann',
@@ -3563,7 +3606,12 @@ var SRP$8 = {
3563
3606
  ARRIVAL_AIRPORTS: 'Komuflugvellir',
3564
3607
  PRICE: 'Verð',
3565
3608
  TRAVEL_GROUP: 'Ferðahópur',
3566
- EXCURSION: 'Útflutningur'
3609
+ EXCURSION: 'Útflutningur',
3610
+ LOADING_EXCURSIONS: 'Hleðst inn í útflutninga...',
3611
+ LOADING_FLIGHTS: 'Hleðst inn í flug...',
3612
+ LOADING_ACCOMMODATIONS: 'Hleðst inn í gistingar...',
3613
+ LOADING_ITINERARY: 'Hleðst inn í ferðaráætlun...',
3614
+ LOADING_OPTIONS: 'Hleðst inn í valkosti...'
3567
3615
  };
3568
3616
  var ITINERARY$8 = {
3569
3617
  DAY: 'Dagur',
@@ -3948,6 +3996,7 @@ var SRP$7 = {
3948
3996
  DEPARTURE_ASC: 'Data di partenza (prima la più vicina)',
3949
3997
  FILTERS: 'Filtri',
3950
3998
  SHOW_ITINERARY: 'Mostra itinerario',
3999
+ VIEW_BOOKING: 'Visualizza prenotazione',
3951
4000
  ITINERARY_TITLE: 'Riepilogo del tuo viaggio',
3952
4001
  DOSSIER_NUMBER: 'Numero di pratica',
3953
4002
  PACKAGE_PRICE_PER_PERSON: 'prezzo pacchetto per persona',
@@ -3977,7 +4026,12 @@ var SRP$7 = {
3977
4026
  ARRIVAL_AIRPORTS: 'Aeroporti di arrivo',
3978
4027
  PRICE: 'Prezzo',
3979
4028
  TRAVEL_GROUP: 'Gruppo di viaggio',
3980
- EXCURSION: 'Escursione'
4029
+ EXCURSION: 'Escursione',
4030
+ LOADING_EXCURSIONS: 'Caricamento delle escursioni...',
4031
+ LOADING_FLIGHTS: 'Caricamento dei voli...',
4032
+ LOADING_ACCOMMODATIONS: 'Caricamento degli alloggi...',
4033
+ LOADING_ITINERARY: "Caricamento dell'itinerario...",
4034
+ LOADING_OPTIONS: 'Caricamento delle opzioni...'
3981
4035
  };
3982
4036
  var ITINERARY$7 = {
3983
4037
  DAY: 'Giorno',
@@ -4366,6 +4420,7 @@ var SRP$6 = {
4366
4420
  DEPARTURE_ASC: 'Vertrekdatum (dichtstbij eerst)',
4367
4421
  FILTERS: 'Filters',
4368
4422
  SHOW_ITINERARY: 'Toon reisplan',
4423
+ VIEW_BOOKING: 'Bekijk boeking',
4369
4424
  ITINERARY_TITLE: 'Overzicht van je reis',
4370
4425
  DOSSIER_NUMBER: 'Dossiernummer',
4371
4426
  PACKAGE_PRICE_PER_PERSON: 'pakketprijs per persoon',
@@ -4395,7 +4450,12 @@ var SRP$6 = {
4395
4450
  ARRIVAL_AIRPORTS: 'Aankomstluchthavens',
4396
4451
  PRICE: 'Prijs',
4397
4452
  TRAVEL_GROUP: 'Reisgezelschap',
4398
- EXCURSION: 'Excursie'
4453
+ EXCURSION: 'Excursie',
4454
+ LOADING_EXCURSIONS: 'Excursies laden...',
4455
+ LOADING_FLIGHTS: 'Vluchten laden...',
4456
+ LOADING_ACCOMMODATIONS: 'Accommodaties laden...',
4457
+ LOADING_ITINERARY: 'Reisplan laden...',
4458
+ LOADING_OPTIONS: 'Opties laden...'
4399
4459
  };
4400
4460
  var ITINERARY$6 = {
4401
4461
  DAY: 'Dag',
@@ -4780,6 +4840,7 @@ var SRP$5 = {
4780
4840
  DEPARTURE_ASC: 'Vertrekdatum (dichtstbij eerst)',
4781
4841
  FILTERS: 'Filters',
4782
4842
  SHOW_ITINERARY: 'Toon reisplan',
4843
+ VIEW_BOOKING: 'Bekijk boeking',
4783
4844
  ITINERARY_TITLE: 'Overzicht van je reis',
4784
4845
  DOSSIER_NUMBER: 'Dossiernummer',
4785
4846
  PACKAGE_PRICE_PER_PERSON: 'pakketprijs per persoon',
@@ -4809,7 +4870,12 @@ var SRP$5 = {
4809
4870
  ARRIVAL_AIRPORTS: 'Aankomstluchthavens',
4810
4871
  PRICE: 'Prijs',
4811
4872
  TRAVEL_GROUP: 'Reisgezelschap',
4812
- EXCURSION: 'Excursie'
4873
+ EXCURSION: 'Excursie',
4874
+ LOADING_EXCURSIONS: 'Excursies laden...',
4875
+ LOADING_FLIGHTS: 'Vluchten laden...',
4876
+ LOADING_ACCOMMODATIONS: 'Accommodaties laden...',
4877
+ LOADING_ITINERARY: 'Reisplan laden...',
4878
+ LOADING_OPTIONS: 'Opties laden...'
4813
4879
  };
4814
4880
  var ITINERARY$5 = {
4815
4881
  DAY: 'Dag',
@@ -5194,6 +5260,7 @@ var SRP$4 = {
5194
5260
  DEPARTURE_ASC: 'Avreisedato (nærmeste først)',
5195
5261
  FILTERS: 'Filtre',
5196
5262
  SHOW_ITINERARY: 'Vis reiserute',
5263
+ VIEW_BOOKING: 'Se bestilling',
5197
5264
  ITINERARY_TITLE: 'Din reisemåloversikt',
5198
5265
  DOSSIER_NUMBER: 'Saksnummer',
5199
5266
  PACKAGE_PRICE_PER_PERSON: 'pakkepris per person',
@@ -5223,7 +5290,12 @@ var SRP$4 = {
5223
5290
  ARRIVAL_AIRPORTS: 'Ankomstflyplasser',
5224
5291
  PRICE: 'Pris',
5225
5292
  TRAVEL_GROUP: 'Reisefølge',
5226
- EXCURSION: 'Utflukt'
5293
+ EXCURSION: 'Utflukt',
5294
+ LOADING_EXCURSIONS: 'Laster utflukter...',
5295
+ LOADING_FLIGHTS: 'Laster flyvninger...',
5296
+ LOADING_ACCOMMODATIONS: 'Laster overnattinger...',
5297
+ LOADING_ITINERARY: 'Laster reiserute...',
5298
+ LOADING_OPTIONS: 'Laster alternativer...'
5227
5299
  };
5228
5300
  var ITINERARY$4 = {
5229
5301
  DAY: 'Dag',
@@ -5608,6 +5680,7 @@ var SRP$3 = {
5608
5680
  DEPARTURE_ASC: 'Data wyjazdu (najbliższa najpierw)',
5609
5681
  FILTERS: 'Filtry',
5610
5682
  SHOW_ITINERARY: 'Pokaż plan podróży',
5683
+ VIEW_BOOKING: 'Zobacz rezerwację',
5611
5684
  ITINERARY_TITLE: 'Podsumowanie Twojej podróży',
5612
5685
  DOSSIER_NUMBER: 'Numer pliku',
5613
5686
  PACKAGE_PRICE_PER_PERSON: 'cena pakietu za osobę',
@@ -5637,7 +5710,12 @@ var SRP$3 = {
5637
5710
  ARRIVAL_AIRPORTS: 'Lotniska przylotu',
5638
5711
  PRICE: 'Cena',
5639
5712
  TRAVEL_GROUP: 'Grupa podróżnych',
5640
- EXCURSION: 'Wycieczka'
5713
+ EXCURSION: 'Wycieczka',
5714
+ LOADING_EXCURSIONS: 'Ładowanie wycieczek...',
5715
+ LOADING_FLIGHTS: 'Ładowanie lotów...',
5716
+ LOADING_ACCOMMODATIONS: 'Ładowanie zakwaterowań...',
5717
+ LOADING_ITINERARY: 'Ładowanie planu podróży...',
5718
+ LOADING_OPTIONS: 'Ładowanie opcji...'
5641
5719
  };
5642
5720
  var ITINERARY$3 = {
5643
5721
  DAY: 'Dzień',
@@ -6022,6 +6100,7 @@ var SRP$2 = {
6022
6100
  DEPARTURE_ASC: 'Data de partida (mais próxima primeiro)',
6023
6101
  FILTERS: 'Filtros',
6024
6102
  SHOW_ITINERARY: 'Mostrar itinerário',
6103
+ VIEW_BOOKING: 'Ver reserva',
6025
6104
  ITINERARY_TITLE: 'Resumo da sua viagem',
6026
6105
  DOSSIER_NUMBER: 'Número do processo',
6027
6106
  PACKAGE_PRICE_PER_PERSON: 'preço do pacote por pessoa',
@@ -6051,7 +6130,12 @@ var SRP$2 = {
6051
6130
  ARRIVAL_AIRPORTS: 'Aeroportos de chegada',
6052
6131
  PRICE: 'Preço',
6053
6132
  TRAVEL_GROUP: 'Grupo de viajantes',
6054
- EXCURSION: 'Excursão'
6133
+ EXCURSION: 'Excursão',
6134
+ LOADING_EXCURSIONS: 'A carregar excursões...',
6135
+ LOADING_FLIGHTS: 'A carregar voos...',
6136
+ LOADING_ACCOMMODATIONS: 'A carregar alojamentos...',
6137
+ LOADING_ITINERARY: 'A carregar itinerário...',
6138
+ LOADING_OPTIONS: 'A carregar opções...'
6055
6139
  };
6056
6140
  var ITINERARY$2 = {
6057
6141
  DAY: 'Dia',
@@ -6436,6 +6520,7 @@ var SRP$1 = {
6436
6520
  DEPARTURE_ASC: 'Avresedatum (närmast först)',
6437
6521
  FILTERS: 'Filter',
6438
6522
  SHOW_ITINERARY: 'Visa resplan',
6523
+ VIEW_BOOKING: 'Visa bokning',
6439
6524
  ITINERARY_TITLE: 'Din resesammanfattning',
6440
6525
  DOSSIER_NUMBER: 'Filnummer',
6441
6526
  PACKAGE_PRICE_PER_PERSON: 'paketpris per person',
@@ -6465,7 +6550,12 @@ var SRP$1 = {
6465
6550
  ARRIVAL_AIRPORTS: 'Ankomstflygplatser',
6466
6551
  PRICE: 'Pris',
6467
6552
  TRAVEL_GROUP: 'Resesällskap',
6468
- EXCURSION: 'Utflykt'
6553
+ EXCURSION: 'Utflykt',
6554
+ LOADING_EXCURSIONS: 'Laddar utflykter...',
6555
+ LOADING_FLIGHTS: 'Laddar flyg...',
6556
+ LOADING_ACCOMMODATIONS: 'Laddar boenden...',
6557
+ LOADING_ITINERARY: 'Laddar resplan...',
6558
+ LOADING_OPTIONS: 'Laddar alternativ...'
6469
6559
  };
6470
6560
  var ITINERARY$1 = {
6471
6561
  DAY: 'Dag',
@@ -6848,6 +6938,7 @@ var SRP = {
6848
6938
  DEPARTURE_ASC: '出発日(早い順)',
6849
6939
  FILTERS: 'フィルター',
6850
6940
  SHOW_ITINERARY: '旅程を表示',
6941
+ VIEW_BOOKING: '予約を見る',
6851
6942
  ITINERARY_TITLE: 'あなたの旅行概要',
6852
6943
  DOSSIER_NUMBER: 'ファイル番号',
6853
6944
  PACKAGE_PRICE_PER_PERSON: '1人あたりのパッケージ料金',
@@ -6877,7 +6968,12 @@ var SRP = {
6877
6968
  ARRIVAL_AIRPORTS: '到着空港',
6878
6969
  PRICE: '価格',
6879
6970
  TRAVEL_GROUP: '旅行グループ',
6880
- EXCURSION: 'エクスカーション'
6971
+ EXCURSION: 'エクスカーション',
6972
+ LOADING_EXCURSIONS: 'エクスカーションを読み込み中...',
6973
+ LOADING_FLIGHTS: 'フライトを読み込み中...',
6974
+ LOADING_ACCOMMODATIONS: '宿泊施設を読み込み中...',
6975
+ LOADING_ITINERARY: '旅程を読み込み中...',
6976
+ LOADING_OPTIONS: 'オプションを読み込み中...'
6881
6977
  };
6882
6978
  var ITINERARY = {
6883
6979
  DAY: '日',
@@ -7027,6 +7123,14 @@ function format(text, args) {
7027
7123
  return typeof args[index] == 'undefined' ? match : args[index];
7028
7124
  });
7029
7125
  }
7126
+ var formatDate = function (date) {
7127
+ return new Intl.DateTimeFormat('nl-BE', {
7128
+ weekday: 'short',
7129
+ day: '2-digit',
7130
+ month: 'short',
7131
+ year: '2-digit'
7132
+ }).format(new Date(date));
7133
+ };
7030
7134
  var dateToDateStruct = function (date) {
7031
7135
  if (date === undefined) {
7032
7136
  return { year: 0, month: 0, day: 0 };
@@ -7130,6 +7234,11 @@ var getDatesBetween = function (fromDate, toDate) {
7130
7234
  }
7131
7235
  return dates;
7132
7236
  };
7237
+ var getDateOnlyTime = function (date) {
7238
+ if (!date) return 0;
7239
+ var parsedDate = new Date(date);
7240
+ return new Date(parsedDate.getFullYear(), parsedDate.getMonth(), parsedDate.getDate()).getTime();
7241
+ };
7133
7242
 
7134
7243
  var getDateFromParams = function (params, name) {
7135
7244
  var dateString = params.get(name);
@@ -16778,6 +16887,28 @@ var Icon = function (_a) {
16778
16887
  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'
16779
16888
  })
16780
16889
  );
16890
+ case 'ui-shopping-cart':
16891
+ return React__default.createElement(
16892
+ 'svg',
16893
+ {
16894
+ className: ['icon', 'icon--'.concat(name), className]
16895
+ .filter(function (className) {
16896
+ return !isEmpty(className);
16897
+ })
16898
+ .join(' '),
16899
+ width: width,
16900
+ height: height,
16901
+ viewBox: '0 0 640 512',
16902
+ fill: fill !== null && fill !== void 0 ? fill : 'currentColor'
16903
+ },
16904
+ React__default.createElement(HTMLComment, {
16905
+ text: '!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.'
16906
+ }),
16907
+ title && React__default.createElement('title', null, title),
16908
+ React__default.createElement('path', {
16909
+ 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'
16910
+ })
16911
+ );
16781
16912
  default:
16782
16913
  return null;
16783
16914
  }
@@ -20647,47 +20778,27 @@ var SettingsContext = React__default.createContext({
20647
20778
  }
20648
20779
  });
20649
20780
 
20650
- var StepIndicators = function (_a) {
20651
- var currentStep = _a.currentStep;
20652
- var _b = useContext(SettingsContext),
20653
- flightOptions = _b.flightOptions,
20654
- roomOptions = _b.roomOptions;
20655
- var translations = useSelector(selectTranslations);
20656
- var travelersFirstStep = useSelector(selectTravelersFirstStep);
20657
- var allSteps = [];
20658
- if (travelersFirstStep) {
20659
- allSteps.push(translations.STEPS.PERSONAL_DETAILS);
20660
- }
20661
- if (!flightOptions.isHidden) {
20662
- allSteps.push(translations.STEPS.FLIGHT_OPTIONS);
20663
- }
20664
- if (!roomOptions.isHidden) {
20665
- allSteps.push(translations.STEPS.ROOM_OPTIONS);
20666
- }
20667
- allSteps.push(translations.STEPS.EXTRA_OPTIONS);
20668
- if (!travelersFirstStep) {
20669
- allSteps.push(translations.STEPS.PERSONAL_DETAILS);
20670
- }
20671
- allSteps.push(translations.STEPS.SUMMARY);
20672
- allSteps.push(translations.STEPS.CONFIRMATION);
20781
+ var StepIndicators$1 = function (_a) {
20782
+ var currentStep = _a.currentStep,
20783
+ stepLabels = _a.stepLabels;
20673
20784
  return React__default.createElement(
20674
20785
  'div',
20675
20786
  { className: 'step-indicators' },
20676
20787
  React__default.createElement(
20677
20788
  'div',
20678
20789
  { className: 'step-indicators__items' },
20679
- allSteps.map(function (stepName, index) {
20790
+ stepLabels.map(function (stepName, index) {
20680
20791
  return React__default.createElement(
20681
20792
  'div',
20682
20793
  {
20683
20794
  key: ''.concat(index + 1, '-').concat(stepName),
20684
20795
  className: buildClassName([
20685
20796
  'step-indicators__item',
20686
- currentStep === index + 1 && 'step-indicators__item--active',
20687
- currentStep > index + 1 && 'step-indicators__item--completed'
20797
+ currentStep === index && 'step-indicators__item--active',
20798
+ currentStep > index && 'step-indicators__item--completed'
20688
20799
  ])
20689
20800
  },
20690
- React__default.createElement('div', { className: 'step-indicators__icon step-indicators__icon' }, index + 1),
20801
+ React__default.createElement('div', { className: 'step-indicators__icon' }, index + 1),
20691
20802
  React__default.createElement('div', { className: 'step-indicators__text' }, stepName)
20692
20803
  );
20693
20804
  })
@@ -20695,27 +20806,94 @@ var StepIndicators = function (_a) {
20695
20806
  );
20696
20807
  };
20697
20808
 
20698
- var StepRoute = function (_a) {
20699
- var number = _a.number,
20700
- title = _a.title,
20701
- component = _a.component;
20809
+ var StepIndicators = function (_a) {
20810
+ var currentStep = _a.currentStep;
20811
+ var _b = useContext(SettingsContext),
20812
+ flightOptions = _b.flightOptions,
20813
+ roomOptions = _b.roomOptions;
20814
+ var translations = useSelector(selectTranslations);
20815
+ var travelersFirstStep = useSelector(selectTravelersFirstStep);
20816
+ var stepLabels = [];
20817
+ if (travelersFirstStep) {
20818
+ stepLabels.push(translations.STEPS.PERSONAL_DETAILS);
20819
+ }
20820
+ if (!flightOptions.isHidden) {
20821
+ stepLabels.push(translations.STEPS.FLIGHT_OPTIONS);
20822
+ }
20823
+ if (!roomOptions.isHidden) {
20824
+ stepLabels.push(translations.STEPS.ROOM_OPTIONS);
20825
+ }
20826
+ stepLabels.push(translations.STEPS.EXTRA_OPTIONS);
20827
+ if (!travelersFirstStep) {
20828
+ stepLabels.push(translations.STEPS.PERSONAL_DETAILS);
20829
+ }
20830
+ stepLabels.push(translations.STEPS.SUMMARY);
20831
+ stepLabels.push(translations.STEPS.CONFIRMATION);
20832
+ return React__default.createElement(StepIndicators$1, { currentStep: currentStep, stepLabels: stepLabels });
20833
+ };
20834
+
20835
+ var BookingPanel = function (_a) {
20836
+ var currentStep = _a.currentStep,
20837
+ stepLabels = _a.stepLabels,
20838
+ renderTitle = _a.renderTitle,
20839
+ children = _a.children,
20840
+ StepIndicatorsComponent = _a.StepIndicatorsComponent;
20702
20841
  return React__default.createElement(
20703
- React__default.Fragment,
20704
- null,
20705
- React__default.createElement(StepIndicators, { currentStep: number }),
20842
+ 'div',
20843
+ { className: 'booking__panel' },
20844
+ React__default.createElement(StepIndicatorsComponent, { currentStep: currentStep, stepLabels: stepLabels }),
20706
20845
  React__default.createElement(
20707
20846
  'div',
20708
20847
  { className: 'booking__panel-frame booking__panel-frame--transparent' },
20709
20848
  React__default.createElement(
20710
20849
  'div',
20711
20850
  { className: 'booking__panel-heading' },
20712
- React__default.createElement('h4', { className: 'booking__panel-title' }, number, '. ', title)
20851
+ React__default.createElement('h4', { className: 'booking__panel-title' }, renderTitle(currentStep))
20713
20852
  ),
20714
- React__default.createElement('div', { className: 'booking__panel-body' }, component)
20853
+ React__default.createElement('div', { className: 'booking__panel-body' }, children)
20715
20854
  )
20716
20855
  );
20717
20856
  };
20718
20857
 
20858
+ var StepRoute = function (_a) {
20859
+ var number = _a.number;
20860
+ _a.title;
20861
+ var component = _a.component;
20862
+ var _b = useContext(SettingsContext),
20863
+ flightOptions = _b.flightOptions,
20864
+ roomOptions = _b.roomOptions;
20865
+ var translations = useSelector(selectTranslations);
20866
+ var travelersFirstStep = useSelector(selectTravelersFirstStep);
20867
+ var stepLabels = [];
20868
+ if (travelersFirstStep) {
20869
+ stepLabels.push(translations.STEPS.PERSONAL_DETAILS);
20870
+ }
20871
+ if (!flightOptions.isHidden) {
20872
+ stepLabels.push(translations.STEPS.FLIGHT_OPTIONS);
20873
+ }
20874
+ if (!roomOptions.isHidden) {
20875
+ stepLabels.push(translations.STEPS.ROOM_OPTIONS);
20876
+ }
20877
+ stepLabels.push(translations.STEPS.EXTRA_OPTIONS);
20878
+ if (!travelersFirstStep) {
20879
+ stepLabels.push(translations.STEPS.PERSONAL_DETAILS);
20880
+ }
20881
+ stepLabels.push(translations.STEPS.SUMMARY);
20882
+ stepLabels.push(translations.STEPS.CONFIRMATION);
20883
+ return React__default.createElement(
20884
+ BookingPanel,
20885
+ {
20886
+ currentStep: number,
20887
+ stepLabels: stepLabels,
20888
+ StepIndicatorsComponent: StepIndicators,
20889
+ renderTitle: function (step) {
20890
+ return React__default.createElement(React__default.Fragment, null, step + 1, '. ', stepLabels[step]);
20891
+ }
20892
+ },
20893
+ component
20894
+ );
20895
+ };
20896
+
20719
20897
  var _a$2;
20720
20898
  var initialState$4 = {
20721
20899
  apiUrl: '',
@@ -21866,8 +22044,7 @@ var FlightFilter = function (_a) {
21866
22044
  );
21867
22045
  };
21868
22046
 
21869
- var getTravelersText = function (rooms) {
21870
- var translations = useSelector(selectTranslations);
22047
+ var getTravelersText = function (rooms, translations) {
21871
22048
  return rooms.map(function (r) {
21872
22049
  return compact([
21873
22050
  r.adults.length,
@@ -25328,7 +25505,7 @@ var selectPackagePriceDetails = createSelector(selectPriceDetails, function (pri
25328
25505
  return priceDetail.isInPackage;
25329
25506
  });
25330
25507
  });
25331
- var selectSeparatePackagePriceDetails = createSelector(selectPackagePriceDetails, function (pricedetails) {
25508
+ var selectSeparatePackagePriceDetails$1 = createSelector(selectPackagePriceDetails, function (pricedetails) {
25332
25509
  var result = [];
25333
25510
  var filteredPriceDetails = pricedetails.filter(function (priceDetail) {
25334
25511
  return priceDetail.isSeparate;
@@ -25466,11 +25643,11 @@ var ProductCard = function (_a) {
25466
25643
 
25467
25644
  var SidebarFlight = function (_a) {
25468
25645
  var title = _a.title,
25469
- flightMetaData = _a.flightMetaData;
25646
+ flightMetaData = _a.flightMetaData,
25647
+ translations = _a.translations;
25470
25648
  var flightLines = parseFlightLines(flightMetaData);
25471
25649
  var firstFlight = first(flightLines);
25472
25650
  var lastFlight = last(flightLines);
25473
- var translations = useSelector(selectTranslations);
25474
25651
  return React__default.createElement(
25475
25652
  'div',
25476
25653
  { className: 'pricing-summary__group' },
@@ -25536,47 +25713,50 @@ var SidebarFlight = function (_a) {
25536
25713
  );
25537
25714
  };
25538
25715
 
25539
- var Sidebar = function (_a) {
25716
+ var SharedSidebar = function (_a) {
25540
25717
  var productName = _a.productName,
25541
25718
  thumbnailUrl = _a.thumbnailUrl,
25542
25719
  isLoading = _a.isLoading,
25720
+ translations = _a.translations,
25721
+ headerComponent = _a.headerComponent,
25543
25722
  travelerRooms = _a.travelerRooms,
25544
25723
  startDateText = _a.startDateText,
25545
25724
  endDateText = _a.endDateText,
25725
+ loaderComponent = _a.loaderComponent,
25546
25726
  departureFlightMetaData = _a.departureFlightMetaData,
25547
25727
  returnFlightMetaData = _a.returnFlightMetaData,
25728
+ accommodations = _a.accommodations,
25729
+ packagingAccommodations = _a.packagingAccommodations,
25730
+ isOnRequest = _a.isOnRequest,
25731
+ includedServiceTypes = _a.includedServiceTypes,
25548
25732
  basePrice = _a.basePrice,
25549
25733
  commission = _a.commission,
25550
25734
  totalPrice = _a.totalPrice,
25551
25735
  includedCosts = _a.includedCosts,
25552
25736
  extraCosts = _a.extraCosts,
25553
25737
  deposit = _a.deposit,
25554
- accommodations = _a.accommodations,
25555
- includedServiceTypes = _a.includedServiceTypes,
25556
- isOnRequest = _a.isOnRequest,
25557
- headerComponent = _a.headerComponent,
25558
- footerComponent = _a.footerComponent,
25559
- loaderComponent = _a.loaderComponent,
25560
- isUnavailable = _a.isUnavailable,
25561
25738
  basePricePerPaxType = _a.basePricePerPaxType,
25562
- seperateExtraPricePerPaxType = _a.seperateExtraPricePerPaxType;
25739
+ seperateExtraPricePerPaxType = _a.seperateExtraPricePerPaxType,
25740
+ isUnavailable = _a.isUnavailable,
25741
+ agent = _a.agent,
25742
+ footerComponent = _a.footerComponent;
25743
+ if (!translations) return null;
25563
25744
  var _b = useState(false),
25564
25745
  active = _b[0],
25565
25746
  setActive = _b[1];
25566
- var translations = useSelector(selectTranslations);
25567
- var currencyCode = useSelector(selectCurrencyCode);
25568
- var isAgent = useSelector(selectAgentAdressId);
25747
+ var handleToggleClick = function () {
25748
+ setActive(!active);
25749
+ };
25750
+ var isFlightOnly =
25751
+ (includedServiceTypes === null || includedServiceTypes === void 0 ? void 0 : includedServiceTypes.length) === 1 &&
25752
+ includedServiceTypes.includes(build.ServiceType.flight);
25569
25753
  var canShowPriceBreakdownSection = Boolean(basePrice && basePrice > 0) || !isEmpty(includedCosts) || !isEmpty(extraCosts);
25570
25754
  var canShowTotalPriceSection = Boolean(totalPrice && totalPrice > 0);
25571
25755
  var remainingAmount = Number(
25572
25756
  ((totalPrice !== null && totalPrice !== void 0 ? totalPrice : 0) - (deposit !== null && deposit !== void 0 ? deposit : 0)).toFixed(2)
25573
25757
  );
25574
- var isFlightOnly =
25575
- (includedServiceTypes === null || includedServiceTypes === void 0 ? void 0 : includedServiceTypes.length) === 1 &&
25576
- includedServiceTypes.includes(build.ServiceType.flight);
25577
- var handleToggleClick = function () {
25578
- setActive(!active);
25579
- };
25758
+ // TODO: Determine currency code based on the data, for now default to EUR
25759
+ var currencyCode = 'EUR';
25580
25760
  return React__default.createElement(
25581
25761
  'div',
25582
25762
  { className: buildClassName(['booking__sidebar', active && 'booking__sidebar--active']) },
@@ -25588,324 +25768,378 @@ var Sidebar = function (_a) {
25588
25768
  React__default.createElement(
25589
25769
  'div',
25590
25770
  { className: 'pricing-summary' },
25591
- !isUnavailable
25592
- ? React__default.createElement(
25771
+ React__default.createElement(
25772
+ 'div',
25773
+ { className: 'pricing-summary__wrapper' },
25774
+ React__default.createElement(
25775
+ 'div',
25776
+ { className: 'pricing-summary__region pricing-summary__region--fade-in' },
25777
+ React__default.createElement(
25593
25778
  'div',
25594
- { className: 'pricing-summary__wrapper' },
25595
- React__default.createElement(
25596
- 'div',
25597
- { className: 'pricing-summary__region '.concat(!isLoading ? 'pricing-summary__region--fade-in' : '') },
25779
+ { className: 'pricing-summary__group' },
25780
+ React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.TRAVEL_INFO),
25781
+ !isEmpty(travelerRooms) &&
25782
+ (travelerRooms === null || travelerRooms === void 0
25783
+ ? void 0
25784
+ : travelerRooms.map(function (room, rIndex) {
25785
+ return React__default.createElement(
25786
+ 'div',
25787
+ { className: 'pricing-summary__row', key: rIndex },
25788
+ React__default.createElement(
25789
+ 'div',
25790
+ { className: 'pricing-summary__property' },
25791
+ travelerRooms.length > 1 && ''.concat(translations.SHARED.ROOM, ' ').concat(rIndex + 1),
25792
+ travelerRooms.length === 1 && translations.ROOM_OPTIONS_FORM.TRAVELER_GROUP
25793
+ ),
25794
+ React__default.createElement('div', { className: 'pricing-summary__value' }, room)
25795
+ );
25796
+ })),
25797
+ startDateText &&
25598
25798
  React__default.createElement(
25599
25799
  'div',
25600
- { className: 'pricing-summary__group' },
25601
- React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.TRAVEL_INFO),
25602
- !isEmpty(travelerRooms) &&
25603
- (travelerRooms === null || travelerRooms === void 0
25604
- ? void 0
25605
- : travelerRooms.map(function (room, rIndex) {
25606
- return React__default.createElement(
25607
- 'div',
25608
- { className: 'pricing-summary__row', key: rIndex },
25609
- React__default.createElement(
25610
- 'div',
25611
- { className: 'pricing-summary__property' },
25612
- travelerRooms.length > 1 && ''.concat(translations.SHARED.ROOM, ' ').concat(rIndex + 1),
25613
- travelerRooms.length === 1 && translations.ROOM_OPTIONS_FORM.TRAVELER_GROUP
25614
- ),
25615
- React__default.createElement('div', { className: 'pricing-summary__value' }, room)
25616
- );
25617
- })),
25618
- startDateText &&
25800
+ { className: 'pricing-summary__row' },
25801
+ React__default.createElement(
25802
+ 'div',
25803
+ { className: 'pricing-summary__property' },
25804
+ startDateText && endDateText ? translations.SIDEBAR.DEPARTURE : translations.SIDEBAR.DEPARTURE_SINGLE
25805
+ ),
25806
+ React__default.createElement('div', { className: 'pricing-summary__value' }, startDateText)
25807
+ ),
25808
+ endDateText &&
25809
+ React__default.createElement(
25810
+ 'div',
25811
+ { className: 'pricing-summary__row' },
25812
+ React__default.createElement('div', { className: 'pricing-summary__property' }, translations.SIDEBAR.ARRIVAL),
25813
+ React__default.createElement('div', { className: 'pricing-summary__value' }, endDateText)
25814
+ )
25815
+ ),
25816
+ isLoading && loaderComponent,
25817
+ !isLoading &&
25818
+ departureFlightMetaData &&
25819
+ React__default.createElement(SidebarFlight, {
25820
+ title: translations.SIDEBAR.DEPARTURE_FLIGHT,
25821
+ flightMetaData: departureFlightMetaData,
25822
+ translations: translations
25823
+ }),
25824
+ !isLoading &&
25825
+ returnFlightMetaData &&
25826
+ React__default.createElement(SidebarFlight, {
25827
+ title: translations.SIDEBAR.ARRIVAL_FLIGHT,
25828
+ flightMetaData: returnFlightMetaData,
25829
+ translations: translations
25830
+ }),
25831
+ accommodations &&
25832
+ React__default.createElement(
25833
+ 'div',
25834
+ { className: 'pricing-summary__group' },
25835
+ React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.ACCOMMODATION),
25836
+ accommodations.map(function (accommodation) {
25837
+ var option = accommodation.options.find(function (x) {
25838
+ return x.isSelected;
25839
+ });
25840
+ return React__default.createElement(
25841
+ 'div',
25842
+ { key: accommodation.index },
25619
25843
  React__default.createElement(
25620
25844
  'div',
25621
25845
  { className: 'pricing-summary__row' },
25622
25846
  React__default.createElement(
25623
25847
  'div',
25624
25848
  { className: 'pricing-summary__property' },
25625
- startDateText && endDateText ? translations.SIDEBAR.DEPARTURE : translations.SIDEBAR.DEPARTURE_SINGLE
25849
+ option === null || option === void 0 ? void 0 : option.accommodationName,
25850
+ isOnRequest ? ' ('.concat(translations.SIDEBAR.ON_REQUEST, ')') : '',
25851
+ (option === null || option === void 0 ? void 0 : option.isOnRequest) ? ' ('.concat(translations.SIDEBAR.ON_REQUEST, ')') : ''
25852
+ )
25853
+ ),
25854
+ React__default.createElement(
25855
+ 'div',
25856
+ { className: 'pricing-summary__row' },
25857
+ React__default.createElement(
25858
+ 'div',
25859
+ { className: 'price-summarty__property' },
25860
+ option === null || option === void 0 ? void 0 : option.regimeName
25626
25861
  ),
25627
- React__default.createElement('div', { className: 'pricing-summary__value' }, startDateText)
25862
+ React__default.createElement(
25863
+ 'div',
25864
+ { className: 'price-summary__value' },
25865
+ !isFlightOnly &&
25866
+ getDatePeriodText(
25867
+ translations,
25868
+ option === null || option === void 0 ? void 0 : option.from,
25869
+ option === null || option === void 0 ? void 0 : option.to,
25870
+ true
25871
+ )
25872
+ )
25873
+ )
25874
+ );
25875
+ })
25876
+ ),
25877
+ packagingAccommodations &&
25878
+ React__default.createElement(
25879
+ 'div',
25880
+ { className: 'pricing-summary__group' },
25881
+ React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.ACCOMMODATION),
25882
+ packagingAccommodations.map(function (accommodation) {
25883
+ return React__default.createElement(
25884
+ 'div',
25885
+ { key: accommodation.guid },
25886
+ React__default.createElement(
25887
+ 'div',
25888
+ { className: 'pricing-summary__row' },
25889
+ React__default.createElement(
25890
+ 'div',
25891
+ { className: 'pricing-summary__property' },
25892
+ accommodation === null || accommodation === void 0 ? void 0 : accommodation.accommodationName,
25893
+ isOnRequest ? ' ('.concat(translations.SIDEBAR.ON_REQUEST, ')') : ''
25894
+ )
25628
25895
  ),
25629
- endDateText &&
25630
25896
  React__default.createElement(
25631
25897
  'div',
25632
25898
  { className: 'pricing-summary__row' },
25633
- React__default.createElement('div', { className: 'pricing-summary__property' }, translations.SIDEBAR.ARRIVAL),
25634
- React__default.createElement('div', { className: 'pricing-summary__value' }, endDateText)
25899
+ React__default.createElement(
25900
+ 'div',
25901
+ { className: 'price-summarty__property' },
25902
+ accommodation === null || accommodation === void 0 ? void 0 : accommodation.regimeName
25903
+ ),
25904
+ React__default.createElement(
25905
+ 'div',
25906
+ { className: 'price-summary__value' },
25907
+ !isFlightOnly &&
25908
+ getDatePeriodText(
25909
+ translations,
25910
+ accommodation === null || accommodation === void 0 ? void 0 : accommodation.from,
25911
+ accommodation === null || accommodation === void 0 ? void 0 : accommodation.to,
25912
+ true
25913
+ )
25914
+ )
25635
25915
  )
25636
- ),
25637
- isLoading && loaderComponent,
25638
- !isLoading &&
25639
- departureFlightMetaData &&
25640
- React__default.createElement(SidebarFlight, { title: translations.SIDEBAR.DEPARTURE_FLIGHT, flightMetaData: departureFlightMetaData }),
25641
- !isLoading &&
25642
- returnFlightMetaData &&
25643
- React__default.createElement(SidebarFlight, { title: translations.SIDEBAR.ARRIVAL_FLIGHT, flightMetaData: returnFlightMetaData }),
25644
- accommodations &&
25916
+ );
25917
+ })
25918
+ )
25919
+ ),
25920
+ !isLoading &&
25921
+ canShowPriceBreakdownSection &&
25922
+ React__default.createElement(
25923
+ 'div',
25924
+ { className: 'pricing-summary__region '.concat(!isLoading ? 'pricing-summary__region--fade-in' : '') },
25925
+ basePrice !== undefined &&
25926
+ basePrice > 0 &&
25927
+ React__default.createElement(
25928
+ 'div',
25929
+ { className: 'pricing-summary__group' },
25645
25930
  React__default.createElement(
25646
25931
  'div',
25647
- { className: 'pricing-summary__group' },
25648
- React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.ACCOMMODATION),
25649
- accommodations.map(function (accommodation) {
25650
- var option = accommodation.options.find(function (x) {
25651
- return x.isSelected;
25652
- });
25932
+ { className: 'pricing-summary__row' },
25933
+ React__default.createElement(
25934
+ 'div',
25935
+ { className: 'pricing-summary__property' },
25936
+ React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.BASE_PRICE)
25937
+ ),
25938
+ React__default.createElement('div', { className: 'pricing-summary__value' }, formatPrice$3(basePrice, currencyCode))
25939
+ ),
25940
+ basePricePerPaxType &&
25941
+ basePricePerPaxType.map(function (ppt, index) {
25653
25942
  return React__default.createElement(
25654
- 'div',
25655
- { key: accommodation.index },
25943
+ React__default.Fragment,
25944
+ { key: ''.concat(ppt.paxType, '-').concat(index) },
25656
25945
  React__default.createElement(
25657
25946
  'div',
25658
25947
  { className: 'pricing-summary__row' },
25659
25948
  React__default.createElement(
25660
25949
  'div',
25661
25950
  { className: 'pricing-summary__property' },
25662
- option === null || option === void 0 ? void 0 : option.accommodationName,
25663
- isOnRequest ? ' ('.concat(translations.SIDEBAR.ON_REQUEST, ')') : '',
25664
- (option === null || option === void 0 ? void 0 : option.isOnRequest) ? ' ('.concat(translations.SIDEBAR.ON_REQUEST, ')') : ''
25665
- )
25951
+ ppt.numberOfPax,
25952
+ ' ',
25953
+ getPaxTypeTranslation(translations, ppt.paxType, ppt.numberOfPax)
25954
+ ),
25955
+ React__default.createElement('div', { className: 'pricing-summary__value' }, formatPrice$3(ppt.pricePerPaxType, currencyCode))
25666
25956
  ),
25667
- React__default.createElement(
25668
- 'div',
25669
- { className: 'pricing-summary__row' },
25957
+ ppt.details.map(function (detail, dIndex) {
25958
+ return React__default.createElement(
25959
+ 'div',
25960
+ { className: 'pricing-summary__row pricing-summary__row--sub', key: ''.concat(ppt.paxType, '-').concat(index, '-').concat(dIndex) },
25961
+ React__default.createElement('div', { className: 'pricing-summary__property' }, detail.numberOfPax, 'x ', detail.description),
25962
+ React__default.createElement(
25963
+ 'div',
25964
+ { className: 'pricing-summary__value' },
25965
+ formatPrice$3(detail.price / detail.numberOfPax, currencyCode)
25966
+ )
25967
+ );
25968
+ })
25969
+ );
25970
+ })
25971
+ ),
25972
+ !isEmpty(includedCosts) &&
25973
+ React__default.createElement(
25974
+ 'div',
25975
+ { className: 'pricing-summary__group' },
25976
+ React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.INCLUDED_COSTS),
25977
+ includedCosts === null || includedCosts === void 0
25978
+ ? void 0
25979
+ : includedCosts.map(function (priceDetail, index) {
25980
+ var _a;
25981
+ return React__default.createElement(
25982
+ React__default.Fragment,
25983
+ { key: compact([priceDetail.productCode, priceDetail.accommodationCode, index]).join('_') },
25670
25984
  React__default.createElement(
25671
25985
  'div',
25672
- { className: 'price-summarty__property' },
25673
- option === null || option === void 0 ? void 0 : option.regimeName
25986
+ { className: 'pricing-summary__row' },
25987
+ React__default.createElement('div', { className: 'pricing-summary__property' }, priceDetail.productName),
25988
+ priceDetail.showPrice &&
25989
+ React__default.createElement(
25990
+ 'div',
25991
+ { className: 'pricing-summary__value' },
25992
+ formatPrice$3(priceDetail.price * priceDetail.amount, currencyCode)
25993
+ )
25674
25994
  ),
25675
25995
  React__default.createElement(
25676
25996
  'div',
25677
- { className: 'price-summary__value' },
25678
- !isFlightOnly &&
25679
- getDatePeriodText(
25680
- translations,
25681
- option === null || option === void 0 ? void 0 : option.from,
25682
- option === null || option === void 0 ? void 0 : option.to,
25683
- true
25684
- )
25997
+ { className: 'pricing-summary__row' },
25998
+ React__default.createElement(
25999
+ 'div',
26000
+ { className: 'price-summary__property' },
26001
+ (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode
26002
+ )
25685
26003
  )
25686
- )
25687
- );
25688
- })
25689
- )
25690
- ),
25691
- !isLoading &&
25692
- canShowPriceBreakdownSection &&
26004
+ );
26005
+ })
26006
+ ),
26007
+ !isEmpty(extraCosts) &&
25693
26008
  React__default.createElement(
25694
26009
  'div',
25695
- { className: 'pricing-summary__region '.concat(!isLoading ? 'pricing-summary__region--fade-in' : '') },
25696
- basePrice !== undefined &&
25697
- basePrice > 0 &&
25698
- React__default.createElement(
25699
- 'div',
25700
- { className: 'pricing-summary__group' },
25701
- React__default.createElement(
25702
- 'div',
25703
- { className: 'pricing-summary__row' },
25704
- React__default.createElement(
25705
- 'div',
25706
- { className: 'pricing-summary__property' },
25707
- React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.BASE_PRICE)
25708
- ),
25709
- React__default.createElement('div', { className: 'pricing-summary__value' }, formatPrice$3(basePrice, currencyCode))
25710
- ),
25711
- basePricePerPaxType &&
25712
- basePricePerPaxType.map(function (ppt, index) {
25713
- return React__default.createElement(
25714
- React__default.Fragment,
25715
- { key: ''.concat(ppt.paxType, '-').concat(index) },
25716
- React__default.createElement(
25717
- 'div',
25718
- { className: 'pricing-summary__row' },
26010
+ { className: 'pricing-summary__group' },
26011
+ React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.EXTRA_COSTS),
26012
+ extraCosts === null || extraCosts === void 0
26013
+ ? void 0
26014
+ : extraCosts.map(function (priceDetail, index) {
26015
+ var _a;
26016
+ return React__default.createElement(
26017
+ React__default.Fragment,
26018
+ { key: compact([priceDetail.productCode, priceDetail.accommodationCode, index]).join('_') },
26019
+ React__default.createElement(
26020
+ 'div',
26021
+ { className: 'pricing-summary__row' },
26022
+ React__default.createElement('div', { className: 'pricing-summary__property' }, priceDetail.productName),
26023
+ priceDetail.showPrice &&
25719
26024
  React__default.createElement(
25720
26025
  'div',
25721
- { className: 'pricing-summary__property' },
25722
- ppt.numberOfPax,
25723
- ' ',
25724
- getPaxTypeTranslation(translations, ppt.paxType, ppt.numberOfPax)
25725
- ),
25726
- React__default.createElement('div', { className: 'pricing-summary__value' }, formatPrice$3(ppt.pricePerPaxType, currencyCode))
25727
- ),
25728
- ppt.details.map(function (detail, dIndex) {
26026
+ { className: 'pricing-summary__value' },
26027
+ formatPrice$3(priceDetail.price * priceDetail.amount, currencyCode)
26028
+ )
26029
+ ),
26030
+ React__default.createElement(
26031
+ 'div',
26032
+ { className: 'pricing-summary__row' },
26033
+ React__default.createElement(
26034
+ 'div',
26035
+ { className: 'pricing-summary__property' },
26036
+ (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode
26037
+ )
26038
+ ),
26039
+ seperateExtraPricePerPaxType &&
26040
+ seperateExtraPricePerPaxType.map(function (ppt, index) {
25729
26041
  return React__default.createElement(
25730
- 'div',
25731
- {
25732
- className: 'pricing-summary__row pricing-summary__row--sub',
25733
- key: ''.concat(ppt.paxType, '-').concat(index, '-').concat(dIndex)
25734
- },
25735
- React__default.createElement('div', { className: 'pricing-summary__property' }, detail.numberOfPax, 'x ', detail.description),
25736
- React__default.createElement(
25737
- 'div',
25738
- { className: 'pricing-summary__value' },
25739
- formatPrice$3(detail.price / detail.numberOfPax, currencyCode)
25740
- )
25741
- );
25742
- })
25743
- );
25744
- })
25745
- ),
25746
- !isEmpty(includedCosts) &&
25747
- React__default.createElement(
25748
- 'div',
25749
- { className: 'pricing-summary__group' },
25750
- React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.INCLUDED_COSTS),
25751
- includedCosts === null || includedCosts === void 0
25752
- ? void 0
25753
- : includedCosts.map(function (priceDetail, index) {
25754
- var _a;
25755
- return React__default.createElement(
25756
- React__default.Fragment,
25757
- { key: compact([priceDetail.productCode, priceDetail.accommodationCode, index]).join('_') },
25758
- React__default.createElement(
25759
- 'div',
25760
- { className: 'pricing-summary__row' },
25761
- React__default.createElement('div', { className: 'pricing-summary__property' }, priceDetail.productName),
25762
- priceDetail.showPrice &&
25763
- React__default.createElement(
25764
- 'div',
25765
- { className: 'pricing-summary__value' },
25766
- formatPrice$3(priceDetail.price * priceDetail.amount, currencyCode)
25767
- )
25768
- ),
25769
- React__default.createElement(
25770
- 'div',
25771
- { className: 'pricing-summary__row' },
26042
+ React__default.Fragment,
26043
+ { key: ''.concat(ppt.paxType, '-').concat(index) },
25772
26044
  React__default.createElement(
25773
26045
  'div',
25774
- { className: 'price-summary__property' },
25775
- (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode
25776
- )
25777
- )
25778
- );
25779
- })
25780
- ),
25781
- !isEmpty(extraCosts) &&
25782
- React__default.createElement(
25783
- 'div',
25784
- { className: 'pricing-summary__group' },
25785
- React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.EXTRA_COSTS),
25786
- extraCosts === null || extraCosts === void 0
25787
- ? void 0
25788
- : extraCosts.map(function (priceDetail, index) {
25789
- var _a;
25790
- return React__default.createElement(
25791
- React__default.Fragment,
25792
- { key: compact([priceDetail.productCode, priceDetail.accommodationCode, index]).join('_') },
25793
- React__default.createElement(
25794
- 'div',
25795
- { className: 'pricing-summary__row' },
25796
- React__default.createElement('div', { className: 'pricing-summary__property' }, priceDetail.productName),
25797
- priceDetail.showPrice &&
26046
+ { className: 'pricing-summary__row' },
25798
26047
  React__default.createElement(
25799
26048
  'div',
25800
- { className: 'pricing-summary__value' },
25801
- formatPrice$3(priceDetail.price * priceDetail.amount, currencyCode)
25802
- )
25803
- ),
25804
- React__default.createElement(
25805
- 'div',
25806
- { className: 'pricing-summary__row' },
25807
- React__default.createElement(
25808
- 'div',
25809
- { className: 'pricing-summary__property' },
25810
- (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode
25811
- )
25812
- ),
25813
- seperateExtraPricePerPaxType &&
25814
- seperateExtraPricePerPaxType.map(function (ppt, index) {
26049
+ { className: 'pricing-summary__property' },
26050
+ ppt.numberOfPax,
26051
+ ' ',
26052
+ getPaxTypeTranslation(translations, ppt.paxType, ppt.numberOfPax)
26053
+ ),
26054
+ React__default.createElement('div', { className: 'pricing-summary__value' }, formatPrice$3(ppt.pricePerPaxType, currencyCode))
26055
+ ),
26056
+ ppt.details.map(function (detail, dIndex) {
25815
26057
  return React__default.createElement(
25816
- React__default.Fragment,
25817
- { key: ''.concat(ppt.paxType, '-').concat(index) },
26058
+ 'div',
26059
+ {
26060
+ className: 'pricing-summary__row pricing-summary__row--sub',
26061
+ key: ''.concat(ppt.paxType, '-').concat(index, '-').concat(dIndex)
26062
+ },
25818
26063
  React__default.createElement(
25819
26064
  'div',
25820
- { className: 'pricing-summary__row' },
25821
- React__default.createElement(
25822
- 'div',
25823
- { className: 'pricing-summary__property' },
25824
- ppt.numberOfPax,
25825
- ' ',
25826
- getPaxTypeTranslation(translations, ppt.paxType, ppt.numberOfPax)
25827
- ),
25828
- React__default.createElement(
25829
- 'div',
25830
- { className: 'pricing-summary__value' },
25831
- formatPrice$3(ppt.pricePerPaxType, currencyCode)
25832
- )
26065
+ { className: 'pricing-summary__property' },
26066
+ detail.numberOfPax,
26067
+ 'x ',
26068
+ detail.description
25833
26069
  ),
25834
- ppt.details.map(function (detail, dIndex) {
25835
- return React__default.createElement(
25836
- 'div',
25837
- {
25838
- className: 'pricing-summary__row pricing-summary__row--sub',
25839
- key: ''.concat(ppt.paxType, '-').concat(index, '-').concat(dIndex)
25840
- },
25841
- React__default.createElement(
25842
- 'div',
25843
- { className: 'pricing-summary__property' },
25844
- detail.numberOfPax,
25845
- 'x ',
25846
- detail.description
25847
- ),
25848
- React__default.createElement(
25849
- 'div',
25850
- { className: 'pricing-summary__value' },
25851
- formatPrice$3(detail.price / detail.numberOfPax, currencyCode)
25852
- )
25853
- );
25854
- })
26070
+ React__default.createElement(
26071
+ 'div',
26072
+ { className: 'pricing-summary__value' },
26073
+ formatPrice$3(detail.price / detail.numberOfPax, currencyCode)
26074
+ )
25855
26075
  );
25856
26076
  })
25857
- );
25858
- })
25859
- )
26077
+ );
26078
+ })
26079
+ );
26080
+ })
25860
26081
  )
25861
- )
25862
- : React__default.createElement(
25863
- 'div',
25864
- { className: 'pricing-summary__region' },
25865
- React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.PACKAGE_NOT_AVAILABLE)
25866
26082
  ),
25867
- !isLoading &&
25868
- canShowTotalPriceSection &&
25869
- !isUnavailable &&
25870
- React__default.createElement(
25871
- 'div',
25872
- { className: 'pricing-summary__region pricing-summary__region--pricing '.concat(!isLoading ? 'pricing-summary__region--fade-in' : '') },
25873
- deposit && remainingAmount > 0
25874
- ? React__default.createElement(
25875
- 'div',
25876
- { className: 'pricing-summary__group' },
25877
- isAgent &&
25878
- React__default.createElement(
25879
- 'div',
25880
- { className: 'pricing-summary__row pricing-summary__row--total-price' },
26083
+ !isLoading &&
26084
+ canShowTotalPriceSection &&
26085
+ !isUnavailable &&
26086
+ React__default.createElement(
26087
+ 'div',
26088
+ { className: 'pricing-summary__region pricing-summary__region--pricing '.concat(!isLoading ? 'pricing-summary__region--fade-in' : '') },
26089
+ deposit && remainingAmount > 0
26090
+ ? React__default.createElement(
26091
+ 'div',
26092
+ { className: 'pricing-summary__group' },
26093
+ agent &&
25881
26094
  React__default.createElement(
25882
26095
  'div',
25883
- { className: 'pricing-summary__property' },
25884
- React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.COMMISSION)
26096
+ { className: 'pricing-summary__row pricing-summary__row--total-price' },
26097
+ React__default.createElement(
26098
+ 'div',
26099
+ { className: 'pricing-summary__property' },
26100
+ React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.COMMISSION)
26101
+ ),
26102
+ React__default.createElement(
26103
+ 'div',
26104
+ { className: 'pricing-summary__value' },
26105
+ React__default.createElement(
26106
+ 'div',
26107
+ { className: 'pricing' },
26108
+ React__default.createElement(
26109
+ 'div',
26110
+ { className: 'pricing__price' },
26111
+ formatPrice$3(commission !== null && commission !== void 0 ? commission : 0, currencyCode)
26112
+ )
26113
+ )
26114
+ )
25885
26115
  ),
26116
+ totalPrice !== undefined &&
26117
+ totalPrice > 0 &&
25886
26118
  React__default.createElement(
25887
26119
  'div',
25888
- { className: 'pricing-summary__value' },
26120
+ { className: 'pricing-summary__row pricing-summary__row--total-price' },
25889
26121
  React__default.createElement(
25890
26122
  'div',
25891
- { className: 'pricing' },
26123
+ { className: 'pricing-summary__property' },
26124
+ React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SHARED.TOTAL_PRICE)
26125
+ ),
26126
+ React__default.createElement(
26127
+ 'div',
26128
+ { className: 'pricing-summary__value' },
25892
26129
  React__default.createElement(
25893
26130
  'div',
25894
- { className: 'pricing__price' },
25895
- formatPrice$3(commission !== null && commission !== void 0 ? commission : 0, currencyCode)
26131
+ { className: 'pricing' },
26132
+ React__default.createElement('div', { className: 'pricing__price' }, formatPrice$3(totalPrice, currencyCode))
25896
26133
  )
25897
26134
  )
25898
- )
25899
- ),
25900
- totalPrice !== undefined &&
25901
- totalPrice > 0 &&
26135
+ ),
25902
26136
  React__default.createElement(
25903
26137
  'div',
25904
- { className: 'pricing-summary__row pricing-summary__row--total-price' },
26138
+ { className: 'pricing-summary__row' },
25905
26139
  React__default.createElement(
25906
26140
  'div',
25907
26141
  { className: 'pricing-summary__property' },
25908
- React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SHARED.TOTAL_PRICE)
26142
+ React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.DEPOSIT)
25909
26143
  ),
25910
26144
  React__default.createElement(
25911
26145
  'div',
@@ -25913,97 +26147,80 @@ var Sidebar = function (_a) {
25913
26147
  React__default.createElement(
25914
26148
  'div',
25915
26149
  { className: 'pricing' },
25916
- React__default.createElement('div', { className: 'pricing__price' }, formatPrice$3(totalPrice, currencyCode))
26150
+ React__default.createElement('div', { className: 'pricing__price' }, formatPrice$3(deposit, currencyCode))
25917
26151
  )
25918
26152
  )
25919
26153
  ),
25920
- React__default.createElement(
25921
- 'div',
25922
- { className: 'pricing-summary__row' },
25923
26154
  React__default.createElement(
25924
26155
  'div',
25925
- { className: 'pricing-summary__property' },
25926
- React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.DEPOSIT)
25927
- ),
25928
- React__default.createElement(
25929
- 'div',
25930
- { className: 'pricing-summary__value' },
25931
- React__default.createElement(
25932
- 'div',
25933
- { className: 'pricing' },
25934
- React__default.createElement('div', { className: 'pricing__price' }, formatPrice$3(deposit, currencyCode))
25935
- )
25936
- )
25937
- ),
25938
- React__default.createElement(
25939
- 'div',
25940
- { className: 'pricing-summary__row' },
25941
- React__default.createElement(
25942
- 'small',
25943
- null,
26156
+ { className: 'pricing-summary__row' },
25944
26157
  React__default.createElement(
25945
- 'em',
26158
+ 'small',
25946
26159
  null,
25947
- translations.SIDEBAR.DEPOSIT_TEXT1,
25948
- React__default.createElement('strong', null, translations.SIDEBAR.DEPOSIT_TEXT2),
25949
- translations.SIDEBAR.DEPOSIT_TEXT3,
25950
- formatPrice$3(remainingAmount, currencyCode),
25951
- translations.SIDEBAR.DEPOSIT_TEXT4,
25952
- React__default.createElement('strong', null, translations.SIDEBAR.DEPOSIT_TEXT5),
25953
- translations.SIDEBAR.DEPOSIT_TEXT6
26160
+ React__default.createElement(
26161
+ 'em',
26162
+ null,
26163
+ translations.SIDEBAR.DEPOSIT_TEXT1,
26164
+ React__default.createElement('strong', null, translations.SIDEBAR.DEPOSIT_TEXT2),
26165
+ translations.SIDEBAR.DEPOSIT_TEXT3,
26166
+ formatPrice$3(remainingAmount, currencyCode),
26167
+ translations.SIDEBAR.DEPOSIT_TEXT4,
26168
+ React__default.createElement('strong', null, translations.SIDEBAR.DEPOSIT_TEXT5),
26169
+ translations.SIDEBAR.DEPOSIT_TEXT6
26170
+ )
25954
26171
  )
25955
26172
  )
25956
26173
  )
25957
- )
25958
- : React__default.createElement(
25959
- 'div',
25960
- { className: 'pricing-summary__group' },
25961
- isAgent &&
25962
- React__default.createElement(
25963
- 'div',
25964
- { className: 'pricing-summary__row pricing-summary__row--total-price' },
25965
- React__default.createElement(
25966
- 'div',
25967
- { className: 'pricing-summary__property' },
25968
- React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.COMMISSION)
25969
- ),
26174
+ : React__default.createElement(
26175
+ 'div',
26176
+ { className: 'pricing-summary__group' },
26177
+ agent &&
25970
26178
  React__default.createElement(
25971
26179
  'div',
25972
- { className: 'pricing-summary__value' },
26180
+ { className: 'pricing-summary__row pricing-summary__row--total-price' },
25973
26181
  React__default.createElement(
25974
26182
  'div',
25975
- { className: 'pricing' },
26183
+ { className: 'pricing-summary__property' },
26184
+ React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.COMMISSION)
26185
+ ),
26186
+ React__default.createElement(
26187
+ 'div',
26188
+ { className: 'pricing-summary__value' },
25976
26189
  React__default.createElement(
25977
26190
  'div',
25978
- { className: 'pricing__price' },
25979
- formatPrice$3(commission !== null && commission !== void 0 ? commission : 0, currencyCode)
26191
+ { className: 'pricing' },
26192
+ React__default.createElement(
26193
+ 'div',
26194
+ { className: 'pricing__price' },
26195
+ formatPrice$3(commission !== null && commission !== void 0 ? commission : 0, currencyCode)
26196
+ )
25980
26197
  )
25981
26198
  )
25982
- )
25983
- ),
25984
- totalPrice !== undefined &&
25985
- totalPrice > 0 &&
25986
- React__default.createElement(
25987
- 'div',
25988
- { className: 'pricing-summary__row pricing-summary__row--total-price' },
25989
- React__default.createElement(
25990
- 'div',
25991
- { className: 'pricing-summary__property' },
25992
- React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SHARED.TOTAL_PRICE)
25993
26199
  ),
26200
+ totalPrice !== undefined &&
26201
+ totalPrice > 0 &&
25994
26202
  React__default.createElement(
25995
26203
  'div',
25996
- { className: 'pricing-summary__value' },
26204
+ { className: 'pricing-summary__row pricing-summary__row--total-price' },
25997
26205
  React__default.createElement(
25998
26206
  'div',
25999
- { className: 'pricing' },
26000
- React__default.createElement('div', { className: 'pricing__price' }, formatPrice$3(totalPrice, currencyCode))
26207
+ { className: 'pricing-summary__property' },
26208
+ React__default.createElement('h6', { className: 'pricing-summary__title' }, translations.SHARED.TOTAL_PRICE)
26209
+ ),
26210
+ React__default.createElement(
26211
+ 'div',
26212
+ { className: 'pricing-summary__value' },
26213
+ React__default.createElement(
26214
+ 'div',
26215
+ { className: 'pricing' },
26216
+ React__default.createElement('div', { className: 'pricing__price' }, formatPrice$3(totalPrice, currencyCode))
26217
+ )
26001
26218
  )
26002
26219
  )
26003
- )
26004
- )
26005
- ),
26006
- footerComponent
26220
+ )
26221
+ ),
26222
+ footerComponent
26223
+ )
26007
26224
  )
26008
26225
  )
26009
26226
  );
@@ -26020,7 +26237,8 @@ var SidebarContainer = function (_a) {
26020
26237
  showPricesPerPaxType = _f.showPricesPerPaxType;
26021
26238
  var bookingAttributes = useSelector(selectBookingAttributes);
26022
26239
  var rooms = useSelector(selectFormRooms);
26023
- var travelerRooms = getTravelersText(rooms);
26240
+ var translations = useSelector(selectTranslations);
26241
+ var travelerRooms = getTravelersText(rooms, translations);
26024
26242
  var departureFlight = useSelector(selectDepartureFlight);
26025
26243
  var departureFlightMetaData =
26026
26244
  (_b = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.flightMetaData) !== null && _b !== void 0
@@ -26041,7 +26259,8 @@ var SidebarContainer = function (_a) {
26041
26259
  var includedServiceTypes = useSelector(selectIncludedServiceTypes);
26042
26260
  var isUnavailable = useSelector(selectIsUnavailable) || false;
26043
26261
  var isLoading = isFetchingProductOptions || isFetchingPriceDetails;
26044
- return React__default.createElement(Sidebar, {
26262
+ var agent = useSelector(selectAgentAdressId);
26263
+ return React__default.createElement(SharedSidebar, {
26045
26264
  productName: productName,
26046
26265
  thumbnailUrl: thumbnailUrl,
26047
26266
  isLoading: isLoading,
@@ -26057,7 +26276,7 @@ var SidebarContainer = function (_a) {
26057
26276
  basePrice: useSelector(selectBasePrice),
26058
26277
  commission: useSelector(selectCommission),
26059
26278
  totalPrice: useSelector(selectTotalPrice),
26060
- includedCosts: useSelector(selectSeparatePackagePriceDetails),
26279
+ includedCosts: useSelector(selectSeparatePackagePriceDetails$1),
26061
26280
  extraCosts: useSelector(selectSeparateExtraPriceDetails),
26062
26281
  accommodations: accommodations,
26063
26282
  includedServiceTypes: includedServiceTypes,
@@ -26068,7 +26287,9 @@ var SidebarContainer = function (_a) {
26068
26287
  loaderComponent: loaderComponent !== null && loaderComponent !== void 0 ? loaderComponent : undefined,
26069
26288
  isUnavailable: isUnavailable,
26070
26289
  basePricePerPaxType: showPricesPerPaxType ? useSelector(selectBasePricePerPaxType) : undefined,
26071
- seperateExtraPricePerPaxType: showPricesPerPaxType ? useSelector(selectSeparateExtraPriceDetailsPerPaxType) : undefined
26290
+ seperateExtraPricePerPaxType: showPricesPerPaxType ? useSelector(selectSeparateExtraPriceDetailsPerPaxType) : undefined,
26291
+ translations: translations,
26292
+ agent: agent
26072
26293
  });
26073
26294
  };
26074
26295
 
@@ -30721,15 +30942,22 @@ var qsmReducer = qsmSlice.reducer;
30721
30942
 
30722
30943
  var SearchResultsConfigurationContext = React__default.createContext(undefined);
30723
30944
 
30724
- var Spinner = function () {
30725
- var _a;
30945
+ var Spinner = function (_a) {
30946
+ var _b;
30947
+ var label = _a.label;
30726
30948
  var context = useContext(SearchResultsConfigurationContext);
30727
- var translations = getTranslations((_a = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB');
30949
+ var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
30728
30950
  return React__default.createElement(
30729
30951
  'div',
30730
- { className: 'spinner__container' },
30731
- React__default.createElement('span', { className: 'spinner__icon' }),
30732
- React__default.createElement('span', { className: 'spinner__label' }, translations === null || translations === void 0 ? void 0 : translations.SRP.LOADING)
30952
+ { className: 'loader__container' },
30953
+ React__default.createElement(
30954
+ 'div',
30955
+ { className: 'loader__line' },
30956
+ React__default.createElement('li', { className: 'loader__ball loader__ball--1' }),
30957
+ React__default.createElement('li', { className: 'loader__ball loader__ball--2' }),
30958
+ React__default.createElement('li', { className: 'loader__ball loader__ball--3' })
30959
+ ),
30960
+ React__default.createElement('div', { 'data-text': label !== null && label !== void 0 ? label : translations.SRP.LOADING, className: 'loader__line__text' })
30733
30961
  );
30734
30962
  };
30735
30963
 
@@ -31778,6 +32006,7 @@ var MobileFilterModal = function () {
31778
32006
  destinationAirport = _b.destinationAirport,
31779
32007
  returnAirport = _b.returnAirport,
31780
32008
  destination = _b.destination;
32009
+ var searchInputRef = useRef(null);
31781
32010
  var _c = useState(''),
31782
32011
  inputValue = _c[0],
31783
32012
  setInputValue = _c[1];
@@ -31794,6 +32023,18 @@ var MobileFilterModal = function () {
31794
32023
  },
31795
32024
  [activeSearchFieldProps]
31796
32025
  );
32026
+ useEffect(
32027
+ function () {
32028
+ if (mobileFilterType !== 'search') return;
32029
+ requestAnimationFrame(function () {
32030
+ var input = searchInputRef.current;
32031
+ if (!input) return;
32032
+ input.focus();
32033
+ input.setSelectionRange(input.value.length, input.value.length);
32034
+ });
32035
+ },
32036
+ [mobileFilterType, activeSearchFieldProps === null || activeSearchFieldProps === void 0 ? void 0 : activeSearchFieldProps.fieldKey]
32037
+ );
31797
32038
  /* ---------------------------------------------------------------- */
31798
32039
  /* Helpers */
31799
32040
  /* ---------------------------------------------------------------- */
@@ -31986,6 +32227,7 @@ var MobileFilterModal = function () {
31986
32227
  'label',
31987
32228
  { className: 'qsm__input-wrapper' },
31988
32229
  React__default.createElement('input', {
32230
+ ref: searchInputRef,
31989
32231
  type: 'text',
31990
32232
  id: 'search',
31991
32233
  value: inputValue,
@@ -31995,7 +32237,6 @@ var MobileFilterModal = function () {
31995
32237
  onChange: function (e) {
31996
32238
  return handleInputChange(e.target.value);
31997
32239
  },
31998
- // onChange={(e) => handleLocationChange(e.target.value)}
31999
32240
  className: 'qsm__input qsm__input--modal qsm__from-to u-ps-2',
32000
32241
  placeholder: activeSearchFieldProps.placeholder
32001
32242
  }),
@@ -32489,7 +32730,6 @@ var ItemPicker$1 = function (_a) {
32489
32730
  isDropdownOpen = _b[0],
32490
32731
  setIsDropdownOpen = _b[1];
32491
32732
  var dropdownRef = useRef(null);
32492
- var toggleButtonRef = useRef(null);
32493
32733
  var handlePick = function (picked, id) {
32494
32734
  setIsDropdownOpen(false);
32495
32735
  onPick(picked, id);
@@ -32511,7 +32751,7 @@ var ItemPicker$1 = function (_a) {
32511
32751
  React__default.createElement('span', { className: 'dropdown__label' }, label),
32512
32752
  React__default.createElement(
32513
32753
  'div',
32514
- { className: 'dropdown' },
32754
+ { className: 'dropdown', ref: dropdownRef },
32515
32755
  React__default.createElement(
32516
32756
  'button',
32517
32757
  {
@@ -32520,8 +32760,7 @@ var ItemPicker$1 = function (_a) {
32520
32760
  return setIsDropdownOpen(function (prev) {
32521
32761
  return !prev;
32522
32762
  });
32523
- },
32524
- ref: toggleButtonRef
32763
+ }
32525
32764
  },
32526
32765
  React__default.createElement('span', null, selection || placeholder),
32527
32766
  React__default.createElement('span', { className: 'arrow' }, '\u25BE')
@@ -32954,58 +33193,16 @@ var QSMContainer = function () {
32954
33193
  );
32955
33194
  })
32956
33195
  ),
32957
- React__default.createElement(
32958
- 'div',
32959
- { className: 'qsm__filter' },
32960
- (qsmType === build.PortalQsmType.Accommodation ||
32961
- qsmType === build.PortalQsmType.AccommodationAndFlight ||
32962
- qsmType === build.PortalQsmType.GroupTour) &&
32963
- React__default.createElement(
32964
- 'div',
32965
- { className: 'radiobutton-group qsm__filter__inputgroup' },
32966
- React__default.createElement(
32967
- 'div',
32968
- { className: 'radiobutton' },
32969
- React__default.createElement(
32970
- 'label',
32971
- { className: 'radiobutton__label' },
32972
- React__default.createElement('input', {
32973
- type: 'radio',
32974
- name: 'numberOfAccommodations',
32975
- // onChange={handleMainBookerChange}
32976
- // onBlur={formik.handleBlur}
32977
- value: '',
32978
- checked: true,
32979
- readOnly: true,
32980
- className: 'radiobutton__input'
32981
- }),
32982
- React__default.createElement('span', null, translations.QSM.ONE_ACCOMMODATION)
32983
- )
32984
- ),
33196
+ !isMobile &&
33197
+ React__default.createElement(
33198
+ 'div',
33199
+ { className: 'qsm__filter' },
33200
+ (qsmType === build.PortalQsmType.Accommodation ||
33201
+ qsmType === build.PortalQsmType.AccommodationAndFlight ||
33202
+ qsmType === build.PortalQsmType.GroupTour) &&
32985
33203
  React__default.createElement(
32986
33204
  'div',
32987
- { className: 'radiobutton' },
32988
- React__default.createElement(
32989
- 'label',
32990
- { className: 'radiobutton__label' },
32991
- React__default.createElement('input', {
32992
- type: 'radio',
32993
- name: 'numberOfAccommodations',
32994
- // onChange={handleMainBookerChange}
32995
- // onBlur={formik.handleBlur}
32996
- value: '',
32997
- className: 'radiobutton__input',
32998
- disabled: true
32999
- }),
33000
- React__default.createElement('span', null, translations.QSM.MULTIPLE_ACCOMMODATIONS)
33001
- )
33002
- )
33003
- ),
33004
- qsmType === build.PortalQsmType.Flight &&
33005
- React__default.createElement(
33006
- 'div',
33007
- { className: 'radiobutton-group qsm__filter__inputgroup' },
33008
- allowOneWay &&
33205
+ { className: 'radiobutton-group qsm__filter__inputgroup' },
33009
33206
  React__default.createElement(
33010
33207
  'div',
33011
33208
  { className: 'radiobutton' },
@@ -33014,18 +33211,17 @@ var QSMContainer = function () {
33014
33211
  { className: 'radiobutton__label' },
33015
33212
  React__default.createElement('input', {
33016
33213
  type: 'radio',
33017
- name: 'tripType',
33018
- value: 'oneway',
33019
- checked: tripType === 'oneway',
33020
- onChange: function () {
33021
- return handleTripTypeChange('oneway');
33022
- },
33214
+ name: 'numberOfAccommodations',
33215
+ // onChange={handleMainBookerChange}
33216
+ // onBlur={formik.handleBlur}
33217
+ value: '',
33218
+ checked: true,
33219
+ readOnly: true,
33023
33220
  className: 'radiobutton__input'
33024
33221
  }),
33025
- React__default.createElement('span', null, translations.QSM.ONEWAY)
33222
+ React__default.createElement('span', null, translations.QSM.ONE_ACCOMMODATION)
33026
33223
  )
33027
33224
  ),
33028
- allowRoundtrip &&
33029
33225
  React__default.createElement(
33030
33226
  'div',
33031
33227
  { className: 'radiobutton' },
@@ -33034,58 +33230,102 @@ var QSMContainer = function () {
33034
33230
  { className: 'radiobutton__label' },
33035
33231
  React__default.createElement('input', {
33036
33232
  type: 'radio',
33037
- name: 'tripType',
33038
- value: 'roundtrip',
33039
- checked: tripType === 'roundtrip',
33040
- onChange: function () {
33041
- return handleTripTypeChange('roundtrip');
33042
- },
33043
- className: 'radiobutton__input'
33233
+ name: 'numberOfAccommodations',
33234
+ // onChange={handleMainBookerChange}
33235
+ // onBlur={formik.handleBlur}
33236
+ value: '',
33237
+ className: 'radiobutton__input',
33238
+ disabled: true
33044
33239
  }),
33045
- React__default.createElement('span', null, translations.QSM.ROUNDTRIP)
33240
+ React__default.createElement('span', null, translations.QSM.MULTIPLE_ACCOMMODATIONS)
33046
33241
  )
33047
- ),
33048
- allowOpenJaw &&
33049
- React__default.createElement(
33050
- 'div',
33051
- { className: 'radiobutton' },
33242
+ )
33243
+ ),
33244
+ qsmType === build.PortalQsmType.Flight &&
33245
+ React__default.createElement(
33246
+ 'div',
33247
+ { className: 'radiobutton-group qsm__filter__inputgroup' },
33248
+ allowOneWay &&
33052
33249
  React__default.createElement(
33053
- 'label',
33054
- { className: 'radiobutton__label' },
33055
- React__default.createElement('input', {
33056
- type: 'radio',
33057
- name: 'tripType',
33058
- value: 'openjaw',
33059
- checked: tripType === 'openjaw',
33060
- onChange: function () {
33061
- return handleTripTypeChange('openjaw');
33062
- },
33063
- className: 'radiobutton__input'
33064
- }),
33065
- React__default.createElement('span', null, translations.QSM.OPENJAW)
33250
+ 'div',
33251
+ { className: 'radiobutton' },
33252
+ React__default.createElement(
33253
+ 'label',
33254
+ { className: 'radiobutton__label' },
33255
+ React__default.createElement('input', {
33256
+ type: 'radio',
33257
+ name: 'tripType',
33258
+ value: 'oneway',
33259
+ checked: tripType === 'oneway',
33260
+ onChange: function () {
33261
+ return handleTripTypeChange('oneway');
33262
+ },
33263
+ className: 'radiobutton__input'
33264
+ }),
33265
+ React__default.createElement('span', null, translations.QSM.ONEWAY)
33266
+ )
33267
+ ),
33268
+ allowRoundtrip &&
33269
+ React__default.createElement(
33270
+ 'div',
33271
+ { className: 'radiobutton' },
33272
+ React__default.createElement(
33273
+ 'label',
33274
+ { className: 'radiobutton__label' },
33275
+ React__default.createElement('input', {
33276
+ type: 'radio',
33277
+ name: 'tripType',
33278
+ value: 'roundtrip',
33279
+ checked: tripType === 'roundtrip',
33280
+ onChange: function () {
33281
+ return handleTripTypeChange('roundtrip');
33282
+ },
33283
+ className: 'radiobutton__input'
33284
+ }),
33285
+ React__default.createElement('span', null, translations.QSM.ROUNDTRIP)
33286
+ )
33287
+ ),
33288
+ allowOpenJaw &&
33289
+ React__default.createElement(
33290
+ 'div',
33291
+ { className: 'radiobutton' },
33292
+ React__default.createElement(
33293
+ 'label',
33294
+ { className: 'radiobutton__label' },
33295
+ React__default.createElement('input', {
33296
+ type: 'radio',
33297
+ name: 'tripType',
33298
+ value: 'openjaw',
33299
+ checked: tripType === 'openjaw',
33300
+ onChange: function () {
33301
+ return handleTripTypeChange('openjaw');
33302
+ },
33303
+ className: 'radiobutton__input'
33304
+ }),
33305
+ React__default.createElement('span', null, translations.QSM.OPENJAW)
33306
+ )
33066
33307
  )
33067
- )
33068
- ),
33069
- React__default.createElement(
33070
- 'div',
33071
- { className: 'qsm__filter__classgroup' },
33072
- qsmType !== build.PortalQsmType.Accommodation &&
33073
- qsmType !== build.PortalQsmType.Car &&
33074
- qsmType !== build.PortalQsmType.Ticket &&
33075
- qsmType !== build.PortalQsmType.Cruise &&
33076
- qsmType !== build.PortalQsmType.Transfer &&
33077
- qsmType !== build.PortalQsmType.GroupTour &&
33078
- askTravelClass &&
33079
- React__default.createElement(TravelClassPicker, null),
33080
- qsmType !== build.PortalQsmType.Multidestination &&
33081
- qsmType !== build.PortalQsmType.Car &&
33082
- qsmType !== build.PortalQsmType.Flight &&
33083
- qsmType !== build.PortalQsmType.Transfer &&
33084
- askTravelType &&
33085
- React__default.createElement(TravelTypePicker, null),
33086
- askNationality && React__default.createElement(TravelNationalityPicker, null)
33087
- )
33088
- ),
33308
+ ),
33309
+ React__default.createElement(
33310
+ 'div',
33311
+ { className: 'qsm__filter__classgroup' },
33312
+ qsmType !== build.PortalQsmType.Accommodation &&
33313
+ qsmType !== build.PortalQsmType.Car &&
33314
+ qsmType !== build.PortalQsmType.Ticket &&
33315
+ qsmType !== build.PortalQsmType.Cruise &&
33316
+ qsmType !== build.PortalQsmType.Transfer &&
33317
+ qsmType !== build.PortalQsmType.GroupTour &&
33318
+ askTravelClass &&
33319
+ React__default.createElement(TravelClassPicker, null),
33320
+ qsmType !== build.PortalQsmType.Multidestination &&
33321
+ qsmType !== build.PortalQsmType.Car &&
33322
+ qsmType !== build.PortalQsmType.Flight &&
33323
+ qsmType !== build.PortalQsmType.Transfer &&
33324
+ askTravelType &&
33325
+ React__default.createElement(TravelTypePicker, null),
33326
+ askNationality && React__default.createElement(TravelNationalityPicker, null)
33327
+ )
33328
+ ),
33089
33329
  React__default.createElement(
33090
33330
  'div',
33091
33331
  { className: 'qsm__input-group' },
@@ -33104,6 +33344,139 @@ var QSMContainer = function () {
33104
33344
  React__default.createElement(SearchInputGroup, { fieldConfig: destination }),
33105
33345
  React__default.createElement(Dates, { value: dateRange, onChange: handleDateChange }),
33106
33346
  askTravelers && React__default.createElement(TravelInputGroup, null),
33347
+ isMobile &&
33348
+ React__default.createElement(
33349
+ 'div',
33350
+ { className: 'qsm__filter' },
33351
+ (qsmType === build.PortalQsmType.Accommodation ||
33352
+ qsmType === build.PortalQsmType.AccommodationAndFlight ||
33353
+ qsmType === build.PortalQsmType.GroupTour) &&
33354
+ React__default.createElement(
33355
+ 'div',
33356
+ { className: 'radiobutton-group qsm__filter__inputgroup' },
33357
+ React__default.createElement(
33358
+ 'div',
33359
+ { className: 'radiobutton' },
33360
+ React__default.createElement(
33361
+ 'label',
33362
+ { className: 'radiobutton__label' },
33363
+ React__default.createElement('input', {
33364
+ type: 'radio',
33365
+ name: 'numberOfAccommodations',
33366
+ // onChange={handleMainBookerChange}
33367
+ // onBlur={formik.handleBlur}
33368
+ value: '',
33369
+ checked: true,
33370
+ readOnly: true,
33371
+ className: 'radiobutton__input'
33372
+ }),
33373
+ React__default.createElement('span', null, translations.QSM.ONE_ACCOMMODATION)
33374
+ )
33375
+ ),
33376
+ React__default.createElement(
33377
+ 'div',
33378
+ { className: 'radiobutton' },
33379
+ React__default.createElement(
33380
+ 'label',
33381
+ { className: 'radiobutton__label' },
33382
+ React__default.createElement('input', {
33383
+ type: 'radio',
33384
+ name: 'numberOfAccommodations',
33385
+ // onChange={handleMainBookerChange}
33386
+ // onBlur={formik.handleBlur}
33387
+ value: '',
33388
+ className: 'radiobutton__input',
33389
+ disabled: true
33390
+ }),
33391
+ React__default.createElement('span', null, translations.QSM.MULTIPLE_ACCOMMODATIONS)
33392
+ )
33393
+ )
33394
+ ),
33395
+ qsmType === build.PortalQsmType.Flight &&
33396
+ React__default.createElement(
33397
+ 'div',
33398
+ { className: 'radiobutton-group qsm__filter__inputgroup' },
33399
+ allowOneWay &&
33400
+ React__default.createElement(
33401
+ 'div',
33402
+ { className: 'radiobutton' },
33403
+ React__default.createElement(
33404
+ 'label',
33405
+ { className: 'radiobutton__label' },
33406
+ React__default.createElement('input', {
33407
+ type: 'radio',
33408
+ name: 'tripType',
33409
+ value: 'oneway',
33410
+ checked: tripType === 'oneway',
33411
+ onChange: function () {
33412
+ return handleTripTypeChange('oneway');
33413
+ },
33414
+ className: 'radiobutton__input'
33415
+ }),
33416
+ React__default.createElement('span', null, translations.QSM.ONEWAY)
33417
+ )
33418
+ ),
33419
+ allowRoundtrip &&
33420
+ React__default.createElement(
33421
+ 'div',
33422
+ { className: 'radiobutton' },
33423
+ React__default.createElement(
33424
+ 'label',
33425
+ { className: 'radiobutton__label' },
33426
+ React__default.createElement('input', {
33427
+ type: 'radio',
33428
+ name: 'tripType',
33429
+ value: 'roundtrip',
33430
+ checked: tripType === 'roundtrip',
33431
+ onChange: function () {
33432
+ return handleTripTypeChange('roundtrip');
33433
+ },
33434
+ className: 'radiobutton__input'
33435
+ }),
33436
+ React__default.createElement('span', null, translations.QSM.ROUNDTRIP)
33437
+ )
33438
+ ),
33439
+ allowOpenJaw &&
33440
+ React__default.createElement(
33441
+ 'div',
33442
+ { className: 'radiobutton' },
33443
+ React__default.createElement(
33444
+ 'label',
33445
+ { className: 'radiobutton__label' },
33446
+ React__default.createElement('input', {
33447
+ type: 'radio',
33448
+ name: 'tripType',
33449
+ value: 'openjaw',
33450
+ checked: tripType === 'openjaw',
33451
+ onChange: function () {
33452
+ return handleTripTypeChange('openjaw');
33453
+ },
33454
+ className: 'radiobutton__input'
33455
+ }),
33456
+ React__default.createElement('span', null, translations.QSM.OPENJAW)
33457
+ )
33458
+ )
33459
+ ),
33460
+ React__default.createElement(
33461
+ 'div',
33462
+ { className: 'qsm__filter__classgroup' },
33463
+ qsmType !== build.PortalQsmType.Accommodation &&
33464
+ qsmType !== build.PortalQsmType.Car &&
33465
+ qsmType !== build.PortalQsmType.Ticket &&
33466
+ qsmType !== build.PortalQsmType.Cruise &&
33467
+ qsmType !== build.PortalQsmType.Transfer &&
33468
+ qsmType !== build.PortalQsmType.GroupTour &&
33469
+ askTravelClass &&
33470
+ React__default.createElement(TravelClassPicker, null),
33471
+ qsmType !== build.PortalQsmType.Multidestination &&
33472
+ qsmType !== build.PortalQsmType.Car &&
33473
+ qsmType !== build.PortalQsmType.Flight &&
33474
+ qsmType !== build.PortalQsmType.Transfer &&
33475
+ askTravelType &&
33476
+ React__default.createElement(TravelTypePicker, null),
33477
+ askNationality && React__default.createElement(TravelNationalityPicker, null)
33478
+ )
33479
+ ),
33107
33480
  React__default.createElement(
33108
33481
  'button',
33109
33482
  { type: 'button', className: 'cta', onClick: handleSubmit },
@@ -33175,7 +33548,9 @@ var initialState$1 = {
33175
33548
  itinerary: null,
33176
33549
  excursionSearchParams: null,
33177
33550
  selectedExcursionSearchResult: null,
33178
- confirmedExcursionsByDay: {}
33551
+ confirmedExcursionsByDay: {},
33552
+ bookPackagingEntry: false,
33553
+ currentStep: 0
33179
33554
  };
33180
33555
  var searchResultsSlice = createSlice({
33181
33556
  name: 'searchResults',
@@ -33356,6 +33731,12 @@ var searchResultsSlice = createSlice({
33356
33731
  },
33357
33732
  clearConfirmedExcursionsForDay: function (state, action) {
33358
33733
  delete state.confirmedExcursionsByDay[action.payload.dayKey];
33734
+ },
33735
+ setBookPackagingEntry: function (state, action) {
33736
+ state.bookPackagingEntry = action.payload;
33737
+ },
33738
+ setCurrentStep: function (state, action) {
33739
+ state.currentStep = action.payload;
33359
33740
  }
33360
33741
  }
33361
33742
  });
@@ -33400,6 +33781,8 @@ var setExcursionSearchParams = _a.setExcursionSearchParams,
33400
33781
  confirmExcursionForDay = _a.confirmExcursionForDay,
33401
33782
  removeConfirmedExcursionForDay = _a.removeConfirmedExcursionForDay;
33402
33783
  _a.clearConfirmedExcursionsForDay;
33784
+ var setBookPackagingEntry = _a.setBookPackagingEntry;
33785
+ _a.setCurrentStep;
33403
33786
  var searchResultsReducer = searchResultsSlice.reducer;
33404
33787
 
33405
33788
  var ItemPicker = function (_a) {
@@ -33746,11 +34129,6 @@ var getServiceTypePriority = function (serviceType) {
33746
34129
  var _a;
33747
34130
  return (_a = SERVICE_TYPE_PRIORITY[serviceType !== null && serviceType !== void 0 ? serviceType : -1]) !== null && _a !== void 0 ? _a : 2;
33748
34131
  };
33749
- var getDateOnlyTime = function (date) {
33750
- if (!date) return 0;
33751
- var parsedDate = new Date(date);
33752
- return new Date(parsedDate.getFullYear(), parsedDate.getMonth(), parsedDate.getDate()).getTime();
33753
- };
33754
34132
  var Itinerary = function (_a) {
33755
34133
  var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
33756
34134
  var isOpen = _a.isOpen,
@@ -33764,6 +34142,7 @@ var Itinerary = function (_a) {
33764
34142
  }),
33765
34143
  editablePackagingEntry = _q.editablePackagingEntry,
33766
34144
  priceDetails = _q.priceDetails;
34145
+ var dispatch = useDispatch();
33767
34146
  var packagingEntry =
33768
34147
  editablePackagingEntry !== null && editablePackagingEntry !== void 0
33769
34148
  ? editablePackagingEntry
@@ -33854,6 +34233,9 @@ var Itinerary = function (_a) {
33854
34233
  var numberOfPax = ((_p = packagingEntry.pax) === null || _p === void 0 ? void 0 : _p.length) || 1;
33855
34234
  var totalPrice = (priceDetails === null || priceDetails === void 0 ? void 0 : priceDetails.total) || packagingEntry.price || 0;
33856
34235
  var pricePerPerson = totalPrice / numberOfPax;
34236
+ var handleConfirm = function () {
34237
+ dispatch(setBookPackagingEntry(true));
34238
+ };
33857
34239
  return React__default.createElement(
33858
34240
  'div',
33859
34241
  { className: 'search__filters--modal '.concat(isOpen ? 'is-open' : '') },
@@ -33905,7 +34287,7 @@ var Itinerary = function (_a) {
33905
34287
  'div',
33906
34288
  { className: 'search__filter__prices' },
33907
34289
  isLoading
33908
- ? React__default.createElement(Spinner, null)
34290
+ ? React__default.createElement(Spinner, { label: translations.PRODUCT.LOADING_PRICE })
33909
34291
  : React__default.createElement(
33910
34292
  React__default.Fragment,
33911
34293
  null,
@@ -33920,7 +34302,7 @@ var Itinerary = function (_a) {
33920
34302
  React__default.createElement('strong', null, '(', formatPrice$3(totalPrice, 'EUR'), ' ', translations.SRP.TOTAL, ')')
33921
34303
  )
33922
34304
  ),
33923
- React__default.createElement('button', { className: 'cta' }, translations.QSM.CONFIRM)
34305
+ React__default.createElement('button', { className: 'cta', onClick: handleConfirm }, translations.QSM.CONFIRM)
33924
34306
  )
33925
34307
  ),
33926
34308
  React__default.createElement(
@@ -35243,7 +35625,7 @@ var FlightsFlyIn = function (_a) {
35243
35625
  'div',
35244
35626
  { className: 'flyin__content' },
35245
35627
  flightSearchDetailsLoading || isEmpty(flights)
35246
- ? React__default.createElement(Spinner, null)
35628
+ ? React__default.createElement(Spinner, { label: translations.SRP.LOADING_FLIGHTS })
35247
35629
  : flight &&
35248
35630
  React__default.createElement(
35249
35631
  'div',
@@ -35850,17 +36232,17 @@ var AccommodationFlyIn = function (_a) {
35850
36232
  handleConfirm = _a.handleConfirm;
35851
36233
  var dispatch = useDispatch();
35852
36234
  var context = useContext(SearchResultsConfigurationContext);
36235
+ var language = (_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB';
36236
+ var translations = getTranslations(language);
35853
36237
  if (isLoading) {
35854
36238
  return React__default.createElement(
35855
36239
  React__default.Fragment,
35856
36240
  null,
35857
- (_b = context === null || context === void 0 ? void 0 : context.customSpinner) !== null && _b !== void 0
35858
- ? _b
35859
- : React__default.createElement(Spinner, null)
36241
+ (_c = context === null || context === void 0 ? void 0 : context.customSpinner) !== null && _c !== void 0
36242
+ ? _c
36243
+ : React__default.createElement(Spinner, { label: translations.SRP.LOADING_ACCOMMODATIONS })
35860
36244
  );
35861
36245
  }
35862
- var language = (_c = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _c !== void 0 ? _c : 'en-GB';
35863
- var translations = getTranslations(language);
35864
36246
  var _d = useSelector(function (state) {
35865
36247
  return state.searchResults;
35866
36248
  }),
@@ -36297,17 +36679,17 @@ var GroupTourFlyIn = function (_a) {
36297
36679
  setIsOpen = _a.setIsOpen;
36298
36680
  var dispatch = useDispatch();
36299
36681
  var context = useContext(SearchResultsConfigurationContext);
36682
+ var language = (_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB';
36683
+ var translations = getTranslations(language);
36300
36684
  if (isLoading) {
36301
36685
  return React__default.createElement(
36302
36686
  React__default.Fragment,
36303
36687
  null,
36304
- (_b = context === null || context === void 0 ? void 0 : context.customSpinner) !== null && _b !== void 0
36305
- ? _b
36306
- : React__default.createElement(Spinner, null)
36688
+ (_c = context === null || context === void 0 ? void 0 : context.customSpinner) !== null && _c !== void 0
36689
+ ? _c
36690
+ : React__default.createElement(Spinner, { label: translations.SRP.LOADING_OPTIONS })
36307
36691
  );
36308
36692
  }
36309
- var language = (_c = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _c !== void 0 ? _c : 'en-GB';
36310
- var translations = getTranslations(language);
36311
36693
  var bookingPackageDetails = useSelector(function (state) {
36312
36694
  return state.searchResults;
36313
36695
  }).bookingPackageDetails;
@@ -41096,18 +41478,13 @@ var HotelAccommodationResults = function (_a) {
41096
41478
  React__default.createElement(
41097
41479
  'div',
41098
41480
  { className: 'search__results__label__date' },
41099
- firstResultDay && firstResultMonth
41100
- ? React__default.createElement(
41101
- React__default.Fragment,
41102
- null,
41103
- React__default.createElement('p', { className: 'search__results__label__date-date' }, firstResultDay),
41104
- React__default.createElement('p', null, firstResultMonth)
41105
- )
41106
- : React__default.createElement(Icon, { name: 'ui-bed', height: 16, fill: 'white' })
41481
+ React__default.createElement('p', { className: 'search__results__label__date-date' }, firstResultDay),
41482
+ React__default.createElement('p', null, firstResultMonth)
41107
41483
  ),
41108
41484
  React__default.createElement(
41109
41485
  'div',
41110
41486
  { className: 'search__results__label__text' },
41487
+ React__default.createElement(Icon, { name: 'ui-bed', height: 16 }),
41111
41488
  React__default.createElement('h3', null, translations.SRP.SELECT, ' ', React__default.createElement('strong', null, translations.SRP.ACCOMMODATION))
41112
41489
  )
41113
41490
  ),
@@ -41115,7 +41492,9 @@ var HotelAccommodationResults = function (_a) {
41115
41492
  ? React__default.createElement(
41116
41493
  React__default.Fragment,
41117
41494
  null,
41118
- (_c = context.customSpinner) !== null && _c !== void 0 ? _c : React__default.createElement(Spinner, null)
41495
+ (_c = context.customSpinner) !== null && _c !== void 0
41496
+ ? _c
41497
+ : React__default.createElement(Spinner, { label: translations.SRP.LOADING_ACCOMMODATIONS })
41119
41498
  )
41120
41499
  : renderHotelResults(visibleResults, context, activeTab, translations, selectedPackagingAccoResult, isFlyIn),
41121
41500
  packagingAccoResults.length > 3 &&
@@ -41818,6 +42197,8 @@ var PackageingFlightsFlyIn = function (_a) {
41818
42197
  var _b;
41819
42198
  _a.isOpen;
41820
42199
  _a.setIsOpen;
42200
+ var toggleFilters = _a.toggleFilters,
42201
+ filtersOpen = _a.filtersOpen;
41821
42202
  var context = useContext(SearchResultsConfigurationContext);
41822
42203
  var language = (_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB';
41823
42204
  var translations = getTranslations(language);
@@ -41871,15 +42252,17 @@ var PackageingFlightsFlyIn = function (_a) {
41871
42252
  'div',
41872
42253
  { className: 'flyin__content flyin__content--columns' },
41873
42254
  flightsLoading
41874
- ? React__default.createElement(Spinner, null)
42255
+ ? React__default.createElement(Spinner, { label: translations.SRP.LOADING_FLIGHTS })
41875
42256
  : React__default.createElement(
41876
42257
  React__default.Fragment,
41877
42258
  null,
41878
42259
  React__default.createElement(Filters, {
41879
42260
  initialFilters: initialFlightFilters,
41880
42261
  filters: flightFilters,
41881
- isOpen: false,
41882
- handleSetIsOpen: function () {},
42262
+ isOpen: filtersOpen,
42263
+ handleSetIsOpen: function () {
42264
+ return toggleFilters && toggleFilters();
42265
+ },
41883
42266
  // handleApplyFilters={() => setSearchTrigger((prev) => prev + 1)}
41884
42267
  isLoading: flightsLoading,
41885
42268
  setFilters: function (filters) {
@@ -41904,6 +42287,17 @@ var PackageingFlightsFlyIn = function (_a) {
41904
42287
  '\u00A0',
41905
42288
  translations.FLIGHTS_FORM.FLIGHTS_FOUND_3
41906
42289
  ),
42290
+ React__default.createElement(
42291
+ 'div',
42292
+ {
42293
+ className: 'cta cta--filter',
42294
+ onClick: function () {
42295
+ return toggleFilters && toggleFilters();
42296
+ }
42297
+ },
42298
+ React__default.createElement(Icon, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
42299
+ translations.SRP.FILTERS
42300
+ ),
41907
42301
  sortByTypes &&
41908
42302
  sortByTypes.length > 0 &&
41909
42303
  React__default.createElement(
@@ -42111,7 +42505,7 @@ var ExcursionResults = function (_a) {
42111
42505
  dispatch(setSelectedExcursionSearchResult(excursion));
42112
42506
  };
42113
42507
  return isLoading
42114
- ? React__default.createElement(Spinner, null)
42508
+ ? React__default.createElement(Spinner, { label: translations.SRP.LOADING_EXCURSIONS })
42115
42509
  : React__default.createElement(
42116
42510
  'div',
42117
42511
  { className: 'flyin__content flyin__content--columns' },
@@ -42561,7 +42955,9 @@ var FlyIn = function (_a) {
42561
42955
  isPackageEditFlow = _a.isPackageEditFlow,
42562
42956
  handleConfirm = _a.handleConfirm,
42563
42957
  sortByTypes = _a.sortByTypes,
42564
- activeSearchSeed = _a.activeSearchSeed;
42958
+ activeSearchSeed = _a.activeSearchSeed,
42959
+ toggleFilters = _a.toggleFilters,
42960
+ filtersOpen = _a.filtersOpen;
42565
42961
  var dispatch = useDispatch();
42566
42962
  var context = useContext(SearchResultsConfigurationContext);
42567
42963
  var language = (_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB';
@@ -42710,8 +43106,10 @@ var FlyIn = function (_a) {
42710
43106
  React__default.createElement(Filters, {
42711
43107
  initialFilters: initialFilters,
42712
43108
  filters: filters,
42713
- isOpen: false,
42714
- handleSetIsOpen: function () {},
43109
+ isOpen: filtersOpen,
43110
+ handleSetIsOpen: function () {
43111
+ return toggleFilters && toggleFilters();
43112
+ },
42715
43113
  // handleApplyFilters={() => setSearchTrigger((prev) => prev + 1)}
42716
43114
  isLoading: isLoading,
42717
43115
  setFilters: function (filters) {
@@ -42740,6 +43138,17 @@ var FlyIn = function (_a) {
42740
43138
  translations.SRP.TOTAL_RESULTS_LABEL
42741
43139
  )
42742
43140
  ),
43141
+ React__default.createElement(
43142
+ 'div',
43143
+ {
43144
+ className: 'cta cta--filter',
43145
+ onClick: function () {
43146
+ return toggleFilters && toggleFilters();
43147
+ }
43148
+ },
43149
+ React__default.createElement(Icon, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
43150
+ translations.SRP.FILTERS
43151
+ ),
42743
43152
  sortByTypes &&
42744
43153
  sortByTypes.length > 0 &&
42745
43154
  React__default.createElement(
@@ -42769,7 +43178,7 @@ var FlyIn = function (_a) {
42769
43178
  React__default.createElement(AccommodationFlyIn, { isLoading: detailsLoading, handleConfirm: handleConfirm }),
42770
43179
  srpType === build.PortalQsmType.AccommodationAndFlight &&
42771
43180
  (flyInType === 'flight-outward-results' || flyInType === 'flight-return-results') &&
42772
- React__default.createElement(PackageingFlightsFlyIn, { isOpen: isOpen, setIsOpen: setIsOpen }),
43181
+ React__default.createElement(PackageingFlightsFlyIn, { isOpen: isOpen, setIsOpen: setIsOpen, toggleFilters: toggleFilters, filtersOpen: filtersOpen }),
42773
43182
  srpType === build.PortalQsmType.AccommodationAndFlight &&
42774
43183
  flyInType === 'excursion-results' &&
42775
43184
  React__default.createElement(ExcursionResults, { isFlyIn: true, activeSearchSeed: activeSearchSeed }),
@@ -43603,6 +44012,9 @@ var IndependentFlightSelection = function (_a) {
43603
44012
  },
43604
44013
  [searchResults, selectedReturnKey]
43605
44014
  );
44015
+ var firstResultDate = uniqueOutwardFlights.length > 0 ? uniqueOutwardFlights[0].outward.segments[0].departureDateTime : null;
44016
+ var firstResultDay = firstResultDate ? format$1(firstResultDate, 'd') : null;
44017
+ var firstResultMonth = firstResultDate ? format$1(firstResultDate, 'MMM') : null;
43606
44018
  return React__default.createElement(
43607
44019
  React__default.Fragment,
43608
44020
  null,
@@ -43612,11 +44024,13 @@ var IndependentFlightSelection = function (_a) {
43612
44024
  React__default.createElement(
43613
44025
  'div',
43614
44026
  { className: 'search__results__label__date' },
43615
- React__default.createElement(Icon, { name: 'ui-flight', height: 16, fill: 'white' })
44027
+ React__default.createElement('p', { className: 'search__results__label__date-date' }, firstResultDay),
44028
+ React__default.createElement('p', null, firstResultMonth)
43616
44029
  ),
43617
44030
  React__default.createElement(
43618
44031
  'div',
43619
44032
  { className: 'search__results__label__text' },
44033
+ React__default.createElement(Icon, { name: 'ui-flight', height: 16, fill: 'white' }),
43620
44034
  React__default.createElement('h3', null, translations.SRP.SELECT, ' ', React__default.createElement('strong', null, ' ', translations.SRP.DEPARTURE))
43621
44035
  )
43622
44036
  ),
@@ -43649,14 +44063,11 @@ var IndependentFlightSelection = function (_a) {
43649
44063
  React__default.createElement(
43650
44064
  'div',
43651
44065
  { className: 'search__results__label search__results__label--secondary' },
43652
- React__default.createElement(
43653
- 'div',
43654
- { className: 'search__results__label__date' },
43655
- React__default.createElement(Icon, { name: 'ui-flight', height: 16, fill: 'white' })
43656
- ),
44066
+ React__default.createElement('div', { className: 'search__results__label__date' }),
43657
44067
  React__default.createElement(
43658
44068
  'div',
43659
44069
  { className: 'search__results__label__text' },
44070
+ React__default.createElement(Icon, { name: 'ui-flight', height: 16, fill: 'white' }),
43660
44071
  React__default.createElement('h3', null, translations.SRP.SELECT, ' ', React__default.createElement('strong', null, ' ', translations.SRP.RETURN))
43661
44072
  )
43662
44073
  ),
@@ -44770,7 +45181,7 @@ var FlightResultsContainer = function (_a) {
44770
45181
  React__default.createElement(
44771
45182
  'div',
44772
45183
  { className: 'search__results__wrapper' },
44773
- flightsLoading && React__default.createElement(Spinner, null),
45184
+ flightsLoading && React__default.createElement(Spinner, { label: translations.SRP.LOADING_FLIGHTS }),
44774
45185
  (context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) == build.PortalQsmType.Flight &&
44775
45186
  (context === null || context === void 0 ? void 0 : context.showFlightAccommodationResults) &&
44776
45187
  results &&
@@ -45877,7 +46288,7 @@ var FullItinerary = function (_a) {
45877
46288
  return React__default.createElement(
45878
46289
  React__default.Fragment,
45879
46290
  null,
45880
- isLoading && React__default.createElement(Spinner, null),
46291
+ isLoading && React__default.createElement(Spinner, { label: translations.SRP.LOADING_ITINERARY }),
45881
46292
  React__default.createElement('div', { ref: hostRef, style: { display: isLoading ? 'none' : 'block' } })
45882
46293
  );
45883
46294
  };
@@ -45990,7 +46401,7 @@ var DayByDayExcursions = function () {
45990
46401
  React__default.Fragment,
45991
46402
  null,
45992
46403
  stayDates.map(function (day) {
45993
- var _a, _b;
46404
+ var _a, _b, _c;
45994
46405
  var dayKey = format$1(day, 'yyyy-MM-dd');
45995
46406
  var confirmedExcursions = (_a = confirmedExcursionsByDay[dayKey]) !== null && _a !== void 0 ? _a : [];
45996
46407
  return React__default.createElement(
@@ -46002,18 +46413,26 @@ var DayByDayExcursions = function () {
46002
46413
  React__default.createElement(
46003
46414
  'div',
46004
46415
  { className: 'search__results__label__date' },
46005
- React__default.createElement(Icon, { name: 'ui-excursion', height: 16, fill: 'white' })
46006
- ),
46007
- React__default.createElement(
46008
- 'div',
46009
- { className: 'search__results__label__text' },
46010
46416
  React__default.createElement(
46011
- 'h3',
46012
- null,
46013
- format$1(day, 'EEEE d MMMM', {
46417
+ 'p',
46418
+ { className: 'search__results__label__date-date' },
46419
+ format$1(day, 'd', {
46014
46420
  locale: getLocale((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB')
46015
46421
  })
46422
+ ),
46423
+ React__default.createElement(
46424
+ 'p',
46425
+ null,
46426
+ format$1(day, 'MMM', {
46427
+ locale: getLocale((_c = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _c !== void 0 ? _c : 'en-GB')
46428
+ })
46016
46429
  )
46430
+ ),
46431
+ React__default.createElement(
46432
+ 'div',
46433
+ { className: 'search__results__label__text' },
46434
+ React__default.createElement(Icon, { name: 'ui-excursion', height: 16 }),
46435
+ React__default.createElement('h3', null, translations.SRP.SELECT, ' ', React__default.createElement('strong', null, translations.SRP.EXCURSION))
46017
46436
  )
46018
46437
  ),
46019
46438
  React__default.createElement(
@@ -46100,6 +46519,264 @@ var DayByDayExcursions = function () {
46100
46519
  );
46101
46520
  };
46102
46521
 
46522
+ var mapToSidebarFlightMetaData = function (entryLine) {
46523
+ var _a, _b;
46524
+ return {
46525
+ flightLines:
46526
+ (_a = entryLine.flightInformation) === null || _a === void 0
46527
+ ? void 0
46528
+ : _a.flightLines.map(function (f) {
46529
+ return {
46530
+ number: f.flightNumber,
46531
+ departureDate: f.departureDate,
46532
+ departureAirport: f.departureAirportCode,
46533
+ departureAirportDescription: f.departureAirportDescription,
46534
+ departureTime: f.departureTime,
46535
+ arrivalDate: f.arrivalDate,
46536
+ arrivalAirport: f.arrivalAirportCode,
46537
+ arrivalAirportDescription: f.arrivalAirportDescription,
46538
+ arrivalTime: f.arrivalTime,
46539
+ flightClass: '',
46540
+ travelClass: '',
46541
+ airline: f.airlineDescription,
46542
+ airlineCode: f.airlineCode,
46543
+ operatingAirlineCode: f.operatingAirlineCode,
46544
+ operatingAirlineDescription: f.operatingAirlineDescription,
46545
+ durationInTicks: f.durationInTicks
46546
+ };
46547
+ }),
46548
+ luggageIncluded: false, // Not present in editablePackagingEntry, set default
46549
+ bagageAllowed: false, // Not present in editablePackagingEntry, set default
46550
+ bagage: '', // Not present in editablePackagingEntry, set default
46551
+ mealIncluded: false, // Not present in editablePackagingEntry, set default
46552
+ meal: '', // Not present in editablePackagingEntry, set default
46553
+ durationInTicks:
46554
+ (_b = entryLine.flightInformation) === null || _b === void 0
46555
+ ? void 0
46556
+ : _b.flightLines.reduce(function (s, _a) {
46557
+ var durationInTicks = _a.durationInTicks;
46558
+ return s + (durationInTicks !== null && durationInTicks !== void 0 ? durationInTicks : 0);
46559
+ }, 0)
46560
+ };
46561
+ };
46562
+ var selectSeparatePackagePriceDetails = function (priceDetails) {
46563
+ var result = [];
46564
+ var filteredPriceDetails = priceDetails.filter(function (priceDetail) {
46565
+ return priceDetail.isSeparate;
46566
+ });
46567
+ filteredPriceDetails.forEach(function (priceDetail) {
46568
+ var priceDetailToMerge = result.find(function (x) {
46569
+ return x.productCode === priceDetail.productCode && x.accommodationCode === priceDetail.accommodationCode && x.productType === priceDetail.productType;
46570
+ });
46571
+ if (priceDetailToMerge) {
46572
+ priceDetailToMerge.total += priceDetail.total;
46573
+ priceDetailToMerge.price += priceDetail.price;
46574
+ } else {
46575
+ result.push(Object.assign({}, priceDetail));
46576
+ }
46577
+ });
46578
+ return result;
46579
+ };
46580
+ var WLSidebar = function (_a) {
46581
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
46582
+ var activeSearchSeed = _a.activeSearchSeed;
46583
+ var context = useContext(SearchResultsConfigurationContext);
46584
+ if (!context) {
46585
+ return null;
46586
+ }
46587
+ var translations = getTranslations((_b = context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
46588
+ var _u = useSelector(function (state) {
46589
+ return state.searchResults;
46590
+ }),
46591
+ editablePackagingEntry = _u.editablePackagingEntry,
46592
+ priceDetails = _u.priceDetails;
46593
+ // Map editablePackagingEntry to sidebar props (example, adjust as needed)
46594
+ if (!editablePackagingEntry) {
46595
+ return null;
46596
+ }
46597
+ console.log('editablePackagingEntry in WLSidebar:', editablePackagingEntry);
46598
+ console.log('priceDetails in WLSidebar:', priceDetails);
46599
+ var sortedLines = useMemo(
46600
+ function () {
46601
+ var _a;
46602
+ return __spreadArray(
46603
+ [],
46604
+ (_a = editablePackagingEntry === null || editablePackagingEntry === void 0 ? void 0 : editablePackagingEntry.lines) !== null && _a !== void 0 ? _a : [],
46605
+ true
46606
+ ).sort(function (a, b) {
46607
+ var _a, _b;
46608
+ var dateA = getDateOnlyTime(a.from);
46609
+ var dateB = getDateOnlyTime(b.from);
46610
+ if (dateA !== dateB) {
46611
+ return dateA - dateB;
46612
+ }
46613
+ return ((_a = a.order) !== null && _a !== void 0 ? _a : Infinity) - ((_b = b.order) !== null && _b !== void 0 ? _b : Infinity);
46614
+ });
46615
+ },
46616
+ [editablePackagingEntry]
46617
+ );
46618
+ var firstEntryLine = first(sortedLines);
46619
+ var accommodationLines = editablePackagingEntry.lines.filter(function (line) {
46620
+ return line.serviceType === ACCOMMODATION_SERVICE_TYPE;
46621
+ });
46622
+ var accommodationLine = (_c = first(accommodationLines)) !== null && _c !== void 0 ? _c : firstEntryLine;
46623
+ var location =
46624
+ (_l =
46625
+ (_j =
46626
+ (_g =
46627
+ (_e =
46628
+ (_d = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.location) === null || _d === void 0
46629
+ ? void 0
46630
+ : _d.name) !== null && _e !== void 0
46631
+ ? _e
46632
+ : (_f = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.oord) === null || _f === void 0
46633
+ ? void 0
46634
+ : _f.name) !== null && _g !== void 0
46635
+ ? _g
46636
+ : (_h = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.region) === null || _h === void 0
46637
+ ? void 0
46638
+ : _h.name) !== null && _j !== void 0
46639
+ ? _j
46640
+ : (_k = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.country) === null || _k === void 0
46641
+ ? void 0
46642
+ : _k.name) !== null && _l !== void 0
46643
+ ? _l
46644
+ : (_m = firstEntryLine === null || firstEntryLine === void 0 ? void 0 : firstEntryLine.location) === null || _m === void 0
46645
+ ? void 0
46646
+ : _m.name;
46647
+ var rooms =
46648
+ (activeSearchSeed === null || activeSearchSeed === void 0
46649
+ ? void 0
46650
+ : activeSearchSeed.rooms.map(function (room) {
46651
+ var adults = room.pax
46652
+ .filter(function (p) {
46653
+ return p.age && p.age >= 18;
46654
+ })
46655
+ .map(function (p) {
46656
+ return { id: p.id, age: p.age };
46657
+ });
46658
+ var children = room.pax
46659
+ .filter(function (p) {
46660
+ return p.age && p.age < 18;
46661
+ })
46662
+ .map(function (p) {
46663
+ return { id: p.id, age: p.age };
46664
+ });
46665
+ return { adults: adults, children: children };
46666
+ })) || [];
46667
+ var travelerRooms = getTravelersText(rooms, translations);
46668
+ var flightSegments = sortedLines.filter(function (line) {
46669
+ return line.serviceType === FLIGHT_SERVICE_TYPE && line.flightInformation && Array.isArray(line.flightInformation.flightLines);
46670
+ });
46671
+ var outboundFlight = first(flightSegments);
46672
+ var returnFlight = flightSegments.length > 1 ? last(flightSegments) : undefined;
46673
+ var outboundFlightMetaData = outboundFlight ? mapToSidebarFlightMetaData(outboundFlight) : undefined;
46674
+ var returnFlightMetaData = returnFlight ? mapToSidebarFlightMetaData(returnFlight) : undefined;
46675
+ var basePrice = sum(
46676
+ (_o =
46677
+ priceDetails === null || priceDetails === void 0
46678
+ ? void 0
46679
+ : priceDetails.details
46680
+ .filter(function (pd) {
46681
+ return pd.isInPackage;
46682
+ })
46683
+ .map(function (pd) {
46684
+ return pd.price * pd.amount;
46685
+ })) !== null && _o !== void 0
46686
+ ? _o
46687
+ : []
46688
+ );
46689
+ var separateExtraPriceDetails =
46690
+ (_p =
46691
+ priceDetails === null || priceDetails === void 0
46692
+ ? void 0
46693
+ : priceDetails.details.filter(function (pd) {
46694
+ return !pd.isInPackage && pd.isSeparate;
46695
+ })) !== null && _p !== void 0
46696
+ ? _p
46697
+ : [];
46698
+ var totalPrice = sum(
46699
+ __spreadArray(
46700
+ [basePrice],
46701
+ separateExtraPriceDetails.map(function (priceDetail) {
46702
+ return priceDetail.price * priceDetail.amount;
46703
+ }),
46704
+ true
46705
+ )
46706
+ );
46707
+ var includedCosts = selectSeparatePackagePriceDetails(
46708
+ (_q =
46709
+ priceDetails === null || priceDetails === void 0
46710
+ ? void 0
46711
+ : priceDetails.details.filter(function (pd) {
46712
+ return pd.isInPackage;
46713
+ })) !== null && _q !== void 0
46714
+ ? _q
46715
+ : []
46716
+ );
46717
+ return React__default.createElement(SharedSidebar, {
46718
+ productName: location !== null && location !== void 0 ? location : '',
46719
+ thumbnailUrl: (_r = context.destinationImage) === null || _r === void 0 ? void 0 : _r.url,
46720
+ translations: translations,
46721
+ travelerRooms: travelerRooms,
46722
+ startDateText: ((_s = first(sortedLines)) === null || _s === void 0 ? void 0 : _s.from) && formatDate(new Date(first(sortedLines).from)),
46723
+ endDateText: ((_t = last(sortedLines)) === null || _t === void 0 ? void 0 : _t.to) && formatDate(new Date(last(sortedLines).to)),
46724
+ isLoading: !editablePackagingEntry || !priceDetails,
46725
+ loaderComponent: React__default.createElement(Spinner, null),
46726
+ departureFlightMetaData: outboundFlightMetaData,
46727
+ returnFlightMetaData: returnFlightMetaData,
46728
+ includedServiceTypes: editablePackagingEntry.lines.map(function (line) {
46729
+ return line.serviceType;
46730
+ }),
46731
+ packagingAccommodations: accommodationLines,
46732
+ basePrice: basePrice,
46733
+ commission: priceDetails === null || priceDetails === void 0 ? void 0 : priceDetails.commission,
46734
+ totalPrice: totalPrice,
46735
+ includedCosts: includedCosts,
46736
+ extraCosts: separateExtraPriceDetails,
46737
+ deposit: priceDetails === null || priceDetails === void 0 ? void 0 : priceDetails.deposit,
46738
+ isUnavailable: false,
46739
+ agent: context.agentId
46740
+ });
46741
+ };
46742
+
46743
+ var BookPackagingEntry = function (_a) {
46744
+ var _b;
46745
+ var activeSearchSeed = _a.activeSearchSeed;
46746
+ var context = useContext(SearchResultsConfigurationContext);
46747
+ if (!context) {
46748
+ return null;
46749
+ }
46750
+ var translations = getTranslations((_b = context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
46751
+ var currentStep = useSelector(function (state) {
46752
+ return state.searchResults;
46753
+ }).currentStep;
46754
+ useDispatch();
46755
+ var stepLabels = [translations.STEPS.PERSONAL_DETAILS, translations.STEPS.SUMMARY, translations.STEPS.CONFIRMATION];
46756
+ return React__default.createElement(
46757
+ 'div',
46758
+ { className: 'booking' },
46759
+ React__default.createElement(
46760
+ 'div',
46761
+ { className: 'booking__content' },
46762
+ React__default.createElement(
46763
+ BookingPanel,
46764
+ {
46765
+ currentStep: currentStep,
46766
+ stepLabels: stepLabels,
46767
+ StepIndicatorsComponent: StepIndicators$1,
46768
+ renderTitle: function (step) {
46769
+ return React__default.createElement(React__default.Fragment, null, step + 1, '.\u00A0', stepLabels[step]);
46770
+ }
46771
+ },
46772
+ React__default.createElement('div', null)
46773
+ ),
46774
+ React__default.createElement('div', { className: 'backdrop', id: 'backdrop' }),
46775
+ React__default.createElement(WLSidebar, { activeSearchSeed: activeSearchSeed })
46776
+ )
46777
+ );
46778
+ };
46779
+
46103
46780
  var SearchResultsContainer = function () {
46104
46781
  var _a, _b;
46105
46782
  var currentSearch = typeof window !== 'undefined' ? window.location.search : '';
@@ -46126,10 +46803,10 @@ var SearchResultsContainer = function () {
46126
46803
  packagingAccoSearchDetails = _c.packagingAccoSearchDetails,
46127
46804
  editablePackagingEntry = _c.editablePackagingEntry,
46128
46805
  transactionId = _c.transactionId,
46129
- flyInType = _c.flyInType;
46130
- _c.itinerary;
46131
- var packagingFlightResults = _c.packagingFlightResults,
46132
- confirmedExcursionsByDay = _c.confirmedExcursionsByDay;
46806
+ flyInType = _c.flyInType,
46807
+ packagingFlightResults = _c.packagingFlightResults,
46808
+ confirmedExcursionsByDay = _c.confirmedExcursionsByDay,
46809
+ bookPackagingEntry = _c.bookPackagingEntry;
46133
46810
  var isMobile = useMediaQuery('(max-width: 1200px)');
46134
46811
  var _d = useState(false),
46135
46812
  initialFiltersSet = _d[0],
@@ -47182,7 +47859,7 @@ var SearchResultsContainer = function () {
47182
47859
  };
47183
47860
  var fetchItinerary = function () {
47184
47861
  return __awaiter(void 0, void 0, void 0, function () {
47185
- var config, request, itinerary_1, err_8;
47862
+ var config, request, itinerary, err_8;
47186
47863
  var _a, _b;
47187
47864
  return __generator(this, function (_c) {
47188
47865
  switch (_c.label) {
@@ -47205,8 +47882,8 @@ var SearchResultsContainer = function () {
47205
47882
  };
47206
47883
  return [4 /*yield*/, build.getItinerary(config, request)];
47207
47884
  case 2:
47208
- itinerary_1 = _c.sent();
47209
- dispatch(setItinerary(itinerary_1));
47885
+ itinerary = _c.sent();
47886
+ dispatch(setItinerary(itinerary));
47210
47887
  setItineraryIsLoading(false);
47211
47888
  return [3 /*break*/, 4];
47212
47889
  case 3:
@@ -47647,335 +48324,368 @@ var SearchResultsContainer = function () {
47647
48324
  React__default.createElement(
47648
48325
  'div',
47649
48326
  { className: 'search' },
47650
- React__default.createElement(
47651
- 'div',
47652
- { className: 'search__container' },
47653
- context.searchConfiguration.qsmType === build.PortalQsmType.Flight &&
47654
- React__default.createElement(
47655
- FlightSearchProvider,
47656
- { tideConnection: context.tideConnection },
47657
- React__default.createElement(FlightResultsContainer, { isMobile: isMobile }),
47658
- React__default.createElement(FlyIn, {
47659
- srpType: context.searchConfiguration.qsmType,
47660
- isOpen: flyInIsOpen,
47661
- setIsOpen: handleFlyInToggle,
47662
- onPanelRef: function (el) {
47663
- return (panelRef.current = el);
47664
- },
47665
- detailsLoading: detailsIsLoading
47666
- })
47667
- ),
47668
- (context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight ||
47669
- context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation ||
47670
- context.searchConfiguration.qsmType === build.PortalQsmType.GroupTour ||
47671
- context.searchConfiguration.qsmType === build.PortalQsmType.RoundTrip) &&
47672
- React__default.createElement(
47673
- React__default.Fragment,
47674
- null,
47675
- context.searchConfiguration.qsmType != build.PortalQsmType.AccommodationAndFlight &&
47676
- context.showFilters &&
47677
- React__default.createElement(Filters, {
47678
- initialFilters: initialFilters,
47679
- filters: filters,
47680
- isOpen: filtersOpen,
47681
- handleSetIsOpen: function () {
47682
- return setFiltersOpen(!filtersOpen);
47683
- },
47684
- // handleApplyFilters={() => setSearchTrigger((prev) => prev + 1)}
47685
- isLoading: isLoading,
47686
- setFilters: function (filters) {
47687
- return dispatch(setFilters(filters));
47688
- },
47689
- resetFilters: function (filters) {
47690
- return dispatch(resetFilters(filters));
47691
- }
47692
- }),
47693
- context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
47694
- React__default.createElement(Itinerary, {
47695
- isOpen: itineraryOpen,
47696
- handleSetIsOpen: function () {
47697
- return setItineraryOpen(!itineraryOpen);
47698
- },
47699
- isLoading: pricesAreLoading,
47700
- onEditAccommodation: handleEditAccommodation
47701
- }),
47702
- React__default.createElement(
47703
- 'div',
47704
- { className: 'search__results' },
47705
- isMobile &&
48327
+ bookPackagingEntry
48328
+ ? React__default.createElement(BookPackagingEntry, { activeSearchSeed: activeSearchSeed })
48329
+ : React__default.createElement(
48330
+ 'div',
48331
+ { className: 'search__container' },
48332
+ context.searchConfiguration.qsmType === build.PortalQsmType.Flight &&
48333
+ React__default.createElement(
48334
+ FlightSearchProvider,
48335
+ { tideConnection: context.tideConnection },
48336
+ React__default.createElement(FlightResultsContainer, { isMobile: isMobile }),
48337
+ React__default.createElement(FlyIn, {
48338
+ srpType: context.searchConfiguration.qsmType,
48339
+ isOpen: flyInIsOpen,
48340
+ setIsOpen: handleFlyInToggle,
48341
+ onPanelRef: function (el) {
48342
+ return (panelRef.current = el);
48343
+ },
48344
+ detailsLoading: detailsIsLoading,
48345
+ filtersOpen: filtersOpen
48346
+ })
48347
+ ),
48348
+ (context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight ||
48349
+ context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation ||
48350
+ context.searchConfiguration.qsmType === build.PortalQsmType.GroupTour ||
48351
+ context.searchConfiguration.qsmType === build.PortalQsmType.RoundTrip) &&
48352
+ React__default.createElement(
48353
+ React__default.Fragment,
48354
+ null,
48355
+ context.searchConfiguration.qsmType != build.PortalQsmType.AccommodationAndFlight &&
48356
+ context.showFilters &&
48357
+ React__default.createElement(Filters, {
48358
+ initialFilters: initialFilters,
48359
+ filters: filters,
48360
+ isOpen: filtersOpen,
48361
+ handleSetIsOpen: function () {
48362
+ return setFiltersOpen(!filtersOpen);
48363
+ },
48364
+ // handleApplyFilters={() => setSearchTrigger((prev) => prev + 1)}
48365
+ isLoading: isLoading,
48366
+ setFilters: function (filters) {
48367
+ return dispatch(setFilters(filters));
48368
+ },
48369
+ resetFilters: function (filters) {
48370
+ return dispatch(resetFilters(filters));
48371
+ }
48372
+ }),
48373
+ context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48374
+ React__default.createElement(Itinerary, {
48375
+ isOpen: itineraryOpen,
48376
+ handleSetIsOpen: function () {
48377
+ return setItineraryOpen(!itineraryOpen);
48378
+ },
48379
+ isLoading: isLoading || pricesAreLoading || flightsLoading || itineraryIsLoading,
48380
+ onEditAccommodation: handleEditAccommodation
48381
+ }),
47706
48382
  React__default.createElement(
47707
48383
  'div',
47708
- { className: 'search__result-row' },
47709
- React__default.createElement(
47710
- 'div',
47711
- { className: 'search__results__actions' },
47712
- context.searchConfiguration.qsmType != build.PortalQsmType.AccommodationAndFlight &&
47713
- context.showFilters &&
48384
+ { className: 'search__results' },
48385
+ isMobile &&
48386
+ React__default.createElement(
48387
+ 'div',
48388
+ { className: 'search__result-row' },
47714
48389
  React__default.createElement(
47715
48390
  'div',
47716
- {
47717
- className: 'cta cta--filter',
47718
- onClick: function () {
47719
- return setFiltersOpen(true);
47720
- }
47721
- },
47722
- React__default.createElement(Icon, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
47723
- translations.SRP.FILTERS
48391
+ { className: 'search__results__actions' },
48392
+ context.searchConfiguration.qsmType != build.PortalQsmType.AccommodationAndFlight &&
48393
+ context.showFilters &&
48394
+ React__default.createElement(
48395
+ 'div',
48396
+ {
48397
+ className: 'cta cta--filter',
48398
+ onClick: function () {
48399
+ return setFiltersOpen(true);
48400
+ }
48401
+ },
48402
+ React__default.createElement(Icon, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
48403
+ translations.SRP.FILTERS
48404
+ ),
48405
+ context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48406
+ React__default.createElement(
48407
+ 'div',
48408
+ {
48409
+ className: 'cta cta--filter',
48410
+ onClick: function () {
48411
+ return setItineraryOpen(true);
48412
+ }
48413
+ },
48414
+ React__default.createElement(Icon, { name: 'ui-shopping-cart', className: 'mobile-filters-button__icon', height: 16 }),
48415
+ translations.SRP.VIEW_BOOKING
48416
+ )
47724
48417
  ),
47725
- context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
47726
- React__default.createElement(
47727
- 'div',
47728
- {
47729
- className: 'cta cta--filter',
47730
- onClick: function () {
47731
- return setItineraryOpen(true);
48418
+ sortByTypes &&
48419
+ sortByTypes.length > 0 &&
48420
+ React__default.createElement(ItemPicker, {
48421
+ items: sortByTypes,
48422
+ selection: (selectedSortType === null || selectedSortType === void 0 ? void 0 : selectedSortType.label) || undefined,
48423
+ selectedSortByType: selectedSortType,
48424
+ label: translations.SRP.SORTBY,
48425
+ placeholder: translations.SRP.SORTBY,
48426
+ classModifier: 'travel-class-picker__items',
48427
+ valueFormatter: function (value, direction) {
48428
+ return getSortingName(
48429
+ translations,
48430
+ findSortByType(sortByTypes, value, direction !== null && direction !== void 0 ? direction : 'asc')
48431
+ );
48432
+ },
48433
+ onPick: function (newSortKey, direction) {
48434
+ return handleSortChange(newSortKey, direction);
47732
48435
  }
47733
- },
47734
- React__default.createElement(Icon, { name: 'ui-calendar', className: 'mobile-filters-button__icon', height: 16 }),
47735
- translations.SRP.SHOW_ITINERARY
47736
- )
47737
- ),
47738
- sortByTypes &&
47739
- sortByTypes.length > 0 &&
47740
- React__default.createElement(ItemPicker, {
47741
- items: sortByTypes,
47742
- selection: (selectedSortType === null || selectedSortType === void 0 ? void 0 : selectedSortType.label) || undefined,
47743
- selectedSortByType: selectedSortType,
47744
- label: translations.SRP.SORTBY,
47745
- placeholder: translations.SRP.SORTBY,
47746
- classModifier: 'travel-class-picker__items',
47747
- valueFormatter: function (value, direction) {
47748
- return getSortingName(
47749
- translations,
47750
- findSortByType(sortByTypes, value, direction !== null && direction !== void 0 ? direction : 'asc')
47751
- );
47752
- },
47753
- onPick: function (newSortKey, direction) {
47754
- return handleSortChange(newSortKey, direction);
47755
- }
47756
- })
47757
- ),
47758
- context.searchConfiguration.qsmType !== build.PortalQsmType.AccommodationAndFlight &&
47759
- React__default.createElement(
47760
- 'div',
47761
- { className: 'search__result-row' },
47762
- React__default.createElement(
47763
- 'span',
47764
- { className: 'search__result-row-text' },
47765
- !isLoading &&
47766
- React__default.createElement(
47767
- React__default.Fragment,
47768
- null,
47769
- context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation &&
47770
- (filteredPackagingAccoResults === null || filteredPackagingAccoResults === void 0 ? void 0 : filteredPackagingAccoResults.length) &&
47771
- (filteredPackagingAccoResults === null || filteredPackagingAccoResults === void 0 ? void 0 : filteredPackagingAccoResults.length),
47772
- context.searchConfiguration.qsmType !== build.PortalQsmType.Accommodation &&
47773
- (filteredResults === null || filteredResults === void 0 ? void 0 : filteredResults.length) &&
47774
- filteredResults.length,
47775
- '\u00A0',
47776
- translations.SRP.TOTAL_RESULTS_LABEL
47777
- )
47778
- ),
47779
- !context.packagingEntry &&
47780
- !isMobile &&
47781
- sortByTypes &&
47782
- sortByTypes.length > 0 &&
47783
- React__default.createElement(
47784
- 'div',
47785
- { className: 'search__result-row-filter' },
47786
- React__default.createElement(ItemPicker, {
47787
- items: sortByTypes,
47788
- selection: (selectedSortType === null || selectedSortType === void 0 ? void 0 : selectedSortType.label) || undefined,
47789
- selectedSortByType: selectedSortType,
47790
- label: translations.SRP.SORTBY,
47791
- placeholder: translations.SRP.SORTBY,
47792
- classModifier: 'travel-class-picker__items',
47793
- valueFormatter: function (value, direction) {
47794
- return getSortingName(
47795
- translations,
47796
- findSortByType(sortByTypes, value, direction !== null && direction !== void 0 ? direction : 'asc')
47797
- );
47798
- },
47799
- onPick: function (newSortKey, direction) {
47800
- return handleSortChange(newSortKey, direction);
47801
- }
47802
- })
47803
- )
47804
- ),
47805
- React__default.createElement(
47806
- 'div',
47807
- { className: 'search__results__wrapper' },
47808
- context.showTabViews &&
47809
- (context.searchConfiguration.qsmType === build.PortalQsmType.GroupTour ||
47810
- context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation) &&
47811
- React__default.createElement(TabViews, null),
47812
- context.showRoundTripResults && context.showMockup && React__default.createElement(RoundTripResults, null),
47813
- context.searchConfiguration.qsmType === build.PortalQsmType.GroupTour &&
47814
- React__default.createElement(GroupTourResults, { isLoading: isLoading }),
47815
- context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
47816
- !context.packagingEntry &&
47817
- context.showFlightResults &&
47818
- React__default.createElement(
47819
- React__default.Fragment,
47820
- null,
48436
+ })
48437
+ ),
48438
+ context.searchConfiguration.qsmType !== build.PortalQsmType.AccommodationAndFlight &&
47821
48439
  React__default.createElement(
47822
48440
  'div',
47823
- { className: 'search__results__label search__results__label--secondary' },
48441
+ { className: 'search__result-row' },
47824
48442
  React__default.createElement(
47825
- 'div',
47826
- { className: 'search__results__label__date' },
47827
- React__default.createElement(Icon, { name: 'ui-flight', height: 16, fill: 'white' })
48443
+ 'span',
48444
+ { className: 'search__result-row-text' },
48445
+ !isLoading &&
48446
+ React__default.createElement(
48447
+ React__default.Fragment,
48448
+ null,
48449
+ context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation &&
48450
+ (filteredPackagingAccoResults === null || filteredPackagingAccoResults === void 0
48451
+ ? void 0
48452
+ : filteredPackagingAccoResults.length) &&
48453
+ (filteredPackagingAccoResults === null || filteredPackagingAccoResults === void 0
48454
+ ? void 0
48455
+ : filteredPackagingAccoResults.length),
48456
+ context.searchConfiguration.qsmType !== build.PortalQsmType.Accommodation &&
48457
+ (filteredResults === null || filteredResults === void 0 ? void 0 : filteredResults.length) &&
48458
+ filteredResults.length,
48459
+ '\u00A0',
48460
+ translations.SRP.TOTAL_RESULTS_LABEL
48461
+ )
47828
48462
  ),
47829
- React__default.createElement(
47830
- 'div',
47831
- { className: 'search__results__label__text' },
48463
+ !context.packagingEntry &&
48464
+ !isMobile &&
48465
+ sortByTypes &&
48466
+ sortByTypes.length > 0 &&
47832
48467
  React__default.createElement(
47833
- 'h3',
47834
- null,
47835
- translations.SRP.SELECT,
47836
- ' ',
47837
- React__default.createElement('strong', null, ' ', translations.SRP.DEPARTURE)
48468
+ 'div',
48469
+ { className: 'search__result-row-filter' },
48470
+ React__default.createElement(ItemPicker, {
48471
+ items: sortByTypes,
48472
+ selection: (selectedSortType === null || selectedSortType === void 0 ? void 0 : selectedSortType.label) || undefined,
48473
+ selectedSortByType: selectedSortType,
48474
+ label: translations.SRP.SORTBY,
48475
+ placeholder: translations.SRP.SORTBY,
48476
+ classModifier: 'travel-class-picker__items',
48477
+ valueFormatter: function (value, direction) {
48478
+ return getSortingName(
48479
+ translations,
48480
+ findSortByType(sortByTypes, value, direction !== null && direction !== void 0 ? direction : 'asc')
48481
+ );
48482
+ },
48483
+ onPick: function (newSortKey, direction) {
48484
+ return handleSortChange(newSortKey, direction);
48485
+ }
48486
+ })
47838
48487
  )
47839
- )
47840
48488
  ),
47841
- flightsLoading
47842
- ? React__default.createElement(Spinner, null)
47843
- : React__default.createElement(
47844
- React__default.Fragment,
47845
- null,
48489
+ React__default.createElement(
48490
+ 'div',
48491
+ { className: 'search__results__wrapper' },
48492
+ context.showTabViews &&
48493
+ (context.searchConfiguration.qsmType === build.PortalQsmType.GroupTour ||
48494
+ context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation) &&
48495
+ React__default.createElement(TabViews, null),
48496
+ context.showRoundTripResults && context.showMockup && React__default.createElement(RoundTripResults, null),
48497
+ context.searchConfiguration.qsmType === build.PortalQsmType.GroupTour &&
48498
+ React__default.createElement(GroupTourResults, { isLoading: isLoading }),
48499
+ context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48500
+ !context.packagingEntry &&
48501
+ context.showFlightResults &&
48502
+ React__default.createElement(
48503
+ React__default.Fragment,
48504
+ null,
48505
+ React__default.createElement(
48506
+ 'div',
48507
+ { className: 'search__results__label search__results__label--secondary' },
47846
48508
  React__default.createElement(
47847
48509
  'div',
47848
- { className: 'search__results__cards search__results__cards--extended' },
47849
- selectedOutwardKey &&
47850
- selectedOutward &&
47851
- React__default.createElement(IndependentFlightOption, {
47852
- key: 'flight-'.concat(selectedOutwardKey),
47853
- item: selectedOutward.outward,
47854
- guid: selectedOutward.outwardGuid,
47855
- onSelect: function () {
47856
- return dispatch(setSelectedOutwardKey(null));
47857
- },
47858
- selectedGuid: selectedOutward.outwardGuid,
47859
- isOutward: true,
47860
- showSelectedState: true,
47861
- price: selectedOutward.price
47862
- }),
47863
- visibleOutwardFlights.map(function (result) {
47864
- return React__default.createElement(IndependentFlightOption, {
47865
- key: 'flight-'.concat(result.outwardGuid),
47866
- item: result.outward,
47867
- onSelect: function () {
47868
- return dispatch(setSelectedOutwardKey(getFlightKey(result.outward.segments)));
47869
- },
47870
- guid: result.outwardGuid,
47871
- isOutward: true,
47872
- price: result.price,
47873
- currentSelectedPrice: selectedOutward === null || selectedOutward === void 0 ? void 0 : selectedOutward.price
47874
- });
47875
- })
48510
+ { className: 'search__results__label__date' },
48511
+ (function () {
48512
+ var firstResultDate = uniqueOutwardFlights.length > 0 ? uniqueOutwardFlights[0].outward.segments[0].departureDateTime : null;
48513
+ var firstResultDay = firstResultDate ? format$1(firstResultDate, 'd') : null;
48514
+ var firstResultMonth = firstResultDate ? format$1(firstResultDate, 'MMM') : null;
48515
+ return React__default.createElement(
48516
+ React__default.Fragment,
48517
+ null,
48518
+ React__default.createElement('p', { className: 'search__results__label__date-date' }, firstResultDay),
48519
+ React__default.createElement('p', null, firstResultMonth)
48520
+ );
48521
+ })()
47876
48522
  ),
47877
- uniqueOutwardFlights &&
47878
- uniqueOutwardFlights.length > 3 &&
48523
+ React__default.createElement(
48524
+ 'div',
48525
+ { className: 'search__results__label__text' },
48526
+ React__default.createElement(Icon, { name: 'ui-flight', height: 16 }),
47879
48527
  React__default.createElement(
47880
- 'div',
47881
- { className: 'search__results__cards__actions' },
48528
+ 'h3',
48529
+ null,
48530
+ translations.SRP.SELECT,
48531
+ ' ',
48532
+ React__default.createElement('strong', null, ' ', translations.SRP.DEPARTURE)
48533
+ )
48534
+ )
48535
+ ),
48536
+ flightsLoading
48537
+ ? React__default.createElement(Spinner, { label: translations.SRP.LOADING_FLIGHTS })
48538
+ : React__default.createElement(
48539
+ React__default.Fragment,
48540
+ null,
47882
48541
  React__default.createElement(
47883
- 'button',
47884
- {
47885
- className: 'cta cta--secondary',
47886
- onClick: function () {
47887
- return handleShowMoreFlights('flight-outward-results');
47888
- }
47889
- },
47890
- translations.SRP.SHOW_MORE
47891
- )
48542
+ 'div',
48543
+ { className: 'search__results__cards search__results__cards--extended' },
48544
+ selectedOutwardKey &&
48545
+ selectedOutward &&
48546
+ React__default.createElement(IndependentFlightOption, {
48547
+ key: 'flight-'.concat(selectedOutwardKey),
48548
+ item: selectedOutward.outward,
48549
+ guid: selectedOutward.outwardGuid,
48550
+ onSelect: function () {
48551
+ return dispatch(setSelectedOutwardKey(null));
48552
+ },
48553
+ selectedGuid: selectedOutward.outwardGuid,
48554
+ isOutward: true,
48555
+ showSelectedState: true,
48556
+ price: selectedOutward.price
48557
+ }),
48558
+ visibleOutwardFlights.map(function (result) {
48559
+ return React__default.createElement(IndependentFlightOption, {
48560
+ key: 'flight-'.concat(result.outwardGuid),
48561
+ item: result.outward,
48562
+ onSelect: function () {
48563
+ return dispatch(setSelectedOutwardKey(getFlightKey(result.outward.segments)));
48564
+ },
48565
+ guid: result.outwardGuid,
48566
+ isOutward: true,
48567
+ price: result.price,
48568
+ currentSelectedPrice: selectedOutward === null || selectedOutward === void 0 ? void 0 : selectedOutward.price
48569
+ });
48570
+ })
48571
+ ),
48572
+ uniqueOutwardFlights &&
48573
+ uniqueOutwardFlights.length > 3 &&
48574
+ React__default.createElement(
48575
+ 'div',
48576
+ { className: 'search__results__cards__actions' },
48577
+ React__default.createElement(
48578
+ 'button',
48579
+ {
48580
+ className: 'cta cta--secondary',
48581
+ onClick: function () {
48582
+ return handleShowMoreFlights('flight-outward-results');
48583
+ }
48584
+ },
48585
+ translations.SRP.SHOW_MORE
48586
+ )
48587
+ )
47892
48588
  )
47893
- )
47894
- ),
47895
- context.showHotelAccommodationResults &&
47896
- !context.packagingEntry &&
47897
- React__default.createElement(HotelAccommodationResults, { isLoading: isLoading }),
47898
- context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
47899
- !context.packagingEntry &&
47900
- React__default.createElement(DayByDayExcursions, null),
47901
- context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
47902
- !context.packagingEntry &&
47903
- context.showFlightResults &&
47904
- React__default.createElement(
47905
- React__default.Fragment,
47906
- null,
47907
- React__default.createElement(
47908
- 'div',
47909
- { className: 'search__results__label search__results__label--secondary' },
47910
- React__default.createElement(
47911
- 'div',
47912
- { className: 'search__results__label__date' },
47913
- React__default.createElement(Icon, { name: 'ui-flight', height: 16, fill: 'white' })
47914
48589
  ),
48590
+ context.showHotelAccommodationResults &&
48591
+ !context.packagingEntry &&
48592
+ React__default.createElement(HotelAccommodationResults, { isLoading: isLoading }),
48593
+ context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48594
+ !context.packagingEntry &&
48595
+ React__default.createElement(DayByDayExcursions, null),
48596
+ context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48597
+ !context.packagingEntry &&
48598
+ context.showFlightResults &&
47915
48599
  React__default.createElement(
47916
- 'div',
47917
- { className: 'search__results__label__text' },
48600
+ React__default.Fragment,
48601
+ null,
47918
48602
  React__default.createElement(
47919
- 'h3',
47920
- null,
47921
- translations.SRP.SELECT,
47922
- ' ',
47923
- React__default.createElement('strong', null, ' ', translations.SRP.RETURN)
48603
+ 'div',
48604
+ { className: 'search__results__label search__results__label--secondary' },
48605
+ React__default.createElement(
48606
+ 'div',
48607
+ { className: 'search__results__label__date' },
48608
+ (function () {
48609
+ var firstResultDate = uniqueReturnFlights.length > 0 ? uniqueReturnFlights[0].return.segments[0].departureDateTime : null;
48610
+ var firstResultDay = firstResultDate ? format$1(firstResultDate, 'd') : null;
48611
+ var firstResultMonth = firstResultDate ? format$1(firstResultDate, 'MMM') : null;
48612
+ return React__default.createElement(
48613
+ React__default.Fragment,
48614
+ null,
48615
+ React__default.createElement('p', { className: 'search__results__label__date-date' }, firstResultDay),
48616
+ React__default.createElement('p', null, firstResultMonth)
48617
+ );
48618
+ })()
48619
+ ),
48620
+ React__default.createElement(
48621
+ 'div',
48622
+ { className: 'search__results__label__text' },
48623
+ React__default.createElement(Icon, { name: 'ui-flight', height: 16 }),
48624
+ React__default.createElement(
48625
+ 'h3',
48626
+ null,
48627
+ translations.SRP.SELECT,
48628
+ ' ',
48629
+ React__default.createElement('strong', null, ' ', translations.SRP.RETURN)
48630
+ )
48631
+ )
48632
+ ),
48633
+ React__default.createElement(
48634
+ 'div',
48635
+ { className: 'search__results__cards search__results__cards--extended' },
48636
+ selectedReturnKey &&
48637
+ selectedReturn &&
48638
+ React__default.createElement(IndependentFlightOption, {
48639
+ key: 'flight-'.concat(selectedReturnKey),
48640
+ item: selectedReturn.return,
48641
+ guid: selectedReturn.outwardGuid,
48642
+ selectedGuid: selectedReturn.outwardGuid,
48643
+ isOutward: false,
48644
+ showSelectedState: true,
48645
+ price: selectedReturn.price
48646
+ }),
48647
+ uniqueReturnFlights.map(function (result) {
48648
+ return React__default.createElement(IndependentFlightOption, {
48649
+ key: 'flight-'.concat(result.outwardGuid),
48650
+ item: result.return,
48651
+ onSelect: function () {
48652
+ return dispatch(setSelectedReturnKey(getFlightKey(result.return.segments)));
48653
+ },
48654
+ guid: result.outwardGuid,
48655
+ isOutward: false,
48656
+ currentSelectedPrice: selectedReturn === null || selectedReturn === void 0 ? void 0 : selectedReturn.price,
48657
+ price: result.price
48658
+ });
48659
+ })
47924
48660
  )
47925
- )
47926
- ),
47927
- React__default.createElement(
47928
- 'div',
47929
- { className: 'search__results__cards search__results__cards--extended' },
47930
- selectedReturnKey &&
47931
- selectedReturn &&
47932
- React__default.createElement(IndependentFlightOption, {
47933
- key: 'flight-'.concat(selectedReturnKey),
47934
- item: selectedReturn.return,
47935
- guid: selectedReturn.outwardGuid,
47936
- selectedGuid: selectedReturn.outwardGuid,
47937
- isOutward: false,
47938
- showSelectedState: true,
47939
- price: selectedReturn.price
47940
- }),
47941
- uniqueReturnFlights.map(function (result) {
47942
- return React__default.createElement(IndependentFlightOption, {
47943
- key: 'flight-'.concat(result.outwardGuid),
47944
- item: result.return,
47945
- onSelect: function () {
47946
- return dispatch(setSelectedReturnKey(getFlightKey(result.return.segments)));
47947
- },
47948
- guid: result.outwardGuid,
47949
- isOutward: false,
47950
- currentSelectedPrice: selectedReturn === null || selectedReturn === void 0 ? void 0 : selectedReturn.price,
47951
- price: result.price
47952
- });
47953
- })
47954
- )
47955
- ),
47956
- context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
47957
- context.packagingEntry &&
47958
- React__default.createElement(FullItinerary, { isLoading: itineraryIsLoading })
48661
+ ),
48662
+ context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48663
+ context.packagingEntry &&
48664
+ React__default.createElement(FullItinerary, { isLoading: itineraryIsLoading })
48665
+ )
48666
+ ),
48667
+ React__default.createElement(FlyIn, {
48668
+ srpType: context.searchConfiguration.qsmType,
48669
+ isOpen: flyInIsOpen,
48670
+ setIsOpen: handleFlyInToggle,
48671
+ handleConfirm: function () {
48672
+ return handleConfirmHotelSwap();
48673
+ },
48674
+ onPanelRef: function (el) {
48675
+ return (panelRef.current = el);
48676
+ },
48677
+ detailsLoading: detailsIsLoading,
48678
+ flyInType: flyInType,
48679
+ isPackageEditFlow: !!context.packagingEntry,
48680
+ sortByTypes: sortByTypes,
48681
+ activeSearchSeed: activeSearchSeed,
48682
+ toggleFilters: function () {
48683
+ return setFiltersOpen(!filtersOpen);
48684
+ },
48685
+ filtersOpen: filtersOpen
48686
+ })
47959
48687
  )
47960
- ),
47961
- React__default.createElement(FlyIn, {
47962
- srpType: context.searchConfiguration.qsmType,
47963
- isOpen: flyInIsOpen,
47964
- setIsOpen: handleFlyInToggle,
47965
- handleConfirm: function () {
47966
- return handleConfirmHotelSwap();
47967
- },
47968
- onPanelRef: function (el) {
47969
- return (panelRef.current = el);
47970
- },
47971
- detailsLoading: detailsIsLoading,
47972
- flyInType: flyInType,
47973
- isPackageEditFlow: !!context.packagingEntry,
47974
- sortByTypes: sortByTypes,
47975
- activeSearchSeed: activeSearchSeed
47976
- })
47977
48688
  )
47978
- )
47979
48689
  )
47980
48690
  );
47981
48691
  };