@qite/tide-booking-component 1.4.33 → 1.4.35

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 (64) hide show
  1. package/build/build-cjs/index.js +1674 -416
  2. package/build/build-cjs/qsm/types.d.ts +0 -1
  3. package/build/build-cjs/search-results/components/filters/filters.d.ts +2 -2
  4. package/build/build-cjs/search-results/components/flight/flight-results.d.ts +2 -0
  5. package/build/build-cjs/search-results/components/hotel/hotel-card.d.ts +1 -0
  6. package/build/build-cjs/search-results/components/itinerary/index.d.ts +2 -2
  7. package/build/build-cjs/search-results/store/search-results-slice.d.ts +11 -2
  8. package/build/build-cjs/search-results/types.d.ts +0 -14
  9. package/build/build-esm/index.js +1674 -416
  10. package/build/build-esm/qsm/types.d.ts +0 -1
  11. package/build/build-esm/search-results/components/filters/filters.d.ts +2 -2
  12. package/build/build-esm/search-results/components/flight/flight-results.d.ts +2 -0
  13. package/build/build-esm/search-results/components/hotel/hotel-card.d.ts +1 -0
  14. package/build/build-esm/search-results/components/itinerary/index.d.ts +2 -2
  15. package/build/build-esm/search-results/store/search-results-slice.d.ts +11 -2
  16. package/build/build-esm/search-results/types.d.ts +0 -14
  17. package/package.json +77 -77
  18. package/src/booking-product/components/product.tsx +26 -22
  19. package/src/booking-wizard/features/booking/booking-self-contained.tsx +303 -304
  20. package/src/booking-wizard/features/travelers-form/controls/gender-control.tsx +5 -5
  21. package/src/booking-wizard/features/travelers-form/travelers-form.tsx +10 -10
  22. package/src/content/components/icon.tsx +1 -1
  23. package/src/content/features/content-page/content-page-self-contained.tsx +0 -1
  24. package/src/qsm/components/QSMContainer/qsm-container.tsx +217 -218
  25. package/src/qsm/components/mobile-filter-modal/index.tsx +12 -10
  26. package/src/qsm/components/travel-class-picker/index.tsx +5 -3
  27. package/src/qsm/components/travel-input/index.tsx +15 -12
  28. package/src/qsm/components/travel-input-group/index.tsx +14 -3
  29. package/src/qsm/components/travel-nationality-picker/index.tsx +5 -3
  30. package/src/qsm/components/travel-type-picker/index.tsx +5 -3
  31. package/src/qsm/qsm-configuration-context.ts +0 -1
  32. package/src/qsm/store/qsm-slice.ts +261 -261
  33. package/src/qsm/types.ts +144 -145
  34. package/src/search-results/components/filters/filters.tsx +15 -16
  35. package/src/search-results/components/flight/flight-results.tsx +168 -1099
  36. package/src/search-results/components/hotel/hotel-accommodation-results.tsx +21 -24
  37. package/src/search-results/components/hotel/hotel-card.tsx +4 -3
  38. package/src/search-results/components/icon.tsx +1 -1
  39. package/src/search-results/components/itinerary/index.tsx +229 -129
  40. package/src/search-results/components/round-trip/round-trip-results.tsx +1 -1
  41. package/src/search-results/components/search-results-container/search-results-container.tsx +353 -337
  42. package/src/search-results/components/spinner/spinner.tsx +3 -1
  43. package/src/search-results/components/tab-views/index.tsx +13 -7
  44. package/src/search-results/features/flights/flight-search-results-self-contained.tsx +1 -14
  45. package/src/search-results/features/hotels/hotel-search-results-self-contained.tsx +1 -14
  46. package/src/search-results/store/search-results-slice.ts +37 -3
  47. package/src/search-results/types.ts +0 -15
  48. package/src/shared/translations/ar-SA.json +70 -0
  49. package/src/shared/translations/da-DK.json +70 -0
  50. package/src/shared/translations/de-DE.json +70 -0
  51. package/src/shared/translations/en-GB.json +71 -1
  52. package/src/shared/translations/es-ES.json +70 -0
  53. package/src/shared/translations/fr-BE.json +71 -1
  54. package/src/shared/translations/fr-FR.json +70 -0
  55. package/src/shared/translations/is-IS.json +72 -2
  56. package/src/shared/translations/it-IT.json +70 -0
  57. package/src/shared/translations/ja-JP.json +72 -2
  58. package/src/shared/translations/nl-BE.json +70 -0
  59. package/src/shared/translations/nl-NL.json +70 -0
  60. package/src/shared/translations/no-NO.json +72 -2
  61. package/src/shared/translations/pl-PL.json +70 -0
  62. package/src/shared/translations/pt-PT.json +70 -0
  63. package/src/shared/translations/sv-SE.json +72 -2
  64. package/styles/components/_search.scss +7 -1
