@qite/tide-booking-component 1.4.109 → 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 (81) hide show
  1. package/build/build-cjs/index.js +1351 -775
  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 +1335 -770
  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/search-results/components/book-packaging-entry/index.tsx +48 -0
  39. package/src/search-results/components/book-packaging-entry/wl-sidebar.tsx +165 -0
  40. package/src/search-results/components/excursions/day-by-day-excursions.tsx +6 -2
  41. package/src/search-results/components/excursions/excursion-results.tsx +1 -1
  42. package/src/search-results/components/flight/flight-selection/independent-flight-selection.tsx +12 -3
  43. package/src/search-results/components/hotel/hotel-accommodation-results.tsx +6 -3
  44. package/src/search-results/components/itinerary/full-itinerary.tsx +1 -1
  45. package/src/search-results/components/itinerary/index.tsx +13 -12
  46. package/src/search-results/components/search-results-container/flight-search-results.tsx +1 -1
  47. package/src/search-results/components/search-results-container/search-results-container.tsx +239 -204
  48. package/src/search-results/components/spinner/spinner.tsx +12 -4
  49. package/src/search-results/store/search-results-slice.ts +16 -2
  50. package/src/shared/booking/BookingPanel.tsx +25 -0
  51. package/src/shared/booking/Sidebar.tsx +432 -0
  52. package/src/shared/booking/StepIndicators.tsx +30 -0
  53. package/src/shared/components/flyin/accommodation-flyin.tsx +3 -4
  54. package/src/shared/components/flyin/flights-flyin.tsx +1 -1
  55. package/src/shared/components/flyin/flyin.tsx +12 -4
  56. package/src/shared/components/flyin/group-tour-flyin.tsx +3 -4
  57. package/src/shared/components/flyin/packaging-flights-flyin.tsx +11 -4
  58. package/src/shared/components/icon.tsx +13 -0
  59. package/src/shared/translations/ar-SA.json +7 -1
  60. package/src/shared/translations/da-DK.json +7 -1
  61. package/src/shared/translations/de-DE.json +7 -1
  62. package/src/shared/translations/en-GB.json +8 -2
  63. package/src/shared/translations/es-ES.json +7 -1
  64. package/src/shared/translations/fr-BE.json +7 -1
  65. package/src/shared/translations/fr-FR.json +7 -1
  66. package/src/shared/translations/is-IS.json +7 -1
  67. package/src/shared/translations/it-IT.json +7 -1
  68. package/src/shared/translations/ja-JP.json +7 -1
  69. package/src/shared/translations/nl-BE.json +7 -1
  70. package/src/shared/translations/nl-NL.json +7 -1
  71. package/src/shared/translations/no-NO.json +7 -1
  72. package/src/shared/translations/pl-PL.json +7 -1
  73. package/src/shared/translations/pt-PT.json +7 -1
  74. package/src/shared/translations/sv-SE.json +7 -1
  75. package/src/shared/utils/localization-util.ts +8 -0
  76. package/styles/components/_loader.scss +82 -0
  77. package/styles/components/_search.scss +9 -2
  78. package/styles/content-blocks-variables.scss +14 -14
  79. /package/build/build-cjs/src/{booking-wizard/components → shared/booking}/product-card.d.ts +0 -0
  80. /package/build/build-esm/src/{booking-wizard/components → shared/booking}/product-card.d.ts +0 -0
  81. /package/src/{booking-wizard/components → shared/booking}/product-card.tsx +0 -0
