@qite/tide-booking-component 1.0.22 → 1.0.24

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 (63) hide show
  1. package/README.md +8 -8
  2. package/build/build-cjs/booking-wizard/utils/localization-util.d.ts +136 -0
  3. package/build/build-cjs/index.js +209 -25
  4. package/build/build-esm/booking-wizard/utils/localization-util.d.ts +136 -0
  5. package/build/build-esm/index.js +209 -25
  6. package/package.json +71 -71
  7. package/rollup.config.js +23 -23
  8. package/src/booking-wizard/components/icon.tsx +29 -29
  9. package/src/booking-wizard/components/labeled-input.tsx +64 -64
  10. package/src/booking-wizard/components/labeled-select.tsx +69 -69
  11. package/src/booking-wizard/components/message.tsx +34 -34
  12. package/src/booking-wizard/components/product-card.tsx +37 -37
  13. package/src/booking-wizard/components/rating.tsx +21 -21
  14. package/src/booking-wizard/components/step-indicator.tsx +42 -37
  15. package/src/booking-wizard/components/step-route.tsx +27 -27
  16. package/src/booking-wizard/features/booking/api.ts +44 -44
  17. package/src/booking-wizard/features/booking/booking-slice.ts +399 -399
  18. package/src/booking-wizard/features/booking/booking.tsx +302 -299
  19. package/src/booking-wizard/features/booking/selectors.ts +340 -340
  20. package/src/booking-wizard/features/confirmation/confirmation.tsx +83 -81
  21. package/src/booking-wizard/features/error/error.tsx +73 -71
  22. package/src/booking-wizard/features/price-details/price-details-api.ts +22 -22
  23. package/src/booking-wizard/features/price-details/price-details-slice.ts +149 -149
  24. package/src/booking-wizard/features/price-details/util.ts +135 -135
  25. package/src/booking-wizard/features/product-options/no-options.tsx +21 -18
  26. package/src/booking-wizard/features/product-options/none-option.tsx +120 -118
  27. package/src/booking-wizard/features/product-options/option-booking-group.tsx +210 -210
  28. package/src/booking-wizard/features/product-options/option-item.tsx +321 -321
  29. package/src/booking-wizard/features/product-options/option-pax-card.tsx +120 -117
  30. package/src/booking-wizard/features/product-options/option-pax-group.tsx +169 -169
  31. package/src/booking-wizard/features/product-options/option-room.tsx +316 -314
  32. package/src/booking-wizard/features/product-options/option-unit-group.tsx +192 -192
  33. package/src/booking-wizard/features/product-options/option-units-card.tsx +103 -100
  34. package/src/booking-wizard/features/product-options/options-form.tsx +350 -348
  35. package/src/booking-wizard/features/product-options/validate-form.ts +9 -9
  36. package/src/booking-wizard/features/sidebar/index.tsx +80 -80
  37. package/src/booking-wizard/features/sidebar/sidebar-flight.tsx +69 -66
  38. package/src/booking-wizard/features/sidebar/sidebar-util.ts +175 -168
  39. package/src/booking-wizard/features/sidebar/sidebar.tsx +345 -343
  40. package/src/booking-wizard/features/summary/summary-booking-option-pax.tsx +25 -25
  41. package/src/booking-wizard/features/summary/summary-booking-option-unit.tsx +25 -25
  42. package/src/booking-wizard/features/summary/summary-flight.tsx +39 -36
  43. package/src/booking-wizard/features/summary/summary-per-booking-option-group.tsx +57 -57
  44. package/src/booking-wizard/features/summary/summary-per-pax-option-group.tsx +51 -51
  45. package/src/booking-wizard/features/summary/summary-per-unit-option-group.tsx +54 -54
  46. package/src/booking-wizard/features/summary/summary-slice.ts +28 -28
  47. package/src/booking-wizard/features/summary/summary.tsx +603 -601
  48. package/src/booking-wizard/features/travelers-form/travelers-form-slice.ts +139 -139
  49. package/src/booking-wizard/features/travelers-form/travelers-form.tsx +731 -729
  50. package/src/booking-wizard/features/travelers-form/type-ahead-input.tsx +101 -101
  51. package/src/booking-wizard/features/travelers-form/validate-form.ts +166 -166
  52. package/src/booking-wizard/index.tsx +36 -36
  53. package/src/booking-wizard/settings-context.ts +54 -54
  54. package/src/booking-wizard/store.ts +29 -29
  55. package/src/booking-wizard/translations/fr-BE.json +136 -0
  56. package/src/booking-wizard/translations/{translations.json → nl-BE.json} +2 -1
  57. package/src/booking-wizard/types.ts +134 -134
  58. package/src/booking-wizard/utils/class-util.ts +9 -9
  59. package/src/booking-wizard/utils/localization-util.ts +20 -7
  60. package/src/booking-wizard/utils/query-string-util.ts +94 -94
  61. package/src/booking-wizard/utils/tide-api-utils.ts +20 -20
  62. package/src/index.ts +3 -3
  63. package/tsconfig.json +24 -24
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
- # README
2
-
3
- This is the unified Tide Booking Component.
4
-
5
- ## Remarks
6
-
7
- Do not forget to sync React versions when you're doing local changes and when you try to test them in a local React project (check https://reactjs.org/warnings/invalid-hook-call-warning.html#duplicate-react).
8
- If using the playground, after installing it's node modules execute the following command in the root folder `npm link ./playground/node_modules/react`
1
+ # README
2
+
3
+ This is the unified Tide Booking Component.
4
+
5
+ ## Remarks
6
+
7
+ Do not forget to sync React versions when you're doing local changes and when you try to test them in a local React project (check https://reactjs.org/warnings/invalid-hook-call-warning.html#duplicate-react).
8
+ If using the playground, after installing it's node modules execute the following command in the root folder `npm link ./playground/node_modules/react`
@@ -1 +1,137 @@
1
1
  export declare const formatPrice: (price: number) => string;
