@qite/tide-booking-component 1.2.4 → 1.3.0

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 (119) hide show
  1. package/build/build-cjs/booking-wizard/components/print-offer-button.d.ts +17 -0
  2. package/build/build-cjs/booking-wizard/features/flight-options/flight-option-flight.d.ts +1 -1
  3. package/build/build-cjs/booking-wizard/features/flight-options/flight-option.d.ts +1 -1
  4. package/build/build-cjs/booking-wizard/types.d.ts +13 -0
  5. package/build/build-cjs/booking-wizard/use-offer-printer.d.ts +13 -0
  6. package/build/build-cjs/index.js +1392 -754
  7. package/build/build-cjs/shared/utils/localization-util.d.ts +6 -0
  8. package/build/build-cjs/shared/utils/tide-api-utils.d.ts +1 -0
  9. package/build/build-esm/booking-wizard/components/print-offer-button.d.ts +17 -0
  10. package/build/build-esm/booking-wizard/features/flight-options/flight-option-flight.d.ts +1 -1
  11. package/build/build-esm/booking-wizard/features/flight-options/flight-option.d.ts +1 -1
  12. package/build/build-esm/booking-wizard/types.d.ts +13 -0
  13. package/build/build-esm/booking-wizard/use-offer-printer.d.ts +13 -0
  14. package/build/build-esm/index.js +1394 -756
  15. package/build/build-esm/shared/utils/localization-util.d.ts +6 -0
  16. package/build/build-esm/shared/utils/tide-api-utils.d.ts +1 -0
  17. package/package.json +4 -6
  18. package/src/booking-product/components/age-select.tsx +2 -8
  19. package/src/booking-product/components/amount-input.tsx +36 -22
  20. package/src/booking-product/components/date-range-picker/calendar-day.tsx +5 -1
  21. package/src/booking-product/components/date-range-picker/calendar.tsx +9 -7
  22. package/src/booking-product/components/date-range-picker/index.tsx +20 -5
  23. package/src/booking-product/components/dates.tsx +22 -18
  24. package/src/booking-product/components/footer.tsx +40 -41
  25. package/src/booking-product/components/header.tsx +44 -33
  26. package/src/booking-product/components/icon.tsx +188 -145
  27. package/src/booking-product/components/product.tsx +66 -33
  28. package/src/booking-product/components/rooms.tsx +70 -55
  29. package/src/booking-product/index.tsx +9 -9
  30. package/src/booking-product/settings-context.ts +3 -3
  31. package/src/booking-product/types.ts +3 -3
  32. package/src/booking-product/utils/api.ts +4 -4
  33. package/src/booking-product/utils/price.ts +5 -3
  34. package/src/booking-wizard/components/icon.tsx +428 -229
  35. package/src/booking-wizard/components/multi-range-filter.tsx +15 -15
  36. package/src/booking-wizard/components/print-offer-button.tsx +66 -0
  37. package/src/booking-wizard/components/step-indicator.tsx +1 -1
  38. package/src/booking-wizard/declarations.d.ts +2 -2
  39. package/src/booking-wizard/features/booking/api.ts +9 -5
  40. package/src/booking-wizard/features/booking/booking-self-contained.tsx +46 -19
  41. package/src/booking-wizard/features/booking/booking-slice.ts +108 -49
  42. package/src/booking-wizard/features/booking/booking.tsx +64 -57
  43. package/src/booking-wizard/features/booking/selectors.ts +45 -22
  44. package/src/booking-wizard/features/confirmation/confirmation.tsx +8 -5
  45. package/src/booking-wizard/features/error/error.tsx +6 -3
  46. package/src/booking-wizard/features/flight-options/flight-filter.tsx +147 -72
  47. package/src/booking-wizard/features/flight-options/flight-option-flight.tsx +53 -21
  48. package/src/booking-wizard/features/flight-options/flight-option-modal.tsx +34 -19
  49. package/src/booking-wizard/features/flight-options/flight-option.tsx +37 -22
  50. package/src/booking-wizard/features/flight-options/flight-utils.ts +220 -105
  51. package/src/booking-wizard/features/flight-options/index.tsx +62 -43
  52. package/src/booking-wizard/features/price-details/price-details-slice.ts +11 -4
  53. package/src/booking-wizard/features/product-options/no-options.tsx +1 -1
  54. package/src/booking-wizard/features/product-options/option-booking-airline-group.tsx +48 -50
  55. package/src/booking-wizard/features/product-options/option-booking-group.tsx +9 -3
  56. package/src/booking-wizard/features/product-options/option-item.tsx +1 -2
  57. package/src/booking-wizard/features/product-options/option-pax-card.tsx +39 -26
  58. package/src/booking-wizard/features/product-options/option-pax-group.tsx +9 -3
  59. package/src/booking-wizard/features/product-options/option-room.tsx +23 -16
  60. package/src/booking-wizard/features/product-options/option-unit-group.tsx +9 -3
  61. package/src/booking-wizard/features/product-options/option-units-card.tsx +68 -57
  62. package/src/booking-wizard/features/product-options/options-form.tsx +250 -124
  63. package/src/booking-wizard/features/room-options/index.tsx +27 -12
  64. package/src/booking-wizard/features/room-options/room-utils.ts +97 -50
  65. package/src/booking-wizard/features/room-options/room.tsx +56 -20
  66. package/src/booking-wizard/features/room-options/traveler-rooms.tsx +34 -22
  67. package/src/booking-wizard/features/sidebar/sidebar-flight.tsx +1 -1
  68. package/src/booking-wizard/features/sidebar/sidebar-util.ts +1 -1
  69. package/src/booking-wizard/features/sidebar/sidebar.tsx +173 -155
  70. package/src/booking-wizard/features/summary/summary-flight.tsx +1 -1
  71. package/src/booking-wizard/features/summary/summary-per-booking-option-group.tsx +45 -33
  72. package/src/booking-wizard/features/summary/summary-per-pax-option-group.tsx +41 -29
  73. package/src/booking-wizard/features/summary/summary-per-unit-option-group.tsx +43 -31
  74. package/src/booking-wizard/features/summary/summary.tsx +325 -294
  75. package/src/booking-wizard/features/travelers-form/travelers-form.tsx +421 -422
  76. package/src/booking-wizard/features/travelers-form/type-ahead-input.tsx +1 -1
  77. package/src/booking-wizard/features/travelers-form/validate-form.ts +1 -1
  78. package/src/booking-wizard/settings-context.ts +7 -0
  79. package/src/booking-wizard/types.ts +19 -7
  80. package/src/booking-wizard/use-offer-printer.ts +136 -0
  81. package/src/index.ts +0 -1
  82. package/src/shared/translations/en-GB.json +237 -0
  83. package/src/shared/translations/fr-BE.json +7 -2
  84. package/src/shared/translations/nl-BE.json +5 -0
  85. package/src/shared/types.ts +1 -1
  86. package/src/shared/utils/localization-util.ts +9 -3
  87. package/src/shared/utils/query-string-util.ts +6 -3
  88. package/src/shared/utils/tide-api-utils.ts +1 -1
  89. package/styles/booking-product-variables.scss +174 -68
  90. package/styles/booking-product.scss +294 -288
  91. package/styles/booking-wizard-variables.scss +872 -529
  92. package/styles/booking-wizard.scss +35 -2
  93. package/styles/components/_base.scss +3 -2
  94. package/styles/components/_booking.scss +149 -679
  95. package/styles/components/_button.scss +55 -2
  96. package/styles/components/_checkbox.scss +7 -3
  97. package/styles/components/_cta.scss +86 -11
  98. package/styles/components/_date-list.scss +41 -0
  99. package/styles/components/_date-range-picker.scss +3 -3
  100. package/styles/components/_decrement-increment.scss +1 -3
  101. package/styles/components/_dropdown.scss +2 -4
  102. package/styles/components/_flight-option.scss +454 -414
  103. package/styles/components/_form.scss +1266 -77
  104. package/styles/components/_info-message.scss +71 -0
  105. package/styles/components/_input.scss +25 -0
  106. package/styles/components/_list.scss +111 -6
  107. package/styles/components/_loader.scss +4 -3
  108. package/styles/components/_mixins.scss +30 -10
  109. package/styles/components/_placeholders.scss +11 -11
  110. package/styles/components/_pricing-summary.scss +40 -2
  111. package/styles/components/_qsm.scss +1 -4
  112. package/styles/components/_radiobutton.scss +170 -0
  113. package/styles/components/_select-wrapper.scss +18 -4
  114. package/styles/components/_spinner.scss +29 -0
  115. package/styles/components/_step-indicators.scss +14 -6
  116. package/styles/components/_table.scss +9 -9
  117. package/styles/components/_tree.scss +31 -41
  118. package/styles/components/_typeahead.scss +281 -0
  119. package/styles/components/_variables.scss +15 -15
@@ -1,9 +1,9 @@
1
1
  /* eslint-disable */
2
- import React, { useLayoutEffect as useLayoutEffect$1, useEffect, useContext, useState, useRef } from 'react';
2
+ import React, { useLayoutEffect as useLayoutEffect$1, useEffect, useContext, useState, useRef, useCallback } from 'react';
3
3
  import JsonURL from '@jsonurl/jsonurl';
4
4
  import { isToday, getDate, getYear, getMonth, startOfWeek, startOfMonth, endOfWeek, addWeeks, endOfMonth, eachDayOfInterval, format as format$1, getISOWeek, getISODay, isSameMonth, startOfDay, isAfter, isEqual, isWithinInterval, endOfDay, isBefore, addMonths, addDays, formatISO, differenceInYears, parseISO, differenceInMinutes, differenceInCalendarDays, parse } from 'date-fns';
5
5
  import { isNil, isArray, compact, isEmpty, range, chunk, isFunction, clamp, omit, sum, first, orderBy, uniq, uniqBy, sortBy, last, findIndex, set, get as get$2 } from 'lodash';
6
- import { nlBE, fr } from 'date-fns/locale';
6
+ import { nlBE, fr, enGB } from 'date-fns/locale';
7
7
  import { usePopper } from 'react-popper';
8
8
  import { useSelector, useDispatch, Provider } from 'react-redux';
9
9
  import { navigate, Link, useLocation, Router } from '@reach/router';
@@ -49,8 +49,8 @@ function __awaiter$1(thisArg, _arguments, P, generator) {
49
49
  }
50
50
 