@@ -226,8 +226,11 @@ var TRAVELERS_FORM$f = {
226
226
  CHILD: "طفل",
227
227
  CHILDREN: "أطفال",
228
228
  GENDER: "اللقب",
229
+ GENDER_ID: "الجنس حسب جواز السفر/بطاقة الهوية",
229
230
  MALE: "السيد",
231
+ MALE_GENDER: "ذكر",
230
232
  FEMALE: "السيدة",
233
+ FEMALE_GENDER: "أنثى",
231
234
  OTHER: "آخر",
232
235
  MAIN_BOOKER: "الحاجز الرئيسي",
233
236
  FIRST_NAME: "الاسم الأول",
@@ -338,6 +341,73 @@ var PRINT_OFFER_BUTTON$f = {
338
341
  LABEL_CREATING: "جارٍ إنشاء العرض…",
339
342
  LABEL_PRINTING: "جارٍ إنشاء ملف PDF…"
340
343
  };
344
+ var QSM$g = {
345
+ MULTIDESTINATION: "وجهات متعددة",
346
+ PACKAGES: "باقات",
347
+ TRANSPORT_HOTEL: "النقل + الفندق",
348
+ ACCOMMODATION: "الإقامة",
349
+ TRANSPORTS: "وسائل النقل",
350
+ TICKET_ONLY: "تذكرة فقط",
351
+ RENT_A_CAR: "تأجير سيارة",
352
+ TRANSFERS: "خدمات النقل",
353
+ CRUISES: "رحلات بحرية",
354
+ ONE_ACCOMMODATION: "إقامة واحدة",
355
+ MULTIPLE_ACCOMMODATIONS: "إقامات متعددة",
356
+ TRAVEL_CLASS_LABEL: "درجة السفر",
357
+ TRAVEL_CLASS_PLACEHOLDER: "اختر درجة السفر",
358
+ TRAVEL_TYPE_LABEL: "نوع السفر",
359
+ TRAVEL_TYPE_PLACEHOLDER: "اختر نوع السفر",
360
+ NATIONALITY_LABEL: "الجنسية",
361
+ NATIONALITY_PLACEHOLDER: "اختر الجنسية",
362
+ TRAVELERS_LABEL: "من المسافر؟",
363
+ ADD_ROOM: "إضافة غرفة",
364
+ REMOVE_ROOM: "إزالة غرفة",
365
+ MAX_TRAVELERS_REACHED: "لقد وصلت إلى الحد الأقصى لعدد المسافرين",
366
+ ADULTS: "البالغون",
367
+ CHILDREN: "الأطفال",
368
+ BABIES: "الرضع",
369
+ CHOOSE_DATES: "اختر التواريخ",
370
+ DEPARTURE_DATE: "تاريخ المغادرة",
371
+ RETURN_DATE: "تاريخ العودة",
372
+ CONFIRM: "تأكيد",
373
+ TRAVELERS: "المسافرون"
374
+ };
375
+ var SRP$f = {
376
+ NO_RESULTS: "لم يتم العثور على نتائج.",
377
+ TOTAL_RESULTS_LABEL: "تم العثور على باقات",
378
+ RESET: "إعادة تعيين",
379
+ LUGGAGEINCLUDED: "الأمتعة مشمولة",
380
+ CANCEL: "إلغاء",
381
+ APPLY: "تطبيق",
382
+ LOADING: "جارٍ التحميل...",
383
+ SEARCHRESULTCTA: "عرض التفاصيل",
384
+ SORTBY: "ترتيب حسب",
385
+ PRICE_ASC: "السعر (من الأقل إلى الأعلى)",
386
+ PRICE_DESC: "السعر (من الأعلى إلى الأقل)",
387
+ DEPARTURE_ASC: "تاريخ المغادرة (الأقرب أولاً)",
388
+ FILTERS: "عوامل التصفية",
389
+ SHOW_ITINERARY: "عرض خط سير الرحلة",
390
+ ITINERARY_TITLE: "ملخص رحلتك",
391
+ DOSSIER_NUMBER: "رقم الملف",
392
+ PACKAGE_PRICE_PER_PERSON: "سعر الباقة للشخص الواحد",
393
+ TOTAL: "الإجمالي",
394
+ DAY_BY_DAY: "رحلتك يوماً بيوم",
395
+ START: "البداية",
396
+ END: "النهاية",
397
+ EXTENDED: "موسع",
398
+ COMPACT: "مضغوط",
399
+ LIST: "قائمة",
400
+ SELECT: "اختيار",
401
+ DEPARTURE: "المغادرة",
402
+ RETURN: "العودة",
403
+ DIRECT: "مباشر",
404
+ STOPS: "محطات",
405
+ STOP: "محطة",
406
+ STOP_TIME: "مدة التوقف",
407
+ ACCOMMODATION: "الإقامة",
408
+ VIEW_DETAILS: "عرض التفاصيل",
409
+ NIGHTS: "ليالٍ"
410
+ };
341
411
  var arJson = {
342
412
  STEPS: STEPS$f,
343
413
  INPUT: INPUT$f,
@@ -352,7 +422,9 @@ var arJson = {
352
422
  SUMMARY: SUMMARY$f,
353
423
  CONFIRMATION: CONFIRMATION$f,
354
424
  ERROR: ERROR$f,
355
- PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$f
425
+ PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$f,
426
+ QSM: QSM$g,
427
+ SRP: SRP$f
356
428
  };
357
429
 
358
430
  var STEPS$e = {
@@ -490,8 +562,11 @@ var TRAVELERS_FORM$e = {
490
562
  CHILD: "barn",
491
563
  CHILDREN: "børn",
492
564
  GENDER: "Tiltaleform",
565
+ GENDER_ID: "Køn ifølge pas/ID-kort",
493
566
  MALE: "Hr.",
567
+ MALE_GENDER: "Mand",
494
568
  FEMALE: "Fr.",
569
+ FEMALE_GENDER: "Kvinde",
495
570
  OTHER: "Andet",
496
571
  MAIN_BOOKER: "Hovedbooker",
497
572
  FIRST_NAME: "Fornavn",
@@ -602,6 +677,73 @@ var PRINT_OFFER_BUTTON$e = {
602
677
  LABEL_CREATING: "Genererer tilbud…",
603
678
  LABEL_PRINTING: "Genererer PDF…"
604
679
  };
680
+ var QSM$f = {
681
+ MULTIDESTINATION: "Flere destinationer",
682
+ PACKAGES: "Pakkerejser",
683
+ TRANSPORT_HOTEL: "Transport + hotel",
684
+ ACCOMMODATION: "Indkvartering",
685
+ TRANSPORTS: "Transport",
686
+ TICKET_ONLY: "Kun billet",
687
+ RENT_A_CAR: "Lej en bil",
688
+ TRANSFERS: "Transportservice",
689
+ CRUISES: "Krydstogter",
690
+ ONE_ACCOMMODATION: "Én indkvartering",
691
+ MULTIPLE_ACCOMMODATIONS: "Flere indkvarteringer",
692
+ TRAVEL_CLASS_LABEL: "Rejseklasse",
693
+ TRAVEL_CLASS_PLACEHOLDER: "Vælg rejseklasse",
694
+ TRAVEL_TYPE_LABEL: "Rejsetype",
695
+ TRAVEL_TYPE_PLACEHOLDER: "Vælg rejsetype",
696
+ NATIONALITY_LABEL: "Nationalitet",
697
+ NATIONALITY_PLACEHOLDER: "Vælg nationalitet",
698
+ TRAVELERS_LABEL: "Hvem rejser?",
699
+ ADD_ROOM: "Tilføj værelse",
700
+ REMOVE_ROOM: "Fjern værelse",
701
+ MAX_TRAVELERS_REACHED: "Du har nået det maksimale antal rejsende",
702
+ ADULTS: "Voksne",
703
+ CHILDREN: "Børn",
704
+ BABIES: "Spædbørn",
705
+ CHOOSE_DATES: "Vælg datoer",
706
+ DEPARTURE_DATE: "Afrejsedato",
707
+ RETURN_DATE: "Hjemrejsedato",
708
+ CONFIRM: "Bekræft",
709
+ TRAVELERS: "Rejsende"
710
+ };
711
+ var SRP$e = {
712
+ NO_RESULTS: "Ingen resultater fundet.",
713
+ TOTAL_RESULTS_LABEL: "Fundne pakker",
714
+ RESET: "Nulstil",
715
+ LUGGAGEINCLUDED: "Bagage inkluderet",
716
+ CANCEL: "Annuller",
717
+ APPLY: "Anvend",
718
+ LOADING: "Indlæser...",
719
+ SEARCHRESULTCTA: "Se detaljer",
720
+ SORTBY: "Sorter efter",
721
+ PRICE_ASC: "Pris (lav til høj)",
722
+ PRICE_DESC: "Pris (høj til lav)",
723
+ DEPARTURE_ASC: "Afrejsedato (snarest først)",
724
+ FILTERS: "Filtre",
725
+ SHOW_ITINERARY: "Vis rejseplan",
726
+ ITINERARY_TITLE: "Din rejseoversigt",
727
+ DOSSIER_NUMBER: "Sagsnummer",
728
+ PACKAGE_PRICE_PER_PERSON: "pakkepris pr. person",
729
+ TOTAL: "i alt",
730
+ DAY_BY_DAY: "Din rejse dag for dag",
731
+ START: "start",
732
+ END: "slut",
733
+ EXTENDED: "Udvidet",
734
+ COMPACT: "Kompakt",
735
+ LIST: "Liste",
736
+ SELECT: "Vælg",
737
+ DEPARTURE: "Afrejse",
738
+ RETURN: "Hjemrejse",
739
+ DIRECT: "Direkte",
740
+ STOPS: "stop",
741
+ STOP: "stop",
742
+ STOP_TIME: "Skiftetid",
743
+ ACCOMMODATION: "Indkvartering",
744
+ VIEW_DETAILS: "Se detaljer",
745
+ NIGHTS: "nætter"
746
+ };
605
747
  var daJson = {
606
748
  STEPS: STEPS$e,
607
749
  INPUT: INPUT$e,
@@ -616,7 +758,9 @@ var daJson = {
616
758
  SUMMARY: SUMMARY$e,
617
759
  CONFIRMATION: CONFIRMATION$e,
618
760
  ERROR: ERROR$e,
619
- PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$e
761
+ PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$e,
762
+ QSM: QSM$f,
763
+ SRP: SRP$e
620
764
  };
621
765
 
622
766
  var STEPS$d = {
@@ -754,8 +898,11 @@ var TRAVELERS_FORM$d = {
754
898
  CHILD: "Kind",
755
899
  CHILDREN: "Kinder",
756
900
  GENDER: "Anrede",
901
+ GENDER_ID: "Geschlecht laut Reisepass/Personalausweis",
757
902
  MALE: "Herr",
903
+ MALE_GENDER: "Männlich",
758
904
  FEMALE: "Frau",
905
+ FEMALE_GENDER: "Weiblich",
759
906
  OTHER: "Andere",
760
907
  MAIN_BOOKER: "Hauptbucher",
761
908
  FIRST_NAME: "Vorname",
@@ -866,6 +1013,73 @@ var PRINT_OFFER_BUTTON$d = {
866
1013
  LABEL_CREATING: "Angebot wird erstellt…",
867
1014
  LABEL_PRINTING: "PDF wird erstellt…"
868
1015
  };
1016
+ var QSM$e = {
1017
+ MULTIDESTINATION: "Mehrere Reiseziele",
1018
+ PACKAGES: "Reisepakete",
1019
+ TRANSPORT_HOTEL: "Transport + Hotel",
1020
+ ACCOMMODATION: "Unterkunft",
1021
+ TRANSPORTS: "Transport",
1022
+ TICKET_ONLY: "Nur Ticket",
1023
+ RENT_A_CAR: "Mietwagen",
1024
+ TRANSFERS: "Transfers",
1025
+ CRUISES: "Kreuzfahrten",
1026
+ ONE_ACCOMMODATION: "Eine Unterkunft",
1027
+ MULTIPLE_ACCOMMODATIONS: "Mehrere Unterkünfte",
1028
+ TRAVEL_CLASS_LABEL: "Reiseklasse",
1029
+ TRAVEL_CLASS_PLACEHOLDER: "Reiseklasse auswählen",
1030
+ TRAVEL_TYPE_LABEL: "Reiseart",
1031
+ TRAVEL_TYPE_PLACEHOLDER: "Reiseart auswählen",
1032
+ NATIONALITY_LABEL: "Staatsangehörigkeit",
1033
+ NATIONALITY_PLACEHOLDER: "Staatsangehörigkeit auswählen",
1034
+ TRAVELERS_LABEL: "Wer reist?",
1035
+ ADD_ROOM: "Zimmer hinzufügen",
1036
+ REMOVE_ROOM: "Zimmer entfernen",
1037
+ MAX_TRAVELERS_REACHED: "Sie haben die maximale Anzahl an Reisenden erreicht",
1038
+ ADULTS: "Erwachsene",
1039
+ CHILDREN: "Kinder",
1040
+ BABIES: "Babys",
1041
+ CHOOSE_DATES: "Daten auswählen",
1042
+ DEPARTURE_DATE: "Abreisedatum",
1043
+ RETURN_DATE: "Rückreisedatum",
1044
+ CONFIRM: "Bestätigen",
1045
+ TRAVELERS: "Reisende"
1046
+ };
1047
+ var SRP$d = {
1048
+ NO_RESULTS: "Keine Ergebnisse gefunden.",
1049
+ TOTAL_RESULTS_LABEL: "Gefundene Pakete",
1050
+ RESET: "Zurücksetzen",
1051
+ LUGGAGEINCLUDED: "Gepäck inklusive",
1052
+ CANCEL: "Abbrechen",
1053
+ APPLY: "Anwenden",
1054
+ LOADING: "Wird geladen...",
1055
+ SEARCHRESULTCTA: "Details anzeigen",
1056
+ SORTBY: "Sortieren nach",
1057
+ PRICE_ASC: "Preis (aufsteigend)",
1058
+ PRICE_DESC: "Preis (absteigend)",
1059
+ DEPARTURE_ASC: "Abreisedatum (früheste zuerst)",
1060
+ FILTERS: "Filter",
1061
+ SHOW_ITINERARY: "Reiseverlauf anzeigen",
1062
+ ITINERARY_TITLE: "Ihre Reiseübersicht",
1063
+ DOSSIER_NUMBER: "Vorgangsnummer",
1064
+ PACKAGE_PRICE_PER_PERSON: "Paketpreis pro Person",
1065
+ TOTAL: "Gesamt",
1066
+ DAY_BY_DAY: "Ihre Reise Tag für Tag",
1067
+ START: "Start",
1068
+ END: "Ende",
1069
+ EXTENDED: "Erweitert",
1070
+ COMPACT: "Kompakt",
1071
+ LIST: "Liste",
1072
+ SELECT: "Auswählen",
1073
+ DEPARTURE: "Abreise",
1074
+ RETURN: "Rückreise",
1075
+ DIRECT: "Direkt",
1076
+ STOPS: "Stopps",
1077
+ STOP: "Stopp",
1078
+ STOP_TIME: "Umsteigezeit",
1079
+ ACCOMMODATION: "Unterkunft",
1080
+ VIEW_DETAILS: "Details anzeigen",
1081
+ NIGHTS: "Nächte"
1082
+ };
869
1083
  var deJson = {
870
1084
  STEPS: STEPS$d,
871
1085
  INPUT: INPUT$d,
@@ -880,7 +1094,9 @@ var deJson = {
880
1094
  SUMMARY: SUMMARY$d,
881
1095
  CONFIRMATION: CONFIRMATION$d,
882
1096
  ERROR: ERROR$d,
883
- PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$d
1097
+ PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$d,
1098
+ QSM: QSM$e,
1099
+ SRP: SRP$d
884
1100
  };
885
1101
 
886
1102
  var STEPS$c = {
@@ -1019,8 +1235,11 @@ var TRAVELERS_FORM$c = {
1019
1235
  CHILD: "child",
1020
1236
  CHILDREN: "children",
1021
1237
  GENDER: "Salutation",
1238
+ GENDER_ID: "Gender according to passport/ID card",
1022
1239
  MALE: "Mr.",
1023
- FEMALE: "Mrs.",
1240
+ MALE_GENDER: "Male",
1241
+ FEMALE: "Ms.",
1242
+ FEMALE_GENDER: "Female",
1024
1243
  OTHER: "Other",
1025
1244
  MAIN_BOOKER: "Main booker",
1026
1245
  FIRST_NAME: "First name",
@@ -1134,6 +1353,73 @@ var PRINT_OFFER_BUTTON$c = {
1134
1353
  LABEL_CREATING: "Generating offer…",
1135
1354
  LABEL_PRINTING: "Generating PDF…"
1136
1355
  };
1356
+ var QSM$d = {
1357
+ MULTIDESTINATION: "Multidestination",
1358
+ PACKAGES: "Packages",
1359
+ TRANSPORT_HOTEL: "Transport + hotel",
1360
+ ACCOMMODATION: "Accommodation",
1361
+ TRANSPORTS: "Transports",
1362
+ TICKET_ONLY: "Ticket Only",
1363
+ RENT_A_CAR: "Rent a car",
1364
+ TRANSFERS: "Transfers",
1365
+ CRUISES: "Cruises",
1366
+ ONE_ACCOMMODATION: "One accommodation",
1367
+ MULTIPLE_ACCOMMODATIONS: "Multiple accommodations",
1368
+ TRAVEL_CLASS_LABEL: "Travel class",
1369
+ TRAVEL_CLASS_PLACEHOLDER: "Select travel class",
1370
+ TRAVEL_TYPE_LABEL: "Travel type",
1371
+ TRAVEL_TYPE_PLACEHOLDER: "Select travel type",
1372
+ NATIONALITY_LABEL: "Nationality",
1373
+ NATIONALITY_PLACEHOLDER: "Select nationality",
1374
+ TRAVELERS_LABEL: "Who is traveling?",
1375
+ ADD_ROOM: "Add room",
1376
+ REMOVE_ROOM: "Remove room",
1377
+ MAX_TRAVELERS_REACHED: "You have reached the maximum number of travelers",
1378
+ ADULTS: "Adults",
1379
+ CHILDREN: "Children",
1380
+ BABIES: "Babies",
1381
+ CHOOSE_DATES: "Choose dates",
1382
+ DEPARTURE_DATE: "Departure date",
1383
+ RETURN_DATE: "Return date",
1384
+ CONFIRM: "Confirm",
1385
+ TRAVELERS: "Travelers"
1386
+ };
1387
+ var SRP$c = {
1388
+ NO_RESULTS: "No results found.",
1389
+ TOTAL_RESULTS_LABEL: "Packages found",
1390
+ RESET: "Reset",
1391
+ LUGGAGEINCLUDED: "Luggage included",
1392
+ CANCEL: "Cancel",
1393
+ APPLY: "Apply",
1394
+ LOADING: "Loading...",
1395
+ SEARCHRESULTCTA: "View details",
1396
+ SORTBY: "Sort by",
1397
+ PRICE_ASC: "Price (low to high)",
1398
+ PRICE_DESC: "Price (high to low)",
1399
+ DEPARTURE_ASC: "Departure date (soonest first)",
1400
+ FILTERS: "Filters",
1401
+ SHOW_ITINERARY: "Show itinerary",
1402
+ ITINERARY_TITLE: "Your trip summary",
1403
+ DOSSIER_NUMBER: "File number",
1404
+ PACKAGE_PRICE_PER_PERSON: "package price per person",
1405
+ TOTAL: "total",
1406
+ DAY_BY_DAY: "Your trip day by day",
1407
+ START: "start",
1408
+ END: "end",
1409
+ EXTENDED: "Extended",
1410
+ COMPACT: "Compact",
1411
+ LIST: "List",
1412
+ SELECT: "Select",
1413
+ DEPARTURE: "Departure",
1414
+ RETURN: "Return",
1415
+ DIRECT: "Direct",
1416
+ STOPS: "stops",
1417
+ STOP: "stop",
1418
+ STOP_TIME: "Change time",
1419
+ ACCOMMODATION: "Accommodation",
1420
+ VIEW_DETAILS: "View details",
1421
+ NIGHTS: "nights"
1422
+ };
1137
1423
  var enJson = {
1138
1424
  STEPS: STEPS$c,
1139
1425
  INPUT: INPUT$c,
@@ -1148,7 +1434,9 @@ var enJson = {
1148
1434
  SUMMARY: SUMMARY$c,
1149
1435
  CONFIRMATION: CONFIRMATION$c,
1150
1436
  ERROR: ERROR$c,
1151
- PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$c
1437
+ PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$c,
1438
+ QSM: QSM$d,
1439
+ SRP: SRP$c
1152
1440
  };
1153
1441
 
1154
1442
  var STEPS$b = {
@@ -1286,8 +1574,11 @@ var TRAVELERS_FORM$b = {
1286
1574
  CHILD: "niño",
1287
1575
  CHILDREN: "niños",
1288
1576
  GENDER: "Tratamiento",
1577
+ GENDER_ID: "Sexo según pasaporte/documento de identidad",
1289
1578
  MALE: "Sr.",
1579
+ MALE_GENDER: "Hombre",
1290
1580
  FEMALE: "Sra.",
1581
+ FEMALE_GENDER: "Mujer",
1291
1582
  OTHER: "Otro",
1292
1583
  MAIN_BOOKER: "Titular de la reserva",
1293
1584
  FIRST_NAME: "Nombre",
@@ -1398,6 +1689,73 @@ var PRINT_OFFER_BUTTON$b = {
1398
1689
  LABEL_CREATING: "Generando presupuesto…",
1399
1690
  LABEL_PRINTING: "Generando PDF…"
1400
1691
  };
1692
+ var QSM$c = {
1693
+ MULTIDESTINATION: "Multidestino",
1694
+ PACKAGES: "Paquetes",
1695
+ TRANSPORT_HOTEL: "Transporte + hotel",
1696
+ ACCOMMODATION: "Alojamiento",
1697
+ TRANSPORTS: "Transportes",
1698
+ TICKET_ONLY: "Solo billete",
1699
+ RENT_A_CAR: "Alquilar un coche",
1700
+ TRANSFERS: "Traslados",
1701
+ CRUISES: "Cruceros",
1702
+ ONE_ACCOMMODATION: "Un alojamiento",
1703
+ MULTIPLE_ACCOMMODATIONS: "Varios alojamientos",
1704
+ TRAVEL_CLASS_LABEL: "Clase de viaje",
1705
+ TRAVEL_CLASS_PLACEHOLDER: "Selecciona clase de viaje",
1706
+ TRAVEL_TYPE_LABEL: "Tipo de viaje",
1707
+ TRAVEL_TYPE_PLACEHOLDER: "Selecciona tipo de viaje",
1708
+ NATIONALITY_LABEL: "Nacionalidad",
1709
+ NATIONALITY_PLACEHOLDER: "Selecciona nacionalidad",
1710
+ TRAVELERS_LABEL: "¿Quién viaja?",
1711
+ ADD_ROOM: "Añadir habitación",
1712
+ REMOVE_ROOM: "Eliminar habitación",
1713
+ MAX_TRAVELERS_REACHED: "Has alcanzado el número máximo de viajeros",
1714
+ ADULTS: "Adultos",
1715
+ CHILDREN: "Niños",
1716
+ BABIES: "Bebés",
1717
+ CHOOSE_DATES: "Selecciona fechas",
1718
+ DEPARTURE_DATE: "Fecha de salida",
1719
+ RETURN_DATE: "Fecha de regreso",
1720
+ CONFIRM: "Confirmar",
1721
+ TRAVELERS: "Viajeros"
1722
+ };
1723
+ var SRP$b = {
1724
+ NO_RESULTS: "No se han encontrado resultados.",
1725
+ TOTAL_RESULTS_LABEL: "Paquetes encontrados",
1726
+ RESET: "Restablecer",
1727
+ LUGGAGEINCLUDED: "Equipaje incluido",
1728
+ CANCEL: "Cancelar",
1729
+ APPLY: "Aplicar",
1730
+ LOADING: "Cargando...",
1731
+ SEARCHRESULTCTA: "Ver detalles",
1732
+ SORTBY: "Ordenar por",
1733
+ PRICE_ASC: "Precio (de menor a mayor)",
1734
+ PRICE_DESC: "Precio (de mayor a menor)",
1735
+ DEPARTURE_ASC: "Fecha de salida (más próxima primero)",
1736
+ FILTERS: "Filtros",
1737
+ SHOW_ITINERARY: "Mostrar itinerario",
1738
+ ITINERARY_TITLE: "Resumen de tu viaje",
1739
+ DOSSIER_NUMBER: "Número de expediente",
1740
+ PACKAGE_PRICE_PER_PERSON: "precio del paquete por persona",
1741
+ TOTAL: "total",
1742
+ DAY_BY_DAY: "Tu viaje día a día",
1743
+ START: "inicio",
1744
+ END: "fin",
1745
+ EXTENDED: "Extendido",
1746
+ COMPACT: "Compacto",
1747
+ LIST: "Lista",
1748
+ SELECT: "Seleccionar",
1749
+ DEPARTURE: "Salida",
1750
+ RETURN: "Regreso",
1751
+ DIRECT: "Directo",
1752
+ STOPS: "escalas",
1753
+ STOP: "escala",
1754
+ STOP_TIME: "Tiempo de escala",
1755
+ ACCOMMODATION: "Alojamiento",
1756
+ VIEW_DETAILS: "Ver detalles",
1757
+ NIGHTS: "noches"
1758
+ };
1401
1759
  var esJson = {
1402
1760
  STEPS: STEPS$b,
1403
1761
  INPUT: INPUT$b,
@@ -1412,7 +1770,9 @@ var esJson = {
1412
1770
  SUMMARY: SUMMARY$b,
1413
1771
  CONFIRMATION: CONFIRMATION$b,
1414
1772
  ERROR: ERROR$b,
1415
- PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$b
1773
+ PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$b,
1774
+ QSM: QSM$c,
1775
+ SRP: SRP$b
1416
1776
  };
1417
1777
 
1418
1778
  var STEPS$a = {
@@ -1550,9 +1910,12 @@ var TRAVELERS_FORM$a = {
1550
1910
  ADULTS: "adultes",
1551
1911
  CHILD: "enfant",
1552
1912
  CHILDREN: "enfants",
1553
- GENDER: "Titre",
1913
+ GENDER: "Civilité",
1914
+ GENDER_ID: "Sexe selon passeport/carte d'identité",
1554
1915
  MALE: "Monsieur",
1916
+ MALE_GENDER: "Homme",
1555
1917
  FEMALE: "Madame",
1918
+ FEMALE_GENDER: "Femme",
1556
1919
  OTHER: "Autre",
1557
1920
  MAIN_BOOKER: "Principal réservant",
1558
1921
  FIRST_NAME: "Prénom",
@@ -1666,6 +2029,73 @@ var PRINT_OFFER_BUTTON$a = {
1666
2029
  LABEL_CREATING: "Génération du devis…",
1667
2030
  LABEL_PRINTING: "Génération du PDF…"
1668
2031
  };
2032
+ var QSM$b = {
2033
+ MULTIDESTINATION: "Multi-destinations",
2034
+ PACKAGES: "Forfaits",
2035
+ TRANSPORT_HOTEL: "Transport + hôtel",
2036
+ ACCOMMODATION: "Hébergement",
2037
+ TRANSPORTS: "Transports",
2038
+ TICKET_ONLY: "Billet uniquement",
2039
+ RENT_A_CAR: "Location de voiture",
2040
+ TRANSFERS: "Transferts",
2041
+ CRUISES: "Croisières",
2042
+ ONE_ACCOMMODATION: "Un hébergement",
2043
+ MULTIPLE_ACCOMMODATIONS: "Plusieurs hébergements",
2044
+ TRAVEL_CLASS_LABEL: "Classe de voyage",
2045
+ TRAVEL_CLASS_PLACEHOLDER: "Sélectionnez la classe",
2046
+ TRAVEL_TYPE_LABEL: "Type de voyage",
2047
+ TRAVEL_TYPE_PLACEHOLDER: "Sélectionnez le type de voyage",
2048
+ NATIONALITY_LABEL: "Nationalité",
2049
+ NATIONALITY_PLACEHOLDER: "Sélectionnez la nationalité",
2050
+ TRAVELERS_LABEL: "Qui voyage ?",
2051
+ ADD_ROOM: "Ajouter une chambre",
2052
+ REMOVE_ROOM: "Supprimer la chambre",
2053
+ MAX_TRAVELERS_REACHED: "Vous avez atteint le nombre maximum de voyageurs",
2054
+ ADULTS: "Adultes",
2055
+ CHILDREN: "Enfants",
2056
+ BABIES: "Bébés",
2057
+ CHOOSE_DATES: "Choisir les dates",
2058
+ DEPARTURE_DATE: "Date de départ",
2059
+ RETURN_DATE: "Date de retour",
2060
+ CONFIRM: "Confirmer",
2061
+ TRAVELERS: "Voyageurs"
2062
+ };
2063
+ var SRP$a = {
2064
+ NO_RESULTS: "Aucun résultat trouvé.",
2065
+ TOTAL_RESULTS_LABEL: "Forfaits trouvés",
2066
+ RESET: "Réinitialiser",
2067
+ LUGGAGEINCLUDED: "Bagages inclus",
2068
+ CANCEL: "Annuler",
2069
+ APPLY: "Appliquer",
2070
+ LOADING: "Chargement...",
2071
+ SEARCHRESULTCTA: "Voir les détails",
2072
+ SORTBY: "Trier par",
2073
+ PRICE_ASC: "Prix (croissant)",
2074
+ PRICE_DESC: "Prix (décroissant)",
2075
+ DEPARTURE_ASC: "Date de départ (la plus proche d’abord)",
2076
+ FILTERS: "Filtres",
2077
+ SHOW_ITINERARY: "Afficher l’itinéraire",
2078
+ ITINERARY_TITLE: "Résumé de votre voyage",
2079
+ DOSSIER_NUMBER: "Numéro de dossier",
2080
+ PACKAGE_PRICE_PER_PERSON: "prix du forfait par personne",
2081
+ TOTAL: "total",
2082
+ DAY_BY_DAY: "Votre voyage jour par jour",
2083
+ START: "début",
2084
+ END: "fin",
2085
+ EXTENDED: "Étendu",
2086
+ COMPACT: "Compact",
2087
+ LIST: "Liste",
2088
+ SELECT: "Sélectionner",
2089
+ DEPARTURE: "Départ",
2090
+ RETURN: "Retour",
2091
+ DIRECT: "Direct",
2092
+ STOPS: "escales",
2093
+ STOP: "escale",
2094
+ STOP_TIME: "Temps d’escale",
2095
+ ACCOMMODATION: "Hébergement",
2096
+ VIEW_DETAILS: "Voir les détails",
2097
+ NIGHTS: "nuits"
2098
+ };
1669
2099
  var frBeJson = {
1670
2100
  STEPS: STEPS$a,
1671
2101
  INPUT: INPUT$a,
@@ -1680,7 +2110,9 @@ var frBeJson = {
1680
2110
  SUMMARY: SUMMARY$a,
1681
2111
  CONFIRMATION: CONFIRMATION$a,
1682
2112
  ERROR: ERROR$a,
1683
- PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$a
2113
+ PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$a,
2114
+ QSM: QSM$b,
2115
+ SRP: SRP$a
1684
2116
  };
1685
2117
 
1686
2118
  var STEPS$9 = {
@@ -1818,8 +2250,11 @@ var TRAVELERS_FORM$9 = {
1818
2250
  CHILD: "enfant",
1819
2251
  CHILDREN: "enfants",
1820
2252
  GENDER: "Civilité",
2253
+ GENDER_ID: "Sexe selon passeport/carte d'identité",
1821
2254
  MALE: "M.",
2255
+ MALE_GENDER: "Homme",
1822
2256
  FEMALE: "Mme",
2257
+ FEMALE_GENDER: "Femme",
1823
2258
  OTHER: "Autre",
1824
2259
  MAIN_BOOKER: "Titulaire de la réservation",
1825
2260
  FIRST_NAME: "Prénom",
@@ -1930,6 +2365,73 @@ var PRINT_OFFER_BUTTON$9 = {
1930
2365
  LABEL_CREATING: "Génération du devis…",
1931
2366
  LABEL_PRINTING: "Génération du PDF…"
1932
2367
  };
2368
+ var QSM$a = {
2369
+ MULTIDESTINATION: "Multi-destinations",
2370
+ PACKAGES: "Forfaits",
2371
+ TRANSPORT_HOTEL: "Transport + hôtel",
2372
+ ACCOMMODATION: "Hébergement",
2373
+ TRANSPORTS: "Transports",
2374
+ TICKET_ONLY: "Billet uniquement",
2375
+ RENT_A_CAR: "Location de voiture",
2376
+ TRANSFERS: "Transferts",
2377
+ CRUISES: "Croisières",
2378
+ ONE_ACCOMMODATION: "Un hébergement",
2379
+ MULTIPLE_ACCOMMODATIONS: "Plusieurs hébergements",
2380
+ TRAVEL_CLASS_LABEL: "Classe de voyage",
2381
+ TRAVEL_CLASS_PLACEHOLDER: "Sélectionnez la classe",
2382
+ TRAVEL_TYPE_LABEL: "Type de voyage",
2383
+ TRAVEL_TYPE_PLACEHOLDER: "Sélectionnez le type de voyage",
2384
+ NATIONALITY_LABEL: "Nationalité",
2385
+ NATIONALITY_PLACEHOLDER: "Sélectionnez la nationalité",
2386
+ TRAVELERS_LABEL: "Qui voyage ?",
2387
+ ADD_ROOM: "Ajouter une chambre",
2388
+ REMOVE_ROOM: "Supprimer la chambre",
2389
+ MAX_TRAVELERS_REACHED: "Vous avez atteint le nombre maximum de voyageurs",
2390
+ ADULTS: "Adultes",
2391
+ CHILDREN: "Enfants",
2392
+ BABIES: "Bébés",
2393
+ CHOOSE_DATES: "Choisir les dates",
2394
+ DEPARTURE_DATE: "Date de départ",
2395
+ RETURN_DATE: "Date de retour",
2396
+ CONFIRM: "Confirmer",
2397
+ TRAVELERS: "Voyageurs"
2398
+ };
2399
+ var SRP$9 = {
2400
+ NO_RESULTS: "Aucun résultat trouvé.",
2401
+ TOTAL_RESULTS_LABEL: "Forfaits trouvés",
2402
+ RESET: "Réinitialiser",
2403
+ LUGGAGEINCLUDED: "Bagages inclus",
2404
+ CANCEL: "Annuler",
2405
+ APPLY: "Appliquer",
2406
+ LOADING: "Chargement...",
2407
+ SEARCHRESULTCTA: "Voir les détails",
2408
+ SORTBY: "Trier par",
2409
+ PRICE_ASC: "Prix (croissant)",
2410
+ PRICE_DESC: "Prix (décroissant)",
2411
+ DEPARTURE_ASC: "Date de départ (la plus proche d’abord)",
2412
+ FILTERS: "Filtres",
2413
+ SHOW_ITINERARY: "Afficher l’itinéraire",
2414
+ ITINERARY_TITLE: "Résumé de votre voyage",
2415
+ DOSSIER_NUMBER: "Numéro de dossier",
2416
+ PACKAGE_PRICE_PER_PERSON: "prix du forfait par personne",
2417
+ TOTAL: "total",
2418
+ DAY_BY_DAY: "Votre voyage jour par jour",
2419
+ START: "début",
2420
+ END: "fin",
2421
+ EXTENDED: "Étendu",
2422
+ COMPACT: "Compact",
2423
+ LIST: "Liste",
2424
+ SELECT: "Sélectionner",
2425
+ DEPARTURE: "Départ",
2426
+ RETURN: "Retour",
2427
+ DIRECT: "Direct",
2428
+ STOPS: "escales",
2429
+ STOP: "escale",
2430
+ STOP_TIME: "Temps d’escale",
2431
+ ACCOMMODATION: "Hébergement",
2432
+ VIEW_DETAILS: "Voir les détails",
2433
+ NIGHTS: "nuits"
2434
+ };
1933
2435
  var frFrJson = {
1934
2436
  STEPS: STEPS$9,
1935
2437
  INPUT: INPUT$9,
@@ -1944,7 +2446,9 @@ var frFrJson = {
1944
2446
  SUMMARY: SUMMARY$9,
1945
2447
  CONFIRMATION: CONFIRMATION$9,
1946
2448
  ERROR: ERROR$9,
1947
- PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$9
2449
+ PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$9,
2450
+ QSM: QSM$a,
2451
+ SRP: SRP$9
1948
2452
  };
1949
2453
 
1950
2454
  var STEPS$8 = {
@@ -2081,9 +2585,12 @@ var TRAVELERS_FORM$8 = {
2081
2585
  ADULTS: "fullorðnir",
2082
2586
  CHILD: "barn",
2083
2587
  CHILDREN: "börn",
2084
- GENDER: "Kyn",
2085
- MALE: "Hr.",
2588
+ GENDER: "Ávarp",
2589
+ GENDER_ID: "Kyn samkvæmt vegabréfi/skilríki",
2590
+ MALE: "Herra",
2591
+ MALE_GENDER: "Karl",
2086
2592
  FEMALE: "Frú",
2593
+ FEMALE_GENDER: "Kona",
2087
2594
  OTHER: "Annað",
2088
2595
  MAIN_BOOKER: "Aðal bókari",
2089
2596
  FIRST_NAME: "Fornafn",
@@ -2194,6 +2701,73 @@ var PRINT_OFFER_BUTTON$8 = {
2194
2701
  LABEL_CREATING: "Búið til tilboð…",
2195
2702
  LABEL_PRINTING: "Búið til PDF…"
2196
2703
  };
2704
+ var QSM$9 = {
2705
+ MULTIDESTINATION: "Margir áfangastaðir",
2706
+ PACKAGES: "Pakkar",
2707
+ TRANSPORT_HOTEL: "Flug + hótel",
2708
+ ACCOMMODATION: "Gisting",
2709
+ TRANSPORTS: "Samgöngur",
2710
+ TICKET_ONLY: "Aðeins miði",
2711
+ RENT_A_CAR: "Leigja bíl",
2712
+ TRANSFERS: "Akstur",
2713
+ CRUISES: "Siglingar",
2714
+ ONE_ACCOMMODATION: "Ein gisting",
2715
+ MULTIPLE_ACCOMMODATIONS: "Margar gistingar",
2716
+ TRAVEL_CLASS_LABEL: "Farrými",
2717
+ TRAVEL_CLASS_PLACEHOLDER: "Veldu farrými",
2718
+ TRAVEL_TYPE_LABEL: "Ferðategund",
2719
+ TRAVEL_TYPE_PLACEHOLDER: "Veldu ferðategund",
2720
+ NATIONALITY_LABEL: "Þjóðerni",
2721
+ NATIONALITY_PLACEHOLDER: "Veldu þjóðerni",
2722
+ TRAVELERS_LABEL: "Hverjir ferðast?",
2723
+ ADD_ROOM: "Bæta við herbergi",
2724
+ REMOVE_ROOM: "Fjarlægja herbergi",
2725
+ MAX_TRAVELERS_REACHED: "Hámarksfjölda ferðalanga náð",
2726
+ ADULTS: "Fullorðnir",
2727
+ CHILDREN: "Börn",
2728
+ BABIES: "Ungbörn",
2729
+ CHOOSE_DATES: "Veldu dagsetningar",
2730
+ DEPARTURE_DATE: "Brottfarardagur",
2731
+ RETURN_DATE: "Heimkomudagur",
2732
+ CONFIRM: "Staðfesta",
2733
+ TRAVELERS: "Ferðalangar"
2734
+ };
2735
+ var SRP$8 = {
2736
+ NO_RESULTS: "Engar niðurstöður fundust.",
2737
+ TOTAL_RESULTS_LABEL: "Fundnar pakkar",
2738
+ RESET: "Endurstilla",
2739
+ LUGGAGEINCLUDED: "Farangur innifalinn",
2740
+ CANCEL: "Hætta við",
2741
+ APPLY: "Staðfesta",
2742
+ LOADING: "Hleðst...",
2743
+ SEARCHRESULTCTA: "Skoða upplýsingar",
2744
+ SORTBY: "Raða eftir",
2745
+ PRICE_ASC: "Verð (lægst til hæst)",
2746
+ PRICE_DESC: "Verð (hæst til lægst)",
2747
+ DEPARTURE_ASC: "Brottfarardagur (nærst fyrst)",
2748
+ FILTERS: "Síur",
2749
+ SHOW_ITINERARY: "Sýna ferðaráætlun",
2750
+ ITINERARY_TITLE: "Yfirlit ferðarinnar",
2751
+ DOSSIER_NUMBER: "Skrárnúmer",
2752
+ PACKAGE_PRICE_PER_PERSON: "pakka verð á mann",
2753
+ TOTAL: "samtals",
2754
+ DAY_BY_DAY: "Ferðin þín dag fyrir dag",
2755
+ START: "byrjun",
2756
+ END: "lok",
2757
+ EXTENDED: "Útvíkkað",
2758
+ COMPACT: "Þjappað",
2759
+ LIST: "Listi",
2760
+ SELECT: "Velja",
2761
+ DEPARTURE: "Brottför",
2762
+ RETURN: "Afturferð",
2763
+ DIRECT: "Beint",
2764
+ STOPS: "stöðvar",
2765
+ STOP: "stöð",
2766
+ STOP_TIME: "Skipti tími",
2767
+ ACCOMMODATION: "Gisting",
2768
+ VIEW_DETAILS: "Skoða upplýsingar",
2769
+ NIGHTS: "nætur"
2770
+ };
2197
2771
  var isJson = {
2198
2772
  STEPS: STEPS$8,
2199
2773
  INPUT: INPUT$8,
@@ -2208,7 +2782,9 @@ var isJson = {
2208
2782
  SUMMARY: SUMMARY$8,
2209
2783
  CONFIRMATION: CONFIRMATION$8,
2210
2784
  ERROR: ERROR$8,
2211
- PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$8
2785
+ PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$8,
2786
+ QSM: QSM$9,
2787
+ SRP: SRP$8
2212
2788
  };
2213
2789
 
2214
2790
  var STEPS$7 = {
@@ -2346,8 +2922,11 @@ var TRAVELERS_FORM$7 = {
2346
2922
  CHILD: "bambino",
2347
2923
  CHILDREN: "bambini",
2348
2924
  GENDER: "Titolo",
2925
+ GENDER_ID: "Sesso secondo passaporto/carta d'identità",
2349
2926
  MALE: "Sig.",
2927
+ MALE_GENDER: "Uomo",
2350
2928
  FEMALE: "Sig.ra",
2929
+ FEMALE_GENDER: "Donna",
2351
2930
  OTHER: "Altro",
2352
2931
  MAIN_BOOKER: "Intestatario della prenotazione",
2353
2932
  FIRST_NAME: "Nome",
@@ -2458,6 +3037,73 @@ var PRINT_OFFER_BUTTON$7 = {
2458
3037
  LABEL_CREATING: "Generazione del preventivo…",
2459
3038
  LABEL_PRINTING: "Generazione del PDF…"
2460
3039
  };
3040
+ var QSM$8 = {
3041
+ MULTIDESTINATION: "Multidestinazione",
3042
+ PACKAGES: "Pacchetti",
3043
+ TRANSPORT_HOTEL: "Trasporto + hotel",
3044
+ ACCOMMODATION: "Alloggio",
3045
+ TRANSPORTS: "Trasporti",
3046
+ TICKET_ONLY: "Solo biglietto",
3047
+ RENT_A_CAR: "Noleggio auto",
3048
+ TRANSFERS: "Trasferimenti",
3049
+ CRUISES: "Crociere",
3050
+ ONE_ACCOMMODATION: "Un alloggio",
3051
+ MULTIPLE_ACCOMMODATIONS: "Più alloggi",
3052
+ TRAVEL_CLASS_LABEL: "Classe di viaggio",
3053
+ TRAVEL_CLASS_PLACEHOLDER: "Seleziona classe di viaggio",
3054
+ TRAVEL_TYPE_LABEL: "Tipo di viaggio",
3055
+ TRAVEL_TYPE_PLACEHOLDER: "Seleziona tipo di viaggio",
3056
+ NATIONALITY_LABEL: "Nazionalità",
3057
+ NATIONALITY_PLACEHOLDER: "Seleziona nazionalità",
3058
+ TRAVELERS_LABEL: "Chi viaggia?",
3059
+ ADD_ROOM: "Aggiungi camera",
3060
+ REMOVE_ROOM: "Rimuovi camera",
3061
+ MAX_TRAVELERS_REACHED: "Hai raggiunto il numero massimo di viaggiatori",
3062
+ ADULTS: "Adulti",
3063
+ CHILDREN: "Bambini",
3064
+ BABIES: "Neonati",
3065
+ CHOOSE_DATES: "Seleziona date",
3066
+ DEPARTURE_DATE: "Data di partenza",
3067
+ RETURN_DATE: "Data di ritorno",
3068
+ CONFIRM: "Conferma",
3069
+ TRAVELERS: "Viaggiatori"
3070
+ };
3071
+ var SRP$7 = {
3072
+ NO_RESULTS: "Nessun risultato trovato.",
3073
+ TOTAL_RESULTS_LABEL: "Pacchetti trovati",
3074
+ RESET: "Reimposta",
3075
+ LUGGAGEINCLUDED: "Bagaglio incluso",
3076
+ CANCEL: "Annulla",
3077
+ APPLY: "Applica",
3078
+ LOADING: "Caricamento...",
3079
+ SEARCHRESULTCTA: "Visualizza dettagli",
3080
+ SORTBY: "Ordina per",
3081
+ PRICE_ASC: "Prezzo (dal più basso al più alto)",
3082
+ PRICE_DESC: "Prezzo (dal più alto al più basso)",
3083
+ DEPARTURE_ASC: "Data di partenza (prima la più vicina)",
3084
+ FILTERS: "Filtri",
3085
+ SHOW_ITINERARY: "Mostra itinerario",
3086
+ ITINERARY_TITLE: "Riepilogo del tuo viaggio",
3087
+ DOSSIER_NUMBER: "Numero di pratica",
3088
+ PACKAGE_PRICE_PER_PERSON: "prezzo pacchetto per persona",
3089
+ TOTAL: "totale",
3090
+ DAY_BY_DAY: "Il tuo viaggio giorno per giorno",
3091
+ START: "inizio",
3092
+ END: "fine",
3093
+ EXTENDED: "Esteso",
3094
+ COMPACT: "Compatto",
3095
+ LIST: "Lista",
3096
+ SELECT: "Seleziona",
3097
+ DEPARTURE: "Partenza",
3098
+ RETURN: "Ritorno",
3099
+ DIRECT: "Diretto",
3100
+ STOPS: "scali",
3101
+ STOP: "scalo",
3102
+ STOP_TIME: "Tempo di cambio",
3103
+ ACCOMMODATION: "Alloggio",
3104
+ VIEW_DETAILS: "Visualizza dettagli",
3105
+ NIGHTS: "notti"
3106
+ };
2461
3107
  var itJson = {
2462
3108
  STEPS: STEPS$7,
2463
3109
  INPUT: INPUT$7,
@@ -2472,7 +3118,9 @@ var itJson = {
2472
3118
  SUMMARY: SUMMARY$7,
2473
3119
  CONFIRMATION: CONFIRMATION$7,
2474
3120
  ERROR: ERROR$7,
2475
- PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$7
3121
+ PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$7,
3122
+ QSM: QSM$8,
3123
+ SRP: SRP$7
2476
3124
  };
2477
3125
 
2478
3126
  var STEPS$6 = {
@@ -2611,8 +3259,11 @@ var TRAVELERS_FORM$6 = {
2611
3259
  CHILD: "kind",
2612
3260
  CHILDREN: "kinderen",
2613
3261
  GENDER: "Aanspreking",
3262
+ GENDER_ID: "Geslacht volgens paspoort/identiteitskaart",
2614
3263
  MALE: "Meneer",
3264
+ MALE_GENDER: "Man",
2615
3265
  FEMALE: "Mevrouw",
3266
+ FEMALE_GENDER: "Vrouw",
2616
3267
  OTHER: "Anders",
2617
3268
  MAIN_BOOKER: "Hoofdboeker",
2618
3269
  FIRST_NAME: "Voornaam",
@@ -2726,6 +3377,73 @@ var PRINT_OFFER_BUTTON$6 = {
2726
3377
  LABEL_CREATING: "Offerte genereren...",
2727
3378
  LABEL_PRINTING: "PDF genereren..."
2728
3379
  };
3380
+ var QSM$7 = {
3381
+ MULTIDESTINATION: "Meerdere bestemmingen",
3382
+ PACKAGES: "Pakketten",
3383
+ TRANSPORT_HOTEL: "Vervoer + hotel",
3384
+ ACCOMMODATION: "Accommodatie",
3385
+ TRANSPORTS: "Vervoer",
3386
+ TICKET_ONLY: "Alleen ticket",
3387
+ RENT_A_CAR: "Auto huren",
3388
+ TRANSFERS: "Transfers",
3389
+ CRUISES: "Cruises",
3390
+ ONE_ACCOMMODATION: "Eén accommodatie",
3391
+ MULTIPLE_ACCOMMODATIONS: "Meerdere accommodaties",
3392
+ TRAVEL_CLASS_LABEL: "Reisklasse",
3393
+ TRAVEL_CLASS_PLACEHOLDER: "Selecteer reisklasse",
3394
+ TRAVEL_TYPE_LABEL: "Reistype",
3395
+ TRAVEL_TYPE_PLACEHOLDER: "Selecteer reistype",
3396
+ NATIONALITY_LABEL: "Nationaliteit",
3397
+ NATIONALITY_PLACEHOLDER: "Selecteer nationaliteit",
3398
+ TRAVELERS_LABEL: "Wie reist er?",
3399
+ ADD_ROOM: "Kamer toevoegen",
3400
+ REMOVE_ROOM: "Kamer verwijderen",
3401
+ MAX_TRAVELERS_REACHED: "Je hebt het maximale aantal reizigers bereikt",
3402
+ ADULTS: "Volwassenen",
3403
+ CHILDREN: "Kinderen",
3404
+ BABIES: "Baby’s",
3405
+ CHOOSE_DATES: "Selecteer datums",
3406
+ DEPARTURE_DATE: "Vertrekdatum",
3407
+ RETURN_DATE: "Terugkeerdatum",
3408
+ CONFIRM: "Bevestigen",
3409
+ TRAVELERS: "Reizigers"
3410
+ };
3411
+ var SRP$6 = {
3412
+ NO_RESULTS: "Geen resultaten gevonden.",
3413
+ TOTAL_RESULTS_LABEL: "Gevonden pakketten",
3414
+ RESET: "Resetten",
3415
+ LUGGAGEINCLUDED: "Bagage inbegrepen",
3416
+ CANCEL: "Annuleren",
3417
+ APPLY: "Toepassen",
3418
+ LOADING: "Laden...",
3419
+ SEARCHRESULTCTA: "Bekijk details",
3420
+ SORTBY: "Sorteren op",
3421
+ PRICE_ASC: "Prijs (laag naar hoog)",
3422
+ PRICE_DESC: "Prijs (hoog naar laag)",
3423
+ DEPARTURE_ASC: "Vertrekdatum (dichtstbij eerst)",
3424
+ FILTERS: "Filters",
3425
+ SHOW_ITINERARY: "Toon reisplan",
3426
+ ITINERARY_TITLE: "Overzicht van je reis",
3427
+ DOSSIER_NUMBER: "Dossiernummer",
3428
+ PACKAGE_PRICE_PER_PERSON: "pakketprijs per persoon",
3429
+ TOTAL: "totaal",
3430
+ DAY_BY_DAY: "Je reis dag voor dag",
3431
+ START: "start",
3432
+ END: "einde",
3433
+ EXTENDED: "Uitgebreid",
3434
+ COMPACT: "Compact",
3435
+ LIST: "Lijst",
3436
+ SELECT: "Selecteer",
3437
+ DEPARTURE: "Vertrek",
3438
+ RETURN: "Terugkeer",
3439
+ DIRECT: "Direct",
3440
+ STOPS: "stops",
3441
+ STOP: "stop",
3442
+ STOP_TIME: "Wachttijd",
3443
+ ACCOMMODATION: "Accommodatie",
3444
+ VIEW_DETAILS: "Bekijk details",
3445
+ NIGHTS: "nachten"
3446
+ };
2729
3447
  var nlBeJson = {
2730
3448
  STEPS: STEPS$6,
2731
3449
  INPUT: INPUT$6,
@@ -2740,7 +3458,9 @@ var nlBeJson = {
2740
3458
  SUMMARY: SUMMARY$6,
2741
3459
  CONFIRMATION: CONFIRMATION$6,
2742
3460
  ERROR: ERROR$6,
2743
- PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$6
3461
+ PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$6,
3462
+ QSM: QSM$7,
3463
+ SRP: SRP$6
2744
3464
  };
2745
3465
 
2746
3466
  var STEPS$5 = {
@@ -2878,8 +3598,11 @@ var TRAVELERS_FORM$5 = {
2878
3598
  CHILD: "kind",
2879
3599
  CHILDREN: "kinderen",
2880
3600
  GENDER: "Aanhef",
3601
+ GENDER_ID: "Geslacht volgens paspoort/identiteitskaart",
2881
3602
  MALE: "Dhr.",
3603
+ MALE_GENDER: "Man",
2882
3604
  FEMALE: "Mevr.",
3605
+ FEMALE_GENDER: "Vrouw",
2883
3606
  OTHER: "Anders",
2884
3607
  MAIN_BOOKER: "Hoofdboeker",
2885
3608
  FIRST_NAME: "Voornaam",
@@ -2990,6 +3713,73 @@ var PRINT_OFFER_BUTTON$5 = {
2990
3713
  LABEL_CREATING: "Offerte genereren…",
2991
3714
  LABEL_PRINTING: "PDF genereren…"
2992
3715
  };
3716
+ var QSM$6 = {
3717
+ MULTIDESTINATION: "Meerdere bestemmingen",
3718
+ PACKAGES: "Pakketten",
3719
+ TRANSPORT_HOTEL: "Vervoer + hotel",
3720
+ ACCOMMODATION: "Accommodatie",
3721
+ TRANSPORTS: "Vervoer",
3722
+ TICKET_ONLY: "Alleen ticket",
3723
+ RENT_A_CAR: "Auto huren",
3724
+ TRANSFERS: "Transfers",
3725
+ CRUISES: "Cruises",
3726
+ ONE_ACCOMMODATION: "Eén accommodatie",
3727
+ MULTIPLE_ACCOMMODATIONS: "Meerdere accommodaties",
3728
+ TRAVEL_CLASS_LABEL: "Reisklasse",
3729
+ TRAVEL_CLASS_PLACEHOLDER: "Selecteer reisklasse",
3730
+ TRAVEL_TYPE_LABEL: "Reistype",
3731
+ TRAVEL_TYPE_PLACEHOLDER: "Selecteer reistype",
3732
+ NATIONALITY_LABEL: "Nationaliteit",
3733
+ NATIONALITY_PLACEHOLDER: "Selecteer nationaliteit",
3734
+ TRAVELERS_LABEL: "Wie reist er?",
3735
+ ADD_ROOM: "Kamer toevoegen",
3736
+ REMOVE_ROOM: "Kamer verwijderen",
3737
+ MAX_TRAVELERS_REACHED: "Je hebt het maximale aantal reizigers bereikt",
3738
+ ADULTS: "Volwassenen",
3739
+ CHILDREN: "Kinderen",
3740
+ BABIES: "Baby’s",
3741
+ CHOOSE_DATES: "Selecteer datums",
3742
+ DEPARTURE_DATE: "Vertrekdatum",
3743
+ RETURN_DATE: "Terugkeerdatum",
3744
+ CONFIRM: "Bevestigen",
3745
+ TRAVELERS: "Reizigers"
3746
+ };
3747
+ var SRP$5 = {
3748
+ NO_RESULTS: "Geen resultaten gevonden.",
3749
+ TOTAL_RESULTS_LABEL: "Gevonden pakketten",
3750
+ RESET: "Resetten",
3751
+ LUGGAGEINCLUDED: "Bagage inbegrepen",
3752
+ CANCEL: "Annuleren",
3753
+ APPLY: "Toepassen",
3754
+ LOADING: "Laden...",
3755
+ SEARCHRESULTCTA: "Bekijk details",
3756
+ SORTBY: "Sorteren op",
3757
+ PRICE_ASC: "Prijs (laag naar hoog)",
3758
+ PRICE_DESC: "Prijs (hoog naar laag)",
3759
+ DEPARTURE_ASC: "Vertrekdatum (dichtstbij eerst)",
3760
+ FILTERS: "Filters",
3761
+ SHOW_ITINERARY: "Toon reisplan",
3762
+ ITINERARY_TITLE: "Overzicht van je reis",
3763
+ DOSSIER_NUMBER: "Dossiernummer",
3764
+ PACKAGE_PRICE_PER_PERSON: "pakketprijs per persoon",
3765
+ TOTAL: "totaal",
3766
+ DAY_BY_DAY: "Je reis dag voor dag",
3767
+ START: "start",
3768
+ END: "einde",
3769
+ EXTENDED: "Uitgebreid",
3770
+ COMPACT: "Compact",
3771
+ LIST: "Lijst",
3772
+ SELECT: "Selecteer",
3773
+ DEPARTURE: "Vertrek",
3774
+ RETURN: "Terugkeer",
3775
+ DIRECT: "Direct",
3776
+ STOPS: "stops",
3777
+ STOP: "stop",
3778
+ STOP_TIME: "Wachttijd",
3779
+ ACCOMMODATION: "Accommodatie",
3780
+ VIEW_DETAILS: "Bekijk details",
3781
+ NIGHTS: "nachten"
3782
+ };
2993
3783
  var nlNlJson = {
2994
3784
  STEPS: STEPS$5,
2995
3785
  INPUT: INPUT$5,
@@ -3004,7 +3794,9 @@ var nlNlJson = {
3004
3794
  SUMMARY: SUMMARY$5,
3005
3795
  CONFIRMATION: CONFIRMATION$5,
3006
3796
  ERROR: ERROR$5,
3007
- PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$5
3797
+ PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$5,
3798
+ QSM: QSM$6,
3799
+ SRP: SRP$5
3008
3800
  };
3009
3801
 
3010
3802
  var STEPS$4 = {
@@ -3141,9 +3933,12 @@ var TRAVELERS_FORM$4 = {
3141
3933
  ADULTS: "voksne",
3142
3934
  CHILD: "barn",
3143
3935
  CHILDREN: "barn",
3144
- GENDER: "Tiltale",
3145
- MALE: "Hr.",
3936
+ GENDER: "Tiltaleform",
3937
+ GENDER_ID: "Kjønn ifølge pass/ID-kort",
3938
+ MALE: "Herr",
3939
+ MALE_GENDER: "Mann",
3146
3940
  FEMALE: "Fru",
3941
+ FEMALE_GENDER: "Kvinne",
3147
3942
  OTHER: "Annet",
3148
3943
  MAIN_BOOKER: "Hovedbestiller",
3149
3944
  FIRST_NAME: "Fornavn",
@@ -3254,6 +4049,73 @@ var PRINT_OFFER_BUTTON$4 = {
3254
4049
  LABEL_CREATING: "Genererer tilbud…",
3255
4050
  LABEL_PRINTING: "Genererer PDF…"
3256
4051
  };
4052
+ var QSM$5 = {
4053
+ MULTIDESTINATION: "Flere destinasjoner",
4054
+ PACKAGES: "Pakker",
4055
+ TRANSPORT_HOTEL: "Transport + hotell",
4056
+ ACCOMMODATION: "Overnatting",
4057
+ TRANSPORTS: "Transport",
4058
+ TICKET_ONLY: "Kun billett",
4059
+ RENT_A_CAR: "Lei bil",
4060
+ TRANSFERS: "Transporttjenester",
4061
+ CRUISES: "Cruise",
4062
+ ONE_ACCOMMODATION: "Én overnatting",
4063
+ MULTIPLE_ACCOMMODATIONS: "Flere overnattinger",
4064
+ TRAVEL_CLASS_LABEL: "Reiseklasse",
4065
+ TRAVEL_CLASS_PLACEHOLDER: "Velg reiseklasse",
4066
+ TRAVEL_TYPE_LABEL: "Reisetype",
4067
+ TRAVEL_TYPE_PLACEHOLDER: "Velg reisetype",
4068
+ NATIONALITY_LABEL: "Nasjonalitet",
4069
+ NATIONALITY_PLACEHOLDER: "Velg nasjonalitet",
4070
+ TRAVELERS_LABEL: "Hvem reiser?",
4071
+ ADD_ROOM: "Legg til rom",
4072
+ REMOVE_ROOM: "Fjern rom",
4073
+ MAX_TRAVELERS_REACHED: "Du har nådd maksimalt antall reisende",
4074
+ ADULTS: "Voksne",
4075
+ CHILDREN: "Barn",
4076
+ BABIES: "Spedbarn",
4077
+ CHOOSE_DATES: "Velg datoer",
4078
+ DEPARTURE_DATE: "Avreisedato",
4079
+ RETURN_DATE: "Returdato",
4080
+ CONFIRM: "Bekreft",
4081
+ TRAVELERS: "Reisende"
4082
+ };
4083
+ var SRP$4 = {
4084
+ NO_RESULTS: "Ingen resultater funnet.",
4085
+ TOTAL_RESULTS_LABEL: "Fant pakker",
4086
+ RESET: "Tilbakestill",
4087
+ LUGGAGEINCLUDED: "Bagasje inkludert",
4088
+ CANCEL: "Avbryt",
4089
+ APPLY: "Bruk",
4090
+ LOADING: "Laster...",
4091
+ SEARCHRESULTCTA: "Se detaljer",
4092
+ SORTBY: "Sorter etter",
4093
+ PRICE_ASC: "Pris (lav til høy)",
4094
+ PRICE_DESC: "Pris (høy til lav)",
4095
+ DEPARTURE_ASC: "Avreisedato (nærmeste først)",
4096
+ FILTERS: "Filtre",
4097
+ SHOW_ITINERARY: "Vis reiserute",
4098
+ ITINERARY_TITLE: "Din reisemåloversikt",
4099
+ DOSSIER_NUMBER: "Saksnummer",
4100
+ PACKAGE_PRICE_PER_PERSON: "pakkepris per person",
4101
+ TOTAL: "totalt",
4102
+ DAY_BY_DAY: "Din reise dag for dag",
4103
+ START: "start",
4104
+ END: "slutt",
4105
+ EXTENDED: "Utvidet",
4106
+ COMPACT: "Kompakt",
4107
+ LIST: "Liste",
4108
+ SELECT: "Velg",
4109
+ DEPARTURE: "Avreise",
4110
+ RETURN: "Retur",
4111
+ DIRECT: "Direkte",
4112
+ STOPS: "stopp",
4113
+ STOP: "stopp",
4114
+ STOP_TIME: "Byttetid",
4115
+ ACCOMMODATION: "Overnatting",
4116
+ VIEW_DETAILS: "Se detaljer",
4117
+ NIGHTS: "netter"
4118
+ };
3257
4119
  var noJson = {
3258
4120
  STEPS: STEPS$4,
3259
4121
  INPUT: INPUT$4,
@@ -3268,7 +4130,9 @@ var noJson = {
3268
4130
  SUMMARY: SUMMARY$4,
3269
4131
  CONFIRMATION: CONFIRMATION$4,
3270
4132
  ERROR: ERROR$4,
3271
- PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$4
4133
+ PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$4,
4134
+ QSM: QSM$5,
4135
+ SRP: SRP$4
3272
4136
  };
3273
4137
 
3274
4138
  var STEPS$3 = {
@@ -3406,8 +4270,11 @@ var TRAVELERS_FORM$3 = {
3406
4270
  CHILD: "dziecko",
3407
4271
  CHILDREN: "dzieci",
3408
4272
  GENDER: "Forma grzecznościowa",
4273
+ GENDER_ID: "Płeć według paszportu/dowodu osobistego",
3409
4274
  MALE: "Pan",
4275
+ MALE_GENDER: "Mężczyzna",
3410
4276
  FEMALE: "Pani",
4277
+ FEMALE_GENDER: "Kobieta",
3411
4278
  OTHER: "Inne",
3412
4279
  MAIN_BOOKER: "Główny rezerwujący",
3413
4280
  FIRST_NAME: "Imię",
@@ -3518,6 +4385,73 @@ var PRINT_OFFER_BUTTON$3 = {
3518
4385
  LABEL_CREATING: "Generowanie oferty…",
3519
4386
  LABEL_PRINTING: "Generowanie PDF…"
3520
4387
  };
4388
+ var QSM$4 = {
4389
+ MULTIDESTINATION: "Wiele kierunków",
4390
+ PACKAGES: "Pakiety",
4391
+ TRANSPORT_HOTEL: "Transport + hotel",
4392
+ ACCOMMODATION: "Zakwaterowanie",
4393
+ TRANSPORTS: "Transport",
4394
+ TICKET_ONLY: "Tylko bilet",
4395
+ RENT_A_CAR: "Wynajem samochodu",
4396
+ TRANSFERS: "Transfery",
4397
+ CRUISES: "Rejsy",
4398
+ ONE_ACCOMMODATION: "Jedno zakwaterowanie",
4399
+ MULTIPLE_ACCOMMODATIONS: "Wiele zakwaterowań",
4400
+ TRAVEL_CLASS_LABEL: "Klasa podróży",
4401
+ TRAVEL_CLASS_PLACEHOLDER: "Wybierz klasę podróży",
4402
+ TRAVEL_TYPE_LABEL: "Typ podróży",
4403
+ TRAVEL_TYPE_PLACEHOLDER: "Wybierz typ podróży",
4404
+ NATIONALITY_LABEL: "Narodowość",
4405
+ NATIONALITY_PLACEHOLDER: "Wybierz narodowość",
4406
+ TRAVELERS_LABEL: "Kto podróżuje?",
4407
+ ADD_ROOM: "Dodaj pokój",
4408
+ REMOVE_ROOM: "Usuń pokój",
4409
+ MAX_TRAVELERS_REACHED: "Osiągnięto maksymalną liczbę podróżnych",
4410
+ ADULTS: "Dorośli",
4411
+ CHILDREN: "Dzieci",
4412
+ BABIES: "Niemowlęta",
4413
+ CHOOSE_DATES: "Wybierz daty",
4414
+ DEPARTURE_DATE: "Data wyjazdu",
4415
+ RETURN_DATE: "Data powrotu",
4416
+ CONFIRM: "Potwierdź",
4417
+ TRAVELERS: "Podróżni"
4418
+ };
4419
+ var SRP$3 = {
4420
+ NO_RESULTS: "Nie znaleziono wyników.",
4421
+ TOTAL_RESULTS_LABEL: "Znalezione pakiety",
4422
+ RESET: "Resetuj",
4423
+ LUGGAGEINCLUDED: "Bagaż wliczony",
4424
+ CANCEL: "Anuluj",
4425
+ APPLY: "Zastosuj",
4426
+ LOADING: "Ładowanie...",
4427
+ SEARCHRESULTCTA: "Zobacz szczegóły",
4428
+ SORTBY: "Sortuj według",
4429
+ PRICE_ASC: "Cena (od najniższej do najwyższej)",
4430
+ PRICE_DESC: "Cena (od najwyższej do najniższej)",
4431
+ DEPARTURE_ASC: "Data wyjazdu (najbliższa najpierw)",
4432
+ FILTERS: "Filtry",
4433
+ SHOW_ITINERARY: "Pokaż plan podróży",
4434
+ ITINERARY_TITLE: "Podsumowanie Twojej podróży",
4435
+ DOSSIER_NUMBER: "Numer pliku",
4436
+ PACKAGE_PRICE_PER_PERSON: "cena pakietu za osobę",
4437
+ TOTAL: "łącznie",
4438
+ DAY_BY_DAY: "Twoja podróż dzień po dniu",
4439
+ START: "początek",
4440
+ END: "koniec",
4441
+ EXTENDED: "Rozszerzony",
4442
+ COMPACT: "Kompaktowy",
4443
+ LIST: "Lista",
4444
+ SELECT: "Wybierz",
4445
+ DEPARTURE: "Wyjazd",
4446
+ RETURN: "Powrót",
4447
+ DIRECT: "Bezpośredni",
4448
+ STOPS: "przesiadki",
4449
+ STOP: "przesiadka",
4450
+ STOP_TIME: "Czas przesiadki",
4451
+ ACCOMMODATION: "Zakwaterowanie",
4452
+ VIEW_DETAILS: "Zobacz szczegóły",
4453
+ NIGHTS: "noce"
4454
+ };
3521
4455
  var plJson = {
3522
4456
  STEPS: STEPS$3,
3523
4457
  INPUT: INPUT$3,
@@ -3532,7 +4466,9 @@ var plJson = {
3532
4466
  SUMMARY: SUMMARY$3,
3533
4467
  CONFIRMATION: CONFIRMATION$3,
3534
4468
  ERROR: ERROR$3,
3535
- PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$3
4469
+ PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$3,
4470
+ QSM: QSM$4,
4471
+ SRP: SRP$3
3536
4472
  };
3537
4473
 
3538
4474
  var STEPS$2 = {
@@ -3670,8 +4606,11 @@ var TRAVELERS_FORM$2 = {
3670
4606
  CHILD: "criança",
3671
4607
  CHILDREN: "crianças",
3672
4608
  GENDER: "Tratamento",
4609
+ GENDER_ID: "Sexo conforme passaporte/documento de identidade",
3673
4610
  MALE: "Sr.",
4611
+ MALE_GENDER: "Homem",
3674
4612
  FEMALE: "Sra.",
4613
+ FEMALE_GENDER: "Mulher",
3675
4614
  OTHER: "Outro",
3676
4615
  MAIN_BOOKER: "Titular da reserva",
3677
4616
  FIRST_NAME: "Nome",
@@ -3782,6 +4721,73 @@ var PRINT_OFFER_BUTTON$2 = {
3782
4721
  LABEL_CREATING: "A gerar orçamento…",
3783
4722
  LABEL_PRINTING: "A gerar PDF…"
3784
4723
  };
4724
+ var QSM$3 = {
4725
+ MULTIDESTINATION: "Multidestino",
4726
+ PACKAGES: "Pacotes",
4727
+ TRANSPORT_HOTEL: "Transporte + hotel",
4728
+ ACCOMMODATION: "Alojamento",
4729
+ TRANSPORTS: "Transportes",
4730
+ TICKET_ONLY: "Só bilhete",
4731
+ RENT_A_CAR: "Alugar carro",
4732
+ TRANSFERS: "Transferes",
4733
+ CRUISES: "Cruzeiros",
4734
+ ONE_ACCOMMODATION: "Um alojamento",
4735
+ MULTIPLE_ACCOMMODATIONS: "Vários alojamentos",
4736
+ TRAVEL_CLASS_LABEL: "Classe de viagem",
4737
+ TRAVEL_CLASS_PLACEHOLDER: "Selecionar classe de viagem",
4738
+ TRAVEL_TYPE_LABEL: "Tipo de viagem",
4739
+ TRAVEL_TYPE_PLACEHOLDER: "Selecionar tipo de viagem",
4740
+ NATIONALITY_LABEL: "Nacionalidade",
4741
+ NATIONALITY_PLACEHOLDER: "Selecionar nacionalidade",
4742
+ TRAVELERS_LABEL: "Quem viaja?",
4743
+ ADD_ROOM: "Adicionar quarto",
4744
+ REMOVE_ROOM: "Remover quarto",
4745
+ MAX_TRAVELERS_REACHED: "Atingiu o número máximo de viajantes",
4746
+ ADULTS: "Adultos",
4747
+ CHILDREN: "Crianças",
4748
+ BABIES: "Bebés",
4749
+ CHOOSE_DATES: "Selecionar datas",
4750
+ DEPARTURE_DATE: "Data de partida",
4751
+ RETURN_DATE: "Data de regresso",
4752
+ CONFIRM: "Confirmar",
4753
+ TRAVELERS: "Viajantes"
4754
+ };
4755
+ var SRP$2 = {
4756
+ NO_RESULTS: "Nenhum resultado encontrado.",
4757
+ TOTAL_RESULTS_LABEL: "Pacotes encontrados",
4758
+ RESET: "Redefinir",
4759
+ LUGGAGEINCLUDED: "Bagagem incluída",
4760
+ CANCEL: "Cancelar",
4761
+ APPLY: "Aplicar",
4762
+ LOADING: "A carregar...",
4763
+ SEARCHRESULTCTA: "Ver detalhes",
4764
+ SORTBY: "Ordenar por",
4765
+ PRICE_ASC: "Preço (do mais baixo para o mais alto)",
4766
+ PRICE_DESC: "Preço (do mais alto para o mais baixo)",
4767
+ DEPARTURE_ASC: "Data de partida (mais próxima primeiro)",
4768
+ FILTERS: "Filtros",
4769
+ SHOW_ITINERARY: "Mostrar itinerário",
4770
+ ITINERARY_TITLE: "Resumo da sua viagem",
4771
+ DOSSIER_NUMBER: "Número do processo",
4772
+ PACKAGE_PRICE_PER_PERSON: "preço do pacote por pessoa",
4773
+ TOTAL: "total",
4774
+ DAY_BY_DAY: "A sua viagem dia a dia",
4775
+ START: "início",
4776
+ END: "fim",
4777
+ EXTENDED: "Estendido",
4778
+ COMPACT: "Compacto",
4779
+ LIST: "Lista",
4780
+ SELECT: "Selecionar",
4781
+ DEPARTURE: "Partida",
4782
+ RETURN: "Regresso",
4783
+ DIRECT: "Direto",
4784
+ STOPS: "escalas",
4785
+ STOP: "escala",
4786
+ STOP_TIME: "Tempo de escala",
4787
+ ACCOMMODATION: "Alojamento",
4788
+ VIEW_DETAILS: "Ver detalhes",
4789
+ NIGHTS: "noites"
4790
+ };
3785
4791
  var ptJson = {
3786
4792
  STEPS: STEPS$2,
3787
4793
  INPUT: INPUT$2,
@@ -3796,7 +4802,9 @@ var ptJson = {
3796
4802
  SUMMARY: SUMMARY$2,
3797
4803
  CONFIRMATION: CONFIRMATION$2,
3798
4804
  ERROR: ERROR$2,
3799
- PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$2
4805
+ PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$2,
4806
+ QSM: QSM$3,
4807
+ SRP: SRP$2
3800
4808
  };
3801
4809
 
3802
4810
  var STEPS$1 = {
@@ -3838,7 +4846,7 @@ var FLIGHTS_FORM$1 = {
3838
4846
  CHANGE_TIME: "Bytestid",
3839
4847
  FLIGHT_RETURN: "Returresa",
3840
4848
  NO_FLIGHTS_FOUND: "Inga flyg hittades.",
3841
- STARTING: "Från",
4849
+ STARTING: "",
3842
4850
  LOWEST_PRICE: "Lägsta pris",
3843
4851
  CHOOSE_YOUR_CLASS: "Välj klass:",
3844
4852
  PLUS_ONE_DAY: "+1 dag",
@@ -3933,9 +4941,12 @@ var TRAVELERS_FORM$1 = {
3933
4941
  ADULTS: "vuxna",
3934
4942
  CHILD: "barn",
3935
4943
  CHILDREN: "barn",
3936
- GENDER: "Tilltal",
4944
+ GENDER: "Tilltalsform",
4945
+ GENDER_ID: "Kön enligt pass/ID-kort",
3937
4946
  MALE: "Herr",
4947
+ MALE_GENDER: "Man",
3938
4948
  FEMALE: "Fru",
4949
+ FEMALE_GENDER: "Kvinna",
3939
4950
  OTHER: "Annat",
3940
4951
  MAIN_BOOKER: "Huvudbokare",
3941
4952
  FIRST_NAME: "Förnamn",
@@ -4046,6 +5057,73 @@ var PRINT_OFFER_BUTTON$1 = {
4046
5057
  LABEL_CREATING: "Skapar offert…",
4047
5058
  LABEL_PRINTING: "Skapar PDF…"
4048
5059
  };
5060
+ var QSM$2 = {
5061
+ MULTIDESTINATION: "Flera destinationer",
5062
+ PACKAGES: "Paket",
5063
+ TRANSPORT_HOTEL: "Transport + hotell",
5064
+ ACCOMMODATION: "Boende",
5065
+ TRANSPORTS: "Transport",
5066
+ TICKET_ONLY: "Endast biljett",
5067
+ RENT_A_CAR: "Hyr bil",
5068
+ TRANSFERS: "Transfer",
5069
+ CRUISES: "Kryssningar",
5070
+ ONE_ACCOMMODATION: "Ett boende",
5071
+ MULTIPLE_ACCOMMODATIONS: "Flera boenden",
5072
+ TRAVEL_CLASS_LABEL: "Reseklass",
5073
+ TRAVEL_CLASS_PLACEHOLDER: "Välj reseklass",
5074
+ TRAVEL_TYPE_LABEL: "Restyp",
5075
+ TRAVEL_TYPE_PLACEHOLDER: "Välj restyp",
5076
+ NATIONALITY_LABEL: "Nationalitet",
5077
+ NATIONALITY_PLACEHOLDER: "Välj nationalitet",
5078
+ TRAVELERS_LABEL: "Vem reser?",
5079
+ ADD_ROOM: "Lägg till rum",
5080
+ REMOVE_ROOM: "Ta bort rum",
5081
+ MAX_TRAVELERS_REACHED: "Du har nått maximalt antal resenärer",
5082
+ ADULTS: "Vuxna",
5083
+ CHILDREN: "Barn",
5084
+ BABIES: "Spädbarn",
5085
+ CHOOSE_DATES: "Välj datum",
5086
+ DEPARTURE_DATE: "Avresedatum",
5087
+ RETURN_DATE: "Hemresedatum",
5088
+ CONFIRM: "Bekräfta",
5089
+ TRAVELERS: "Resenärer"
5090
+ };
5091
+ var SRP$1 = {
5092
+ NO_RESULTS: "Inga resultat hittades.",
5093
+ TOTAL_RESULTS_LABEL: "Hittade paket",
5094
+ RESET: "Återställ",
5095
+ LUGGAGEINCLUDED: "Bagage ingår",
5096
+ CANCEL: "Avbryt",
5097
+ APPLY: "Tillämpa",
5098
+ LOADING: "Laddar...",
5099
+ SEARCHRESULTCTA: "Visa detaljer",
5100
+ SORTBY: "Sortera efter",
5101
+ PRICE_ASC: "Pris (lågt till högt)",
5102
+ PRICE_DESC: "Pris (högt till lågt)",
5103
+ DEPARTURE_ASC: "Avresedatum (närmast först)",
5104
+ FILTERS: "Filter",
5105
+ SHOW_ITINERARY: "Visa resplan",
5106
+ ITINERARY_TITLE: "Din resesammanfattning",
5107
+ DOSSIER_NUMBER: "Filnummer",
5108
+ PACKAGE_PRICE_PER_PERSON: "paketpris per person",
5109
+ TOTAL: "totalt",
5110
+ DAY_BY_DAY: "Din resa dag för dag",
5111
+ START: "start",
5112
+ END: "slut",
5113
+ EXTENDED: "Utökad",
5114
+ COMPACT: "Kompakt",
5115
+ LIST: "Lista",
5116
+ SELECT: "Välj",
5117
+ DEPARTURE: "Avresa",
5118
+ RETURN: "Återkomst",
5119
+ DIRECT: "Direkt",
5120
+ STOPS: "stopp",
5121
+ STOP: "stopp",
5122
+ STOP_TIME: "Bytestid",
5123
+ ACCOMMODATION: "Boende",
5124
+ VIEW_DETAILS: "Visa detaljer",
5125
+ NIGHTS: "nätter"
5126
+ };
4049
5127
  var svJson = {
4050
5128
  STEPS: STEPS$1,
4051
5129
  INPUT: INPUT$1,
@@ -4060,7 +5138,9 @@ var svJson = {
4060
5138
  SUMMARY: SUMMARY$1,
4061
5139
  CONFIRMATION: CONFIRMATION$1,
4062
5140
  ERROR: ERROR$1,
4063
- PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$1
5141
+ PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$1,
5142
+ QSM: QSM$2,
5143
+ SRP: SRP$1
4064
5144
  };
4065
5145
 
4066
5146
  var STEPS = {
@@ -4198,8 +5278,11 @@ var TRAVELERS_FORM = {
4198
5278
  CHILD: "子供",
4199
5279
  CHILDREN: "子供",
4200
5280
  GENDER: "敬称",
4201
- MALE: "様(男性)",
4202
- FEMALE: "様(女性)",
5281
+ GENDER_ID: "パスポート/身分証明書上の性別",
5282
+ MALE: "男性",
5283
+ MALE_GENDER: "男性",
5284
+ FEMALE: "女性",
5285
+ FEMALE_GENDER: "女性",
4203
5286
  OTHER: "その他",
4204
5287
  MAIN_BOOKER: "代表予約者",
4205
5288
  FIRST_NAME: "名",
@@ -4310,6 +5393,73 @@ var PRINT_OFFER_BUTTON = {
4310
5393
  LABEL_CREATING: "見積もりを生成中…",
4311
5394
  LABEL_PRINTING: "PDFを生成中…"
4312
5395
  };
5396
+ var QSM$1 = {
5397
+ MULTIDESTINATION: "複数都市",
5398
+ PACKAGES: "パッケージ",
5399
+ TRANSPORT_HOTEL: "交通 + ホテル",
5400
+ ACCOMMODATION: "宿泊",
5401
+ TRANSPORTS: "交通",
5402
+ TICKET_ONLY: "チケットのみ",
5403
+ RENT_A_CAR: "レンタカー",
5404
+ TRANSFERS: "送迎",
5405
+ CRUISES: "クルーズ",
5406
+ ONE_ACCOMMODATION: "1つの宿泊先",
5407
+ MULTIPLE_ACCOMMODATIONS: "複数の宿泊先",
5408
+ TRAVEL_CLASS_LABEL: "座席クラス",
5409
+ TRAVEL_CLASS_PLACEHOLDER: "座席クラスを選択",
5410
+ TRAVEL_TYPE_LABEL: "旅行タイプ",
5411
+ TRAVEL_TYPE_PLACEHOLDER: "旅行タイプを選択",
5412
+ NATIONALITY_LABEL: "国籍",
5413
+ NATIONALITY_PLACEHOLDER: "国籍を選択",
5414
+ TRAVELERS_LABEL: "旅行者は誰ですか?",
5415
+ ADD_ROOM: "部屋を追加",
5416
+ REMOVE_ROOM: "部屋を削除",
5417
+ MAX_TRAVELERS_REACHED: "旅行者の最大人数に達しました",
5418
+ ADULTS: "大人",
5419
+ CHILDREN: "子供",
5420
+ BABIES: "乳児",
5421
+ CHOOSE_DATES: "日付を選択",
5422
+ DEPARTURE_DATE: "出発日",
5423
+ RETURN_DATE: "帰着日",
5424
+ CONFIRM: "確認",
5425
+ TRAVELERS: "旅行者"
5426
+ };
5427
+ var SRP = {
5428
+ NO_RESULTS: "結果が見つかりませんでした。",
5429
+ TOTAL_RESULTS_LABEL: "見つかったパッケージ",
5430
+ RESET: "リセット",
5431
+ LUGGAGEINCLUDED: "手荷物込み",
5432
+ CANCEL: "キャンセル",
5433
+ APPLY: "適用",
5434
+ LOADING: "読み込み中...",
5435
+ SEARCHRESULTCTA: "詳細を見る",
5436
+ SORTBY: "並び替え",
5437
+ PRICE_ASC: "価格(安い順)",
5438
+ PRICE_DESC: "価格(高い順)",
5439
+ DEPARTURE_ASC: "出発日(早い順)",
5440
+ FILTERS: "フィルター",
5441
+ SHOW_ITINERARY: "旅程を表示",
5442
+ ITINERARY_TITLE: "あなたの旅行概要",
5443
+ DOSSIER_NUMBER: "ファイル番号",
5444
+ PACKAGE_PRICE_PER_PERSON: "1人あたりのパッケージ料金",
5445
+ TOTAL: "合計",
5446
+ DAY_BY_DAY: "日ごとの旅程",
5447
+ START: "開始",
5448
+ END: "終了",
5449
+ EXTENDED: "拡張",
5450
+ COMPACT: "コンパクト",
5451
+ LIST: "リスト",
5452
+ SELECT: "選択",
5453
+ DEPARTURE: "出発",
5454
+ RETURN: "帰り",
5455
+ DIRECT: "直行",
5456
+ STOPS: "停車",
5457
+ STOP: "停車",
5458
+ STOP_TIME: "乗り換え時間",
5459
+ ACCOMMODATION: "宿泊",
5460
+ VIEW_DETAILS: "詳細を見る",
5461
+ NIGHTS: "泊"
5462
+ };
4313
5463
  var jaJson = {
4314
5464
  STEPS: STEPS,
4315
5465
  INPUT: INPUT,
@@ -4324,10 +5474,12 @@ var jaJson = {
4324
5474
  SUMMARY: SUMMARY,
4325
5475
  CONFIRMATION: CONFIRMATION,
4326
5476
  ERROR: ERROR,
4327
- PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON
5477
+ PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON,
5478
+ QSM: QSM$1,
5479
+ SRP: SRP
4328
5480
  };
4329
5481
 
4330
- var formatPrice$1 = function (price, currencyCode, locale) {
5482
+ var formatPrice = function (price, currencyCode, locale) {
4331
5483
  if (locale === void 0) { locale = 'nl-BE'; }
4332
5484
  var priceFormat = Intl.NumberFormat(locale, {
4333
5485
  style: 'currency',
@@ -4432,7 +5584,7 @@ function getLocale(code) {
4432
5584
  }
4433
5585
  }
4434
5586
  var getPriceDifferenceText = function (price, currencyCode) {
4435
- return price > 0 ? "+ ".concat(formatPrice$1(Math.abs(price), currencyCode)) : "- ".concat(formatPrice$1(Math.abs(price), currencyCode));
5587
+ return price > 0 ? "+ ".concat(formatPrice(Math.abs(price), currencyCode)) : "- ".concat(formatPrice(Math.abs(price), currencyCode));
4436
5588
  };
4437
5589
  function format(text, args) {
4438
5590
  return text.replace(/{([0-9]+)}/g, function (match, index) {
@@ -10797,6 +11949,7 @@ var ENDPOINT_SEARCH_WITH_ERROR_MAPPING =
10797
11949
  ENDPOINT$7 + "/search-with-error-mapping";
10798
11950
  // const ENDPOINT_ELASTIC = `${ENDPOINT}/elastic`; // TODO
10799
11951
  var ENDPOINT_DETAILS = ENDPOINT$7 + "/details";
11952
+ var ENDPOINT_DETAILS_WL = ENDPOINT$7 + "/details-wl";
10800
11953
  var ENDPOINT_VALIDATE_VOUCHER = ENDPOINT$7 + "/validate-voucher";
10801
11954
  var ENDPOINT_ALTERNATE_HOTELS = function (transactionId, optionId) {
10802
11955
  return (
@@ -10884,6 +12037,12 @@ var details = function (config, request, signal, languageCode) {
10884
12037
  var body = JSON.stringify(request);
10885
12038
  return post(url, apiKey, body, config.token, signal, true, languageCode);
10886
12039
  };
12040
+ var detailsWL = function (config, request, signal, languageCode) {
12041
+ var url = "" + config.host + ENDPOINT_DETAILS_WL;
12042
+ var apiKey = config.apiKey;
12043
+ var body = JSON.stringify(request);
12044
+ return post(url, apiKey, body, config.token, signal, true, languageCode);
12045
+ };
10887
12046
  var validateVoucher = function (config, request, signal) {
10888
12047
  var url = "" + config.host + ENDPOINT_VALIDATE_VOUCHER;
10889
12048
  var apiKey = config.apiKey;
@@ -11463,6 +12622,7 @@ exports.contactHasTag = contactHasTag;
11463
12622
  exports.createCrmContact = createCrmContact;
11464
12623
  exports.createParams = createParams;
11465
12624
  exports.details = details;
12625
+ exports.detailsWL = detailsWL;
11466
12626
  exports.feedXml = feedXml;
11467
12627
  exports.feedXmlFolder = feedXmlFolder;
11468
12628
  exports.flightLines = flightLines;
@@ -11562,16 +12722,16 @@ var formatPriceByMode = function (price, priceMode, personCount, duration, perPe
11562
12722
  return '';
11563
12723
  switch (priceMode) {
11564
12724
  case 0:
11565
- return "".concat(formatPrice$1(price, currencyCode));
12725
+ return "".concat(formatPrice(price, currencyCode));
11566
12726
  case 1:
11567
12727
  var perPersonPrice = price / personCount;
11568
- return "".concat(formatPrice$1(perPersonPrice, currencyCode), " / ").concat(perPersonLabel);
12728
+ return "".concat(formatPrice(perPersonPrice, currencyCode), " / ").concat(perPersonLabel);
11569
12729
  case 2:
11570
12730
  var perNightPrice = price / duration;
11571
- return "".concat(formatPrice$1(perNightPrice, currencyCode), " / ").concat(perNightLabel);
12731
+ return "".concat(formatPrice(perNightPrice, currencyCode), " / ").concat(perNightLabel);
11572
12732
  case 3:
11573
12733
  var perPersonPerNightPrice = price / duration;
11574
- return "".concat(formatPrice$1(perPersonPerNightPrice, currencyCode), " / ").concat(perPersonPerNightLabel);
12734
+ return "".concat(formatPrice(perPersonPerNightPrice, currencyCode), " / ").concat(perPersonPerNightLabel);
11575
12735
  }
11576
12736
  };
11577
12737
 
@@ -13334,15 +14494,16 @@ var Product = function (_a) {
13334
14494
  var _m = useState(false), hasTransfer = _m[0], setHasTransfer = _m[1];
13335
14495
  var _o = useState([{ adults: 2, children: 0, childAges: [] }]), rooms = _o[0], setRooms = _o[1];
13336
14496
  var _p = useState([]), searchResponse = _p[0], setSearchResponse = _p[1];
13337
- var _q = useState(), dateRange = _q[0], setDateRange = _q[1];
13338
- var _r = useState(productName), packageProductName = _r[0], setPackageProductName = _r[1];
13339
- var _s = useState(''), currencyCode = _s[0], setCurrencyCode = _s[1];
13340
- var _t = useState([]), searchResults = _t[0], setSearchResults = _t[1];
14497
+ var _q = useState(), detailResponse = _q[0], setDetailResponse = _q[1];
14498
+ var _r = useState(), dateRange = _r[0], setDateRange = _r[1];
14499
+ var _s = useState(productName), packageProductName = _s[0], setPackageProductName = _s[1];
14500
+ var _t = useState(''), currencyCode = _t[0], setCurrencyCode = _t[1];
14501
+ var _u = useState([]), searchResults = _u[0], setSearchResults = _u[1];
13341
14502
  var skipNextFetchRef = useRef(false);
13342
14503
  var fetchPackage = function (signal) { return __awaiter(void 0, void 0, void 0, function () {
13343
- var apiSettingsState, startDate, endDate, requestRooms, detailsRequest, searchRequest, detailResponse, _a, selectedOption, hasFlight_1, hasTranfer;
13344
- return __generator(this, function (_b) {
13345
- switch (_b.label) {
14504
+ var apiSettingsState, startDate, endDate, requestRooms, detailsRequest, searchRequest, _a, _b;
14505
+ return __generator(this, function (_c) {
14506
+ switch (_c.label) {
13346
14507
  case 0:
13347
14508
  if (displayMode === 'list' && searchType !== 1) {
13348
14509
  console.error('The combination of searchType and displayMode is not supported.' + " Please set searchType to 1 when using displayMode 'list'.");
@@ -13404,40 +14565,22 @@ var Product = function (_a) {
13404
14565
  }
13405
14566
  };
13406
14567
  setIsLoading(true);
13407
- detailResponse = void 0;
13408
14568
  if (!(displayMode === 'calendar' && searchType === 0)) return [3 /*break*/, 2];
14569
+ _a = setDetailResponse;
13409
14570
  return [4 /*yield*/, packageApi$1.fetchDetails(detailsRequest, signal, language, apiSettingsState)];
13410
14571
  case 1:
13411
- detailResponse = _b.sent();
13412
- _b.label = 2;
14572
+ _a.apply(void 0, [_c.sent()]);
14573
+ _c.label = 2;
13413
14574
  case 2:
13414
14575
  if (!(searchType === 1)) return [3 /*break*/, 4];
13415
- _a = setSearchResponse;
14576
+ _b = setSearchResponse;
13416
14577
  return [4 /*yield*/, packageApi$1.fetchSearch(searchRequest, signal, apiSettingsState)];
13417
14578
  case 3:
13418
- _a.apply(void 0, [_b.sent()]);
13419
- _b.label = 4;
14579
+ _b.apply(void 0, [_c.sent()]);
14580
+ _c.label = 4;
13420
14581
  case 4:
13421
- if (detailResponse && !detailResponse.errorCode && detailResponse.payload) {
13422
- selectedOption = detailResponse.payload.options.find(function (x) { return x.isSelected; });
13423
- if (selectedOption) {
13424
- hasFlight_1 = selectedOption.includedServiceTypes.some(function (x) { return x === 7; });
13425
- hasTranfer = selectedOption.includedServiceTypes.some(function (x) { return x === 13; });
13426
- setPrice(selectedOption.price);
13427
- setHasFlight(hasFlight_1);
13428
- setHasTransfer(hasTranfer);
13429
- setCurrencyCode(detailResponse.payload.currencyCode);
13430
- setPackageProductName(selectedOption.name);
13431
- }
13432
- }
13433
- else {
13434
- setPrice(undefined);
13435
- setHasFlight(false);
13436
- setHasTransfer(false);
13437
- setCurrencyCode('');
13438
- }
13439
14582
  setIsLoading(false);
13440
- _b.label = 5;
14583
+ _c.label = 5;
13441
14584
  case 5: return [2 /*return*/];
13442
14585
  }
13443
14586
  });
@@ -13508,10 +14651,12 @@ var Product = function (_a) {
13508
14651
  if (selectedItem) {
13509
14652
  setPrice(selectedItem.price);
13510
14653
  setPackageProductName(selectedItem.name);
14654
+ setCurrencyCode(selectedItem.currencyCode);
13511
14655
  }
13512
14656
  else {
13513
14657
  setPrice(searchResponse[0].price);
13514
14658
  setPackageProductName(searchResponse[0].name);
14659
+ setCurrencyCode(searchResponse[0].currencyCode);
13515
14660
  }
13516
14661
  }
13517
14662
  else {
@@ -13520,6 +14665,26 @@ var Product = function (_a) {
13520
14665
  setPackageProductName(translations.PRODUCT.NOT_AVAILABLE);
13521
14666
  }
13522
14667
  }, [searchResponse]);
14668
+ useEffect(function () {
14669
+ if (detailResponse && !detailResponse.errorCode && detailResponse.payload) {
14670
+ var selectedOption = detailResponse.payload.options.find(function (x) { return x.isSelected; });
14671
+ if (selectedOption) {
14672
+ var hasFlight_1 = selectedOption.includedServiceTypes.some(function (x) { return x === 7; });
14673
+ var hasTranfer = selectedOption.includedServiceTypes.some(function (x) { return x === 13; });
14674
+ setPrice(selectedOption.price);
14675
+ setHasFlight(hasFlight_1);
14676
+ setHasTransfer(hasTranfer);
14677
+ setCurrencyCode(detailResponse.payload.currencyCode);
14678
+ setPackageProductName(selectedOption.name);
14679
+ }
14680
+ }
14681
+ else if (detailResponse !== undefined) {
14682
+ setPrice(undefined);
14683
+ setHasFlight(false);
14684
+ setHasTransfer(false);
14685
+ setCurrencyCode('');
14686
+ }
14687
+ }, [detailResponse]);
13523
14688
  useEffect(function () {
13524
14689
  if (searchType === 1 && skipNextFetchRef.current) {
13525
14690
  skipNextFetchRef.current = false;
@@ -15264,7 +16429,7 @@ var getFlightDetails = function (flight) {
15264
16429
  arrivalDate: lastLine.arrivalDate,
15265
16430
  arrivalTime: lastLine.arrivalTime,
15266
16431
  arrivalAirport: lastLine.arrivalAirportDescription,
15267
- travelDuration: formatDuration(flight.flightMetaData.durationInTicks),
16432
+ travelDuration: formatDuration$1(flight.flightMetaData.durationInTicks),
15268
16433
  travelDurationMinutes: minutesFromTicks(flight.flightMetaData.durationInTicks),
15269
16434
  changeDurationMinutes: getTotalChangeDuration(flight),
15270
16435
  numberOfStops: flight.flightMetaData.flightLines.length - 1,
@@ -15279,7 +16444,7 @@ var getFlightDetails = function (flight) {
15279
16444
  arrivalTime: x.arrivalTime,
15280
16445
  arrivalAirport: x.arrivalAirportDescription,
15281
16446
  number: "".concat(x.airlineCode, " ").concat(x.number),
15282
- travelDuration: formatDuration(x.durationInTicks),
16447
+ travelDuration: formatDuration$1(x.durationInTicks),
15283
16448
  waitDuration: waitDurations.length - 1 <= i ? waitDurations[i] : undefined
15284
16449
  }); })
15285
16450
  };
@@ -15355,7 +16520,7 @@ var minutesFromTicks = function (ticks) {
15355
16520
  var totalSeconds = ticks / 10000000;
15356
16521
  return Math.floor(totalSeconds / 60);
15357
16522
  };
15358
- var formatDuration = function (ticks) {
16523
+ var formatDuration$1 = function (ticks) {
15359
16524
  if (!ticks)
15360
16525
  return '';
15361
16526
  var totalSeconds = ticks / 10000000;
@@ -16117,7 +17282,7 @@ var NoneOption = function (_a) {
16117
17282
  var selectedOption = group.options.find(function (x) { return x.isSelected; });
16118
17283
  var showNoneOption = group.options.some(function (x) { return x.requirementType === 2; });
16119
17284
  var noneSelected = !selectedOption;
16120
- var priceDifferencetext = selectedOption ? "- ".concat(formatPrice$1(Math.abs(selectedOption.line.price), currencyCode)) : '';
17285
+ var priceDifferencetext = selectedOption ? "- ".concat(formatPrice(Math.abs(selectedOption.line.price), currencyCode)) : '';
16121
17286
  return (React.createElement(React.Fragment, null, showNoneOption && (React.createElement("tr", null,
16122
17287
  React.createElement("td", null,
16123
17288
  React.createElement("div", { className: buildClassName(['tree', noneSelected && 'tree--selected']) },
@@ -16669,7 +17834,7 @@ var OptionRoom = function (_a) {
16669
17834
  e.preventDefault();
16670
17835
  };
16671
17836
  var getPriceDifferenceText = function (price) {
16672
- return price > 0 ? "+ ".concat(formatPrice$1(Math.abs(price), currencyCode)) : "- ".concat(formatPrice$1(Math.abs(price), currencyCode));
17837
+ return price > 0 ? "+ ".concat(formatPrice(Math.abs(price), currencyCode)) : "- ".concat(formatPrice(Math.abs(price), currencyCode));
16673
17838
  };
16674
17839
  var getAccommodationPriceDifference = function (accommodation) {
16675
17840
  var _a;
@@ -17316,7 +18481,7 @@ var Sidebar = function (_a) {
17316
18481
  React.createElement("div", { className: "pricing-summary__row" },
17317
18482
  React.createElement("div", { className: "pricing-summary__property" },
17318
18483
  React.createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.BASE_PRICE)),
17319
- React.createElement("div", { className: "pricing-summary__value" }, formatPrice$1(basePrice, currencyCode))))),
18484
+ React.createElement("div", { className: "pricing-summary__value" }, formatPrice(basePrice, currencyCode))))),
17320
18485
  !isEmpty(includedCosts) && (React.createElement("div", { className: "pricing-summary__group" },
17321
18486
  React.createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.INCLUDED_COSTS), includedCosts === null || includedCosts === void 0 ? void 0 :
17322
18487
  includedCosts.map(function (priceDetail, index) {
@@ -17324,7 +18489,7 @@ var Sidebar = function (_a) {
17324
18489
  return (React.createElement(React.Fragment, { key: compact([priceDetail.productCode, priceDetail.accommodationCode, index]).join('_') },
17325
18490
  React.createElement("div", { className: "pricing-summary__row" },
17326
18491
  React.createElement("div", { className: "pricing-summary__property" }, priceDetail.productName),
17327
- priceDetail.showPrice && (React.createElement("div", { className: "pricing-summary__value" }, formatPrice$1(priceDetail.price * priceDetail.amount, currencyCode)))),
18492
+ priceDetail.showPrice && (React.createElement("div", { className: "pricing-summary__value" }, formatPrice(priceDetail.price * priceDetail.amount, currencyCode)))),
17328
18493
  React.createElement("div", { className: "pricing-summary__row" },
17329
18494
  React.createElement("div", { className: "price-summary__property" }, (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode))));
17330
18495
  }))),
@@ -17335,7 +18500,7 @@ var Sidebar = function (_a) {
17335
18500
  return (React.createElement(React.Fragment, { key: compact([priceDetail.productCode, priceDetail.accommodationCode, index]).join('_') },
17336
18501
  React.createElement("div", { className: "pricing-summary__row" },
17337
18502
  React.createElement("div", { className: "pricing-summary__property" }, priceDetail.productName),
17338
- priceDetail.showPrice && (React.createElement("div", { className: "pricing-summary__value" }, formatPrice$1(priceDetail.price * priceDetail.amount, currencyCode)))),
18503
+ priceDetail.showPrice && (React.createElement("div", { className: "pricing-summary__value" }, formatPrice(priceDetail.price * priceDetail.amount, currencyCode)))),
17339
18504
  React.createElement("div", { className: "pricing-summary__row" },
17340
18505
  React.createElement("div", { className: "price-summary__property" }, (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode))));
17341
18506
  }))))))) : (React.createElement("div", { className: "pricing-summary__region" },
@@ -17346,20 +18511,20 @@ var Sidebar = function (_a) {
17346
18511
  React.createElement("h6", { className: "pricing-summary__title" }, translations.SHARED.TOTAL_PRICE)),
17347
18512
  React.createElement("div", { className: "pricing-summary__value" },
17348
18513
  React.createElement("div", { className: "pricing" },
17349
- React.createElement("div", { className: "pricing__price" }, formatPrice$1(totalPrice, currencyCode)))))),
18514
+ React.createElement("div", { className: "pricing__price" }, formatPrice(totalPrice, currencyCode)))))),
17350
18515
  React.createElement("div", { className: "pricing-summary__row" },
17351
18516
  React.createElement("div", { className: "pricing-summary__property" },
17352
18517
  React.createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.DEPOSIT)),
17353
18518
  React.createElement("div", { className: "pricing-summary__value" },
17354
18519
  React.createElement("div", { className: "pricing" },
17355
- React.createElement("div", { className: "pricing__price" }, formatPrice$1(deposit, currencyCode))))),
18520
+ React.createElement("div", { className: "pricing__price" }, formatPrice(deposit, currencyCode))))),
17356
18521
  React.createElement("div", { className: "pricing-summary__row" },
17357
18522
  React.createElement("small", null,
17358
18523
  React.createElement("em", null,
17359
18524
  translations.SIDEBAR.DEPOSIT_TEXT1,
17360
18525
  React.createElement("strong", null, translations.SIDEBAR.DEPOSIT_TEXT2),
17361
18526
  translations.SIDEBAR.DEPOSIT_TEXT3,
17362
- formatPrice$1(remainingAmount, currencyCode),
18527
+ formatPrice(remainingAmount, currencyCode),
17363
18528
  translations.SIDEBAR.DEPOSIT_TEXT4,
17364
18529
  React.createElement("strong", null, translations.SIDEBAR.DEPOSIT_TEXT5),
17365
18530
  translations.SIDEBAR.DEPOSIT_TEXT6))))) : (React.createElement("div", { className: "pricing-summary__group" }, totalPrice !== undefined && totalPrice > 0 && (React.createElement("div", { className: "pricing-summary__row pricing-summary__row--total-price" },
@@ -17367,7 +18532,7 @@ var Sidebar = function (_a) {
17367
18532
  React.createElement("h6", { className: "pricing-summary__title" }, translations.SHARED.TOTAL_PRICE)),
17368
18533
  React.createElement("div", { className: "pricing-summary__value" },
17369
18534
  React.createElement("div", { className: "pricing" },
17370
- React.createElement("div", { className: "pricing__price" }, formatPrice$1(totalPrice, currencyCode)))))))))),
18535
+ React.createElement("div", { className: "pricing__price" }, formatPrice(totalPrice, currencyCode)))))))))),
17371
18536
  footerComponent))));
17372
18537
  };
17373
18538
 
@@ -17870,21 +19035,17 @@ var GenderControl = function (_a) {
17870
19035
  var translations = _a.translations, value = _a.value, formik = _a.formik, name = _a.name;
17871
19036
  return (React.createElement("div", { className: buildClassName(['form__group', hasVisibleError(formik, name) && 'form__group--error']) },
17872
19037
  React.createElement("label", { className: "form__label" },
17873
- translations.TRAVELERS_FORM.GENDER,
19038
+ translations.TRAVELERS_FORM.GENDER_ID,
17874
19039
  " *"),
17875
19040
  React.createElement("div", { className: "radiobutton-group" },
17876
19041
  React.createElement("div", { className: "radiobutton" },
17877
19042
  React.createElement("label", { className: "radiobutton__label" },
17878
19043
  React.createElement("input", { type: "radio", className: "radiobutton__input", name: name, onChange: formik.handleChange, onBlur: formik.handleBlur, value: "m", checked: value.gender === 'm' }),
17879
- translations.TRAVELERS_FORM.MALE)),
19044
+ translations.TRAVELERS_FORM.MALE_GENDER)),
17880
19045
  React.createElement("div", { className: "radiobutton" },
17881
19046
  React.createElement("label", { className: "radiobutton__label" },
17882
19047
  React.createElement("input", { type: "radio", className: "radiobutton__input", name: name, onChange: formik.handleChange, onBlur: formik.handleBlur, value: "f", checked: value.gender === 'f' }),
17883
- translations.TRAVELERS_FORM.FEMALE)),
17884
- React.createElement("div", { className: "radiobutton" },
17885
- React.createElement("label", { className: "radiobutton__label" },
17886
- React.createElement("input", { type: "radio", className: "radiobutton__input", name: name, onChange: formik.handleChange, onBlur: formik.handleBlur, value: "x", checked: value.gender === 'x' }),
17887
- translations.TRAVELERS_FORM.OTHER)))));
19048
+ translations.TRAVELERS_FORM.FEMALE_GENDER)))));
17888
19049
  };
17889
19050
 
17890
19051
  var TypeAheadInput = function (_a) {
@@ -18514,21 +19675,17 @@ var TravelersForm = function () {
18514
19675
  React.createElement("div", { className: "form__row" },
18515
19676
  React.createElement("div", { className: buildClassName(['form__group', hasVisibleError("rooms[".concat(rIndex, "].adults[").concat(index, "].gender")) && 'form__group--error']) },
18516
19677
  React.createElement("label", { className: "form__label" },
18517
- translations.TRAVELERS_FORM.GENDER,
19678
+ translations.TRAVELERS_FORM.GENDER_ID,
18518
19679
  " *"),
18519
19680
  React.createElement("div", { className: "radiobutton-group" },
18520
19681
  React.createElement("div", { className: "radiobutton" },
18521
19682
  React.createElement("label", { className: "radiobutton__label" },
18522
19683
  React.createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].adults[").concat(index, "].gender"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: "m", checked: travelerValues.gender === 'm' }),
18523
- translations.TRAVELERS_FORM.MALE)),
19684
+ translations.TRAVELERS_FORM.MALE_GENDER)),
18524
19685
  React.createElement("div", { className: "radiobutton" },
18525
19686
  React.createElement("label", { className: "radiobutton__label" },
18526
19687
  React.createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].adults[").concat(index, "].gender"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: "f", checked: travelerValues.gender === 'f' }),
18527
- translations.TRAVELERS_FORM.FEMALE)),
18528
- React.createElement("div", { className: "radiobutton" },
18529
- React.createElement("label", { className: "radiobutton__label" },
18530
- React.createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].adults[").concat(index, "].gender"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: "x", checked: travelerValues.gender === 'x' }),
18531
- translations.TRAVELERS_FORM.OTHER))))),
19688
+ translations.TRAVELERS_FORM.FEMALE_GENDER))))),
18532
19689
  React.createElement("div", { className: "form__row" },
18533
19690
  React.createElement(LabeledInput, { hasError: hasVisibleError("rooms[".concat(rIndex, "].adults[").concat(index, "].firstName")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.FIRST_NAME, required: true, name: "rooms[".concat(rIndex, "].adults[").concat(index, "].firstName"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: travelerValues.firstName }),
18534
19691
  React.createElement(LabeledInput, { hasError: hasVisibleError("rooms[".concat(rIndex, "].adults[").concat(index, "].lastName")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.LAST_NAME, required: true, name: "rooms[".concat(rIndex, "].adults[").concat(index, "].lastName"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: travelerValues.lastName }),
@@ -18549,21 +19706,17 @@ var TravelersForm = function () {
18549
19706
  React.createElement("div", { className: "form__row" },
18550
19707
  React.createElement("div", { className: buildClassName(['form__group', hasVisibleError("rooms[".concat(rIndex, "].children[").concat(index, "].gender")) && 'form__group--error']) },
18551
19708
  React.createElement("label", { className: "form__label" },
18552
- translations.TRAVELERS_FORM.GENDER,
19709
+ translations.TRAVELERS_FORM.GENDER_ID,
18553
19710
  " *"),
18554
19711
  React.createElement("div", { className: "radiobutton-group" },
18555
19712
  React.createElement("div", { className: "radiobutton" },
18556
19713
  React.createElement("label", { className: "radiobutton__label" },
18557
19714
  React.createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].children[").concat(index, "].gender"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: "m", checked: travelerValues.gender === 'm' }),
18558
- translations.TRAVELERS_FORM.MALE)),
19715
+ translations.TRAVELERS_FORM.MALE_GENDER)),
18559
19716
  React.createElement("div", { className: "radiobutton" },
18560
19717
  React.createElement("label", { className: "radiobutton__label" },
18561
19718
  React.createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].children[").concat(index, "].gender"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: "f", checked: travelerValues.gender === 'f' }),
18562
- translations.TRAVELERS_FORM.FEMALE)),
18563
- React.createElement("div", { className: "radiobutton" },
18564
- React.createElement("label", { className: "radiobutton__label" },
18565
- React.createElement("input", { type: "radio", className: "radiobutton__input", name: "rooms[".concat(rIndex, "].children[").concat(index, "].gender"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: "x", checked: travelerValues.gender === 'x' }),
18566
- translations.TRAVELERS_FORM.OTHER))))),
19719
+ translations.TRAVELERS_FORM.FEMALE_GENDER))))),
18567
19720
  React.createElement("div", { className: "form__row" },
18568
19721
  React.createElement(LabeledInput, { hasError: hasVisibleError("rooms[".concat(rIndex, "].children[").concat(index, "].firstName")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.FIRST_NAME, required: true, name: "rooms[".concat(rIndex, "].children[").concat(index, "].firstName"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: travelerValues.firstName }),
18569
19722
  React.createElement(LabeledInput, { hasError: hasVisibleError("rooms[".concat(rIndex, "].children[").concat(index, "].lastName")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.LAST_NAME, required: true, name: "rooms[".concat(rIndex, "].children[").concat(index, "].lastName"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: travelerValues.lastName }),
@@ -19010,7 +20163,7 @@ var Icon$2 = function (_a) {
19010
20163
  React.createElement(HTMLComment, { text: "!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc." }),
19011
20164
  title && React.createElement("title", null, title),
19012
20165
  React.createElement("path", { d: "M384 96l0 128-128 0 0-128 128 0zm0 192l0 128-128 0 0-128 128 0zM192 224l-128 0 0-128 128 0 0 128zM64 288l128 0 0 128-128 0 0-128zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z", fill: "currentColor" })));
19013
- case 'ui-comparator':
20166
+ case 'ui-list':
19014
20167
  return (React.createElement("svg", { className: ['icon', "icon--".concat(name), className].filter(function (className) { return !isEmpty(className); }).join(' '), width: width, height: height, viewBox: "0 0 512 512" },
19015
20168
  React.createElement(HTMLComment, { text: "!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc." }),
19016
20169
  title && React.createElement("title", null, title),
@@ -19601,7 +20754,6 @@ var QSMConfigurationContext = React.createContext({
19601
20754
  showReturnDate: false,
19602
20755
  datesIcon: '',
19603
20756
  onSubmit: function () { },
19604
- submitLabel: 'Zoeken',
19605
20757
  submitIcon: ''
19606
20758
  });
19607
20759
 
@@ -20260,10 +21412,11 @@ var DateRangePicker = function (_a) {
20260
21412
  };
20261
21413
 
20262
21414
  var TravelInput = function () {
20263
- var _a = useContext(QSMConfigurationContext), type = _a.type, askRooms = _a.askRooms, maxTravelers = _a.maxTravelers, defaultTravelers = _a.defaultTravelers, maxChildAge = _a.maxChildAge, maxInfantAge = _a.maxInfantAge; _a.askTravelType; _a.askTravelClass;
21415
+ var _a = useContext(QSMConfigurationContext), type = _a.type, askRooms = _a.askRooms, maxTravelers = _a.maxTravelers, defaultTravelers = _a.defaultTravelers, maxChildAge = _a.maxChildAge, maxInfantAge = _a.maxInfantAge; _a.askTravelType; _a.askTravelClass; var languageCode = _a.languageCode;
20264
21416
  var areTravelersInRooms = type !== 'flight' && askRooms;
20265
21417
  var dispatch = useDispatch();
20266
21418
  var _b = useSelector(function (state) { return state.qsm; }), adults = _b.adults, kids = _b.kids, babies = _b.babies, rooms = _b.rooms;
21419
+ var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
20267
21420
  var getTravelerButtonClass = function (disabled) { return "button button--increment ".concat(disabled ? 'button--disabled' : ''); };
20268
21421
  var totalTravelers = areTravelersInRooms ? rooms.reduce(function (sum, room) { return sum + room.adults + room.kids + room.babies; }, 0) : adults + kids + babies;
20269
21422
  var safeMaxTravelers = maxTravelers !== null && maxTravelers !== void 0 ? maxTravelers : Infinity;
@@ -20305,20 +21458,21 @@ var TravelInput = function () {
20305
21458
  };
20306
21459
  // Compute age labels dynamically
20307
21460
  var ageLabels = {
20308
- adults: maxChildAge ? "".concat(maxChildAge + 1, "+ jaar") : '12+ jaar',
20309
- kids: maxChildAge && maxInfantAge ? "".concat(maxInfantAge + 1, "-").concat(maxChildAge, " jaar") : '2-11 jaar',
20310
- babies: maxInfantAge !== undefined ? "0-".concat(maxInfantAge, " jaar") : '0-1 jaar'
21461
+ adults: maxChildAge ? "".concat(maxChildAge + 1, "+ ").concat(translations.PRODUCT.YEAR) : "12+ ".concat(translations.PRODUCT.YEAR),
21462
+ kids: maxChildAge && maxInfantAge ? "".concat(maxInfantAge + 1, "-").concat(maxChildAge, " ").concat(translations.PRODUCT.YEAR) : "2-11 ".concat(translations.PRODUCT.YEAR),
21463
+ babies: maxInfantAge !== undefined ? "0-".concat(maxInfantAge, " ").concat(translations.PRODUCT.YEAR) : "0-1 ".concat(translations.PRODUCT.YEAR)
20311
21464
  };
20312
21465
  return (React.createElement("div", { className: "passenger-picker" }, areTravelersInRooms ? (React.createElement("div", null,
20313
21466
  React.createElement("div", { className: "passenger-picker__rooms-header" },
20314
21467
  React.createElement("h4", { className: "passenger-picker__rooms-header-title" },
20315
- "Kamers: ",
21468
+ translations.SHARED.ROOMS,
21469
+ ": ",
20316
21470
  React.createElement("span", { className: "passenger-picker__rooms-header-count" }, rooms.length)),
20317
21471
  rooms.length < 4 && (React.createElement("div", { className: "cta--secondary".concat(!canAddTraveler ? ' cta--disabled' : ''), onClick: function () {
20318
21472
  if (canAddTraveler) {
20319
21473
  handleAddRoom();
20320
21474
  }
20321
- } }, "Kamer toevoegen"))),
21475
+ } }, translations.QSM.ADD_ROOM))),
20322
21476
  React.createElement("div", { className: "passenger-picker__rooms-wrapper" }, rooms.map(function (room, idx) { return (React.createElement("div", { key: idx, className: "passenger-picker__room" },
20323
21477
  React.createElement("h6", { className: "passenger-picker__room-title" },
20324
21478
  "Kamer ",
@@ -20334,16 +21488,16 @@ var TravelInput = function () {
20334
21488
  React.createElement("button", { className: getTravelerButtonClass(!canAddTraveler), onClick: function () { return canAddTraveler && handleTravelerChange(idx, type, room[type] + 1); } },
20335
21489
  React.createElement(Icon$1, { name: "ui-plus" }))))); }),
20336
21490
  rooms.length > 1 && (React.createElement("div", { className: "passenger-picker__remove-room" },
20337
- React.createElement("button", { type: "button", className: "cta--remove", onClick: function () { return handleRemoveRoom(idx); } }, "Verwijder kamer"))),
21491
+ React.createElement("button", { type: "button", className: "cta--remove", onClick: function () { return handleRemoveRoom(idx); } }, translations.QSM.REMOVE_ROOM))),
20338
21492
  !canAddTraveler && (React.createElement("div", { className: "passenger-picker__info-message" },
20339
21493
  React.createElement("svg", { className: "passenger-picker__info-message-icon", width: 16, height: 16, viewBox: "0 0 15.967 15.967" },
20340
21494
  React.createElement("path", { id: "error_16dp_UNDEFINED_FILL0_wght400_GRAD0_opsz20", d: "M103.979-852.024a.735.735,0,0,0,.535-.214.713.713,0,0,0,.218-.53.735.735,0,0,0-.214-.535.712.712,0,0,0-.53-.218.735.735,0,0,0-.535.214.713.713,0,0,0-.218.53.734.734,0,0,0,.214.535A.712.712,0,0,0,103.979-852.024Zm-.744-2.994h1.5v-4.99h-1.5Zm.754,6.986a7.8,7.8,0,0,1-3.1-.624,8.048,8.048,0,0,1-2.547-1.715,8.051,8.051,0,0,1-1.715-2.546A7.8,7.8,0,0,1,96-856.026a7.735,7.735,0,0,1,.624-3.1,8.079,8.079,0,0,1,1.715-2.536,8.051,8.051,0,0,1,2.546-1.715,7.8,7.8,0,0,1,3.108-.624,7.735,7.735,0,0,1,3.1.624,8.081,8.081,0,0,1,2.536,1.715,8.066,8.066,0,0,1,1.715,2.541,7.755,7.755,0,0,1,.624,3.1,7.8,7.8,0,0,1-.624,3.1,8.048,8.048,0,0,1-1.715,2.547,8.066,8.066,0,0,1-2.541,1.715A7.754,7.754,0,0,1,103.99-848.033Zm-.006-1.5a6.255,6.255,0,0,0,4.595-1.892,6.256,6.256,0,0,0,1.892-4.595,6.255,6.255,0,0,0-1.892-4.595,6.255,6.255,0,0,0-4.595-1.892,6.255,6.255,0,0,0-4.595,1.892,6.255,6.255,0,0,0-1.892,4.595,6.256,6.256,0,0,0,1.892,4.595A6.256,6.256,0,0,0,103.984-849.529ZM103.984-856.016Z", transform: "translate(-96 864)" })),
20341
- React.createElement("span", { className: "passenger-picker__info-message-explanation" }, "Je zit aan het maximale aantal personen"))),
21495
+ React.createElement("span", { className: "passenger-picker__info-message-explanation" }, translations.QSM.MAX_TRAVELERS_REACHED))),
20342
21496
  React.createElement("div", { className: "passenger-picker__line passenger-picker__line--room" }))); })))) : (React.createElement("div", null,
20343
21497
  React.createElement("div", { className: "passenger-picker__items" },
20344
21498
  React.createElement("div", { className: "passenger-picker__item" },
20345
21499
  React.createElement("div", { className: "passenger-picker__item-text" },
20346
- React.createElement("span", null, "Volwassenen"),
21500
+ React.createElement("span", null, translations.QSM.ADULTS),
20347
21501
  React.createElement("span", { className: "passenger-picker__item-text-age" }, ageLabels.adults)),
20348
21502
  React.createElement("div", { className: "decrement-increment__ui" },
20349
21503
  React.createElement("div", { className: "button button--decrement ".concat(adults === 0 ? 'button--disabled' : ''), onClick: function () { return adults > 0 && dispatch(setAdults(adults - 1)); } },
@@ -20353,7 +21507,7 @@ var TravelInput = function () {
20353
21507
  React.createElement(Icon$1, { name: "ui-plus" })))),
20354
21508
  React.createElement("div", { className: "passenger-picker__item" },
20355
21509
  React.createElement("div", { className: "passenger-picker__item-text" },
20356
- React.createElement("span", null, "Kinderen"),
21510
+ React.createElement("span", null, translations.QSM.CHILDREN),
20357
21511
  React.createElement("span", { className: "passenger-picker__item-text-age" }, ageLabels.kids)),
20358
21512
  React.createElement("div", { className: "decrement-increment__ui" },
20359
21513
  React.createElement("div", { className: getTravelerButtonClass(!canAddTraveler), onClick: function () { return kids > 0 && dispatch(setKids(kids - 1)); } },
@@ -20363,7 +21517,7 @@ var TravelInput = function () {
20363
21517
  React.createElement(Icon$1, { name: "ui-plus" })))),
20364
21518
  React.createElement("div", { className: "passenger-picker__item" },
20365
21519
  React.createElement("div", { className: "passenger-picker__item-text" },
20366
- React.createElement("span", null, "Baby&squot;s"),
21520
+ React.createElement("span", null, translations.QSM.BABIES),
20367
21521
  React.createElement("span", { className: "passenger-picker__item-text-age" }, ageLabels.babies)),
20368
21522
  React.createElement("div", { className: "decrement-increment__ui" },
20369
21523
  React.createElement("div", { className: "button button--decrement ".concat(babies === 0 ? 'button--disabled' : ''), onClick: function () { return babies > 0 && dispatch(setBabies(babies - 1)); } },
@@ -20374,16 +21528,17 @@ var TravelInput = function () {
20374
21528
  !canAddTraveler && (React.createElement("div", { className: "passenger-picker__info-message" },
20375
21529
  React.createElement("svg", { className: "passenger-picker__info-message-icon", width: 16, height: 16, viewBox: "0 0 15.967 15.967" },
20376
21530
  React.createElement("path", { id: "error_16dp_UNDEFINED_FILL0_wght400_GRAD0_opsz20", d: "M103.979-852.024a.735.735,0,0,0,.535-.214.713.713,0,0,0,.218-.53.735.735,0,0,0-.214-.535.712.712,0,0,0-.53-.218.735.735,0,0,0-.535.214.713.713,0,0,0-.218.53.734.734,0,0,0,.214.535A.712.712,0,0,0,103.979-852.024Zm-.744-2.994h1.5v-4.99h-1.5Zm.754,6.986a7.8,7.8,0,0,1-3.1-.624,8.048,8.048,0,0,1-2.547-1.715,8.051,8.051,0,0,1-1.715-2.546A7.8,7.8,0,0,1,96-856.026a7.735,7.735,0,0,1,.624-3.1,8.079,8.079,0,0,1,1.715-2.536,8.051,8.051,0,0,1,2.546-1.715,7.8,7.8,0,0,1,3.108-.624,7.735,7.735,0,0,1,3.1.624,8.081,8.081,0,0,1,2.536,1.715,8.066,8.066,0,0,1,1.715,2.541,7.755,7.755,0,0,1,.624,3.1,7.8,7.8,0,0,1-.624,3.1,8.048,8.048,0,0,1-1.715,2.547,8.066,8.066,0,0,1-2.541,1.715A7.754,7.754,0,0,1,103.99-848.033Zm-.006-1.5a6.255,6.255,0,0,0,4.595-1.892,6.256,6.256,0,0,0,1.892-4.595,6.255,6.255,0,0,0-1.892-4.595,6.255,6.255,0,0,0-4.595-1.892,6.255,6.255,0,0,0-4.595,1.892,6.255,6.255,0,0,0-1.892,4.595,6.256,6.256,0,0,0,1.892,4.595A6.256,6.256,0,0,0,103.984-849.529ZM103.984-856.016Z", transform: "translate(-96 864)" })),
20377
- React.createElement("span", { className: "passenger-picker__info-message-explanation" }, "Je zit aan het maximale aantal personen"))),
21531
+ React.createElement("span", { className: "passenger-picker__info-message-explanation" }, translations.QSM.MAX_TRAVELERS_REACHED))),
20378
21532
  React.createElement("div", { className: "passenger-picker__line" })))));
20379
21533
  };
20380
21534
 
20381
21535
  var MobileFilterModal = function () {
20382
- var datesIcon = useContext(QSMConfigurationContext).datesIcon;
21536
+ var _a = useContext(QSMConfigurationContext), datesIcon = _a.datesIcon, languageCode = _a.languageCode;
21537
+ var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
20383
21538
  var dispatch = useDispatch();
20384
- var _a = useSelector(function (state) { return state.qsm; }), mobileFilterType = _a.mobileFilterType, mobileDatePickerMode = _a.mobileDatePickerMode, activeSearchFieldProps = _a.activeSearchFieldProps, fromDate = _a.fromDate, toDate = _a.toDate;
20385
- var _b = useState(''), inputValue = _b[0], setInputValue = _b[1];
20386
- var _c = useState([]), searchResultsLocal = _c[0], setSearchResultsLocal = _c[1];
21539
+ var _b = useSelector(function (state) { return state.qsm; }), mobileFilterType = _b.mobileFilterType, mobileDatePickerMode = _b.mobileDatePickerMode, activeSearchFieldProps = _b.activeSearchFieldProps, fromDate = _b.fromDate, toDate = _b.toDate;
21540
+ var _c = useState(''), inputValue = _c[0], setInputValue = _c[1];
21541
+ var _d = useState([]), searchResultsLocal = _d[0], setSearchResultsLocal = _d[1];
20387
21542
  var hasTypedRef = useRef(false);
20388
21543
  /* ---------------------------------------------------------------- */
20389
21544
  /* Sync local state when a new field is opened */
@@ -20449,19 +21604,19 @@ var MobileFilterModal = function () {
20449
21604
  return (React.createElement("div", { className: "mobile-qsm-filter__modal" },
20450
21605
  React.createElement("div", { className: "mobile-qsm-filter__modal-header" },
20451
21606
  React.createElement("div", { className: "mobile-qsm-filter__modal-header-row" },
20452
- React.createElement("span", { className: "mobile-qsm-filter__modal-header-title" }, "Kies data"),
21607
+ React.createElement("span", { className: "mobile-qsm-filter__modal-header-title" }, translations.QSM.CHOOSE_DATES),
20453
21608
  React.createElement("span", { className: "mobile-qsm-filter__modal-header-close", onClick: closeModal }))),
20454
21609
  React.createElement("div", { className: "qsm__double-input qsm__double-input--date-modal" },
20455
21610
  React.createElement("div", { className: "qsm__double-input__wrapper" },
20456
21611
  React.createElement("label", { className: "qsm__input-wrapper" },
20457
21612
  datesIcon && React.createElement("span", { className: "qsm__input-icon" }, datesIcon),
20458
- React.createElement("span", { className: "qsm__label" }, "Vertrek"),
20459
- React.createElement("input", { type: "text", id: "vertrek", className: "qsm__input u-ps-2", placeholder: "Datum", readOnly: true, value: fromDate ? format$1(new Date(fromDate), 'dd/MM/yyyy') : '' }),
21613
+ React.createElement("span", { className: "qsm__label" }, translations.QSM.DEPARTURE_DATE),
21614
+ React.createElement("input", { type: "text", id: "vertrek", className: "qsm__input u-ps-2", placeholder: translations.QSM.DEPARTURE_DATE, readOnly: true, value: fromDate ? format$1(new Date(fromDate), 'dd/MM/yyyy') : '' }),
20460
21615
  mobileDatePickerMode === 'range' && React.createElement("div", { className: "qsm__input-line qsm__input-line--datepicker" })),
20461
21616
  mobileDatePickerMode === 'range' && (React.createElement("label", { className: "qsm__input-wrapper" },
20462
21617
  datesIcon && React.createElement("span", { className: "qsm__input-icon" }, datesIcon),
20463
- React.createElement("span", { className: "qsm__label qsm__label--second-input-label" }, "Retour"),
20464
- React.createElement("input", { type: "text", id: "retour", className: "qsm__input", placeholder: "Datum", readOnly: true, value: toDate ? format$1(new Date(toDate), 'dd/MM/yyyy') : '' })))),
21618
+ React.createElement("span", { className: "qsm__label qsm__label--second-input-label" }, translations.QSM.RETURN_DATE),
21619
+ React.createElement("input", { type: "text", id: "retour", className: "qsm__input", placeholder: translations.QSM.RETURN_DATE, readOnly: true, value: toDate ? format$1(new Date(toDate), 'dd/MM/yyyy') : '' })))),
20465
21620
  React.createElement(DateRangePicker, { fromDate: fromDate ? new Date(fromDate) : undefined, toDate: mobileDatePickerMode === 'range' && toDate ? new Date(toDate) : undefined, isSingleDate: mobileDatePickerMode === 'single', onSelectionChange: function (from, to) {
20466
21621
  if (from) {
20467
21622
  dispatch(setFromDate(from.toISOString()));
@@ -20478,7 +21633,7 @@ var MobileFilterModal = function () {
20478
21633
  if (hasValidDates) {
20479
21634
  closeModal();
20480
21635
  }
20481
- } }, "Bevestigen"))));
21636
+ } }, translations.QSM.CONFIRM))));
20482
21637
  };
20483
21638
  var renderSearchInputModal = function () {
20484
21639
  if (!activeSearchFieldProps) {
@@ -20494,18 +21649,18 @@ var MobileFilterModal = function () {
20494
21649
  React.createElement("input", { type: "text", id: "search", value: inputValue, onChange: function (e) { return handleLocationChange(e.target.value); }, className: "qsm__input qsm__input--modal qsm__from-to u-ps-2", placeholder: activeSearchFieldProps.placeholder }),
20495
21650
  React.createElement(SearchInput, { onChange: handleLocationChange, searchResults: searchResultsLocal, onOptionSelect: handleLocationSelect, highlightTarget: inputValue, label: activeSearchFieldProps.label }))),
20496
21651
  React.createElement("div", { className: "mobile-qsm-filter__modal-footer" },
20497
- React.createElement("button", { className: "cta", onClick: closeModal }, "Bevestigen"))));
21652
+ React.createElement("button", { className: "cta", onClick: closeModal }, translations.QSM.CONFIRM))));
20498
21653
  };
20499
21654
  var renderTravelerModal = function () { return (React.createElement("div", { className: "mobile-qsm-filter__modal" },
20500
21655
  React.createElement("div", { className: "mobile-qsm-filter__modal-header" },
20501
21656
  React.createElement("div", { className: "mobile-qsm-filter__modal-header-row" },
20502
- React.createElement("span", { className: "mobile-qsm-filter__modal-header-title" }, "Reizigers"),
21657
+ React.createElement("span", { className: "mobile-qsm-filter__modal-header-title" }, translations.QSM.TRAVELERS),
20503
21658
  React.createElement("span", { className: "mobile-qsm-filter__modal-header-close", onClick: closeModal }))),
20504
21659
  React.createElement("div", { className: "qsm__double-input qsm__double-input--travel-modal" },
20505
21660
  React.createElement("div", { className: "qsm__input-wrapper qsm__input-wrapper--rooms" },
20506
21661
  React.createElement(TravelInput, null))),
20507
21662
  React.createElement("div", { className: "mobile-qsm-filter__modal-footer" },
20508
- React.createElement("button", { className: "cta", onClick: closeModal }, "Bevestigen")))); };
21663
+ React.createElement("button", { className: "cta", onClick: closeModal }, translations.QSM.CONFIRM)))); };
20509
21664
  /* ---------------------------------------------------------------- */
20510
21665
  /* Switch modal type */
20511
21666
  /* ---------------------------------------------------------------- */
@@ -20722,7 +21877,8 @@ var TravelInputGroup = function () {
20722
21877
  var isSmallScreen = useMediaQuery('(max-width: 768px)');
20723
21878
  var _a = useState(false), isOpen = _a[0], setIsOpen = _a[1];
20724
21879
  var wrapperRef = useRef(null);
20725
- var _b = useContext(QSMConfigurationContext), type = _b.type, askRooms = _b.askRooms, defaultTravelers = _b.defaultTravelers, maxTravelers = _b.maxTravelers;
21880
+ var _b = useContext(QSMConfigurationContext), type = _b.type, askRooms = _b.askRooms, defaultTravelers = _b.defaultTravelers, maxTravelers = _b.maxTravelers, languageCode = _b.languageCode;
21881
+ var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
20726
21882
  var areTravelersInRooms = type !== 'flight' && askRooms;
20727
21883
  var _c = useSelector(function (s) { return s.qsm; }), adults = _c.adults, rooms = _c.rooms;
20728
21884
  var initDone = useRef(false);
@@ -20768,8 +21924,8 @@ var TravelInputGroup = function () {
20768
21924
  }, [defaultTravelers, maxTravelers]);
20769
21925
  return (React.createElement("div", { ref: wrapperRef, className: "qsm__single-input-wrapper qsm__single-input-wrapper--travel" },
20770
21926
  React.createElement(Icon$1, { name: "ui-user", height: 16 }),
20771
- React.createElement("span", { className: "qsm__label" }, "Met wie ga je?"),
20772
- React.createElement("input", { type: "text", id: "traveler", className: "qsm__input u-ps-2", placeholder: "Met wie ga je?", readOnly: true, onClick: handleClick, value: travelerSummary }),
21927
+ React.createElement("span", { className: "qsm__label" }, translations.QSM.TRAVELERS_LABEL),
21928
+ React.createElement("input", { type: "text", id: "traveler", className: "qsm__input u-ps-2", placeholder: translations.QSM.TRAVELERS_LABEL, readOnly: true, onClick: handleClick, value: travelerSummary }),
20773
21929
  !isSmallScreen && isOpen && (React.createElement("div", null,
20774
21930
  React.createElement(TravelInput, null)))));
20775
21931
  };
@@ -20813,21 +21969,24 @@ var ItemPicker$1 = function (_a) {
20813
21969
  };
20814
21970
 
20815
21971
  var TravelClassPicker = function () {
20816
- var travelClasses = useContext(QSMConfigurationContext).travelClasses;
21972
+ var _a = useContext(QSMConfigurationContext), travelClasses = _a.travelClasses, languageCode = _a.languageCode;
21973
+ var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
20817
21974
  var selectedTravelClass = useSelector(function (state) { return state.qsm; }).selectedTravelClass;
20818
- return (React.createElement(ItemPicker$1, { items: travelClasses, selection: selectedTravelClass, label: "Reisklasse", placeholder: "Selecteer reisklasse", classModifier: "travel-class-picker__items", onPick: setSelectedTravelClass }));
21975
+ return (React.createElement(ItemPicker$1, { items: travelClasses, selection: selectedTravelClass, label: translations.QSM.TRAVEL_CLASS_LABEL, placeholder: translations.QSM.TRAVEL_CLASS_PLACEHOLDER, classModifier: "travel-class-picker__items", onPick: setSelectedTravelClass }));
20819
21976
  };
20820
21977
 
20821
21978
  var TravelTypePicker = function () {
20822
- var travelTypes = useContext(QSMConfigurationContext).travelTypes;
21979
+ var _a = useContext(QSMConfigurationContext), travelTypes = _a.travelTypes, languageCode = _a.languageCode;
21980
+ var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
20823
21981
  var selectedTravelType = useSelector(function (state) { return state.qsm; }).selectedTravelType;
20824
- return (React.createElement(ItemPicker$1, { items: travelTypes, selection: selectedTravelType, label: "Reistype", placeholder: "Selecteer reistype", classModifier: "travel-type-picker__items", onPick: setSelectedTravelType }));
21982
+ return (React.createElement(ItemPicker$1, { items: travelTypes, selection: selectedTravelType, label: translations.QSM.TRAVEL_TYPE_LABEL, placeholder: translations.QSM.TRAVEL_TYPE_PLACEHOLDER, classModifier: "travel-type-picker__items", onPick: setSelectedTravelType }));
20825
21983
  };
20826
21984
 
20827
21985
  var TravelNationalityPicker = function () {
20828
- var nationalities = useContext(QSMConfigurationContext).nationalities;
21986
+ var _a = useContext(QSMConfigurationContext), nationalities = _a.nationalities, languageCode = _a.languageCode;
21987
+ var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
20829
21988
  var selectedNationality = useSelector(function (state) { return state.qsm; }).selectedNationality;
20830
- return (React.createElement(ItemPicker$1, { items: nationalities, selection: selectedNationality, label: "Nationaliteit", placeholder: "Selecteer nationaliteit", classModifier: "travel-class-picker__items", onPick: setSelectedNationality }));
21989
+ return (React.createElement(ItemPicker$1, { items: nationalities, selection: selectedNationality, label: translations.QSM.NATIONALITY_LABEL, placeholder: translations.QSM.NATIONALITY_PLACEHOLDER, classModifier: "travel-class-picker__items", onPick: setSelectedNationality }));
20831
21990
  };
20832
21991
 
20833
21992
  var QSMContainer = function () {
@@ -20835,7 +21994,8 @@ var QSMContainer = function () {
20835
21994
  var isMobile = useMediaQuery('(max-width: 768px)');
20836
21995
  var qsmState = useSelector(function (state) { return state.qsm; });
20837
21996
  var mobileFilterType = qsmState.mobileFilterType, fromDate = qsmState.fromDate, toDate = qsmState.toDate;
20838
- var _a = useContext(QSMConfigurationContext), searchFields = _a.searchFields, askTravelers = _a.askTravelers, submitIcon = _a.submitIcon, submitLabel = _a.submitLabel, onSubmit = _a.onSubmit;
21997
+ var _a = useContext(QSMConfigurationContext), searchFields = _a.searchFields, askTravelers = _a.askTravelers, submitIcon = _a.submitIcon, onSubmit = _a.onSubmit, travelTypes = _a.travelTypes, languageCode = _a.languageCode;
21998
+ var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
20839
21999
  useEffect(function () {
20840
22000
  if (fromDate || toDate)
20841
22001
  return;
@@ -20860,19 +22020,15 @@ var QSMContainer = function () {
20860
22020
  var handleSubmit = function () {
20861
22021
  if (!onSubmit)
20862
22022
  return;
20863
- var fromDate = qsmState.fromDate, toDate = qsmState.toDate, travelers = qsmState.travelers, selectedTravelClass = qsmState.selectedTravelClass, selectedTravelType = qsmState.selectedTravelType, selectedNationality = qsmState.selectedNationality, adults = qsmState.adults, kids = qsmState.kids, babies = qsmState.babies, rooms = qsmState.rooms, selectedFlexRange = qsmState.selectedFlexRange;
22023
+ var fromDate = qsmState.fromDate, toDate = qsmState.toDate; qsmState.travelers; var selectedTravelClass = qsmState.selectedTravelClass, selectedTravelType = qsmState.selectedTravelType, selectedNationality = qsmState.selectedNationality; qsmState.adults; qsmState.kids; qsmState.babies; var rooms = qsmState.rooms; qsmState.selectedFlexRange;
22024
+ var selectedTravelTypeValue = travelTypes.find(function (t) { return t.label === selectedTravelType; });
20864
22025
  var payload = {
20865
22026
  fromDate: fromDate,
20866
22027
  toDate: toDate,
20867
- travelers: travelers,
20868
22028
  travelClass: selectedTravelClass,
20869
- travelType: selectedTravelType,
22029
+ travelType: selectedTravelTypeValue,
20870
22030
  nationality: selectedNationality,
20871
- adults: adults,
20872
- kids: kids,
20873
- babies: babies,
20874
- rooms: rooms,
20875
- dateFlexibility: selectedFlexRange
22031
+ rooms: rooms
20876
22032
  };
20877
22033
  addSearchFieldsToPayload(payload, searchFields, qsmState);
20878
22034
  onSubmit(payload);
@@ -20900,41 +22056,41 @@ var QSMContainer = function () {
20900
22056
  React.createElement("button", { type: "button", className: "qsm__tab" },
20901
22057
  React.createElement("span", { className: "qsm__tab__icons" },
20902
22058
  React.createElement(Icon$1, { name: "ui-location", height: 16 })),
20903
- "Multidestination"),
22059
+ translations.QSM.MULTIDESTINATION),
20904
22060
  React.createElement("button", { type: "button", className: "qsm__tab" },
20905
22061
  React.createElement("span", { className: "qsm__tab__icons" },
20906
22062
  React.createElement(Icon$1, { name: "ui-suitcase", height: 16 })),
20907
- "Packages"),
22063
+ translations.QSM.PACKAGES),
20908
22064
  React.createElement("button", { type: "button", className: "qsm__tab qsm__tab--active" },
20909
22065
  React.createElement("span", { className: "qsm__tab__icons" },
20910
22066
  React.createElement(Icon$1, { name: "ui-backforward", height: 14 }),
20911
22067
  "+",
20912
22068
  React.createElement(Icon$1, { name: "ui-bed", height: 14 })),
20913
- "Transport + hotel"),
22069
+ translations.QSM.TRANSPORT_HOTEL),
20914
22070
  React.createElement("button", { type: "button", className: "qsm__tab" },
20915
22071
  React.createElement("span", { className: "qsm__tab__icons" },
20916
22072
  React.createElement(Icon$1, { name: "ui-bed", height: 16 })),
20917
- "Accommodation"),
22073
+ translations.QSM.ACCOMMODATION),
20918
22074
  React.createElement("button", { type: "button", className: "qsm__tab" },
20919
22075
  React.createElement("span", { className: "qsm__tab__icons" },
20920
22076
  React.createElement(Icon$1, { name: "ui-flight", height: 16 })),
20921
- "Transports"),
22077
+ translations.QSM.TRANSPORTS),
20922
22078
  React.createElement("button", { type: "button", className: "qsm__tab" },
20923
22079
  React.createElement("span", { className: "qsm__tab__icons" },
20924
22080
  React.createElement(Icon$1, { name: "ui-ticket", height: 16 })),
20925
- "Ticket Only"),
22081
+ translations.QSM.TICKET_ONLY),
20926
22082
  React.createElement("button", { type: "button", className: "qsm__tab" },
20927
22083
  React.createElement("span", { className: "qsm__tab__icons" },
20928
22084
  React.createElement(Icon$1, { name: "ui-car", height: 16 })),
20929
- "Rent a car"),
22085
+ translations.QSM.RENT_A_CAR),
20930
22086
  React.createElement("button", { type: "button", className: "qsm__tab" },
20931
22087
  React.createElement("span", { className: "qsm__tab__icons" },
20932
22088
  React.createElement(Icon$1, { name: "ui-backforward", height: 16 })),
20933
- "Transfers"),
22089
+ translations.QSM.TRANSFERS),
20934
22090
  React.createElement("button", { type: "button", className: "qsm__tab" },
20935
22091
  React.createElement("span", { className: "qsm__tab__icons" },
20936
22092
  React.createElement(Icon$1, { name: "ui-ship", height: 16 })),
20937
- "Cruises")),
22093
+ translations.QSM.CRUISES)),
20938
22094
  React.createElement("div", { className: "qsm__filter" },
20939
22095
  React.createElement("div", { className: "radiobutton-group qsm__filter__inputgroup" },
20940
22096
  React.createElement("div", { className: "radiobutton" },
@@ -20945,7 +22101,7 @@ var QSMContainer = function () {
20945
22101
  value: "",
20946
22102
  // checked={formik.values.mainBookerId === travelerValues.id}
20947
22103
  checked: true, readOnly: true, className: "radiobutton__input" }),
20948
- React.createElement("span", null, "One accommodation"))),
22104
+ React.createElement("span", null, translations.QSM.ONE_ACCOMMODATION))),
20949
22105
  React.createElement("div", { className: "radiobutton" },
20950
22106
  React.createElement("label", { className: "radiobutton__label" },
20951
22107
  React.createElement("input", { type: "radio", name: "mainBookerId",
@@ -20954,7 +22110,7 @@ var QSMContainer = function () {
20954
22110
  value: "",
20955
22111
  // checked={formik.values.mainBookerId === travelerValues.id}
20956
22112
  className: "radiobutton__input", disabled: true }),
20957
- React.createElement("span", null, "Multiple accommodations")))),
22113
+ React.createElement("span", null, translations.QSM.MULTIPLE_ACCOMMODATIONS)))),
20958
22114
  React.createElement("div", { className: "qsm__filter__classgroup" },
20959
22115
  React.createElement(TravelClassPicker, null),
20960
22116
  React.createElement(TravelTypePicker, null),
@@ -20970,7 +22126,7 @@ var QSMContainer = function () {
20970
22126
  askTravelers && React.createElement(TravelInputGroup, null),
20971
22127
  React.createElement("button", { type: "button", className: "cta", onClick: handleSubmit },
20972
22128
  submitIcon && submitIcon.toString().length > 0 && React.createElement("span", null, submitIcon),
20973
- React.createElement("span", null, submitLabel)))),
22129
+ React.createElement("span", null, translations.QSM.CONFIRM)))),
20974
22130
  isMobile && mobileFilterType && React.createElement(MobileFilterModal, null)));