2
+ export declare const getTranslations: (language: string) => {
3
+ STEPS: {
4
+ PERSONAL_DETAILS: string;
5
+ TRAVEL_OPTIONS: string;
6
+ SUMMARY: string;
7
+ CONFIRMATION: string;
8
+ ERROR: string;
9
+ PREVIOUS: string;
10
+ NEXT: string;
11
+ SUBMIT: string;
12
+ COMPOSE: string;
13
+ };
14
+ MAIN: {
15
+ PREPARING_BOOKING: string;
16
+ PRODUCT_UNAVAILABLE: string;
17
+ };
18
+ SIDEBAR: {
19
+ OVERVIEW: string;
20
+ SLIDE_TOTAL_PRICE: string;
21
+ SLIDE_DEPOSIT: string;
22
+ TRAVEL_INFO: string;
23
+ TRAVELERS: string;
24
+ TRAVELERS_ADULTS: string;
25
+ TRAVELERS_ADULT: string;
26
+ TRAVELERS_CHILDREN: string;
27
+ TRAVELERS_CHILD: string;
28
+ DEPARTURE: string;
29
+ DEPARTURE_SINGLE: string;
30
+ ARRIVAL: string;
31
+ FLIGHT: string;
32
+ ACCOMMODATION: string;
33
+ BASE_PRICE: string;
34
+ OPTIONS: string;
35
+ INCLUDED_COSTS: string;
36
+ EXTRA_COSTS: string;
37
+ TOTAL_PRICE: string;
38
+ DEPOSIT: string;
39
+ DEPOSIT_TEXT1: string;
40
+ DEPOSIT_TEXT2: string;
41
+ DEPOSIT_TEXT3: string;
42
+ DEPOSIT_TEXT4: string;
43
+ DEPOSIT_TEXT5: string;
44
+ DEPOSIT_TEXT6: string;
45
+ LUGGAGE_INCLUDED: string;
46
+ DEPARTURE_FLIGHT: string;
47
+ ARRIVAL_FLIGHT: string;
48
+ FLIGHT_DEPARTURE: string;
49
+ FLIGHT_ARRIVAL: string;
50
+ ON_REQUEST: string;
51
+ CHANGES: string;
52
+ };
53
+ TRAVELERS_FORM: {
54
+ PERSONS: string;
55
+ TRAVELER: string;
56
+ ADULT: string;
57
+ ADULTS: string;
58
+ CHILD: string;
59
+ CHILDREN: string;
60
+ GENDER: string;
61
+ MALE: string;
62
+ FEMALE: string;
63
+ OTHER: string;
64
+ MAIN_BOOKER: string;
65
+ FIRST_NAME: string;
66
+ LAST_NAME: string;
67
+ BIRTHDATE: string;
68
+ STREET: string;
69
+ STREET_PLACEHOLDER: string;
70
+ HOUSE_NUMBER: string;
71
+ POST_BOX: string;
72
+ ZIPCODE: string;
73
+ CITY: string;
74
+ CITY_PLACEHOLDER: string;
75
+ COUNTRY: string;
76
+ SELECT_COUNTRY: string;
77
+ PHONE: string;
78
+ EMAIL: string;
79
+ REPEAT_EMAIL: string;
80
+ VALIDATION_MESSAGE: string;
81
+ };
82
+ OPTIONS_FORM: {
83
+ NO_OPTIONS_TITLE: string;
84
+ NO_OPTIONS_MESSAGE: string;
85
+ UNIT_TITLE: string;
86
+ PACKAGE: string;
87
+ DAY: string;
88
+ DAYS: string;
89
+ NIGHT: string;
90
+ NIGHTS: string;
91
+ PER_PAX_TITLE: string;
92
+ PER_BOOKING_TITLE: string;
93
+ PER_UNIT_TITLE: string;
94
+ NONE: string;
95
+ };
96
+ SUMMARY: {
97
+ PERSONAL_DETAILS: string;
98
+ TRAVELERS: string;
99
+ TRAVELER: string;
100
+ ADULTS: string;
101
+ ADULT: string;
102
+ CHILDREN: string;
103
+ CHILD: string;
104
+ MAIN_BOOKER: string;
105
+ NOTIFICATIONS_TITLE: string;
106
+ VALIDATE_TITLE: string;
107
+ VALIDATE_TEXT: string;
108
+ OPTIONS: string;
109
+ REMARKS: string;
110
+ VOUCHERS: string;
111
+ VOUCHER_VALIDATE: string;
112
+ ADD_VOUCHER: string;
113
+ VOUCHER_VALID: string;
114
+ VOUCHER_INVALID: string;
115
+ };
116
+ CONFIRMATION: {
117
+ TITLE_TEXT1: string;
118
+ TITLE_TEXT2: string;
119
+ MESSAGE_TEXT1: string;
120
+ MESSAGE_TEXT2: string;
121
+ MESSAGE_TEXT3: string;
122
+ MESSAGE_TEXT4: string;
123
+ QUESTIONS_TEXT1: string;
124
+ QUESTIONS_TEXT2: string;
125
+ QUESTIONS_TEXT3: string;
126
+ QUESTIONS_ALT: string;
127
+ };
128
+ ERROR: {
129
+ TRY_AGAIN: string;
130
+ MESSAGE_TEXT1: string;
131
+ MESSAGE_TEXT2: string;
132
+ ERROR_TEXT1: string;
133
+ ERROR_TEXT2: string;
134
+ ERROR_TEXT3: string;
135
+ ERROR_ALT: string;
136
+ };
137
+ };
@@ -7608,7 +7608,7 @@ var Message = function (_a) {
7608
7608
  actionComponent && (React__default["default"].createElement("div", { className: "booking-message__actions" }, actionComponent))));