@@ -596,6 +596,7 @@ var SRP$f = {
596
596
  DEPARTURE_ASC: 'تاريخ المغادرة (الأقرب أولاً)',
597
597
  FILTERS: 'عوامل التصفية',
598
598
  SHOW_ITINERARY: 'عرض خط سير الرحلة',
599
+ VIEW_BOOKING: 'عرض الحجز',
599
600
  ITINERARY_TITLE: 'ملخص رحلتك',
600
601
  DOSSIER_NUMBER: 'رقم الملف',
601
602
  PACKAGE_PRICE_PER_PERSON: 'سعر الباقة للشخص الواحد',
@@ -629,7 +630,12 @@ var SRP$f = {
629
630
  DURATION_ASC: 'المدة تصاعدياً',
630
631
  DURATION_DESC: 'المدة تنازلياً',
631
632
  TRAVEL_GROUP: 'مجموعة المسافرين',
632
- EXCURSION: 'رحلة'
633
+ EXCURSION: 'رحلة',
634
+ LOADING_EXCURSIONS: 'جارٍ تحميل الرحلات...',
635
+ LOADING_FLIGHTS: 'جارٍ تحميل الرحلات الجوية...',
636
+ LOADING_ACCOMMODATIONS: 'جارٍ تحميل الإقامات...',
637
+ LOADING_ITINERARY: 'جارٍ تحميل خط سير الرحلة...',
638
+ LOADING_OPTIONS: 'جارٍ تحميل الخيارات...'
633
639
  };
634
640
  var ITINERARY$f = {
635
641
  DAY: 'اليوم',
@@ -1009,6 +1015,7 @@ var SRP$e = {
1009
1015
  DEPARTURE_ASC: 'Afrejsedato (snarest først)',
1010
1016
  FILTERS: 'Filtre',
1011
1017
  SHOW_ITINERARY: 'Vis rejseplan',
1018
+ VIEW_BOOKING: 'Se booking',
1012
1019
  ITINERARY_TITLE: 'Din rejseoversigt',
1013
1020
  DOSSIER_NUMBER: 'Sagsnummer',
1014
1021
  PACKAGE_PRICE_PER_PERSON: 'pakkepris pr. person',
@@ -1042,7 +1049,12 @@ var SRP$e = {
1042
1049
  DURATION_ASC: 'Varighed stigende',
1043
1050
  DURATION_DESC: 'Varighed faldende',
1044
1051
  TRAVEL_GROUP: 'Rejseselskab',
1045
- EXCURSION: 'Udflugt'
1052
+ EXCURSION: 'Udflugt',
1053
+ LOADING_EXCURSIONS: 'Indlæser udflugter...',
1054
+ LOADING_FLIGHTS: 'Indlæser fly...',
1055
+ LOADING_ACCOMMODATIONS: 'Indlæser indkvarteringer...',
1056
+ LOADING_ITINERARY: 'Indlæser rejseplan...',
1057
+ LOADING_OPTIONS: 'Indlæser muligheder...'
1046
1058
  };
1047
1059
  var ITINERARY$e = {
1048
1060
  DAY: 'Dag',
@@ -1427,6 +1439,7 @@ var SRP$d = {
1427
1439
  DEPARTURE_ASC: 'Abreisedatum (früheste zuerst)',
1428
1440
  FILTERS: 'Filter',
1429
1441
  SHOW_ITINERARY: 'Reiseverlauf anzeigen',
1442
+ VIEW_BOOKING: 'Buchung anzeigen',
1430
1443
  ITINERARY_TITLE: 'Ihre Reiseübersicht',
1431
1444
  DOSSIER_NUMBER: 'Vorgangsnummer',
1432
1445
  PACKAGE_PRICE_PER_PERSON: 'Paketpreis pro Person',
@@ -1456,7 +1469,12 @@ var SRP$d = {
1456
1469
  ARRIVAL_AIRPORTS: 'Ankunftsflughäfen',
1457
1470
  PRICE: 'Preis',
1458
1471
  TRAVEL_GROUP: 'Reisegruppe',
1459
- EXCURSION: 'Ausflug'
1472
+ EXCURSION: 'Ausflug',
1473
+ LOADING_EXCURSIONS: 'Lade Ausflüge...',
1474
+ LOADING_FLIGHTS: 'Lade Flüge...',
1475
+ LOADING_ACCOMMODATIONS: 'Lade Unterkünfte...',
1476
+ LOADING_ITINERARY: 'Lade Reiseverlauf...',
1477
+ LOADING_OPTIONS: 'Lade Optionen...'
1460
1478
  };
1461
1479
  var ITINERARY$d = {
1462
1480
  DAY: 'Tag',
@@ -1541,7 +1559,7 @@ var PRODUCT$c = {
1541
1559
  STAY_INCLUDED: 'Stay included',
1542
1560
  FLIGHT_INCLUDED: 'Flight included',
1543
1561
  TRANSFER_INCLUDED: 'Transfer included',
1544
- LOADING_PRICE: 'Your price is being composed.',
1562
+ LOADING_PRICE: 'Loading price...',
1545
1563
  PER_PERSON: 'Per person',
1546
1564
  PER_NIGHT: 'Per night',
1547
1565
  PER_PERSON_PER_NIGHT: 'Per person / per night',
@@ -1844,6 +1862,7 @@ var SRP$c = {
1844
1862
  DEPARTURE_ASC: 'Departure date (soonest first)',
1845
1863
  FILTERS: 'Filters',
1846
1864
  SHOW_ITINERARY: 'Show itinerary',
1865
+ VIEW_BOOKING: 'View booking',
1847
1866
  ITINERARY_TITLE: 'Your trip summary',
1848
1867
  DOSSIER_NUMBER: 'File number',
1849
1868
  PACKAGE_PRICE_PER_PERSON: 'package price per person',
@@ -1873,7 +1892,12 @@ var SRP$c = {
1873
1892
  DEPARTURE_AIRPORTS: 'Departure airports',
1874
1893
  ARRIVAL_AIRPORTS: 'Arrival airports',
1875
1894
  TRAVEL_GROUP: 'Travel group',
1876
- EXCURSION: 'Excursion'
1895
+ EXCURSION: 'Excursion',
1896
+ LOADING_EXCURSIONS: 'Loading excursions...',
1897
+ LOADING_FLIGHTS: 'Loading flights...',
1898
+ LOADING_ACCOMMODATIONS: 'Loading accommodations...',
1899
+ LOADING_ITINERARY: 'Loading itinerary...',
1900
+ LOADING_OPTIONS: 'Loading options...'
1877
1901
  };
1878
1902
  var ITINERARY$c = {
1879
1903
  DAY: 'Day',
@@ -2258,6 +2282,7 @@ var SRP$b = {
2258
2282
  DEPARTURE_ASC: 'Fecha de salida (más próxima primero)',
2259
2283
  FILTERS: 'Filtros',
2260
2284
  SHOW_ITINERARY: 'Mostrar itinerario',
2285
+ VIEW_BOOKING: 'Ver reserva',
2261
2286
  ITINERARY_TITLE: 'Resumen de tu viaje',
2262
2287
  DOSSIER_NUMBER: 'Número de expediente',
2263
2288
  PACKAGE_PRICE_PER_PERSON: 'precio del paquete por persona',
@@ -2287,7 +2312,12 @@ var SRP$b = {
2287
2312
  ARRIVAL_AIRPORTS: 'Aeropuertos de llegada',
2288
2313
  PRICE: 'Precio',
2289
2314
  TRAVEL_GROUP: 'Grupo de viaje',
2290
- EXCURSION: 'Excursión'
2315
+ EXCURSION: 'Excursión',
2316
+ LOADING_EXCURSIONS: 'Cargando excursiones...',
2317
+ LOADING_FLIGHTS: 'Cargando vuelos...',
2318
+ LOADING_ACCOMMODATIONS: 'Cargando alojamientos...',
2319
+ LOADING_ITINERARY: 'Cargando itinerario...',
2320
+ LOADING_OPTIONS: 'Cargando opciones...'
2291
2321
  };
2292
2322
  var ITINERARY$b = {
2293
2323
  DAY: 'Día',
@@ -2676,6 +2706,7 @@ var SRP$a = {
2676
2706
  DEPARTURE_ASC: 'Date de départ (la plus proche d’abord)',
2677
2707
  FILTERS: 'Filtres',
2678
2708
  SHOW_ITINERARY: 'Afficher l’itinéraire',
2709
+ VIEW_BOOKING: 'Voir la réservation',
2679
2710
  ITINERARY_TITLE: 'Résumé de votre voyage',
2680
2711
  DOSSIER_NUMBER: 'Numéro de dossier',
2681
2712
  PACKAGE_PRICE_PER_PERSON: 'prix du forfait par personne',
@@ -2705,7 +2736,12 @@ var SRP$a = {
2705
2736
  ARRIVAL_AIRPORTS: 'Aéroports d’arrivée',
2706
2737
  PRICE: 'Prix',
2707
2738
  TRAVEL_GROUP: 'Groupe de voyageurs',
2708
- EXCURSION: 'Excursion'
2739
+ EXCURSION: 'Excursion',
2740
+ LOADING_EXCURSIONS: 'Chargement des excursions...',
2741
+ LOADING_FLIGHTS: 'Chargement des vols...',
2742
+ LOADING_ACCOMMODATIONS: 'Chargement des hébergements...',
2743
+ LOADING_ITINERARY: 'Chargement de l’itinéraire...',
2744
+ LOADING_OPTIONS: 'Chargement des options...'
2709
2745
  };
2710
2746
  var ITINERARY$a = {
2711
2747
  DAY: 'Jour',
@@ -3089,6 +3125,7 @@ var SRP$9 = {
3089
3125
  DEPARTURE_ASC: 'Date de départ (la plus proche d’abord)',
3090
3126
  FILTERS: 'Filtres',
3091
3127
  SHOW_ITINERARY: 'Afficher l’itinéraire',
3128
+ VIEW_BOOKING: 'Voir la réservation',
3092
3129
  ITINERARY_TITLE: 'Résumé de votre voyage',
3093
3130
  DOSSIER_NUMBER: 'Numéro de dossier',
3094
3131
  PACKAGE_PRICE_PER_PERSON: 'prix du forfait par personne',
@@ -3118,7 +3155,12 @@ var SRP$9 = {
3118
3155
  ARRIVAL_AIRPORTS: 'Aéroports d’arrivée',
3119
3156
  PRICE: 'Prix',
3120
3157
  TRAVEL_GROUP: 'Groupe de voyageurs',
3121
- EXCURSION: 'Excursion'
3158
+ EXCURSION: 'Excursion',
3159
+ LOADING_EXCURSIONS: 'Chargement des excursions...',
3160
+ LOADING_FLIGHTS: 'Chargement des vols...',
3161
+ LOADING_ACCOMMODATIONS: 'Chargement des hébergements...',
3162
+ LOADING_ITINERARY: 'Chargement de l’itinéraire...',
3163
+ LOADING_OPTIONS: 'Chargement des options...'
3122
3164
  };
3123
3165
  var ITINERARY$9 = {
3124
3166
  DAY: 'Jour',
@@ -3502,6 +3544,7 @@ var SRP$8 = {
3502
3544
  DEPARTURE_ASC: 'Brottfarardagur (nærst fyrst)',
3503
3545
  FILTERS: 'Síur',
3504
3546
  SHOW_ITINERARY: 'Sýna ferðaráætlun',
3547
+ VIEW_BOOKING: 'Skoða bókun',
3505
3548
  ITINERARY_TITLE: 'Yfirlit ferðarinnar',
3506
3549
  DOSSIER_NUMBER: 'Skrárnúmer',
3507
3550
  PACKAGE_PRICE_PER_PERSON: 'pakka verð á mann',
@@ -3531,7 +3574,12 @@ var SRP$8 = {
3531
3574
  ARRIVAL_AIRPORTS: 'Komuflugvellir',
3532
3575
  PRICE: 'Verð',
3533
3576
  TRAVEL_GROUP: 'Ferðahópur',
3534
- EXCURSION: 'Útflutningur'
3577
+ EXCURSION: 'Útflutningur',
3578
+ LOADING_EXCURSIONS: 'Hleðst inn í útflutninga...',
3579
+ LOADING_FLIGHTS: 'Hleðst inn í flug...',
3580
+ LOADING_ACCOMMODATIONS: 'Hleðst inn í gistingar...',
3581
+ LOADING_ITINERARY: 'Hleðst inn í ferðaráætlun...',
3582
+ LOADING_OPTIONS: 'Hleðst inn í valkosti...'
3535
3583
  };
3536
3584
  var ITINERARY$8 = {
3537
3585
  DAY: 'Dagur',
@@ -3916,6 +3964,7 @@ var SRP$7 = {
3916
3964
  DEPARTURE_ASC: 'Data di partenza (prima la più vicina)',
3917
3965
  FILTERS: 'Filtri',
3918
3966
  SHOW_ITINERARY: 'Mostra itinerario',
3967
+ VIEW_BOOKING: 'Visualizza prenotazione',
3919
3968
  ITINERARY_TITLE: 'Riepilogo del tuo viaggio',
3920
3969
  DOSSIER_NUMBER: 'Numero di pratica',
3921
3970
  PACKAGE_PRICE_PER_PERSON: 'prezzo pacchetto per persona',
@@ -3945,7 +3994,12 @@ var SRP$7 = {
3945
3994
  ARRIVAL_AIRPORTS: 'Aeroporti di arrivo',
3946
3995
  PRICE: 'Prezzo',
3947
3996
  TRAVEL_GROUP: 'Gruppo di viaggio',
3948
- EXCURSION: 'Escursione'
3997
+ EXCURSION: 'Escursione',
3998
+ LOADING_EXCURSIONS: 'Caricamento delle escursioni...',
3999
+ LOADING_FLIGHTS: 'Caricamento dei voli...',
4000
+ LOADING_ACCOMMODATIONS: 'Caricamento degli alloggi...',
4001
+ LOADING_ITINERARY: "Caricamento dell'itinerario...",
4002
+ LOADING_OPTIONS: 'Caricamento delle opzioni...'
3949
4003
  };
3950
4004
  var ITINERARY$7 = {
3951
4005
  DAY: 'Giorno',
@@ -4334,6 +4388,7 @@ var SRP$6 = {
4334
4388
  DEPARTURE_ASC: 'Vertrekdatum (dichtstbij eerst)',
4335
4389
  FILTERS: 'Filters',
4336
4390
  SHOW_ITINERARY: 'Toon reisplan',
4391
+ VIEW_BOOKING: 'Bekijk boeking',
4337
4392
  ITINERARY_TITLE: 'Overzicht van je reis',
4338
4393
  DOSSIER_NUMBER: 'Dossiernummer',
4339
4394
  PACKAGE_PRICE_PER_PERSON: 'pakketprijs per persoon',
@@ -4363,7 +4418,12 @@ var SRP$6 = {
4363
4418
  ARRIVAL_AIRPORTS: 'Aankomstluchthavens',
4364
4419
  PRICE: 'Prijs',
4365
4420
  TRAVEL_GROUP: 'Reisgezelschap',
4366
- EXCURSION: 'Excursie'
4421
+ EXCURSION: 'Excursie',
4422
+ LOADING_EXCURSIONS: 'Excursies laden...',
4423
+ LOADING_FLIGHTS: 'Vluchten laden...',
4424
+ LOADING_ACCOMMODATIONS: 'Accommodaties laden...',
4425
+ LOADING_ITINERARY: 'Reisplan laden...',
4426
+ LOADING_OPTIONS: 'Opties laden...'
4367
4427
  };
4368
4428
  var ITINERARY$6 = {
4369
4429
  DAY: 'Dag',
@@ -4748,6 +4808,7 @@ var SRP$5 = {
4748
4808
  DEPARTURE_ASC: 'Vertrekdatum (dichtstbij eerst)',
4749
4809
  FILTERS: 'Filters',
4750
4810
  SHOW_ITINERARY: 'Toon reisplan',
4811
+ VIEW_BOOKING: 'Bekijk boeking',
4751
4812
  ITINERARY_TITLE: 'Overzicht van je reis',
4752
4813
  DOSSIER_NUMBER: 'Dossiernummer',
4753
4814
  PACKAGE_PRICE_PER_PERSON: 'pakketprijs per persoon',
@@ -4777,7 +4838,12 @@ var SRP$5 = {
4777
4838
  ARRIVAL_AIRPORTS: 'Aankomstluchthavens',
4778
4839
  PRICE: 'Prijs',
4779
4840
  TRAVEL_GROUP: 'Reisgezelschap',
4780
- EXCURSION: 'Excursie'
4841
+ EXCURSION: 'Excursie',
4842
+ LOADING_EXCURSIONS: 'Excursies laden...',
4843
+ LOADING_FLIGHTS: 'Vluchten laden...',
4844
+ LOADING_ACCOMMODATIONS: 'Accommodaties laden...',
4845
+ LOADING_ITINERARY: 'Reisplan laden...',
4846
+ LOADING_OPTIONS: 'Opties laden...'
4781
4847
  };
4782
4848
  var ITINERARY$5 = {
4783
4849
  DAY: 'Dag',
@@ -5162,6 +5228,7 @@ var SRP$4 = {
5162
5228
  DEPARTURE_ASC: 'Avreisedato (nærmeste først)',
5163
5229
  FILTERS: 'Filtre',
5164
5230
  SHOW_ITINERARY: 'Vis reiserute',
5231
+ VIEW_BOOKING: 'Se bestilling',
5165
5232
  ITINERARY_TITLE: 'Din reisemåloversikt',
5166
5233
  DOSSIER_NUMBER: 'Saksnummer',
5167
5234
  PACKAGE_PRICE_PER_PERSON: 'pakkepris per person',
@@ -5191,7 +5258,12 @@ var SRP$4 = {
5191
5258
  ARRIVAL_AIRPORTS: 'Ankomstflyplasser',
5192
5259
  PRICE: 'Pris',
5193
5260
  TRAVEL_GROUP: 'Reisefølge',
5194
- EXCURSION: 'Utflukt'
5261
+ EXCURSION: 'Utflukt',
5262
+ LOADING_EXCURSIONS: 'Laster utflukter...',
5263
+ LOADING_FLIGHTS: 'Laster flyvninger...',
5264
+ LOADING_ACCOMMODATIONS: 'Laster overnattinger...',
5265
+ LOADING_ITINERARY: 'Laster reiserute...',
5266
+ LOADING_OPTIONS: 'Laster alternativer...'
5195
5267
  };
5196
5268
  var ITINERARY$4 = {
5197
5269
  DAY: 'Dag',
@@ -5576,6 +5648,7 @@ var SRP$3 = {
5576
5648
  DEPARTURE_ASC: 'Data wyjazdu (najbliższa najpierw)',
5577
5649
  FILTERS: 'Filtry',
5578
5650
  SHOW_ITINERARY: 'Pokaż plan podróży',
5651
+ VIEW_BOOKING: 'Zobacz rezerwację',
5579
5652
  ITINERARY_TITLE: 'Podsumowanie Twojej podróży',
5580
5653
  DOSSIER_NUMBER: 'Numer pliku',
5581
5654
  PACKAGE_PRICE_PER_PERSON: 'cena pakietu za osobę',
@@ -5605,7 +5678,12 @@ var SRP$3 = {
5605
5678
  ARRIVAL_AIRPORTS: 'Lotniska przylotu',
5606
5679
  PRICE: 'Cena',
5607
5680
  TRAVEL_GROUP: 'Grupa podróżnych',
5608
- EXCURSION: 'Wycieczka'
5681
+ EXCURSION: 'Wycieczka',
5682
+ LOADING_EXCURSIONS: 'Ładowanie wycieczek...',
5683
+ LOADING_FLIGHTS: 'Ładowanie lotów...',
5684
+ LOADING_ACCOMMODATIONS: 'Ładowanie zakwaterowań...',
5685
+ LOADING_ITINERARY: 'Ładowanie planu podróży...',
5686
+ LOADING_OPTIONS: 'Ładowanie opcji...'
5609
5687
  };
5610
5688
  var ITINERARY$3 = {
5611
5689
  DAY: 'Dzień',
@@ -5990,6 +6068,7 @@ var SRP$2 = {
5990
6068
  DEPARTURE_ASC: 'Data de partida (mais próxima primeiro)',
5991
6069
  FILTERS: 'Filtros',
5992
6070
  SHOW_ITINERARY: 'Mostrar itinerário',
6071
+ VIEW_BOOKING: 'Ver reserva',
5993
6072
  ITINERARY_TITLE: 'Resumo da sua viagem',
5994
6073
  DOSSIER_NUMBER: 'Número do processo',
5995
6074
  PACKAGE_PRICE_PER_PERSON: 'preço do pacote por pessoa',
@@ -6019,7 +6098,12 @@ var SRP$2 = {
6019
6098
  ARRIVAL_AIRPORTS: 'Aeroportos de chegada',
6020
6099
  PRICE: 'Preço',
6021
6100
  TRAVEL_GROUP: 'Grupo de viajantes',
6022
- EXCURSION: 'Excursão'
6101
+ EXCURSION: 'Excursão',
6102
+ LOADING_EXCURSIONS: 'A carregar excursões...',
6103
+ LOADING_FLIGHTS: 'A carregar voos...',
6104
+ LOADING_ACCOMMODATIONS: 'A carregar alojamentos...',
6105
+ LOADING_ITINERARY: 'A carregar itinerário...',
6106
+ LOADING_OPTIONS: 'A carregar opções...'
6023
6107
  };
6024
6108
  var ITINERARY$2 = {
6025
6109
  DAY: 'Dia',
@@ -6404,6 +6488,7 @@ var SRP$1 = {
6404
6488
  DEPARTURE_ASC: 'Avresedatum (närmast först)',
6405
6489
  FILTERS: 'Filter',
6406
6490
  SHOW_ITINERARY: 'Visa resplan',
6491
+ VIEW_BOOKING: 'Visa bokning',
6407
6492
  ITINERARY_TITLE: 'Din resesammanfattning',
6408
6493
  DOSSIER_NUMBER: 'Filnummer',
6409
6494
  PACKAGE_PRICE_PER_PERSON: 'paketpris per person',
@@ -6433,7 +6518,12 @@ var SRP$1 = {
6433
6518
  ARRIVAL_AIRPORTS: 'Ankomstflygplatser',
6434
6519
  PRICE: 'Pris',
6435
6520
  TRAVEL_GROUP: 'Resesällskap',
6436
- EXCURSION: 'Utflykt'
6521
+ EXCURSION: 'Utflykt',
6522
+ LOADING_EXCURSIONS: 'Laddar utflykter...',
6523
+ LOADING_FLIGHTS: 'Laddar flyg...',
6524
+ LOADING_ACCOMMODATIONS: 'Laddar boenden...',
6525
+ LOADING_ITINERARY: 'Laddar resplan...',
6526
+ LOADING_OPTIONS: 'Laddar alternativ...'
6437
6527
  };
6438
6528
  var ITINERARY$1 = {
6439
6529
  DAY: 'Dag',
@@ -6816,6 +6906,7 @@ var SRP = {
6816
6906
  DEPARTURE_ASC: '出発日(早い順)',
6817
6907
  FILTERS: 'フィルター',
6818
6908
  SHOW_ITINERARY: '旅程を表示',
6909
+ VIEW_BOOKING: '予約を見る',
6819
6910
  ITINERARY_TITLE: 'あなたの旅行概要',
6820
6911
  DOSSIER_NUMBER: 'ファイル番号',
6821
6912
  PACKAGE_PRICE_PER_PERSON: '1人あたりのパッケージ料金',
@@ -6845,7 +6936,12 @@ var SRP = {
6845
6936
  ARRIVAL_AIRPORTS: '到着空港',
6846
6937
  PRICE: '価格',
6847
6938
  TRAVEL_GROUP: '旅行グループ',
6848
- EXCURSION: 'エクスカーション'
6939
+ EXCURSION: 'エクスカーション',
6940
+ LOADING_EXCURSIONS: 'エクスカーションを読み込み中...',
6941
+ LOADING_FLIGHTS: 'フライトを読み込み中...',
6942
+ LOADING_ACCOMMODATIONS: '宿泊施設を読み込み中...',
6943
+ LOADING_ITINERARY: '旅程を読み込み中...',
6944
+ LOADING_OPTIONS: 'オプションを読み込み中...'
6849
6945
  };
6850
6946
  var ITINERARY = {
6851
6947
  DAY: '日',
@@ -6995,6 +7091,14 @@ function format(text, args) {
6995
7091
  return typeof args[index] == 'undefined' ? match : args[index];
6996
7092
  });
6997
7093
  }
7094
+ var formatDate = function (date) {
7095
+ return new Intl.DateTimeFormat('nl-BE', {
7096
+ weekday: 'short',
7097
+ day: '2-digit',
7098
+ month: 'short',
7099
+ year: '2-digit'
7100
+ }).format(new Date(date));
7101
+ };
6998
7102
  var dateToDateStruct = function (date) {
6999
7103
  if (date === undefined) {
7000
7104
  return { year: 0, month: 0, day: 0 };
@@ -7098,6 +7202,11 @@ var getDatesBetween = function (fromDate, toDate) {
7098
7202
  }
7099
7203
  return dates;
7100
7204
  };
7205
+ var getDateOnlyTime = function (date) {
7206
+ if (!date) return 0;
7207
+ var parsedDate = new Date(date);
7208
+ return new Date(parsedDate.getFullYear(), parsedDate.getMonth(), parsedDate.getDate()).getTime();
7209
+ };
7101
7210
 
7102
7211
  var getDateFromParams = function (params, name) {
7103
7212
  var dateString = params.get(name);
@@ -16748,6 +16857,28 @@ var Icon = function (_a) {
16748
16857
  d: 'M256 0c14.7 0 28.2 8.1 35.2 21l216 400c6.7 12.4 6.4 27.4-.8 39.5S486.1 480 472 480L40 480c-14.1 0-27.2-7.4-34.4-19.5s-7.5-27.1-.8-39.5l216-400c7-12.9 20.5-21 35.2-21zm0 352a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-192c-18.2 0-32.7 15.5-31.4 33.7l7.4 104c.9 12.5 11.4 22.3 23.9 22.3 12.6 0 23-9.7 23.9-22.3l7.4-104c1.3-18.2-13.1-33.7-31.4-33.7z'
16749
16858
  })
16750
16859
  );
16860
+ case 'ui-shopping-cart':
16861
+ return React__default['default'].createElement(
16862
+ 'svg',
16863
+ {
16864
+ className: ['icon', 'icon--'.concat(name), className]
16865
+ .filter(function (className) {
16866
+ return !lodash.isEmpty(className);
16867
+ })
16868
+ .join(' '),
16869
+ width: width,
16870
+ height: height,
16871
+ viewBox: '0 0 640 512',
16872
+ fill: fill !== null && fill !== void 0 ? fill : 'currentColor'
16873
+ },
16874
+ React__default['default'].createElement(HTMLComment, {
16875
+ text: '!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.'
16876
+ }),
16877
+ title && React__default['default'].createElement('title', null, title),
16878
+ React__default['default'].createElement('path', {
16879
+ d: 'M24-16C10.7-16 0-5.3 0 8S10.7 32 24 32l45.3 0c3.9 0 7.2 2.8 7.9 6.6l52.1 286.3c6.2 34.2 36 59.1 70.8 59.1L456 384c13.3 0 24-10.7 24-24s-10.7-24-24-24l-255.9 0c-11.6 0-21.5-8.3-23.6-19.7l-5.1-28.3 303.6 0c30.8 0 57.2-21.9 62.9-52.2L568.9 69.9C572.6 50.2 557.5 32 537.4 32l-412.7 0-.4-2c-4.8-26.6-28-46-55.1-46L24-16zM208 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm224 0a48 48 0 1 0 0-96 48 48 0 1 0 0 96z'
16880
+ })
16881
+ );
16751
16882
  default:
16752
16883
  return null;
16753
16884
  }
@@ -20640,47 +20771,27 @@ var SettingsContext = React__default['default'].createContext({
20640
20771
  }
20641
20772
  });
20642
20773
 
20643
- var StepIndicators = function (_a) {
20644
- var currentStep = _a.currentStep;
20645
- var _b = React.useContext(SettingsContext),
20646
- flightOptions = _b.flightOptions,
20647
- roomOptions = _b.roomOptions;
20648
- var translations = reactRedux.useSelector(selectTranslations);
20649
- var travelersFirstStep = reactRedux.useSelector(selectTravelersFirstStep);
20650
- var allSteps = [];
20651
- if (travelersFirstStep) {
20652
- allSteps.push(translations.STEPS.PERSONAL_DETAILS);
20653
- }
20654
- if (!flightOptions.isHidden) {
20655
- allSteps.push(translations.STEPS.FLIGHT_OPTIONS);
20656
- }
20657
- if (!roomOptions.isHidden) {
20658
- allSteps.push(translations.STEPS.ROOM_OPTIONS);
20659
- }
20660
- allSteps.push(translations.STEPS.EXTRA_OPTIONS);
20661
- if (!travelersFirstStep) {
20662
- allSteps.push(translations.STEPS.PERSONAL_DETAILS);
20663
- }
20664
- allSteps.push(translations.STEPS.SUMMARY);
20665
- allSteps.push(translations.STEPS.CONFIRMATION);
20774
+ var StepIndicators$1 = function (_a) {
20775
+ var currentStep = _a.currentStep,
20776
+ stepLabels = _a.stepLabels;
20666
20777
  return React__default['default'].createElement(
20667
20778
  'div',
20668
20779
  { className: 'step-indicators' },
20669
20780
  React__default['default'].createElement(
20670
20781
  'div',
20671
20782
  { className: 'step-indicators__items' },
20672
- allSteps.map(function (stepName, index) {
20783
+ stepLabels.map(function (stepName, index) {
20673
20784
  return React__default['default'].createElement(
20674
20785
  'div',
20675
20786
  {
20676
20787
  key: ''.concat(index + 1, '-').concat(stepName),
20677
20788
  className: buildClassName([
20678
20789
  'step-indicators__item',
20679
- currentStep === index + 1 && 'step-indicators__item--active',
20680
- currentStep > index + 1 && 'step-indicators__item--completed'
20790
+ currentStep === index && 'step-indicators__item--active',
20791
+ currentStep > index && 'step-indicators__item--completed'
20681
20792
  ])
20682
20793
  },
20683
- React__default['default'].createElement('div', { className: 'step-indicators__icon step-indicators__icon' }, index + 1),
20794
+ React__default['default'].createElement('div', { className: 'step-indicators__icon' }, index + 1),
20684
20795
  React__default['default'].createElement('div', { className: 'step-indicators__text' }, stepName)
20685
20796
  );
20686
20797
  })
@@ -20688,27 +20799,94 @@ var StepIndicators = function (_a) {
20688
20799
  );
20689
20800
  };
20690
20801
 
20691
- var StepRoute = function (_a) {
20692
- var number = _a.number,
20693
- title = _a.title,
20694
- component = _a.component;
20802
+ var StepIndicators = function (_a) {
20803
+ var currentStep = _a.currentStep;
20804
+ var _b = React.useContext(SettingsContext),
20805
+ flightOptions = _b.flightOptions,
20806
+ roomOptions = _b.roomOptions;
20807
+ var translations = reactRedux.useSelector(selectTranslations);
20808
+ var travelersFirstStep = reactRedux.useSelector(selectTravelersFirstStep);
20809
+ var stepLabels = [];
20810
+ if (travelersFirstStep) {
20811
+ stepLabels.push(translations.STEPS.PERSONAL_DETAILS);
20812
+ }
20813
+ if (!flightOptions.isHidden) {
20814
+ stepLabels.push(translations.STEPS.FLIGHT_OPTIONS);
20815
+ }
20816
+ if (!roomOptions.isHidden) {
20817
+ stepLabels.push(translations.STEPS.ROOM_OPTIONS);
20818
+ }
20819
+ stepLabels.push(translations.STEPS.EXTRA_OPTIONS);
20820
+ if (!travelersFirstStep) {
20821
+ stepLabels.push(translations.STEPS.PERSONAL_DETAILS);
20822
+ }
20823
+ stepLabels.push(translations.STEPS.SUMMARY);
20824
+ stepLabels.push(translations.STEPS.CONFIRMATION);
20825
+ return React__default['default'].createElement(StepIndicators$1, { currentStep: currentStep, stepLabels: stepLabels });
20826
+ };
20827
+
20828
+ var BookingPanel = function (_a) {
20829
+ var currentStep = _a.currentStep,
20830
+ stepLabels = _a.stepLabels,
20831
+ renderTitle = _a.renderTitle,
20832
+ children = _a.children,
20833
+ StepIndicatorsComponent = _a.StepIndicatorsComponent;
20695
20834
  return React__default['default'].createElement(
20696
- React__default['default'].Fragment,
20697
- null,
20698
- React__default['default'].createElement(StepIndicators, { currentStep: number }),
20835
+ 'div',
20836
+ { className: 'booking__panel' },
20837
+ React__default['default'].createElement(StepIndicatorsComponent, { currentStep: currentStep, stepLabels: stepLabels }),
20699
20838
  React__default['default'].createElement(
20700
20839
  'div',
20701
20840
  { className: 'booking__panel-frame booking__panel-frame--transparent' },
20702
20841
  React__default['default'].createElement(
20703
20842
  'div',
20704
20843
  { className: 'booking__panel-heading' },
20705
- React__default['default'].createElement('h4', { className: 'booking__panel-title' }, number, '. ', title)
20844
+ React__default['default'].createElement('h4', { className: 'booking__panel-title' }, renderTitle(currentStep))
20706
20845
  ),
20707
- React__default['default'].createElement('div', { className: 'booking__panel-body' }, component)
20846
+ React__default['default'].createElement('div', { className: 'booking__panel-body' }, children)
20708
20847
  )
20709
20848
  );
20710
20849
  };
20711
20850
 
20851
+ var StepRoute = function (_a) {
20852
+ var number = _a.number;
20853
+ _a.title;
20854
+ var component = _a.component;
20855
+ var _b = React.useContext(SettingsContext),
20856
+ flightOptions = _b.flightOptions,
20857
+ roomOptions = _b.roomOptions;
20858
+ var translations = reactRedux.useSelector(selectTranslations);
20859
+ var travelersFirstStep = reactRedux.useSelector(selectTravelersFirstStep);
20860
+ var stepLabels = [];
20861
+ if (travelersFirstStep) {
20862
+ stepLabels.push(translations.STEPS.PERSONAL_DETAILS);
20863
+ }
20864
+ if (!flightOptions.isHidden) {
20865
+ stepLabels.push(translations.STEPS.FLIGHT_OPTIONS);
20866
+ }
20867
+ if (!roomOptions.isHidden) {
20868
+ stepLabels.push(translations.STEPS.ROOM_OPTIONS);
20869
+ }
20870
+ stepLabels.push(translations.STEPS.EXTRA_OPTIONS);
20871
+ if (!travelersFirstStep) {
20872
+ stepLabels.push(translations.STEPS.PERSONAL_DETAILS);
20873
+ }
20874
+ stepLabels.push(translations.STEPS.SUMMARY);
20875
+ stepLabels.push(translations.STEPS.CONFIRMATION);
20876
+ return React__default['default'].createElement(
20877
+ BookingPanel,
20878
+ {
20879
+ currentStep: number,
20880
+ stepLabels: stepLabels,
20881
+ StepIndicatorsComponent: StepIndicators,
20882
+ renderTitle: function (step) {
20883
+ return React__default['default'].createElement(React__default['default'].Fragment, null, step + 1, '. ', stepLabels[step]);
20884
+ }
20885
+ },
20886
+ component
20887
+ );
20888
+ };
20889
+
20712
20890
  var _a$2;
20713
20891
  var initialState$4 = {
20714
20892
  apiUrl: '',
@@ -21863,8 +22041,7 @@ var FlightFilter = function (_a) {
21863
22041
  );
21864
22042
  };
21865
22043
 
21866
- var getTravelersText = function (rooms) {
21867
- var translations = reactRedux.useSelector(selectTranslations);
22044
+ var getTravelersText = function (rooms, translations) {
21868
22045
  return rooms.map(function (r) {
21869
22046
  return lodash
21870
22047
  .compact([
@@ -25355,7 +25532,7 @@ var selectPackagePriceDetails = toolkit.createSelector(selectPriceDetails, funct
25355
25532
  return priceDetail.isInPackage;
25356
25533
  });
25357
25534
  });
25358
- var selectSeparatePackagePriceDetails = toolkit.createSelector(selectPackagePriceDetails, function (pricedetails) {
25535
+ var selectSeparatePackagePriceDetails$1 = toolkit.createSelector(selectPackagePriceDetails, function (pricedetails) {
25359
25536
  var result = [];
25360
25537
  var filteredPriceDetails = pricedetails.filter(function (priceDetail) {
25361
25538
  return priceDetail.isSeparate;
@@ -25497,11 +25674,11 @@ var ProductCard = function (_a) {
25497
25674
 
25498
25675
  var SidebarFlight = function (_a) {
25499
25676
  var title = _a.title,
25500
- flightMetaData = _a.flightMetaData;
25677
+ flightMetaData = _a.flightMetaData,
25678
+ translations = _a.translations;
25501
25679
  var flightLines = parseFlightLines(flightMetaData);
25502
25680
  var firstFlight = lodash.first(flightLines);
25503
25681
  var lastFlight = lodash.last(flightLines);
25504
- var translations = reactRedux.useSelector(selectTranslations);
25505
25682
  return React__default['default'].createElement(
25506
25683
  'div',
25507
25684
  { className: 'pricing-summary__group' },
@@ -25567,47 +25744,50 @@ var SidebarFlight = function (_a) {
25567
25744
  );
25568
25745
  };
25569
25746
 
25570
- var Sidebar = function (_a) {
25747
+ var SharedSidebar = function (_a) {
25571
25748
  var productName = _a.productName,
25572
25749
  thumbnailUrl = _a.thumbnailUrl,
25573
25750
  isLoading = _a.isLoading,
25751
+ translations = _a.translations,
25752
+ headerComponent = _a.headerComponent,
25574
25753
  travelerRooms = _a.travelerRooms,
25575
25754
  startDateText = _a.startDateText,
25576
25755
  endDateText = _a.endDateText,
25756
+ loaderComponent = _a.loaderComponent,
25577
25757
  departureFlightMetaData = _a.departureFlightMetaData,
25578
25758
  returnFlightMetaData = _a.returnFlightMetaData,
25759
+ accommodations = _a.accommodations,
25760
+ packagingAccommodations = _a.packagingAccommodations,
25761
+ isOnRequest = _a.isOnRequest,
25762
+ includedServiceTypes = _a.includedServiceTypes,
25579
25763
  basePrice = _a.basePrice,
25580
25764
  commission = _a.commission,
25581
25765
  totalPrice = _a.totalPrice,
25582
25766
  includedCosts = _a.includedCosts,
25583
25767
  extraCosts = _a.extraCosts,
25584
25768
  deposit = _a.deposit,
25585
- accommodations = _a.accommodations,
25586
- includedServiceTypes = _a.includedServiceTypes,
25587
- isOnRequest = _a.isOnRequest,
25588
- headerComponent = _a.headerComponent,
25589
- footerComponent = _a.footerComponent,
25590
- loaderComponent = _a.loaderComponent,
25591
- isUnavailable = _a.isUnavailable,
25592
25769
  basePricePerPaxType = _a.basePricePerPaxType,
25593
- seperateExtraPricePerPaxType = _a.seperateExtraPricePerPaxType;
25770
+ seperateExtraPricePerPaxType = _a.seperateExtraPricePerPaxType,
25771
+ isUnavailable = _a.isUnavailable,
25772
+ agent = _a.agent,
25773
+ footerComponent = _a.footerComponent;
25774
+ if (!translations) return null;
25594
25775
  var _b = React.useState(false),
25595
25776
  active = _b[0],
25596
25777
  setActive = _b[1];
25597
- var translations = reactRedux.useSelector(selectTranslations);
25598
- var currencyCode = reactRedux.useSelector(selectCurrencyCode);
25599
- var isAgent = reactRedux.useSelector(selectAgentAdressId);
25778
+ var handleToggleClick = function () {
25779
+ setActive(!active);
25780
+ };
25781
+ var isFlightOnly =
25782
+ (includedServiceTypes === null || includedServiceTypes === void 0 ? void 0 : includedServiceTypes.length) === 1 &&
25783
+ includedServiceTypes.includes(build.ServiceType.flight);
25600
25784
  var canShowPriceBreakdownSection = Boolean(basePrice && basePrice > 0) || !lodash.isEmpty(includedCosts) || !lodash.isEmpty(extraCosts);
25601
25785
  var canShowTotalPriceSection = Boolean(totalPrice && totalPrice > 0);
25602
25786
  var remainingAmount = Number(
25603
25787
  ((totalPrice !== null && totalPrice !== void 0 ? totalPrice : 0) - (deposit !== null && deposit !== void 0 ? deposit : 0)).toFixed(2)
25604
25788
  );
25605
- var isFlightOnly =
25606
- (includedServiceTypes === null || includedServiceTypes === void 0 ? void 0 : includedServiceTypes.length) === 1 &&
25607
- includedServiceTypes.includes(build.ServiceType.flight);
25608
- var handleToggleClick = function () {
25609
- setActive(!active);
25610
- };
25789
+ // TODO: Determine currency code based on the data, for now default to EUR
25790
+ var currencyCode = 'EUR';
25611
25791
  return React__default['default'].createElement(
25612
25792
  'div',
25613
25793
  { className: buildClassName(['booking__sidebar', active && 'booking__sidebar--active']) },
@@ -25619,337 +25799,392 @@ var Sidebar = function (_a) {
25619
25799
  React__default['default'].createElement(
25620
25800
  'div',
25621
25801
  { className: 'pricing-summary' },
25622
- !isUnavailable
25623
- ? React__default['default'].createElement(
25802
+ React__default['default'].createElement(
25803
+ 'div',
25804
+ { className: 'pricing-summary__wrapper' },
25805
+ React__default['default'].createElement(
25806
+ 'div',
25807
+ { className: 'pricing-summary__region pricing-summary__region--fade-in' },
25808
+ React__default['default'].createElement(
25624
25809
  'div',
25625
- { className: 'pricing-summary__wrapper' },
25626
- React__default['default'].createElement(
25627
- 'div',
25628
- { className: 'pricing-summary__region '.concat(!isLoading ? 'pricing-summary__region--fade-in' : '') },
25810
+ { className: 'pricing-summary__group' },
25811
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.TRAVEL_INFO),
25812
+ !lodash.isEmpty(travelerRooms) &&
25813
+ (travelerRooms === null || travelerRooms === void 0
25814
+ ? void 0
25815
+ : travelerRooms.map(function (room, rIndex) {
25816
+ return React__default['default'].createElement(
25817
+ 'div',
25818
+ { className: 'pricing-summary__row', key: rIndex },
25819
+ React__default['default'].createElement(
25820
+ 'div',
25821
+ { className: 'pricing-summary__property' },
25822
+ travelerRooms.length > 1 && ''.concat(translations.SHARED.ROOM, ' ').concat(rIndex + 1),
25823
+ travelerRooms.length === 1 && translations.ROOM_OPTIONS_FORM.TRAVELER_GROUP
25824
+ ),
25825
+ React__default['default'].createElement('div', { className: 'pricing-summary__value' }, room)
25826
+ );
25827
+ })),
25828
+ startDateText &&
25629
25829
  React__default['default'].createElement(
25630
25830
  'div',
25631
- { className: 'pricing-summary__group' },
25632
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.TRAVEL_INFO),
25633
- !lodash.isEmpty(travelerRooms) &&
25634
- (travelerRooms === null || travelerRooms === void 0
25635
- ? void 0
25636
- : travelerRooms.map(function (room, rIndex) {
25637
- return React__default['default'].createElement(
25638
- 'div',
25639
- { className: 'pricing-summary__row', key: rIndex },
25640
- React__default['default'].createElement(
25641
- 'div',
25642
- { className: 'pricing-summary__property' },
25643
- travelerRooms.length > 1 && ''.concat(translations.SHARED.ROOM, ' ').concat(rIndex + 1),
25644
- travelerRooms.length === 1 && translations.ROOM_OPTIONS_FORM.TRAVELER_GROUP
25645
- ),
25646
- React__default['default'].createElement('div', { className: 'pricing-summary__value' }, room)
25647
- );
25648
- })),
25649
- startDateText &&
25831
+ { className: 'pricing-summary__row' },
25832
+ React__default['default'].createElement(
25833
+ 'div',
25834
+ { className: 'pricing-summary__property' },
25835
+ startDateText && endDateText ? translations.SIDEBAR.DEPARTURE : translations.SIDEBAR.DEPARTURE_SINGLE
25836
+ ),
25837
+ React__default['default'].createElement('div', { className: 'pricing-summary__value' }, startDateText)
25838
+ ),
25839
+ endDateText &&
25840
+ React__default['default'].createElement(
25841
+ 'div',
25842
+ { className: 'pricing-summary__row' },
25843
+ React__default['default'].createElement('div', { className: 'pricing-summary__property' }, translations.SIDEBAR.ARRIVAL),
25844
+ React__default['default'].createElement('div', { className: 'pricing-summary__value' }, endDateText)
25845
+ )
25846
+ ),
25847
+ isLoading && loaderComponent,
25848
+ !isLoading &&
25849
+ departureFlightMetaData &&
25850
+ React__default['default'].createElement(SidebarFlight, {
25851
+ title: translations.SIDEBAR.DEPARTURE_FLIGHT,
25852
+ flightMetaData: departureFlightMetaData,
25853
+ translations: translations
25854
+ }),
25855
+ !isLoading &&
25856
+ returnFlightMetaData &&
25857
+ React__default['default'].createElement(SidebarFlight, {
25858
+ title: translations.SIDEBAR.ARRIVAL_FLIGHT,
25859
+ flightMetaData: returnFlightMetaData,
25860
+ translations: translations
25861
+ }),
25862
+ accommodations &&
25863
+ React__default['default'].createElement(
25864
+ 'div',
25865
+ { className: 'pricing-summary__group' },
25866
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.ACCOMMODATION),
25867
+ accommodations.map(function (accommodation) {
25868
+ var option = accommodation.options.find(function (x) {
25869
+ return x.isSelected;
25870
+ });
25871
+ return React__default['default'].createElement(
25872
+ 'div',
25873
+ { key: accommodation.index },
25650
25874
  React__default['default'].createElement(
25651
25875
  'div',
25652
25876
  { className: 'pricing-summary__row' },
25653
25877
  React__default['default'].createElement(
25654
25878
  'div',
25655
25879
  { className: 'pricing-summary__property' },
25656
- startDateText && endDateText ? translations.SIDEBAR.DEPARTURE : translations.SIDEBAR.DEPARTURE_SINGLE
25880
+ option === null || option === void 0 ? void 0 : option.accommodationName,
25881
+ isOnRequest ? ' ('.concat(translations.SIDEBAR.ON_REQUEST, ')') : '',
25882
+ (option === null || option === void 0 ? void 0 : option.isOnRequest) ? ' ('.concat(translations.SIDEBAR.ON_REQUEST, ')') : ''
25883
+ )
25884
+ ),
25885
+ React__default['default'].createElement(
25886
+ 'div',
25887
+ { className: 'pricing-summary__row' },
25888
+ React__default['default'].createElement(
25889
+ 'div',
25890
+ { className: 'price-summarty__property' },
25891
+ option === null || option === void 0 ? void 0 : option.regimeName
25657
25892
  ),
25658
- React__default['default'].createElement('div', { className: 'pricing-summary__value' }, startDateText)
25893
+ React__default['default'].createElement(
25894
+ 'div',
25895
+ { className: 'price-summary__value' },
25896
+ !isFlightOnly &&
25897
+ getDatePeriodText(
25898
+ translations,
25899
+ option === null || option === void 0 ? void 0 : option.from,
25900
+ option === null || option === void 0 ? void 0 : option.to,
25901
+ true
25902
+ )
25903
+ )
25904
+ )
25905
+ );
25906
+ })
25907
+ ),
25908
+ packagingAccommodations &&
25909
+ React__default['default'].createElement(
25910
+ 'div',
25911
+ { className: 'pricing-summary__group' },
25912
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.ACCOMMODATION),
25913
+ packagingAccommodations.map(function (accommodation) {
25914
+ return React__default['default'].createElement(
25915
+ 'div',
25916
+ { key: accommodation.guid },
25917
+ React__default['default'].createElement(
25918
+ 'div',
25919
+ { className: 'pricing-summary__row' },
25920
+ React__default['default'].createElement(
25921
+ 'div',
25922
+ { className: 'pricing-summary__property' },
25923
+ accommodation === null || accommodation === void 0 ? void 0 : accommodation.accommodationName,
25924
+ isOnRequest ? ' ('.concat(translations.SIDEBAR.ON_REQUEST, ')') : ''
25925
+ )
25659
25926
  ),
25660
- endDateText &&
25661
25927
  React__default['default'].createElement(
25662
25928
  'div',
25663
25929
  { className: 'pricing-summary__row' },
25664
- React__default['default'].createElement('div', { className: 'pricing-summary__property' }, translations.SIDEBAR.ARRIVAL),
25665
- React__default['default'].createElement('div', { className: 'pricing-summary__value' }, endDateText)
25930
+ React__default['default'].createElement(
25931
+ 'div',
25932
+ { className: 'price-summarty__property' },
25933
+ accommodation === null || accommodation === void 0 ? void 0 : accommodation.regimeName
25934
+ ),
25935
+ React__default['default'].createElement(
25936
+ 'div',
25937
+ { className: 'price-summary__value' },
25938
+ !isFlightOnly &&
25939
+ getDatePeriodText(
25940
+ translations,
25941
+ accommodation === null || accommodation === void 0 ? void 0 : accommodation.from,
25942
+ accommodation === null || accommodation === void 0 ? void 0 : accommodation.to,
25943
+ true
25944
+ )
25945
+ )
25666
25946
  )
25667
- ),
25668
- isLoading && loaderComponent,
25669
- !isLoading &&
25670
- departureFlightMetaData &&
25671
- React__default['default'].createElement(SidebarFlight, {
25672
- title: translations.SIDEBAR.DEPARTURE_FLIGHT,
25673
- flightMetaData: departureFlightMetaData
25674
- }),
25675
- !isLoading &&
25676
- returnFlightMetaData &&
25677
- React__default['default'].createElement(SidebarFlight, { title: translations.SIDEBAR.ARRIVAL_FLIGHT, flightMetaData: returnFlightMetaData }),
25678
- accommodations &&
25947
+ );
25948
+ })
25949
+ )
25950
+ ),
25951
+ !isLoading &&
25952
+ canShowPriceBreakdownSection &&
25953
+ React__default['default'].createElement(
25954
+ 'div',
25955
+ { className: 'pricing-summary__region '.concat(!isLoading ? 'pricing-summary__region--fade-in' : '') },
25956
+ basePrice !== undefined &&
25957
+ basePrice > 0 &&
25958
+ React__default['default'].createElement(
25959
+ 'div',
25960
+ { className: 'pricing-summary__group' },
25679
25961
  React__default['default'].createElement(
25680
25962
  'div',
25681
- { className: 'pricing-summary__group' },
25682
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.ACCOMMODATION),
25683
- accommodations.map(function (accommodation) {
25684
- var option = accommodation.options.find(function (x) {
25685
- return x.isSelected;
25686
- });
25963
+ { className: 'pricing-summary__row' },
25964
+ React__default['default'].createElement(
25965
+ 'div',
25966
+ { className: 'pricing-summary__property' },
25967
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.BASE_PRICE)
25968
+ ),
25969
+ React__default['default'].createElement('div', { className: 'pricing-summary__value' }, formatPrice$3(basePrice, currencyCode))
25970
+ ),
25971
+ basePricePerPaxType &&
25972
+ basePricePerPaxType.map(function (ppt, index) {
25687
25973
  return React__default['default'].createElement(
25688
- 'div',
25689
- { key: accommodation.index },
25974
+ React__default['default'].Fragment,
25975
+ { key: ''.concat(ppt.paxType, '-').concat(index) },
25690
25976
  React__default['default'].createElement(
25691
25977
  'div',
25692
25978
  { className: 'pricing-summary__row' },
25693
25979
  React__default['default'].createElement(
25694
25980
  'div',
25695
25981
  { className: 'pricing-summary__property' },
25696
- option === null || option === void 0 ? void 0 : option.accommodationName,
25697
- isOnRequest ? ' ('.concat(translations.SIDEBAR.ON_REQUEST, ')') : '',
25698
- (option === null || option === void 0 ? void 0 : option.isOnRequest) ? ' ('.concat(translations.SIDEBAR.ON_REQUEST, ')') : ''
25699
- )
25700
- ),
25701
- React__default['default'].createElement(
25702
- 'div',
25703
- { className: 'pricing-summary__row' },
25704
- React__default['default'].createElement(
25705
- 'div',
25706
- { className: 'price-summarty__property' },
25707
- option === null || option === void 0 ? void 0 : option.regimeName
25982
+ ppt.numberOfPax,
25983
+ ' ',
25984
+ getPaxTypeTranslation(translations, ppt.paxType, ppt.numberOfPax)
25708
25985
  ),
25709
25986
  React__default['default'].createElement(
25710
25987
  'div',
25711
- { className: 'price-summary__value' },
25712
- !isFlightOnly &&
25713
- getDatePeriodText(
25714
- translations,
25715
- option === null || option === void 0 ? void 0 : option.from,
25716
- option === null || option === void 0 ? void 0 : option.to,
25717
- true
25718
- )
25988
+ { className: 'pricing-summary__value' },
25989
+ formatPrice$3(ppt.pricePerPaxType, currencyCode)
25719
25990
  )
25720
- )
25721
- );
25722
- })
25723
- )
25724
- ),
25725
- !isLoading &&
25726
- canShowPriceBreakdownSection &&
25727
- React__default['default'].createElement(
25728
- 'div',
25729
- { className: 'pricing-summary__region '.concat(!isLoading ? 'pricing-summary__region--fade-in' : '') },
25730
- basePrice !== undefined &&
25731
- basePrice > 0 &&
25732
- React__default['default'].createElement(
25733
- 'div',
25734
- { className: 'pricing-summary__group' },
25735
- React__default['default'].createElement(
25736
- 'div',
25737
- { className: 'pricing-summary__row' },
25738
- React__default['default'].createElement(
25739
- 'div',
25740
- { className: 'pricing-summary__property' },
25741
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.BASE_PRICE)
25742
25991
  ),
25743
- React__default['default'].createElement('div', { className: 'pricing-summary__value' }, formatPrice$3(basePrice, currencyCode))
25744
- ),
25745
- basePricePerPaxType &&
25746
- basePricePerPaxType.map(function (ppt, index) {
25992
+ ppt.details.map(function (detail, dIndex) {
25747
25993
  return React__default['default'].createElement(
25748
- React__default['default'].Fragment,
25749
- { key: ''.concat(ppt.paxType, '-').concat(index) },
25994
+ 'div',
25995
+ { className: 'pricing-summary__row pricing-summary__row--sub', key: ''.concat(ppt.paxType, '-').concat(index, '-').concat(dIndex) },
25750
25996
  React__default['default'].createElement(
25751
25997
  'div',
25752
- { className: 'pricing-summary__row' },
25998
+ { className: 'pricing-summary__property' },
25999
+ detail.numberOfPax,
26000
+ 'x ',
26001
+ detail.description
26002
+ ),
26003
+ React__default['default'].createElement(
26004
+ 'div',
26005
+ { className: 'pricing-summary__value' },
26006
+ formatPrice$3(detail.price / detail.numberOfPax, currencyCode)
26007
+ )
26008
+ );
26009
+ })
26010
+ );
26011
+ })
26012
+ ),
26013
+ !lodash.isEmpty(includedCosts) &&
26014
+ React__default['default'].createElement(
26015
+ 'div',
26016
+ { className: 'pricing-summary__group' },
26017
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.INCLUDED_COSTS),
26018
+ includedCosts === null || includedCosts === void 0
26019
+ ? void 0
26020
+ : includedCosts.map(function (priceDetail, index) {
26021
+ var _a;
26022
+ return React__default['default'].createElement(
26023
+ React__default['default'].Fragment,
26024
+ { key: lodash.compact([priceDetail.productCode, priceDetail.accommodationCode, index]).join('_') },
26025
+ React__default['default'].createElement(
26026
+ 'div',
26027
+ { className: 'pricing-summary__row' },
26028
+ React__default['default'].createElement('div', { className: 'pricing-summary__property' }, priceDetail.productName),
26029
+ priceDetail.showPrice &&
25753
26030
  React__default['default'].createElement(
25754
26031
  'div',
25755
- { className: 'pricing-summary__property' },
25756
- ppt.numberOfPax,
25757
- ' ',
25758
- getPaxTypeTranslation(translations, ppt.paxType, ppt.numberOfPax)
25759
- ),
26032
+ { className: 'pricing-summary__value' },
26033
+ formatPrice$3(priceDetail.price * priceDetail.amount, currencyCode)
26034
+ )
26035
+ ),
26036
+ React__default['default'].createElement(
26037
+ 'div',
26038
+ { className: 'pricing-summary__row' },
26039
+ React__default['default'].createElement(
26040
+ 'div',
26041
+ { className: 'price-summary__property' },
26042
+ (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode
26043
+ )
26044
+ )
26045
+ );
26046
+ })
26047
+ ),
26048
+ !lodash.isEmpty(extraCosts) &&
26049
+ React__default['default'].createElement(
26050
+ 'div',
26051
+ { className: 'pricing-summary__group' },
26052
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.EXTRA_COSTS),
26053
+ extraCosts === null || extraCosts === void 0
26054
+ ? void 0
26055
+ : extraCosts.map(function (priceDetail, index) {
26056
+ var _a;
26057
+ return React__default['default'].createElement(
26058
+ React__default['default'].Fragment,
26059
+ { key: lodash.compact([priceDetail.productCode, priceDetail.accommodationCode, index]).join('_') },
26060
+ React__default['default'].createElement(
26061
+ 'div',
26062
+ { className: 'pricing-summary__row' },
26063
+ React__default['default'].createElement('div', { className: 'pricing-summary__property' }, priceDetail.productName),
26064
+ priceDetail.showPrice &&
25760
26065
  React__default['default'].createElement(
25761
26066
  'div',
25762
26067
  { className: 'pricing-summary__value' },
25763
- formatPrice$3(ppt.pricePerPaxType, currencyCode)
26068
+ formatPrice$3(priceDetail.price * priceDetail.amount, currencyCode)
25764
26069
  )
25765
- ),
25766
- ppt.details.map(function (detail, dIndex) {
26070
+ ),
26071
+ React__default['default'].createElement(
26072
+ 'div',
26073
+ { className: 'pricing-summary__row' },
26074
+ React__default['default'].createElement(
26075
+ 'div',
26076
+ { className: 'pricing-summary__property' },
26077
+ (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode
26078
+ )
26079
+ ),
26080
+ seperateExtraPricePerPaxType &&
26081
+ seperateExtraPricePerPaxType.map(function (ppt, index) {
25767
26082
  return React__default['default'].createElement(
25768
- 'div',
25769
- {
25770
- className: 'pricing-summary__row pricing-summary__row--sub',
25771
- key: ''.concat(ppt.paxType, '-').concat(index, '-').concat(dIndex)
25772
- },
26083
+ React__default['default'].Fragment,
26084
+ { key: ''.concat(ppt.paxType, '-').concat(index) },
25773
26085
  React__default['default'].createElement(
25774
26086
  'div',
25775
- { className: 'pricing-summary__property' },
25776
- detail.numberOfPax,
25777
- 'x ',
25778
- detail.description
25779
- ),
25780
- React__default['default'].createElement(
25781
- 'div',
25782
- { className: 'pricing-summary__value' },
25783
- formatPrice$3(detail.price / detail.numberOfPax, currencyCode)
25784
- )
25785
- );
25786
- })
25787
- );
25788
- })
25789
- ),
25790
- !lodash.isEmpty(includedCosts) &&
25791
- React__default['default'].createElement(
25792
- 'div',
25793
- { className: 'pricing-summary__group' },
25794
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.INCLUDED_COSTS),
25795
- includedCosts === null || includedCosts === void 0
25796
- ? void 0
25797
- : includedCosts.map(function (priceDetail, index) {
25798
- var _a;
25799
- return React__default['default'].createElement(
25800
- React__default['default'].Fragment,
25801
- { key: lodash.compact([priceDetail.productCode, priceDetail.accommodationCode, index]).join('_') },
25802
- React__default['default'].createElement(
25803
- 'div',
25804
- { className: 'pricing-summary__row' },
25805
- React__default['default'].createElement('div', { className: 'pricing-summary__property' }, priceDetail.productName),
25806
- priceDetail.showPrice &&
26087
+ { className: 'pricing-summary__row' },
25807
26088
  React__default['default'].createElement(
25808
26089
  'div',
25809
- { className: 'pricing-summary__value' },
25810
- formatPrice$3(priceDetail.price * priceDetail.amount, currencyCode)
25811
- )
25812
- ),
25813
- React__default['default'].createElement(
25814
- 'div',
25815
- { className: 'pricing-summary__row' },
25816
- React__default['default'].createElement(
25817
- 'div',
25818
- { className: 'price-summary__property' },
25819
- (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode
25820
- )
25821
- )
25822
- );
25823
- })
25824
- ),
25825
- !lodash.isEmpty(extraCosts) &&
25826
- React__default['default'].createElement(
25827
- 'div',
25828
- { className: 'pricing-summary__group' },
25829
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.EXTRA_COSTS),
25830
- extraCosts === null || extraCosts === void 0
25831
- ? void 0
25832
- : extraCosts.map(function (priceDetail, index) {
25833
- var _a;
25834
- return React__default['default'].createElement(
25835
- React__default['default'].Fragment,
25836
- { key: lodash.compact([priceDetail.productCode, priceDetail.accommodationCode, index]).join('_') },
25837
- React__default['default'].createElement(
25838
- 'div',
25839
- { className: 'pricing-summary__row' },
25840
- React__default['default'].createElement('div', { className: 'pricing-summary__property' }, priceDetail.productName),
25841
- priceDetail.showPrice &&
26090
+ { className: 'pricing-summary__property' },
26091
+ ppt.numberOfPax,
26092
+ ' ',
26093
+ getPaxTypeTranslation(translations, ppt.paxType, ppt.numberOfPax)
26094
+ ),
25842
26095
  React__default['default'].createElement(
25843
26096
  'div',
25844
26097
  { className: 'pricing-summary__value' },
25845
- formatPrice$3(priceDetail.price * priceDetail.amount, currencyCode)
26098
+ formatPrice$3(ppt.pricePerPaxType, currencyCode)
25846
26099
  )
25847
- ),
25848
- React__default['default'].createElement(
25849
- 'div',
25850
- { className: 'pricing-summary__row' },
25851
- React__default['default'].createElement(
25852
- 'div',
25853
- { className: 'pricing-summary__property' },
25854
- (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode
25855
- )
25856
- ),
25857
- seperateExtraPricePerPaxType &&
25858
- seperateExtraPricePerPaxType.map(function (ppt, index) {
26100
+ ),
26101
+ ppt.details.map(function (detail, dIndex) {
25859
26102
  return React__default['default'].createElement(
25860
- React__default['default'].Fragment,
25861
- { key: ''.concat(ppt.paxType, '-').concat(index) },
26103
+ 'div',
26104
+ {
26105
+ className: 'pricing-summary__row pricing-summary__row--sub',
26106
+ key: ''.concat(ppt.paxType, '-').concat(index, '-').concat(dIndex)
26107
+ },
25862
26108
  React__default['default'].createElement(
25863
26109
  'div',
25864
- { className: 'pricing-summary__row' },
25865
- React__default['default'].createElement(
25866
- 'div',
25867
- { className: 'pricing-summary__property' },
25868
- ppt.numberOfPax,
25869
- ' ',
25870
- getPaxTypeTranslation(translations, ppt.paxType, ppt.numberOfPax)
25871
- ),
25872
- React__default['default'].createElement(
25873
- 'div',
25874
- { className: 'pricing-summary__value' },
25875
- formatPrice$3(ppt.pricePerPaxType, currencyCode)
25876
- )
26110
+ { className: 'pricing-summary__property' },
26111
+ detail.numberOfPax,
26112
+ 'x ',
26113
+ detail.description
25877
26114
  ),
25878
- ppt.details.map(function (detail, dIndex) {
25879
- return React__default['default'].createElement(
25880
- 'div',
25881
- {
25882
- className: 'pricing-summary__row pricing-summary__row--sub',
25883
- key: ''.concat(ppt.paxType, '-').concat(index, '-').concat(dIndex)
25884
- },
25885
- React__default['default'].createElement(
25886
- 'div',
25887
- { className: 'pricing-summary__property' },
25888
- detail.numberOfPax,
25889
- 'x ',
25890
- detail.description
25891
- ),
25892
- React__default['default'].createElement(
25893
- 'div',
25894
- { className: 'pricing-summary__value' },
25895
- formatPrice$3(detail.price / detail.numberOfPax, currencyCode)
25896
- )
25897
- );
25898
- })
26115
+ React__default['default'].createElement(
26116
+ 'div',
26117
+ { className: 'pricing-summary__value' },
26118
+ formatPrice$3(detail.price / detail.numberOfPax, currencyCode)
26119
+ )
25899
26120
  );
25900
26121
  })
25901
- );
25902
- })
25903
- )
26122
+ );
26123
+ })
26124
+ );
26125
+ })
25904
26126
  )
25905
- )
25906
- : React__default['default'].createElement(
25907
- 'div',
25908
- { className: 'pricing-summary__region' },
25909
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.PACKAGE_NOT_AVAILABLE)
25910
26127
  ),
25911
- !isLoading &&
25912
- canShowTotalPriceSection &&
25913
- !isUnavailable &&
25914
- React__default['default'].createElement(
25915
- 'div',
25916
- { className: 'pricing-summary__region pricing-summary__region--pricing '.concat(!isLoading ? 'pricing-summary__region--fade-in' : '') },
25917
- deposit && remainingAmount > 0
25918
- ? React__default['default'].createElement(
25919
- 'div',
25920
- { className: 'pricing-summary__group' },
25921
- isAgent &&
25922
- React__default['default'].createElement(
25923
- 'div',
25924
- { className: 'pricing-summary__row pricing-summary__row--total-price' },
26128
+ !isLoading &&
26129
+ canShowTotalPriceSection &&
26130
+ !isUnavailable &&
26131
+ React__default['default'].createElement(
26132
+ 'div',
26133
+ { className: 'pricing-summary__region pricing-summary__region--pricing '.concat(!isLoading ? 'pricing-summary__region--fade-in' : '') },
26134
+ deposit && remainingAmount > 0
26135
+ ? React__default['default'].createElement(
26136
+ 'div',
26137
+ { className: 'pricing-summary__group' },
26138
+ agent &&
25925
26139
  React__default['default'].createElement(
25926
26140
  'div',
25927
- { className: 'pricing-summary__property' },
25928
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.COMMISSION)
26141
+ { className: 'pricing-summary__row pricing-summary__row--total-price' },
26142
+ React__default['default'].createElement(
26143
+ 'div',
26144
+ { className: 'pricing-summary__property' },
26145
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.COMMISSION)
26146
+ ),
26147
+ React__default['default'].createElement(
26148
+ 'div',
26149
+ { className: 'pricing-summary__value' },
26150
+ React__default['default'].createElement(
26151
+ 'div',
26152
+ { className: 'pricing' },
26153
+ React__default['default'].createElement(
26154
+ 'div',
26155
+ { className: 'pricing__price' },
26156
+ formatPrice$3(commission !== null && commission !== void 0 ? commission : 0, currencyCode)
26157
+ )
26158
+ )
26159
+ )
25929
26160
  ),
26161
+ totalPrice !== undefined &&
26162
+ totalPrice > 0 &&
25930
26163
  React__default['default'].createElement(
25931
26164
  'div',
25932
- { className: 'pricing-summary__value' },
26165
+ { className: 'pricing-summary__row pricing-summary__row--total-price' },
25933
26166
  React__default['default'].createElement(
25934
26167
  'div',
25935
- { className: 'pricing' },
26168
+ { className: 'pricing-summary__property' },
26169
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SHARED.TOTAL_PRICE)
26170
+ ),
26171
+ React__default['default'].createElement(
26172
+ 'div',
26173
+ { className: 'pricing-summary__value' },
25936
26174
  React__default['default'].createElement(
25937
26175
  'div',
25938
- { className: 'pricing__price' },
25939
- formatPrice$3(commission !== null && commission !== void 0 ? commission : 0, currencyCode)
26176
+ { className: 'pricing' },
26177
+ React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$3(totalPrice, currencyCode))
25940
26178
  )
25941
26179
  )
25942
- )
25943
- ),
25944
- totalPrice !== undefined &&
25945
- totalPrice > 0 &&
26180
+ ),
25946
26181
  React__default['default'].createElement(
25947
26182
  'div',
25948
- { className: 'pricing-summary__row pricing-summary__row--total-price' },
26183
+ { className: 'pricing-summary__row' },
25949
26184
  React__default['default'].createElement(
25950
26185
  'div',
25951
26186
  { className: 'pricing-summary__property' },
25952
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SHARED.TOTAL_PRICE)
26187
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.DEPOSIT)
25953
26188
  ),
25954
26189
  React__default['default'].createElement(
25955
26190
  'div',
@@ -25957,97 +26192,80 @@ var Sidebar = function (_a) {
25957
26192
  React__default['default'].createElement(
25958
26193
  'div',
25959
26194
  { className: 'pricing' },
25960
- React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$3(totalPrice, currencyCode))
26195
+ React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$3(deposit, currencyCode))
25961
26196
  )
25962
26197
  )
25963
26198
  ),
25964
- React__default['default'].createElement(
25965
- 'div',
25966
- { className: 'pricing-summary__row' },
25967
- React__default['default'].createElement(
25968
- 'div',
25969
- { className: 'pricing-summary__property' },
25970
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.DEPOSIT)
25971
- ),
25972
26199
  React__default['default'].createElement(
25973
26200
  'div',
25974
- { className: 'pricing-summary__value' },
25975
- React__default['default'].createElement(
25976
- 'div',
25977
- { className: 'pricing' },
25978
- React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$3(deposit, currencyCode))
25979
- )
25980
- )
25981
- ),
25982
- React__default['default'].createElement(
25983
- 'div',
25984
- { className: 'pricing-summary__row' },
25985
- React__default['default'].createElement(
25986
- 'small',
25987
- null,
26201
+ { className: 'pricing-summary__row' },
25988
26202
  React__default['default'].createElement(
25989
- 'em',
26203
+ 'small',
25990
26204
  null,
25991
- translations.SIDEBAR.DEPOSIT_TEXT1,
25992
- React__default['default'].createElement('strong', null, translations.SIDEBAR.DEPOSIT_TEXT2),
25993
- translations.SIDEBAR.DEPOSIT_TEXT3,
25994
- formatPrice$3(remainingAmount, currencyCode),
25995
- translations.SIDEBAR.DEPOSIT_TEXT4,
25996
- React__default['default'].createElement('strong', null, translations.SIDEBAR.DEPOSIT_TEXT5),
25997
- translations.SIDEBAR.DEPOSIT_TEXT6
26205
+ React__default['default'].createElement(
26206
+ 'em',
26207
+ null,
26208
+ translations.SIDEBAR.DEPOSIT_TEXT1,
26209
+ React__default['default'].createElement('strong', null, translations.SIDEBAR.DEPOSIT_TEXT2),
26210
+ translations.SIDEBAR.DEPOSIT_TEXT3,
26211
+ formatPrice$3(remainingAmount, currencyCode),
26212
+ translations.SIDEBAR.DEPOSIT_TEXT4,
26213
+ React__default['default'].createElement('strong', null, translations.SIDEBAR.DEPOSIT_TEXT5),
26214
+ translations.SIDEBAR.DEPOSIT_TEXT6
26215
+ )
25998
26216
  )
25999
26217
  )
26000
26218
  )
26001
- )
26002
- : React__default['default'].createElement(
26003
- 'div',
26004
- { className: 'pricing-summary__group' },
26005
- isAgent &&
26006
- React__default['default'].createElement(
26007
- 'div',
26008
- { className: 'pricing-summary__row pricing-summary__row--total-price' },
26009
- React__default['default'].createElement(
26010
- 'div',
26011
- { className: 'pricing-summary__property' },
26012
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.COMMISSION)
26013
- ),
26219
+ : React__default['default'].createElement(
26220
+ 'div',
26221
+ { className: 'pricing-summary__group' },
26222
+ agent &&
26014
26223
  React__default['default'].createElement(
26015
26224
  'div',
26016
- { className: 'pricing-summary__value' },
26225
+ { className: 'pricing-summary__row pricing-summary__row--total-price' },
26017
26226
  React__default['default'].createElement(
26018
26227
  'div',
26019
- { className: 'pricing' },
26228
+ { className: 'pricing-summary__property' },
26229
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.COMMISSION)
26230
+ ),
26231
+ React__default['default'].createElement(
26232
+ 'div',
26233
+ { className: 'pricing-summary__value' },
26020
26234
  React__default['default'].createElement(
26021
26235
  'div',
26022
- { className: 'pricing__price' },
26023
- formatPrice$3(commission !== null && commission !== void 0 ? commission : 0, currencyCode)
26236
+ { className: 'pricing' },
26237
+ React__default['default'].createElement(
26238
+ 'div',
26239
+ { className: 'pricing__price' },
26240
+ formatPrice$3(commission !== null && commission !== void 0 ? commission : 0, currencyCode)
26241
+ )
26024
26242
  )
26025
26243
  )
26026
- )
26027
- ),
26028
- totalPrice !== undefined &&
26029
- totalPrice > 0 &&
26030
- React__default['default'].createElement(
26031
- 'div',
26032
- { className: 'pricing-summary__row pricing-summary__row--total-price' },
26033
- React__default['default'].createElement(
26034
- 'div',
26035
- { className: 'pricing-summary__property' },
26036
- React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SHARED.TOTAL_PRICE)
26037
26244
  ),
26245
+ totalPrice !== undefined &&
26246
+ totalPrice > 0 &&
26038
26247
  React__default['default'].createElement(
26039
26248
  'div',
26040
- { className: 'pricing-summary__value' },
26249
+ { className: 'pricing-summary__row pricing-summary__row--total-price' },
26041
26250
  React__default['default'].createElement(
26042
26251
  'div',
26043
- { className: 'pricing' },
26044
- React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$3(totalPrice, currencyCode))
26252
+ { className: 'pricing-summary__property' },
26253
+ React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SHARED.TOTAL_PRICE)
26254
+ ),
26255
+ React__default['default'].createElement(
26256
+ 'div',
26257
+ { className: 'pricing-summary__value' },
26258
+ React__default['default'].createElement(
26259
+ 'div',
26260
+ { className: 'pricing' },
26261
+ React__default['default'].createElement('div', { className: 'pricing__price' }, formatPrice$3(totalPrice, currencyCode))
26262
+ )
26045
26263
  )
26046
26264
  )
26047
- )
26048
- )
26049
- ),
26050
- footerComponent
26265
+ )
26266
+ ),
26267
+ footerComponent
26268
+ )
26051
26269
  )
26052
26270
  )
26053
26271
  );
@@ -26064,7 +26282,8 @@ var SidebarContainer = function (_a) {
26064
26282
  showPricesPerPaxType = _f.showPricesPerPaxType;
26065
26283
  var bookingAttributes = reactRedux.useSelector(selectBookingAttributes);
26066
26284
  var rooms = reactRedux.useSelector(selectFormRooms);
26067
- var travelerRooms = getTravelersText(rooms);
26285
+ var translations = reactRedux.useSelector(selectTranslations);
26286
+ var travelerRooms = getTravelersText(rooms, translations);
26068
26287
  var departureFlight = reactRedux.useSelector(selectDepartureFlight);
26069
26288
  var departureFlightMetaData =
26070
26289
  (_b = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.flightMetaData) !== null && _b !== void 0
@@ -26085,7 +26304,8 @@ var SidebarContainer = function (_a) {
26085
26304
  var includedServiceTypes = reactRedux.useSelector(selectIncludedServiceTypes);
26086
26305
  var isUnavailable = reactRedux.useSelector(selectIsUnavailable) || false;
26087
26306
  var isLoading = isFetchingProductOptions || isFetchingPriceDetails;
26088
- return React__default['default'].createElement(Sidebar, {
26307
+ var agent = reactRedux.useSelector(selectAgentAdressId);
26308
+ return React__default['default'].createElement(SharedSidebar, {
26089
26309
  productName: productName,
26090
26310
  thumbnailUrl: thumbnailUrl,
26091
26311
  isLoading: isLoading,
@@ -26101,7 +26321,7 @@ var SidebarContainer = function (_a) {
26101
26321
  basePrice: reactRedux.useSelector(selectBasePrice),
26102
26322
  commission: reactRedux.useSelector(selectCommission),
26103
26323
  totalPrice: reactRedux.useSelector(selectTotalPrice),
26104
- includedCosts: reactRedux.useSelector(selectSeparatePackagePriceDetails),
26324
+ includedCosts: reactRedux.useSelector(selectSeparatePackagePriceDetails$1),
26105
26325
  extraCosts: reactRedux.useSelector(selectSeparateExtraPriceDetails),
26106
26326
  accommodations: accommodations,
26107
26327
  includedServiceTypes: includedServiceTypes,
@@ -26112,7 +26332,9 @@ var SidebarContainer = function (_a) {
26112
26332
  loaderComponent: loaderComponent !== null && loaderComponent !== void 0 ? loaderComponent : undefined,
26113
26333
  isUnavailable: isUnavailable,
26114
26334
  basePricePerPaxType: showPricesPerPaxType ? reactRedux.useSelector(selectBasePricePerPaxType) : undefined,
26115
- seperateExtraPricePerPaxType: showPricesPerPaxType ? reactRedux.useSelector(selectSeparateExtraPriceDetailsPerPaxType) : undefined
26335
+ seperateExtraPricePerPaxType: showPricesPerPaxType ? reactRedux.useSelector(selectSeparateExtraPriceDetailsPerPaxType) : undefined,
26336
+ translations: translations,
26337
+ agent: agent
26116
26338
  });
26117
26339
  };
26118
26340
 
@@ -30811,19 +31033,25 @@ var qsmReducer = qsmSlice.reducer;
30811
31033
 
30812
31034
  var SearchResultsConfigurationContext = React__default['default'].createContext(undefined);
30813
31035
 
30814
- var Spinner = function () {
30815
- var _a;
31036
+ var Spinner = function (_a) {
31037
+ var _b;
31038
+ var label = _a.label;
30816
31039
  var context = React.useContext(SearchResultsConfigurationContext);
30817
- var translations = getTranslations((_a = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB');
31040
+ var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
30818
31041
  return React__default['default'].createElement(
30819
31042
  'div',
30820
- { className: 'spinner__container' },
30821
- React__default['default'].createElement('span', { className: 'spinner__icon' }),
31043
+ { className: 'loader__container' },
30822
31044
  React__default['default'].createElement(
30823
- 'span',
30824
- { className: 'spinner__label' },
30825
- translations === null || translations === void 0 ? void 0 : translations.SRP.LOADING
30826
- )
31045
+ 'div',
31046
+ { className: 'loader__line' },
31047
+ React__default['default'].createElement('li', { className: 'loader__ball loader__ball--1' }),
31048
+ React__default['default'].createElement('li', { className: 'loader__ball loader__ball--2' }),
31049
+ React__default['default'].createElement('li', { className: 'loader__ball loader__ball--3' })
31050
+ ),
31051
+ React__default['default'].createElement('div', {
31052
+ 'data-text': label !== null && label !== void 0 ? label : translations.SRP.LOADING,
31053
+ className: 'loader__line__text'
31054
+ })
30827
31055
  );
30828
31056
  };
30829
31057
 
@@ -33437,7 +33665,9 @@ var initialState$1 = {
33437
33665
  itinerary: null,
33438
33666
  excursionSearchParams: null,
33439
33667
  selectedExcursionSearchResult: null,
33440
- confirmedExcursionsByDay: {}
33668
+ confirmedExcursionsByDay: {},
33669
+ bookPackagingEntry: false,
33670
+ currentStep: 0
33441
33671
  };
33442
33672
  var searchResultsSlice = toolkit.createSlice({
33443
33673
  name: 'searchResults',
@@ -33618,6 +33848,12 @@ var searchResultsSlice = toolkit.createSlice({
33618
33848
  },
33619
33849
  clearConfirmedExcursionsForDay: function (state, action) {
33620
33850
  delete state.confirmedExcursionsByDay[action.payload.dayKey];
33851
+ },
33852
+ setBookPackagingEntry: function (state, action) {
33853
+ state.bookPackagingEntry = action.payload;
33854
+ },
33855
+ setCurrentStep: function (state, action) {
33856
+ state.currentStep = action.payload;
33621
33857
  }
33622
33858
  }
33623
33859
  });
@@ -33662,6 +33898,8 @@ var setExcursionSearchParams = _a.setExcursionSearchParams,
33662
33898
  confirmExcursionForDay = _a.confirmExcursionForDay,
33663
33899
  removeConfirmedExcursionForDay = _a.removeConfirmedExcursionForDay;
33664
33900
  _a.clearConfirmedExcursionsForDay;
33901
+ var setBookPackagingEntry = _a.setBookPackagingEntry;
33902
+ _a.setCurrentStep;
33665
33903
  var searchResultsReducer = searchResultsSlice.reducer;
33666
33904
 
33667
33905
  var ItemPicker = function (_a) {
@@ -34008,11 +34246,6 @@ var getServiceTypePriority = function (serviceType) {
34008
34246
  var _a;
34009
34247
  return (_a = SERVICE_TYPE_PRIORITY[serviceType !== null && serviceType !== void 0 ? serviceType : -1]) !== null && _a !== void 0 ? _a : 2;
34010
34248
  };
34011
- var getDateOnlyTime = function (date) {
34012
- if (!date) return 0;
34013
- var parsedDate = new Date(date);
34014
- return new Date(parsedDate.getFullYear(), parsedDate.getMonth(), parsedDate.getDate()).getTime();
34015
- };
34016
34249
  var Itinerary = function (_a) {
34017
34250
  var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
34018
34251
  var isOpen = _a.isOpen,
@@ -34026,6 +34259,7 @@ var Itinerary = function (_a) {
34026
34259
  }),
34027
34260
  editablePackagingEntry = _q.editablePackagingEntry,
34028
34261
  priceDetails = _q.priceDetails;
34262
+ var dispatch = reactRedux.useDispatch();
34029
34263
  var packagingEntry =
34030
34264
  editablePackagingEntry !== null && editablePackagingEntry !== void 0
34031
34265
  ? editablePackagingEntry
@@ -34116,6 +34350,9 @@ var Itinerary = function (_a) {
34116
34350
  var numberOfPax = ((_p = packagingEntry.pax) === null || _p === void 0 ? void 0 : _p.length) || 1;
34117
34351
  var totalPrice = (priceDetails === null || priceDetails === void 0 ? void 0 : priceDetails.total) || packagingEntry.price || 0;
34118
34352
  var pricePerPerson = totalPrice / numberOfPax;
34353
+ var handleConfirm = function () {
34354
+ dispatch(setBookPackagingEntry(true));
34355
+ };
34119
34356
  return React__default['default'].createElement(
34120
34357
  'div',
34121
34358
  { className: 'search__filters--modal '.concat(isOpen ? 'is-open' : '') },
@@ -34171,7 +34408,7 @@ var Itinerary = function (_a) {
34171
34408
  'div',
34172
34409
  { className: 'search__filter__prices' },
34173
34410
  isLoading
34174
- ? React__default['default'].createElement(Spinner, null)
34411
+ ? React__default['default'].createElement(Spinner, { label: translations.PRODUCT.LOADING_PRICE })
34175
34412
  : React__default['default'].createElement(
34176
34413
  React__default['default'].Fragment,
34177
34414
  null,
@@ -34186,7 +34423,7 @@ var Itinerary = function (_a) {
34186
34423
  React__default['default'].createElement('strong', null, '(', formatPrice$3(totalPrice, 'EUR'), ' ', translations.SRP.TOTAL, ')')
34187
34424
  )
34188
34425
  ),
34189
- React__default['default'].createElement('button', { className: 'cta' }, translations.QSM.CONFIRM)
34426
+ React__default['default'].createElement('button', { className: 'cta', onClick: handleConfirm }, translations.QSM.CONFIRM)
34190
34427
  )
34191
34428
  ),
34192
34429
  React__default['default'].createElement(
@@ -35511,7 +35748,7 @@ var FlightsFlyIn = function (_a) {
35511
35748
  'div',
35512
35749
  { className: 'flyin__content' },
35513
35750
  flightSearchDetailsLoading || lodash.isEmpty(flights)
35514
- ? React__default['default'].createElement(Spinner, null)
35751
+ ? React__default['default'].createElement(Spinner, { label: translations.SRP.LOADING_FLIGHTS })
35515
35752
  : flight &&
35516
35753
  React__default['default'].createElement(
35517
35754
  'div',
@@ -36138,17 +36375,17 @@ var AccommodationFlyIn = function (_a) {
36138
36375
  handleConfirm = _a.handleConfirm;
36139
36376
  var dispatch = reactRedux.useDispatch();
36140
36377
  var context = React.useContext(SearchResultsConfigurationContext);
36378
+ var language = (_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB';
36379
+ var translations = getTranslations(language);
36141
36380
  if (isLoading) {
36142
36381
  return React__default['default'].createElement(
36143
36382
  React__default['default'].Fragment,
36144
36383
  null,
36145
- (_b = context === null || context === void 0 ? void 0 : context.customSpinner) !== null && _b !== void 0
36146
- ? _b
36147
- : React__default['default'].createElement(Spinner, null)
36384
+ (_c = context === null || context === void 0 ? void 0 : context.customSpinner) !== null && _c !== void 0
36385
+ ? _c
36386
+ : React__default['default'].createElement(Spinner, { label: translations.SRP.LOADING_ACCOMMODATIONS })
36148
36387
  );
36149
36388
  }
36150
- var language = (_c = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _c !== void 0 ? _c : 'en-GB';
36151
- var translations = getTranslations(language);
36152
36389
  var _d = reactRedux.useSelector(function (state) {
36153
36390
  return state.searchResults;
36154
36391
  }),
@@ -36585,17 +36822,17 @@ var GroupTourFlyIn = function (_a) {
36585
36822
  setIsOpen = _a.setIsOpen;
36586
36823
  var dispatch = reactRedux.useDispatch();
36587
36824
  var context = React.useContext(SearchResultsConfigurationContext);
36825
+ var language = (_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB';
36826
+ var translations = getTranslations(language);
36588
36827
  if (isLoading) {
36589
36828
  return React__default['default'].createElement(
36590
36829
  React__default['default'].Fragment,
36591
36830
  null,
36592
- (_b = context === null || context === void 0 ? void 0 : context.customSpinner) !== null && _b !== void 0
36593
- ? _b
36594
- : React__default['default'].createElement(Spinner, null)
36831
+ (_c = context === null || context === void 0 ? void 0 : context.customSpinner) !== null && _c !== void 0
36832
+ ? _c
36833
+ : React__default['default'].createElement(Spinner, { label: translations.SRP.LOADING_OPTIONS })
36595
36834
  );
36596
36835
  }
36597
- var language = (_c = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _c !== void 0 ? _c : 'en-GB';
36598
- var translations = getTranslations(language);
36599
36836
  var bookingPackageDetails = reactRedux.useSelector(function (state) {
36600
36837
  return state.searchResults;
36601
36838
  }).bookingPackageDetails;
@@ -41392,18 +41629,13 @@ var HotelAccommodationResults = function (_a) {
41392
41629
  React__default['default'].createElement(
41393
41630
  'div',
41394
41631
  { className: 'search__results__label__date' },
41395
- firstResultDay && firstResultMonth
41396
- ? React__default['default'].createElement(
41397
- React__default['default'].Fragment,
41398
- null,
41399
- React__default['default'].createElement('p', { className: 'search__results__label__date-date' }, firstResultDay),
41400
- React__default['default'].createElement('p', null, firstResultMonth)
41401
- )
41402
- : React__default['default'].createElement(Icon, { name: 'ui-bed', height: 16, fill: 'white' })
41632
+ React__default['default'].createElement('p', { className: 'search__results__label__date-date' }, firstResultDay),
41633
+ React__default['default'].createElement('p', null, firstResultMonth)
41403
41634
  ),
41404
41635
  React__default['default'].createElement(
41405
41636
  'div',
41406
41637
  { className: 'search__results__label__text' },
41638
+ React__default['default'].createElement(Icon, { name: 'ui-bed', height: 16 }),
41407
41639
  React__default['default'].createElement(
41408
41640
  'h3',
41409
41641
  null,
@@ -41417,7 +41649,9 @@ var HotelAccommodationResults = function (_a) {
41417
41649
  ? React__default['default'].createElement(
41418
41650
  React__default['default'].Fragment,
41419
41651
  null,
41420
- (_c = context.customSpinner) !== null && _c !== void 0 ? _c : React__default['default'].createElement(Spinner, null)
41652
+ (_c = context.customSpinner) !== null && _c !== void 0
41653
+ ? _c
41654
+ : React__default['default'].createElement(Spinner, { label: translations.SRP.LOADING_ACCOMMODATIONS })
41421
41655
  )
41422
41656
  : renderHotelResults(visibleResults, context, activeTab, translations, selectedPackagingAccoResult, isFlyIn),
41423
41657
  packagingAccoResults.length > 3 &&
@@ -42138,6 +42372,8 @@ var PackageingFlightsFlyIn = function (_a) {
42138
42372
  var _b;
42139
42373
  _a.isOpen;
42140
42374
  _a.setIsOpen;
42375
+ var toggleFilters = _a.toggleFilters,
42376
+ filtersOpen = _a.filtersOpen;
42141
42377
  var context = React.useContext(SearchResultsConfigurationContext);
42142
42378
  var language = (_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB';
42143
42379
  var translations = getTranslations(language);
@@ -42191,15 +42427,17 @@ var PackageingFlightsFlyIn = function (_a) {
42191
42427
  'div',
42192
42428
  { className: 'flyin__content flyin__content--columns' },
42193
42429
  flightsLoading
42194
- ? React__default['default'].createElement(Spinner, null)
42430
+ ? React__default['default'].createElement(Spinner, { label: translations.SRP.LOADING_FLIGHTS })
42195
42431
  : React__default['default'].createElement(
42196
42432
  React__default['default'].Fragment,
42197
42433
  null,
42198
42434
  React__default['default'].createElement(Filters, {
42199
42435
  initialFilters: initialFlightFilters,
42200
42436
  filters: flightFilters,
42201
- isOpen: false,
42202
- handleSetIsOpen: function () {},
42437
+ isOpen: filtersOpen,
42438
+ handleSetIsOpen: function () {
42439
+ return toggleFilters && toggleFilters();
42440
+ },
42203
42441
  // handleApplyFilters={() => setSearchTrigger((prev) => prev + 1)}
42204
42442
  isLoading: flightsLoading,
42205
42443
  setFilters: function (filters) {
@@ -42224,6 +42462,17 @@ var PackageingFlightsFlyIn = function (_a) {
42224
42462
  '\u00A0',
42225
42463
  translations.FLIGHTS_FORM.FLIGHTS_FOUND_3
42226
42464
  ),
42465
+ React__default['default'].createElement(
42466
+ 'div',
42467
+ {
42468
+ className: 'cta cta--filter',
42469
+ onClick: function () {
42470
+ return toggleFilters && toggleFilters();
42471
+ }
42472
+ },
42473
+ React__default['default'].createElement(Icon, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
42474
+ translations.SRP.FILTERS
42475
+ ),
42227
42476
  sortByTypes &&
42228
42477
  sortByTypes.length > 0 &&
42229
42478
  React__default['default'].createElement(
@@ -42431,7 +42680,7 @@ var ExcursionResults = function (_a) {
42431
42680
  dispatch(setSelectedExcursionSearchResult(excursion));
42432
42681
  };
42433
42682
  return isLoading
42434
- ? React__default['default'].createElement(Spinner, null)
42683
+ ? React__default['default'].createElement(Spinner, { label: translations.SRP.LOADING_EXCURSIONS })
42435
42684
  : React__default['default'].createElement(
42436
42685
  'div',
42437
42686
  { className: 'flyin__content flyin__content--columns' },
@@ -42881,7 +43130,9 @@ var FlyIn = function (_a) {
42881
43130
  isPackageEditFlow = _a.isPackageEditFlow,
42882
43131
  handleConfirm = _a.handleConfirm,
42883
43132
  sortByTypes = _a.sortByTypes,
42884
- activeSearchSeed = _a.activeSearchSeed;
43133
+ activeSearchSeed = _a.activeSearchSeed,
43134
+ toggleFilters = _a.toggleFilters,
43135
+ filtersOpen = _a.filtersOpen;
42885
43136
  var dispatch = reactRedux.useDispatch();
42886
43137
  var context = React.useContext(SearchResultsConfigurationContext);
42887
43138
  var language = (_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB';
@@ -43030,8 +43281,10 @@ var FlyIn = function (_a) {
43030
43281
  React__default['default'].createElement(Filters, {
43031
43282
  initialFilters: initialFilters,
43032
43283
  filters: filters,
43033
- isOpen: false,
43034
- handleSetIsOpen: function () {},
43284
+ isOpen: filtersOpen,
43285
+ handleSetIsOpen: function () {
43286
+ return toggleFilters && toggleFilters();
43287
+ },
43035
43288
  // handleApplyFilters={() => setSearchTrigger((prev) => prev + 1)}
43036
43289
  isLoading: isLoading,
43037
43290
  setFilters: function (filters) {
@@ -43060,6 +43313,17 @@ var FlyIn = function (_a) {
43060
43313
  translations.SRP.TOTAL_RESULTS_LABEL
43061
43314
  )
43062
43315
  ),
43316
+ React__default['default'].createElement(
43317
+ 'div',
43318
+ {
43319
+ className: 'cta cta--filter',
43320
+ onClick: function () {
43321
+ return toggleFilters && toggleFilters();
43322
+ }
43323
+ },
43324
+ React__default['default'].createElement(Icon, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
43325
+ translations.SRP.FILTERS
43326
+ ),
43063
43327
  sortByTypes &&
43064
43328
  sortByTypes.length > 0 &&
43065
43329
  React__default['default'].createElement(
@@ -43089,7 +43353,12 @@ var FlyIn = function (_a) {
43089
43353
  React__default['default'].createElement(AccommodationFlyIn, { isLoading: detailsLoading, handleConfirm: handleConfirm }),
43090
43354
  srpType === build.PortalQsmType.AccommodationAndFlight &&
43091
43355
  (flyInType === 'flight-outward-results' || flyInType === 'flight-return-results') &&
43092
- React__default['default'].createElement(PackageingFlightsFlyIn, { isOpen: isOpen, setIsOpen: setIsOpen }),
43356
+ React__default['default'].createElement(PackageingFlightsFlyIn, {
43357
+ isOpen: isOpen,
43358
+ setIsOpen: setIsOpen,
43359
+ toggleFilters: toggleFilters,
43360
+ filtersOpen: filtersOpen
43361
+ }),
43093
43362
  srpType === build.PortalQsmType.AccommodationAndFlight &&
43094
43363
  flyInType === 'excursion-results' &&
43095
43364
  React__default['default'].createElement(ExcursionResults, { isFlyIn: true, activeSearchSeed: activeSearchSeed }),
@@ -43959,6 +44228,9 @@ var IndependentFlightSelection = function (_a) {
43959
44228
  },
43960
44229
  [searchResults, selectedReturnKey]
43961
44230
  );
44231
+ var firstResultDate = uniqueOutwardFlights.length > 0 ? uniqueOutwardFlights[0].outward.segments[0].departureDateTime : null;
44232
+ var firstResultDay = firstResultDate ? dateFns.format(firstResultDate, 'd') : null;
44233
+ var firstResultMonth = firstResultDate ? dateFns.format(firstResultDate, 'MMM') : null;
43962
44234
  return React__default['default'].createElement(
43963
44235
  React__default['default'].Fragment,
43964
44236
  null,
@@ -43968,11 +44240,13 @@ var IndependentFlightSelection = function (_a) {
43968
44240
  React__default['default'].createElement(
43969
44241
  'div',
43970
44242
  { className: 'search__results__label__date' },
43971
- React__default['default'].createElement(Icon, { name: 'ui-flight', height: 16, fill: 'white' })
44243
+ React__default['default'].createElement('p', { className: 'search__results__label__date-date' }, firstResultDay),
44244
+ React__default['default'].createElement('p', null, firstResultMonth)
43972
44245
  ),
43973
44246
  React__default['default'].createElement(
43974
44247
  'div',
43975
44248
  { className: 'search__results__label__text' },
44249
+ React__default['default'].createElement(Icon, { name: 'ui-flight', height: 16, fill: 'white' }),
43976
44250
  React__default['default'].createElement(
43977
44251
  'h3',
43978
44252
  null,
@@ -44011,14 +44285,11 @@ var IndependentFlightSelection = function (_a) {
44011
44285
  React__default['default'].createElement(
44012
44286
  'div',
44013
44287
  { className: 'search__results__label search__results__label--secondary' },
44014
- React__default['default'].createElement(
44015
- 'div',
44016
- { className: 'search__results__label__date' },
44017
- React__default['default'].createElement(Icon, { name: 'ui-flight', height: 16, fill: 'white' })
44018
- ),
44288
+ React__default['default'].createElement('div', { className: 'search__results__label__date' }),
44019
44289
  React__default['default'].createElement(
44020
44290
  'div',
44021
44291
  { className: 'search__results__label__text' },
44292
+ React__default['default'].createElement(Icon, { name: 'ui-flight', height: 16, fill: 'white' }),
44022
44293
  React__default['default'].createElement(
44023
44294
  'h3',
44024
44295
  null,
@@ -45138,7 +45409,7 @@ var FlightResultsContainer = function (_a) {
45138
45409
  React__default['default'].createElement(
45139
45410
  'div',
45140
45411
  { className: 'search__results__wrapper' },
45141
- flightsLoading && React__default['default'].createElement(Spinner, null),
45412
+ flightsLoading && React__default['default'].createElement(Spinner, { label: translations.SRP.LOADING_FLIGHTS }),
45142
45413
  (context === null || context === void 0 ? void 0 : context.searchConfiguration.qsmType) == build.PortalQsmType.Flight &&
45143
45414
  (context === null || context === void 0 ? void 0 : context.showFlightAccommodationResults) &&
45144
45415
  results &&
@@ -46245,7 +46516,7 @@ var FullItinerary = function (_a) {
46245
46516
  return React__default['default'].createElement(
46246
46517
  React__default['default'].Fragment,
46247
46518
  null,
46248
- isLoading && React__default['default'].createElement(Spinner, null),
46519
+ isLoading && React__default['default'].createElement(Spinner, { label: translations.SRP.LOADING_ITINERARY }),
46249
46520
  React__default['default'].createElement('div', { ref: hostRef, style: { display: isLoading ? 'none' : 'block' } })
46250
46521
  );
46251
46522
  };
@@ -46358,7 +46629,7 @@ var DayByDayExcursions = function () {
46358
46629
  React__default['default'].Fragment,
46359
46630
  null,
46360
46631
  stayDates.map(function (day) {
46361
- var _a, _b;
46632
+ var _a, _b, _c;
46362
46633
  var dayKey = dateFns.format(day, 'yyyy-MM-dd');
46363
46634
  var confirmedExcursions = (_a = confirmedExcursionsByDay[dayKey]) !== null && _a !== void 0 ? _a : [];
46364
46635
  return React__default['default'].createElement(
@@ -46370,17 +46641,31 @@ var DayByDayExcursions = function () {
46370
46641
  React__default['default'].createElement(
46371
46642
  'div',
46372
46643
  { className: 'search__results__label__date' },
46373
- React__default['default'].createElement(Icon, { name: 'ui-excursion', height: 16, fill: 'white' })
46644
+ React__default['default'].createElement(
46645
+ 'p',
46646
+ { className: 'search__results__label__date-date' },
46647
+ dateFns.format(day, 'd', {
46648
+ locale: getLocale((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB')
46649
+ })
46650
+ ),
46651
+ React__default['default'].createElement(
46652
+ 'p',
46653
+ null,
46654
+ dateFns.format(day, 'MMM', {
46655
+ locale: getLocale((_c = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _c !== void 0 ? _c : 'en-GB')
46656
+ })
46657
+ )
46374
46658
  ),
46375
46659
  React__default['default'].createElement(
46376
46660
  'div',
46377
46661
  { className: 'search__results__label__text' },
46662
+ React__default['default'].createElement(Icon, { name: 'ui-excursion', height: 16 }),
46378
46663
  React__default['default'].createElement(
46379
46664
  'h3',
46380
46665
  null,
46381
- dateFns.format(day, 'EEEE d MMMM', {
46382
- locale: getLocale((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB')
46383
- })
46666
+ translations.SRP.SELECT,
46667
+ ' ',
46668
+ React__default['default'].createElement('strong', null, translations.SRP.EXCURSION)
46384
46669
  )
46385
46670
  )
46386
46671
  ),
@@ -46468,6 +46753,264 @@ var DayByDayExcursions = function () {
46468
46753
  );
46469
46754
  };
46470
46755
 
46756
+ var mapToSidebarFlightMetaData = function (entryLine) {
46757
+ var _a, _b;
46758
+ return {
46759
+ flightLines:
46760
+ (_a = entryLine.flightInformation) === null || _a === void 0
46761
+ ? void 0
46762
+ : _a.flightLines.map(function (f) {
46763
+ return {
46764
+ number: f.flightNumber,
46765
+ departureDate: f.departureDate,
46766
+ departureAirport: f.departureAirportCode,
46767
+ departureAirportDescription: f.departureAirportDescription,
46768
+ departureTime: f.departureTime,
46769
+ arrivalDate: f.arrivalDate,
46770
+ arrivalAirport: f.arrivalAirportCode,
46771
+ arrivalAirportDescription: f.arrivalAirportDescription,
46772
+ arrivalTime: f.arrivalTime,
46773
+ flightClass: '',
46774
+ travelClass: '',
46775
+ airline: f.airlineDescription,
46776
+ airlineCode: f.airlineCode,
46777
+ operatingAirlineCode: f.operatingAirlineCode,
46778
+ operatingAirlineDescription: f.operatingAirlineDescription,
46779
+ durationInTicks: f.durationInTicks
46780
+ };
46781
+ }),
46782
+ luggageIncluded: false, // Not present in editablePackagingEntry, set default
46783
+ bagageAllowed: false, // Not present in editablePackagingEntry, set default
46784
+ bagage: '', // Not present in editablePackagingEntry, set default
46785
+ mealIncluded: false, // Not present in editablePackagingEntry, set default
46786
+ meal: '', // Not present in editablePackagingEntry, set default
46787
+ durationInTicks:
46788
+ (_b = entryLine.flightInformation) === null || _b === void 0
46789
+ ? void 0
46790
+ : _b.flightLines.reduce(function (s, _a) {
46791
+ var durationInTicks = _a.durationInTicks;
46792
+ return s + (durationInTicks !== null && durationInTicks !== void 0 ? durationInTicks : 0);
46793
+ }, 0)
46794
+ };
46795
+ };
46796
+ var selectSeparatePackagePriceDetails = function (priceDetails) {
46797
+ var result = [];
46798
+ var filteredPriceDetails = priceDetails.filter(function (priceDetail) {
46799
+ return priceDetail.isSeparate;
46800
+ });
46801
+ filteredPriceDetails.forEach(function (priceDetail) {
46802
+ var priceDetailToMerge = result.find(function (x) {
46803
+ return x.productCode === priceDetail.productCode && x.accommodationCode === priceDetail.accommodationCode && x.productType === priceDetail.productType;
46804
+ });
46805
+ if (priceDetailToMerge) {
46806
+ priceDetailToMerge.total += priceDetail.total;
46807
+ priceDetailToMerge.price += priceDetail.price;
46808
+ } else {
46809
+ result.push(Object.assign({}, priceDetail));
46810
+ }
46811
+ });
46812
+ return result;
46813
+ };
46814
+ var WLSidebar = function (_a) {
46815
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
46816
+ var activeSearchSeed = _a.activeSearchSeed;
46817
+ var context = React.useContext(SearchResultsConfigurationContext);
46818
+ if (!context) {
46819
+ return null;
46820
+ }
46821
+ var translations = getTranslations((_b = context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
46822
+ var _u = reactRedux.useSelector(function (state) {
46823
+ return state.searchResults;
46824
+ }),
46825
+ editablePackagingEntry = _u.editablePackagingEntry,
46826
+ priceDetails = _u.priceDetails;
46827
+ // Map editablePackagingEntry to sidebar props (example, adjust as needed)
46828
+ if (!editablePackagingEntry) {
46829
+ return null;
46830
+ }
46831
+ console.log('editablePackagingEntry in WLSidebar:', editablePackagingEntry);
46832
+ console.log('priceDetails in WLSidebar:', priceDetails);
46833
+ var sortedLines = React.useMemo(
46834
+ function () {
46835
+ var _a;
46836
+ return __spreadArray(
46837
+ [],
46838
+ (_a = editablePackagingEntry === null || editablePackagingEntry === void 0 ? void 0 : editablePackagingEntry.lines) !== null && _a !== void 0 ? _a : [],
46839
+ true
46840
+ ).sort(function (a, b) {
46841
+ var _a, _b;
46842
+ var dateA = getDateOnlyTime(a.from);
46843
+ var dateB = getDateOnlyTime(b.from);
46844
+ if (dateA !== dateB) {
46845
+ return dateA - dateB;
46846
+ }
46847
+ return ((_a = a.order) !== null && _a !== void 0 ? _a : Infinity) - ((_b = b.order) !== null && _b !== void 0 ? _b : Infinity);
46848
+ });
46849
+ },
46850
+ [editablePackagingEntry]
46851
+ );
46852
+ var firstEntryLine = lodash.first(sortedLines);
46853
+ var accommodationLines = editablePackagingEntry.lines.filter(function (line) {
46854
+ return line.serviceType === ACCOMMODATION_SERVICE_TYPE;
46855
+ });
46856
+ var accommodationLine = (_c = lodash.first(accommodationLines)) !== null && _c !== void 0 ? _c : firstEntryLine;
46857
+ var location =
46858
+ (_l =
46859
+ (_j =
46860
+ (_g =
46861
+ (_e =
46862
+ (_d = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.location) === null || _d === void 0
46863
+ ? void 0
46864
+ : _d.name) !== null && _e !== void 0
46865
+ ? _e
46866
+ : (_f = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.oord) === null || _f === void 0
46867
+ ? void 0
46868
+ : _f.name) !== null && _g !== void 0
46869
+ ? _g
46870
+ : (_h = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.region) === null || _h === void 0
46871
+ ? void 0
46872
+ : _h.name) !== null && _j !== void 0
46873
+ ? _j
46874
+ : (_k = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.country) === null || _k === void 0
46875
+ ? void 0
46876
+ : _k.name) !== null && _l !== void 0
46877
+ ? _l
46878
+ : (_m = firstEntryLine === null || firstEntryLine === void 0 ? void 0 : firstEntryLine.location) === null || _m === void 0
46879
+ ? void 0
46880
+ : _m.name;
46881
+ var rooms =
46882
+ (activeSearchSeed === null || activeSearchSeed === void 0
46883
+ ? void 0
46884
+ : activeSearchSeed.rooms.map(function (room) {
46885
+ var adults = room.pax
46886
+ .filter(function (p) {
46887
+ return p.age && p.age >= 18;
46888
+ })
46889
+ .map(function (p) {
46890
+ return { id: p.id, age: p.age };
46891
+ });
46892
+ var children = room.pax
46893
+ .filter(function (p) {
46894
+ return p.age && p.age < 18;
46895
+ })
46896
+ .map(function (p) {
46897
+ return { id: p.id, age: p.age };
46898
+ });
46899
+ return { adults: adults, children: children };
46900
+ })) || [];
46901
+ var travelerRooms = getTravelersText(rooms, translations);
46902
+ var flightSegments = sortedLines.filter(function (line) {
46903
+ return line.serviceType === FLIGHT_SERVICE_TYPE && line.flightInformation && Array.isArray(line.flightInformation.flightLines);
46904
+ });
46905
+ var outboundFlight = lodash.first(flightSegments);
46906
+ var returnFlight = flightSegments.length > 1 ? lodash.last(flightSegments) : undefined;
46907
+ var outboundFlightMetaData = outboundFlight ? mapToSidebarFlightMetaData(outboundFlight) : undefined;
46908
+ var returnFlightMetaData = returnFlight ? mapToSidebarFlightMetaData(returnFlight) : undefined;
46909
+ var basePrice = lodash.sum(
46910
+ (_o =
46911
+ priceDetails === null || priceDetails === void 0
46912
+ ? void 0
46913
+ : priceDetails.details
46914
+ .filter(function (pd) {
46915
+ return pd.isInPackage;
46916
+ })
46917
+ .map(function (pd) {
46918
+ return pd.price * pd.amount;
46919
+ })) !== null && _o !== void 0
46920
+ ? _o
46921
+ : []
46922
+ );
46923
+ var separateExtraPriceDetails =
46924
+ (_p =
46925
+ priceDetails === null || priceDetails === void 0
46926
+ ? void 0
46927
+ : priceDetails.details.filter(function (pd) {
46928
+ return !pd.isInPackage && pd.isSeparate;
46929
+ })) !== null && _p !== void 0
46930
+ ? _p
46931
+ : [];
46932
+ var totalPrice = lodash.sum(
46933
+ __spreadArray(
46934
+ [basePrice],
46935
+ separateExtraPriceDetails.map(function (priceDetail) {
46936
+ return priceDetail.price * priceDetail.amount;
46937
+ }),
46938
+ true
46939
+ )
46940
+ );
46941
+ var includedCosts = selectSeparatePackagePriceDetails(
46942
+ (_q =
46943
+ priceDetails === null || priceDetails === void 0
46944
+ ? void 0
46945
+ : priceDetails.details.filter(function (pd) {
46946
+ return pd.isInPackage;
46947
+ })) !== null && _q !== void 0
46948
+ ? _q
46949
+ : []
46950
+ );
46951
+ return React__default['default'].createElement(SharedSidebar, {
46952
+ productName: location !== null && location !== void 0 ? location : '',
46953
+ thumbnailUrl: (_r = context.destinationImage) === null || _r === void 0 ? void 0 : _r.url,
46954
+ translations: translations,
46955
+ travelerRooms: travelerRooms,
46956
+ startDateText: ((_s = lodash.first(sortedLines)) === null || _s === void 0 ? void 0 : _s.from) && formatDate(new Date(lodash.first(sortedLines).from)),
46957
+ endDateText: ((_t = lodash.last(sortedLines)) === null || _t === void 0 ? void 0 : _t.to) && formatDate(new Date(lodash.last(sortedLines).to)),
46958
+ isLoading: !editablePackagingEntry || !priceDetails,
46959
+ loaderComponent: React__default['default'].createElement(Spinner, null),
46960
+ departureFlightMetaData: outboundFlightMetaData,
46961
+ returnFlightMetaData: returnFlightMetaData,
46962
+ includedServiceTypes: editablePackagingEntry.lines.map(function (line) {
46963
+ return line.serviceType;
46964
+ }),
46965
+ packagingAccommodations: accommodationLines,
46966
+ basePrice: basePrice,
46967
+ commission: priceDetails === null || priceDetails === void 0 ? void 0 : priceDetails.commission,
46968
+ totalPrice: totalPrice,
46969
+ includedCosts: includedCosts,
46970
+ extraCosts: separateExtraPriceDetails,
46971
+ deposit: priceDetails === null || priceDetails === void 0 ? void 0 : priceDetails.deposit,
46972
+ isUnavailable: false,
46973
+ agent: context.agentId
46974
+ });
46975
+ };
46976
+
46977
+ var BookPackagingEntry = function (_a) {
46978
+ var _b;
46979
+ var activeSearchSeed = _a.activeSearchSeed;
46980
+ var context = React.useContext(SearchResultsConfigurationContext);
46981
+ if (!context) {
46982
+ return null;
46983
+ }
46984
+ var translations = getTranslations((_b = context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
46985
+ var currentStep = reactRedux.useSelector(function (state) {
46986
+ return state.searchResults;
46987
+ }).currentStep;
46988
+ reactRedux.useDispatch();
46989
+ var stepLabels = [translations.STEPS.PERSONAL_DETAILS, translations.STEPS.SUMMARY, translations.STEPS.CONFIRMATION];
46990
+ return React__default['default'].createElement(
46991
+ 'div',
46992
+ { className: 'booking' },
46993
+ React__default['default'].createElement(
46994
+ 'div',
46995
+ { className: 'booking__content' },
46996
+ React__default['default'].createElement(
46997
+ BookingPanel,
46998
+ {
46999
+ currentStep: currentStep,
47000
+ stepLabels: stepLabels,
47001
+ StepIndicatorsComponent: StepIndicators$1,
47002
+ renderTitle: function (step) {
47003
+ return React__default['default'].createElement(React__default['default'].Fragment, null, step + 1, '.\u00A0', stepLabels[step]);
47004
+ }
47005
+ },
47006
+ React__default['default'].createElement('div', null)
47007
+ ),
47008
+ React__default['default'].createElement('div', { className: 'backdrop', id: 'backdrop' }),
47009
+ React__default['default'].createElement(WLSidebar, { activeSearchSeed: activeSearchSeed })
47010
+ )
47011
+ );
47012
+ };
47013
+
46471
47014
  var SearchResultsContainer = function () {
46472
47015
  var _a, _b;
46473
47016
  var currentSearch = typeof window !== 'undefined' ? window.location.search : '';
@@ -46494,10 +47037,10 @@ var SearchResultsContainer = function () {
46494
47037
  packagingAccoSearchDetails = _c.packagingAccoSearchDetails,
46495
47038
  editablePackagingEntry = _c.editablePackagingEntry,
46496
47039
  transactionId = _c.transactionId,
46497
- flyInType = _c.flyInType;
46498
- _c.itinerary;
46499
- var packagingFlightResults = _c.packagingFlightResults,
46500
- confirmedExcursionsByDay = _c.confirmedExcursionsByDay;
47040
+ flyInType = _c.flyInType,
47041
+ packagingFlightResults = _c.packagingFlightResults,
47042
+ confirmedExcursionsByDay = _c.confirmedExcursionsByDay,
47043
+ bookPackagingEntry = _c.bookPackagingEntry;
46501
47044
  var isMobile = useMediaQuery('(max-width: 1200px)');
46502
47045
  var _d = React.useState(false),
46503
47046
  initialFiltersSet = _d[0],
@@ -47551,7 +48094,7 @@ var SearchResultsContainer = function () {
47551
48094
  };
47552
48095
  var fetchItinerary = function () {
47553
48096
  return __awaiter(void 0, void 0, void 0, function () {
47554
- var config, request, itinerary_1, err_8;
48097
+ var config, request, itinerary, err_8;
47555
48098
  var _a, _b;
47556
48099
  return __generator(this, function (_c) {
47557
48100
  switch (_c.label) {
@@ -47574,8 +48117,8 @@ var SearchResultsContainer = function () {
47574
48117
  };
47575
48118
  return [4 /*yield*/, build.getItinerary(config, request)];
47576
48119
  case 2:
47577
- itinerary_1 = _c.sent();
47578
- dispatch(setItinerary(itinerary_1));
48120
+ itinerary = _c.sent();
48121
+ dispatch(setItinerary(itinerary));
47579
48122
  setItineraryIsLoading(false);
47580
48123
  return [3 /*break*/, 4];
47581
48124
  case 3:
@@ -48016,335 +48559,368 @@ var SearchResultsContainer = function () {
48016
48559
  React__default['default'].createElement(
48017
48560
  'div',
48018
48561
  { className: 'search' },
48019
- React__default['default'].createElement(
48020
- 'div',
48021
- { className: 'search__container' },
48022
- context.searchConfiguration.qsmType === build.PortalQsmType.Flight &&
48023
- React__default['default'].createElement(
48024
- FlightSearchProvider,
48025
- { tideConnection: context.tideConnection },
48026
- React__default['default'].createElement(FlightResultsContainer, { isMobile: isMobile }),
48027
- React__default['default'].createElement(FlyIn, {
48028
- srpType: context.searchConfiguration.qsmType,
48029
- isOpen: flyInIsOpen,
48030
- setIsOpen: handleFlyInToggle,
48031
- onPanelRef: function (el) {
48032
- return (panelRef.current = el);
48033
- },
48034
- detailsLoading: detailsIsLoading
48035
- })
48036
- ),
48037
- (context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight ||
48038
- context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation ||
48039
- context.searchConfiguration.qsmType === build.PortalQsmType.GroupTour ||
48040
- context.searchConfiguration.qsmType === build.PortalQsmType.RoundTrip) &&
48041
- React__default['default'].createElement(
48042
- React__default['default'].Fragment,
48043
- null,
48044
- context.searchConfiguration.qsmType != build.PortalQsmType.AccommodationAndFlight &&
48045
- context.showFilters &&
48046
- React__default['default'].createElement(Filters, {
48047
- initialFilters: initialFilters,
48048
- filters: filters,
48049
- isOpen: filtersOpen,
48050
- handleSetIsOpen: function () {
48051
- return setFiltersOpen(!filtersOpen);
48052
- },
48053
- // handleApplyFilters={() => setSearchTrigger((prev) => prev + 1)}
48054
- isLoading: isLoading,
48055
- setFilters: function (filters) {
48056
- return dispatch(setFilters(filters));
48057
- },
48058
- resetFilters: function (filters) {
48059
- return dispatch(resetFilters(filters));
48060
- }
48061
- }),
48062
- context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48063
- React__default['default'].createElement(Itinerary, {
48064
- isOpen: itineraryOpen,
48065
- handleSetIsOpen: function () {
48066
- return setItineraryOpen(!itineraryOpen);
48067
- },
48068
- isLoading: pricesAreLoading,
48069
- onEditAccommodation: handleEditAccommodation
48070
- }),
48071
- React__default['default'].createElement(
48072
- 'div',
48073
- { className: 'search__results' },
48074
- isMobile &&
48562
+ bookPackagingEntry
48563
+ ? React__default['default'].createElement(BookPackagingEntry, { activeSearchSeed: activeSearchSeed })
48564
+ : React__default['default'].createElement(
48565
+ 'div',
48566
+ { className: 'search__container' },
48567
+ context.searchConfiguration.qsmType === build.PortalQsmType.Flight &&
48568
+ React__default['default'].createElement(
48569
+ FlightSearchProvider,
48570
+ { tideConnection: context.tideConnection },
48571
+ React__default['default'].createElement(FlightResultsContainer, { isMobile: isMobile }),
48572
+ React__default['default'].createElement(FlyIn, {
48573
+ srpType: context.searchConfiguration.qsmType,
48574
+ isOpen: flyInIsOpen,
48575
+ setIsOpen: handleFlyInToggle,
48576
+ onPanelRef: function (el) {
48577
+ return (panelRef.current = el);
48578
+ },
48579
+ detailsLoading: detailsIsLoading,
48580
+ filtersOpen: filtersOpen
48581
+ })
48582
+ ),
48583
+ (context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight ||
48584
+ context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation ||
48585
+ context.searchConfiguration.qsmType === build.PortalQsmType.GroupTour ||
48586
+ context.searchConfiguration.qsmType === build.PortalQsmType.RoundTrip) &&
48587
+ React__default['default'].createElement(
48588
+ React__default['default'].Fragment,
48589
+ null,
48590
+ context.searchConfiguration.qsmType != build.PortalQsmType.AccommodationAndFlight &&
48591
+ context.showFilters &&
48592
+ React__default['default'].createElement(Filters, {
48593
+ initialFilters: initialFilters,
48594
+ filters: filters,
48595
+ isOpen: filtersOpen,
48596
+ handleSetIsOpen: function () {
48597
+ return setFiltersOpen(!filtersOpen);
48598
+ },
48599
+ // handleApplyFilters={() => setSearchTrigger((prev) => prev + 1)}
48600
+ isLoading: isLoading,
48601
+ setFilters: function (filters) {
48602
+ return dispatch(setFilters(filters));
48603
+ },
48604
+ resetFilters: function (filters) {
48605
+ return dispatch(resetFilters(filters));
48606
+ }
48607
+ }),
48608
+ context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48609
+ React__default['default'].createElement(Itinerary, {
48610
+ isOpen: itineraryOpen,
48611
+ handleSetIsOpen: function () {
48612
+ return setItineraryOpen(!itineraryOpen);
48613
+ },
48614
+ isLoading: isLoading || pricesAreLoading || flightsLoading || itineraryIsLoading,
48615
+ onEditAccommodation: handleEditAccommodation
48616
+ }),
48075
48617
  React__default['default'].createElement(
48076
48618
  'div',
48077
- { className: 'search__result-row' },
48078
- React__default['default'].createElement(
48079
- 'div',
48080
- { className: 'search__results__actions' },
48081
- context.searchConfiguration.qsmType != build.PortalQsmType.AccommodationAndFlight &&
48082
- context.showFilters &&
48619
+ { className: 'search__results' },
48620
+ isMobile &&
48621
+ React__default['default'].createElement(
48622
+ 'div',
48623
+ { className: 'search__result-row' },
48083
48624
  React__default['default'].createElement(
48084
48625
  'div',
48085
- {
48086
- className: 'cta cta--filter',
48087
- onClick: function () {
48088
- return setFiltersOpen(true);
48089
- }
48090
- },
48091
- React__default['default'].createElement(Icon, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
48092
- translations.SRP.FILTERS
48626
+ { className: 'search__results__actions' },
48627
+ context.searchConfiguration.qsmType != build.PortalQsmType.AccommodationAndFlight &&
48628
+ context.showFilters &&
48629
+ React__default['default'].createElement(
48630
+ 'div',
48631
+ {
48632
+ className: 'cta cta--filter',
48633
+ onClick: function () {
48634
+ return setFiltersOpen(true);
48635
+ }
48636
+ },
48637
+ React__default['default'].createElement(Icon, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
48638
+ translations.SRP.FILTERS
48639
+ ),
48640
+ context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48641
+ React__default['default'].createElement(
48642
+ 'div',
48643
+ {
48644
+ className: 'cta cta--filter',
48645
+ onClick: function () {
48646
+ return setItineraryOpen(true);
48647
+ }
48648
+ },
48649
+ React__default['default'].createElement(Icon, { name: 'ui-shopping-cart', className: 'mobile-filters-button__icon', height: 16 }),
48650
+ translations.SRP.VIEW_BOOKING
48651
+ )
48093
48652
  ),
48094
- context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48095
- React__default['default'].createElement(
48096
- 'div',
48097
- {
48098
- className: 'cta cta--filter',
48099
- onClick: function () {
48100
- return setItineraryOpen(true);
48653
+ sortByTypes &&
48654
+ sortByTypes.length > 0 &&
48655
+ React__default['default'].createElement(ItemPicker, {
48656
+ items: sortByTypes,
48657
+ selection: (selectedSortType === null || selectedSortType === void 0 ? void 0 : selectedSortType.label) || undefined,
48658
+ selectedSortByType: selectedSortType,
48659
+ label: translations.SRP.SORTBY,
48660
+ placeholder: translations.SRP.SORTBY,
48661
+ classModifier: 'travel-class-picker__items',
48662
+ valueFormatter: function (value, direction) {
48663
+ return getSortingName(
48664
+ translations,
48665
+ findSortByType(sortByTypes, value, direction !== null && direction !== void 0 ? direction : 'asc')
48666
+ );
48667
+ },
48668
+ onPick: function (newSortKey, direction) {
48669
+ return handleSortChange(newSortKey, direction);
48101
48670
  }
48102
- },
48103
- React__default['default'].createElement(Icon, { name: 'ui-calendar', className: 'mobile-filters-button__icon', height: 16 }),
48104
- translations.SRP.SHOW_ITINERARY
48105
- )
48106
- ),
48107
- sortByTypes &&
48108
- sortByTypes.length > 0 &&
48109
- React__default['default'].createElement(ItemPicker, {
48110
- items: sortByTypes,
48111
- selection: (selectedSortType === null || selectedSortType === void 0 ? void 0 : selectedSortType.label) || undefined,
48112
- selectedSortByType: selectedSortType,
48113
- label: translations.SRP.SORTBY,
48114
- placeholder: translations.SRP.SORTBY,
48115
- classModifier: 'travel-class-picker__items',
48116
- valueFormatter: function (value, direction) {
48117
- return getSortingName(
48118
- translations,
48119
- findSortByType(sortByTypes, value, direction !== null && direction !== void 0 ? direction : 'asc')
48120
- );
48121
- },
48122
- onPick: function (newSortKey, direction) {
48123
- return handleSortChange(newSortKey, direction);
48124
- }
48125
- })
48126
- ),
48127
- context.searchConfiguration.qsmType !== build.PortalQsmType.AccommodationAndFlight &&
48128
- React__default['default'].createElement(
48129
- 'div',
48130
- { className: 'search__result-row' },
48131
- React__default['default'].createElement(
48132
- 'span',
48133
- { className: 'search__result-row-text' },
48134
- !isLoading &&
48135
- React__default['default'].createElement(
48136
- React__default['default'].Fragment,
48137
- null,
48138
- context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation &&
48139
- (filteredPackagingAccoResults === null || filteredPackagingAccoResults === void 0 ? void 0 : filteredPackagingAccoResults.length) &&
48140
- (filteredPackagingAccoResults === null || filteredPackagingAccoResults === void 0 ? void 0 : filteredPackagingAccoResults.length),
48141
- context.searchConfiguration.qsmType !== build.PortalQsmType.Accommodation &&
48142
- (filteredResults === null || filteredResults === void 0 ? void 0 : filteredResults.length) &&
48143
- filteredResults.length,
48144
- '\u00A0',
48145
- translations.SRP.TOTAL_RESULTS_LABEL
48146
- )
48147
- ),
48148
- !context.packagingEntry &&
48149
- !isMobile &&
48150
- sortByTypes &&
48151
- sortByTypes.length > 0 &&
48152
- React__default['default'].createElement(
48153
- 'div',
48154
- { className: 'search__result-row-filter' },
48155
- React__default['default'].createElement(ItemPicker, {
48156
- items: sortByTypes,
48157
- selection: (selectedSortType === null || selectedSortType === void 0 ? void 0 : selectedSortType.label) || undefined,
48158
- selectedSortByType: selectedSortType,
48159
- label: translations.SRP.SORTBY,
48160
- placeholder: translations.SRP.SORTBY,
48161
- classModifier: 'travel-class-picker__items',
48162
- valueFormatter: function (value, direction) {
48163
- return getSortingName(
48164
- translations,
48165
- findSortByType(sortByTypes, value, direction !== null && direction !== void 0 ? direction : 'asc')
48166
- );
48167
- },
48168
- onPick: function (newSortKey, direction) {
48169
- return handleSortChange(newSortKey, direction);
48170
- }
48171
- })
48172
- )
48173
- ),
48174
- React__default['default'].createElement(
48175
- 'div',
48176
- { className: 'search__results__wrapper' },
48177
- context.showTabViews &&
48178
- (context.searchConfiguration.qsmType === build.PortalQsmType.GroupTour ||
48179
- context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation) &&
48180
- React__default['default'].createElement(TabViews, null),
48181
- context.showRoundTripResults && context.showMockup && React__default['default'].createElement(RoundTripResults, null),
48182
- context.searchConfiguration.qsmType === build.PortalQsmType.GroupTour &&
48183
- React__default['default'].createElement(GroupTourResults, { isLoading: isLoading }),
48184
- context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48185
- !context.packagingEntry &&
48186
- context.showFlightResults &&
48187
- React__default['default'].createElement(
48188
- React__default['default'].Fragment,
48189
- null,
48671
+ })
48672
+ ),
48673
+ context.searchConfiguration.qsmType !== build.PortalQsmType.AccommodationAndFlight &&
48190
48674
  React__default['default'].createElement(
48191
48675
  'div',
48192
- { className: 'search__results__label search__results__label--secondary' },
48676
+ { className: 'search__result-row' },
48193
48677
  React__default['default'].createElement(
48194
- 'div',
48195
- { className: 'search__results__label__date' },
48196
- React__default['default'].createElement(Icon, { name: 'ui-flight', height: 16, fill: 'white' })
48678
+ 'span',
48679
+ { className: 'search__result-row-text' },
48680
+ !isLoading &&
48681
+ React__default['default'].createElement(
48682
+ React__default['default'].Fragment,
48683
+ null,
48684
+ context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation &&
48685
+ (filteredPackagingAccoResults === null || filteredPackagingAccoResults === void 0
48686
+ ? void 0
48687
+ : filteredPackagingAccoResults.length) &&
48688
+ (filteredPackagingAccoResults === null || filteredPackagingAccoResults === void 0
48689
+ ? void 0
48690
+ : filteredPackagingAccoResults.length),
48691
+ context.searchConfiguration.qsmType !== build.PortalQsmType.Accommodation &&
48692
+ (filteredResults === null || filteredResults === void 0 ? void 0 : filteredResults.length) &&
48693
+ filteredResults.length,
48694
+ '\u00A0',
48695
+ translations.SRP.TOTAL_RESULTS_LABEL
48696
+ )
48197
48697
  ),
48198
- React__default['default'].createElement(
48199
- 'div',
48200
- { className: 'search__results__label__text' },
48698
+ !context.packagingEntry &&
48699
+ !isMobile &&
48700
+ sortByTypes &&
48701
+ sortByTypes.length > 0 &&
48201
48702
  React__default['default'].createElement(
48202
- 'h3',
48203
- null,
48204
- translations.SRP.SELECT,
48205
- ' ',
48206
- React__default['default'].createElement('strong', null, ' ', translations.SRP.DEPARTURE)
48703
+ 'div',
48704
+ { className: 'search__result-row-filter' },
48705
+ React__default['default'].createElement(ItemPicker, {
48706
+ items: sortByTypes,
48707
+ selection: (selectedSortType === null || selectedSortType === void 0 ? void 0 : selectedSortType.label) || undefined,
48708
+ selectedSortByType: selectedSortType,
48709
+ label: translations.SRP.SORTBY,
48710
+ placeholder: translations.SRP.SORTBY,
48711
+ classModifier: 'travel-class-picker__items',
48712
+ valueFormatter: function (value, direction) {
48713
+ return getSortingName(
48714
+ translations,
48715
+ findSortByType(sortByTypes, value, direction !== null && direction !== void 0 ? direction : 'asc')
48716
+ );
48717
+ },
48718
+ onPick: function (newSortKey, direction) {
48719
+ return handleSortChange(newSortKey, direction);
48720
+ }
48721
+ })
48207
48722
  )
48208
- )
48209
48723
  ),
48210
- flightsLoading
48211
- ? React__default['default'].createElement(Spinner, null)
48212
- : React__default['default'].createElement(
48213
- React__default['default'].Fragment,
48214
- null,
48724
+ React__default['default'].createElement(
48725
+ 'div',
48726
+ { className: 'search__results__wrapper' },
48727
+ context.showTabViews &&
48728
+ (context.searchConfiguration.qsmType === build.PortalQsmType.GroupTour ||
48729
+ context.searchConfiguration.qsmType === build.PortalQsmType.Accommodation) &&
48730
+ React__default['default'].createElement(TabViews, null),
48731
+ context.showRoundTripResults && context.showMockup && React__default['default'].createElement(RoundTripResults, null),
48732
+ context.searchConfiguration.qsmType === build.PortalQsmType.GroupTour &&
48733
+ React__default['default'].createElement(GroupTourResults, { isLoading: isLoading }),
48734
+ context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48735
+ !context.packagingEntry &&
48736
+ context.showFlightResults &&
48737
+ React__default['default'].createElement(
48738
+ React__default['default'].Fragment,
48739
+ null,
48740
+ React__default['default'].createElement(
48741
+ 'div',
48742
+ { className: 'search__results__label search__results__label--secondary' },
48215
48743
  React__default['default'].createElement(
48216
48744
  'div',
48217
- { className: 'search__results__cards search__results__cards--extended' },
48218
- selectedOutwardKey &&
48219
- selectedOutward &&
48220
- React__default['default'].createElement(IndependentFlightOption, {
48221
- key: 'flight-'.concat(selectedOutwardKey),
48222
- item: selectedOutward.outward,
48223
- guid: selectedOutward.outwardGuid,
48224
- onSelect: function () {
48225
- return dispatch(setSelectedOutwardKey(null));
48226
- },
48227
- selectedGuid: selectedOutward.outwardGuid,
48228
- isOutward: true,
48229
- showSelectedState: true,
48230
- price: selectedOutward.price
48231
- }),
48232
- visibleOutwardFlights.map(function (result) {
48233
- return React__default['default'].createElement(IndependentFlightOption, {
48234
- key: 'flight-'.concat(result.outwardGuid),
48235
- item: result.outward,
48236
- onSelect: function () {
48237
- return dispatch(setSelectedOutwardKey(getFlightKey(result.outward.segments)));
48238
- },
48239
- guid: result.outwardGuid,
48240
- isOutward: true,
48241
- price: result.price,
48242
- currentSelectedPrice: selectedOutward === null || selectedOutward === void 0 ? void 0 : selectedOutward.price
48243
- });
48244
- })
48745
+ { className: 'search__results__label__date' },
48746
+ (function () {
48747
+ var firstResultDate = uniqueOutwardFlights.length > 0 ? uniqueOutwardFlights[0].outward.segments[0].departureDateTime : null;
48748
+ var firstResultDay = firstResultDate ? dateFns.format(firstResultDate, 'd') : null;
48749
+ var firstResultMonth = firstResultDate ? dateFns.format(firstResultDate, 'MMM') : null;
48750
+ return React__default['default'].createElement(
48751
+ React__default['default'].Fragment,
48752
+ null,
48753
+ React__default['default'].createElement('p', { className: 'search__results__label__date-date' }, firstResultDay),
48754
+ React__default['default'].createElement('p', null, firstResultMonth)
48755
+ );
48756
+ })()
48245
48757
  ),
48246
- uniqueOutwardFlights &&
48247
- uniqueOutwardFlights.length > 3 &&
48758
+ React__default['default'].createElement(
48759
+ 'div',
48760
+ { className: 'search__results__label__text' },
48761
+ React__default['default'].createElement(Icon, { name: 'ui-flight', height: 16 }),
48248
48762
  React__default['default'].createElement(
48249
- 'div',
48250
- { className: 'search__results__cards__actions' },
48763
+ 'h3',
48764
+ null,
48765
+ translations.SRP.SELECT,
48766
+ ' ',
48767
+ React__default['default'].createElement('strong', null, ' ', translations.SRP.DEPARTURE)
48768
+ )
48769
+ )
48770
+ ),
48771
+ flightsLoading
48772
+ ? React__default['default'].createElement(Spinner, { label: translations.SRP.LOADING_FLIGHTS })
48773
+ : React__default['default'].createElement(
48774
+ React__default['default'].Fragment,
48775
+ null,
48251
48776
  React__default['default'].createElement(
48252
- 'button',
48253
- {
48254
- className: 'cta cta--secondary',
48255
- onClick: function () {
48256
- return handleShowMoreFlights('flight-outward-results');
48257
- }
48258
- },
48259
- translations.SRP.SHOW_MORE
48260
- )
48777
+ 'div',
48778
+ { className: 'search__results__cards search__results__cards--extended' },
48779
+ selectedOutwardKey &&
48780
+ selectedOutward &&
48781
+ React__default['default'].createElement(IndependentFlightOption, {
48782
+ key: 'flight-'.concat(selectedOutwardKey),
48783
+ item: selectedOutward.outward,
48784
+ guid: selectedOutward.outwardGuid,
48785
+ onSelect: function () {
48786
+ return dispatch(setSelectedOutwardKey(null));
48787
+ },
48788
+ selectedGuid: selectedOutward.outwardGuid,
48789
+ isOutward: true,
48790
+ showSelectedState: true,
48791
+ price: selectedOutward.price
48792
+ }),
48793
+ visibleOutwardFlights.map(function (result) {
48794
+ return React__default['default'].createElement(IndependentFlightOption, {
48795
+ key: 'flight-'.concat(result.outwardGuid),
48796
+ item: result.outward,
48797
+ onSelect: function () {
48798
+ return dispatch(setSelectedOutwardKey(getFlightKey(result.outward.segments)));
48799
+ },
48800
+ guid: result.outwardGuid,
48801
+ isOutward: true,
48802
+ price: result.price,
48803
+ currentSelectedPrice: selectedOutward === null || selectedOutward === void 0 ? void 0 : selectedOutward.price
48804
+ });
48805
+ })
48806
+ ),
48807
+ uniqueOutwardFlights &&
48808
+ uniqueOutwardFlights.length > 3 &&
48809
+ React__default['default'].createElement(
48810
+ 'div',
48811
+ { className: 'search__results__cards__actions' },
48812
+ React__default['default'].createElement(
48813
+ 'button',
48814
+ {
48815
+ className: 'cta cta--secondary',
48816
+ onClick: function () {
48817
+ return handleShowMoreFlights('flight-outward-results');
48818
+ }
48819
+ },
48820
+ translations.SRP.SHOW_MORE
48821
+ )
48822
+ )
48261
48823
  )
48262
- )
48263
- ),
48264
- context.showHotelAccommodationResults &&
48265
- !context.packagingEntry &&
48266
- React__default['default'].createElement(HotelAccommodationResults, { isLoading: isLoading }),
48267
- context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48268
- !context.packagingEntry &&
48269
- React__default['default'].createElement(DayByDayExcursions, null),
48270
- context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48271
- !context.packagingEntry &&
48272
- context.showFlightResults &&
48273
- React__default['default'].createElement(
48274
- React__default['default'].Fragment,
48275
- null,
48276
- React__default['default'].createElement(
48277
- 'div',
48278
- { className: 'search__results__label search__results__label--secondary' },
48279
- React__default['default'].createElement(
48280
- 'div',
48281
- { className: 'search__results__label__date' },
48282
- React__default['default'].createElement(Icon, { name: 'ui-flight', height: 16, fill: 'white' })
48283
48824
  ),
48825
+ context.showHotelAccommodationResults &&
48826
+ !context.packagingEntry &&
48827
+ React__default['default'].createElement(HotelAccommodationResults, { isLoading: isLoading }),
48828
+ context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48829
+ !context.packagingEntry &&
48830
+ React__default['default'].createElement(DayByDayExcursions, null),
48831
+ context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48832
+ !context.packagingEntry &&
48833
+ context.showFlightResults &&
48284
48834
  React__default['default'].createElement(
48285
- 'div',
48286
- { className: 'search__results__label__text' },
48835
+ React__default['default'].Fragment,
48836
+ null,
48287
48837
  React__default['default'].createElement(
48288
- 'h3',
48289
- null,
48290
- translations.SRP.SELECT,
48291
- ' ',
48292
- React__default['default'].createElement('strong', null, ' ', translations.SRP.RETURN)
48838
+ 'div',
48839
+ { className: 'search__results__label search__results__label--secondary' },
48840
+ React__default['default'].createElement(
48841
+ 'div',
48842
+ { className: 'search__results__label__date' },
48843
+ (function () {
48844
+ var firstResultDate = uniqueReturnFlights.length > 0 ? uniqueReturnFlights[0].return.segments[0].departureDateTime : null;
48845
+ var firstResultDay = firstResultDate ? dateFns.format(firstResultDate, 'd') : null;
48846
+ var firstResultMonth = firstResultDate ? dateFns.format(firstResultDate, 'MMM') : null;
48847
+ return React__default['default'].createElement(
48848
+ React__default['default'].Fragment,
48849
+ null,
48850
+ React__default['default'].createElement('p', { className: 'search__results__label__date-date' }, firstResultDay),
48851
+ React__default['default'].createElement('p', null, firstResultMonth)
48852
+ );
48853
+ })()
48854
+ ),
48855
+ React__default['default'].createElement(
48856
+ 'div',
48857
+ { className: 'search__results__label__text' },
48858
+ React__default['default'].createElement(Icon, { name: 'ui-flight', height: 16 }),
48859
+ React__default['default'].createElement(
48860
+ 'h3',
48861
+ null,
48862
+ translations.SRP.SELECT,
48863
+ ' ',
48864
+ React__default['default'].createElement('strong', null, ' ', translations.SRP.RETURN)
48865
+ )
48866
+ )
48867
+ ),
48868
+ React__default['default'].createElement(
48869
+ 'div',
48870
+ { className: 'search__results__cards search__results__cards--extended' },
48871
+ selectedReturnKey &&
48872
+ selectedReturn &&
48873
+ React__default['default'].createElement(IndependentFlightOption, {
48874
+ key: 'flight-'.concat(selectedReturnKey),
48875
+ item: selectedReturn.return,
48876
+ guid: selectedReturn.outwardGuid,
48877
+ selectedGuid: selectedReturn.outwardGuid,
48878
+ isOutward: false,
48879
+ showSelectedState: true,
48880
+ price: selectedReturn.price
48881
+ }),
48882
+ uniqueReturnFlights.map(function (result) {
48883
+ return React__default['default'].createElement(IndependentFlightOption, {
48884
+ key: 'flight-'.concat(result.outwardGuid),
48885
+ item: result.return,
48886
+ onSelect: function () {
48887
+ return dispatch(setSelectedReturnKey(getFlightKey(result.return.segments)));
48888
+ },
48889
+ guid: result.outwardGuid,
48890
+ isOutward: false,
48891
+ currentSelectedPrice: selectedReturn === null || selectedReturn === void 0 ? void 0 : selectedReturn.price,
48892
+ price: result.price
48893
+ });
48894
+ })
48293
48895
  )
48294
- )
48295
- ),
48296
- React__default['default'].createElement(
48297
- 'div',
48298
- { className: 'search__results__cards search__results__cards--extended' },
48299
- selectedReturnKey &&
48300
- selectedReturn &&
48301
- React__default['default'].createElement(IndependentFlightOption, {
48302
- key: 'flight-'.concat(selectedReturnKey),
48303
- item: selectedReturn.return,
48304
- guid: selectedReturn.outwardGuid,
48305
- selectedGuid: selectedReturn.outwardGuid,
48306
- isOutward: false,
48307
- showSelectedState: true,
48308
- price: selectedReturn.price
48309
- }),
48310
- uniqueReturnFlights.map(function (result) {
48311
- return React__default['default'].createElement(IndependentFlightOption, {
48312
- key: 'flight-'.concat(result.outwardGuid),
48313
- item: result.return,
48314
- onSelect: function () {
48315
- return dispatch(setSelectedReturnKey(getFlightKey(result.return.segments)));
48316
- },
48317
- guid: result.outwardGuid,
48318
- isOutward: false,
48319
- currentSelectedPrice: selectedReturn === null || selectedReturn === void 0 ? void 0 : selectedReturn.price,
48320
- price: result.price
48321
- });
48322
- })
48323
- )
48324
- ),
48325
- context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48326
- context.packagingEntry &&
48327
- React__default['default'].createElement(FullItinerary, { isLoading: itineraryIsLoading })
48896
+ ),
48897
+ context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
48898
+ context.packagingEntry &&
48899
+ React__default['default'].createElement(FullItinerary, { isLoading: itineraryIsLoading })
48900
+ )
48901
+ ),
48902
+ React__default['default'].createElement(FlyIn, {
48903
+ srpType: context.searchConfiguration.qsmType,
48904
+ isOpen: flyInIsOpen,
48905
+ setIsOpen: handleFlyInToggle,
48906
+ handleConfirm: function () {
48907
+ return handleConfirmHotelSwap();
48908
+ },
48909
+ onPanelRef: function (el) {
48910
+ return (panelRef.current = el);
48911
+ },
48912
+ detailsLoading: detailsIsLoading,
48913
+ flyInType: flyInType,
48914
+ isPackageEditFlow: !!context.packagingEntry,
48915
+ sortByTypes: sortByTypes,
48916
+ activeSearchSeed: activeSearchSeed,
48917
+ toggleFilters: function () {
48918
+ return setFiltersOpen(!filtersOpen);
48919
+ },
48920
+ filtersOpen: filtersOpen
48921
+ })
48328
48922
  )
48329
- ),
48330
- React__default['default'].createElement(FlyIn, {
48331
- srpType: context.searchConfiguration.qsmType,
48332
- isOpen: flyInIsOpen,
48333
- setIsOpen: handleFlyInToggle,
48334
- handleConfirm: function () {
48335
- return handleConfirmHotelSwap();
48336
- },
48337
- onPanelRef: function (el) {
48338
- return (panelRef.current = el);
48339
- },
48340
- detailsLoading: detailsIsLoading,
48341
- flyInType: flyInType,
48342
- isPackageEditFlow: !!context.packagingEntry,
48343
- sortByTypes: sortByTypes,
48344
- activeSearchSeed: activeSearchSeed
48345
- })
48346
48923
  )
48347
- )
48348
48924
  )
48349
48925
  );
48350
48926
  };