20975
22131
  };
20976
22132
 
@@ -20997,6 +22153,8 @@ var _a;
20997
22153
  var initialState = {
20998
22154
  results: [],
20999
22155
  selectedHotelId: null,
22156
+ bookingPackageDetails: null,
22157
+ entry: null,
21000
22158
  isLoading: false,
21001
22159
  filters: [],
21002
22160
  sortKey: null,
@@ -21013,6 +22171,19 @@ var searchResultsSlice = createSlice({
21013
22171
  setSelectedHotel: function (state, action) {
21014
22172
  state.selectedHotelId = action.payload;
21015
22173
  },
22174
+ setBookingPackageDetails: function (state, action) {
22175
+ state.bookingPackageDetails = action.payload.details;
22176
+ },
22177
+ setEntry: function (state, action) {
22178
+ state.entry = action.payload.entry;
22179
+ },
22180
+ selectFlight: function (state, action) {
22181
+ if (!state.bookingPackageDetails)
22182
+ return;
22183
+ var _a = action.payload, flightOptionId = _a.flightOptionId, isDeparture = _a.isDeparture;
22184
+ var flightKey = isDeparture ? 'outwardFlights' : 'returnFlights';
22185
+ state.bookingPackageDetails[flightKey] = state.bookingPackageDetails[flightKey].map(function (flight) { return (__assign(__assign({}, flight), { isSelected: flight.flightOptionId === flightOptionId })); });
22186
+ },
21016
22187
  setIsLoading: function (state, action) {
21017
22188
  state.isLoading = action.payload;
21018
22189
  },
@@ -21050,7 +22221,7 @@ var searchResultsSlice = createSlice({
21050
22221
  }
21051
22222
  }
21052
22223
  });
21053
- var setResults = (_a = searchResultsSlice.actions, _a.setResults), setSelectedHotel = _a.setSelectedHotel, setIsLoading = _a.setIsLoading, setFilters = _a.setFilters, resetFilters = _a.resetFilters, setSortKey = _a.setSortKey, setActiveTab = _a.setActiveTab; _a.setCurrentPage; _a.resetSearchState;
22224
+ var setResults = (_a = searchResultsSlice.actions, _a.setResults), setSelectedHotel = _a.setSelectedHotel, setBookingPackageDetails = _a.setBookingPackageDetails, setEntry = _a.setEntry, selectFlight = _a.selectFlight, setIsLoading = _a.setIsLoading, setFilters = _a.setFilters, resetFilters = _a.resetFilters, setSortKey = _a.setSortKey, setActiveTab = _a.setActiveTab; _a.setCurrentPage; _a.resetSearchState;
21054
22225
  var searchResultsReducer = searchResultsSlice.reducer;
21055
22226
 
21056
22227
  var MultiRangeFilter = function (_a) {
@@ -21111,9 +22282,10 @@ var MultiRangeFilter = function (_a) {
21111
22282
  var Spinner = function () {
21112
22283
  var _a;
21113
22284
  var context = useContext(SearchResultsConfigurationContext);
22285
+ var translations = getTranslations((_a = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB');
21114
22286
  return (React.createElement("div", { className: "spinner__container" },
21115
22287
  React.createElement("span", { className: "spinner__icon" }),
21116
- React.createElement("span", { className: "spinner__label" }, (_a = context === null || context === void 0 ? void 0 : context.translations) === null || _a === void 0 ? void 0 : _a.loading)));
22288
+ React.createElement("span", { className: "spinner__label" }, translations === null || translations === void 0 ? void 0 : translations.SRP.LOADING)));
21117
22289
  };
21118
22290
 
21119
22291
  var Icon = function (_a) {
@@ -21288,7 +22460,7 @@ var Icon = function (_a) {
21288
22460
  React.createElement(HTMLComment, { text: "!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc." }),
21289
22461
  title && React.createElement("title", null, title),
21290
22462
  React.createElement("path", { d: "M384 96l0 128-128 0 0-128 128 0zm0 192l0 128-128 0 0-128 128 0zM192 224l-128 0 0-128 128 0 0 128zM64 288l128 0 0 128-128 0 0-128zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z", fill: "currentColor" })));
21291
- case 'ui-comparator':
22463
+ case 'ui-list':
21292
22464
  return (React.createElement("svg", { className: ['icon', "icon--".concat(name), className].filter(function (className) { return !isEmpty(className); }).join(' '), width: width, height: height, viewBox: "0 0 512 512" },
21293
22465
  React.createElement(HTMLComment, { text: "!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc." }),
21294
22466
  title && React.createElement("title", null, title),
@@ -21391,11 +22563,12 @@ var initialFilters = [
21391
22563
  }
21392
22564
  ];
21393
22565
  var Filters = function (_a) {
21394
- var _b, _c, _d;
21395
- var filters = _a.filters, isMobileFiltersOpen = _a.isMobileFiltersOpen, handleSetIsMobileFiltersOpen = _a.handleSetIsMobileFiltersOpen, handleApplyFilters = _a.handleApplyFilters, isLoading = _a.isLoading;
22566
+ var _b;
22567
+ var filters = _a.filters, isOpen = _a.isOpen, handleSetIsOpen = _a.handleSetIsOpen, handleApplyFilters = _a.handleApplyFilters, isLoading = _a.isLoading;
21396
22568
  var context = useContext(SearchResultsConfigurationContext);
21397
- var _e = useState({}), visibleFilters = _e[0], setVisibleFilters = _e[1];
21398
- var _f = useState([]), pendingFilters = _f[0], setPendingFilters = _f[1];
22569
+ var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
22570
+ var _c = useState({}), visibleFilters = _c[0], setVisibleFilters = _c[1];
22571
+ var _d = useState([]), pendingFilters = _d[0], setPendingFilters = _d[1];
21399
22572
  useEffect(function () {
21400
22573
  if (initialFilters.length > 0) {
21401
22574
  setPendingFilters(initialFilters);
@@ -21463,8 +22636,8 @@ var Filters = function (_a) {
21463
22636
  dispatch(setFilters(pendingFilters));
21464
22637
  (_a = context === null || context === void 0 ? void 0 : context.onFilterChange) === null || _a === void 0 ? void 0 : _a.call(context, pendingFilters);
21465
22638
  handleApplyFilters();
21466
- if (isMobileFiltersOpen) {
21467
- handleSetIsMobileFiltersOpen();
22639
+ if (isOpen) {
22640
+ handleSetIsOpen();
21468
22641
  }
21469
22642
  };
21470
22643
  var handleFullReset = function () {
@@ -21483,15 +22656,15 @@ var Filters = function (_a) {
21483
22656
  return null;
21484
22657
  }
21485
22658
  return (React.createElement(React.Fragment, null,
21486
- React.createElement("div", { className: "search__filters--modal ".concat(isMobileFiltersOpen ? 'is-open' : '') },
21487
- React.createElement("div", { className: "search__filters--background", onClick: function () { return handleSetIsMobileFiltersOpen(); } }),
21488
- React.createElement("button", { className: "search__filters--close", onClick: function () { return handleSetIsMobileFiltersOpen(); } },
22659
+ React.createElement("div", { className: "search__filters--modal ".concat(isOpen ? 'is-open' : '') },
22660
+ React.createElement("div", { className: "search__filters--background", onClick: function () { return handleSetIsOpen(); } }),
22661
+ React.createElement("button", { className: "search__filters--close", onClick: function () { return handleSetIsOpen(); } },
21489
22662
  React.createElement(Icon, { name: "ui-close", height: 24 })),
21490
22663
  React.createElement("div", { className: "search__filters" },
21491
22664
  React.createElement("div", { className: "search__filter-row search__filter__header" },
21492
22665
  React.createElement("div", { className: "search__filter-row-flex-title" },
21493
- React.createElement("p", { className: "search__filter-small-title" }, "Your trip summary")),
21494
- !isLoading && (React.createElement("a", { className: "search__filter-reset", onClick: function () { return handleFullReset(); } }, (_b = context.translations) === null || _b === void 0 ? void 0 : _b.resetButton))),
22666
+ React.createElement("p", { className: "search__filter-small-title" }, translations.SRP.FILTERS)),
22667
+ !isLoading && (React.createElement("a", { className: "search__filter-reset", onClick: function () { return handleFullReset(); } }, translations.SRP.RESET))),
21495
22668
  isLoading ? (React.createElement(Spinner, null)) : (React.createElement(React.Fragment, null,
21496
22669
  React.createElement("div", { className: "search__filters__group-container" },
21497
22670
  pendingFilters.map(function (filter, index) {
@@ -21549,9 +22722,9 @@ var Filters = function (_a) {
21549
22722
  context.useGlobalApplyFilterButton && hasPendingChanges() && (React.createElement("div", { className: "search__filters__actions" },
21550
22723
  React.createElement("button", { className: "cta--secondary ", onClick: function () {
21551
22724
  handleResetPendingChanges();
21552
- handleSetIsMobileFiltersOpen();
21553
- }, disabled: isLoading }, (_c = context.translations) === null || _c === void 0 ? void 0 : _c.cancel),
21554
- React.createElement("button", { className: "cta", onClick: function () { return applyFilters(); }, disabled: isLoading }, (_d = context.translations) === null || _d === void 0 ? void 0 : _d.apply))))))))));
22725
+ handleSetIsOpen();
22726
+ }, disabled: isLoading }, translations.SRP.CANCEL),
22727
+ React.createElement("button", { className: "cta", onClick: function () { return applyFilters(); }, disabled: isLoading }, translations.SRP.APPLY))))))))));
21555
22728
  };