7609
7609
  };
7610
7610
 
7611
- var STEPS = {
7611
+ var STEPS$1 = {
7612
7612
  PERSONAL_DETAILS: "Persoonlijke gegevens",
7613
7613
  TRAVEL_OPTIONS: "Opties",
7614
7614
  SUMMARY: "Overzicht",
@@ -7616,13 +7616,14 @@ var STEPS = {
7616
7616
  ERROR: "Boeken mislukt",
7617
7617
  PREVIOUS: "Vorige stap",
7618
7618
  NEXT: "Volgende stap",
7619
- SUBMIT: "Bevestig boeking"
7619
+ SUBMIT: "Bevestig boeking",
7620
+ COMPOSE: "Samenstellen"
7620
7621
  };
7621
- var MAIN = {
7622
+ var MAIN$1 = {
7622
7623
  PREPARING_BOOKING: "Even geduld, we bereiden uw boeking voor",
7623
7624
  PRODUCT_UNAVAILABLE: "Product niet beschikbaar"
7624
7625
  };
7625
- var SIDEBAR = {
7626
+ var SIDEBAR$1 = {
7626
7627
  OVERVIEW: "Overzicht",
7627
7628
  SLIDE_TOTAL_PRICE: "Totaalbedrag: ",
7628
7629
  SLIDE_DEPOSIT: "Te betalen voorschot: ",
@@ -7657,7 +7658,7 @@ var SIDEBAR = {
7657
7658
  ON_REQUEST: "Op aanvraag",
7658
7659
  CHANGES: "overstappen"
7659
7660
  };
7660
- var TRAVELERS_FORM = {
7661
+ var TRAVELERS_FORM$1 = {
7661
7662
  PERSONS: "Personen",
7662
7663
  TRAVELER: "Reiziger",
7663
7664
  ADULT: "volwassene",
@@ -7686,7 +7687,7 @@ var TRAVELERS_FORM = {
7686
7687
  REPEAT_EMAIL: "Herhaal e-mail",
7687
7688
  VALIDATION_MESSAGE: "Controleer onderstaande velden in het formulier en vul deze correct in."
7688
7689
  };
7689
- var OPTIONS_FORM = {
7690
+ var OPTIONS_FORM$1 = {
7690
7691
  NO_OPTIONS_TITLE: "Geen opties",
7691
7692
  NO_OPTIONS_MESSAGE: "Deze reis heeft geen bijkomende opties.",
7692
7693
  UNIT_TITLE: "Gezelschap",
@@ -7700,7 +7701,7 @@ var OPTIONS_FORM = {
7700
7701
  PER_UNIT_TITLE: "Per gezelschap samenstellen",
7701
7702
  NONE: "Geen"
7702
7703
  };
7703
- var SUMMARY = {
7704
+ var SUMMARY$1 = {
7704
7705
  PERSONAL_DETAILS: "Persoonlijke gegevens",
7705
7706
  TRAVELERS: "reizigers",
7706
7707
  TRAVELER: "reiziger",
@@ -7720,7 +7721,7 @@ var SUMMARY = {
7720
7721
  VOUCHER_VALID: "Voucher is geldig",
7721
7722
  VOUCHER_INVALID: "Voucher is niet geldig"
7722
7723
  };
7723
- var CONFIRMATION = {
7724
+ var CONFIRMATION$1 = {
7724
7725
  TITLE_TEXT1: "Je boeking met nummer ",
7725
7726
  TITLE_TEXT2: " is bevestigd",
7726
7727
  MESSAGE_TEXT1: "Jouw droomreis komt nu heel dichtbij.",
@@ -7732,7 +7733,7 @@ var CONFIRMATION = {
7732
7733
  QUESTIONS_TEXT3: ".",
7733
7734
  QUESTIONS_ALT: "Contacteer ons"
7734
7735
  };
7735
- var ERROR = {
7736
+ var ERROR$1 = {
7736
7737
  TRY_AGAIN: "Probeer opnieuw te boeken",
7737
7738
  MESSAGE_TEXT1: "Tijdens het bevestigen van uw reis is er iets misgelopen.",
7738
7739
  MESSAGE_TEXT2: "Klik hieronder om nog eens te proberen.",
@@ -7741,7 +7742,152 @@ var ERROR = {
7741
7742
  ERROR_TEXT3: ".",
7742
7743
  ERROR_ALT: "Contacteer ons"
7743
7744
  };
7744
- var translations = {
7745
+ var nl = {
7746
+ STEPS: STEPS$1,
7747
+ MAIN: MAIN$1,
7748
+ SIDEBAR: SIDEBAR$1,
7749
+ TRAVELERS_FORM: TRAVELERS_FORM$1,
7750
+ OPTIONS_FORM: OPTIONS_FORM$1,
7751
+ SUMMARY: SUMMARY$1,
7752
+ CONFIRMATION: CONFIRMATION$1,
7753
+ ERROR: ERROR$1
7754
+ };
7755
+
7756
+ var STEPS = {
7757
+ PERSONAL_DETAILS: "Détails personnels",
7758
+ TRAVEL_OPTIONS: "Options de voyage",
7759
+ SUMMARY: "Résumé",
7760
+ CONFIRMATION: "Confirmation",
7761
+ ERROR: "Erreur de réservation",
7762
+ PREVIOUS: "Étape précédente",
7763
+ NEXT: "Étape suivante",
7764
+ SUBMIT: "Confirmer la réservation",
7765
+ COMPOSE: "Voyageurs"
7766
+ };
7767
+ var MAIN = {
7768
+ PREPARING_BOOKING: "Veuillez patienter, nous préparons votre réservation",
7769
+ PRODUCT_UNAVAILABLE: "Produit non disponible"
7770
+ };
7771
+ var SIDEBAR = {
7772
+ OVERVIEW: "Aperçu",
7773
+ SLIDE_TOTAL_PRICE: "Montant total : ",
7774
+ SLIDE_DEPOSIT: "Dépôt à payer : ",
7775
+ TRAVEL_INFO: "Informations de voyage",
7776
+ TRAVELERS: "Voyageurs",
7777
+ TRAVELERS_ADULTS: "adultes",
7778
+ TRAVELERS_ADULT: "adulte",
7779
+ TRAVELERS_CHILDREN: "enfants",
7780
+ TRAVELERS_CHILD: "enfant",
7781
+ DEPARTURE: "Aller",
7782
+ DEPARTURE_SINGLE: "Date",
7783
+ ARRIVAL: "Retour",
7784
+ FLIGHT: "Vol",
7785
+ ACCOMMODATION: "Hébergement réservé",
7786
+ BASE_PRICE: "Prix de base",
7787
+ OPTIONS: "Options",
7788
+ INCLUDED_COSTS: "Coûts inclus",
7789
+ EXTRA_COSTS: "Frais supplémentaires",
7790
+ TOTAL_PRICE: "Prix total",
7791
+ DEPOSIT: "Dépôt à payer",
7792
+ DEPOSIT_TEXT1: "Les étapes à suivre pour le paiement du ",
7793
+ DEPOSIT_TEXT2: "solde restant",
7794
+ DEPOSIT_TEXT3: " de ",
7795
+ DEPOSIT_TEXT4: "seront décrites à l'étape 3 (\"Résumé\")",
7796
+ DEPOSIT_TEXT5: " du processus de réservation.",
7797
+ DEPOSIT_TEXT6: "Luggage Included: Inclus bagage",
7798
+ LUGGAGE_INCLUDED: "Bagages inclus",
7799
+ DEPARTURE_FLIGHT: "Vol aller",
7800
+ ARRIVAL_FLIGHT: "Vol retour",
7801
+ FLIGHT_DEPARTURE: "Départ",
7802
+ FLIGHT_ARRIVAL: "Arrivée",
7803
+ ON_REQUEST: "Sur demande",
7804
+ CHANGES: "changements"
7805
+ };
7806
+ var TRAVELERS_FORM = {
7807
+ PERSONS: "Personnes",
7808
+ TRAVELER: "Voyageur",
7809
+ ADULT: "adulte",
7810
+ ADULTS: "adultes",
7811
+ CHILD: "enfant",
7812
+ CHILDREN: "enfants",
7813
+ GENDER: "Civilité",
7814
+ MALE: "Monsieur",
7815
+ FEMALE: "Madame",
7816
+ OTHER: "Autre",
7817
+ MAIN_BOOKER: "Titulaire principal",
7818
+ FIRST_NAME: "Prénom",
7819
+ LAST_NAME: "Nom",
7820
+ BIRTHDATE: "Date de naissance",
7821
+ STREET: "Rue",
7822
+ STREET_PLACEHOLDER: "Votre rue",
7823
+ HOUSE_NUMBER: "Numéro de maison",
7824
+ POST_BOX: "Boîte postale",
7825
+ ZIPCODE: "Code postal",
7826
+ CITY: "Ville",
7827
+ CITY_PLACEHOLDER: "Ville",
7828
+ COUNTRY: "Pays",
7829
+ SELECT_COUNTRY: "Sélectionner le pays",
7830
+ PHONE: "Numéro de téléphone",
7831
+ EMAIL: "E-mail",
7832
+ REPEAT_EMAIL: "Répéter l'e-mail",
7833
+ VALIDATION_MESSAGE: "Veuillez vérifier les champs ci-dessous dans le formulaire et les remplir correctement."
7834
+ };
7835
+ var OPTIONS_FORM = {
7836
+ NO_OPTIONS_TITLE: "Aucune option",
7837
+ NO_OPTIONS_MESSAGE: "Ce voyage n'a pas d'options supplémentaires.",
7838
+ UNIT_TITLE: "Groupe",
7839
+ PACKAGE: "Forfait",
7840
+ DAY: "jour",
7841
+ DAYS: "jours",
7842
+ NIGHT: "nuit",
7843
+ NIGHTS: "nuits",
7844
+ PER_PAX_TITLE: "À composer par voyageur",
7845
+ PER_BOOKING_TITLE: "À composer par dossier",
7846
+ PER_UNIT_TITLE: "À composer par groupe",
7847
+ NONE: "Aucun"
7848
+ };
7849
+ var SUMMARY = {
7850
+ PERSONAL_DETAILS: "Détails personnels",
7851
+ TRAVELERS: "voyageurs",
7852
+ TRAVELER: "voyageur",
7853
+ ADULTS: "adultes",
7854
+ ADULT: "adulte",
7855
+ CHILDREN: "enfants",
7856
+ CHILD: "enfant",
7857
+ MAIN_BOOKER: "Titulaire principal",
7858
+ NOTIFICATIONS_TITLE: "Notifications",
7859
+ VALIDATE_TITLE: "Vérifiez vos informations",
7860
+ VALIDATE_TEXT: "Vous êtes sur le point de confirmer votre réservation. Veuillez vérifier que toutes les informations sont correctes. Elles sont définitives et ne peuvent plus être modifiées.",
7861
+ OPTIONS: "Options",
7862
+ REMARKS: "Remarques",
7863
+ VOUCHERS: "Bons",
7864
+ VOUCHER_VALIDATE: "Valider le bon",
7865
+ ADD_VOUCHER: "Ajouter un bon",
7866
+ VOUCHER_VALID: "Le bon est valide",
7867
+ VOUCHER_INVALID: "Le bon n'est pas valide"
7868
+ };
7869
+ var CONFIRMATION = {
7870
+ TITLE_TEXT1: "Votre réservation avec le numéro ",
7871
+ TITLE_TEXT2: " est confirmée",
7872
+ MESSAGE_TEXT1: "Votre voyage de rêve est maintenant à portée de main.",
7873
+ MESSAGE_TEXT2: "Nos spécialistes en voyages traiteront votre réservation et vous contacteront dans les ",
7874
+ MESSAGE_TEXT3: " 48 heures",
7875
+ MESSAGE_TEXT4: ".",
7876
+ QUESTIONS_TEXT1: "Vous avez des questions ? ",
7877
+ QUESTIONS_TEXT2: "Faites-le nous savoir",
7878
+ QUESTIONS_TEXT3: ".",
7879
+ QUESTIONS_ALT: "Contactez-nous"
7880
+ };
7881
+ var ERROR = {
7882
+ TRY_AGAIN: "Essayer de réserver à nouveau",
7883
+ MESSAGE_TEXT1: "Une erreur s'est produite lors de la confirmation de votre voyage.",
7884
+ MESSAGE_TEXT2: "Cliquez ci-dessous pour réessayer.",
7885
+ ERROR_TEXT1: "Problèmes persistants ? ",
7886
+ ERROR_TEXT2: "Faites-le nous savoir",
7887
+ ERROR_TEXT3: ".",
7888
+ ERROR_ALT: "Contactez-nous"
7889
+ };
7890
+ var fr = {
7745
7891
  STEPS: STEPS,
7746
7892
  MAIN: MAIN,
7747
7893
  SIDEBAR: SIDEBAR,
@@ -7752,6 +7898,24 @@ var translations = {
7752
7898
  ERROR: ERROR
7753
7899
  };
7754
7900
 
7901
+ var formatPrice = function (price) {
7902
+ var priceFormat = Intl.NumberFormat("nl-BE", {
7903
+ style: "currency",
7904
+ currency: "EUR",
7905
+ });
7906
+ return priceFormat.format(price);
7907
+ };
7908
+ var getTranslations = function (language) {
7909
+ switch (language) {
7910
+ case "nl-BE":
7911
+ return nl;
7912
+ case "fr-BE":
7913
+ return fr;
7914
+ default:
7915
+ throw new Error("The language '".concat(language, "' is not yet supported."));
7916
+ }
7917
+ };
7918
+
7755
7919
  var Confirmation = function () {
7756
7920
  var settings = React.useContext(SettingsContext);
7757
7921
  var bookingNumber = reactRedux.useSelector(selectBookingNumber);
@@ -7759,6 +7923,7 @@ var Confirmation = function () {
7759
7923
  if (!bookingNumber) {
7760
7924
  router.navigate("".concat(settings.basePath).concat(settings.error.pathSuffix, "?").concat(bookingQueryString));
7761
7925
  }
7926
+ var translations = getTranslations(settings.language);
7762
7927
  return (React__default["default"].createElement("div", { className: "form", id: "booking--step4" },
7763
7928
  React__default["default"].createElement("div", { className: "form__region" },
7764
7929
  React__default["default"].createElement("div", { className: "form__row" },
@@ -7792,6 +7957,7 @@ var Error$1 = function () {
7792
7957
  dispatch(setIsRetry(true));
7793
7958
  router.navigate(tryAgainUrl);
7794
7959
  };
7960
+ var translations = getTranslations(settings.language);
7795
7961
  return (React__default["default"].createElement("div", { className: "form" },
7796
7962
  React__default["default"].createElement("div", { className: "form__region" },
7797
7963
  React__default["default"].createElement("div", { className: "form__row" },
@@ -7808,12 +7974,16 @@ var Error$1 = function () {
7808
7974
  };
7809
7975
 
7810
7976
  var NoOptions = function () {
7977
+ var language = React.useContext(SettingsContext).language;
7978
+ var translations = getTranslations(language);
7811
7979
  return (React__default["default"].createElement("div", { className: "form__group" },
7812
7980
  React__default["default"].createElement(Message, { type: "success", title: translations.OPTIONS_FORM.NO_OPTIONS_TITLE },
7813
7981
  React__default["default"].createElement("p", null, translations.OPTIONS_FORM.NO_OPTIONS_MESSAGE))));
7814
7982
  };
7815
7983
 
7816
7984
  var getTravelersText = function (adultIds, childIds) {
7985
+ var language = React.useContext(SettingsContext).language;
7986
+ var translations = getTranslations(language);
7817
7987
  var travelersText = lodash.compact([
7818
7988
  adultIds.length,
7819
7989
  adultIds.length === 1 && " ".concat(translations.SIDEBAR.TRAVELERS_ADULT),
@@ -7842,6 +8012,8 @@ var getDatePeriodText = function (from, to, nightsOnly) {
7842
8012
  if (!from || !to) {
7843
8013
  return undefined;
7844
8014
  }
8015
+ var language = React.useContext(SettingsContext).language;
8016
+ var translations = getTranslations(language);
7845
8017
  try {
7846
8018
  var fromDate = dateFns.parseISO(from);
7847
8019
  var toDate = dateFns.parseISO(to);
@@ -7906,18 +8078,12 @@ var parseFlightLineDateTime = function (date, time) {
7906
8078
  }
7907
8079
  };
7908
8080
 
7909
- var formatPrice = function (price) {
7910
- var priceFormat = Intl.NumberFormat("nl-BE", {
7911
- style: "currency",
7912
- currency: "EUR",
7913
- });
7914
- return priceFormat.format(price);
7915
- };
7916
-
7917
8081
  var OptionRoom = function (_a) {
7918
8082
  var _b, _c, _d, _e, _f;
7919
8083
  var packageRoom = _a.packageRoom, pax = _a.pax, optionPax = _a.optionPax, onRoomChange = _a.onRoomChange;
7920
8084
  var selectedOption = packageRoom === null || packageRoom === void 0 ? void 0 : packageRoom.options.find(function (x) { return x.isSelected; });
8085
+ var language = React.useContext(SettingsContext).language;
8086
+ var translations = getTranslations(language);
7921
8087
  var daysAndNightsText = "";
7922
8088
  var startDate = "";
7923
8089
  var endDate = "";
@@ -8078,6 +8244,8 @@ var OptionRoom = function (_a) {
8078
8244
 
8079
8245
  var NoneOption = function (_a) {
8080
8246
  var group = _a.group, parentId = _a.parentId, handleNoneSelectionChanged = _a.handleNoneSelectionChanged;
8247
+ var language = React.useContext(SettingsContext).language;
8248
+ var translations = getTranslations(language);
8081
8249
  var selectedOption = group.options.find(function (x) { return x.isSelected; });
8082
8250
  var showNoneOption = group.options.some(function (x) { return x.requirementType === 2; });
8083
8251
  var noneSelected = !selectedOption;
@@ -8334,6 +8502,8 @@ var OptionPaxGroup = function (_a) {
8334
8502
  var OptionPaxCard = function (_a) {
8335
8503
  var pax = _a.pax, requestRoomsPax = _a.requestRoomsPax, parentIndex = _a.parentIndex, onPaxChange = _a.onPaxChange;
8336
8504
  var _b = React.useState(), toggleStates = _b[0], setToggleStates = _b[1];
8505
+ var language = React.useContext(SettingsContext).language;
8506
+ var translations = getTranslations(language);
8337
8507
  React.useEffect(function () {
8338
8508
  if (!toggleStates || toggleStates.length !== pax.length) {
8339
8509
  setToggleStates(pax.map(function () { return true; }));
@@ -8455,6 +8625,8 @@ var OptionUnitGroup = function (_a) {
8455
8625
  var OptionUnitsCard = function (_a) {
8456
8626
  var units = _a.units, parentIndex = _a.parentIndex, onUnitsChange = _a.onUnitsChange;
8457
8627
  var _b = React.useState(), toggleStates = _b[0], setToggleStates = _b[1];
8628
+ var language = React.useContext(SettingsContext).language;
8629
+ var translations = getTranslations(language);
8458
8630
  React.useEffect(function () {
8459
8631
  if (!toggleStates || toggleStates.length !== units.length) {
8460
8632
  setToggleStates(units.map(function () { return true; }));
@@ -8576,7 +8748,8 @@ var OptionBookingGroup = function (_a) {
8576
8748
 
8577
8749
  var OptionsForm = function () {
8578
8750
  var _a;
8579
- var _b = React.useContext(SettingsContext), basePath = _b.basePath, travellers = _b.travellers, loaderComponent = _b.loaderComponent;
8751
+ var _b = React.useContext(SettingsContext), basePath = _b.basePath, travellers = _b.travellers, loaderComponent = _b.loaderComponent, language = _b.language;
8752
+ var translations = getTranslations(language);
8580
8753
  var dispatch = useAppDispatch();
8581
8754
  var packageDetails = reactRedux.useSelector(selectPackageDetails);
8582
8755
  var requestRooms = reactRedux.useSelector(selectRequestRooms);
@@ -8715,7 +8888,7 @@ var OptionsForm = function () {
8715
8888
  React__default["default"].createElement("div", { className: "booking-card__header" },
8716
8889
  React__default["default"].createElement("h2", { className: "booking-card__header-heading" }, translations.OPTIONS_FORM.PER_BOOKING_TITLE)),
8717
8890
  React__default["default"].createElement("div", { className: "booking-card__body" },
8718
- React__default["default"].createElement("div", { className: "tree__body" }, groups.map(function (group, i) { return (React__default["default"].createElement(OptionBookingGroup, { key: "".concat(group.name, "_").concat(i), group: group, firstClassName: "tree__level", secondClassName: "tree__level-heading", parentId: "booking_".concat(group.name), onGroupChange: handleOnGroupChange })); })))))),
8891
+ React__default["default"].createElement("div", { className: "booking-card__group booking-card__group--active" }, groups.map(function (group, i) { return (React__default["default"].createElement(OptionBookingGroup, { key: "".concat(group.name, "_").concat(i), group: group, firstClassName: "booking-card__group-body", secondClassName: "booking-card__group-heading", parentId: "booking_".concat(group.name), onGroupChange: handleOnGroupChange })); })))))),
8719
8892
  lodash.isEmpty(groups) && lodash.isEmpty(optionUnits) && lodash.isEmpty(optionPax) && (React__default["default"].createElement(NoOptions, null)))),
8720
8893
  React__default["default"].createElement("div", { className: "booking__navigator" },
8721
8894
  React__default["default"].createElement("button", { type: "submit", title: translations.STEPS.NEXT, disabled: isLoading, className: buildClassName(["cta", isLoading && "cta--disabled"]) }, translations.STEPS.NEXT)))));
@@ -8732,9 +8905,11 @@ var ProductCard = function (_a) {
8732
8905
 
8733
8906
  var SidebarFlight = function (_a) {
8734
8907
  var title = _a.title, flight = _a.flight;
8908
+ var language = React.useContext(SettingsContext).language;
8735
8909
  var flightLines = parseFlightLines(flight.flightMetaData);
8736
8910
  var firstFlight = lodash.first(flightLines);
8737
8911
  var lastFlight = lodash.last(flightLines);
8912
+ var translations = getTranslations(language);
8738
8913
  return (React__default["default"].createElement("div", { className: "pricing-summary__group" },
8739
8914
  React__default["default"].createElement("h6", { className: "pricing-summary__title" }, title),
8740
8915
  React__default["default"].createElement("div", { className: "pricing-summary__row" },
@@ -8772,7 +8947,9 @@ var SidebarFlight = function (_a) {
8772
8947
 
8773
8948
  var Sidebar = function (_a) {
8774
8949
  var productName = _a.productName, thumbnailUrl = _a.thumbnailUrl, isLoading = _a.isLoading, travelersText = _a.travelersText, startDateText = _a.startDateText, endDateText = _a.endDateText, departureFlight = _a.departureFlight, returnFlight = _a.returnFlight, basePrice = _a.basePrice, totalPrice = _a.totalPrice, includedCosts = _a.includedCosts, extraCosts = _a.extraCosts, deposit = _a.deposit, accommodations = _a.accommodations, isOnRequest = _a.isOnRequest, headerComponent = _a.headerComponent, footerComponent = _a.footerComponent, loaderComponent = _a.loaderComponent;
8950
+ var language = React.useContext(SettingsContext).language;
8775
8951
  var _b = React.useState(false), active = _b[0], setActive = _b[1];
8952
+ var translations = getTranslations(language);
8776
8953
  var canShowPriceBreakdownSection = Boolean(basePrice && basePrice > 0) ||
8777
8954
  !lodash.isEmpty(includedCosts) ||
8778
8955
  !lodash.isEmpty(extraCosts);
@@ -8913,12 +9090,14 @@ var SidebarContainer = function (_a) {
8913
9090
 
8914
9091
  var StepIndicators = function (_a) {
8915
9092
  var currentStep = _a.currentStep;
9093
+ var language = React.useContext(SettingsContext).language;
9094
+ var translations = getTranslations(language);
8916
9095
  return (React__default["default"].createElement("div", { className: "step-indicators" },
8917
9096
  React__default["default"].createElement("div", { className: "step-indicators__items" }, [
8918
- "Samenstellen",
8919
- "Persoonlijke gegevens",
8920
- "Overzicht",
8921
- "Bevestiging",
9097
+ translations.STEPS.COMPOSE,
9098
+ translations.STEPS.PERSONAL_DETAILS,
9099
+ translations.STEPS.SUMMARY,
9100
+ translations.STEPS.CONFIRMATION,
8922
9101
  ].map(function (stepName, index) { return (React__default["default"].createElement("div", { key: "".concat(index + 1, "-").concat(stepName), className: buildClassName([
8923
9102
  "step-indicators__item",
8924
9103
  currentStep === index + 1 && "step-indicators__item--active",
@@ -8944,6 +9123,8 @@ var StepRoute = function (_a) {
8944
9123
  var SummaryFlight = function (_a) {
8945
9124
  var _b;
8946
9125
  var flight = _a.flight, header = _a.header;
9126
+ var language = React.useContext(SettingsContext).language;
9127
+ var translations = getTranslations(language);
8947
9128
  return (React__default["default"].createElement("li", null,
8948
9129
  React__default["default"].createElement("h6", null, header), (_b = parseFlightLines(flight.flightMetaData)) === null || _b === void 0 ? void 0 :
8949
9130
  _b.map(function (flightLine) { return (React__default["default"].createElement("p", { key: flightLine.departureAirportIata },
@@ -9218,6 +9399,7 @@ var Summary = function () {
9218
9399
  dispatch(setVoucherCodes((_b = (_a = bookRequest === null || bookRequest === void 0 ? void 0 : bookRequest.payload.voucherCodes) === null || _a === void 0 ? void 0 : _a.filter(function (x) { return x !== code; })) !== null && _b !== void 0 ? _b : []));
9219
9400
  dispatch(fetchPriceDetails$1());
9220
9401
  };
9402
+ var translations = getTranslations(settings.language);
9221
9403
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
9222
9404
  isSubmitting && settings.loaderComponent,
9223
9405
  !isSubmitting && (React__default["default"].createElement("form", { className: "form", name: "booking--step3", id: "booking--step3", onSubmit: handleSubmit },
@@ -9677,6 +9859,7 @@ var TravelersForm = function () {
9677
9859
  var hasVisibleError = function (key) {
9678
9860
  return lodash.get(formik$1.errors, key) && lodash.get(formik$1.touched, key);
9679
9861
  };
9862
+ var translations = getTranslations(settings.language);
9680
9863
  return (React__default["default"].createElement("form", { className: "form", name: "booking--step1", id: "booking--step1", noValidate: true, onSubmit: formik$1.handleSubmit, onReset: formik$1.handleReset },
9681
9864
  React__default["default"].createElement("div", { className: "form__region" },
9682
9865
  React__default["default"].createElement("div", { className: "form__region-header" },
@@ -9839,7 +10022,7 @@ var TravelersForm = function () {
9839
10022
 
9840
10023
  var Booking = function (_a) {
9841
10024
  var productCode = _a.productCode, productName = _a.productName, thumbnailUrl = _a.thumbnailUrl;
9842
- var _b = React.useContext(SettingsContext), officeId = _b.officeId, bookingOptions = _b.bookingOptions, basePath = _b.basePath, options = _b.options, travellers = _b.travellers, summary = _b.summary, confirmation = _b.confirmation, error = _b.error, showSidebarDeposit = _b.showSidebarDeposit, includeFlights = _b.includeFlights, loaderComponent = _b.loaderComponent, skipPaymentWithAgent = _b.skipPaymentWithAgent, generatePaymentUrl = _b.generatePaymentUrl, tagIds = _b.tagIds, agentAdressId = _b.agentAdressId;
10025
+ var _b = React.useContext(SettingsContext), officeId = _b.officeId, bookingOptions = _b.bookingOptions, basePath = _b.basePath, options = _b.options, travellers = _b.travellers, summary = _b.summary, confirmation = _b.confirmation, error = _b.error, showSidebarDeposit = _b.showSidebarDeposit, includeFlights = _b.includeFlights, loaderComponent = _b.loaderComponent, skipPaymentWithAgent = _b.skipPaymentWithAgent, generatePaymentUrl = _b.generatePaymentUrl, tagIds = _b.tagIds, agentAdressId = _b.agentAdressId, language = _b.language;
9843
10026
  var dispatch = useAppDispatch();
9844
10027
  var location = router.useLocation();
9845
10028
  var productAttributes = reactRedux.useSelector(selectProductAttributes);
@@ -9958,6 +10141,7 @@ var Booking = function (_a) {
9958
10141
  bookingNumber,
9959
10142
  packageDetails,
9960
10143
  ]);
10144
+ var translations = getTranslations(language);
9961
10145
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
9962
10146
  ((productAttributes && bookingAttributes && packageDetails) ||
9963
10147
  bookingNumber) && (React__default["default"].createElement("div", { className: "booking" },