51
51
  function __generator$1(thisArg, body) {
52
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
53
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
52
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
53
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
54
54
  function verb(n) { return function (v) { return step([n, v]); }; }
55
55
  function step(op) {
56
56
  if (f) throw new TypeError("Generator is already executing.");
@@ -91,7 +91,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
91
91
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
92
92
  };
93
93
 
94
- var STEPS$1 = {
94
+ var STEPS$2 = {
95
95
  PERSONAL_DETAILS: "Coordonnées personnelles",
96
96
  EXTRA_OPTIONS: "Options de voyage",
97
97
  SUMMARY: "Récapitulatif",
@@ -105,11 +105,11 @@ var STEPS$1 = {
105
105
  ROOM_OPTIONS: "Options de chambre",
106
106
  FLIGHT_OPTIONS: "Options de vol"
107
107
  };
108
- var INPUT$1 = {
108
+ var INPUT$2 = {
109
109
  INCREASE: "Augmenter",
110
110
  DECREASE: "Diminuer"
111
111
  };
112
- var FLIGHTS_FORM$1 = {
112
+ var FLIGHTS_FORM$2 = {
113
113
  OUTWARD_FLIGHTS: "Vols aller",
114
114
  OUTWARD_FLIGHT: "Vol aller",
115
115
  RETURN_FLIGHTS: "Vols retour",
@@ -142,7 +142,7 @@ var FLIGHTS_FORM$1 = {
142
142
  FLIGHTS_FOUND_2: "vols",
143
143
  FLIGHTS_FOUND_3: "trouvés"
144
144
  };
145
- var PRODUCT$1 = {
145
+ var PRODUCT$2 = {
146
146
  STAY_INCLUDED: "Séjour inclus",
147
147
  FLIGHT_INCLUDED: "Vol inclus",
148
148
  TRANSFER_INCLUDED: "Transfert inclus",
@@ -166,12 +166,12 @@ var PRODUCT$1 = {
166
166
  TRAVEL_PERIOD: "Période de voyage",
167
167
  CLOSE: "Fermer"
168
168
  };
169
- var MAIN$1 = {
169
+ var MAIN$2 = {
170
170
  PREPARING_BOOKING: "Veuillez patienter, nous préparons votre réservation",
171
171
  PREPARING_OFFER: "Veuillez patienter, nous préparons votre devis",
172
172
  PRODUCT_UNAVAILABLE: "Produit non disponible"
173
173
  };
174
- var SHARED$1 = {
174
+ var SHARED$2 = {
175
175
  ROOM: "Chambre",
176
176
  ROOMS: "Chambres",
177
177
  TOTAL_PRICE: "Prix total",
@@ -180,7 +180,7 @@ var SHARED$1 = {
180
180
  SELECT: "Sélectionner",
181
181
  SELECTED: "Sélectionné"
182
182
  };
183
- var SIDEBAR$1 = {
183
+ var SIDEBAR$2 = {
184
184
  OVERVIEW: "Aperçu",
185
185
  SLIDE_TOTAL_PRICE: "Montant total : ",
186
186
  SLIDE_DEPOSIT: "Acompte à payer : ",
@@ -214,7 +214,7 @@ var SIDEBAR$1 = {
214
214
  ON_REQUEST: "Sur demande",
215
215
  CHANGES: "correspondances"
216
216
  };
217
- var TRAVELERS_FORM$1 = {
217
+ var TRAVELERS_FORM$2 = {
218
218
  TRAVELER: "Voyageur",
219
219
  ADULT: "adulte",
220
220
  ADULTS: "adultes",
@@ -260,7 +260,7 @@ var TRAVELERS_FORM$1 = {
260
260
  AGENT_IS_REQUIRED: "Agent de voyage requis"
261
261
  }
262
262
  };
263
- var OPTIONS_FORM$1 = {
263
+ var OPTIONS_FORM$2 = {
264
264
  NO_OPTIONS_TITLE: "Aucune option",
265
265
  NO_OPTIONS_MESSAGE: "Ce voyage n'a pas d'options supplémentaires.",
266
266
  UNIT_TITLE: "Groupe",
@@ -274,12 +274,12 @@ var OPTIONS_FORM$1 = {
274
274
  PER_UNIT_TITLE: "Sélectionner les options par groupe",
275
275
  NONE: "Aucune"
276
276
  };
277
- var ROOM_OPTIONS_FORM$1 = {
277
+ var ROOM_OPTIONS_FORM$2 = {
278
278
  TRAVELER_GROUP: "Groupe de voyageurs",
279
279
  ALTERNATIVES_TRAVELER_GROUP: "Options de chambre alternatives pour le groupe de voyageurs",
280
280
  SHOW_ALTERNATIVES: "Afficher les options de chambre alternatives"
281
281
  };
282
- var SUMMARY$1 = {
282
+ var SUMMARY$2 = {
283
283
  PERSONAL_DETAILS: "Coordonnées personnelles",
284
284
  TRAVELERS: "voyageurs",
285
285
  TRAVELER: "voyageur",
@@ -300,7 +300,7 @@ var SUMMARY$1 = {
300
300
  VOUCHER_VALID: "Bon valide",
301
301
  VOUCHER_INVALID: "Bon invalide"
302
302
  };
303
- var CONFIRMATION$1 = {
303
+ var CONFIRMATION$2 = {
304
304
  TITLE_TEXT_OFFER: "Votre devis numéro {0} a été demandé",
305
305
  TITLE_TEXT_BOOKING: "Votre réservation avec le numéro {0} est confirmée",
306
306
  MESSAGE_TEXT1: "Votre voyage de rêve est maintenant très proche.",
@@ -312,7 +312,7 @@ var CONFIRMATION$1 = {
312
312
  QUESTIONS_ALT: "Contactez-nous",
313
313
  MAIL_SUBJECT: "Infos réservation"
314
314
  };
315
- var ERROR$1 = {
315
+ var ERROR$2 = {
316
316
  TRY_AGAIN: "Réessayez de réserver",
317
317
  MESSAGE_TEXT1: "Une erreur s'est produite lors de la confirmation de votre voyage.",
318
318
  MESSAGE_TEXT2: "Cliquez ci-dessous pour réessayer.",
@@ -321,23 +321,29 @@ var ERROR$1 = {
321
321
  ERROR_TEXT3: ".",
322
322
  ERROR_ALT: "Contactez-nous"
323
323
  };
324
+ var PRINT_OFFER_BUTTON$2 = {
325
+ LABEL_IDLE: "Imprimer le devis",
326
+ LABEL_CREATING: "Génération du devis…",
327
+ LABEL_PRINTING: "Génération du PDF…"
328
+ };
324
329
  var frJson = {
325
- STEPS: STEPS$1,
326
- INPUT: INPUT$1,
327
- FLIGHTS_FORM: FLIGHTS_FORM$1,
328
- PRODUCT: PRODUCT$1,
329
- MAIN: MAIN$1,
330
- SHARED: SHARED$1,
331
- SIDEBAR: SIDEBAR$1,
332
- TRAVELERS_FORM: TRAVELERS_FORM$1,
333
- OPTIONS_FORM: OPTIONS_FORM$1,
334
- ROOM_OPTIONS_FORM: ROOM_OPTIONS_FORM$1,
335
- SUMMARY: SUMMARY$1,
336
- CONFIRMATION: CONFIRMATION$1,
337
- ERROR: ERROR$1
330
+ STEPS: STEPS$2,
331
+ INPUT: INPUT$2,
332
+ FLIGHTS_FORM: FLIGHTS_FORM$2,
333
+ PRODUCT: PRODUCT$2,
334
+ MAIN: MAIN$2,
335
+ SHARED: SHARED$2,
336
+ SIDEBAR: SIDEBAR$2,
337
+ TRAVELERS_FORM: TRAVELERS_FORM$2,
338
+ OPTIONS_FORM: OPTIONS_FORM$2,
339
+ ROOM_OPTIONS_FORM: ROOM_OPTIONS_FORM$2,
340
+ SUMMARY: SUMMARY$2,
341
+ CONFIRMATION: CONFIRMATION$2,
342
+ ERROR: ERROR$2,
343
+ PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$2
338
344
  };
339
345
 
340
- var STEPS = {
346
+ var STEPS$1 = {
341
347
  PERSONAL_DETAILS: "Persoonlijke gegevens",
342
348
  EXTRA_OPTIONS: "Extra opties",
343
349
  SUMMARY: "Overzicht",
@@ -351,11 +357,11 @@ var STEPS = {
351
357
  ROOM_OPTIONS: "Kamer opties",
352
358
  FLIGHT_OPTIONS: "Vlucht opties"
353
359
  };
354
- var INPUT = {
360
+ var INPUT$1 = {
355
361
  INCREASE: "Verhogen",
356
362
  DECREASE: "Verminderen"
357
363
  };
358
- var FLIGHTS_FORM = {
364
+ var FLIGHTS_FORM$1 = {
359
365
  OUTWARD_FLIGHTS: "Heenvluchten",
360
366
  OUTWARD_FLIGHT: "Heenvlucht",
361
367
  RETURN_FLIGHTS: "Retourvluchten",
@@ -388,7 +394,7 @@ var FLIGHTS_FORM = {
388
394
  FLIGHTS_FOUND_2: "vluchten",
389
395
  FLIGHTS_FOUND_3: "gevonden"
390
396
  };
391
- var PRODUCT = {
397
+ var PRODUCT$1 = {
392
398
  STAY_INCLUDED: "Inclusief verblijf",
393
399
  FLIGHT_INCLUDED: "Inclusief vlucht",
394
400
  TRANSFER_INCLUDED: "Inclusief transfer",
@@ -412,12 +418,12 @@ var PRODUCT = {
412
418
  TRAVEL_PERIOD: "Reisperiode",
413
419
  CLOSE: "Sluiten"
414
420
  };
415
- var MAIN = {
421
+ var MAIN$1 = {
416
422
  PREPARING_BOOKING: "Even geduld, we bereiden uw boeking voor",
417
423
  PREPARING_OFFER: "Even geduld, we bereiden uw offerte voor",
418
424
  PRODUCT_UNAVAILABLE: "Product niet beschikbaar"
419
425
  };
420
- var SHARED = {
426
+ var SHARED$1 = {
421
427
  ROOM: "Kamer",
422
428
  ROOMS: "Kamers",
423
429
  TOTAL_PRICE: "Totale prijs",
@@ -426,7 +432,7 @@ var SHARED = {
426
432
  SELECT: "Selecteer",
427
433
  SELECTED: "Geselecteerd"
428
434
  };
429
- var SIDEBAR = {
435
+ var SIDEBAR$1 = {
430
436
  OVERVIEW: "Overzicht",
431
437
  SLIDE_TOTAL_PRICE: "Totaalbedrag: ",
432
438
  SLIDE_DEPOSIT: "Te betalen voorschot: ",
@@ -460,7 +466,7 @@ var SIDEBAR = {
460
466
  ON_REQUEST: "Op aanvraag",
461
467
  CHANGES: "overstappen"
462
468
  };
463
- var TRAVELERS_FORM = {
469
+ var TRAVELERS_FORM$1 = {
464
470
  TRAVELER: "Reiziger",
465
471
  ADULT: "volwassene",
466
472
  ADULTS: "volwassenen",
@@ -506,7 +512,7 @@ var TRAVELERS_FORM = {
506
512
  AGENT_IS_REQUIRED: "Reisagent is verplicht"
507
513
  }
508
514
  };
509
- var OPTIONS_FORM = {
515
+ var OPTIONS_FORM$1 = {
510
516
  NO_OPTIONS_TITLE: "Geen opties",
511
517
  NO_OPTIONS_MESSAGE: "Deze reis heeft geen bijkomende opties.",
512
518
  UNIT_TITLE: "Gezelschap",
@@ -520,12 +526,12 @@ var OPTIONS_FORM = {
520
526
  PER_UNIT_TITLE: "Opties per gezelschap selecteren",
521
527
  NONE: "Geen"
522
528
  };
523
- var ROOM_OPTIONS_FORM = {
529
+ var ROOM_OPTIONS_FORM$1 = {
524
530
  TRAVELER_GROUP: "Reisgezelschap",
525
531
  ALTERNATIVES_TRAVELER_GROUP: "Alternatieve kameropties voor reisgezelschap",
526
532
  SHOW_ALTERNATIVES: "Toon alternatieve kameropties"
527
533
  };
528
- var SUMMARY = {
534
+ var SUMMARY$1 = {
529
535
  PERSONAL_DETAILS: "Persoonlijke gegevens",
530
536
  TRAVELERS: "reizigers",
531
537
  TRAVELER: "reiziger",
@@ -546,7 +552,7 @@ var SUMMARY = {
546
552
  VOUCHER_VALID: "Voucher is geldig",
547
553
  VOUCHER_INVALID: "Voucher is niet geldig"
548
554
  };
549
- var CONFIRMATION = {
555
+ var CONFIRMATION$1 = {
550
556
  TITLE_TEXT_OFFER: "Je offerte met nummer {0} is aangevraagd",
551
557
  TITLE_TEXT_BOOKING: "Je boeking met nummer {0} is bevestigd",
552
558
  MESSAGE_TEXT1: "Jouw droomreis komt nu heel dichtbij.",
@@ -558,7 +564,7 @@ var CONFIRMATION = {
558
564
  QUESTIONS_ALT: "Contacteer ons",
559
565
  MAIL_SUBJECT: "Boeking info"
560
566
  };
561
- var ERROR = {
567
+ var ERROR$1 = {
562
568
  TRY_AGAIN: "Probeer opnieuw te boeken",
563
569
  MESSAGE_TEXT1: "Tijdens het bevestigen van uw reis is er iets misgelopen.",
564
570
  MESSAGE_TEXT2: "Klik hieronder om nog eens te proberen.",
@@ -567,7 +573,264 @@ var ERROR = {
567
573
  ERROR_TEXT3: ".",
568
574
  ERROR_ALT: "Contacteer ons"
569
575
  };
576
+ var PRINT_OFFER_BUTTON$1 = {
577
+ LABEL_IDLE: "Print offerte",
578
+ LABEL_CREATING: "Offerte genereren...",
579
+ LABEL_PRINTING: "PDF genereren..."
580
+ };
570
581
  var nlJson = {
582
+ STEPS: STEPS$1,
583
+ INPUT: INPUT$1,
584
+ FLIGHTS_FORM: FLIGHTS_FORM$1,
585
+ PRODUCT: PRODUCT$1,
586
+ MAIN: MAIN$1,
587
+ SHARED: SHARED$1,
588
+ SIDEBAR: SIDEBAR$1,
589
+ TRAVELERS_FORM: TRAVELERS_FORM$1,
590
+ OPTIONS_FORM: OPTIONS_FORM$1,
591
+ ROOM_OPTIONS_FORM: ROOM_OPTIONS_FORM$1,
592
+ SUMMARY: SUMMARY$1,
593
+ CONFIRMATION: CONFIRMATION$1,
594
+ ERROR: ERROR$1,
595
+ PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON$1
596
+ };
597
+
598
+ var STEPS = {
599
+ PERSONAL_DETAILS: "Personal details",
600
+ EXTRA_OPTIONS: "Extra options",
601
+ SUMMARY: "Summary",
602
+ CONFIRMATION: "Confirmation",
603
+ ERROR: "Booking failed",
604
+ PREVIOUS: "Previous step",
605
+ NEXT: "Next step",
606
+ SUBMIT_BOOKING: "Confirm booking",
607
+ SUBMIT_OFFER: "Request quote",
608
+ COMPOSE: "Compose",
609
+ ROOM_OPTIONS: "Room options",
610
+ FLIGHT_OPTIONS: "Flight options"
611
+ };
612
+ var INPUT = {
613
+ INCREASE: "Increase",
614
+ DECREASE: "Decrease"
615
+ };
616
+ var FLIGHTS_FORM = {
617
+ OUTWARD_FLIGHTS: "Outbound flights",
618
+ OUTWARD_FLIGHT: "Outbound flight",
619
+ RETURN_FLIGHTS: "Return flights",
620
+ RETURN_FLIGHT: "Return flight",
621
+ DIRECT_FLIGHT: "Direct flight",
622
+ STOP: "stop",
623
+ STOPS: "stops",
624
+ FLIGHT_STOPS: "stop(s)",
625
+ DIFFERENT_OPTION_WARNING: "Warning: This flight changes the duration of the stay.",
626
+ FILTER_OPTIONS: "Filter options",
627
+ AIRLINES: "Airlines",
628
+ AIRPORTS: "Airports",
629
+ NUMBER_OF_STOPS: "Number of stops",
630
+ FLIGHT_OUTWARD: "Outbound flight",
631
+ DEPARTURE_TIME: "Departure time",
632
+ TRAVEL_DURATION: "Travel duration",
633
+ CHANGE_TIME: "Change time",
634
+ FLIGHT_RETURN: "Return flight",
635
+ NO_FLIGHTS_FOUND: "No flights found.",
636
+ STARTING: "Starting from",
637
+ LOWEST_PRICE: "Lowest price",
638
+ CHOOSE_YOUR_CLASS: "Choose your class:",
639
+ PLUS_ONE_DAY: "+1 day",
640
+ STOP_TIME: "Change time",
641
+ NIGHT_DEPARTURE: "Night (00:00 - 05:00)",
642
+ MORNING_DEPARTURE: "Morning (05:00 - 12:00)",
643
+ AFTERNOON_DEPARTURE: "Afternoon (12:00 - 18:00)",
644
+ EVENING_DEPARTURE: "Evening (18:00 - 00:00)",
645
+ FLIGHTS_FOUND_1: "",
646
+ FLIGHTS_FOUND_2: "flights",
647
+ FLIGHTS_FOUND_3: "found"
648
+ };
649
+ var PRODUCT = {
650
+ STAY_INCLUDED: "Stay included",
651
+ FLIGHT_INCLUDED: "Flight included",
652
+ TRANSFER_INCLUDED: "Transfer included",
653
+ LOADING_PRICE: "Your price is being composed.",
654
+ PER_PERSON: "Per person",
655
+ PER_NIGHT: "Per night",
656
+ PER_PERSON_PER_NIGHT: "Per person / per night",
657
+ BOOK_NOW: "Book now",
658
+ TO_YOUR_OFFER: "To your quote",
659
+ NOT_AVAILABLE: "Not available",
660
+ NUMBER_OF_ROOMS: "Number of rooms",
661
+ AGE_BY_DEPARTURE_DATE: "Age of children on departure date",
662
+ YEAR: "Year",
663
+ APPLY: "Apply",
664
+ EDIT: "Edit",
665
+ DEPARTURE: "Departure",
666
+ DEPARTURE_DATE: "Departure date",
667
+ RETURN: "Return",
668
+ RETURN_DATE: "Return date",
669
+ WHO_YOU_TRAVELING_WITH: "Who are you traveling with?",
670
+ TRAVEL_PERIOD: "Travel period",
671
+ CLOSE: "Close"
672
+ };
673
+ var MAIN = {
674
+ PREPARING_BOOKING: "Please wait, we are preparing your booking",
675
+ PREPARING_OFFER: "Please wait, we are preparing your quote",
676
+ PRODUCT_UNAVAILABLE: "Product not available"
677
+ };
678
+ var SHARED = {
679
+ ROOM: "Room",
680
+ ROOMS: "Rooms",
681
+ TOTAL_PRICE: "Total price",
682
+ ADULTS: "Adults",
683
+ CHILDREN: "Children",
684
+ SELECT: "Select",
685
+ SELECTED: "Selected"
686
+ };
687
+ var SIDEBAR = {
688
+ OVERVIEW: "Summary",
689
+ SLIDE_TOTAL_PRICE: "Total amount: ",
690
+ SLIDE_DEPOSIT: "Deposit to be paid: ",
691
+ TRAVEL_INFO: "Travel information",
692
+ TRAVELERS: "Travelers",
693
+ TRAVELERS_ADULTS: "adults",
694
+ TRAVELERS_ADULT: "adult",
695
+ TRAVELERS_CHILDREN: "children",
696
+ TRAVELERS_CHILD: "child",
697
+ DEPARTURE: "Outbound",
698
+ DEPARTURE_SINGLE: "Date",
699
+ ARRIVAL: "Return",
700
+ FLIGHT: "Flight",
701
+ ACCOMMODATION: "Accommodation booked",
702
+ BASE_PRICE: "Base price",
703
+ OPTIONS: "Options",
704
+ INCLUDED_COSTS: "Included costs",
705
+ EXTRA_COSTS: "Additional costs",
706
+ DEPOSIT: "Deposit to be paid",
707
+ DEPOSIT_TEXT1: "The steps for the ",
708
+ DEPOSIT_TEXT2: "remaining balance",
709
+ DEPOSIT_TEXT3: " of ",
710
+ DEPOSIT_TEXT4: " are described in ",
711
+ DEPOSIT_TEXT5: "step 3 (\"summary\")",
712
+ DEPOSIT_TEXT6: " of the booking process.",
713
+ LUGGAGE_INCLUDED: "Luggage included",
714
+ DEPARTURE_FLIGHT: "Outbound flight",
715
+ ARRIVAL_FLIGHT: "Return flight",
716
+ FLIGHT_DEPARTURE: "Departure",
717
+ FLIGHT_ARRIVAL: "Arrival",
718
+ ON_REQUEST: "On request",
719
+ CHANGES: "transfers"
720
+ };
721
+ var TRAVELERS_FORM = {
722
+ TRAVELER: "Traveler",
723
+ ADULT: "adult",
724
+ ADULTS: "adults",
725
+ CHILD: "child",
726
+ CHILDREN: "children",
727
+ GENDER: "Salutation",
728
+ MALE: "Mr.",
729
+ FEMALE: "Mrs.",
730
+ OTHER: "Other",
731
+ MAIN_BOOKER: "Main booker",
732
+ FIRST_NAME: "First name",
733
+ LAST_NAME: "Last name",
734
+ BIRTHDATE: "Date of birth",
735
+ STREET: "Street",
736
+ STREET_PLACEHOLDER: "Your street",
737
+ HOUSE_NUMBER: "House number",
738
+ POST_BOX: "Box",
739
+ ZIPCODE: "Postal code",
740
+ CITY: "City",
741
+ CITY_PLACEHOLDER: "City",
742
+ COUNTRY: "Country",
743
+ SELECT_COUNTRY: "Select country",
744
+ PHONE: "Phone number",
745
+ EMAIL: "Email",
746
+ REPEAT_EMAIL: "Repeat email",
747
+ VALIDATION_MESSAGE: "Please check the fields below and fill them in correctly.",
748
+ BOOK_WITH_AGENT: "I want to book through my local travel agent",
749
+ CHOOSE_OFFICE: "I choose an office",
750
+ COUNTRIES: {
751
+ BELGIUM: "Belgium",
752
+ NETHERLANDS: "Netherlands",
753
+ FRANCE: "France"
754
+ },
755
+ CHOOSE_AGENT_PLACEHOLDER: "Choose your travel agent",
756
+ VALIDATION: {
757
+ TRAVELER_X_FIELD: "Room {0} - Traveler {1}: {2}",
758
+ TRAVELER_X_IS_NO_ADULT: "Room {0} - Traveler {1}: is not an adult",
759
+ TRAVELER_X_IS_NO_CHILD: "Room {0} - Traveler {1}: is not a child",
760
+ NO_MAIN_BOOKER_SELECTED: "No main booker has been selected",
761
+ MAIN_BOOKER_FIELD: "Main booker: {0}",
762
+ MAIN_BOOKER_EMAIL_IS_INVALID: "Main booker: email is invalid",
763
+ MAIN_BOOKER_EMAIL_DOES_NOT_MATCH: "Main booker: email does not match",
764
+ AGENT_IS_REQUIRED: "Travel agent is required"
765
+ }
766
+ };
767
+ var OPTIONS_FORM = {
768
+ NO_OPTIONS_TITLE: "No options",
769
+ NO_OPTIONS_MESSAGE: "This trip has no additional options.",
770
+ UNIT_TITLE: "Party",
771
+ PACKAGE: "Package",
772
+ DAY: "day",
773
+ DAYS: "days",
774
+ NIGHT: "night",
775
+ NIGHTS: "nights",
776
+ PER_PAX_TITLE: "Select options per traveler",
777
+ PER_BOOKING_TITLE: "Select options per booking",
778
+ PER_UNIT_TITLE: "Select options per party",
779
+ NONE: "None"
780
+ };
781
+ var ROOM_OPTIONS_FORM = {
782
+ TRAVELER_GROUP: "Travel party",
783
+ ALTERNATIVES_TRAVELER_GROUP: "Alternative room options for travel party",
784
+ SHOW_ALTERNATIVES: "Show alternative room options"
785
+ };
786
+ var SUMMARY = {
787
+ PERSONAL_DETAILS: "Personal details",
788
+ TRAVELERS: "travelers",
789
+ TRAVELER: "traveler",
790
+ ADULTS: "adults",
791
+ ADULT: "adult",
792
+ CHILDREN: "children",
793
+ CHILD: "child",
794
+ MAIN_BOOKER: "Main booker",
795
+ NOTIFICATIONS_TITLE: "Attention",
796
+ VALIDATE_TITLE: "Check your information",
797
+ VALIDATE_TEXT_BOOKING: "You are about to confirm your booking. Please check that all information is correct and that names are exactly as shown on your ID or passport. This information is final and cannot be changed.",
798
+ VALIDATE_TEXT_OFFER: "You are about to request a quote. Please check that all information is correct and that names are exactly as shown on your ID or passport. This helps us avoid problems if you book later.",
799
+ OPTIONS: "Options",
800
+ REMARKS: "Remarks",
801
+ VOUCHERS: "Vouchers",
802
+ VOUCHER_VALIDATE: "Validate voucher",
803
+ ADD_VOUCHER: "Add voucher",
804
+ VOUCHER_VALID: "Voucher is valid",
805
+ VOUCHER_INVALID: "Voucher is not valid"
806
+ };
807
+ var CONFIRMATION = {
808
+ TITLE_TEXT_OFFER: "Your quote with number {0} has been requested",
809
+ TITLE_TEXT_BOOKING: "Your booking with number {0} has been confirmed",
810
+ MESSAGE_TEXT1: "Your dream trip is now very close.",
811
+ MESSAGE_TEXT2_OFFER: "Our travel specialists are processing your request and will contact you within 48 hours.",
812
+ MESSAGE_TEXT2_BOOKING: "Our travel specialists are processing your booking and will contact you within 48 hours.",
813
+ QUESTIONS_TEXT1: "Do you have any questions? ",
814
+ QUESTIONS_TEXT2: "Let us know",
815
+ QUESTIONS_TEXT3: ".",
816
+ QUESTIONS_ALT: "Contact us",
817
+ MAIL_SUBJECT: "Booking info"
818
+ };
819
+ var ERROR = {
820
+ TRY_AGAIN: "Try booking again",
821
+ MESSAGE_TEXT1: "Something went wrong while confirming your trip.",
822
+ MESSAGE_TEXT2: "Click below to try again.",
823
+ ERROR_TEXT1: "Still not working? ",
824
+ ERROR_TEXT2: "Be sure to let us know",
825
+ ERROR_TEXT3: ".",
826
+ ERROR_ALT: "Contact us"
827
+ };
828
+ var PRINT_OFFER_BUTTON = {
829
+ LABEL_IDLE: "Print offer",
830
+ LABEL_CREATING: "Generating offer…",
831
+ LABEL_PRINTING: "Generating PDF…"
832
+ };
833
+ var enJson = {
571
834
  STEPS: STEPS,
572
835
  INPUT: INPUT,
573
836
  FLIGHTS_FORM: FLIGHTS_FORM,
@@ -580,7 +843,8 @@ var nlJson = {
580
843
  ROOM_OPTIONS_FORM: ROOM_OPTIONS_FORM,
581
844
  SUMMARY: SUMMARY,
582
845
  CONFIRMATION: CONFIRMATION,
583
- ERROR: ERROR
846
+ ERROR: ERROR,
847
+ PRINT_OFFER_BUTTON: PRINT_OFFER_BUTTON
584
848
  };
585
849
 
586
850
  var formatPrice = function (price, locale) {
@@ -599,6 +863,8 @@ var getTranslations = function (language) {
599
863
  return nlJson;
600
864
  case "fr-BE":
601
865
  return frJson;
866
+ case "en-GB":
867
+ return enJson;
602
868
  default:
603
869
  throw new Error("The language '".concat(language, "' is not yet supported."));
604
870
  }
@@ -606,6 +872,7 @@ var getTranslations = function (language) {
606
872
  var locales = {
607
873
  "nl-BE": nlBE,
608
874
  "fr-BE": fr,
875
+ "en-GB": enGB,
609
876
  };
610
877
  function getLocale(code) {
611
878
  switch (code) {
@@ -613,6 +880,8 @@ function getLocale(code) {
613
880
  return locales[code];
614
881
  case "fr-BE":
615
882
  return locales[code];
883
+ case "en-GB":
884
+ return locales[code];
616
885
  default:
617
886
  return locales["nl-BE"];
618
887
  }
@@ -700,8 +969,8 @@ var SettingsContext$1 = React.createContext({
700
969
  officeId: 1,
701
970
  catalogueId: 1,
702
971
  language: "nl-BE",
703
- basePath: 'boeken',
704
- priceMode: 0
972
+ basePath: "boeken",
973
+ priceMode: 0,
705
974
  });
706
975
 
707
976
  var commonjsGlobal$1 = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
@@ -7463,7 +7732,7 @@ build.login = login;
7463
7732
  build.logout = logout;
7464
7733
  var priceDetails_1 = build.priceDetails = priceDetails;
7465
7734
  build.prices = prices;
7466
- build.print = print;
7735
+ var print_1 = build.print = print;
7467
7736
  build.resetPassword = resetPassword;
7468
7737
  build.search = search;
7469
7738
  build.searchFlightPool = searchFlightPool;
@@ -7514,12 +7783,12 @@ var fetchDetails$1 = function (request, signal, languageCode, apiSettings) { ret
7514
7783
  });
7515
7784
  }); };
7516
7785
  var packageApi$1 = {
7517
- fetchDetails: fetchDetails$1
7786
+ fetchDetails: fetchDetails$1,
7518
7787
  };
7519
7788
 
7520
7789
  var formatPriceByMode = function (price, priceMode, personCount, duration, perPersonLabel, perNightLabel, perPersonPerNightLabel) {
7521
7790
  if (!price)
7522
- return '';
7791
+ return "";
7523
7792
  switch (priceMode) {
7524
7793
  case 0:
7525
7794
  return "".concat(formatPrice(price));
@@ -8927,7 +9196,10 @@ var DateRangePicker = function (props) {
8927
9196
  var _a, _b, _c, _d;
8928
9197
  var _e = useState(props.fromDate), fromDate = _e[0], setFromDate = _e[1];
8929
9198
  var _f = useState(props.toDate), toDate = _f[0], setToDate = _f[1];
8930
- var _g = useState((_a = props.focusMonth) !== null && _a !== void 0 ? _a : { year: getYear(new Date()), month: getMonth(new Date()) }), focusMonth = _g[0], setFocusMonth = _g[1];
9199
+ var _g = useState((_a = props.focusMonth) !== null && _a !== void 0 ? _a : {
9200
+ year: getYear(new Date()),
9201
+ month: getMonth(new Date()),
9202
+ }), focusMonth = _g[0], setFocusMonth = _g[1];
8931
9203
  var _h = useState(false), isWaitingForToDate = _h[0], setWaitingForToDate = _h[1];
8932
9204
  var handleDayClick = function (day) {
8933
9205
  var onSelectionChange = props.onSelectionChange;
@@ -8989,12 +9261,17 @@ var DateRangePicker = function (props) {
8989
9261
  var firstCalendarYear = focusMonth.year;
8990
9262
  var firstCalendarMonth = focusMonth.month;
8991
9263
  var secondCalendarMonth = (firstCalendarMonth + 1) % 12;
8992
- var secondCalendarYear = secondCalendarMonth < firstCalendarMonth ? firstCalendarYear + 1 : firstCalendarYear;
9264
+ var secondCalendarYear = secondCalendarMonth < firstCalendarMonth
9265
+ ? firstCalendarYear + 1
9266
+ : firstCalendarYear;
8993
9267
  var checkIfDateIsSelected = function (date) {
8994
9268
  return isNil(toDate)
8995
9269
  ? !isNil(fromDate) && isEqual(date, fromDate)
8996
9270
  : !isNil(fromDate) &&
8997
- isWithinInterval(date, { start: startOfDay(fromDate), end: endOfDay(toDate) });
9271
+ isWithinInterval(date, {
9272
+ start: startOfDay(fromDate),
9273
+ end: endOfDay(toDate),
9274
+ });
8998
9275
  };
8999
9276
  useEffect(function () {
9000
9277
  setFromDate(props.fromDate);
@@ -9002,7 +9279,10 @@ var DateRangePicker = function (props) {
9002
9279
  }, [(_b = props.fromDate) === null || _b === void 0 ? void 0 : _b.valueOf(), (_c = props.toDate) === null || _c === void 0 ? void 0 : _c.valueOf()]);
9003
9280
  useEffect(function () {
9004
9281
  if (props.fromDate) {
9005
- setFocusMonth({ month: props.fromDate.getMonth(), year: props.fromDate.getFullYear() });
9282
+ setFocusMonth({
9283
+ month: props.fromDate.getMonth(),
9284
+ year: props.fromDate.getFullYear(),
9285
+ });
9006
9286
  }
9007
9287
  }, [(_d = props.fromDate) === null || _d === void 0 ? void 0 : _d.valueOf()]);
9008
9288
  return (React.createElement("div", { className: "date-range-picker" },
@@ -9016,7 +9296,9 @@ var Dates = function (_a) {
9016
9296
  var value = _a.value, duration = _a.duration, onChange = _a.onChange;
9017
9297
  var language = useContext(SettingsContext$1).language;
9018
9298
  var translations = getTranslations(language);
9019
- var mql = typeof window !== "undefined" ? window.matchMedia("(min-width: 1200px)") : undefined;
9299
+ var mql = typeof window !== "undefined"
9300
+ ? window.matchMedia("(min-width: 1200px)")
9301
+ : undefined;
9020
9302
  var _b = useState(null), referenceElement = _b[0], setReferenceElement = _b[1];
9021
9303
  var _c = useState(null), popperElement = _c[0], setPopperElement = _c[1];
9022
9304
  var _d = useState(false), panelActive = _d[0], setPanelActive = _d[1];
@@ -9034,7 +9316,7 @@ var Dates = function (_a) {
9034
9316
  options: {
9035
9317
  padding: 40,
9036
9318
  },
9037
- }
9319
+ },
9038
9320
  ],
9039
9321
  }), styles = _e.styles, attributes = _e.attributes;
9040
9322
  var handleInputFocus = function () {
@@ -9073,9 +9355,11 @@ var Dates = function (_a) {
9073
9355
  React.createElement("div", __assign({ ref: setPopperElement, className: buildClassName([
9074
9356
  "qsm__panel qsm__panel--bordered qsm__panel--dates-pricing",
9075
9357
  panelActive && "qsm__panel--active",
9076
- !(mql === null || mql === void 0 ? void 0 : mql.matches) && "qsm__panel--mobile"
9358
+ !(mql === null || mql === void 0 ? void 0 : mql.matches) && "qsm__panel--mobile",
9077
9359
  ]), style: (mql === null || mql === void 0 ? void 0 : mql.matches) ? styles.popper : undefined }, attributes.popper),
9078
- React.createElement(DateRangePicker, { fromDate: value === null || value === void 0 ? void 0 : value.fromDate, toDate: value === null || value === void 0 ? void 0 : value.toDate, duration: duration, disabledDaysFunction: function (date) { return isBefore(date, startOfDay(new Date())); }, onSelectionChange: handleSelectionChange }),
9360
+ React.createElement(DateRangePicker, { fromDate: value === null || value === void 0 ? void 0 : value.fromDate, toDate: value === null || value === void 0 ? void 0 : value.toDate, duration: duration, disabledDaysFunction: function (date) {
9361
+ return isBefore(date, startOfDay(new Date()));
9362
+ }, onSelectionChange: handleSelectionChange }),
9079
9363
  !(mql === null || mql === void 0 ? void 0 : mql.matches) && (React.createElement("div", { className: "qsm__close", onClick: function () { return setPanelActive(false); } },
9080
9364
  React.createElement(Icon$1, { name: "ui-close", height: 25, width: 25 })))))));
9081
9365
  };
@@ -9091,18 +9375,16 @@ var Footer = function (_a) {
9091
9375
  var priceText = _a.priceText, isLoading = _a.isLoading, isOffer = _a.isOffer, roomsIsDisabled = _a.roomsIsDisabled, handleBookClick = _a.handleBookClick;
9092
9376
  var _b = useContext(SettingsContext$1), language = _b.language, alternativeActionText = _b.alternativeActionText, alternativeAction = _b.alternativeAction;
9093
9377
  var translations = getTranslations(language);
9094
- return (React.createElement("div", { className: "booking-product__footer" }, isLoading
9095
- ? (React.createElement(Loader, { loaderText: translations.PRODUCT.LOADING_PRICE }))
9096
- : (React.createElement(React.Fragment, null,
9097
- priceText && (React.createElement("div", { className: "booking-product__footer-total" },
9098
- React.createElement("div", { className: "booking-product__footer-label" }, translations.SHARED.TOTAL_PRICE),
9099
- React.createElement("div", { className: "booking-product__footer-price" }, priceText))),
9100
- React.createElement("div", { className: "booking-product_footer-actions" }, priceText ? (React.createElement("button", { type: "button", className: buildClassName([
9101
- "cta",
9102
- !roomsIsDisabled && "cta--disabled"
9103
- ]), onClick: handleBookClick, disabled: !roomsIsDisabled }, isOffer ? translations.PRODUCT.TO_YOUR_OFFER : translations.PRODUCT.BOOK_NOW)) : ((alternativeActionText && alternativeAction)
9104
- ? (React.createElement("a", { href: "#offer-form", className: "cta", onClick: alternativeAction }, alternativeActionText))
9105
- : (React.createElement(React.Fragment, null, translations.PRODUCT.NOT_AVAILABLE))))))));
9378
+ return (React.createElement("div", { className: "booking-product__footer" }, isLoading ? (React.createElement(Loader, { loaderText: translations.PRODUCT.LOADING_PRICE })) : (React.createElement(React.Fragment, null,
9379
+ priceText && (React.createElement("div", { className: "booking-product__footer-total" },
9380
+ React.createElement("div", { className: "booking-product__footer-label" }, translations.SHARED.TOTAL_PRICE),
9381
+ React.createElement("div", { className: "booking-product__footer-price" }, priceText))),
9382
+ React.createElement("div", { className: "booking-product__footer-actions" }, priceText ? (React.createElement("button", { type: "button", className: buildClassName([
9383
+ "cta",
9384
+ !roomsIsDisabled && "cta--disabled",
9385
+ ]), onClick: handleBookClick, disabled: !roomsIsDisabled }, isOffer
9386
+ ? translations.PRODUCT.TO_YOUR_OFFER
9387
+ : translations.PRODUCT.BOOK_NOW)) : alternativeActionText && alternativeAction ? (React.createElement("a", { href: "#offer-form", className: "cta", onClick: alternativeAction }, alternativeActionText)) : (React.createElement(React.Fragment, null, translations.PRODUCT.NOT_AVAILABLE)))))));
9106
9388
  };
9107
9389
 
9108
9390
  var Rating = function (_a) {
@@ -9121,17 +9403,15 @@ var Header = function (_a) {
9121
9403
  React.createElement("div", { className: "booking-product__hotel" },
9122
9404
  rating && React.createElement(Rating, { rating: rating }),
9123
9405
  React.createElement("div", { className: "booking-product__title" }, name)),
9124
- React.createElement("div", { className: "booking-product__price" }, isLoading
9125
- ? (React.createElement(Loader, { loaderText: translations.PRODUCT.LOADING_PRICE }))
9126
- : (React.createElement(React.Fragment, null,
9127
- React.createElement("div", { className: "pricing__header pricing__price" }, priceText),
9128
- React.createElement("div", { className: "package-icons" },
9129
- priceText && (React.createElement("div", { className: "package-icons__icon" },
9130
- React.createElement(Icon$1, { name: "ui-bed", title: translations.PRODUCT.STAY_INCLUDED, width: 25, height: 25 }))),
9131
- hasFlight && (React.createElement("div", { className: "package-icons__icon" },
9132
- React.createElement(Icon$1, { name: "ui-flight", title: translations.PRODUCT.FLIGHT_INCLUDED, width: 25, height: 25 }))),
9133
- hasTransfer && (React.createElement("div", { className: "package-icons__icon" },
9134
- React.createElement(Icon$1, { name: "ui-transfer", title: translations.PRODUCT.TRANSFER_INCLUDED, width: 25, height: 25 })))))))));
9406
+ React.createElement("div", { className: "booking-product__price" }, isLoading ? (React.createElement(Loader, { loaderText: translations.PRODUCT.LOADING_PRICE })) : (React.createElement(React.Fragment, null,
9407
+ React.createElement("div", { className: "pricing__header pricing__price" }, priceText),
9408
+ React.createElement("div", { className: "package-icons" },
9409
+ priceText && (React.createElement("div", { className: "package-icons__icon" },
9410
+ React.createElement(Icon$1, { name: "ui-bed", title: translations.PRODUCT.STAY_INCLUDED, width: 25, height: 25 }))),
9411
+ hasFlight && (React.createElement("div", { className: "package-icons__icon" },
9412
+ React.createElement(Icon$1, { name: "ui-flight", title: translations.PRODUCT.FLIGHT_INCLUDED, width: 25, height: 25 }))),
9413
+ hasTransfer && (React.createElement("div", { className: "package-icons__icon" },
9414
+ React.createElement(Icon$1, { name: "ui-transfer", title: translations.PRODUCT.TRANSFER_INCLUDED, width: 25, height: 25 })))))))));
9135
9415
  };
9136
9416
 
9137
9417
  var AgeSelect = function (_a) {
@@ -9164,7 +9444,10 @@ var AmountInput = function (_a) {
9164
9444
  onChange(Math.max(value - 1, min !== null && min !== void 0 ? min : 0));
9165
9445
  }
9166
9446
  };
9167
- return (React.createElement("div", { className: buildClassName(["decrement-increment", disabled && "decrement-increment--disabled"]) },
9447
+ return (React.createElement("div", { className: buildClassName([
9448
+ "decrement-increment",
9449
+ disabled && "decrement-increment--disabled",
9450
+ ]) },
9168
9451
  React.createElement("label", { className: "decrement-increment__label" }, label),
9169
9452
  React.createElement("div", { className: "decrement-increment__ui" },
9170
9453
  !disabled && (React.createElement("button", { type: "button", className: "button button--decrement", title: translations.INPUT.DECREASE, disabled: disabled, onClick: handleDecreaseClick },
@@ -9195,7 +9478,14 @@ var Rooms = function (_a) {
9195
9478
  React.createElement("div", { className: "booking-product__rooms__heading" }, translations.SHARED.ROOMS),
9196
9479
  React.createElement("div", { className: "booking-product__rooms__actions" },
9197
9480
  React.createElement(AmountInput, { label: translations.PRODUCT.NUMBER_OF_ROOMS, value: currentRooms.length, disabled: isDisabled, min: 1, onChange: function (value) {
9198
- setRoomState(range(0, value).map(function (roomIndex) { var _a; return (_a = currentRooms[roomIndex]) !== null && _a !== void 0 ? _a : { adults: 2, children: 0, childAges: [] }; }));
9481
+ setRoomState(range(0, value).map(function (roomIndex) {
9482
+ var _a;
9483
+ return (_a = currentRooms[roomIndex]) !== null && _a !== void 0 ? _a : {
9484
+ adults: 2,
9485
+ children: 0,
9486
+ childAges: [],
9487
+ };
9488
+ }));
9199
9489
  setIsTouched(true);
9200
9490
  } }))),
9201
9491
  React.createElement("div", { className: "booking-product__rooms-body" }, currentRooms.map(function (room, roomIndex) { return (React.createElement("div", { className: "booking-product__room", key: roomIndex },
@@ -9221,23 +9511,27 @@ var Rooms = function (_a) {
9221
9511
  setRoomState(currentRooms.map(function (room, selectorRoomIndex) {
9222
9512
  return roomIndex === selectorRoomIndex
9223
9513
  ? __assign(__assign({}, room), { childAges: room.childAges
9224
- .map(function (age, i) { return (childIndex === i ? value : age); })
9514
+ .map(function (age, i) {
9515
+ return childIndex === i ? value : age;
9516
+ })
9225
9517
  .sort(function (a, b) { return b - a; }) }) : room;
9226
9518
  }));
9227
9519
  setIsTouched(true);
9228
9520
  } })); })))))); }))),
9229
- React.createElement("div", { className: "booking-product__rooms-footer" }, isDisabled
9230
- ? (React.createElement("button", { type: "button", className: buildClassName(["cta--secondary", "cta--add"]), title: translations.PRODUCT.EDIT, onClick: function () {
9231
- setIsDisabled(false);
9232
- setIsTouched(false);
9233
- } },
9234
- React.createElement("span", null,
9235
- React.createElement(Icon$1, { name: "ui-pencil", width: 25, height: 25 }),
9236
- translations.PRODUCT.EDIT)))
9237
- : (React.createElement("button", { type: "button", className: buildClassName(["cta", (isTouched ? "cta--secondary" : "cta--secondary"), "cta--add"]), title: translations.PRODUCT.APPLY, onClick: handleCloseClick },
9238
- React.createElement("span", null,
9239
- React.createElement(Icon$1, { name: "ui-check" }),
9240
- translations.PRODUCT.APPLY)))))));
9521
+ React.createElement("div", { className: "booking-product__rooms-footer" }, isDisabled ? (React.createElement("button", { type: "button", className: buildClassName(["cta--secondary", "cta--add"]), title: translations.PRODUCT.EDIT, onClick: function () {
9522
+ setIsDisabled(false);
9523
+ setIsTouched(false);
9524
+ } },
9525
+ React.createElement("span", null,
9526
+ React.createElement(Icon$1, { name: "ui-pencil", width: 25, height: 25 }),
9527
+ translations.PRODUCT.EDIT))) : (React.createElement("button", { type: "button", className: buildClassName([
9528
+ "cta",
9529
+ isTouched ? "cta--secondary" : "cta--secondary",
9530
+ "cta--add",
9531
+ ]), title: translations.PRODUCT.APPLY, onClick: handleCloseClick },
9532
+ React.createElement("span", null,
9533
+ React.createElement(Icon$1, { name: "ui-check" }),
9534
+ translations.PRODUCT.APPLY)))))));
9241
9535
  };
9242
9536
 
9243
9537
  var Product = function (_a) {
@@ -9251,7 +9545,9 @@ var Product = function (_a) {
9251
9545
  var _h = useState(), price = _h[0], setPrice = _h[1];
9252
9546
  var _j = useState(false), hasFlight = _j[0], setHasFlight = _j[1];
9253
9547
  var _k = useState(false), hasTransfer = _k[0], setHasTransfer = _k[1];
9254
- var _l = useState([{ adults: 2, children: 0, childAges: [] }]), rooms = _l[0], setRooms = _l[1];
9548
+ var _l = useState([
9549
+ { adults: 2, children: 0, childAges: [] },
9550
+ ]), rooms = _l[0], setRooms = _l[1];
9255
9551
  var _m = useState(), dateRange = _m[0], setDateRange = _m[1];
9256
9552
  var _o = useState(productName), packageProductName = _o[0], setPackageProductName = _o[1];
9257
9553
  var fetchPackage = function (signal) { return __awaiter$1(void 0, void 0, void 0, function () {
@@ -9264,16 +9560,19 @@ var Product = function (_a) {
9264
9560
  (dateRange === null || dateRange === void 0 ? void 0 : dateRange.fromDate) &&
9265
9561
  (dateRange === null || dateRange === void 0 ? void 0 : dateRange.toDate) &&
9266
9562
  rooms)) return [3 /*break*/, 2];
9267
- apiSettingsState = (apiKey && apiUrl) ? {
9268
- apiKey: apiKey,
9269
- apiUrl: apiUrl
9270
- } : undefined;
9271
- startDate = formatISO(dateRange === null || dateRange === void 0 ? void 0 : dateRange.fromDate, { representation: "date" }) + "T00:00:00Z";
9563
+ apiSettingsState = apiKey && apiUrl
9564
+ ? {
9565
+ apiKey: apiKey,
9566
+ apiUrl: apiUrl,
9567
+ }
9568
+ : undefined;
9569
+ startDate = formatISO(dateRange === null || dateRange === void 0 ? void 0 : dateRange.fromDate, { representation: "date" }) +
9570
+ "T00:00:00Z";
9272
9571
  endDate = formatISO(dateRange === null || dateRange === void 0 ? void 0 : dateRange.toDate, { representation: "date" }) + "T00:00:00Z";
9273
9572
  requestRooms = rooms.map(function (room, i) {
9274
9573
  var requestRoom = {
9275
9574
  index: i,
9276
- pax: []
9575
+ pax: [],
9277
9576
  };
9278
9577
  for (var a = 0; a < room.adults; a++) {
9279
9578
  requestRoom.pax.push({
@@ -9351,7 +9650,7 @@ var Product = function (_a) {
9351
9650
  var paramString = Object.keys(params)
9352
9651
  .map(function (key) { return "".concat(key, "=").concat(params[key]); })
9353
9652
  .join("&");
9354
- window.location.href = basePath.startsWith('/')
9653
+ window.location.href = basePath.startsWith("/")
9355
9654
  ? "".concat(window.location.protocol, "//").concat(window.location.host).concat(basePath, "?").concat(paramString)
9356
9655
  : "".concat(path).concat(path.endsWith("/") ? "" : "/").concat(basePath, "?").concat(paramString);
9357
9656
  };
@@ -9376,7 +9675,7 @@ var Product = function (_a) {
9376
9675
  }, [
9377
9676
  (_b = dateRange === null || dateRange === void 0 ? void 0 : dateRange.fromDate) === null || _b === void 0 ? void 0 : _b.valueOf(),
9378
9677
  (_c = dateRange === null || dateRange === void 0 ? void 0 : dateRange.toDate) === null || _c === void 0 ? void 0 : _c.valueOf(),
9379
- JSON.stringify(rooms)
9678
+ JSON.stringify(rooms),
9380
9679
  ]);
9381
9680
  useEffect(function () {
9382
9681
  var params = new URLSearchParams(location.search);
@@ -9512,7 +9811,7 @@ var fetchAccommodationViews$1 = function (request, signal, apiSettings) { return
9512
9811
  var packageApi = {
9513
9812
  fetchDetails: fetchDetails,
9514
9813
  fetchAgents: fetchAgents$1,
9515
- fetchAccommodationViews: fetchAccommodationViews$1
9814
+ fetchAccommodationViews: fetchAccommodationViews$1,
9516
9815
  };
9517
9816
 
9518
9817
  var ROOM_OPTIONS_FORM_STEP = 1;
@@ -9663,7 +9962,11 @@ var selectSeparatePackagePriceDetails = createSelector(selectPackagePriceDetails
9663
9962
  var result = [];
9664
9963
  var filteredPriceDetails = pricedetails.filter(function (priceDetail) { return priceDetail.isSeparate; });
9665
9964
  filteredPriceDetails.forEach(function (priceDetail) {
9666
- var priceDetailToMerge = result.find(function (x) { return x.productCode === priceDetail.productCode && x.accommodationCode === priceDetail.accommodationCode && x.productType === priceDetail.productType; });
9965
+ var priceDetailToMerge = result.find(function (x) {
9966
+ return x.productCode === priceDetail.productCode &&
9967
+ x.accommodationCode === priceDetail.accommodationCode &&
9968
+ x.productType === priceDetail.productType;
9969
+ });
9667
9970
  if (priceDetailToMerge) {
9668
9971
  priceDetailToMerge.total += priceDetail.total;
9669
9972
  priceDetailToMerge.price += priceDetail.price;
@@ -9719,15 +10022,23 @@ var selectPackageFlights = function (state) {
9719
10022
  var _a, _b;
9720
10023
  return ({
9721
10024
  outward: (_a = state.booking.package) === null || _a === void 0 ? void 0 : _a.outwardFlights,
9722
- return: (_b = state.booking.package) === null || _b === void 0 ? void 0 : _b.returnFlights
10025
+ return: (_b = state.booking.package) === null || _b === void 0 ? void 0 : _b.returnFlights,
9723
10026
  });
9724
10027
  };
9725
10028
  var selectActiveOption = function (state) { var _a; return (_a = state.booking.package) === null || _a === void 0 ? void 0 : _a.options.find(function (x) { return x.isSelected; }); };
9726
10029
  var selectPackageAirlineGroups = createSelector(selectActiveOption, selectDepartureFlight, selectReturnFlight, function (option, departureFlight, returnFlight) {
9727
- return option === null || option === void 0 ? void 0 : option.airlineGroups.filter(function (x) { var _a, _b; return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") || x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : ""); });
10030
+ return option === null || option === void 0 ? void 0 : option.airlineGroups.filter(function (x) {
10031
+ var _a, _b;
10032
+ return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") ||
10033
+ x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : "");
10034
+ });
9728
10035
  });
9729
10036
  var selectPackageAirportGroups = createSelector(selectActiveOption, selectDepartureFlight, selectReturnFlight, function (option, departureFlight, returnFlight) {
9730
- return option === null || option === void 0 ? void 0 : option.airportGroups.filter(function (x) { var _a, _b; return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") || x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : ""); });
10037
+ return option === null || option === void 0 ? void 0 : option.airportGroups.filter(function (x) {
10038
+ var _a, _b;
10039
+ return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") ||
10040
+ x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : "");
10041
+ });
9731
10042
  });
9732
10043
  var selectApiSettings = function (state) { return state.apiSettings; };
9733
10044
  var selectIsUnavailable = function (state) {
@@ -9741,7 +10052,8 @@ var selectLanguageCode = function (state) {
9741
10052
  var selectTranslations = function (state) {
9742
10053
  var _a, _b;
9743
10054
  var defaultStaticTranslations = getTranslations(state.booking.languageCode);
9744
- var dynamicTranslations = (_b = (state.booking.translations && ((_a = state.booking.translations.find(function (x) { return x.language == state.booking.languageCode; })) === null || _a === void 0 ? void 0 : _a.value))) !== null && _b !== void 0 ? _b : {};
10055
+ var dynamicTranslations = (_b = (state.booking.translations &&
10056
+ ((_a = state.booking.translations.find(function (x) { return x.language == state.booking.languageCode; })) === null || _a === void 0 ? void 0 : _a.value))) !== null && _b !== void 0 ? _b : {};
9745
10057
  var merged = {};
9746
10058
  for (var _i = 0, _c = Array.from(new Set(__spreadArray(__spreadArray([], Object.keys(defaultStaticTranslations), true), Object.keys(dynamicTranslations), true))); _i < _c.length; _i++) {
9747
10059
  var key = _c[_i];
@@ -9784,15 +10096,19 @@ var selectAccommodationCodes = function (state) {
9784
10096
  var _a;
9785
10097
  var accommodationCodes = [];
9786
10098
  (_a = state.booking.package) === null || _a === void 0 ? void 0 : _a.options.forEach(function (o) {
9787
- o.rooms.forEach(function (r) { return r.options.forEach(function (ro) {
9788
- if (!accommodationCodes.some(function (y) { return y === ro.accommodationCode; })) {
9789
- accommodationCodes.push(ro.accommodationCode);
9790
- }
9791
- }); });
10099
+ o.rooms.forEach(function (r) {
10100
+ return r.options.forEach(function (ro) {
10101
+ if (!accommodationCodes.some(function (y) { return y === ro.accommodationCode; })) {
10102
+ accommodationCodes.push(ro.accommodationCode);
10103
+ }
10104
+ });
10105
+ });
9792
10106
  });
9793
10107
  return accommodationCodes;
9794
10108
  };
9795
- var selectAccommodationViews = function (state) { return state.booking.accommodationViews; };
10109
+ var selectAccommodationViews = function (state) {
10110
+ return state.booking.accommodationViews;
10111
+ };
9796
10112
  var selectBookingQuery = function (state) {
9797
10113
  var bookingAttributes = state.booking.bookingAttributes;
9798
10114
  if (!bookingAttributes) {
@@ -10037,7 +10353,7 @@ var fetchAgents = createAsyncThunk("booking/agents", function (_, _a) {
10037
10353
  var fetchPackageDetails = createAsyncThunk("booking/details", function (_, _a) {
10038
10354
  _a.dispatch; var getState = _a.getState, signal = _a.signal;
10039
10355
  return __awaiter$1(void 0, void 0, void 0, function () {
10040
- var state, officeId, productAttributes, bookingAttributes, agentId, rooms, languageCode, requestRooms, isAllotment, request;
10356
+ var state, officeId, productAttributes, bookingAttributes, agentId, rooms, languageCode, requestRooms, isAllotment, searchType, outwardFlight, returnFlight, request;
10041
10357
  var _b;
10042
10358
  return __generator$1(this, function (_c) {
10043
10359
  switch (_c.label) {
@@ -10075,11 +10391,29 @@ var fetchPackageDetails = createAsyncThunk("booking/details", function (_, _a) {
10075
10391
  isAllotment = bookingAttributes.tourCode ||
10076
10392
  bookingAttributes.allotmentName ||
10077
10393
  (bookingAttributes.allotmentIds && bookingAttributes.allotmentIds.length);
10394
+ searchType = isAllotment
10395
+ ? 1 // ALLOTMENT
10396
+ : 0;
10397
+ if (bookingAttributes.flightRouteId && bookingAttributes.flight) {
10398
+ searchType = 3; // FLIGHT;
10399
+ outwardFlight = {
10400
+ flightCode: bookingAttributes.flight.outwardCode,
10401
+ startDateTime: bookingAttributes.flight.outwardDepartureDate,
10402
+ endDateTime: bookingAttributes.flight.outwardArrivalDate,
10403
+ };
10404
+ if (bookingAttributes.flight.returnCode) {
10405
+ returnFlight = {
10406
+ flightCode: bookingAttributes.flight.returnCode,
10407
+ startDateTime: bookingAttributes.flight.returnDepartureDate,
10408
+ endDateTime: bookingAttributes.flight.returnArrivalDate,
10409
+ };
10410
+ }
10411
+ }
10078
10412
  request = {
10079
10413
  officeId: officeId,
10080
10414
  agentId: agentId,
10081
10415
  payload: {
10082
- searchType: isAllotment ? 1 : 0,
10416
+ searchType: searchType,
10083
10417
  catalogueId: bookingAttributes.catalog,
10084
10418
  productCode: productAttributes.productCode,
10085
10419
  fromDate: bookingAttributes.startDate,
@@ -10089,6 +10423,9 @@ var fetchPackageDetails = createAsyncThunk("booking/details", function (_, _a) {
10089
10423
  allotmentIds: (_b = bookingAttributes.allotmentIds) !== null && _b !== void 0 ? _b : [],
10090
10424
  tourCode: bookingAttributes.tourCode,
10091
10425
  rooms: requestRooms,
10426
+ routeId: bookingAttributes.flightRouteId,
10427
+ outwardFlight: outwardFlight,
10428
+ returnFlight: returnFlight,
10092
10429
  },
10093
10430
  };
10094
10431
  return [4 /*yield*/, packageApi.fetchDetails(request, signal, languageCode, state.apiSettings)];
@@ -10111,13 +10448,13 @@ var fetchAccommodationViews = createAsyncThunk("booking/accommodationViews", fun
10111
10448
  accommodationCodes = selectAccommodationCodes(state);
10112
10449
  productCode = selectProductCode(state);
10113
10450
  if (!productCode) {
10114
- throw Error('No product selected');
10451
+ throw Error("No product selected");
10115
10452
  }
10116
10453
  request = {
10117
10454
  languageCode: languageCode,
10118
10455
  productCode: productCode,
10119
10456
  accommodationCodes: accommodationCodes,
10120
- contentViewId: state.booking.accommodationViewId
10457
+ contentViewId: state.booking.accommodationViewId,
10121
10458
  };
10122
10459
  return [4 /*yield*/, packageApi.fetchAccommodationViews(request, signal, state.apiSettings)];
10123
10460
  case 1: return [2 /*return*/, _b.sent()];
@@ -10168,24 +10505,31 @@ var changeReturnFlight = function (state, flight) {
10168
10505
  var changePackageOption = function (state) {
10169
10506
  var selectedOutward = state.outwardFlights.find(function (x) { return x.isSelected; });
10170
10507
  var selectedReturn = state.returnFlights.find(function (x) { return x.isSelected; });
10171
- var validOptions = selectedOutward.validOptions.filter(function (x) { return selectedReturn.validOptions.some(function (y) { return x === y; }); });
10508
+ var validOptions = selectedOutward.validOptions.filter(function (x) {
10509
+ return selectedReturn.validOptions.some(function (y) { return x === y; });
10510
+ });
10172
10511
  var currentOption = state.options.find(function (x) { return x.isSelected; });
10173
10512
  if (validOptions.some(function (x) { return x === currentOption.id; }))
10174
10513
  return;
10175
- var firstOption = state.options.find(function (x) { return validOptions.some(function (y) { return y === x.id; }); });
10514
+ var firstOption = state.options.find(function (x) {
10515
+ return validOptions.some(function (y) { return y === x.id; });
10516
+ });
10176
10517
  currentOption.isSelected = false;
10177
10518
  firstOption.isSelected = true;
10178
10519
  var currentRooms = currentOption.rooms.map(function (r) {
10179
10520
  var selectedOption = r.options.find(function (o) { return o.isSelected; });
10180
10521
  return {
10181
10522
  accommodation: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.accommodationCode,
10182
- regime: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.regimeCode
10523
+ regime: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.regimeCode,
10183
10524
  };
10184
10525
  });
10185
10526
  firstOption.rooms.forEach(function (r, i) {
10186
10527
  var currentRoom = currentRooms[i];
10187
10528
  var selectedOption = r.options.find(function (o) { return o.isSelected; });
10188
- var selection = r.options.find(function (x) { return x.accommodationCode === currentRoom.accommodation && x.regimeCode === currentRoom.regime; });
10529
+ var selection = r.options.find(function (x) {
10530
+ return x.accommodationCode === currentRoom.accommodation &&
10531
+ x.regimeCode === currentRoom.regime;
10532
+ });
10189
10533
  if (selection) {
10190
10534
  if (selection.entryLineGuid !== (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.entryLineGuid)) {
10191
10535
  if (selectedOption)
@@ -10315,7 +10659,7 @@ var bookingSlice = createSlice({
10315
10659
  },
10316
10660
  setAccommodationViewId: function (state, action) {
10317
10661
  state.accommodationViewId = action.payload;
10318
- }
10662
+ },
10319
10663
  },
10320
10664
  extraReducers: function (builder) {
10321
10665
  builder.addCase(fetchPackageDetails.fulfilled, function (state, action) {
@@ -10404,7 +10748,10 @@ var bookingSlice = createSlice({
10404
10748
  }
10405
10749
  // Fallback to an option that has the requested accommodation OR regime if the requested option is not available. If no fallback is available, select the first option.
10406
10750
  if (!activeOption_1.rooms[i].options.some(function (x) { return x.isSelected; })) {
10407
- var fallbackOption = activeOption_1.rooms[i].options.find(function (x) { return x.accommodationCode == room.accommodationCode || x.regimeCode == room.regimeCode; });
10751
+ var fallbackOption = activeOption_1.rooms[i].options.find(function (x) {
10752
+ return x.accommodationCode == room.accommodationCode ||
10753
+ x.regimeCode == room.regimeCode;
10754
+ });
10408
10755
  if (fallbackOption) {
10409
10756
  fallbackOption.isSelected = true;
10410
10757
  }
@@ -10434,6 +10781,7 @@ var bookingReducer = bookingSlice.reducer;
10434
10781
 
10435
10782
  var SettingsContext = React.createContext({
10436
10783
  language: "nl-BE",
10784
+ token: "",
10437
10785
  generatePaymentUrl: false,
10438
10786
  currency: "EUR",
10439
10787
  officeId: 1,
@@ -10445,22 +10793,28 @@ var SettingsContext = React.createContext({
10445
10793
  basePath: "/boeken",
10446
10794
  roomOptions: {
10447
10795
  pathSuffix: "/",
10796
+ reportPrintActionId: null,
10448
10797
  },
10449
10798
  flightOptions: {
10450
10799
  pathSuffix: "/vluchten",
10800
+ reportPrintActionId: null,
10451
10801
  },
10452
10802
  options: {
10453
10803
  pathSuffix: "/opties",
10804
+ reportPrintActionId: null,
10454
10805
  },
10455
10806
  travellers: {
10456
10807
  pathSuffix: "/reizigers",
10808
+ reportPrintActionId: null,
10457
10809
  },
10458
10810
  summary: {
10459
10811
  pathSuffix: "/samenvatting",
10460
10812
  checkboxes: null,
10813
+ reportPrintActionId: null,
10461
10814
  },
10462
10815
  confirmation: {
10463
10816
  pathSuffix: "/bevestiging",
10817
+ reportPrintActionId: null,
10464
10818
  },
10465
10819
  error: {
10466
10820
  pathSuffix: "/mislukt",
@@ -10612,6 +10966,13 @@ var Icon = function (_a) {
10612
10966
  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." }),
10613
10967
  title && React.createElement("title", null, title),
10614
10968
  React.createElement("path", { d: "M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48L48 64zM0 176L0 384c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-208L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z" })));
10969
+ case "ui-trashcan":
10970
+ return (React.createElement("svg", { className: ["icon", "icon--".concat(name), className]
10971
+ .filter(function (className) { return !isEmpty(className); })
10972
+ .join(" "), width: width, height: height, viewBox: "0 0 448 512" },
10973
+ 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." }),
10974
+ title && React.createElement("title", null, title),
10975
+ React.createElement("path", { d: "M135.2 17.7L128 32 32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0-7.2-14.3C307.4 6.8 296.3 0 284.2 0L163.8 0c-12.1 0-23.2 6.8-28.6 17.7zM416 128L32 128 53.2 467c1.6 25.3 22.6 45 47.9 45l245.8 0c25.3 0 46.3-19.7 47.9-45L416 128z" })));
10615
10976
  case "ui-home":
10616
10977
  case "ui-filter":
10617
10978
  return (React.createElement("svg", { className: ["icon", "icon--".concat(name), className]
@@ -10761,7 +11122,7 @@ var Confirmation = function () {
10761
11122
  var titleText = settings.isOffer
10762
11123
  ? format(translations.CONFIRMATION.TITLE_TEXT_OFFER, [bookingNumber])
10763
11124
  : format(translations.CONFIRMATION.TITLE_TEXT_BOOKING, [bookingNumber]);
10764
- return (React.createElement("div", { className: "form", id: "booking--confirmation" },
11125
+ return (React.createElement("div", { className: "form form__booking--message", id: "booking--confirmation" },
10765
11126
  React.createElement("div", { className: "form__region" },
10766
11127
  React.createElement("div", { className: "form__row" },
10767
11128
  React.createElement("div", { className: "form__group" },
@@ -10775,7 +11136,9 @@ var Confirmation = function () {
10775
11136
  React.createElement("p", null,
10776
11137
  translations.CONFIRMATION.MESSAGE_TEXT1,
10777
11138
  React.createElement("br", null),
10778
- settings.isOffer ? translations.CONFIRMATION.MESSAGE_TEXT2_OFFER : translations.CONFIRMATION.MESSAGE_TEXT2_BOOKING),
11139
+ settings.isOffer
11140
+ ? translations.CONFIRMATION.MESSAGE_TEXT2_OFFER
11141
+ : translations.CONFIRMATION.MESSAGE_TEXT2_BOOKING),
10779
11142
  React.createElement("p", null,
10780
11143
  translations.CONFIRMATION.QUESTIONS_TEXT1,
10781
11144
  " ",
@@ -10799,7 +11162,7 @@ var Error$1 = function () {
10799
11162
  }
10800
11163
  };
10801
11164
  var translations = useSelector(selectTranslations);
10802
- return (React.createElement("div", { className: "form" },
11165
+ return (React.createElement("div", { className: "form form__booking--message" },
10803
11166
  React.createElement("div", { className: "form__region" },
10804
11167
  React.createElement("div", { className: "form__row" },
10805
11168
  React.createElement("div", { className: "form__group" },
@@ -10858,11 +11221,11 @@ var MultiRangeFilter = function (_a) {
10858
11221
  React.createElement("div", { className: "min-box" }, valueFormatter(min)),
10859
11222
  React.createElement("div", { className: "max-box" }, valueFormatter(max))),
10860
11223
  React.createElement("div", { className: "range-slider" },
10861
- React.createElement("div", { className: "slider-track", style: { 'left': leftPercentage + '%', right: rightPercentage + '%' } }),
11224
+ React.createElement("div", { className: "slider-track", style: { left: leftPercentage + "%", right: rightPercentage + "%" } }),
10862
11225
  React.createElement("input", { type: "range", min: min, max: max, value: minVal, onChange: slideMin, onMouseDown: startDrag, onMouseUp: stopDrag, onTouchStart: startDrag, onTouchEnd: stopDrag, className: "min-val" }),
10863
11226
  React.createElement("input", { type: "range", min: min, max: max, value: maxVal, onChange: slideMax, onMouseDown: startDrag, onMouseUp: stopDrag, onTouchStart: startDrag, onTouchEnd: stopDrag, className: "max-val" }),
10864
- isDragging && React.createElement("div", { className: "min-tooltip" }, valueFormatter(minVal)),
10865
- isDragging && React.createElement("div", { className: "max-tooltip" }, valueFormatter(maxVal)))));
11227
+ isDragging && (React.createElement("div", { className: "min-tooltip" }, valueFormatter(minVal))),
11228
+ isDragging && (React.createElement("div", { className: "max-tooltip" }, valueFormatter(maxVal))))));
10866
11229
  };
10867
11230
 
10868
11231
  /*interface FlightGroup {
@@ -10885,7 +11248,9 @@ var buildGroupedFlights = function (outwardFlights, returnFlights) {
10885
11248
  else {
10886
11249
  var outwardCode = outwardFlight.code.substring(0, 7);
10887
11250
  var returnCode_1 = outwardCode.split(" ").reduce(function (a, b) { return "".concat(b, " ").concat(a); });
10888
- returnFlights.filter(function (x) { return x.code.startsWith(returnCode_1); }).forEach(function (returnFlight) {
11251
+ returnFlights
11252
+ .filter(function (x) { return x.code.startsWith(returnCode_1); })
11253
+ .forEach(function (returnFlight) {
10889
11254
  pairs.push({ outward: outwardFlight, return: returnFlight });
10890
11255
  });
10891
11256
  }
@@ -10899,7 +11264,7 @@ var buildGroupedFlights = function (outwardFlights, returnFlights) {
10899
11264
  outward: outwardFlightDetails,
10900
11265
  return: returnFlightDetails,
10901
11266
  selectedOutward: x.outward,
10902
- selectedReturn: x.return
11267
+ selectedReturn: x.return,
10903
11268
  };
10904
11269
  });
10905
11270
  return results;
@@ -10918,7 +11283,7 @@ var buildFilterOptions = function (outwardFlights, returnFlights, translations)
10918
11283
  var highestDepartureChangeDuration = 0;
10919
11284
  outwardFlights.forEach(function (flight) {
10920
11285
  var _a;
10921
- var airlineCode = flight.code.split('/')[1];
11286
+ var airlineCode = flight.code.split("/")[1];
10922
11287
  if ((_a = flight.flightMetaData.flightLines) === null || _a === void 0 ? void 0 : _a.length) {
10923
11288
  var firstLine_1 = flight.flightMetaData.flightLines[0];
10924
11289
  if (!airports.some(function (x) { return x.value === firstLine_1.departureAirport; })) {
@@ -10926,7 +11291,7 @@ var buildFilterOptions = function (outwardFlights, returnFlights, translations)
10926
11291
  value: firstLine_1 === null || firstLine_1 === void 0 ? void 0 : firstLine_1.departureAirport,
10927
11292
  label: firstLine_1.departureAirportDescription,
10928
11293
  count: 0,
10929
- isSelected: false
11294
+ isSelected: false,
10930
11295
  });
10931
11296
  }
10932
11297
  }
@@ -10935,20 +11300,20 @@ var buildFilterOptions = function (outwardFlights, returnFlights, translations)
10935
11300
  value: airlineCode,
10936
11301
  label: flight.airlineDescription,
10937
11302
  count: 0,
10938
- isSelected: false
11303
+ isSelected: false,
10939
11304
  });
10940
11305
  }
10941
11306
  var stopCount = flight.flightMetaData.flightLines.length - 1;
10942
- if (!numberOfStops.some(function (x) { return x.value === (stopCount + ''); })) {
11307
+ if (!numberOfStops.some(function (x) { return x.value === stopCount + ""; })) {
10943
11308
  numberOfStops.push({
10944
- value: (stopCount + ''),
11309
+ value: stopCount + "",
10945
11310
  label: stopCount === 0
10946
11311
  ? translations.FLIGHTS_FORM.DIRECT_FLIGHT
10947
11312
  : stopCount == 1
10948
11313
  ? "".concat(stopCount, " ").concat(translations.FLIGHTS_FORM.STOP)
10949
11314
  : "".concat(stopCount, " ").concat(translations.FLIGHTS_FORM.STOPS),
10950
11315
  count: 0,
10951
- isSelected: false
11316
+ isSelected: false,
10952
11317
  });
10953
11318
  }
10954
11319
  var departureTime = flight.flightMetaData.flightLines[0].departureTime;
@@ -10958,7 +11323,7 @@ var buildFilterOptions = function (outwardFlights, returnFlights, translations)
10958
11323
  value: timeBracket,
10959
11324
  label: getBracketTranslation(timeBracket, translations),
10960
11325
  count: 0,
10961
- isSelected: false
11326
+ isSelected: false,
10962
11327
  });
10963
11328
  }
10964
11329
  var travelDurationInMinutes = minutesFromTicks(flight.flightMetaData.durationInTicks);
@@ -10994,7 +11359,7 @@ var buildFilterOptions = function (outwardFlights, returnFlights, translations)
10994
11359
  value: timeBracket,
10995
11360
  label: getBracketTranslation(timeBracket, translations),
10996
11361
  count: 0,
10997
- isSelected: false
11362
+ isSelected: false,
10998
11363
  });
10999
11364
  }
11000
11365
  });
@@ -11008,14 +11373,14 @@ var buildFilterOptions = function (outwardFlights, returnFlights, translations)
11008
11373
  min: lowestDepartureTravelDuration,
11009
11374
  max: highestDepartureTravelDuration,
11010
11375
  selectedMin: lowestDepartureTravelDuration,
11011
- selectedMax: highestDepartureTravelDuration
11376
+ selectedMax: highestDepartureTravelDuration,
11012
11377
  },
11013
11378
  changeDuration: {
11014
11379
  min: lowestDepartureChangeDuration,
11015
11380
  max: highestDepartureChangeDuration,
11016
11381
  selectedMin: lowestDepartureChangeDuration,
11017
- selectedMax: highestDepartureChangeDuration
11018
- }
11382
+ selectedMax: highestDepartureChangeDuration,
11383
+ },
11019
11384
  },
11020
11385
  return: {
11021
11386
  departurePeriod: returnDeparturePeriods,
@@ -11023,15 +11388,15 @@ var buildFilterOptions = function (outwardFlights, returnFlights, translations)
11023
11388
  min: lowestReturnTravelDuration,
11024
11389
  max: highestReturnTravelDuration,
11025
11390
  selectedMin: lowestReturnTravelDuration,
11026
- selectedMax: highestReturnTravelDuration
11391
+ selectedMax: highestReturnTravelDuration,
11027
11392
  },
11028
11393
  changeDuration: {
11029
11394
  min: lowestReturnChangeDuration,
11030
11395
  max: highestReturnChangeDuration,
11031
11396
  selectedMin: lowestReturnChangeDuration,
11032
- selectedMax: highestReturnChangeDuration
11033
- }
11034
- }
11397
+ selectedMax: highestReturnChangeDuration,
11398
+ },
11399
+ },
11035
11400
  };
11036
11401
  };
11037
11402
  var filterGroupedFlights = function (groups, filterOptions) {
@@ -11040,15 +11405,21 @@ var filterGroupedFlights = function (groups, filterOptions) {
11040
11405
  var filteredGroups = groups;
11041
11406
  if (filterOptions.airlines.some(function (x) { return x.isSelected; })) {
11042
11407
  var selectedAirlineCodes_1 = filterOptions.airlines.filter(function (x) { return x.isSelected; });
11043
- filteredGroups = filteredGroups.filter(function (x) { return selectedAirlineCodes_1.some(function (y) { return y.value === x.outward.airlineCode; }); });
11408
+ filteredGroups = filteredGroups.filter(function (x) {
11409
+ return selectedAirlineCodes_1.some(function (y) { return y.value === x.outward.airlineCode; });
11410
+ });
11044
11411
  }
11045
11412
  if (filterOptions.airports.some(function (x) { return x.isSelected; })) {
11046
11413
  var selectedAirlineCodes_2 = filterOptions.airports.filter(function (x) { return x.isSelected; });
11047
- filteredGroups = filteredGroups.filter(function (x) { return selectedAirlineCodes_2.some(function (y) { return y.value === x.outward.departureAirportCode; }); });
11414
+ filteredGroups = filteredGroups.filter(function (x) {
11415
+ return selectedAirlineCodes_2.some(function (y) { return y.value === x.outward.departureAirportCode; });
11416
+ });
11048
11417
  }
11049
11418
  if (filterOptions.numberOfStops.some(function (x) { return x.isSelected; })) {
11050
11419
  var selectedNumberOfStops_1 = filterOptions.numberOfStops.filter(function (x) { return x.isSelected; });
11051
- filteredGroups = filteredGroups.filter(function (x) { return selectedNumberOfStops_1.some(function (y) { return parseInt(y.value) === (x.outward.flightLines.length - 1); }); });
11420
+ filteredGroups = filteredGroups.filter(function (x) {
11421
+ return selectedNumberOfStops_1.some(function (y) { return parseInt(y.value) === x.outward.flightLines.length - 1; });
11422
+ });
11052
11423
  }
11053
11424
  filteredGroups = filterGroupedFlightByDirection(filteredGroups, true, filterOptions.outward);
11054
11425
  filteredGroups = filterGroupedFlightByDirection(filteredGroups, false, filterOptions.return);
@@ -11058,10 +11429,25 @@ var filterGroupedFlightByDirection = function (groups, isOutward, directionFilte
11058
11429
  var filteredGroups = groups;
11059
11430
  if (directionFilter.departurePeriod.some(function (x) { return x.isSelected; })) {
11060
11431
  var selectedDeparturePeriods_1 = directionFilter.departurePeriod.filter(function (x) { return x.isSelected; });
11061
- filteredGroups = filteredGroups.filter(function (x) { return selectedDeparturePeriods_1.some(function (y) { return y.value === determineTimeBracket((isOutward ? x.outward : x.return).departureTime); }); });
11432
+ filteredGroups = filteredGroups.filter(function (x) {
11433
+ return selectedDeparturePeriods_1.some(function (y) {
11434
+ return y.value ===
11435
+ determineTimeBracket((isOutward ? x.outward : x.return).departureTime);
11436
+ });
11437
+ });
11062
11438
  }
11063
- filteredGroups = filteredGroups.filter(function (x) { return directionFilter.travelDuration.selectedMin <= (isOutward ? x.outward : x.return).travelDurationMinutes && (isOutward ? x.outward : x.return).travelDurationMinutes <= directionFilter.travelDuration.selectedMax; });
11064
- return filteredGroups.filter(function (x) { return directionFilter.changeDuration.selectedMin <= (isOutward ? x.outward : x.return).changeDurationMinutes && (isOutward ? x.outward : x.return).changeDurationMinutes <= directionFilter.changeDuration.selectedMax; });
11439
+ filteredGroups = filteredGroups.filter(function (x) {
11440
+ return directionFilter.travelDuration.selectedMin <=
11441
+ (isOutward ? x.outward : x.return).travelDurationMinutes &&
11442
+ (isOutward ? x.outward : x.return).travelDurationMinutes <=
11443
+ directionFilter.travelDuration.selectedMax;
11444
+ });
11445
+ return filteredGroups.filter(function (x) {
11446
+ return directionFilter.changeDuration.selectedMin <=
11447
+ (isOutward ? x.outward : x.return).changeDurationMinutes &&
11448
+ (isOutward ? x.outward : x.return).changeDurationMinutes <=
11449
+ directionFilter.changeDuration.selectedMax;
11450
+ });
11065
11451
  };
11066
11452
  var formatMinutes = function (minutes) {
11067
11453
  var hh = Math.floor(minutes / 60);
@@ -11071,7 +11457,7 @@ var formatMinutes = function (minutes) {
11071
11457
  var getFlightDetails = function (flight) {
11072
11458
  var firstLine = flight.flightMetaData.flightLines[0];
11073
11459
  var lastLine = flight.flightMetaData.flightLines[flight.flightMetaData.flightLines.length - 1];
11074
- var airlineCode = flight.code.split('/')[1];
11460
+ var airlineCode = flight.code.split("/")[1];
11075
11461
  var waitDurations = getWaitDurations(flight.flightMetaData.flightLines);
11076
11462
  return {
11077
11463
  airline: flight.airlineDescription,
@@ -11100,7 +11486,7 @@ var getFlightDetails = function (flight) {
11100
11486
  number: "".concat(x.airlineCode, " ").concat(x.number),
11101
11487
  travelDuration: formatDuration(x.durationInTicks),
11102
11488
  waitDuration: waitDurations.length - 1 <= i ? waitDurations[i] : undefined,
11103
- }); })
11489
+ }); }),
11104
11490
  };
11105
11491
  };
11106
11492
  var isNextDay = function (startDateString, endDateString) {
@@ -11131,11 +11517,11 @@ var getWaitDuration = function (arrivalDateString, arrivalTime, departureDateStr
11131
11517
  };
11132
11518
  var getWaitDurationInMinutes = function (arrivalDateString, arrivalTime, departureDateString, departureTime) {
11133
11519
  var arrivalDate = parseISO(arrivalDateString);
11134
- var arrivalTimeParts = arrivalTime.split(':');
11520
+ var arrivalTimeParts = arrivalTime.split(":");
11135
11521
  arrivalDate.setHours(parseInt(arrivalTimeParts[0]));
11136
11522
  arrivalDate.setMinutes(parseInt(arrivalTimeParts[1]));
11137
11523
  var departureDate = parseISO(departureDateString);
11138
- var departureTimeParts = departureTime.split(':');
11524
+ var departureTimeParts = departureTime.split(":");
11139
11525
  departureDate.setHours(parseInt(departureTimeParts[0]));
11140
11526
  departureDate.setMinutes(parseInt(departureTimeParts[1]));
11141
11527
  return differenceInMinutes(departureDate, arrivalDate);
@@ -11176,32 +11562,32 @@ var minutesFromTicks = function (ticks) {
11176
11562
  };
11177
11563
  var formatDuration = function (ticks) {
11178
11564
  if (!ticks)
11179
- return '';
11565
+ return "";
11180
11566
  var totalSeconds = ticks / 10000000;
11181
11567
  var hh = Math.floor(totalSeconds / 3600);
11182
11568
  var mm = Math.floor((totalSeconds % 3600) / 60);
11183
11569
  return pad(hh, 2) + ":" + pad(mm, 2);
11184
11570
  };
11185
11571
  var pad = function (input, width) {
11186
- var n = input + '';
11187
- return n.length >= width ? n : new Array(width - n.length + 1).join('0') + n;
11572
+ var n = input + "";
11573
+ return n.length >= width ? n : new Array(width - n.length + 1).join("0") + n;
11188
11574
  };
11189
11575
  var determineTimeBracket = function (input) {
11190
- var time = parseInt(input.replace(':', ''));
11576
+ var time = parseInt(input.replace(":", ""));
11191
11577
  if (time <= 500)
11192
- return '0000-0500';
11578
+ return "0000-0500";
11193
11579
  if (time > 500 && time <= 1200)
11194
- return '0500-1200';
11580
+ return "0500-1200";
11195
11581
  if (time > 1200 && time <= 1800)
11196
- return '1201-1800';
11197
- return '1800-2400';
11582
+ return "1201-1800";
11583
+ return "1800-2400";
11198
11584
  };
11199
11585
  var getBracketTranslation = function (input, translations) {
11200
- if (input === '0000-0500')
11586
+ if (input === "0000-0500")
11201
11587
  return translations.FLIGHTS_FORM.NIGHT_DEPARTURE;
11202
- if (input === '0500-1200')
11588
+ if (input === "0500-1200")
11203
11589
  return translations.FLIGHTS_FORM.MORNING_DEPARTURE;
11204
- if (input === '1200-1800')
11590
+ if (input === "1200-1800")
11205
11591
  return translations.FLIGHTS_FORM.AFTERNOON_DEPARTURE;
11206
11592
  return translations.FLIGHTS_FORM.EVENING_DEPARTURE;
11207
11593
  };
@@ -11226,7 +11612,8 @@ var FlightFilter = function (_a) {
11226
11612
  var filterRef = useRef(null);
11227
11613
  useEffect(function () {
11228
11614
  function handleClickOutside(event) {
11229
- if (filterRef.current && !filterRef.current.contains(event.target)) {
11615
+ if (filterRef.current &&
11616
+ !filterRef.current.contains(event.target)) {
11230
11617
  setFiltersVisible(false);
11231
11618
  }
11232
11619
  }
@@ -11294,9 +11681,11 @@ var FlightFilter = function (_a) {
11294
11681
  return (React.createElement(React.Fragment, null,
11295
11682
  React.createElement("button", { type: "button", className: "cta cta--filter", onClick: function () { return setFiltersVisible(!filtersVisible); } },
11296
11683
  React.createElement(Icon, { name: "ui-filter", width: 11, height: 10 }),
11297
- React.createElement("span", null, translations.FLIGHTS_FORM.FILTER_OPTIONS),
11298
- filtersVisible),
11299
- React.createElement("div", { ref: filterRef, className: buildClassName(["flight__filter", filtersVisible && "flight__filter--active"]) },
11684
+ React.createElement("span", null, translations.FLIGHTS_FORM.FILTER_OPTIONS)),
11685
+ React.createElement("div", { ref: filterRef, className: buildClassName([
11686
+ "flight__filter",
11687
+ filtersVisible && "flight__filter--active",
11688
+ ]) },
11300
11689
  React.createElement("div", { className: "flight__filter__header" },
11301
11690
  React.createElement("div", { className: "flight__filter__header__title" },
11302
11691
  React.createElement("h3", null, translations.FLIGHTS_FORM.FILTER_OPTIONS),
@@ -11308,14 +11697,16 @@ var FlightFilter = function (_a) {
11308
11697
  " ",
11309
11698
  translations.FLIGHTS_FORM.FLIGHTS_FOUND_2),
11310
11699
  " ",
11311
- translations.FLIGHTS_FORM.FLIGHTS_FOUND_3))),
11700
+ translations.FLIGHTS_FORM.FLIGHTS_FOUND_3)),
11701
+ React.createElement("button", { type: "button", className: "cta cta--close", onClick: function () { return setFiltersVisible(false); } },
11702
+ React.createElement(Icon, { name: "ui-close", width: 25, height: 25 }))),
11312
11703
  React.createElement("div", { className: "flight__filter__body" },
11313
11704
  React.createElement("div", { className: "flight__filter__group" },
11314
11705
  React.createElement("div", { className: "flight__filter__group__title" }, translations.FLIGHTS_FORM.AIRLINES),
11315
11706
  React.createElement("div", { className: "flight__filter__group__wrapper" }, filterOptions.airlines.map(function (option, k) { return (React.createElement("div", { className: "tree", key: k },
11316
11707
  React.createElement("div", { className: "checkbox flight__filter__checkbox" },
11317
- React.createElement("label", { htmlFor: 'airline_' + option.value, className: "checkbox__label" },
11318
- React.createElement("input", { type: "checkbox", id: 'airline_' + option.value, className: "checkbox__input checkbox__input--parent", onClick: function () { return updateAirlineFilter(option.value); } }),
11708
+ React.createElement("label", { htmlFor: "airline_" + option.value, className: "checkbox__label" },
11709
+ React.createElement("input", { type: "checkbox", id: "airline_" + option.value, className: "checkbox__input checkbox__input--parent", onClick: function () { return updateAirlineFilter(option.value); } }),
11319
11710
  React.createElement("span", { className: "radiobutton__label-text" },
11320
11711
  option.label,
11321
11712
  " ",
@@ -11327,8 +11718,8 @@ var FlightFilter = function (_a) {
11327
11718
  React.createElement("div", { className: "flight__filter__group__title" }, translations.FLIGHTS_FORM.AIRPORTS),
11328
11719
  React.createElement("div", { className: "flight__filter__group__wrapper" }, filterOptions.airports.map(function (option, k) { return (React.createElement("div", { className: "tree", key: k },
11329
11720
  React.createElement("div", { className: "checkbox flight__filter__checkbox" },
11330
- React.createElement("label", { htmlFor: 'airport_' + option.value, className: "checkbox__label" },
11331
- React.createElement("input", { type: "checkbox", id: 'airport_' + option.value, className: "checkbox__input checkbox__input--parent", onClick: function () { return updateAirportFilter(option.value); } }),
11721
+ React.createElement("label", { htmlFor: "airport_" + option.value, className: "checkbox__label" },
11722
+ React.createElement("input", { type: "checkbox", id: "airport_" + option.value, className: "checkbox__input checkbox__input--parent", onClick: function () { return updateAirportFilter(option.value); } }),
11332
11723
  React.createElement("span", { className: "radiobutton__label-text" },
11333
11724
  option.label,
11334
11725
  " ",
@@ -11340,8 +11731,8 @@ var FlightFilter = function (_a) {
11340
11731
  React.createElement("div", { className: "flight__filter__group__title" }, translations.FLIGHTS_FORM.NUMBER_OF_STOPS),
11341
11732
  React.createElement("div", { className: "flight__filter__group__wrapper" }, filterOptions.numberOfStops.map(function (option, k) { return (React.createElement("div", { className: "tree", key: k },
11342
11733
  React.createElement("div", { className: "checkbox flight__filter__checkbox" },
11343
- React.createElement("label", { htmlFor: 'stops_' + option.value, className: "checkbox__label" },
11344
- React.createElement("input", { type: "checkbox", id: 'stops_' + option.value, className: "checkbox__input checkbox__input--parent", onClick: function () { return updateStopsFilter(option.value); } }),
11734
+ React.createElement("label", { htmlFor: "stops_" + option.value, className: "checkbox__label" },
11735
+ React.createElement("input", { type: "checkbox", id: "stops_" + option.value, className: "checkbox__input checkbox__input--parent", onClick: function () { return updateStopsFilter(option.value); } }),
11345
11736
  React.createElement("span", { className: "radiobutton__label-text" },
11346
11737
  option.label,
11347
11738
  " ",
@@ -11355,8 +11746,8 @@ var FlightFilter = function (_a) {
11355
11746
  React.createElement("p", null, translations.FLIGHTS_FORM.DEPARTURE_TIME),
11356
11747
  filterOptions.outward.departurePeriod.map(function (option, k) { return (React.createElement("div", { className: "tree", key: k },
11357
11748
  React.createElement("div", { className: "checkbox flight__filter__checkbox" },
11358
- React.createElement("label", { htmlFor: 'outward_time_' + option.value, className: "checkbox__label" },
11359
- React.createElement("input", { type: "checkbox", id: 'outward_time_' + option.value, className: "checkbox__input checkbox__input--parent", onClick: function () { return updateOutwardDeparture(option.value); } }),
11749
+ React.createElement("label", { htmlFor: "outward_time_" + option.value, className: "checkbox__label" },
11750
+ React.createElement("input", { type: "checkbox", id: "outward_time_" + option.value, className: "checkbox__input checkbox__input--parent", onClick: function () { return updateOutwardDeparture(option.value); } }),
11360
11751
  React.createElement("span", { className: "radiobutton__label-text" },
11361
11752
  option.label,
11362
11753
  " ",
@@ -11376,8 +11767,8 @@ var FlightFilter = function (_a) {
11376
11767
  React.createElement("p", null, translations.FLIGHTS_FORM.DEPARTURE_TIME),
11377
11768
  filterOptions.return.departurePeriod.map(function (option, k) { return (React.createElement("div", { className: "tree", key: k },
11378
11769
  React.createElement("div", { className: "checkbox flight__filter__checkbox" },
11379
- React.createElement("label", { htmlFor: 'return_time_' + option.value, className: "checkbox__label" },
11380
- React.createElement("input", { type: "checkbox", id: 'return_time_' + option.value, className: "checkbox__input checkbox__input--parent", onClick: function () { return updateReturnDeparture(option.value); } }),
11770
+ React.createElement("label", { htmlFor: "return_time_" + option.value, className: "checkbox__label" },
11771
+ React.createElement("input", { type: "checkbox", id: "return_time_" + option.value, className: "checkbox__input checkbox__input--parent", onClick: function () { return updateReturnDeparture(option.value); } }),
11381
11772
  React.createElement("span", { className: "radiobutton__label-text" },
11382
11773
  option.label,
11383
11774
  " ",
@@ -11524,9 +11915,15 @@ var FlightOptionFlight = function (_a) {
11524
11915
  React.createElement("p", null, getDateText(details.arrivalDate)),
11525
11916
  details.isNextDay && (React.createElement("span", { className: "flight__info__times__days" }, translations.FLIGHTS_FORM.PLUS_ONE_DAY))))),
11526
11917
  React.createElement("div", { className: "flight__detail__btn__wrapper" },
11527
- React.createElement("div", { className: buildClassName(["flight__detail__btn", isDetailVisible && "flight__detail__btn--active"]), onClick: function () { return setIsDetailVisible(!isDetailVisible); } },
11918
+ React.createElement("div", { className: buildClassName([
11919
+ "flight__detail__btn",
11920
+ isDetailVisible && "flight__detail__btn--active",
11921
+ ]), onClick: function () { return setIsDetailVisible(!isDetailVisible); } },
11528
11922
  React.createElement(Icon, { name: "ui-chevron", className: "flight__detail__btn__arrow", width: 16, height: 16 })))),
11529
- React.createElement("div", { className: buildClassName(["flight__detail", isDetailVisible && "flight__detail--active"]) }, details.flightLines.map(function (flightLine, flightLineIndex) { return (React.createElement(React.Fragment, { key: flightLineIndex },
11923
+ React.createElement("div", { className: buildClassName([
11924
+ "flight__detail",
11925
+ isDetailVisible && "flight__detail--active",
11926
+ ]) }, details.flightLines.map(function (flightLine, flightLineIndex) { return (React.createElement(React.Fragment, { key: flightLineIndex },
11530
11927
  React.createElement("div", { className: "flight__info" },
11531
11928
  React.createElement("div", { className: "flight__info__times__wrapper" },
11532
11929
  React.createElement("div", { className: "flight__info__times" },
@@ -11556,16 +11953,17 @@ var FlightOptionFlight = function (_a) {
11556
11953
  React.createElement("span", null, translations.FLIGHTS_FORM.STOP_TIME),
11557
11954
  React.createElement("strong", null, flightLine.waitDuration))),
11558
11955
  React.createElement("div", { className: "flight__info__times flight__info__times--arrival" }))))); })),
11559
- React.createElement("div", { className: buildClassName(["flight__rate", isOptionsVisible && "flight__rate--active"]) })));
11956
+ React.createElement("div", { className: buildClassName([
11957
+ "flight__rate",
11958
+ isOptionsVisible && "flight__rate--active",
11959
+ ]) })));
11560
11960
  };
11561
11961
 
11562
11962
  var FlightOption = function (_a) {
11563
11963
  var item = _a.item, isSelected = _a.isSelected, currentPrice = _a.currentPrice, onChange = _a.onChange;
11564
11964
  var translations = useSelector(selectTranslations);
11565
11965
  var ownTotalPrice = item.selectedOutward.price + item.selectedReturn.price;
11566
- var priceDifference = item.isSelected
11567
- ? 0
11568
- : ownTotalPrice - currentPrice;
11966
+ var priceDifference = item.isSelected ? 0 : ownTotalPrice - currentPrice;
11569
11967
  var outwardVisible = useState(false)[0];
11570
11968
  var returnVisible = useState(false)[0];
11571
11969
  var handleButtonClick = function () {
@@ -11579,11 +11977,14 @@ var FlightOption = function (_a) {
11579
11977
  React.createElement("div", { className: "flight__flight__header" },
11580
11978
  React.createElement("div", { className: "flight__status__container" }),
11581
11979
  React.createElement("div", { className: "flight__price" },
11582
- !isSelected && (React.createElement("span", { className: buildClassName(["price",
11980
+ !isSelected && (React.createElement("span", { className: buildClassName([
11981
+ "price",
11583
11982
  priceDifference > 0 && "price--increase",
11584
- priceDifference < 0 && "price--decrease"
11983
+ priceDifference < 0 && "price--decrease",
11585
11984
  ]) }, getPriceDifferenceText(priceDifference))),
11586
- React.createElement("button", { type: "button", className: "cta ".concat(isSelected ? 'cta--selected' : 'cta--select'), onClick: handleButtonClick }, isSelected ? translations.SHARED.SELECTED : translations.SHARED.SELECT)))),
11985
+ React.createElement("button", { type: "button", className: "cta ".concat(isSelected ? "cta--selected" : "cta--select"), onClick: handleButtonClick }, isSelected
11986
+ ? translations.SHARED.SELECTED
11987
+ : translations.SHARED.SELECT)))),
11587
11988
  React.createElement(FlightOptionFlight, { details: item.outward, isOptionsVisible: outwardVisible }),
11588
11989
  React.createElement(FlightOptionFlight, { details: item.return, isOptionsVisible: returnVisible })))));
11589
11990
  };
@@ -11754,8 +12155,8 @@ var FlightOptionsForm = function () {
11754
12155
  }
11755
12156
  e.preventDefault();
11756
12157
  };
11757
- var currentFlightPrice = (((_b = (_a = flights.outward) === null || _a === void 0 ? void 0 : _a.find(function (x) { return x.isSelected; })) === null || _b === void 0 ? void 0 : _b.price) || 0)
11758
- + (((_d = (_c = flights.return) === null || _c === void 0 ? void 0 : _c.find(function (x) { return x.isSelected; })) === null || _d === void 0 ? void 0 : _d.price) || 0);
12158
+ var currentFlightPrice = (((_b = (_a = flights.outward) === null || _a === void 0 ? void 0 : _a.find(function (x) { return x.isSelected; })) === null || _b === void 0 ? void 0 : _b.price) || 0) +
12159
+ (((_d = (_c = flights.return) === null || _c === void 0 ? void 0 : _c.find(function (x) { return x.isSelected; })) === null || _d === void 0 ? void 0 : _d.price) || 0);
11759
12160
  useEffect(function () {
11760
12161
  var _a, _b;
11761
12162
  if (packageDetails && settings.roomOptions.isHidden) {
@@ -11791,18 +12192,20 @@ var FlightOptionsForm = function () {
11791
12192
  return (React.createElement(React.Fragment, null,
11792
12193
  React.createElement(FlightOptionModal, null),
11793
12194
  React.createElement("form", { className: "form", name: "booking--flights", id: "booking--flights", noValidate: true, onSubmit: handleSubmit },
11794
- isLoading && settings.loaderComponent,
11795
- !isLoading && (React.createElement("div", { className: "form__group" },
11796
- React.createElement("div", { className: "booking-card" },
11797
- React.createElement("div", { className: "booking-card__body" },
11798
- filterOptions && (React.createElement(FlightFilter, { filterOptions: filterOptions, resultCount: resultCount, applyFilter: setFilterOptions })),
11799
- React.createElement("div", { className: "booking-card__group" },
11800
- React.createElement("div", { className: "flight outward__flights" },
11801
- isEmpty(filteredGroups) && (React.createElement("p", null, translations.FLIGHTS_FORM.NO_FLIGHTS_FOUND)),
11802
- !isEmpty(filteredGroups) && filteredGroups.map(function (flight, index) { return (React.createElement(FlightOption, { key: index, item: flight, isSelected: flight.isSelected, currentPrice: currentFlightPrice, onChange: function (item) {
11803
- dispatch(setFlights(item));
11804
- dispatch(fetchPriceDetails());
11805
- } })); }))))))),
12195
+ React.createElement("div", { className: "form__booking--flight" },
12196
+ isLoading && settings.loaderComponent,
12197
+ !isLoading && (React.createElement("div", { className: "form__group" },
12198
+ React.createElement("div", { className: "booking-card" },
12199
+ React.createElement("div", { className: "booking-card__body" },
12200
+ filterOptions && (React.createElement(FlightFilter, { filterOptions: filterOptions, resultCount: resultCount, applyFilter: setFilterOptions })),
12201
+ React.createElement("div", { className: "booking-card__group" },
12202
+ React.createElement("div", { className: "flight outward__flights" },
12203
+ isEmpty(filteredGroups) && (React.createElement("p", null, translations.FLIGHTS_FORM.NO_FLIGHTS_FOUND)),
12204
+ !isEmpty(filteredGroups) &&
12205
+ filteredGroups.map(function (flight, index) { return (React.createElement(FlightOption, { key: index, item: flight, isSelected: flight.isSelected, currentPrice: currentFlightPrice, onChange: function (item) {
12206
+ dispatch(setFlights(item));
12207
+ dispatch(fetchPriceDetails());
12208
+ } })); })))))))),
11806
12209
  React.createElement("div", { className: "booking__navigator" },
11807
12210
  React.createElement("button", { type: "submit", title: translations.STEPS.NEXT, disabled: isLoading, className: buildClassName(["cta", isLoading && "cta--disabled"]) }, translations.STEPS.NEXT)))));
11808
12211
  };
@@ -11812,7 +12215,10 @@ var buildSelectableRooms = function (packageRooms, accommodations, regimes, acco
11812
12215
  var _a, _b;
11813
12216
  var selectedOption = x.options.find(function (x) { return x.isSelected; });
11814
12217
  var alternativeOptions = x.options
11815
- .filter(function (x) { return x.accommodationCode !== selectedOption.accommodationCode && !x.isLocked; })
12218
+ .filter(function (x) {
12219
+ return x.accommodationCode !== selectedOption.accommodationCode &&
12220
+ !x.isLocked;
12221
+ })
11816
12222
  .sort(function (a, b) { return a.price - b.price; });
11817
12223
  var alternativeAccommodations = [];
11818
12224
  alternativeOptions.forEach(function (x) {
@@ -11823,7 +12229,7 @@ var buildSelectableRooms = function (packageRooms, accommodations, regimes, acco
11823
12229
  alternativeAccommodation.regimes.push({
11824
12230
  code: x.regimeCode,
11825
12231
  title: (_a = regime === null || regime === void 0 ? void 0 : regime.title) !== null && _a !== void 0 ? _a : x.regimeName,
11826
- price: x.price
12232
+ price: x.price,
11827
12233
  });
11828
12234
  }
11829
12235
  else {
@@ -11835,16 +12241,18 @@ var buildSelectableRooms = function (packageRooms, accommodations, regimes, acco
11835
12241
  from: x.from,
11836
12242
  to: x.to,
11837
12243
  price: x.price,
11838
- regimes: [{
12244
+ regimes: [
12245
+ {
11839
12246
  code: x.regimeCode,
11840
12247
  title: (_b = regime === null || regime === void 0 ? void 0 : regime.title) !== null && _b !== void 0 ? _b : x.regimeName,
11841
- price: x.price
11842
- }],
12248
+ price: x.price,
12249
+ },
12250
+ ],
11843
12251
  title: (_c = accommodation_1 === null || accommodation_1 === void 0 ? void 0 : accommodation_1.title) !== null && _c !== void 0 ? _c : x.accommodationName,
11844
12252
  image: accommodation_1 === null || accommodation_1 === void 0 ? void 0 : accommodation_1.imageUrl,
11845
12253
  usps: (_d = accommodation_1 === null || accommodation_1 === void 0 ? void 0 : accommodation_1.usps) !== null && _d !== void 0 ? _d : [],
11846
12254
  description: accommodation_1 === null || accommodation_1 === void 0 ? void 0 : accommodation_1.description,
11847
- viewHtml: accommodationViews === null || accommodationViews === void 0 ? void 0 : accommodationViews[x.accommodationCode]
12255
+ viewHtml: accommodationViews === null || accommodationViews === void 0 ? void 0 : accommodationViews[x.accommodationCode],
11848
12256
  });
11849
12257
  }
11850
12258
  });
@@ -11866,17 +12274,17 @@ var buildSelectableRooms = function (packageRooms, accommodations, regimes, acco
11866
12274
  return {
11867
12275
  code: o.regimeCode,
11868
12276
  title: (_a = regime === null || regime === void 0 ? void 0 : regime.title) !== null && _a !== void 0 ? _a : o.regimeName,
11869
- price: o.price
12277
+ price: o.price,
11870
12278
  };
11871
12279
  }),
11872
12280
  title: (_a = accommodation === null || accommodation === void 0 ? void 0 : accommodation.title) !== null && _a !== void 0 ? _a : selectedOption.accommodationName,
11873
12281
  image: accommodation === null || accommodation === void 0 ? void 0 : accommodation.imageUrl,
11874
12282
  usps: (_b = accommodation === null || accommodation === void 0 ? void 0 : accommodation.usps) !== null && _b !== void 0 ? _b : [],
11875
12283
  description: accommodation === null || accommodation === void 0 ? void 0 : accommodation.description,
11876
- viewHtml: accommodationViews === null || accommodationViews === void 0 ? void 0 : accommodationViews[selectedOption.accommodationCode]
12284
+ viewHtml: accommodationViews === null || accommodationViews === void 0 ? void 0 : accommodationViews[selectedOption.accommodationCode],
11877
12285
  },
11878
12286
  showAlternatives: false,
11879
- alternatives: alternativeAccommodations
12287
+ alternatives: alternativeAccommodations,
11880
12288
  };
11881
12289
  });
11882
12290
  };
@@ -11886,11 +12294,14 @@ var updatePackageRooms = function (rooms, index, accommodationCode, regimeCode,
11886
12294
  return room;
11887
12295
  return __assign(__assign({}, room), { options: room.options.map(function (option) {
11888
12296
  return __assign(__assign({}, option), { isSelected: option.accommodationCode === accommodationCode &&
11889
- (option.regimeCode === regimeCode || (option.regimeCode === null && regimeCode === '')) });
12297
+ (option.regimeCode === regimeCode ||
12298
+ (option.regimeCode === null && regimeCode === "")) });
11890
12299
  }) });
11891
12300
  });
11892
12301
  var selectedAccommodations = new Map();
11893
- updatedRooms.map(function (x) { return x.options.find(function (x) { return x.isSelected; }); }).forEach(function (x) {
12302
+ updatedRooms
12303
+ .map(function (x) { return x.options.find(function (x) { return x.isSelected; }); })
12304
+ .forEach(function (x) {
11894
12305
  if (selectedAccommodations.has(x.accommodationCode)) {
11895
12306
  selectedAccommodations.set(x.accommodationCode, selectedAccommodations.get(x.accommodationCode) + 1);
11896
12307
  }
@@ -11898,7 +12309,10 @@ var updatePackageRooms = function (rooms, index, accommodationCode, regimeCode,
11898
12309
  selectedAccommodations.set(x.accommodationCode, 1);
11899
12310
  }
11900
12311
  });
11901
- var accoCounter = availabilities.map(function (x) { return ({ code: x.code, count: x.count }); });
12312
+ var accoCounter = availabilities.map(function (x) { return ({
12313
+ code: x.code,
12314
+ count: x.count,
12315
+ }); });
11902
12316
  return updatedRooms.map(function (room) {
11903
12317
  var selectedOption = room.options.find(function (x) { return x.isSelected; });
11904
12318
  return __assign(__assign({}, room), { options: room.options.map(function (option) {
@@ -11914,7 +12328,10 @@ var updatePackageRooms = function (rooms, index, accommodationCode, regimeCode,
11914
12328
  : roomsLeft < 0 && ((_c = availability === null || availability === void 0 ? void 0 : availability.onRequestPossible) !== null && _c !== void 0 ? _c : false);
11915
12329
  if (isCurrentOption)
11916
12330
  accoCount.count--;
11917
- return __assign(__assign({}, option), { isLocked: !option.isSelected && !isOnRequest && roomsLeft < 0 && !availability.isExternal, isOnRequest: isOnRequest });
12331
+ return __assign(__assign({}, option), { isLocked: !option.isSelected &&
12332
+ !isOnRequest &&
12333
+ roomsLeft < 0 &&
12334
+ !availability.isExternal, isOnRequest: isOnRequest });
11918
12335
  }
11919
12336
  else {
11920
12337
  return option;
@@ -11985,7 +12402,7 @@ var OptionItem = function (_a) {
11985
12402
  ? option.isSelected
11986
12403
  ? -option.line.price
11987
12404
  : option.line.price
11988
- : (option.requirementType === 2 || option.requirementType === 3)
12405
+ : option.requirementType === 2 || option.requirementType === 3
11989
12406
  ? option.line.price - selectedPrice
11990
12407
  : 0;
11991
12408
  var accommodations = uniqBy(compact(__spreadArray([option.line], option.alternatives, true).map(function (option) {
@@ -12126,7 +12543,9 @@ var OptionPaxGroup = function (_a) {
12126
12543
  var updatedGroup = __assign(__assign({}, group), { options: group.options.map(function (o, i) {
12127
12544
  return i === index
12128
12545
  ? option
12129
- : __assign(__assign({}, o), { isSelected: option.requirementType === 2 || option.requirementType === 3 ? false : o.isSelected });
12546
+ : __assign(__assign({}, o), { isSelected: option.requirementType === 2 || option.requirementType === 3
12547
+ ? false
12548
+ : o.isSelected });
12130
12549
  }) });
12131
12550
  if (onGroupChange)
12132
12551
  onGroupChange(updatedGroup, paxId, optionId);
@@ -12168,13 +12587,16 @@ var OptionPaxGroup = function (_a) {
12168
12587
  (option.requirementType === 0 ||
12169
12588
  option.requirementType === 1) &&
12170
12589
  "checkbox",
12171
- (option.requirementType === 2 || option.requirementType === 3) && "radiobutton",
12590
+ (option.requirementType === 2 ||
12591
+ option.requirementType === 3) &&
12592
+ "radiobutton",
12172
12593
  ]) },
12173
12594
  React.createElement("label", { htmlFor: "".concat(parentId, "_").concat(index), className: buildClassName([
12174
12595
  (option.requirementType === 0 ||
12175
12596
  option.requirementType === 1) &&
12176
12597
  "checkbox__label",
12177
- (option.requirementType === 2 || option.requirementType === 3) &&
12598
+ (option.requirementType === 2 ||
12599
+ option.requirementType === 3) &&
12178
12600
  "radiobutton__label",
12179
12601
  ]) },
12180
12602
  React.createElement(OptionItem, { option: option, parentId: parentId, index: index, selectedPrice: selectedPrice, onOptionChange: handleOptionChange }),
@@ -12213,8 +12635,11 @@ var OptionPaxCard = function (_a) {
12213
12635
  onPaxChange(updatedPax, parentIndex);
12214
12636
  };
12215
12637
  var getAirlineGroups = function (p) {
12216
- return p.airlineGroups
12217
- .filter(function (x) { var _a, _b; return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") || x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : ""); });
12638
+ return p.airlineGroups.filter(function (x) {
12639
+ var _a, _b;
12640
+ return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") ||
12641
+ x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : "");
12642
+ });
12218
12643
  };
12219
12644
  var handleOnAirlineGroupChange = function (group, paxId) {
12220
12645
  var updatedPax = pax.map(function (p) {
@@ -12228,8 +12653,11 @@ var OptionPaxCard = function (_a) {
12228
12653
  onPaxChange(updatedPax, parentIndex);
12229
12654
  };
12230
12655
  var getAirportGroups = function (p) {
12231
- return p.airportGroups
12232
- .filter(function (x) { var _a, _b; return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") || x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : ""); });
12656
+ return p.airportGroups.filter(function (x) {
12657
+ var _a, _b;
12658
+ return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") ||
12659
+ x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : "");
12660
+ });
12233
12661
  };
12234
12662
  var handleOnAirportGroupChange = function (group, paxId) {
12235
12663
  var updatedPax = pax.map(function (p) {
@@ -12277,7 +12705,9 @@ var OptionUnitGroup = function (_a) {
12277
12705
  var updatedGroup = __assign(__assign({}, group), { options: group.options.map(function (o, i) {
12278
12706
  return i === index
12279
12707
  ? option
12280
- : __assign(__assign({}, o), { isSelected: option.requirementType === 2 || option.requirementType === 3 ? false : o.isSelected });
12708
+ : __assign(__assign({}, o), { isSelected: option.requirementType === 2 || option.requirementType === 3
12709
+ ? false
12710
+ : o.isSelected });
12281
12711
  }) });
12282
12712
  if (onGroupChange)
12283
12713
  onGroupChange(updatedGroup, unitIndex, optionId);
@@ -12326,13 +12756,16 @@ var OptionUnitGroup = function (_a) {
12326
12756
  (option.requirementType === 0 ||
12327
12757
  option.requirementType === 1) &&
12328
12758
  "checkbox",
12329
- (option.requirementType === 2 || option.requirementType === 3) && "radiobutton",
12759
+ (option.requirementType === 2 ||
12760
+ option.requirementType === 3) &&
12761
+ "radiobutton",
12330
12762
  ]) },
12331
12763
  React.createElement("label", { htmlFor: "".concat(parentId, "_").concat(index), className: buildClassName([
12332
12764
  (option.requirementType === 0 ||
12333
12765
  option.requirementType === 1) &&
12334
12766
  "checkbox__label",
12335
- (option.requirementType === 2 || option.requirementType === 3) &&
12767
+ (option.requirementType === 2 ||
12768
+ option.requirementType === 3) &&
12336
12769
  "radiobutton__label",
12337
12770
  ]) },
12338
12771
  React.createElement(OptionItem, { option: option, parentId: parentId, index: index, selectedPrice: selectedPrice, onOptionChange: handleOptionChange }),
@@ -12367,8 +12800,11 @@ var OptionUnitsCard = function (_a) {
12367
12800
  onUnitsChange(updatedUnits, parentIndex);
12368
12801
  };
12369
12802
  var getAirlineGroups = function (p) {
12370
- return p.airlineGroups
12371
- .filter(function (x) { var _a, _b; return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") || x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : ""); });
12803
+ return p.airlineGroups.filter(function (x) {
12804
+ var _a, _b;
12805
+ return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") ||
12806
+ x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : "");
12807
+ });
12372
12808
  };
12373
12809
  var handleOnAirlineGroupChange = function (group, unitIndex) {
12374
12810
  var updatedPax = units.map(function (u) {
@@ -12382,8 +12818,11 @@ var OptionUnitsCard = function (_a) {
12382
12818
  onUnitsChange(updatedPax, parentIndex);
12383
12819
  };
12384
12820
  var getAirportGroups = function (p) {
12385
- return p.airportGroups
12386
- .filter(function (x) { var _a, _b; return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") || x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : ""); });
12821
+ return p.airportGroups.filter(function (x) {
12822
+ var _a, _b;
12823
+ return x.flightIds.includes((_a = departureFlight === null || departureFlight === void 0 ? void 0 : departureFlight.entryLineGuid) !== null && _a !== void 0 ? _a : "") ||
12824
+ x.flightIds.includes((_b = returnFlight === null || returnFlight === void 0 ? void 0 : returnFlight.entryLineGuid) !== null && _b !== void 0 ? _b : "");
12825
+ });
12387
12826
  };
12388
12827
  var handleOnAirportGroupChange = function (group, unitIndex) {
12389
12828
  var updatedPax = units.map(function (u) {
@@ -12410,8 +12849,7 @@ var OptionUnitsCard = function (_a) {
12410
12849
  React.createElement("button", { type: "button", className: "booking-card__toggle", onClick: function () {
12411
12850
  setToggleStates(toggleStates === null || toggleStates === void 0 ? void 0 : toggleStates.map(function (s, si) { return (si == i ? !s : s); }));
12412
12851
  } }))),
12413
- toggleStates &&
12414
- toggleStates[i] && (React.createElement(React.Fragment, null,
12852
+ toggleStates && toggleStates[i] && (React.createElement(React.Fragment, null,
12415
12853
  u.groups.map(function (ug) {
12416
12854
  return ug && (React.createElement(OptionUnitGroup, { key: ug.name, unitIndex: u.index, group: ug, firstClassName: "booking-card__group-body", secondClassName: "booking-card__group-heading", parentId: "".concat(u.index, "_").concat(ug.name), onGroupChange: onGroupChange }));
12417
12855
  }),
@@ -12430,7 +12868,9 @@ var OptionBookingGroup = function (_a) {
12430
12868
  var updatedGroup = __assign(__assign({}, group), { options: group.options.map(function (o, i) {
12431
12869
  return i === index
12432
12870
  ? option
12433
- : __assign(__assign({}, o), { isSelected: (option.requirementType === 2 || option.requirementType === 3) ? false : o.isSelected });
12871
+ : __assign(__assign({}, o), { isSelected: option.requirementType === 2 || option.requirementType === 3
12872
+ ? false
12873
+ : o.isSelected });
12434
12874
  }) });
12435
12875
  if (onGroupChange)
12436
12876
  onGroupChange(updatedGroup, optionId);
@@ -12486,13 +12926,16 @@ var OptionBookingGroup = function (_a) {
12486
12926
  (option.requirementType === 0 ||
12487
12927
  option.requirementType === 1) &&
12488
12928
  "checkbox",
12489
- (option.requirementType === 2 || option.requirementType === 3) && "radiobutton",
12929
+ (option.requirementType === 2 ||
12930
+ option.requirementType === 3) &&
12931
+ "radiobutton",
12490
12932
  ]) },
12491
12933
  React.createElement("label", { htmlFor: "".concat(parentId, "_").concat(index), className: buildClassName([
12492
12934
  (option.requirementType === 0 ||
12493
12935
  option.requirementType === 1) &&
12494
12936
  "checkbox__label",
12495
- (option.requirementType === 2 || option.requirementType === 3) &&
12937
+ (option.requirementType === 2 ||
12938
+ option.requirementType === 3) &&
12496
12939
  "radiobutton__label",
12497
12940
  ]) },
12498
12941
  React.createElement(OptionItem, { option: option, parentId: parentId, index: index, selectedPrice: selectedPrice, onOptionChange: handleOptionChange }),
@@ -12558,7 +13001,10 @@ var OptionRoom = function (_a) {
12558
13001
  })), "accommodationCode");
12559
13002
  var regimes = uniqBy(compact(packageRoom &&
12560
13003
  packageRoom.options
12561
- .filter(function (x) { return !selectedOption || x.accommodationCode == selectedOption.accommodationCode; })
13004
+ .filter(function (x) {
13005
+ return !selectedOption ||
13006
+ x.accommodationCode == selectedOption.accommodationCode;
13007
+ })
12562
13008
  .map(function (option) {
12563
13009
  return {
12564
13010
  regimeCode: option.regimeCode,
@@ -12691,9 +13137,135 @@ var OptionRoom = function (_a) {
12691
13137
  ]) }))))))))))));
12692
13138
  };
12693
13139
 
13140
+ function useOfferPrinter(_a) {
13141
+ var _this = this;
13142
+ var bookingPackage = _a.bookingPackage, getPax = _a.getPax, _b = _a.tagIds, tagIds = _b === void 0 ? [] : _b, _c = _a.printActionId, printActionId = _c === void 0 ? null : _c, onPrinted = _a.onPrinted;
13143
+ var settings = useContext(SettingsContext);
13144
+ if (!settings)
13145
+ throw new Error("useOfferPrinter must be used inside <BookingWizard>");
13146
+ var language = settings.language, officeId = settings.officeId;
13147
+ var agentId = settings.agentAdressId;
13148
+ if (typeof agentId !== "number" || agentId <= 0) {
13149
+ throw new Error("Missing agentAdressId in wizard settings");
13150
+ }
13151
+ var _d = useState("idle"), stage = _d[0], setStage = _d[1];
13152
+ var loading = stage !== "idle";
13153
+ var createOffer = useCallback(function () { return __awaiter$1(_this, void 0, void 0, function () {
13154
+ var paxRaw, pax, request, cfg;
13155
+ return __generator$1(this, function (_a) {
13156
+ paxRaw = getPax();
13157
+ if (!bookingPackage || !(paxRaw === null || paxRaw === void 0 ? void 0 : paxRaw.length)) {
13158
+ throw new Error("Missing booking package or pax");
13159
+ }
13160
+ pax = paxRaw;
13161
+ request = {
13162
+ officeId: officeId,
13163
+ agentId: agentId,
13164
+ payload: {
13165
+ package: bookingPackage,
13166
+ status: 0,
13167
+ pax: pax,
13168
+ nonTravelPax: [],
13169
+ notifications: [],
13170
+ tagIds: tagIds,
13171
+ customerRequests: [],
13172
+ },
13173
+ };
13174
+ cfg = buildTideClientConfig();
13175
+ return [2 /*return*/, book_1(cfg, request, undefined, language)];
13176
+ });
13177
+ }); }, [
13178
+ agentId,
13179
+ bookingPackage,
13180
+ getPax,
13181
+ language,
13182
+ officeId,
13183
+ tagIds,
13184
+ ]);
13185
+ var languageData = [
13186
+ { code: "nl-BE", tideId: 1 },
13187
+ { code: "fr-BE", tideId: 2 },
13188
+ { code: "en-GB", tideId: 3 },
13189
+ ];
13190
+ function getTideLanguageId(code) {
13191
+ var _a;
13192
+ return (((_a = languageData.find(function (l) { return l.code === code; })) === null || _a === void 0 ? void 0 : _a.tideId) || 1);
13193
+ }
13194
+ var printOffer = useCallback(function (offer) { return __awaiter$1(_this, void 0, void 0, function () {
13195
+ var cfg, req, res, buf, url;
13196
+ var _a;
13197
+ return __generator$1(this, function (_b) {
13198
+ switch (_b.label) {
13199
+ case 0:
13200
+ cfg = buildTideClientConfig();
13201
+ req = {
13202
+ id: printActionId !== null && printActionId !== void 0 ? printActionId : 0,
13203
+ dossierNumber: (_a = offer.dossierNumber) !== null && _a !== void 0 ? _a : offer.number,
13204
+ languageId: getTideLanguageId(language),
13205
+ };
13206
+ return [4 /*yield*/, print_1(cfg, req)];
13207
+ case 1:
13208
+ res = _b.sent();
13209
+ return [4 /*yield*/, res.arrayBuffer()];
13210
+ case 2:
13211
+ buf = _b.sent();
13212
+ url = URL.createObjectURL(new Blob([buf], { type: "application/pdf" }));
13213
+ onPrinted === null || onPrinted === void 0 ? void 0 : onPrinted(url);
13214
+ window.open(url);
13215
+ return [2 /*return*/];
13216
+ }
13217
+ });
13218
+ }); }, [language, onPrinted]);
13219
+ var handlePrint = useCallback(function () { return __awaiter$1(_this, void 0, void 0, function () {
13220
+ var offer, err_1;
13221
+ return __generator$1(this, function (_a) {
13222
+ switch (_a.label) {
13223
+ case 0:
13224
+ _a.trys.push([0, 3, 4, 5]);
13225
+ setStage("creating");
13226
+ return [4 /*yield*/, createOffer()];
13227
+ case 1:
13228
+ offer = _a.sent();
13229
+ setStage("printing");
13230
+ return [4 /*yield*/, printOffer(offer)];
13231
+ case 2:
13232
+ _a.sent();
13233
+ return [3 /*break*/, 5];
13234
+ case 3:
13235
+ err_1 = _a.sent();
13236
+ console.error("Offer print failed:", err_1);
13237
+ throw err_1;
13238
+ case 4:
13239
+ setStage("idle");
13240
+ return [7 /*endfinally*/];
13241
+ case 5: return [2 /*return*/];
13242
+ }
13243
+ });
13244
+ }); }, [createOffer, printOffer]);
13245
+ return { handlePrint: handlePrint, loading: loading, stage: stage };
13246
+ }
13247
+
13248
+ var PrintOfferButton = function (_a) {
13249
+ var bookingPackage = _a.bookingPackage, getPax = _a.getPax, tagIds = _a.tagIds, _b = _a.printActionId, printActionId = _b === void 0 ? null : _b, onPrinted = _a.onPrinted, _c = _a.labelIdle, labelIdle = _c === void 0 ? "Print offer" : _c, _d = _a.labelCreating, labelCreating = _d === void 0 ? "Generating offer…" : _d, _e = _a.labelPrinting, labelPrinting = _e === void 0 ? "Generating PDF…" : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, className = _a.className;
13250
+ var _g = useOfferPrinter({
13251
+ bookingPackage: bookingPackage,
13252
+ getPax: getPax,
13253
+ tagIds: tagIds,
13254
+ onPrinted: onPrinted,
13255
+ printActionId: printActionId,
13256
+ }), handlePrint = _g.handlePrint, stage = _g.stage, loading = _g.loading;
13257
+ var label = stage === "creating"
13258
+ ? labelCreating
13259
+ : stage === "printing"
13260
+ ? labelPrinting
13261
+ : labelIdle;
13262
+ return (React.createElement("button", { type: 'button', onClick: handlePrint, disabled: disabled || loading, className: className }, label));
13263
+ };
13264
+
12694
13265
  var OptionsForm = function () {
12695
13266
  var _a;
12696
13267
  var settings = useContext(SettingsContext);
13268
+ var token = settings.token;
12697
13269
  var translations = useSelector(selectTranslations);
12698
13270
  var dispatch = useAppDispatch();
12699
13271
  var packageDetails = useSelector(selectPackageDetails);
@@ -12717,7 +13289,9 @@ var OptionsForm = function () {
12717
13289
  var bookingPackagePax = pax.filter(function (x) {
12718
13290
  return room === null || room === void 0 ? void 0 : room.pax.some(function (y) { return y.id == x.id; });
12719
13291
  });
12720
- return bookingPackagePax.length > 0 ? bookingPackagePax : (_a = room === null || room === void 0 ? void 0 : room.pax) !== null && _a !== void 0 ? _a : [];
13292
+ return bookingPackagePax.length > 0
13293
+ ? bookingPackagePax
13294
+ : (_a = room === null || room === void 0 ? void 0 : room.pax) !== null && _a !== void 0 ? _a : [];
12721
13295
  };
12722
13296
  var handleOnRoomChange = function (index, accommodationCode, regimeCode) {
12723
13297
  if (!packageRooms)
@@ -12726,8 +13300,17 @@ var OptionsForm = function () {
12726
13300
  dispatch(setPackageRooms(updatedPackageRooms));
12727
13301
  dispatch(fetchPriceDetails());
12728
13302
  };
13303
+ var getPax = function () {
13304
+ var _a;
13305
+ if (!packageDetails)
13306
+ return undefined;
13307
+ var selectedOption = (_a = packageDetails.options.find(function (o) { return o.isSelected; })) !== null && _a !== void 0 ? _a : packageDetails.options[0];
13308
+ return selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.requestRooms.flatMap(function (r) { return r.pax; });
13309
+ };
12729
13310
  // TAGS
12730
- var packageTags = settings.hideTags ? [] : useSelector(selectPackageTags);
13311
+ var packageTags = settings.hideTags
13312
+ ? []
13313
+ : useSelector(selectPackageTags);
12731
13314
  var tagIds = (_a = useSelector(selectTagIds)) !== null && _a !== void 0 ? _a : [];
12732
13315
  var handleSubmit = function (e) {
12733
13316
  if (settings.skipRouter) {
@@ -12788,7 +13371,9 @@ var OptionsForm = function () {
12788
13371
  };
12789
13372
  useEffect(function () {
12790
13373
  var _a, _b;
12791
- if (packageDetails && settings.roomOptions.isHidden && settings.flightOptions.isHidden) {
13374
+ if (packageDetails &&
13375
+ settings.roomOptions.isHidden &&
13376
+ settings.flightOptions.isHidden) {
12792
13377
  var params = new URLSearchParams(location.search);
12793
13378
  var outwardFlight_1 = (_a = params.get("outwardflight")) !== null && _a !== void 0 ? _a : undefined;
12794
13379
  var returnFlight_1 = (_b = params.get("returnflight")) !== null && _b !== void 0 ? _b : undefined;
@@ -12797,11 +13382,13 @@ var OptionsForm = function () {
12797
13382
  var desiredReturnFlight_1 = packageDetails.returnFlights.find(function (x) { return x.entryLineGuid == returnFlight_1; });
12798
13383
  if (desiredOutwardFlight_1 && desiredReturnFlight_1) {
12799
13384
  dispatch(setPackage(__assign(__assign({}, packageDetails), { outwardFlights: packageDetails.outwardFlights.map(function (flight) {
12800
- return __assign(__assign({}, flight), { isSelected: flight.entryLineGuid == desiredOutwardFlight_1.entryLineGuid
13385
+ return __assign(__assign({}, flight), { isSelected: flight.entryLineGuid ==
13386
+ desiredOutwardFlight_1.entryLineGuid
12801
13387
  ? true
12802
13388
  : false });
12803
13389
  }), returnFlights: packageDetails.returnFlights.map(function (flight) {
12804
- return __assign(__assign({}, flight), { isSelected: flight.entryLineGuid == desiredReturnFlight_1.entryLineGuid
13390
+ return __assign(__assign({}, flight), { isSelected: flight.entryLineGuid ==
13391
+ desiredReturnFlight_1.entryLineGuid
12805
13392
  ? true
12806
13393
  : false });
12807
13394
  }) })));
@@ -12821,57 +13408,73 @@ var OptionsForm = function () {
12821
13408
  var previousUrl = settings.roomOptions.isHidden
12822
13409
  ? "".concat(settings.basePath).concat(settings.flightOptions.pathSuffix, "?").concat(bookingQueryString)
12823
13410
  : "".concat(settings.basePath).concat(settings.roomOptions.pathSuffix, "?").concat(bookingQueryString);
12824
- var hasPrevious = !settings.roomOptions.isHidden || !settings.flightOptions.isHidden;
12825
- var showPackageTagsOrRoomoptions = showRoomOptions || (packageTags && !isEmpty(packageTags));
13411
+ var hasPrevious = !settings.roomOptions.isHidden ||
13412
+ !settings.flightOptions.isHidden;
13413
+ var showPackageTagsOrRoomoptions = showRoomOptions ||
13414
+ (packageTags && !isEmpty(packageTags));
12826
13415
  return (React.createElement(React.Fragment, null,
12827
- React.createElement("form", { className: "form", name: "booking--options", id: "booking--options", noValidate: true, onSubmit: handleSubmit },
13416
+ React.createElement("form", { className: 'form', name: 'booking--options', id: 'booking--options', noValidate: true, onSubmit: handleSubmit },
12828
13417
  isLoading && settings.loaderComponent,
12829
- !isLoading && (React.createElement("div", { className: "form__region" },
12830
- showPackageTagsOrRoomoptions && (React.createElement("div", { className: "form__group" },
12831
- React.createElement("div", { className: "booking-card" },
12832
- React.createElement("div", { className: "booking-card__body" },
13418
+ !isLoading && (React.createElement("div", { className: 'form__region' },
13419
+ showPackageTagsOrRoomoptions && (React.createElement("div", { className: 'form__group' },
13420
+ React.createElement("div", { className: 'booking-card' },
13421
+ React.createElement("div", { className: 'booking-card__body' },
12833
13422
  React.createElement("div", { className: buildClassName([
12834
13423
  "booking-card__group",
12835
13424
  "booking-card__group--package",
12836
13425
  ]) },
12837
- showRoomOptions && (React.createElement("span", { className: "booking-card__tag" }, translations.OPTIONS_FORM.PACKAGE)),
12838
- React.createElement("div", { className: "booking-card__group-body" },
12839
- showRoomOptions && (React.createElement("table", { className: "table table--striped" },
13426
+ showRoomOptions && (React.createElement("span", { className: 'booking-card__tag' }, translations.OPTIONS_FORM
13427
+ .PACKAGE)),
13428
+ React.createElement("div", { className: 'booking-card__group-body' },
13429
+ showRoomOptions && (React.createElement("table", { className: 'table table--striped' },
12840
13430
  React.createElement("tbody", null, packageRooms &&
12841
13431
  packageRooms.map(function (room) { return (React.createElement(OptionRoom, { key: room.index, packageRoom: room, pax: getRoomPax(room.index), optionPax: optionPax, onRoomChange: handleOnRoomChange })); })))),
12842
- packageTags && !isEmpty(packageTags) && (React.createElement("div", { className: "booking-card__tag-translations" }, packageTags.map(function (tag, index) { return (React.createElement("label", { key: index, htmlFor: "tag-translation-".concat(index, "-").concat(tag.title), className: "checkbox__label tag-translation" },
12843
- React.createElement("div", { className: "tag-translation-input__container" },
12844
- React.createElement("input", { type: "checkbox", id: "tag-translation-".concat(index, "-").concat(tag.title), name: "tag-translation-".concat(index, "-").concat(tag.title), className: "checkbox__input", checked: tagIds === null || tagIds === void 0 ? void 0 : tagIds.includes(tag.id), onChange: function (e) {
13432
+ packageTags &&
13433
+ !isEmpty(packageTags) && (React.createElement("div", { className: 'booking-card__tag-translations' }, packageTags.map(function (tag, index) { return (React.createElement("label", { key: index, htmlFor: "tag-translation-".concat(index, "-").concat(tag.title), className: 'checkbox__label tag-translation' },
13434
+ React.createElement("div", { className: 'tag-translation-input__container' },
13435
+ React.createElement("input", { type: 'checkbox', id: "tag-translation-".concat(index, "-").concat(tag.title), name: "tag-translation-".concat(index, "-").concat(tag.title), className: 'checkbox__input', checked: tagIds === null || tagIds === void 0 ? void 0 : tagIds.includes(tag.id), onChange: function (e) {
12845
13436
  return handleOnTagChange(tag.id, e.target.checked);
12846
13437
  } })),
12847
- React.createElement("span", { className: "tag-translation__title" }, tag.title),
13438
+ React.createElement("span", { className: 'tag-translation__title' }, tag.title),
12848
13439
  "\u00A0",
12849
- React.createElement("span", { className: "tag-translation__description" }, tag.description))); }))))))))),
12850
- optionUnits && !isEmpty(optionUnits) && (React.createElement("div", { className: "form__group" },
12851
- React.createElement("div", { className: "booking-card" },
12852
- React.createElement("div", { className: "booking-card__header" },
12853
- React.createElement("h2", { className: "booking-card__header-heading" }, translations.OPTIONS_FORM.PER_UNIT_TITLE)),
12854
- React.createElement("div", { className: "booking-card__body" },
13440
+ React.createElement("span", { className: 'tag-translation__description' }, tag.description))); }))))))))),
13441
+ optionUnits && !isEmpty(optionUnits) && (React.createElement("div", { className: 'form__group' },
13442
+ React.createElement("div", { className: 'booking-card' },
13443
+ React.createElement("div", { className: 'booking-card__header' },
13444
+ React.createElement("h2", { className: 'booking-card__header-heading' }, translations.OPTIONS_FORM
13445
+ .PER_UNIT_TITLE)),
13446
+ React.createElement("div", { className: 'booking-card__body' },
12855
13447
  React.createElement(OptionUnitsCard, { units: optionUnits, onUnitsChange: handleOnUnitsChange }))))),
12856
- optionPax && !isEmpty(optionPax) && (React.createElement("div", { className: "form__group" },
12857
- React.createElement("div", { className: "booking-card" },
12858
- React.createElement("div", { className: "booking-card__header" },
12859
- React.createElement("h2", { className: "booking-card__header-heading" }, translations.OPTIONS_FORM.PER_PAX_TITLE)),
12860
- React.createElement("div", { className: "booking-card__body" },
13448
+ optionPax && !isEmpty(optionPax) && (React.createElement("div", { className: 'form__group' },
13449
+ React.createElement("div", { className: 'booking-card' },
13450
+ React.createElement("div", { className: 'booking-card__header' },
13451
+ React.createElement("h2", { className: 'booking-card__header-heading' }, translations.OPTIONS_FORM
13452
+ .PER_PAX_TITLE)),
13453
+ React.createElement("div", { className: 'booking-card__body' },
12861
13454
  React.createElement(OptionPaxCard, { pax: optionPax, onPaxChange: handleOnPaxChange, requestRoomsPax: requestRoomsPax }))))),
12862
- groups && !isEmpty(groups) && (React.createElement("div", { className: "form__group" },
12863
- React.createElement("div", { className: "booking-card" },
12864
- React.createElement("div", { className: "booking-card__header" },
12865
- React.createElement("h2", { className: "booking-card__header-heading" }, translations.OPTIONS_FORM.PER_BOOKING_TITLE)),
12866
- React.createElement("div", { className: "booking-card__body" },
12867
- React.createElement("div", { className: "booking-card__group booking-card__group--active" },
13455
+ groups && !isEmpty(groups) && (React.createElement("div", { className: 'form__group' },
13456
+ React.createElement("div", { className: 'booking-card' },
13457
+ React.createElement("div", { className: 'booking-card__header' },
13458
+ React.createElement("h2", { className: 'booking-card__header-heading' }, translations.OPTIONS_FORM
13459
+ .PER_BOOKING_TITLE)),
13460
+ React.createElement("div", { className: 'booking-card__body' },
13461
+ React.createElement("div", { className: 'booking-card__group booking-card__group--active' },
12868
13462
  groups.map(function (group, i) { return (React.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 })); }), airlineGroups === null || airlineGroups === void 0 ? void 0 :
12869
13463
  airlineGroups.map(function (group, i) { return (React.createElement(OptionBookingAirlineGroup, { key: "".concat(group.label, "_").concat(i), airGroup: group, onGroupChange: handleOnAirlineGroupChange })); }), airportGroups === null || airportGroups === void 0 ? void 0 :
12870
13464
  airportGroups.map(function (group, i) { return (React.createElement(OptionBookingAirlineGroup, { key: "".concat(group.label, "_").concat(i), airGroup: group, onGroupChange: handleOnAirportGroupChange })); })))))),
12871
- isEmpty(groups) && isEmpty(optionUnits) && isEmpty(optionPax) && (React.createElement(NoOptions, null)))),
12872
- React.createElement("div", { className: "booking__navigator" },
12873
- hasPrevious && (React.createElement(React.Fragment, null, settings.skipRouter ? (React.createElement("button", { type: "button", title: translations.STEPS.PREVIOUS, onClick: function () { return goPrevious(); }, className: "cta cta--secondary" }, translations.STEPS.PREVIOUS)) : (React.createElement(Link, { to: previousUrl, title: translations.STEPS.PREVIOUS, className: "cta cta--secondary" }, translations.STEPS.PREVIOUS)))),
12874
- React.createElement("button", { type: "submit", title: translations.STEPS.NEXT, disabled: isLoading, className: buildClassName(["cta", isLoading && "cta--disabled"]) }, translations.STEPS.NEXT)))));
13465
+ isEmpty(groups) &&
13466
+ isEmpty(optionUnits) &&
13467
+ isEmpty(optionPax) && React.createElement(NoOptions, null))),
13468
+ React.createElement("div", { className: 'booking__navigator' },
13469
+ hasPrevious && (React.createElement(React.Fragment, null, settings.skipRouter ? (React.createElement("button", { type: 'button', title: translations.STEPS.PREVIOUS, onClick: function () { return goPrevious(); }, className: 'cta cta--secondary' }, translations.STEPS.PREVIOUS)) : (React.createElement(Link, { to: previousUrl, title: translations.STEPS.PREVIOUS, className: 'cta cta--secondary' }, translations.STEPS.PREVIOUS)))),
13470
+ token &&
13471
+ settings.options.reportPrintActionId && (React.createElement(PrintOfferButton, { bookingPackage: packageDetails, getPax: getPax, tagIds: tagIds, printActionId: settings.options.reportPrintActionId, labelIdle: translations.PRINT_OFFER_BUTTON.LABEL_IDLE, labelCreating: translations.PRINT_OFFER_BUTTON
13472
+ .LABEL_CREATING, labelPrinting: translations.PRINT_OFFER_BUTTON
13473
+ .LABEL_PRINTING, className: 'cta spinner-button' })),
13474
+ React.createElement("button", { type: 'submit', title: translations.STEPS.NEXT, disabled: isLoading, className: buildClassName([
13475
+ "cta",
13476
+ isLoading && "cta--disabled",
13477
+ ]) }, translations.STEPS.NEXT)))));
12875
13478
  };
12876
13479
 
12877
13480
  var RoomOption = function (_a) {
@@ -12898,7 +13501,7 @@ var RoomOption = function (_a) {
12898
13501
  };
12899
13502
  var handleRegimeChange = function (e) {
12900
13503
  var regimeCode = e.currentTarget.value;
12901
- var option = room.regimes.find(function (x) { return x.code === regimeCode || (x.code === null && regimeCode === ''); });
13504
+ var option = room.regimes.find(function (x) { return x.code === regimeCode || (x.code === null && regimeCode === ""); });
12902
13505
  setRoomRegimeCode(option.code);
12903
13506
  setRoomPrice(option.price);
12904
13507
  if (onRegimeChange) {
@@ -12937,7 +13540,12 @@ var RoomOption = function (_a) {
12937
13540
  " ",
12938
13541
  getPriceDifference(regime.price, roomPrice)));
12939
13542
  })))),
12940
- React.createElement("button", { type: "button", onClick: selectAccommodation, className: buildClassName(['cta', selectedRoomPrice ? 'cta--secondary' : 'cta--selected']) }, selectedRoomPrice ? translations.SHARED.SELECT : translations.SHARED.SELECTED))))));
13543
+ React.createElement("button", { type: "button", onClick: selectAccommodation, className: buildClassName([
13544
+ "cta",
13545
+ selectedRoomPrice ? "cta--select" : "cta--selected",
13546
+ ]) }, selectedRoomPrice
13547
+ ? translations.SHARED.SELECT
13548
+ : translations.SHARED.SELECTED))))));
12941
13549
  };
12942
13550
 
12943
13551
  var TravelerRooms = function (_a) {
@@ -12945,22 +13553,25 @@ var TravelerRooms = function (_a) {
12945
13553
  var translations = useSelector(selectTranslations);
12946
13554
  var _b = useState(false), showAlternatives = _b[0], setShowAlternatives = _b[1];
12947
13555
  var selectedAccommodationCode = room.selected.code;
12948
- return (React.createElement("div", { key: room.index },
13556
+ return (React.createElement("div", { key: room.index, className: "form__room__container" },
12949
13557
  React.createElement("div", { className: "form__room__header" },
12950
13558
  React.createElement("h5", null,
12951
13559
  translations.ROOM_OPTIONS_FORM.TRAVELER_GROUP,
12952
13560
  " ",
12953
13561
  room.index + 1)),
12954
- React.createElement(RoomOption, { room: room.selected, hasAlternatives: !isEmpty(room.alternatives), onRegimeChange: function (regimeCode) { return onRoomChange(index, selectedAccommodationCode, regimeCode); }, onToggleAlternatives: function () { return setShowAlternatives(!showAlternatives); } }),
13562
+ React.createElement(RoomOption, { room: room.selected, hasAlternatives: !isEmpty(room.alternatives), onRegimeChange: function (regimeCode) {
13563
+ return onRoomChange(index, selectedAccommodationCode, regimeCode);
13564
+ }, onToggleAlternatives: function () { return setShowAlternatives(!showAlternatives); } }),
12955
13565
  !isEmpty(room.alternatives) && showAlternatives && (React.createElement("div", { className: "form__room__alternatives" },
12956
13566
  React.createElement("div", { className: "form__room__alternatives__header" },
12957
13567
  translations.ROOM_OPTIONS_FORM.ALTERNATIVES_TRAVELER_GROUP,
12958
13568
  " ",
12959
13569
  room.index + 1),
12960
- showAlternatives && (React.createElement(React.Fragment, null, room.alternatives.map(function (alternative, alternativeIndex) { return (React.createElement(RoomOption, { key: alternativeIndex, room: alternative, selectedRoomPrice: room.selected.price, onAcommodationChange: function (accommodationCode, regimeCode) {
12961
- setShowAlternatives(false);
12962
- onRoomChange(index, accommodationCode, regimeCode);
12963
- } })); })))))));
13570
+ showAlternatives && (React.createElement(React.Fragment, null,
13571
+ React.createElement("div", { className: "form__room__alternatives__content" }, room.alternatives.map(function (alternative, alternativeIndex) { return (React.createElement(RoomOption, { key: alternativeIndex, room: alternative, selectedRoomPrice: room.selected.price, onAcommodationChange: function (accommodationCode, regimeCode) {
13572
+ setShowAlternatives(false);
13573
+ onRoomChange(index, accommodationCode, regimeCode);
13574
+ } })); }))))))));
12964
13575
  };
12965
13576
 
12966
13577
  var RoomOptionsForm = function () {
@@ -13095,83 +13706,84 @@ var Sidebar = function (_a) {
13095
13706
  React.createElement("div", { className: "booking__sidebar-frame" },
13096
13707
  React.createElement(ProductCard, { productName: productName, thumbnailUrl: thumbnailUrl, handleToggleClick: handleToggleClick }),
13097
13708
  React.createElement("div", { className: "pricing-summary" },
13098
- React.createElement("div", { className: "pricing-summary__region" },
13099
- React.createElement("div", { className: "pricing-summary__group" },
13100
- React.createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.TRAVEL_INFO),
13101
- !isEmpty(travelerRooms) &&
13102
- (travelerRooms === null || travelerRooms === void 0 ? void 0 : travelerRooms.map(function (room, rIndex) { return (React.createElement("div", { className: "pricing-summary__row", key: rIndex },
13709
+ React.createElement("div", { className: "pricing-summary__wrapper" },
13710
+ React.createElement("div", { className: "pricing-summary__region ".concat(!isLoading ? "pricing-summary__region--fade-in" : "") },
13711
+ React.createElement("div", { className: "pricing-summary__group" },
13712
+ React.createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.TRAVEL_INFO),
13713
+ !isEmpty(travelerRooms) &&
13714
+ (travelerRooms === null || travelerRooms === void 0 ? void 0 : travelerRooms.map(function (room, rIndex) { return (React.createElement("div", { className: "pricing-summary__row", key: rIndex },
13715
+ React.createElement("div", { className: "pricing-summary__property" },
13716
+ translations.SHARED.ROOM,
13717
+ " ",
13718
+ rIndex + 1),
13719
+ React.createElement("div", { className: "pricing-summary__value" }, room))); })),
13720
+ startDateText && (React.createElement("div", { className: "pricing-summary__row" },
13721
+ React.createElement("div", { className: "pricing-summary__property" }, startDateText && endDateText
13722
+ ? translations.SIDEBAR.DEPARTURE
13723
+ : translations.SIDEBAR.DEPARTURE_SINGLE),
13724
+ React.createElement("div", { className: "pricing-summary__value" }, startDateText))),
13725
+ endDateText && (React.createElement("div", { className: "pricing-summary__row" },
13726
+ React.createElement("div", { className: "pricing-summary__property" }, translations.SIDEBAR.ARRIVAL),
13727
+ React.createElement("div", { className: "pricing-summary__value" }, endDateText)))),
13728
+ isLoading && loaderComponent,
13729
+ !isLoading && departureFlight && returnFlight && (React.createElement(React.Fragment, null,
13730
+ React.createElement(SidebarFlight, { title: translations.SIDEBAR.DEPARTURE_FLIGHT, flight: departureFlight }),
13731
+ React.createElement(SidebarFlight, { title: translations.SIDEBAR.ARRIVAL_FLIGHT, flight: returnFlight }))),
13732
+ accommodations && (React.createElement("div", { className: "pricing-summary__group" },
13733
+ React.createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.ACCOMMODATION),
13734
+ accommodations.map(function (accommodation) {
13735
+ var option = accommodation.options.find(function (x) { return x.isSelected; });
13736
+ return (React.createElement("div", { key: accommodation.index },
13737
+ React.createElement("div", { className: "pricing-summary__row" },
13738
+ React.createElement("div", { className: "pricing-summary__property" }, option === null || option === void 0 ? void 0 :
13739
+ option.accommodationName,
13740
+ isOnRequest
13741
+ ? " (".concat(translations.SIDEBAR.ON_REQUEST, ")")
13742
+ : "",
13743
+ (option === null || option === void 0 ? void 0 : option.isOnRequest)
13744
+ ? " (".concat(translations.SIDEBAR.ON_REQUEST, ")")
13745
+ : "")),
13746
+ React.createElement("div", { className: "pricing-summary__row" },
13747
+ React.createElement("div", { className: "price-summarty__property" }, option === null || option === void 0 ? void 0 : option.regimeName),
13748
+ React.createElement("div", { className: "price-summary__value" }, getDatePeriodText(option === null || option === void 0 ? void 0 : option.from, option === null || option === void 0 ? void 0 : option.to, true)))));
13749
+ })))),
13750
+ !isLoading && canShowPriceBreakdownSection && (React.createElement("div", { className: "pricing-summary__region ".concat(!isLoading ? "pricing-summary__region--fade-in" : "") },
13751
+ basePrice !== undefined && basePrice > 0 && (React.createElement("div", { className: "pricing-summary__group" },
13752
+ React.createElement("div", { className: "pricing-summary__row" },
13103
13753
  React.createElement("div", { className: "pricing-summary__property" },
13104
- translations.SHARED.ROOM,
13105
- " ",
13106
- rIndex + 1),
13107
- React.createElement("div", { className: "pricing-summary__value" }, room))); })),
13108
- startDateText && (React.createElement("div", { className: "pricing-summary__row" },
13109
- React.createElement("div", { className: "pricing-summary__property" }, startDateText && endDateText
13110
- ? translations.SIDEBAR.DEPARTURE
13111
- : translations.SIDEBAR.DEPARTURE_SINGLE),
13112
- React.createElement("div", { className: "pricing-summary__value" }, startDateText))),
13113
- endDateText && (React.createElement("div", { className: "pricing-summary__row" },
13114
- React.createElement("div", { className: "pricing-summary__property" }, translations.SIDEBAR.ARRIVAL),
13115
- React.createElement("div", { className: "pricing-summary__value" }, endDateText)))),
13116
- isLoading && loaderComponent,
13117
- !isLoading && departureFlight && returnFlight && (React.createElement(React.Fragment, null,
13118
- React.createElement(SidebarFlight, { title: translations.SIDEBAR.DEPARTURE_FLIGHT, flight: departureFlight }),
13119
- React.createElement(SidebarFlight, { title: translations.SIDEBAR.ARRIVAL_FLIGHT, flight: returnFlight }))),
13120
- accommodations && (React.createElement("div", { className: "pricing-summary__group" },
13121
- React.createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.ACCOMMODATION),
13122
- accommodations.map(function (accommodation) {
13123
- var option = accommodation.options.find(function (x) { return x.isSelected; });
13124
- return (React.createElement("div", { key: accommodation.index },
13125
- React.createElement("div", { className: "pricing-summary__row" },
13126
- React.createElement("div", { className: "pricing-summary__property" }, option === null || option === void 0 ? void 0 :
13127
- option.accommodationName,
13128
- isOnRequest
13129
- ? " (".concat(translations.SIDEBAR.ON_REQUEST, ")")
13130
- : "",
13131
- (option === null || option === void 0 ? void 0 : option.isOnRequest)
13132
- ? " (".concat(translations.SIDEBAR.ON_REQUEST, ")")
13133
- : "")),
13134
- React.createElement("div", { className: "pricing-summary__row" },
13135
- React.createElement("div", { className: "price-summarty__property" }, option === null || option === void 0 ? void 0 : option.regimeName),
13136
- React.createElement("div", { className: "price-summary__value" }, getDatePeriodText(option === null || option === void 0 ? void 0 : option.from, option === null || option === void 0 ? void 0 : option.to, true)))));
13137
- })))),
13138
- !isLoading && canShowPriceBreakdownSection && (React.createElement("div", { className: "pricing-summary__region" },
13139
- basePrice !== undefined && basePrice > 0 && (React.createElement("div", { className: "pricing-summary__group" },
13140
- React.createElement("div", { className: "pricing-summary__row" },
13141
- React.createElement("div", { className: "pricing-summary__property" },
13142
- React.createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.BASE_PRICE)),
13143
- React.createElement("div", { className: "pricing-summary__value" }, formatPrice(basePrice))))),
13144
- !isEmpty(includedCosts) && (React.createElement("div", { className: "pricing-summary__group" },
13145
- React.createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.INCLUDED_COSTS), includedCosts === null || includedCosts === void 0 ? void 0 :
13146
- includedCosts.map(function (priceDetail, index) {
13147
- var _a;
13148
- return (React.createElement(React.Fragment, { key: compact([
13149
- priceDetail.productCode,
13150
- priceDetail.accommodationCode,
13151
- index,
13152
- ]).join("_") },
13153
- React.createElement("div", { className: "pricing-summary__row" },
13154
- React.createElement("div", { className: "pricing-summary__property" }, priceDetail.productName),
13155
- priceDetail.showPrice && (React.createElement("div", { className: "pricing-summary__value" }, formatPrice(priceDetail.price * priceDetail.amount)))),
13156
- React.createElement("div", { className: "pricing-summary__row" },
13157
- React.createElement("div", { className: "price-summary__property" }, (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode))));
13158
- }))),
13159
- !isEmpty(extraCosts) && (React.createElement("div", { className: "pricing-summary__group" },
13160
- React.createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.EXTRA_COSTS), extraCosts === null || extraCosts === void 0 ? void 0 :
13161
- extraCosts.map(function (priceDetail, index) {
13162
- var _a;
13163
- return (React.createElement(React.Fragment, { key: compact([
13164
- priceDetail.productCode,
13165
- priceDetail.accommodationCode,
13166
- index,
13167
- ]).join("_") },
13168
- React.createElement("div", { className: "pricing-summary__row" },
13169
- React.createElement("div", { className: "pricing-summary__property" }, priceDetail.productName),
13170
- priceDetail.showPrice && (React.createElement("div", { className: "pricing-summary__value" }, formatPrice(priceDetail.price * priceDetail.amount)))),
13171
- React.createElement("div", { className: "pricing-summary__row" },
13172
- React.createElement("div", { className: "price-summary__property" }, (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode))));
13173
- }))))),
13174
- !isLoading && canShowTotalPriceSection && (React.createElement("div", { className: "pricing-summary__region pricing-summary__region--pricing" }, deposit ? (React.createElement("div", { className: "pricing-summary__group" },
13754
+ React.createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.BASE_PRICE)),
13755
+ React.createElement("div", { className: "pricing-summary__value" }, formatPrice(basePrice))))),
13756
+ !isEmpty(includedCosts) && (React.createElement("div", { className: "pricing-summary__group" },
13757
+ React.createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.INCLUDED_COSTS), includedCosts === null || includedCosts === void 0 ? void 0 :
13758
+ includedCosts.map(function (priceDetail, index) {
13759
+ var _a;
13760
+ return (React.createElement(React.Fragment, { key: compact([
13761
+ priceDetail.productCode,
13762
+ priceDetail.accommodationCode,
13763
+ index,
13764
+ ]).join("_") },
13765
+ React.createElement("div", { className: "pricing-summary__row" },
13766
+ React.createElement("div", { className: "pricing-summary__property" }, priceDetail.productName),
13767
+ priceDetail.showPrice && (React.createElement("div", { className: "pricing-summary__value" }, formatPrice(priceDetail.price * priceDetail.amount)))),
13768
+ React.createElement("div", { className: "pricing-summary__row" },
13769
+ React.createElement("div", { className: "price-summary__property" }, (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode))));
13770
+ }))),
13771
+ !isEmpty(extraCosts) && (React.createElement("div", { className: "pricing-summary__group" },
13772
+ React.createElement("h6", { className: "pricing-summary__title" }, translations.SIDEBAR.EXTRA_COSTS), extraCosts === null || extraCosts === void 0 ? void 0 :
13773
+ extraCosts.map(function (priceDetail, index) {
13774
+ var _a;
13775
+ return (React.createElement(React.Fragment, { key: compact([
13776
+ priceDetail.productCode,
13777
+ priceDetail.accommodationCode,
13778
+ index,
13779
+ ]).join("_") },
13780
+ React.createElement("div", { className: "pricing-summary__row" },
13781
+ React.createElement("div", { className: "pricing-summary__property" }, priceDetail.productName),
13782
+ priceDetail.showPrice && (React.createElement("div", { className: "pricing-summary__value" }, formatPrice(priceDetail.price * priceDetail.amount)))),
13783
+ React.createElement("div", { className: "pricing-summary__row" },
13784
+ React.createElement("div", { className: "price-summary__property" }, (_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode))));
13785
+ })))))),
13786
+ !isLoading && canShowTotalPriceSection && (React.createElement("div", { className: "pricing-summary__region pricing-summary__region--pricing ".concat(!isLoading ? "pricing-summary__region--fade-in" : "") }, deposit ? (React.createElement("div", { className: "pricing-summary__group" },
13175
13787
  totalPrice !== undefined && totalPrice > 0 && (React.createElement("div", { className: "pricing-summary__row pricing-summary__row--total-price" },
13176
13788
  React.createElement("div", { className: "pricing-summary__property" },
13177
13789
  React.createElement("h6", { className: "pricing-summary__title" }, translations.SHARED.TOTAL_PRICE)),
@@ -13193,7 +13805,7 @@ var Sidebar = function (_a) {
13193
13805
  formatPrice(remainingAmount),
13194
13806
  translations.SIDEBAR.DEPOSIT_TEXT4,
13195
13807
  React.createElement("strong", null, translations.SIDEBAR.DEPOSIT_TEXT5),
13196
- translations.SIDEBAR.DEPOSIT_TEXT6))))) : (React.createElement("div", { className: "pricing-summary__group" }, totalPrice !== undefined && totalPrice > 0 && (React.createElement("div", { className: "pricing-summary__row" },
13808
+ 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" },
13197
13809
  React.createElement("div", { className: "pricing-summary__property" },
13198
13810
  React.createElement("h6", { className: "pricing-summary__title" }, translations.SHARED.TOTAL_PRICE)),
13199
13811
  React.createElement("div", { className: "pricing-summary__value" },
@@ -13222,28 +13834,29 @@ var SidebarContainer = function (_a) {
13222
13834
  var SummaryPerPaxOptionGroup = function (_a) {
13223
13835
  var group = _a.group;
13224
13836
  var groupOptions = group.options.filter(function (x) { return x.isSelected; });
13225
- return (React.createElement("li", { className: "list__item" },
13837
+ var renderOptions = function () { return (React.createElement(React.Fragment, null, groupOptions.map(function (opt) {
13838
+ var _a;
13839
+ return (React.createElement("li", { key: opt.line.entryLineGuid, className: "list__item" },
13840
+ opt.line.productName,
13841
+ React.createElement("ul", null,
13842
+ React.createElement("li", null,
13843
+ opt.line.accommodationName,
13844
+ !isNil((_a = opt.line) === null || _a === void 0 ? void 0 : _a.regimeName) && ", ",
13845
+ opt.line.regimeName)),
13846
+ getDateText(opt.line.startDate),
13847
+ opt.line.startDate != opt.line.endDate
13848
+ ? " > ".concat(getDateText(opt.line.endDate))
13849
+ : "",
13850
+ React.createElement("ul", { className: "list" }, !isEmpty(opt === null || opt === void 0 ? void 0 : opt.groups) &&
13851
+ (opt === null || opt === void 0 ? void 0 : opt.groups.map(function (x) {
13852
+ if (!x.options.some(function (y) { return y.isSelected; }))
13853
+ return;
13854
+ return React.createElement(SummaryPerPaxOptionGroup, { group: x });
13855
+ })))));
13856
+ }))); };
13857
+ return (React.createElement(React.Fragment, null, group.title ? (React.createElement("li", { className: "list__item" },
13226
13858
  React.createElement("h6", null, group.title),
13227
- React.createElement("ul", { className: "list" }, groupOptions.map(function (opt) {
13228
- var _a;
13229
- return (React.createElement("li", { key: opt.line.entryLineGuid, className: "list__item" },
13230
- opt.line.productName,
13231
- ": ",
13232
- opt.line.accommodationName,
13233
- !isNil((_a = opt.line) === null || _a === void 0 ? void 0 : _a.regimeName) && ", ",
13234
- opt.line.regimeName,
13235
- React.createElement("br", null),
13236
- getDateText(opt.line.startDate),
13237
- opt.line.startDate != opt.line.endDate
13238
- ? " > ".concat(getDateText(opt.line.endDate))
13239
- : "",
13240
- React.createElement("ul", { className: "list" }, !isEmpty(opt === null || opt === void 0 ? void 0 : opt.groups) &&
13241
- (opt === null || opt === void 0 ? void 0 : opt.groups.map(function (x) {
13242
- if (!x.options.some(function (y) { return y.isSelected; }))
13243
- return;
13244
- return React.createElement(SummaryPerPaxOptionGroup, { group: x });
13245
- })))));
13246
- }))));
13859
+ React.createElement("ul", { className: "list" }, renderOptions()))) : (React.createElement(React.Fragment, null, renderOptions()))));
13247
13860
  };
13248
13861
 
13249
13862
  var SummaryBookingOptionPax = function (_a) {
@@ -13259,31 +13872,32 @@ var SummaryBookingOptionPax = function (_a) {
13259
13872
  var SummaryPerUnitOptionGroup = function (_a) {
13260
13873
  var group = _a.group;
13261
13874
  var groupOptions = group.options.filter(function (x) { return x.isSelected; });
13262
- return (React.createElement("li", { className: "list__item" },
13875
+ var renderOptions = function () { return (React.createElement(React.Fragment, null, groupOptions.map(function (opt) {
13876
+ var _a;
13877
+ return (React.createElement("li", { key: opt.line.entryLineGuid, className: "list__item" },
13878
+ opt.line.productName,
13879
+ React.createElement("ul", null,
13880
+ React.createElement("li", null,
13881
+ opt.line.accommodationName,
13882
+ !isNil((_a = opt.line) === null || _a === void 0 ? void 0 : _a.regimeName) && ", ",
13883
+ opt.line.regimeName)),
13884
+ getDateText(opt.line.startDate),
13885
+ opt.line.startDate != opt.line.endDate
13886
+ ? " > ".concat(getDateText(opt.line.endDate))
13887
+ : "",
13888
+ React.createElement("ul", null,
13889
+ !isEmpty(opt === null || opt === void 0 ? void 0 : opt.groups) &&
13890
+ (opt === null || opt === void 0 ? void 0 : opt.groups.map(function (x) {
13891
+ if (!x.options.some(function (y) { return y.isSelected; }))
13892
+ return;
13893
+ return React.createElement(SummaryPerUnitOptionGroup, { group: x });
13894
+ })),
13895
+ !isEmpty(opt === null || opt === void 0 ? void 0 : opt.pax) &&
13896
+ (opt === null || opt === void 0 ? void 0 : opt.pax.map(function (x) { return React.createElement(SummaryBookingOptionPax, { pax: x }); })))));
13897
+ }))); };
13898
+ return (React.createElement(React.Fragment, null, group.title ? (React.createElement("li", { className: "list__item" },
13263
13899
  React.createElement("h6", null, group.title),
13264
- React.createElement("ul", { className: "list" }, groupOptions.map(function (opt) {
13265
- var _a;
13266
- return (React.createElement("li", { key: opt.line.entryLineGuid, className: "list__item" },
13267
- opt.line.productName,
13268
- ": ",
13269
- opt.line.accommodationName,
13270
- !isNil((_a = opt.line) === null || _a === void 0 ? void 0 : _a.regimeName) && ", ",
13271
- opt.line.regimeName,
13272
- React.createElement("br", null),
13273
- getDateText(opt.line.startDate),
13274
- opt.line.startDate != opt.line.endDate
13275
- ? " > ".concat(getDateText(opt.line.endDate))
13276
- : "",
13277
- React.createElement("ul", null,
13278
- !isEmpty(opt === null || opt === void 0 ? void 0 : opt.groups) &&
13279
- (opt === null || opt === void 0 ? void 0 : opt.groups.map(function (x) {
13280
- if (!x.options.some(function (y) { return y.isSelected; }))
13281
- return;
13282
- return React.createElement(SummaryPerUnitOptionGroup, { group: x });
13283
- })),
13284
- !isEmpty(opt === null || opt === void 0 ? void 0 : opt.pax) &&
13285
- (opt === null || opt === void 0 ? void 0 : opt.pax.map(function (x) { return React.createElement(SummaryBookingOptionPax, { pax: x }); })))));
13286
- }))));
13900
+ React.createElement("ul", { className: "list" }, renderOptions()))) : (React.createElement(React.Fragment, null, renderOptions()))));
13287
13901
  };
13288
13902
 
13289
13903
  var SummaryBookingOptionUnit = function (_a) {
@@ -13331,33 +13945,34 @@ var SummaryFlight = function (_a) {
13331
13945
  var SummaryPerBookingOptionGroup = function (_a) {
13332
13946
  var group = _a.group;
13333
13947
  var groupOptions = group.options.filter(function (x) { return x.isSelected; });
13334
- return (React.createElement("li", { className: "list__item" },
13948
+ var renderOptions = function () { return (React.createElement(React.Fragment, null, groupOptions.map(function (opt) {
13949
+ var _a;
13950
+ return (React.createElement("li", { key: opt.line.entryLineGuid, className: "list__item" },
13951
+ opt.line.productName,
13952
+ React.createElement("ul", null,
13953
+ React.createElement("li", null,
13954
+ opt.line.accommodationName,
13955
+ !isNil((_a = opt.line) === null || _a === void 0 ? void 0 : _a.regimeName) && ", ",
13956
+ opt.line.regimeName)),
13957
+ getDateText(opt.line.startDate),
13958
+ opt.line.startDate != opt.line.endDate
13959
+ ? " > ".concat(getDateText(opt.line.endDate))
13960
+ : "",
13961
+ React.createElement("ul", null,
13962
+ !isEmpty(opt === null || opt === void 0 ? void 0 : opt.groups) &&
13963
+ (opt === null || opt === void 0 ? void 0 : opt.groups.map(function (x) {
13964
+ if (!x.options.some(function (y) { return y.isSelected; }))
13965
+ return;
13966
+ return React.createElement(SummaryPerBookingOptionGroup, { group: x });
13967
+ })),
13968
+ !isEmpty(opt === null || opt === void 0 ? void 0 : opt.units) &&
13969
+ (opt === null || opt === void 0 ? void 0 : opt.units.map(function (x) { return React.createElement(SummaryBookingOptionUnit, { unit: x }); })),
13970
+ !isEmpty(opt === null || opt === void 0 ? void 0 : opt.pax) &&
13971
+ (opt === null || opt === void 0 ? void 0 : opt.pax.map(function (x) { return React.createElement(SummaryBookingOptionPax, { pax: x }); })))));
13972
+ }))); };
13973
+ return (React.createElement(React.Fragment, null, group.title ? (React.createElement("li", { className: "list__item" },
13335
13974
  React.createElement("h6", null, group.title),
13336
- React.createElement("ul", { className: "list" }, groupOptions.map(function (opt) {
13337
- var _a;
13338
- return (React.createElement("li", { key: opt.line.entryLineGuid, className: "list__item" },
13339
- opt.line.productName,
13340
- ": ",
13341
- opt.line.accommodationName,
13342
- !isNil((_a = opt.line) === null || _a === void 0 ? void 0 : _a.regimeName) && ", ",
13343
- opt.line.regimeName,
13344
- React.createElement("br", null),
13345
- getDateText(opt.line.startDate),
13346
- opt.line.startDate != opt.line.endDate
13347
- ? " > ".concat(getDateText(opt.line.endDate))
13348
- : "",
13349
- React.createElement("ul", null,
13350
- !isEmpty(opt === null || opt === void 0 ? void 0 : opt.groups) &&
13351
- (opt === null || opt === void 0 ? void 0 : opt.groups.map(function (x) {
13352
- if (!x.options.some(function (y) { return y.isSelected; }))
13353
- return;
13354
- return React.createElement(SummaryPerBookingOptionGroup, { group: x });
13355
- })),
13356
- !isEmpty(opt === null || opt === void 0 ? void 0 : opt.units) &&
13357
- (opt === null || opt === void 0 ? void 0 : opt.units.map(function (x) { return React.createElement(SummaryBookingOptionUnit, { unit: x }); })),
13358
- !isEmpty(opt === null || opt === void 0 ? void 0 : opt.pax) &&
13359
- (opt === null || opt === void 0 ? void 0 : opt.pax.map(function (x) { return React.createElement(SummaryBookingOptionPax, { pax: x }); })))));
13360
- }))));
13975
+ React.createElement("ul", { className: "list" }, renderOptions()))) : (React.createElement(React.Fragment, null, renderOptions()))));
13361
13976
  };
13362
13977
 
13363
13978
  var Summary = function () {
@@ -13374,6 +13989,8 @@ var Summary = function () {
13374
13989
  var activeOption = useSelector(selectActiveOption);
13375
13990
  var apiSettings = useSelector(selectApiSettings);
13376
13991
  var languageCode = useSelector(selectLanguageCode);
13992
+ var officeId = useSelector(selectOfficeId);
13993
+ var agentId = useSelector(selectAgentAdressId);
13377
13994
  if (!travelerFormValues) {
13378
13995
  if (settings.skipRouter) {
13379
13996
  dispatch(setCurrentStep(TRAVELERS_FORM_STEP));
@@ -13472,7 +14089,7 @@ var Summary = function () {
13472
14089
  dispatch(setBookingRemarks(text));
13473
14090
  setRemarks(text);
13474
14091
  };
13475
- var handleValidateVoucher = function (event) { return __awaiter$1(void 0, void 0, void 0, function () {
14092
+ var handleValidateVoucher = function () { return __awaiter$1(void 0, void 0, void 0, function () {
13476
14093
  var request, tideClientConfig, result;
13477
14094
  var _a;
13478
14095
  return __generator$1(this, function (_b) {
@@ -13480,10 +14097,13 @@ var Summary = function () {
13480
14097
  case 0:
13481
14098
  if (!(voucher === null || voucher === void 0 ? void 0 : voucher.code))
13482
14099
  return [2 /*return*/];
13483
- request = useSelector(selectBookingPackageRequest);
13484
- request.payload = {
13485
- code: voucher.code,
13486
- otherCodes: (_a = bookRequest === null || bookRequest === void 0 ? void 0 : bookRequest.payload.voucherCodes) !== null && _a !== void 0 ? _a : [],
14100
+ request = {
14101
+ officeId: officeId,
14102
+ agentId: agentId,
14103
+ payload: {
14104
+ code: voucher.code,
14105
+ otherCodes: (_a = bookRequest === null || bookRequest === void 0 ? void 0 : bookRequest.payload.voucherCodes) !== null && _a !== void 0 ? _a : [],
14106
+ },
13487
14107
  };
13488
14108
  tideClientConfig = buildTideClientConfig(apiSettings);
13489
14109
  if (!tideClientConfig)
@@ -13520,176 +14140,185 @@ var Summary = function () {
13520
14140
  return (React.createElement(React.Fragment, null,
13521
14141
  isSubmitting && settings.loaderComponent,
13522
14142
  !isSubmitting && (React.createElement("form", { className: "form", name: "booking--summary", id: "booking--summary", onSubmit: handleSubmit },
13523
- React.createElement("div", { className: "form__region" },
13524
- React.createElement("div", { className: "form__row" },
13525
- React.createElement("div", { className: "form__group" },
13526
- React.createElement("div", { className: "form__region-header" },
13527
- React.createElement("h5", { className: "form__region-heading" }, translations.SUMMARY.PERSONAL_DETAILS)))),
13528
- rooms.map(function (r, rIndex) { return (React.createElement("div", { className: "form__row" },
13529
- React.createElement("div", { className: "form__group" },
13530
- React.createElement("div", { className: "form__region-header" },
13531
- React.createElement("h5", { className: "form__region-heading" },
13532
- translations.SHARED.ROOM,
13533
- " ",
13534
- rIndex + 1),
13535
- React.createElement("p", { className: "form__region-label" }, "".concat(r.adults.length + r.children.length, " ").concat(r.adults.length + r.children.length === 1
13536
- ? translations.SUMMARY.TRAVELER
13537
- : translations.SUMMARY.TRAVELERS, ": ").concat(compact([
13538
- r.adults.length,
13539
- r.adults.length === 1 &&
13540
- " ".concat(translations.SUMMARY.ADULT),
13541
- r.adults.length > 1 &&
13542
- " ".concat(translations.SUMMARY.ADULTS),
13543
- r.adults &&
13544
- r.adults.length &&
13545
- r.children &&
13546
- r.children.length &&
13547
- ", ",
13548
- r.children.length,
13549
- r.children.length === 1 &&
13550
- " ".concat(translations.SUMMARY.CHILD),
13551
- r.children.length > 1 &&
13552
- " ".concat(translations.SUMMARY.CHILDREN),
13553
- ]).join(""))))),
13554
- __spreadArray(__spreadArray([], r.adults, true), r.children, true).map(function (traveler) {
13555
- var isMainBooker = traveler.id === (travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.mainBookerId);
13556
- return (React.createElement("div", { className: "form__group form__group--sm-50", key: traveler.id },
13557
- React.createElement("ul", { className: "list list--plain" },
13558
- React.createElement("li", { className: "list__item" },
13559
- React.createElement("strong", null,
13560
- traveler.firstName,
13561
- " ",
13562
- traveler.lastName),
14143
+ React.createElement("div", { className: "form__booking--summary" },
14144
+ React.createElement("div", { className: "form__region" },
14145
+ React.createElement("div", { className: "form__row" },
14146
+ React.createElement("div", { className: "form__group" },
14147
+ React.createElement("div", { className: "form__region-header" },
14148
+ React.createElement("h5", { className: "form__region-heading" }, translations.SUMMARY.PERSONAL_DETAILS)))),
14149
+ rooms.map(function (r, rIndex) { return (React.createElement("div", { className: "form__row" },
14150
+ React.createElement("div", { className: "form__group" },
14151
+ React.createElement("div", { className: "form__region-header" },
14152
+ React.createElement("h5", { className: "form__region-heading" },
14153
+ translations.SHARED.ROOM,
13563
14154
  " ",
13564
- isMainBooker && (React.createElement("em", null,
14155
+ rIndex + 1),
14156
+ React.createElement("p", { className: "form__region-label" }, "".concat(r.adults.length + r.children.length, " ").concat(r.adults.length + r.children.length === 1
14157
+ ? translations.SUMMARY.TRAVELER
14158
+ : translations.SUMMARY.TRAVELERS, ": ").concat(compact([
14159
+ r.adults.length,
14160
+ r.adults.length === 1 &&
14161
+ " ".concat(translations.SUMMARY.ADULT),
14162
+ r.adults.length > 1 &&
14163
+ " ".concat(translations.SUMMARY.ADULTS),
14164
+ r.adults &&
14165
+ r.adults.length &&
14166
+ r.children &&
14167
+ r.children.length &&
14168
+ ", ",
14169
+ r.children.length,
14170
+ r.children.length === 1 &&
14171
+ " ".concat(translations.SUMMARY.CHILD),
14172
+ r.children.length > 1 &&
14173
+ " ".concat(translations.SUMMARY.CHILDREN),
14174
+ ]).join(""))))),
14175
+ __spreadArray(__spreadArray([], r.adults, true), r.children, true).map(function (traveler) {
14176
+ var isMainBooker = traveler.id === (travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.mainBookerId);
14177
+ return (React.createElement("div", { className: "form__group form__group--sm-50", key: traveler.id },
14178
+ React.createElement("ul", { className: "list list--plain" },
14179
+ React.createElement("li", { className: "list__item" },
14180
+ React.createElement("strong", null,
14181
+ traveler.firstName,
14182
+ " ",
14183
+ traveler.lastName),
14184
+ " ",
14185
+ isMainBooker && (React.createElement("em", null,
14186
+ "(",
14187
+ translations.SUMMARY.MAIN_BOOKER,
14188
+ ")"))),
14189
+ React.createElement("li", { className: "list__item" }, traveler.birthDate.split("-").reverse().join("/")),
14190
+ isMainBooker && (React.createElement(React.Fragment, null,
14191
+ React.createElement("li", { className: "list__item" }, "".concat(travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.street, " ").concat(compact([
14192
+ travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.houseNumber,
14193
+ travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.box,
14194
+ ]).join(" "), ", ").concat(travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.zipCode, " ").concat(travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.place)),
14195
+ React.createElement("li", { className: "list__item" }, travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.phone),
14196
+ React.createElement("li", { className: "list__item" }, travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.email))))));
14197
+ }))); })),
14198
+ React.createElement("div", { className: "form__region" },
14199
+ React.createElement("div", { className: "form__row" },
14200
+ React.createElement("div", { className: "form__group" },
14201
+ React.createElement("div", { className: "form__region-header" },
14202
+ React.createElement("h5", { className: "form__region-heading" }, translations.SUMMARY.OPTIONS)))),
14203
+ React.createElement("div", { className: "form__row" },
14204
+ React.createElement("div", { className: "form__group" },
14205
+ React.createElement("ul", { className: "list list--booking-summary" },
14206
+ React.createElement("li", null,
14207
+ React.createElement("h6", null, activeOption === null || activeOption === void 0 ? void 0 : activeOption.name),
14208
+ React.createElement("ul", null, activeOption === null || activeOption === void 0 ? void 0 : activeOption.rooms.map(function (r, ri) {
14209
+ var roomOption = r.options.find(function (x) { return x.isSelected; });
14210
+ return (React.createElement("li", { key: ri, className: "list__item" }, roomOption === null || roomOption === void 0 ? void 0 :
14211
+ roomOption.accommodationName,
14212
+ !isNil(roomOption === null || roomOption === void 0 ? void 0 : roomOption.regimeName) && ", ", roomOption === null || roomOption === void 0 ? void 0 :
14213
+ roomOption.regimeName));
14214
+ })),
14215
+ React.createElement("p", null,
13565
14216
  "(",
13566
- translations.SUMMARY.MAIN_BOOKER,
13567
- ")"))),
13568
- React.createElement("li", { className: "list__item" }, traveler.birthDate.split("-").reverse().join("/")),
13569
- isMainBooker && (React.createElement(React.Fragment, null,
13570
- React.createElement("li", { className: "list__item" }, "".concat(travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.street, " ").concat(compact([
13571
- travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.houseNumber,
13572
- travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.box,
13573
- ]).join(" "), ", ").concat(travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.zipCode, " ").concat(travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.place)),
13574
- React.createElement("li", { className: "list__item" }, travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.phone),
13575
- React.createElement("li", { className: "list__item" }, travelerFormValues === null || travelerFormValues === void 0 ? void 0 : travelerFormValues.email))))));
13576
- }))); })),
13577
- React.createElement("div", { className: "form__region" },
13578
- React.createElement("div", { className: "form__row" },
13579
- React.createElement("div", { className: "form__group" },
13580
- React.createElement("div", { className: "form__region-header" },
13581
- React.createElement("h5", { className: "form__region-heading" }, translations.SUMMARY.OPTIONS)))),
13582
- React.createElement("div", { className: "form__row" },
13583
- React.createElement("div", { className: "form__group" },
13584
- React.createElement("ul", { className: "list list--booking-summary" },
13585
- React.createElement("li", null,
13586
- React.createElement("h6", null, activeOption === null || activeOption === void 0 ? void 0 : activeOption.name),
13587
- React.createElement("ul", null, activeOption === null || activeOption === void 0 ? void 0 : activeOption.rooms.map(function (r, ri) {
13588
- var roomOption = r.options.find(function (x) { return x.isSelected; });
13589
- return (React.createElement("li", { key: ri, className: "list__item" }, roomOption === null || roomOption === void 0 ? void 0 :
13590
- roomOption.accommodationName,
13591
- !isNil(roomOption === null || roomOption === void 0 ? void 0 : roomOption.regimeName) && ", ", roomOption === null || roomOption === void 0 ? void 0 :
13592
- roomOption.regimeName));
13593
- })),
13594
- React.createElement("p", null,
13595
- "(",
13596
- getDateText(activeOption === null || activeOption === void 0 ? void 0 : activeOption.fromDate),
13597
- " >",
14217
+ getDateText(activeOption === null || activeOption === void 0 ? void 0 : activeOption.fromDate),
14218
+ " >",
14219
+ " ",
14220
+ getDateText(activeOption === null || activeOption === void 0 ? void 0 : activeOption.toDate),
14221
+ ")")),
14222
+ !isEmpty(activeOption === null || activeOption === void 0 ? void 0 : activeOption.groups) &&
14223
+ (activeOption === null || activeOption === void 0 ? void 0 : activeOption.groups.map(function (x, i) {
14224
+ if (!x.options.some(function (y) { return y.isSelected; }))
14225
+ return;
14226
+ return React.createElement(SummaryPerBookingOptionGroup, { key: i, group: x });
14227
+ })),
14228
+ !isEmpty(activeOption === null || activeOption === void 0 ? void 0 : activeOption.optionUnits) &&
14229
+ (activeOption === null || activeOption === void 0 ? void 0 : activeOption.optionUnits.map(function (x) { return (React.createElement(SummaryBookingOptionUnit, { unit: x })); })),
14230
+ !isEmpty(activeOption === null || activeOption === void 0 ? void 0 : activeOption.optionPax) &&
14231
+ (activeOption === null || activeOption === void 0 ? void 0 : activeOption.optionPax.map(function (x) { return (React.createElement(SummaryBookingOptionPax, { pax: x })); })),
14232
+ (packageDetails === null || packageDetails === void 0 ? void 0 : packageDetails.outwardFlights) &&
14233
+ packageDetails.outwardFlights
14234
+ .filter(function (x) { return x.isSelected; })
14235
+ .map(function (flight, i) { return (React.createElement(SummaryFlight, { key: i, flight: flight, header: translations.SIDEBAR.DEPARTURE_FLIGHT })); }),
14236
+ (packageDetails === null || packageDetails === void 0 ? void 0 : packageDetails.returnFlights) &&
14237
+ packageDetails.returnFlights
14238
+ .filter(function (x) { return x.isSelected; })
14239
+ .map(function (flight, i) { return (React.createElement(SummaryFlight, { key: i, flight: flight, header: translations.SIDEBAR.ARRIVAL_FLIGHT })); }))))),
14240
+ settings.enableVoucher && (React.createElement("div", { className: "form__region" },
14241
+ React.createElement("div", { className: "form__row" },
14242
+ React.createElement("div", { className: "form__group" },
14243
+ React.createElement("div", { className: "form__region-header" },
14244
+ React.createElement("h5", { className: "form__region-heading" }, translations.SUMMARY.VOUCHERS)))),
14245
+ React.createElement("div", { className: "form__row" },
14246
+ React.createElement("div", { className: "form__group" },
14247
+ React.createElement("input", { type: "text", className: "form__input info-message__voucher__input", defaultValue: voucher.code, onChange: function (e) { return setVoucher({ code: e.target.value }); } }),
14248
+ React.createElement("button", { type: "button", className: buildClassName([
14249
+ "cta",
14250
+ !voucher.code && "cta--disabled",
14251
+ ]), onClick: function (e) { return handleValidateVoucher(); } }, translations.SUMMARY.VOUCHER_VALIDATE))),
14252
+ React.createElement("div", { className: "form__row" },
14253
+ React.createElement("div", { className: "form__group info-message__voucher" },
14254
+ voucher.isValid && voucher.isValidated && (React.createElement("div", { className: "info-message info-message__voucher__valid" },
14255
+ React.createElement("span", null, translations.SUMMARY.VOUCHER_VALID),
14256
+ React.createElement("button", { type: "button", className: "cta cta--secondary", onClick: handleAddVoucher }, translations.SUMMARY.ADD_VOUCHER))),
14257
+ !voucher.isValid && voucher.isValidated && (React.createElement("div", { className: "info-message--error" }, translations.SUMMARY.VOUCHER_INVALID)))),
14258
+ React.createElement("div", { className: "form__row" },
14259
+ React.createElement("ul", { className: "info-message__voucher" }, !isEmpty(bookRequest === null || bookRequest === void 0 ? void 0 : bookRequest.payload.voucherCodes) &&
14260
+ ((_b = bookRequest === null || bookRequest === void 0 ? void 0 : bookRequest.payload.voucherCodes) === null || _b === void 0 ? void 0 : _b.map(function (y) { return (React.createElement("li", null,
14261
+ React.createElement("div", { className: "info-message__voucher__list" },
14262
+ y,
13598
14263
  " ",
13599
- getDateText(activeOption === null || activeOption === void 0 ? void 0 : activeOption.toDate),
13600
- ")")),
13601
- !isEmpty(activeOption === null || activeOption === void 0 ? void 0 : activeOption.groups) &&
13602
- (activeOption === null || activeOption === void 0 ? void 0 : activeOption.groups.map(function (x, i) {
13603
- if (!x.options.some(function (y) { return y.isSelected; }))
13604
- return;
13605
- return React.createElement(SummaryPerBookingOptionGroup, { key: i, group: x });
13606
- })),
13607
- !isEmpty(activeOption === null || activeOption === void 0 ? void 0 : activeOption.optionUnits) &&
13608
- (activeOption === null || activeOption === void 0 ? void 0 : activeOption.optionUnits.map(function (x) { return (React.createElement(SummaryBookingOptionUnit, { unit: x })); })),
13609
- !isEmpty(activeOption === null || activeOption === void 0 ? void 0 : activeOption.optionPax) &&
13610
- (activeOption === null || activeOption === void 0 ? void 0 : activeOption.optionPax.map(function (x) { return (React.createElement(SummaryBookingOptionPax, { pax: x })); })),
13611
- (packageDetails === null || packageDetails === void 0 ? void 0 : packageDetails.outwardFlights) &&
13612
- packageDetails.outwardFlights
13613
- .filter(function (x) { return x.isSelected; })
13614
- .map(function (flight, i) { return (React.createElement(SummaryFlight, { key: i, flight: flight, header: translations.SIDEBAR.DEPARTURE_FLIGHT })); }),
13615
- (packageDetails === null || packageDetails === void 0 ? void 0 : packageDetails.returnFlights) &&
13616
- packageDetails.returnFlights
13617
- .filter(function (x) { return x.isSelected; })
13618
- .map(function (flight, i) { return (React.createElement(SummaryFlight, { key: i, flight: flight, header: translations.SIDEBAR.ARRIVAL_FLIGHT })); }))))),
13619
- settings.enableVoucher && (React.createElement("div", { className: "form__region" },
13620
- React.createElement("div", { className: "form__row" },
13621
- React.createElement("div", { className: "form__group" },
13622
- React.createElement("div", { className: "form__region-header" },
13623
- React.createElement("h5", { className: "form__region-heading" }, translations.SUMMARY.VOUCHERS)))),
13624
- React.createElement("div", { className: "form__row" },
13625
- React.createElement("div", { className: "form__group" },
13626
- React.createElement("input", { type: "text", className: "form__input", defaultValue: voucher.code, onChange: function (e) { return setVoucher({ code: e.target.value }); } }),
13627
- React.createElement("button", { type: "button", className: buildClassName([
13628
- "cta",
13629
- !voucher.code && "cta--disabled",
13630
- ]), onClick: handleValidateVoucher }, translations.SUMMARY.VOUCHER_VALIDATE))),
13631
- React.createElement("div", { className: "form__row" },
13632
- React.createElement("div", { className: "form__group" },
13633
- voucher.isValid && voucher.isValidated && (React.createElement("div", { className: "info-message" },
13634
- translations.SUMMARY.VOUCHER_VALID,
13635
- React.createElement("button", { type: "button", className: "cta", onClick: handleAddVoucher }, translations.SUMMARY.ADD_VOUCHER))),
13636
- !voucher.isValid && voucher.isValidated && (React.createElement("div", { className: "info-message--error" }, translations.SUMMARY.VOUCHER_INVALID)))),
13637
- React.createElement("div", { className: "form__row" },
13638
- React.createElement("ul", null, !isEmpty(bookRequest === null || bookRequest === void 0 ? void 0 : bookRequest.payload.voucherCodes) &&
13639
- ((_b = bookRequest === null || bookRequest === void 0 ? void 0 : bookRequest.payload.voucherCodes) === null || _b === void 0 ? void 0 : _b.map(function (y) { return (React.createElement("li", null,
13640
- y,
13641
- " ",
13642
- React.createElement("button", { type: "button", className: "cat--add-remove", onClick: function (e) { return handleRemoveVoucher(y); } }))); })))))),
13643
- !isEmpty(notifications) && (React.createElement("div", { className: "form__region" },
13644
- React.createElement("div", { className: "form__row" },
13645
- React.createElement("div", { className: "form__group" },
13646
- React.createElement("div", { className: "info-message" },
13647
- React.createElement(Icon, { name: "ui-tooltip", className: "icon--secondary-color" }),
13648
- React.createElement("div", { className: "info-message__copy" },
13649
- React.createElement("h5", null, translations.SUMMARY.NOTIFICATIONS_TITLE),
13650
- React.createElement(React.Fragment, null,
13651
- uniqBy(notifications.filter(function (x) { return !x.hasToBeConfirmed; }), "id").map(function (notification) { return (React.createElement("span", { key: notification.id, className: "checkbox__label-text" },
13652
- React.createElement("strong", { className: "checkbox__label-text--title" }, notification.title),
13653
- React.createElement("span", { className: "checkbox__label-text--description" }, notification.description))); }),
13654
- uniqBy(notifications.filter(function (x) { return x.hasToBeConfirmed; }), "id").map(function (notification) { return (React.createElement("div", { className: "checkbox", key: notification.id },
13655
- React.createElement("label", { className: "checkbox__label" },
13656
- React.createElement("input", { type: "checkbox", className: "checkbox__input", checked: notification.isConfirmed, onChange: function (e) {
13657
- return handleNotificationChange(notification.id, e.target.checked);
13658
- } }),
13659
- React.createElement("span", { className: "checkbox__label-text" },
13660
- React.createElement("strong", { className: "checkbox__label-text--title" }, notification.title),
13661
- React.createElement("span", { className: "checkbox__label-text--description" }, notification.description))))); })))))))),
13662
- React.createElement("div", { className: "form__region" },
13663
- React.createElement("div", { className: "form__row" },
13664
- React.createElement("div", { className: "form__group" },
13665
- React.createElement("div", { className: "form__region-header" },
13666
- React.createElement("h5", { className: "form__region-heading" }, translations.SUMMARY.REMARKS)))),
13667
- React.createElement("div", { className: "form__row" },
13668
- React.createElement("div", { className: "form__group" },
13669
- React.createElement("textarea", { className: "form__input", defaultValue: remarks, onChange: function (e) { return handleRemarksChange(e.target.value); } })))),
13670
- React.createElement("div", { className: "form__region" },
13671
- React.createElement("div", { className: "form__row" },
13672
- React.createElement("div", { className: "form__group" },
13673
- React.createElement("div", { className: "info-message" },
13674
- React.createElement(Icon, { name: "ui-tooltip", className: "icon--secondary-color" }),
13675
- React.createElement("div", { className: "info-message__copy" },
13676
- React.createElement("h5", null, translations.SUMMARY.VALIDATE_TITLE),
13677
- React.createElement("p", null, settings.isOffer ? translations.SUMMARY.VALIDATE_TEXT_OFFER : translations.SUMMARY.VALIDATE_TEXT_BOOKING),
13678
- checkboxes &&
13679
- checkboxes.map(function (checkbox) { return (React.createElement("div", { className: "checkbox", key: checkbox.id },
13680
- React.createElement("label", { className: "checkbox__label" },
13681
- React.createElement("input", { type: "checkbox", className: "checkbox__input", checked: checkbox.isSelected, onChange: function (e) {
13682
- return handleCheckboxChange(checkbox.id, e.target.checked);
13683
- } }),
13684
- React.createElement("span", { className: "checkbox__label-text", dangerouslySetInnerHTML: {
13685
- __html: checkbox.text,
13686
- } })))); })))))),
14264
+ React.createElement("button", { type: "button", className: "cta--add-remove", onClick: function (e) { return handleRemoveVoucher(y); } },
14265
+ React.createElement(Icon, { height: 16, name: "ui-trashcan" }))))); })))))),
14266
+ !isEmpty(notifications) && (React.createElement("div", { className: "form__region" },
14267
+ React.createElement("div", { className: "form__row" },
14268
+ React.createElement("div", { className: "form__group" },
14269
+ React.createElement("div", { className: "info-message" },
14270
+ React.createElement(Icon, { name: "ui-tooltip", className: "icon--secondary-color" }),
14271
+ React.createElement("div", { className: "info-message__copy" },
14272
+ React.createElement("h5", null, translations.SUMMARY.NOTIFICATIONS_TITLE),
14273
+ React.createElement(React.Fragment, null,
14274
+ uniqBy(notifications.filter(function (x) { return !x.hasToBeConfirmed; }), "id").map(function (notification) { return (React.createElement("span", { key: notification.id, className: "checkbox__label-text" },
14275
+ React.createElement("strong", { className: "checkbox__label-text--title" }, notification.title),
14276
+ React.createElement("span", { className: "checkbox__label-text--description" }, notification.description))); }),
14277
+ uniqBy(notifications.filter(function (x) { return x.hasToBeConfirmed; }), "id").map(function (notification) { return (React.createElement("div", { className: "checkbox", key: notification.id },
14278
+ React.createElement("label", { className: "checkbox__label" },
14279
+ React.createElement("input", { type: "checkbox", className: "checkbox__input", checked: notification.isConfirmed, onChange: function (e) {
14280
+ return handleNotificationChange(notification.id, e.target.checked);
14281
+ } }),
14282
+ React.createElement("span", { className: "checkbox__label-text" },
14283
+ React.createElement("strong", { className: "checkbox__label-text--title" }, notification.title),
14284
+ React.createElement("span", { className: "checkbox__label-text--description" }, notification.description))))); })))))))),
14285
+ React.createElement("div", { className: "form__region" },
14286
+ React.createElement("div", { className: "form__row" },
14287
+ React.createElement("div", { className: "form__group" },
14288
+ React.createElement("div", { className: "form__region-header" },
14289
+ React.createElement("h5", { className: "form__region-heading" }, translations.SUMMARY.REMARKS)))),
14290
+ React.createElement("div", { className: "form__row" },
14291
+ React.createElement("div", { className: "form__group" },
14292
+ React.createElement("textarea", { className: "form__input", defaultValue: remarks, onChange: function (e) { return handleRemarksChange(e.target.value); } })))),
14293
+ React.createElement("div", { className: "form__region" },
14294
+ React.createElement("div", { className: "form__row" },
14295
+ React.createElement("div", { className: "form__group" },
14296
+ React.createElement("div", { className: "info-message" },
14297
+ React.createElement(Icon, { name: "ui-tooltip", className: "icon--secondary-color" }),
14298
+ React.createElement("div", { className: "info-message__copy" },
14299
+ React.createElement("h5", null, translations.SUMMARY.VALIDATE_TITLE),
14300
+ React.createElement("p", null, settings.isOffer
14301
+ ? translations.SUMMARY.VALIDATE_TEXT_OFFER
14302
+ : translations.SUMMARY.VALIDATE_TEXT_BOOKING),
14303
+ checkboxes &&
14304
+ checkboxes.map(function (checkbox) { return (React.createElement("div", { className: "checkbox", key: checkbox.id },
14305
+ React.createElement("label", { className: "checkbox__label" },
14306
+ React.createElement("input", { type: "checkbox", className: "checkbox__input", checked: checkbox.isSelected, onChange: function (e) {
14307
+ return handleCheckboxChange(checkbox.id, e.target.checked);
14308
+ } }),
14309
+ React.createElement("span", { className: "checkbox__label-text", dangerouslySetInnerHTML: {
14310
+ __html: checkbox.text,
14311
+ } })))); }))))))),
13687
14312
  React.createElement("div", { className: "booking__navigator" },
13688
14313
  settings.skipRouter ? (React.createElement("button", { type: "button", title: translations.STEPS.PREVIOUS, onClick: function () { return goPrevious(); }, className: "cta cta--secondary" }, translations.STEPS.PREVIOUS)) : (React.createElement(Link, { to: "".concat(settings.basePath).concat(settings.travellers.pathSuffix, "?").concat(bookingQueryString), title: translations.STEPS.PREVIOUS, className: "cta cta--secondary" }, translations.STEPS.PREVIOUS)),
13689
- React.createElement("button", { title: settings.isOffer ? translations.STEPS.SUBMIT_OFFER : translations.STEPS.SUBMIT_BOOKING, className: buildClassName([
14314
+ React.createElement("button", { title: settings.isOffer
14315
+ ? translations.STEPS.SUBMIT_OFFER
14316
+ : translations.STEPS.SUBMIT_BOOKING, className: buildClassName([
13690
14317
  "cta",
13691
14318
  !userValidated && "cta--disabled",
13692
- ]), disabled: !userValidated }, settings.isOffer ? translations.STEPS.SUBMIT_OFFER : translations.STEPS.SUBMIT_BOOKING))))));
14319
+ ]), disabled: !userValidated }, settings.isOffer
14320
+ ? translations.STEPS.SUBMIT_OFFER
14321
+ : translations.STEPS.SUBMIT_BOOKING))))));
13693
14322
  };
13694
14323
 
13695
14324
  var LabeledInput = function (_a) {
@@ -13731,7 +14360,7 @@ var TypeAheadInput = function (_a) {
13731
14360
  };
13732
14361
  return (React.createElement("div", { className: "typeahead" },
13733
14362
  React.createElement("div", { className: "typeahead__trigger typeahead__trigger--icon" },
13734
- React.createElement(Icon, { name: "qsm-location" }),
14363
+ React.createElement(Icon, { name: "ui-qsm-location" }),
13735
14364
  React.createElement("input", { type: "text", className: "form__input", name: name, value: value, onChange: handleChange, placeholder: placeholder, required: true, autoComplete: "off", onKeyDown: function (e) {
13736
14365
  if (e.key === "Tab" && options && onSelect) {
13737
14366
  onSelect(options[0].key);
@@ -14025,159 +14654,160 @@ var TravelersForm = function () {
14025
14654
  return get$2(formik.errors, key) && get$2(formik.touched, key);
14026
14655
  };
14027
14656
  return (React.createElement("form", { className: "form form__travelers", name: "booking--travellers", id: "booking--travellers", noValidate: true, onSubmit: formik.handleSubmit, onReset: formik.handleReset },
14028
- formik.values.rooms.map(function (room, rIndex) { return (React.createElement("div", { key: rIndex },
14029
- React.createElement("div", { className: "form__region" },
14657
+ React.createElement("div", { className: "form__travelers__wrapper" },
14658
+ formik.values.rooms.map(function (room, rIndex) { return (React.createElement("div", { key: rIndex },
14659
+ React.createElement("div", { className: "form__region" },
14660
+ React.createElement("div", { className: "form__region-header" },
14661
+ React.createElement("h5", { className: "form__region-heading" },
14662
+ translations.SHARED.ROOM,
14663
+ " ",
14664
+ rIndex + 1),
14665
+ React.createElement("p", { className: "form__region-label" }, compact([
14666
+ room.adults.length,
14667
+ room.adults.length === 1 &&
14668
+ " ".concat(translations.TRAVELERS_FORM.ADULT),
14669
+ room.adults.length > 1 &&
14670
+ " ".concat(translations.TRAVELERS_FORM.ADULTS),
14671
+ room.adults &&
14672
+ room.adults.length &&
14673
+ room.children &&
14674
+ room.children.length &&
14675
+ ", ",
14676
+ room.children.length,
14677
+ room.children.length === 1 &&
14678
+ " ".concat(translations.TRAVELERS_FORM.CHILD),
14679
+ room.children.length > 1 &&
14680
+ " ".concat(translations.TRAVELERS_FORM.CHILDREN),
14681
+ ]).join("")))),
14682
+ room.adults.map(function (travelerValues, index) { return (React.createElement("div", { className: "form__region", key: travelerValues.id },
14683
+ React.createElement("div", { className: "form__region-header" },
14684
+ React.createElement("h5", { className: "form__region-heading" },
14685
+ translations.TRAVELERS_FORM.TRAVELER,
14686
+ " ",
14687
+ index + 1),
14688
+ React.createElement("p", { className: "form__region-label" }, translations.TRAVELERS_FORM.ADULT),
14689
+ React.createElement("div", { className: "radiobutton" },
14690
+ React.createElement("label", { className: "radiobutton__label" },
14691
+ React.createElement("input", { type: "radio", name: "mainBookerId", onChange: handleMainBookerChange, onBlur: formik.handleBlur, value: travelerValues.id, checked: formik.values.mainBookerId === travelerValues.id, className: "radiobutton__input" }),
14692
+ translations.TRAVELERS_FORM.MAIN_BOOKER))),
14693
+ React.createElement("div", { className: "form__row" },
14694
+ React.createElement("div", { className: buildClassName([
14695
+ "form__group",
14696
+ hasVisibleError("rooms[".concat(rIndex, "].adults[").concat(index, "].gender")) && "form__group--error",
14697
+ ]) },
14698
+ React.createElement("label", { className: "form__label" },
14699
+ translations.TRAVELERS_FORM.GENDER,
14700
+ " *"),
14701
+ React.createElement("div", { className: "radiobutton-group" },
14702
+ React.createElement("div", { className: "radiobutton" },
14703
+ React.createElement("label", { className: "radiobutton__label" },
14704
+ 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" }),
14705
+ translations.TRAVELERS_FORM.MALE)),
14706
+ React.createElement("div", { className: "radiobutton" },
14707
+ React.createElement("label", { className: "radiobutton__label" },
14708
+ 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" }),
14709
+ translations.TRAVELERS_FORM.FEMALE)),
14710
+ React.createElement("div", { className: "radiobutton" },
14711
+ React.createElement("label", { className: "radiobutton__label" },
14712
+ 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" }),
14713
+ translations.TRAVELERS_FORM.OTHER))))),
14714
+ React.createElement("div", { className: "form__row" },
14715
+ 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 }),
14716
+ 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 }),
14717
+ React.createElement(LabeledInput, { type: "date", hasError: hasVisibleError("rooms[".concat(rIndex, "].adults[").concat(index, "].birthDate")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.BIRTHDATE, required: true, name: "rooms[".concat(rIndex, "].adults[").concat(index, "].birthDate"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: travelerValues.birthDate })))); }),
14718
+ room.children.map(function (travelerValues, index) { return (React.createElement("div", { className: "form__region", key: travelerValues.id },
14719
+ React.createElement("div", { className: "form__region-header" },
14720
+ React.createElement("h5", { className: "form__region-heading" },
14721
+ translations.TRAVELERS_FORM.TRAVELER,
14722
+ " ",
14723
+ room.adults.length + index + 1),
14724
+ React.createElement("p", { className: "form__region-label" }, translations.TRAVELERS_FORM.CHILD)),
14725
+ React.createElement("div", { className: "form__row" },
14726
+ React.createElement("div", { className: buildClassName([
14727
+ "form__group",
14728
+ hasVisibleError("rooms[".concat(rIndex, "].children[").concat(index, "].gender")) && "form__group--error",
14729
+ ]) },
14730
+ React.createElement("label", { className: "form__label" },
14731
+ translations.TRAVELERS_FORM.GENDER,
14732
+ " *"),
14733
+ React.createElement("div", { className: "radiobutton-group" },
14734
+ React.createElement("div", { className: "radiobutton" },
14735
+ React.createElement("label", { className: "radiobutton__label" },
14736
+ 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" }),
14737
+ translations.TRAVELERS_FORM.MALE)),
14738
+ React.createElement("div", { className: "radiobutton" },
14739
+ React.createElement("label", { className: "radiobutton__label" },
14740
+ 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" }),
14741
+ translations.TRAVELERS_FORM.FEMALE)),
14742
+ React.createElement("div", { className: "radiobutton" },
14743
+ React.createElement("label", { className: "radiobutton__label" },
14744
+ 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" }),
14745
+ translations.TRAVELERS_FORM.OTHER))))),
14746
+ React.createElement("div", { className: "form__row" },
14747
+ 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 }),
14748
+ 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 }),
14749
+ React.createElement(LabeledInput, { type: "date", hasError: hasVisibleError("rooms[".concat(rIndex, "].children[").concat(index, "].birthDate")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.BIRTHDATE, required: true, name: "rooms[".concat(rIndex, "].children[").concat(index, "].birthDate"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: travelerValues.birthDate })))); }))); }),
14750
+ bookingType != "b2b" ? (React.createElement("div", { className: "form__region" },
14030
14751
  React.createElement("div", { className: "form__region-header" },
14031
- React.createElement("h5", { className: "form__region-heading" },
14032
- translations.SHARED.ROOM,
14033
- " ",
14034
- rIndex + 1),
14752
+ React.createElement("h5", { className: "form__region-heading" }, translations.TRAVELERS_FORM.MAIN_BOOKER),
14035
14753
  React.createElement("p", { className: "form__region-label" }, compact([
14036
- room.adults.length,
14037
- room.adults.length === 1 &&
14038
- " ".concat(translations.TRAVELERS_FORM.ADULT),
14039
- room.adults.length > 1 &&
14040
- " ".concat(translations.TRAVELERS_FORM.ADULTS),
14041
- room.adults &&
14042
- room.adults.length &&
14043
- room.children &&
14044
- room.children.length &&
14045
- ", ",
14046
- room.children.length,
14047
- room.children.length === 1 &&
14048
- " ".concat(translations.TRAVELERS_FORM.CHILD),
14049
- room.children.length > 1 &&
14050
- " ".concat(translations.TRAVELERS_FORM.CHILDREN),
14051
- ]).join("")))),
14052
- room.adults.map(function (travelerValues, index) { return (React.createElement("div", { className: "form__region", key: travelerValues.id },
14053
- React.createElement("div", { className: "form__region-header" },
14054
- React.createElement("h5", { className: "form__region-heading" },
14055
- translations.TRAVELERS_FORM.TRAVELER,
14056
- " ",
14057
- index + 1),
14058
- React.createElement("p", { className: "form__region-label" }, translations.TRAVELERS_FORM.ADULT),
14059
- React.createElement("div", { className: "radiobutton" },
14060
- React.createElement("label", { className: "radiobutton__label" },
14061
- React.createElement("input", { type: "radio", name: "mainBookerId", onChange: handleMainBookerChange, onBlur: formik.handleBlur, value: travelerValues.id, checked: formik.values.mainBookerId === travelerValues.id, className: "radiobutton__input" }),
14062
- translations.TRAVELERS_FORM.MAIN_BOOKER))),
14063
- React.createElement("div", { className: "form__row" },
14064
- React.createElement("div", { className: buildClassName([
14065
- "form__group",
14066
- hasVisibleError("rooms[".concat(rIndex, "].adults[").concat(index, "].gender")) && "form__group--error",
14067
- ]) },
14068
- React.createElement("label", { className: "form__label" },
14069
- translations.TRAVELERS_FORM.GENDER,
14070
- " *"),
14071
- React.createElement("div", { className: "radiobutton-group" },
14072
- React.createElement("div", { className: "radiobutton" },
14073
- React.createElement("label", { className: "radiobutton__label" },
14074
- 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" }),
14075
- translations.TRAVELERS_FORM.MALE)),
14076
- React.createElement("div", { className: "radiobutton" },
14077
- React.createElement("label", { className: "radiobutton__label" },
14078
- 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" }),
14079
- translations.TRAVELERS_FORM.FEMALE)),
14080
- React.createElement("div", { className: "radiobutton" },
14081
- React.createElement("label", { className: "radiobutton__label" },
14082
- 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" }),
14083
- translations.TRAVELERS_FORM.OTHER))))),
14754
+ compact([mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.firstName, mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.lastName]).join(" "),
14755
+ (mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.birthDate) &&
14756
+ format$1(parse(mainBooker.birthDate, "yyyy-MM-dd", new Date()), "dd-MM-yyyy"),
14757
+ ]).join(", "))),
14758
+ React.createElement(React.Fragment, null,
14759
+ React.createElement("div", { className: "form__twocolumn" },
14760
+ React.createElement("div", { className: "form__twocolumn-column" },
14761
+ React.createElement("div", { className: "form__row" },
14762
+ React.createElement(LabeledInput, { hasError: hasVisibleError("street"), extraClassName: "form__group--50 form__group--sm-60", label: translations.TRAVELERS_FORM.STREET, required: true, name: "street", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.street }),
14763
+ React.createElement(LabeledInput, { hasError: hasVisibleError("houseNumber"), extraClassName: "form__group--30 form__group--sm-20", label: translations.TRAVELERS_FORM.HOUSE_NUMBER, required: true, name: "houseNumber", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.houseNumber }),
14764
+ React.createElement(LabeledInput, { hasError: hasVisibleError("box"), extraClassName: "form__group--20", label: translations.TRAVELERS_FORM.POST_BOX, name: "box", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.box }))),
14765
+ React.createElement("div", { className: "form__twocolumn-column" },
14766
+ React.createElement("div", { className: "form__row" },
14767
+ React.createElement(LabeledInput, { hasError: hasVisibleError("zipCode"), extraClassName: "form__group--40 form__group--sm-20", label: translations.TRAVELERS_FORM.ZIPCODE, required: true, name: "zipCode", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.zipCode }),
14768
+ React.createElement(LabeledInput, { hasError: hasVisibleError("place"), extraClassName: "form__group--60 form__group--sm-40", label: translations.TRAVELERS_FORM.CITY, required: true, name: "place", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.place }),
14769
+ React.createElement(LabeledSelect, { hasError: hasVisibleError("country"), extraClassName: "form__group--sm-40", label: translations.TRAVELERS_FORM.COUNTRY, required: true, name: "country", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.country, options: [
14770
+ {
14771
+ key: "empty",
14772
+ label: translations.TRAVELERS_FORM.SELECT_COUNTRY,
14773
+ value: undefined,
14774
+ },
14775
+ {
14776
+ key: "be",
14777
+ value: "be",
14778
+ label: translations.TRAVELERS_FORM.COUNTRIES.BELGIUM,
14779
+ },
14780
+ {
14781
+ key: "nl",
14782
+ value: "nl",
14783
+ label: translations.TRAVELERS_FORM.COUNTRIES.NETHERLANDS,
14784
+ },
14785
+ {
14786
+ key: "fr",
14787
+ value: "fr",
14788
+ label: translations.TRAVELERS_FORM.COUNTRIES.FRANCE,
14789
+ },
14790
+ ] })))),
14791
+ React.createElement("div", { className: "form__row" },
14792
+ React.createElement(LabeledInput, { hasError: hasVisibleError("phone"), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.PHONE, required: true, name: "phone", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.phone }),
14793
+ React.createElement(LabeledInput, { type: "email", hasError: hasVisibleError("email"), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.EMAIL, required: true, name: "email", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.email }),
14794
+ React.createElement(LabeledInput, { type: "email", hasError: hasVisibleError("emailConfirmation"), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.REPEAT_EMAIL, required: true, name: "emailConfirmation", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.emailConfirmation }))))) : (React.createElement("div", { className: "form__region" },
14084
14795
  React.createElement("div", { className: "form__row" },
14085
- 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 }),
14086
- 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 }),
14087
- React.createElement(LabeledInput, { type: "date", hasError: hasVisibleError("rooms[".concat(rIndex, "].adults[").concat(index, "].birthDate")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.BIRTHDATE, required: true, name: "rooms[".concat(rIndex, "].adults[").concat(index, "].birthDate"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: travelerValues.birthDate })))); }),
14088
- room.children.map(function (travelerValues, index) { return (React.createElement("div", { className: "form__region", key: travelerValues.id },
14796
+ React.createElement(LabeledInput, { hasError: hasVisibleError("phone"), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.PHONE, required: true, name: "phone", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.phone })))),
14797
+ showAgentSelection && (React.createElement("div", { className: "form__region" },
14089
14798
  React.createElement("div", { className: "form__region-header" },
14090
- React.createElement("h5", { className: "form__region-heading" },
14091
- translations.TRAVELERS_FORM.TRAVELER,
14092
- " ",
14093
- room.adults.length + index + 1),
14094
- React.createElement("p", { className: "form__region-label" }, translations.TRAVELERS_FORM.CHILD)),
14095
- React.createElement("div", { className: "form__row" },
14799
+ React.createElement("h5", { className: "form__region-heading" }, translations.TRAVELERS_FORM.BOOK_WITH_AGENT),
14800
+ React.createElement("div", { className: "checkbox", id: "cbxChooseOffice" },
14801
+ React.createElement("label", { className: "checkbox__label" },
14802
+ React.createElement("input", { type: "checkbox", name: "booking--mainbooker", defaultChecked: showAgents, onClick: function () { return toggleAgent(!showAgents); }, className: "checkbox__input" }),
14803
+ translations.TRAVELERS_FORM.CHOOSE_OFFICE))),
14804
+ showAgents && (React.createElement("div", { className: "form__row form__row--choose-office" },
14096
14805
  React.createElement("div", { className: buildClassName([
14097
14806
  "form__group",
14098
- hasVisibleError("rooms[".concat(rIndex, "].children[").concat(index, "].gender")) && "form__group--error",
14807
+ "form__group--icon",
14808
+ hasVisibleError("travelAgentId") && "form__group--error",
14099
14809
  ]) },
14100
- React.createElement("label", { className: "form__label" },
14101
- translations.TRAVELERS_FORM.GENDER,
14102
- " *"),
14103
- React.createElement("div", { className: "radiobutton-group" },
14104
- React.createElement("div", { className: "radiobutton" },
14105
- React.createElement("label", { className: "radiobutton__label" },
14106
- 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" }),
14107
- translations.TRAVELERS_FORM.MALE)),
14108
- React.createElement("div", { className: "radiobutton" },
14109
- React.createElement("label", { className: "radiobutton__label" },
14110
- 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" }),
14111
- translations.TRAVELERS_FORM.FEMALE)),
14112
- React.createElement("div", { className: "radiobutton" },
14113
- React.createElement("label", { className: "radiobutton__label" },
14114
- 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" }),
14115
- translations.TRAVELERS_FORM.OTHER))))),
14116
- React.createElement("div", { className: "form__row" },
14117
- 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 }),
14118
- 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 }),
14119
- React.createElement(LabeledInput, { type: "date", hasError: hasVisibleError("rooms[".concat(rIndex, "].children[").concat(index, "].birthDate")), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.BIRTHDATE, required: true, name: "rooms[".concat(rIndex, "].children[").concat(index, "].birthDate"), onChange: formik.handleChange, onBlur: formik.handleBlur, value: travelerValues.birthDate })))); }))); }),
14120
- bookingType != "b2b" ? (React.createElement("div", { className: "form__region" },
14121
- React.createElement("div", { className: "form__region-header" },
14122
- React.createElement("h5", { className: "form__region-heading" }, translations.TRAVELERS_FORM.MAIN_BOOKER),
14123
- React.createElement("p", { className: "form__region-label" }, compact([
14124
- compact([mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.firstName, mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.lastName]).join(" "),
14125
- (mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.birthDate) &&
14126
- format$1(parse(mainBooker.birthDate, "yyyy-MM-dd", new Date()), "dd-MM-yyyy"),
14127
- ]).join(", "))),
14128
- React.createElement(React.Fragment, null,
14129
- React.createElement("div", { className: "form__twocolumn" },
14130
- React.createElement("div", { className: "form__twocolumn-column" },
14131
- React.createElement("div", { className: "form__row" },
14132
- React.createElement(LabeledInput, { hasError: hasVisibleError("street"), extraClassName: "form__group--50 form__group--sm-60", label: translations.TRAVELERS_FORM.STREET, required: true, name: "street", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.street }),
14133
- React.createElement(LabeledInput, { hasError: hasVisibleError("houseNumber"), extraClassName: "form__group--30 form__group--sm-20", label: translations.TRAVELERS_FORM.HOUSE_NUMBER, required: true, name: "houseNumber", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.houseNumber }),
14134
- React.createElement(LabeledInput, { hasError: hasVisibleError("box"), extraClassName: "form__group--20", label: translations.TRAVELERS_FORM.POST_BOX, name: "box", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.box }))),
14135
- React.createElement("div", { className: "form__twocolumn-column" },
14136
- React.createElement("div", { className: "form__row" },
14137
- React.createElement(LabeledInput, { hasError: hasVisibleError("zipCode"), extraClassName: "form__group--40 form__group--sm-20", label: translations.TRAVELERS_FORM.ZIPCODE, required: true, name: "zipCode", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.zipCode }),
14138
- React.createElement(LabeledInput, { hasError: hasVisibleError("place"), extraClassName: "form__group--60 form__group--sm-40", label: translations.TRAVELERS_FORM.CITY, required: true, name: "place", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.place }),
14139
- React.createElement(LabeledSelect, { hasError: hasVisibleError("country"), extraClassName: "form__group--sm-40", label: translations.TRAVELERS_FORM.COUNTRY, required: true, name: "country", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.country, options: [
14140
- {
14141
- key: "empty",
14142
- label: translations.TRAVELERS_FORM.SELECT_COUNTRY,
14143
- value: undefined,
14144
- },
14145
- {
14146
- key: "be",
14147
- value: "be",
14148
- label: translations.TRAVELERS_FORM.COUNTRIES.BELGIUM,
14149
- },
14150
- {
14151
- key: "nl",
14152
- value: "nl",
14153
- label: translations.TRAVELERS_FORM.COUNTRIES.NETHERLANDS,
14154
- },
14155
- {
14156
- key: "fr",
14157
- value: "fr",
14158
- label: translations.TRAVELERS_FORM.COUNTRIES.FRANCE,
14159
- },
14160
- ] })))),
14161
- React.createElement("div", { className: "form__row" },
14162
- React.createElement(LabeledInput, { hasError: hasVisibleError("phone"), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.PHONE, required: true, name: "phone", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.phone }),
14163
- React.createElement(LabeledInput, { type: "email", hasError: hasVisibleError("email"), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.EMAIL, required: true, name: "email", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.email }),
14164
- React.createElement(LabeledInput, { type: "email", hasError: hasVisibleError("emailConfirmation"), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.REPEAT_EMAIL, required: true, name: "emailConfirmation", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.emailConfirmation }))))) : (React.createElement("div", { className: "form__region" },
14165
- React.createElement("div", { className: "form__row" },
14166
- React.createElement(LabeledInput, { hasError: hasVisibleError("phone"), extraClassName: "form__group--md-33", label: translations.TRAVELERS_FORM.PHONE, required: true, name: "phone", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.phone })))),
14167
- showAgentSelection && (React.createElement("div", { className: "form__region" },
14168
- React.createElement("div", { className: "form__region-header" },
14169
- React.createElement("h5", { className: "form__region-heading" }, translations.TRAVELERS_FORM.BOOK_WITH_AGENT),
14170
- React.createElement("div", { className: "checkbox", id: "cbxChooseOffice" },
14171
- React.createElement("label", { className: "checkbox__label" },
14172
- React.createElement("input", { type: "checkbox", name: "booking--mainbooker", defaultChecked: showAgents, onClick: function () { return toggleAgent(!showAgents); }, className: "checkbox__input" }),
14173
- translations.TRAVELERS_FORM.CHOOSE_OFFICE))),
14174
- showAgents && (React.createElement("div", { className: "form__row form__row--choose-office" },
14175
- React.createElement("div", { className: buildClassName([
14176
- "form__group",
14177
- "form__group--icon",
14178
- hasVisibleError("travelAgentId") && "form__group--error",
14179
- ]) },
14180
- React.createElement(TypeAheadInput, { value: formik.values.travelAgentName, options: filteredAgents, onChange: handleAgentChange, onSelect: handleAgentSelect, onClear: handleAgentClear, name: "travelAgentName", placeholder: translations.TRAVELERS_FORM.CHOOSE_AGENT_PLACEHOLDER })))))),
14810
+ React.createElement(TypeAheadInput, { value: formik.values.travelAgentName, options: filteredAgents, onChange: handleAgentChange, onSelect: handleAgentSelect, onClear: handleAgentClear, name: "travelAgentName", placeholder: translations.TRAVELERS_FORM.CHOOSE_AGENT_PLACEHOLDER }))))))),
14181
14811
  Object.keys(flatErrors).length > 0 && (React.createElement("div", { className: "form__region form__region--errors" },
14182
14812
  React.createElement("div", { className: "form__row" },
14183
14813
  React.createElement("div", { className: "form__group" },
@@ -14215,6 +14845,7 @@ var Booking = function (_a) {
14215
14845
  var catalog = getNumberFromParams(params, "catalog");
14216
14846
  var rooms = getRoomsFromParams(params, "rooms");
14217
14847
  var flight = getFlightsFromParams(params, "flight");
14848
+ var flightRouteId = getStringFromParams(params, "flightRouteId");
14218
14849
  var allotmentName = getStringFromParams(params, "allotmentName");
14219
14850
  var allotmentIds = getNumbersFromParams(params, "allotmentId");
14220
14851
  var tourCode = getStringFromParams(params, "tourCode");
@@ -14240,6 +14871,7 @@ var Booking = function (_a) {
14240
14871
  allotmentName: allotmentName,
14241
14872
  allotmentIds: allotmentIds,
14242
14873
  tourCode: tourCode,
14874
+ flightRouteId: flightRouteId,
14243
14875
  }));
14244
14876
  }
14245
14877
  else {
@@ -14277,7 +14909,11 @@ var Booking = function (_a) {
14277
14909
  return __generator$1(this, function (_b) {
14278
14910
  switch (_b.label) {
14279
14911
  case 0:
14280
- translations = translationFiles === null || translationFiles === void 0 ? void 0 : translationFiles.map(function (x) { return fetch(x.path).then(function (y) { return y.json(); }).then(function (z) { return ({ language: x.language, value: z }); }); });
14912
+ translations = translationFiles === null || translationFiles === void 0 ? void 0 : translationFiles.map(function (x) {
14913
+ return fetch(x.path)
14914
+ .then(function (y) { return y.json(); })
14915
+ .then(function (z) { return ({ language: x.language, value: z }); });
14916
+ });
14281
14917
  _a = translations;
14282
14918
  if (!_a) return [3 /*break*/, 2];
14283
14919
  return [4 /*yield*/, Promise.all(translations)];
@@ -14326,7 +14962,7 @@ var Booking = function (_a) {
14326
14962
  setCalculateDeposit,
14327
14963
  tagIds,
14328
14964
  agentAdressId,
14329
- accommodationViewId
14965
+ accommodationViewId,
14330
14966
  ]);
14331
14967
  useEffect(function () {
14332
14968
  if (!productAttributes ||
@@ -14367,7 +15003,9 @@ var Booking = function (_a) {
14367
15003
  !packageDetails && !bookingNumber && !isUnvailable && (React.createElement("div", { className: "booking" },
14368
15004
  React.createElement("div", { className: "booking__loader" },
14369
15005
  loaderComponent,
14370
- React.createElement("p", { className: "booking__loader-text" }, isOffer ? translations.MAIN.PREPARING_OFFER : translations.MAIN.PREPARING_BOOKING)))),
15006
+ React.createElement("p", { className: "booking__loader-text" }, isOffer
15007
+ ? translations.MAIN.PREPARING_OFFER
15008
+ : translations.MAIN.PREPARING_BOOKING)))),
14371
15009
  isUnvailable && (React.createElement("div", { className: "booking" },
14372
15010
  React.createElement("div", { className: "booking__loader" },
14373
15011
  React.createElement("p", { className: "booking__loader-text" }, translations.MAIN.PRODUCT_UNAVAILABLE))))));