21556
22729
 
21557
22730
  var ItemPicker = function (_a) {
@@ -21600,138 +22773,223 @@ var ItemPicker = function (_a) {
21600
22773
  }))))));
21601
22774
  };
21602
22775
 
22776
+ var getDepartureTime = function (flight) {
22777
+ var _a, _b;
22778
+ if (isEmpty(flight === null || flight === void 0 ? void 0 : flight.metaDatas))
22779
+ return '';
22780
+ try {
22781
+ var config = (_a = first(flight === null || flight === void 0 ? void 0 : flight.metaDatas)) === null || _a === void 0 ? void 0 : _a.configuration;
22782
+ if (!config)
22783
+ return '';
22784
+ var parsed = JSON.parse(config);
22785
+ var line = first(parsed === null || parsed === void 0 ? void 0 : parsed.FlightLines);
22786
+ return (_b = line === null || line === void 0 ? void 0 : line.DepartureTime) !== null && _b !== void 0 ? _b : '';
22787
+ }
22788
+ catch (_c) {
22789
+ return '';
22790
+ }
22791
+ };
22792
+ var getArrivalTime = function (flight) {
22793
+ var _a, _b;
22794
+ if (isEmpty(flight === null || flight === void 0 ? void 0 : flight.metaDatas))
22795
+ return '';
22796
+ try {
22797
+ var config = (_a = first(flight === null || flight === void 0 ? void 0 : flight.metaDatas)) === null || _a === void 0 ? void 0 : _a.configuration;
22798
+ if (!config)
22799
+ return '';
22800
+ var parsed = JSON.parse(config);
22801
+ var line = last(parsed === null || parsed === void 0 ? void 0 : parsed.FlightLines);
22802
+ return (_b = line === null || line === void 0 ? void 0 : line.ArrivalTime) !== null && _b !== void 0 ? _b : '';
22803
+ }
22804
+ catch (_c) {
22805
+ return '';
22806
+ }
22807
+ };
22808
+ var getDuration = function (flight) {
22809
+ var _a;
22810
+ if (isEmpty(flight === null || flight === void 0 ? void 0 : flight.metaDatas))
22811
+ return '';
22812
+ try {
22813
+ var config = (_a = first(flight === null || flight === void 0 ? void 0 : flight.metaDatas)) === null || _a === void 0 ? void 0 : _a.configuration;
22814
+ if (!config)
22815
+ return '';
22816
+ var parsed = JSON.parse(config);
22817
+ var ticks = parsed === null || parsed === void 0 ? void 0 : parsed.DurationInTicks;
22818
+ if (!ticks)
22819
+ return '';
22820
+ var seconds = ticks / 10000000;
22821
+ var hours = Math.floor(seconds / 3600);
22822
+ var minutes = Math.floor((seconds % 3600) / 60);
22823
+ return "".concat(hours, "h ").concat(minutes.toString().padStart(2, '0'), "m");
22824
+ }
22825
+ catch (_b) {
22826
+ return '';
22827
+ }
22828
+ };
22829
+ var numberOfNights = function (segment) {
22830
+ return differenceInCalendarDays(new Date(segment.endDate), new Date(segment.startDate));
22831
+ };
21603
22832
  var Itinerary = function (_a) {
21604
- var isMobileFiltersOpen = _a.isMobileFiltersOpen, handleSetIsMobileFiltersOpen = _a.handleSetIsMobileFiltersOpen, isLoading = _a.isLoading;
22833
+ var _b;
22834
+ var isOpen = _a.isOpen, handleSetIsOpen = _a.handleSetIsOpen, isLoading = _a.isLoading;
22835
+ var context = useContext(SearchResultsConfigurationContext);
22836
+ var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
22837
+ var entry = useSelector(function (state) { return state.searchResults; }).entry;
22838
+ if (isLoading || !entry) {
22839
+ return null;
22840
+ }
22841
+ var firstEntryLine = first(entry === null || entry === void 0 ? void 0 : entry.items);
22842
+ var lastEntryLine = last(entry === null || entry === void 0 ? void 0 : entry.items);
22843
+ var country = firstEntryLine === null || firstEntryLine === void 0 ? void 0 : firstEntryLine.countryName;
22844
+ var location = firstEntryLine === null || firstEntryLine === void 0 ? void 0 : firstEntryLine.locationName;
22845
+ var outboundFlight = entry === null || entry === void 0 ? void 0 : entry.items.find(function (item) { return item.productType === 7 && !item.isReturnFlight; });
22846
+ var returnFlight = entry === null || entry === void 0 ? void 0 : entry.items.find(function (item) { return item.productType === 7 && item.isReturnFlight; });
22847
+ var otherSegments = entry === null || entry === void 0 ? void 0 : entry.items.filter(function (item) { return item.productType !== 7; });
21605
22848
  return (React.createElement(React.Fragment, null,
21606
- React.createElement("div", { className: "search__filters--modal ".concat(isMobileFiltersOpen ? 'is-open' : '') },
21607
- React.createElement("div", { className: "search__filters--background", onClick: function () { return handleSetIsMobileFiltersOpen(); } }),
21608
- React.createElement("button", { className: "search__filters--close", onClick: function () { return handleSetIsMobileFiltersOpen(); } },
22849
+ React.createElement("div", { className: "search__filters--modal ".concat(isOpen ? 'is-open' : '') },
22850
+ React.createElement("div", { className: "search__filters--background", onClick: function () { return handleSetIsOpen(); } }),
22851
+ React.createElement("button", { className: "search__filters--close", onClick: function () { return handleSetIsOpen(); } },
21609
22852
  React.createElement(Icon, { name: "ui-close", height: 24 })),
21610
22853
  React.createElement("div", { className: "search__filters" },
21611
22854
  React.createElement("div", { className: "search__filter-row search__filter__header" },
21612
22855
  React.createElement("div", { className: "search__filter-row-flex-title" },
21613
- React.createElement("p", { className: "search__filter-small-title" }, "Your trip summary"))),
22856
+ React.createElement("p", { className: "search__filter-small-title" }, translations.SRP.ITINERARY_TITLE))),
21614
22857
  isLoading ? (React.createElement(Spinner, null)) : (React.createElement(React.Fragment, null,
21615
22858
  React.createElement("div", { className: "search__filter-group" },
21616
22859
  React.createElement("div", { className: "search__filter__image__wrapper" },
21617
- React.createElement("img", { src: "https://images.unsplash.com/photo-1534292425621-6fbc5c09219a?fm=jpg&q=60&w=3000&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxzZWFyY2h8M3x8dGVuZXJpZmV8ZW58MHx8MHx8fDA%3D", alt: "filter-img", className: "search__filter__image" }),
21618
- React.createElement("span", { className: "search__filter__image__text" }, "Transport + hotel to"),
21619
- React.createElement("h4", { className: "search__filter__image__title" }, "Costa del Silencio - Tenerife Sur"))),
22860
+ React.createElement("img", { src: "", alt: "", className: "search__filter__image" }),
22861
+ (entry === null || entry === void 0 ? void 0 : entry.number) && (React.createElement("span", { className: "search__filter__image__text" },
22862
+ translations.SRP.DOSSIER_NUMBER,
22863
+ ": ", entry === null || entry === void 0 ? void 0 :
22864
+ entry.number)),
22865
+ React.createElement("h4", { className: "search__filter__image__title" }, (location || '') + (location && country ? ' - ' : '') + (country || '')))),
21620
22866
  React.createElement("div", { className: "search__filter__prices" },
21621
22867
  React.createElement("div", { className: "search__filter__prices__wrapper" },
21622
- React.createElement("h3", { className: "search__filter__prices--amount" }, "\u20AC256"),
21623
- React.createElement("p", null, "package price per person"),
22868
+ React.createElement("h3", { className: "search__filter__prices--amount" }, formatPrice(((entry === null || entry === void 0 ? void 0 : entry.sellingPrice) || 0) / ((entry === null || entry === void 0 ? void 0 : entry.numberOfPax) || 1), (entry === null || entry === void 0 ? void 0 : entry.currencyCode) || 'EUR')),
22869
+ React.createElement("p", null, translations.SRP.PACKAGE_PRICE_PER_PERSON),
21624
22870
  React.createElement("p", null,
21625
- React.createElement("strong", null, "(1.974 \u20AC Total)"))),
21626
- React.createElement("button", { className: "cta" }, "Comfirm")),
22871
+ React.createElement("strong", null,
22872
+ "(",
22873
+ formatPrice((entry === null || entry === void 0 ? void 0 : entry.sellingPrice) || 0, (entry === null || entry === void 0 ? void 0 : entry.currencyCode) || 'EUR'),
22874
+ " ",
22875
+ translations.SRP.TOTAL,
22876
+ ")"))),
22877
+ React.createElement("button", { className: "cta" }, translations.QSM.CONFIRM)),
21627
22878
  React.createElement("div", { className: "search__filter__itinerary" },
21628
- React.createElement("p", null, "Your trip day by day"),
22879
+ React.createElement("p", null, translations.SRP.DAY_BY_DAY),
21629
22880
  React.createElement("div", { className: "search__filter__itinerary__country" },
21630
22881
  React.createElement("div", { className: "search__filter__itinerary__country-icon" },
21631
22882
  React.createElement(Icon, { name: "ui-flag", width: 17.5, height: 20 })),
21632
22883
  React.createElement("div", { className: "search__filter__itinerary__country-content" },
21633
- React.createElement("h4", null, "Brussels, Belgium"),
21634
22884
  React.createElement("p", null,
21635
- "Mon. 19 Jan 2026 - ",
21636
- React.createElement("strong", null, "Start")))),
21637
- React.createElement("div", { className: "search__filter__itinerary__transport" },
22885
+ format$1(new Date((firstEntryLine === null || firstEntryLine === void 0 ? void 0 : firstEntryLine.startDate) || ''), 'EEE. d MMM yyyy'),
22886
+ " - ",
22887
+ React.createElement("strong", null, translations.SRP.START)))),
22888
+ outboundFlight && (React.createElement("div", { className: "search__filter__itinerary__transport" },
21638
22889
  React.createElement("div", { className: "search__filter__itinerary__transport-timeline" },
21639
22890
  React.createElement("div", { className: "search__filter__itinerary__transport-timeline-line" })),
21640
22891
  React.createElement("div", { className: "search__filter__itinerary__transport-item" },
21641
22892
  React.createElement("div", { className: "search__filter__itinerary__transport-date" },
21642
22893
  React.createElement("p", { className: "search__filter__itinerary__transport-date-date" },
21643
- React.createElement("strong", null, "19")),
21644
- React.createElement("p", null, "Jan")),
22894
+ React.createElement("strong", null, format$1(new Date((outboundFlight === null || outboundFlight === void 0 ? void 0 : outboundFlight.startDate) || ''), 'd'))),
22895
+ React.createElement("p", null, format$1(new Date((outboundFlight === null || outboundFlight === void 0 ? void 0 : outboundFlight.startDate) || ''), 'MMM'))),
21645
22896
  React.createElement("div", { className: "search__filter__itinerary__transport-badge" },
21646
22897
  React.createElement(Icon, { name: "ui-plane", height: 15 })),
21647
22898
  React.createElement("div", { className: "search__filter__itinerary__transport-details" },
21648
- React.createElement("h6", null, "Brussels Airport (BRU) - Tenerife South Airport (TFS)"),
22899
+ React.createElement("h6", null, outboundFlight.productName),
21649
22900
  React.createElement("p", { className: "search__filter__itinerary__transport-details-plane" },
21650
22901
  React.createElement("span", null,
21651
22902
  React.createElement(Icon, { name: "ui-plane-depart", height: 14 }),
21652
22903
  " ",
21653
- React.createElement("strong", null, "08:00")),
22904
+ React.createElement("strong", null, getDepartureTime(outboundFlight))),
21654
22905
  ' ',
21655
22906
  "-",
21656
22907
  ' ',
21657
22908
  React.createElement("span", null,
21658
22909
  React.createElement(Icon, { name: "ui-plane-arrive", height: 14 }),
21659
22910
  " ",
21660
- React.createElement("strong", null, "12:30"))),
22911
+ React.createElement("strong", null, getArrivalTime(outboundFlight)))),
21661
22912
  React.createElement("p", { className: "search__filter__itinerary__transport-details-time" },
21662
22913
  React.createElement("span", null,
21663
22914
  React.createElement(Icon, { name: "ui-clock", height: 20 }),
21664
- " 4h30m"))))),
21665
- React.createElement("div", { className: "search__filter__itinerary__segments" },
21666
- React.createElement("div", { className: "search__filter__itinerary__segments__wrapper" },
21667
- React.createElement("div", { className: "search__filter__itinerary__segments-timeline" },
21668
- React.createElement("div", { className: "search__filter__itinerary__segments-timeline-line" })),
21669
- React.createElement("div", { className: "search__filter__itinerary__segment" },
21670
- React.createElement("div", { className: "search__filter__itinerary__segment-item search__filter__itinerary__segment-item--start" },
21671
- React.createElement("div", { className: "search__filter__itinerary__segment-date" },
21672
- React.createElement("p", { className: "search__filter__itinerary__segment-date-date" },
21673
- React.createElement("strong", null, "19")),
21674
- React.createElement("p", null, "Jan")),
21675
- React.createElement("div", { className: "search__filter__itinerary__segment-badge" },
21676
- React.createElement(Icon, { name: "ui-location", width: 15, height: 15 })),
21677
- React.createElement("div", { className: "search__filter__itinerary__segment-details" },
21678
- React.createElement("h6", null, "Costa del Silencio - Tenerife Sur"),
21679
- React.createElement("p", { className: "search__filter__itinerary__segment-details-text" }, "Mon. 19 Jan 2026 > Sat. 31 Jan 2026")))),
21680
- React.createElement("div", { className: "search__filter__itinerary__segment" },
21681
- React.createElement("div", { className: "search__filter__itinerary__segment-item" },
21682
- React.createElement("div", { className: "search__filter__itinerary__segment-date search__filter__itinerary__segment-nights" },
21683
- React.createElement("p", { className: "search__filter__itinerary__segment-date-date" },
21684
- React.createElement("strong", null, "12")),
21685
- React.createElement(Icon, { name: "ui-moon", width: 16, height: 16 })),
21686
- React.createElement("div", { className: "search__filter__itinerary__segment-badge search__filter__itinerary__segment-badge--secondary" },
21687
- React.createElement(Icon, { name: "ui-bed", width: 15, height: 15 })),
21688
- React.createElement("div", { className: "search__filter__itinerary__segment-details" },
21689
- React.createElement("h6", null, "Grand Muthu Golf Plaza Hotel"),
21690
- React.createElement("div", { className: "rating" },
21691
- React.createElement(Icon, { name: "ui-star", key: "rating-star-1", width: 14, height: 14 }),
21692
- React.createElement(Icon, { name: "ui-star", key: "rating-star-2", width: 14, height: 14 }),
21693
- React.createElement(Icon, { name: "ui-star", key: "rating-star-3", width: 14, height: 14 }),
21694
- React.createElement(Icon, { name: "ui-star", key: "rating-star-4", width: 14, height: 14 }),
21695
- React.createElement(Icon, { name: "ui-star", key: "rating-star-5", width: 14, height: 14 }))))))),
21696
- React.createElement("div", { className: "search__filter__itinerary__transport" },
22915
+ " ",
22916
+ getDuration(outboundFlight))))))),
22917
+ !isEmpty(otherSegments) && (React.createElement("div", { className: "search__filter__itinerary__segments" }, otherSegments === null || otherSegments === void 0 ? void 0 : otherSegments.map(function (segment, index) { return (React.createElement("div", { className: "search__filter__itinerary__segments__wrapper", key: "segment-".concat(index) },
22918
+ React.createElement("div", { className: "search__filter__itinerary__segments-timeline" },
22919
+ React.createElement("div", { className: "search__filter__itinerary__segments-timeline-line" })),
22920
+ React.createElement("div", { className: "search__filter__itinerary__segment" },
22921
+ React.createElement("div", { className: "search__filter__itinerary__segment-item search__filter__itinerary__segment-item--start" },
22922
+ React.createElement("div", { className: "search__filter__itinerary__transport-date" },
22923
+ React.createElement("p", { className: "search__filter__itinerary__transport-date-date" },
22924
+ React.createElement("strong", null, format$1(new Date((segment === null || segment === void 0 ? void 0 : segment.startDate) || ''), 'd'))),
22925
+ React.createElement("p", null, format$1(new Date((segment === null || segment === void 0 ? void 0 : segment.startDate) || ''), 'MMM'))),
22926
+ React.createElement("div", { className: "search__filter__itinerary__segment-badge" },
22927
+ React.createElement(Icon, { name: "ui-location", width: 15, height: 15 })),
22928
+ React.createElement("div", { className: "search__filter__itinerary__segment-details" },
22929
+ React.createElement("h6", null, segment === null || segment === void 0 ? void 0 :
22930
+ segment.locationName,
22931
+ ", ", segment === null || segment === void 0 ? void 0 :
22932
+ segment.countryName),
22933
+ React.createElement("p", { className: "search__filter__itinerary__segment-details-text" },
22934
+ format$1(new Date((segment === null || segment === void 0 ? void 0 : segment.startDate) || ''), 'EEE. d MMM yyyy'),
22935
+ "> ",
22936
+ format$1(new Date((segment === null || segment === void 0 ? void 0 : segment.endDate) || ''), 'EEE. d MMM yyyy'))))),
22937
+ React.createElement("div", { className: "search__filter__itinerary__segment" },
22938
+ React.createElement("div", { className: "search__filter__itinerary__segment-item" },
22939
+ segment.productType === 3 && (React.createElement("div", { className: "search__filter__itinerary__segment-date search__filter__itinerary__segment-nights" },
22940
+ React.createElement("p", { className: "search__filter__itinerary__segment-date-date" },
22941
+ React.createElement("strong", null, numberOfNights(segment))),
22942
+ React.createElement(Icon, { name: "ui-moon", width: 16, height: 16 }))),
22943
+ React.createElement("div", { className: "search__filter__itinerary__segment-badge search__filter__itinerary__segment-badge--secondary" },
22944
+ segment.productType === 3 && React.createElement(Icon, { name: "ui-bed", width: 15, height: 15 }),
22945
+ segment.productType === 4 && React.createElement(Icon, { name: "ui-ticket", width: 15, height: 15 }),
22946
+ (segment.productType === 17 || segment.productType === 22) && React.createElement(Icon, { name: "ui-car", width: 15, height: 15 }),
22947
+ segment.productType === 11 && React.createElement(Icon, { name: "ui-ship", width: 15, height: 15 })),
22948
+ React.createElement("div", { className: "search__filter__itinerary__segment-details" },
22949
+ React.createElement("h6", null, segment === null || segment === void 0 ? void 0 : segment.productName)))))); }))),
22950
+ returnFlight && (React.createElement("div", { className: "search__filter__itinerary__transport" },
21697
22951
  React.createElement("div", { className: "search__filter__itinerary__transport-timeline" },
21698
22952
  React.createElement("div", { className: "search__filter__itinerary__transport-timeline-line" })),
21699
22953
  React.createElement("div", { className: "search__filter__itinerary__transport-item" },
21700
22954
  React.createElement("div", { className: "search__filter__itinerary__transport-date" },
21701
22955
  React.createElement("p", { className: "search__filter__itinerary__transport-date-date" },
21702
- React.createElement("strong", null, "30")),
21703
- React.createElement("p", null, "Jan")),
22956
+ React.createElement("strong", null, format$1(new Date((returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.startDate) || ''), 'd'))),
22957
+ React.createElement("p", null, format$1(new Date((returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.startDate) || ''), 'MMM'))),
21704
22958
  React.createElement("div", { className: "search__filter__itinerary__transport-badge" },
21705
22959
  React.createElement(Icon, { name: "ui-plane", height: 15 })),
21706
22960
  React.createElement("div", { className: "search__filter__itinerary__transport-details" },
21707
- React.createElement("h6", null, "Tenerife South Airport (TFS) - Brussels Airport (BRU)"),
22961
+ React.createElement("h6", null, returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.productName),
21708
22962
  React.createElement("p", { className: "search__filter__itinerary__transport-details-plane" },
21709
22963
  React.createElement("span", null,
21710
22964
  React.createElement(Icon, { name: "ui-plane-depart", height: 14 }),
21711
22965
  " ",
21712
- React.createElement("strong", null, "12:55")),
22966
+ React.createElement("strong", null, getDepartureTime(returnFlight))),
21713
22967
  ' ',
21714
22968
  "-",
21715
22969
  ' ',
21716
22970
  React.createElement("span", null,
21717
22971
  React.createElement(Icon, { name: "ui-plane-arrive", height: 14 }),
21718
22972
  " ",
21719
- React.createElement("strong", null, "18:25"))),
22973
+ React.createElement("strong", null, getArrivalTime(returnFlight)))),
21720
22974
  React.createElement("p", { className: "search__filter__itinerary__transport-details-time" },
21721
22975
  React.createElement("span", null,
21722
22976
  React.createElement(Icon, { name: "ui-clock", height: 20 }),
21723
- " 4h30m"))))),
22977
+ " ",
22978
+ getDuration(returnFlight))))))),
21724
22979
  React.createElement("div", { className: "search__filter__itinerary__country" },
21725
22980
  React.createElement("div", { className: "search__filter__itinerary__country-icon" },
21726
22981
  React.createElement(Icon, { name: "ui-flag", width: 17.5, height: 20 })),
21727
22982
  React.createElement("div", { className: "search__filter__itinerary__country-content" },
21728
- React.createElement("h4", null, "Brussels, Belgium"),
21729
22983
  React.createElement("p", null,
21730
- "Mon. 19 Jan 2026 - ",
21731
- React.createElement("strong", null, "End")))))))))));
22984
+ format$1(new Date((lastEntryLine === null || lastEntryLine === void 0 ? void 0 : lastEntryLine.startDate) || ''), 'EEE. d MMM yyyy'),
22985
+ " - ",
22986
+ React.createElement("strong", null, translations.SRP.END)))))))))));
21732
22987
  };
21733
22988
 
21734
22989
  var TabViews = function () {
22990
+ var _a;
22991
+ var context = useContext(SearchResultsConfigurationContext);
22992
+ var translations = getTranslations((_a = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB');
21735
22993
  var dispatch = useDispatch();
21736
22994
  var activeTab = useSelector(function (state) { return state.searchResults; }).activeTab;
21737
22995
  var handleSortChange = function (tab) {
@@ -21740,17 +22998,17 @@ var TabViews = function () {
21740
22998
  return (React.createElement("div", { className: "search__results__tab-views" },
21741
22999
  React.createElement("button", { type: "button", className: "search__results__tab-view ".concat(activeTab === 'extended' ? 'search__results__tab-view--active' : ''), onClick: function () { return handleSortChange('extended'); } },
21742
23000
  React.createElement(Icon, { name: "ui-extended", height: 16 }),
21743
- "Extended"),
23001
+ translations.SRP.EXTENDED),
21744
23002
  React.createElement("button", { type: "button", className: "search__results__tab-view ".concat(activeTab === 'compact' ? 'search__results__tab-view--active' : ''), onClick: function () { return handleSortChange('compact'); } },
21745
23003
  React.createElement(Icon, { name: "ui-compact", height: 16 }),
21746
- "Compact"),
21747
- React.createElement("button", { type: "button", className: "search__results__tab-view ".concat(activeTab === 'comparator' ? 'search__results__tab-view--active' : ''), onClick: function () { return handleSortChange('comparator'); } },
21748
- React.createElement(Icon, { name: "ui-comparator", height: 16 }),
21749
- "Comparator")));
23004
+ translations.SRP.COMPACT),
23005
+ React.createElement("button", { type: "button", className: "search__results__tab-view ".concat(activeTab === 'list' ? 'search__results__tab-view--active' : ''), onClick: function () { return handleSortChange('list'); } },
23006
+ React.createElement(Icon, { name: "ui-list", height: 16 }),
23007
+ translations.SRP.LIST)));
21750
23008
  };
21751
23009
 
21752
23010
  var HotelCard = function (_a) {
21753
- var result = _a.result;
23011
+ var result = _a.result, translations = _a.translations;
21754
23012
  var dispatch = useDispatch();
21755
23013
  var selectedHotelId = useSelector(function (state) { return state.searchResults; }).selectedHotelId;
21756
23014
  var handleChange = function (hotelProductId) {
@@ -21761,7 +23019,7 @@ var HotelCard = function (_a) {
21761
23019
  React.createElement("div", { className: "search__result-card__img-wrapper" },
21762
23020
  React.createElement("img", { src: result.image, alt: result.title, className: "search__result-card__img" }),
21763
23021
  React.createElement("div", { className: "search__result-card__price__wrapper" },
21764
- React.createElement("span", { className: "search__result-card__price__label" }, "Total price"),
23022
+ React.createElement("span", { className: "search__result-card__price__label" }, translations === null || translations === void 0 ? void 0 : translations.SHARED.TOTAL_PRICE),
21765
23023
  React.createElement("span", { className: "search__result-card__price" }, result.price))),
21766
23024
  React.createElement("div", { className: "search__result-card__content" },
21767
23025
  React.createElement("div", { className: "search__result-card__content__wrapper" },
@@ -21782,21 +23040,21 @@ var HotelCard = function (_a) {
21782
23040
  React.createElement("p", { className: "search__result-card__description" }, result.description)),
21783
23041
  React.createElement("div", { className: "search__result-card__footer" },
21784
23042
  React.createElement("button", { type: "button", className: "cta ".concat(selectedHotelId === result.id ? 'cta--selected' : 'cta--select'), onClick: function () { return handleChange(result.id); } }, selectedHotelId === result.id ? 'Selected' : 'Select'),
21785
- React.createElement("button", { type: "button", className: "cta cta--select", onClick: function () { return console.log('Clicked on customCard with id:', result.id); } }, "View details")))));
23043
+ React.createElement("button", { type: "button", className: "cta cta--select", onClick: function () { return console.log('Clicked on customCard with id:', result.id); } }, translations === null || translations === void 0 ? void 0 : translations.SRP.VIEW_DETAILS)))));
21786
23044
  };
21787
23045
 
21788
- var renderResults = function (results, context, cmsMap, activeTab) {
23046
+ var renderResults = function (results, context, cmsMap, activeTab, translations) {
21789
23047
  var renderedResults = results.map(function (result, index) {
21790
23048
  var cmsItem = cmsMap.get(result.productId);
21791
- var mappedResult = mapSearchResult(result, cmsItem, context.languageCode);
23049
+ var mappedResult = mapSearchResult(result, cmsItem, context.languageCode, translations);
21792
23050
  if ((context === null || context === void 0 ? void 0 : context.showCustomCards) && (context === null || context === void 0 ? void 0 : context.customCardRenderer)) {
21793
23051
  return (React.createElement("div", { key: "".concat(mappedResult.id, "-").concat(index), className: "search__result-card" }, context.customCardRenderer(mappedResult)));
21794
23052
  }
21795
- return React.createElement(HotelCard, { key: "".concat(mappedResult.id, "-").concat(index), result: mappedResult });
23053
+ return React.createElement(HotelCard, { key: "".concat(mappedResult.id, "-").concat(index), result: mappedResult, translations: translations });
21796
23054
  });
21797
23055
  return React.createElement("div", { className: "search__results__cards ".concat(activeTab ? "search__results__cards--".concat(activeTab) : '') }, renderedResults);
21798
23056
  };
21799
- var mapSearchResult = function (searchResult, cmsItem, languageCode) {
23057
+ var mapSearchResult = function (searchResult, cmsItem, languageCode, translations) {
21800
23058
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
21801
23059
  return {
21802
23060
  type: 'hotel',
@@ -21805,40 +23063,31 @@ var mapSearchResult = function (searchResult, cmsItem, languageCode) {
21805
23063
  image: (_e = (_d = (_c = cmsItem === null || cmsItem === void 0 ? void 0 : cmsItem.content) === null || _c === void 0 ? void 0 : _c.images) === null || _d === void 0 ? void 0 : _d.thumbnailPicture) === null || _e === void 0 ? void 0 : _e.url,
21806
23064
  description: ((_g = (_f = cmsItem === null || cmsItem === void 0 ? void 0 : cmsItem.content) === null || _f === void 0 ? void 0 : _f.descriptions) === null || _g === void 0 ? void 0 : _g.introductionTitle) || '',
21807
23065
  location: searchResult.locationName && searchResult.countryName ? "".concat(searchResult.locationName, ", ").concat(searchResult.countryName) : ((_h = cmsItem === null || cmsItem === void 0 ? void 0 : cmsItem.parentItem) === null || _h === void 0 ? void 0 : _h.name) || '',
21808
- price: formatPrice(searchResult.currencyCode, searchResult.price, languageCode),
21809
- ctaText: 'View details',
21810
- days: calculateNights(searchResult.stayFromDate, searchResult.stayToDate),
23066
+ price: formatPrice(searchResult.price, searchResult.currencyCode, languageCode),
23067
+ ctaText: translations === null || translations === void 0 ? void 0 : translations.SRP.VIEW_DETAILS,
23068
+ days: calculateNights(searchResult.stayFromDate, searchResult.stayToDate, translations),
21811
23069
  accommodation: searchResult.accommodationName,
21812
23070
  regime: searchResult.regimeName,
21813
23071
  stars: ((_k = (_j = cmsItem === null || cmsItem === void 0 ? void 0 : cmsItem.content) === null || _j === void 0 ? void 0 : _j.general) === null || _k === void 0 ? void 0 : _k.stars) || searchResult.hotelStars
21814
23072
  };
21815
23073
  };
21816
- var formatPrice = function (currencyCode, price, languageCode) {
21817
- if (!price) {
21818
- return 'Price unavailable';
21819
- }
21820
- return new Intl.NumberFormat(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB', {
21821
- style: 'currency',
21822
- currency: currencyCode,
21823
- currencyDisplay: 'symbol'
21824
- }).format(price);
21825
- };
21826
- var calculateNights = function (fromDate, toDate) {
23074
+ var calculateNights = function (fromDate, toDate, translations) {
21827
23075
  var from = new Date(fromDate).getTime(); // returns a number
21828
23076
  var to = new Date(toDate).getTime(); // returns a number
21829
23077
  var diffTime = Math.abs(to - from);
21830
23078
  var diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
21831
- return "".concat(diffDays, " nights");
23079
+ return "".concat(diffDays, " ").concat(translations === null || translations === void 0 ? void 0 : translations.SRP.NIGHTS);
21832
23080
  };
21833
23081
  var HotelAccommodationResults = function (_a) {
21834
- var _b;
23082
+ var _b, _c;
21835
23083
  var isLoading = _a.isLoading, context = _a.context;
23084
+ var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
21836
23085
  if (isLoading) {
21837
- return React.createElement(React.Fragment, null, (_b = context === null || context === void 0 ? void 0 : context.customSpinner) !== null && _b !== void 0 ? _b : React.createElement(Spinner, null));
23086
+ return React.createElement(React.Fragment, null, (_c = context === null || context === void 0 ? void 0 : context.customSpinner) !== null && _c !== void 0 ? _c : React.createElement(Spinner, null));
21838
23087
  }
21839
- var _c = useSelector(function (state) { return state.searchResults; }), results = _c.results, activeTab = _c.activeTab;
23088
+ var _d = useSelector(function (state) { return state.searchResults; }), results = _d.results, activeTab = _d.activeTab;
21840
23089
  if (!results.length) {
21841
- return React.createElement("div", { className: "no-results" }, context.noResultsLabel || 'No results found.');
23090
+ return React.createElement("div", { className: "no-results" }, translations.SRP.NO_RESULTS);
21842
23091
  }
21843
23092
  var cmsMap = React.useMemo(function () {
21844
23093
  var _a;
@@ -21861,120 +23110,10 @@ var HotelAccommodationResults = function (_a) {
21861
23110
  React.createElement("p", null, firstResultMonth)),
21862
23111
  React.createElement("div", { className: "search__results__label__text" },
21863
23112
  React.createElement("h3", null,
21864
- "Select ",
21865
- React.createElement("strong", null, "Accommodation")))),
21866
- renderResults(results, context, cmsMap, activeTab)));
21867
- };
21868
-
21869
- var RoundTripResults = function () {
21870
- return (React.createElement("div", { className: "search__results__cards search__results__cards--comparator" },
21871
- React.createElement("div", { className: "search__result-card" },
21872
- React.createElement("div", { className: "search__result-card__allotment" },
21873
- React.createElement("div", { className: "search__result-card__allotment__title__wrapper" },
21874
- React.createElement("h3", { className: "search__result-card__allotment__title" },
21875
- "Rondreis Noord-India: Rajasthan",
21876
- React.createElement("span", { className: "search__result-card__allotment__badge" },
21877
- React.createElement(Icon, { name: "ui-circle-check", width: 14, height: 14 }),
21878
- "GAR")),
21879
- React.createElement("div", { className: "search__result-card__allotment__container" },
21880
- React.createElement("div", { className: "search__result-card__allotment__header" },
21881
- React.createElement("div", { className: "search__result-card__allotment__wrapper" },
21882
- React.createElement("div", { className: "search__result-card__allotment__date" },
21883
- React.createElement(Icon, { name: "ui-plane", height: 16 }),
21884
- React.createElement("div", { className: "search__result-card__allotment__date--from" }, "05-04-2026")),
21885
- React.createElement("div", { className: "search__result-card__allotment__info" },
21886
- React.createElement("span", null,
21887
- React.createElement(Icon, { name: "ui-calendar", height: 16 })),
21888
- ' ',
21889
- "8 dagen -",
21890
- ' ',
21891
- React.createElement("span", null,
21892
- React.createElement(Icon, { name: "ui-moon", height: 16 })),
21893
- "7 nachten"))),
21894
- React.createElement("div", { className: "search__result-card__allotment__info" },
21895
- React.createElement("a", { href: "#", type: "button", className: "search__result-card__allotment__info__group" }, "Group"),
21896
- React.createElement("div", { className: "search__result-card__allotment__persons" },
21897
- React.createElement("div", { className: "search__result-card__allotment__person" },
21898
- React.createElement(Icon, { name: "ui-men", width: 16, height: 16 }),
21899
- React.createElement("span", null, "2 p.")),
21900
- React.createElement("div", { className: "search__result-card__allotment__person" },
21901
- React.createElement(Icon, { name: "ui-women", width: 16, height: 16 }),
21902
- React.createElement("span", null, "3 p.")))))),
21903
- React.createElement("div", { className: "search__result-card__allotment__footer" },
21904
- React.createElement("div", { className: "search__result-card__allotment__price__wrapper" },
21905
- React.createElement("div", { className: "search__result-card__allotment__price" }, "\u20AC 1.250,00 p.p."),
21906
- React.createElement("div", { className: "search__result-card__allotment__price__info" }, "Gelieve \u20AC 450,00 zakgeld mee te nemen")),
21907
- React.createElement("button", { className: "cta cta--select" }, "Bekijk reis")))),
21908
- React.createElement("div", { className: "search__result-card" },
21909
- React.createElement("div", { className: "search__result-card__allotment" },
21910
- React.createElement("div", { className: "search__result-card__allotment__title__wrapper" },
21911
- React.createElement("h3", { className: "search__result-card__allotment__title" },
21912
- "Rondreis Thailand",
21913
- React.createElement("span", { className: "search__result-card__allotment__badge search__result-card__allotment__badge--secondary" },
21914
- React.createElement(Icon, { name: "ui-circle-half", width: 14, height: 14 }),
21915
- "BIJNA GAR")),
21916
- React.createElement("div", { className: "search__result-card__allotment__container" },
21917
- React.createElement("div", { className: "search__result-card__allotment__header" },
21918
- React.createElement("div", { className: "search__result-card__allotment__wrapper" },
21919
- React.createElement("div", { className: "search__result-card__allotment__date" },
21920
- React.createElement(Icon, { name: "ui-plane", height: 16 }),
21921
- React.createElement("div", { className: "search__result-card__allotment__date--from" }, "05-04-2026")),
21922
- React.createElement("div", { className: "search__result-card__allotment__info" },
21923
- React.createElement("span", null,
21924
- React.createElement(Icon, { name: "ui-calendar", height: 16 })),
21925
- ' ',
21926
- "8 dagen -",
21927
- ' ',
21928
- React.createElement("span", null,
21929
- React.createElement(Icon, { name: "ui-moon", height: 16 })),
21930
- "7 nachten"))),
21931
- React.createElement("div", { className: "search__result-card__allotment__info" },
21932
- React.createElement("a", { href: "#", type: "button", className: "search__result-card__allotment__info__group" }, "Group"),
21933
- React.createElement("div", { className: "search__result-card__allotment__persons" },
21934
- React.createElement("div", { className: "search__result-card__allotment__person" },
21935
- React.createElement(Icon, { name: "ui-men", width: 16, height: 16 }),
21936
- React.createElement("span", null, "2 p.")),
21937
- React.createElement("div", { className: "search__result-card__allotment__person" },
21938
- React.createElement(Icon, { name: "ui-women", width: 16, height: 16 }),
21939
- React.createElement("span", null, "3 p.")))))),
21940
- React.createElement("div", { className: "search__result-card__allotment__footer" },
21941
- React.createElement("div", { className: "search__result-card__allotment__price__wrapper" },
21942
- React.createElement("div", { className: "search__result-card__allotment__price" }, "\u20AC 1.250,00 p.p."),
21943
- React.createElement("div", { className: "search__result-card__allotment__price__info" }, "Gelieve \u20AC 450,00 zakgeld mee te nemen")),
21944
- React.createElement("button", { className: "cta cta--select" }, "Bekijk reis")))),
21945
- React.createElement("div", { className: "search__result-card" },
21946
- React.createElement("div", { className: "search__result-card__allotment" },
21947
- React.createElement("div", { className: "search__result-card__allotment__title__wrapper" },
21948
- React.createElement("h3", { className: "search__result-card__allotment__title" }, "Rondreis Timboektoe"),
21949
- React.createElement("div", { className: "search__result-card__allotment__container" },
21950
- React.createElement("div", { className: "search__result-card__allotment__header" },
21951
- React.createElement("div", { className: "search__result-card__allotment__wrapper" },
21952
- React.createElement("div", { className: "search__result-card__allotment__date" },
21953
- React.createElement(Icon, { name: "ui-plane", height: 16 }),
21954
- React.createElement("div", { className: "search__result-card__allotment__date--from" }, "05-04-2026")),
21955
- React.createElement("div", { className: "search__result-card__allotment__info" },
21956
- React.createElement("span", null,
21957
- React.createElement(Icon, { name: "ui-calendar", height: 16 })),
21958
- ' ',
21959
- "8 dagen -",
21960
- ' ',
21961
- React.createElement("span", null,
21962
- React.createElement(Icon, { name: "ui-moon", height: 16 })),
21963
- "7 nachten"))),
21964
- React.createElement("div", { className: "search__result-card__allotment__info" },
21965
- React.createElement("a", { href: "#", type: "button", className: "search__result-card__allotment__info__group" }, "Group"),
21966
- React.createElement("div", { className: "search__result-card__allotment__persons" },
21967
- React.createElement("div", { className: "search__result-card__allotment__person" },
21968
- React.createElement(Icon, { name: "ui-men", width: 16, height: 16 }),
21969
- React.createElement("span", null, "2 p.")),
21970
- React.createElement("div", { className: "search__result-card__allotment__person" },
21971
- React.createElement(Icon, { name: "ui-women", width: 16, height: 16 }),
21972
- React.createElement("span", null, "3 p.")))))),
21973
- React.createElement("div", { className: "search__result-card__allotment__footer" },
21974
- React.createElement("div", { className: "search__result-card__allotment__price__wrapper" },
21975
- React.createElement("div", { className: "search__result-card__allotment__price" }, "\u20AC 1.250,00 p.p."),
21976
- React.createElement("div", { className: "search__result-card__allotment__price__info" }, "Gelieve \u20AC 450,00 zakgeld mee te nemen")),
21977
- React.createElement("button", { className: "cta cta--select" }, "Bekijk reis"))))));
23113
+ translations.SRP.SELECT,
23114
+ " ",
23115
+ React.createElement("strong", null, translations.SRP.ACCOMMODATION)))),
23116
+ renderResults(results, context, cmsMap, activeTab, translations)));
21978
23117
  };
21979
23118
 
21980
23119
  var enrichFiltersWithResults = function (results, filters) {
@@ -21994,18 +23133,126 @@ var enrichFiltersWithResults = function (results, filters) {
21994
23133
  return filters;
21995
23134
  };
21996
23135
 
23136
+ var ticksToMinutes = function (ticks) { return Math.floor(ticks / 600000000); };
23137
+ var formatDuration = function (ticks) {
23138
+ var minutes = ticksToMinutes(ticks);
23139
+ var h = Math.floor(minutes / 60);
23140
+ var m = minutes % 60;
23141
+ return "".concat(h, "h ").concat(m, "m");
23142
+ };
23143
+ var FlightResults = function (_a) {
23144
+ var _b;
23145
+ var flights = _a.flights, isDeparture = _a.isDeparture;
23146
+ var context = useContext(SearchResultsConfigurationContext);
23147
+ var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
23148
+ var dispatch = useDispatch();
23149
+ var _c = useState(null), activeDetailId = _c[0], setActiveDetailId = _c[1];
23150
+ var handleDetailClick = function (flightOptionId) {
23151
+ setActiveDetailId(function (prev) { return (prev === flightOptionId ? null : flightOptionId); });
23152
+ };
23153
+ var firstResult = flights === null || flights === void 0 ? void 0 : flights[0];
23154
+ var firstResultDate = (firstResult === null || firstResult === void 0 ? void 0 : firstResult.startDateTime) ? parseISO(firstResult.startDateTime) : null;
23155
+ return (React.createElement(React.Fragment, null,
23156
+ React.createElement("div", { className: "search__results__label" },
23157
+ React.createElement("div", { className: "search__results__label__date" }, firstResultDate && (React.createElement(React.Fragment, null,
23158
+ React.createElement("p", { className: "search__results__label__date-date" }, format$1(firstResultDate, 'd')),
23159
+ React.createElement("p", null, format$1(firstResultDate, 'MMM'))))),
23160
+ React.createElement("div", { className: "search__results__label__text" },
23161
+ React.createElement("h3", null,
23162
+ translations.SRP.SELECT,
23163
+ " ",
23164
+ React.createElement("strong", null, isDeparture ? translations.SRP.DEPARTURE : translations.SRP.RETURN)))),
23165
+ React.createElement("div", { className: "search__results__cards search__results__cards--extended" }, flights.map(function (flight, index) {
23166
+ var lines = flight.flightMetaData.flightLines;
23167
+ var firstLine = lines[0];
23168
+ var lastLine = lines[lines.length - 1];
23169
+ var stops = lines.length - 1;
23170
+ return (React.createElement("div", { className: "flight", key: "flight-".concat(flight.flightId, "-").concat(index) },
23171
+ React.createElement("div", { className: "flight__option" },
23172
+ React.createElement("div", { className: "flight__content" },
23173
+ React.createElement("div", { className: "flight__flights" },
23174
+ React.createElement("div", { className: "flight__flight" },
23175
+ React.createElement("div", { className: "flight__flight__header" },
23176
+ React.createElement("div", { className: "flight__status__container" }),
23177
+ React.createElement("div", { className: "flight__price" },
23178
+ React.createElement("span", { className: "price" },
23179
+ "\u20AC ",
23180
+ flight.price.toFixed(2)),
23181
+ React.createElement("button", { type: "button", className: "cta ".concat(flight.isSelected ? 'cta--selected' : 'cta--select'), onClick: function () { return dispatch(selectFlight({ flightOptionId: flight.flightOptionId, isDeparture: !!isDeparture })); } }, flight.isSelected ? 'Selected' : 'Select')))),
23182
+ React.createElement("div", { className: "flight__flight" },
23183
+ React.createElement("div", { className: "flight__flight__container" },
23184
+ React.createElement("div", { className: "flight__flight__wrapper" },
23185
+ React.createElement("div", { className: "flight__logo__wrapper" },
23186
+ React.createElement("img", { src: "https://media.tidesoftware.be/media/shared/Airlines/".concat(firstLine.airlineCode, ".png?height=256"), alt: flight.airlineDescription, className: "flight__logo" }),
23187
+ React.createElement("span", null, flight.airlineDescription)),
23188
+ React.createElement("div", { className: "flight__info" },
23189
+ React.createElement("div", { className: "flight__info__times" },
23190
+ React.createElement("strong", null,
23191
+ firstLine.departureTime,
23192
+ " ",
23193
+ firstLine.departureAirport),
23194
+ React.createElement("p", null, format$1(parseISO(firstLine.departureDate), 'EEE dd MMM yyyy'))),
23195
+ React.createElement("div", { className: "flight__info__duration" },
23196
+ React.createElement("p", null, formatDuration(flight.flightMetaData.durationInTicks)),
23197
+ React.createElement("div", { className: "flight__info__duration__stops" }, stops > 0 && React.createElement("div", { className: "flight__info__duration__stop" })),
23198
+ React.createElement("span", null, stops === 0 ? translations.SRP.DIRECT : "".concat(stops, " ").concat(translations.SRP.STOP).concat(stops > 1 ? 's' : ''))),
23199
+ React.createElement("div", { className: "flight__info__times flight__info__times--arrival" },
23200
+ React.createElement("strong", null,
23201
+ lastLine.arrivalTime,
23202
+ " ",
23203
+ lastLine.arrivalAirport),
23204
+ React.createElement("p", null, format$1(parseISO(lastLine.arrivalDate), 'EEE dd MMM yyyy'))))),
23205
+ React.createElement("div", { className: "flight__detail__btn__wrapper" },
23206
+ React.createElement("div", { className: "flight__detail__btn ".concat(activeDetailId === flight.flightOptionId ? 'flight__detail__btn--active' : ''), onClick: function () { return handleDetailClick(flight.flightOptionId); } },
23207
+ React.createElement(Icon, { name: "ui-chevron", className: "flight__detail__btn__arrow", width: 16, height: 16 })))),
23208
+ React.createElement("div", { className: "flight__detail ".concat(activeDetailId === flight.flightOptionId ? 'flight__detail--active' : '') }, lines.map(function (line, index) {
23209
+ var nextLine = lines[index + 1];
23210
+ return (React.createElement(React.Fragment, { key: index },
23211
+ React.createElement("div", { className: "flight__info" },
23212
+ React.createElement("div", { className: "flight__info__times__wrapper" },
23213
+ React.createElement("div", { className: "flight__info__times" },
23214
+ React.createElement("p", null, line.departureTime),
23215
+ React.createElement("strong", null, line.departureAirport),
23216
+ React.createElement("p", null, format$1(parseISO(line.departureDate), 'EEE dd MMM yyyy'))),
23217
+ React.createElement(Icon, { name: "ui-plane-depart", width: 30, height: 20 })),
23218
+ React.createElement("div", { className: "flight__info__duration" },
23219
+ React.createElement("p", null, formatDuration(line.durationInTicks)),
23220
+ React.createElement("span", null,
23221
+ line.airline,
23222
+ " ",
23223
+ line.number)),
23224
+ React.createElement("div", { className: "flight__info__times__wrapper flight__info__times__wrapper--arrival" },
23225
+ React.createElement(Icon, { name: "ui-plane-arrive", width: 30, height: 20 }),
23226
+ React.createElement("div", { className: "flight__info__times flight__info__times--arrival" },
23227
+ React.createElement("p", null, line.arrivalTime),
23228
+ React.createElement("strong", null, line.arrivalAirport),
23229
+ React.createElement("p", null, format$1(parseISO(line.arrivalDate), 'EEE dd MMM yyyy'))))),
23230
+ nextLine && (React.createElement("div", { className: "flight__info" },
23231
+ React.createElement("div", { className: "flight__info__duration flight__info__duration--waittime" },
23232
+ React.createElement("div", { className: "flight__info__duration__stops flight__info__duration__stops--stoptime" },
23233
+ React.createElement(Icon, { name: "ui-clock", width: 24, height: 24 })),
23234
+ React.createElement("div", { className: "flight__info__duration__stoptime" },
23235
+ React.createElement("span", null, translations.SRP.STOP_TIME),
23236
+ React.createElement("strong", null, formatDuration(parseISO(nextLine.departureDate).getTime() - parseISO(line.arrivalDate).getTime()))))))));
23237
+ })))),
23238
+ React.createElement("div", { className: "flight__rate" })))));
23239
+ }))));
23240
+ };
23241
+
21997
23242
  var SearchResultsContainer = function () {
21998
- var _a, _b, _c;
23243
+ var _a, _b;
21999
23244
  var isMobile = useMediaQuery('(max-width: 1200px)');
22000
23245
  var dispatch = useDispatch();
22001
23246
  var context = useContext(SearchResultsConfigurationContext);
22002
- var _d = useSelector(function (state) { return state.searchResults; }), results = _d.results, isLoading = _d.isLoading, filters = _d.filters, sortKey = _d.sortKey, selectedHotelId = _d.selectedHotelId;
22003
- var _e = useState(0), searchTrigger = _e[0], setSearchTrigger = _e[1];
22004
- var _f = useState(false), initialFiltersSet = _f[0], setInitialFiltersSet = _f[1];
22005
- var _g = useState([]); _g[0]; var setInitialFilters = _g[1];
23247
+ var translations = getTranslations((_a = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB');
23248
+ var _c = useSelector(function (state) { return state.searchResults; }), results = _c.results, bookingPackageDetails = _c.bookingPackageDetails, isLoading = _c.isLoading, filters = _c.filters, sortKey = _c.sortKey, selectedHotelId = _c.selectedHotelId;
23249
+ var _d = useState(0), searchTrigger = _d[0], setSearchTrigger = _d[1];
23250
+ var _e = useState(false), initialFiltersSet = _e[0], setInitialFiltersSet = _e[1];
23251
+ var _f = useState([]); _f[0]; var setInitialFilters = _f[1];
23252
+ // seperate Search
22006
23253
  useEffect(function () {
22007
23254
  var runSearch = function () { return __awaiter(void 0, void 0, void 0, function () {
22008
- var params, from, to, rooms, country, region, oord, city, destinationId, destinationIsCountry, destinationIsRegion, destinationIsOord, destinationIsLocation, searchRequest, config, packageSearchResults, enrichedFilters, err_1;
23255
+ var params, from, to, rooms, country, region, oord, city, hotel, tagId, destinationId, destinationIsCountry, destinationIsRegion, destinationIsOord, destinationIsLocation, searchRequest, config, packageSearchResults, enrichedFilters, err_1;
22009
23256
  var _a, _b, _c, _d, _e;
22010
23257
  return __generator(this, function (_f) {
22011
23258
  switch (_f.label) {
@@ -22025,6 +23272,8 @@ var SearchResultsContainer = function () {
22025
23272
  region = getNumberFromParams(params, 'region');
22026
23273
  oord = getNumberFromParams(params, 'oord');
22027
23274
  city = getNumberFromParams(params, 'location');
23275
+ hotel = getNumberFromParams(params, 'hotel');
23276
+ tagId = getNumberFromParams(params, 'tagId');
22028
23277
  // temp hardcoded params
22029
23278
  if (!from || !to) {
22030
23279
  from = '2026-04-07';
@@ -22082,7 +23331,9 @@ var SearchResultsContainer = function () {
22082
23331
  maxPrice: (_e = filters.find(function (f) { return f.property === 'price'; })) === null || _e === void 0 ? void 0 : _e.selectedMax,
22083
23332
  useExactDates: true,
22084
23333
  onlyCachedResults: false,
22085
- includeAllAllotments: true
23334
+ includeAllAllotments: true,
23335
+ productIds: hotel ? [hotel] : [],
23336
+ productTagIds: tagId ? [tagId] : []
22086
23337
  }
22087
23338
  };
22088
23339
  config = {
@@ -22116,17 +23367,19 @@ var SearchResultsContainer = function () {
22116
23367
  }); };
22117
23368
  runSearch();
22118
23369
  }, [location.search, searchTrigger]);
23370
+ // Seperate detailsCall
22119
23371
  useEffect(function () {
22120
23372
  var fetchPackageDetails = function () { return __awaiter(void 0, void 0, void 0, function () {
22121
- var config, selectedItem, params, rooms, requestRooms, detailsRequest, detailsResponse, err_2;
22122
- return __generator(this, function (_a) {
22123
- switch (_a.label) {
23373
+ var config, selectedItem, params, rooms, requestRooms, detailsRequest, detailsWLResponse, err_2;
23374
+ var _a, _b;
23375
+ return __generator(this, function (_c) {
23376
+ switch (_c.label) {
22124
23377
  case 0:
22125
23378
  if (!selectedHotelId || !context)
22126
23379
  return [2 /*return*/];
22127
- _a.label = 1;
23380
+ _c.label = 1;
22128
23381
  case 1:
22129
- _a.trys.push([1, 3, , 4]);
23382
+ _c.trys.push([1, 3, , 4]);
22130
23383
  config = {
22131
23384
  host: context.tideConnection.host,
22132
23385
  apiKey: context.tideConnection.apiKey
@@ -22156,13 +23409,15 @@ var SearchResultsContainer = function () {
22156
23409
  postNights: null
22157
23410
  }
22158
23411
  };
22159
- return [4 /*yield*/, build.details(config, detailsRequest)];
23412
+ return [4 /*yield*/, build.detailsWL(config, detailsRequest)];
22160
23413
  case 2:
22161
- detailsResponse = _a.sent();
22162
- console.log('Package details:', detailsResponse);
23414
+ detailsWLResponse = _c.sent();
23415
+ console.log('Details with entryLight:', detailsWLResponse);
23416
+ dispatch(setBookingPackageDetails({ details: (_a = detailsWLResponse === null || detailsWLResponse === void 0 ? void 0 : detailsWLResponse.payload) === null || _a === void 0 ? void 0 : _a.bookingPackage }));
23417
+ dispatch(setEntry({ entry: (_b = detailsWLResponse === null || detailsWLResponse === void 0 ? void 0 : detailsWLResponse.payload) === null || _b === void 0 ? void 0 : _b.entry }));
22163
23418
  return [3 /*break*/, 4];
22164
23419
  case 3:
22165
- err_2 = _a.sent();
23420
+ err_2 = _c.sent();
22166
23421
  console.error('Failed to fetch package details', err_2);
22167
23422
  return [3 /*break*/, 4];
22168
23423
  case 4: return [2 /*return*/];
@@ -22198,43 +23453,46 @@ var SearchResultsContainer = function () {
22198
23453
  });
22199
23454
  return requestRooms;
22200
23455
  };
22201
- var _h = useState(false), isMobileFiltersOpen = _h[0], setIsMobileFiltersOpen = _h[1];
23456
+ var _g = useState(false), filtersOpen = _g[0], setFiltersOpen = _g[1];
23457
+ var _h = useState(false), itineraryOpen = _h[0], setItineraryOpen = _h[1];
22202
23458
  var handleSortChange = function (newSortKey) {
22203
23459
  dispatch(setSortKey(newSortKey));
22204
23460
  };
22205
- var handleSetIsMobileFiltersOpen = function () {
22206
- setIsMobileFiltersOpen(!isMobileFiltersOpen);
22207
- };
22208
23461
  useEffect(function () {
22209
23462
  if (typeof document !== 'undefined') {
22210
- document.body.classList.toggle('has-overlay', isMobileFiltersOpen);
23463
+ document.body.classList.toggle('has-overlay', filtersOpen);
22211
23464
  }
22212
- }, [isMobileFiltersOpen]);
23465
+ }, [filtersOpen]);
22213
23466
  var sortingOptions = [
22214
- { key: 'price-asc', label: 'Price: Low to High' },
22215
- { key: 'price-desc', label: 'Price: High to Low' },
22216
- { key: 'departure-date', label: 'Departure Date' }
23467
+ { key: 'price-asc', label: translations.SRP.PRICE_ASC },
23468
+ { key: 'price-desc', label: translations.SRP.PRICE_DESC },
23469
+ { key: 'departure-date', label: translations.SRP.DEPARTURE_ASC }
22217
23470
  ];
22218
23471
  return (React.createElement("div", { id: "tide-booking", className: "search__bg" }, context && (React.createElement("div", { className: "search" },
22219
23472
  React.createElement("div", { className: "search__container" },
22220
- context.showFilters && (React.createElement(Filters, { filters: filters, isMobileFiltersOpen: isMobileFiltersOpen, handleSetIsMobileFiltersOpen: handleSetIsMobileFiltersOpen, handleApplyFilters: function () { return setSearchTrigger(function (prev) { return prev + 1; }); }, isLoading: isLoading })),
22221
- context.type === 'hotel-flight' && (React.createElement(Itinerary, { isMobileFiltersOpen: isMobileFiltersOpen, handleSetIsMobileFiltersOpen: handleSetIsMobileFiltersOpen, isLoading: isLoading })),
23473
+ context.showFilters && (React.createElement(Filters, { filters: filters, isOpen: filtersOpen, handleSetIsOpen: function () { return setFiltersOpen(!filtersOpen); }, handleApplyFilters: function () { return setSearchTrigger(function (prev) { return prev + 1; }); }, isLoading: isLoading })),
23474
+ context.type === 'hotel-flight' && (React.createElement(Itinerary, { isOpen: itineraryOpen, handleSetIsOpen: function () { return setItineraryOpen(!itineraryOpen); }, isLoading: isLoading })),
22222
23475
  React.createElement("div", { className: "search__results" },
22223
23476
  isMobile && (React.createElement("div", { className: "search__result-row" },
22224
- React.createElement("div", { className: "cta cta--filter", onClick: function () { return setIsMobileFiltersOpen(true); } },
22225
- React.createElement(Icon, { name: "ui-filter", className: "mobile-filters-button__icon", height: 16 }), (_a = context.translations) === null || _a === void 0 ? void 0 :
22226
- _a.filters),
22227
- sortingOptions && sortingOptions.length > 0 && (React.createElement(ItemPicker, { items: sortingOptions, selection: sortKey || undefined, label: "Sort by", placeholder: "Sort by", classModifier: "travel-class-picker__items", onPick: handleSortChange })))),
23477
+ React.createElement("div", { className: "search__results__actions" },
23478
+ context.showFilters && (React.createElement("div", { className: "cta cta--filter", onClick: function () { return setFiltersOpen(true); } },
23479
+ React.createElement(Icon, { name: "ui-filter", className: "mobile-filters-button__icon", height: 16 }),
23480
+ translations.SRP.FILTERS)),
23481
+ React.createElement("div", { className: "cta cta--filter", onClick: function () { return setItineraryOpen(true); } },
23482
+ React.createElement(Icon, { name: "ui-calendar", className: "mobile-filters-button__icon", height: 16 }),
23483
+ translations.SRP.SHOW_ITINERARY)),
23484
+ sortingOptions && sortingOptions.length > 0 && (React.createElement(ItemPicker, { items: sortingOptions, selection: sortKey || undefined, label: translations.SRP.SORTBY, placeholder: translations.SRP.SORTBY, classModifier: "travel-class-picker__items", onPick: handleSortChange })))),
22228
23485
  React.createElement("div", { className: "search__result-row" },
22229
23486
  React.createElement("span", { className: "search__result-row-text" }, !isLoading && (React.createElement(React.Fragment, null, (_b = results === null || results === void 0 ? void 0 : results.length) !== null && _b !== void 0 ? _b : 4,
22230
- " ", (_c = context.translations) === null || _c === void 0 ? void 0 :
22231
- _c.totalResultsLabel))),
23487
+ " ",
23488
+ translations.SRP.TOTAL_RESULTS_LABEL))),
22232
23489
  !isMobile && sortingOptions && sortingOptions.length > 0 && (React.createElement("div", { className: "search__result-row-filter" },
22233
- React.createElement(ItemPicker, { items: sortingOptions, selection: sortKey || undefined, label: "Sort by", placeholder: "Sort by", classModifier: "travel-class-picker__items", onPick: handleSortChange })))),
23490
+ React.createElement(ItemPicker, { items: sortingOptions, selection: sortKey || undefined, label: translations.SRP.SORTBY, placeholder: translations.SRP.SORTBY, classModifier: "travel-class-picker__items", onPick: handleSortChange })))),
22234
23491
  React.createElement("div", { className: "search__results__wrapper" },
22235
23492
  context.showTabViews && React.createElement(TabViews, null),
22236
- context.showRoundTripResults && React.createElement(RoundTripResults, null),
22237
- context.showHotelAccommodationResults && React.createElement(HotelAccommodationResults, { isLoading: isLoading, context: context }))))))));
23493
+ context.showFlightResults && (bookingPackageDetails === null || bookingPackageDetails === void 0 ? void 0 : bookingPackageDetails.outwardFlights) && (React.createElement(FlightResults, { flights: bookingPackageDetails.outwardFlights, isDeparture: true })),
23494
+ context.showHotelAccommodationResults && React.createElement(HotelAccommodationResults, { isLoading: isLoading, context: context }),
23495
+ context.showFlightResults && (bookingPackageDetails === null || bookingPackageDetails === void 0 ? void 0 : bookingPackageDetails.returnFlights) && (React.createElement(FlightResults, { flights: bookingPackageDetails.returnFlights, isDeparture: false })))))))));
22238
23496
  };
22239
23497
 
22240
23498
  var createSearchResultsStore = function () {