@qite/tide-booking-component 1.4.110 → 1.4.111
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.
- package/build/build-cjs/index.js +2316 -1555
- package/build/build-cjs/src/booking-wizard/features/travelers-form/travelers-form.d.ts +1 -2
- package/build/build-cjs/src/search-results/components/book-packaging-entry/index.d.ts +1 -0
- package/build/build-cjs/src/search-results/store/search-results-slice.d.ts +3 -1
- package/build/build-cjs/src/search-results/types.d.ts +3 -0
- package/build/build-cjs/src/shared/booking/shared-confirmation.d.ts +25 -0
- package/build/build-cjs/src/shared/booking/summary.d.ts +43 -0
- package/build/build-cjs/src/shared/booking/travelers-form.d.ts +93 -0
- package/build/build-cjs/src/shared/utils/booking-summary.d.ts +1 -0
- package/build/build-cjs/src/shared/utils/localization-util.d.ts +6 -0
- package/build/build-esm/index.js +2213 -1453
- package/build/build-esm/src/booking-wizard/features/travelers-form/travelers-form.d.ts +1 -2
- package/build/build-esm/src/search-results/components/book-packaging-entry/index.d.ts +1 -0
- package/build/build-esm/src/search-results/store/search-results-slice.d.ts +3 -1
- package/build/build-esm/src/search-results/types.d.ts +3 -0
- package/build/build-esm/src/shared/booking/shared-confirmation.d.ts +25 -0
- package/build/build-esm/src/shared/booking/summary.d.ts +43 -0
- package/build/build-esm/src/shared/booking/travelers-form.d.ts +93 -0
- package/build/build-esm/src/shared/utils/booking-summary.d.ts +1 -0
- package/build/build-esm/src/shared/utils/localization-util.d.ts +6 -0
- package/package.json +2 -2
- package/src/booking-wizard/components/step-indicator.tsx +1 -1
- package/src/booking-wizard/components/step-route.tsx +1 -1
- package/src/booking-wizard/features/confirmation/confirmation.tsx +11 -55
- package/src/booking-wizard/features/sidebar/index.tsx +1 -1
- package/src/booking-wizard/features/summary/summary.tsx +1 -1
- package/src/booking-wizard/features/travelers-form/travelers-form.tsx +84 -1010
- package/src/search-results/components/book-packaging-entry/index.tsx +192 -11
- package/src/search-results/components/book-packaging-entry/wl-sidebar.tsx +1 -4
- package/src/search-results/components/group-tour/group-tour-card.tsx +1 -1
- package/src/search-results/components/group-tour/group-tour-results.tsx +1 -1
- package/src/search-results/components/search-results-container/search-results-container.tsx +42 -14
- package/src/search-results/store/search-results-slice.ts +8 -2
- package/src/search-results/types.ts +4 -0
- package/src/shared/booking/shared-confirmation.tsx +105 -0
- package/src/shared/booking/summary.tsx +380 -0
- package/src/shared/booking/travelers-form.tsx +870 -0
- package/src/shared/components/flyin/flyin.tsx +8 -9
- package/src/shared/components/flyin/packaging-flights-flyin.tsx +4 -4
- package/src/shared/utils/booking-summary.tsx +46 -0
- package/src/shared/utils/tide-api-utils.ts +2 -2
- package/styles/components/_dropdown.scss +5 -0
- package/styles/components/_flyin.scss +43 -0
- package/styles/components/_search.scss +5 -0
- /package/build/build-cjs/src/shared/booking/{BookingPanel.d.ts → booking-panel.d.ts} +0 -0
- /package/build/build-cjs/src/shared/booking/{Sidebar.d.ts → shared-sidebar.d.ts} +0 -0
- /package/build/build-cjs/src/shared/booking/{StepIndicators.d.ts → step-indicators.d.ts} +0 -0
- /package/build/build-esm/src/shared/booking/{BookingPanel.d.ts → booking-panel.d.ts} +0 -0
- /package/build/build-esm/src/shared/booking/{Sidebar.d.ts → shared-sidebar.d.ts} +0 -0
- /package/build/build-esm/src/shared/booking/{StepIndicators.d.ts → step-indicators.d.ts} +0 -0
- /package/src/shared/booking/{BookingPanel.tsx → booking-panel.tsx} +0 -0
- /package/src/shared/booking/{Sidebar.tsx → shared-sidebar.tsx} +0 -0
- /package/src/shared/booking/{StepIndicators.tsx → step-indicators.tsx} +0 -0
package/build/build-esm/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import React__default, { useLayoutEffect as useLayoutEffect$1, useEffect, useContext, useState, useRef, useCallback, useMemo } from 'react';
|
|
4
4
|
import JsonURL from '@jsonurl/jsonurl';
|
|
5
5
|
import {
|
|
6
|
-
format as format$
|
|
6
|
+
format as format$2,
|
|
7
7
|
isToday,
|
|
8
8
|
getDate,
|
|
9
9
|
getYear,
|
|
@@ -54,8 +54,8 @@ import {
|
|
|
54
54
|
sum,
|
|
55
55
|
last,
|
|
56
56
|
findIndex as findIndex$1,
|
|
57
|
-
get,
|
|
58
57
|
set,
|
|
58
|
+
get,
|
|
59
59
|
isEqual as isEqual$1,
|
|
60
60
|
groupBy,
|
|
61
61
|
minBy,
|
|
@@ -81,9 +81,9 @@ import {
|
|
|
81
81
|
Route
|
|
82
82
|
} from 'react-router';
|
|
83
83
|
import 'react-dom';
|
|
84
|
-
import flat from 'flat';
|
|
85
|
-
import { useFormik } from 'formik';
|
|
86
84
|
import produce from 'immer';
|
|
85
|
+
import { useFormik } from 'formik';
|
|
86
|
+
import flat from 'flat';
|
|
87
87
|
import { v4 } from 'uuid';
|
|
88
88
|
|
|
89
89
|
function _mergeNamespaces(n, m) {
|
|
@@ -7118,7 +7118,7 @@ function getLocale(code) {
|
|
|
7118
7118
|
var getPriceDifferenceText = function (price, currencyCode) {
|
|
7119
7119
|
return price > 0 ? '+ '.concat(formatPrice$3(Math.abs(price), currencyCode)) : '- '.concat(formatPrice$3(Math.abs(price), currencyCode));
|
|
7120
7120
|
};
|
|
7121
|
-
function format(text, args) {
|
|
7121
|
+
function format$1(text, args) {
|
|
7122
7122
|
return text.replace(/{([0-9]+)}/g, function (match, index) {
|
|
7123
7123
|
return typeof args[index] == 'undefined' ? match : args[index];
|
|
7124
7124
|
});
|
|
@@ -7158,7 +7158,7 @@ var longFormatDate = function (dateTime, language) {
|
|
|
7158
7158
|
return '';
|
|
7159
7159
|
}
|
|
7160
7160
|
var locale = getLocale(language);
|
|
7161
|
-
var formattedDate = format$
|
|
7161
|
+
var formattedDate = format$2(new Date(dateTime), 'eee dd MMM yy', { locale: locale });
|
|
7162
7162
|
return formattedDate;
|
|
7163
7163
|
};
|
|
7164
7164
|
var durationTicksInHoursString = function (durationInTicks) {
|
|
@@ -13087,7 +13087,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13087
13087
|
};
|
|
13088
13088
|
var ENDPOINT_BOOKABLE_DATES = ENDPOINT$8 + '/bookable-dates';
|
|
13089
13089
|
var ENDPOINT_PRICE_DETAILS$1 = ENDPOINT$8 + '/price-details';
|
|
13090
|
-
var ENDPOINT_BOOK = ENDPOINT$8 + '/book';
|
|
13090
|
+
var ENDPOINT_BOOK$1 = ENDPOINT$8 + '/book';
|
|
13091
13091
|
var ENDPOINT_UPDATE = ENDPOINT$8 + '/update';
|
|
13092
13092
|
var ENDPOINT_AGENTS = ENDPOINT$8 + '/agents';
|
|
13093
13093
|
var ENDPOINT_AVAILABLE_ALLOTMENTS = function (eventId, productCode) {
|
|
@@ -13192,7 +13192,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13192
13192
|
return post(url, apiKey, body, config.token, signal, true, languageCode);
|
|
13193
13193
|
};
|
|
13194
13194
|
var book = function (config, request, signal, languageCode) {
|
|
13195
|
-
var url = '' + config.host + ENDPOINT_BOOK;
|
|
13195
|
+
var url = '' + config.host + ENDPOINT_BOOK$1;
|
|
13196
13196
|
var apiKey = config.apiKey;
|
|
13197
13197
|
var body = JSON.stringify(request);
|
|
13198
13198
|
return post(url, apiKey, body, config.token, signal, true, languageCode);
|
|
@@ -13715,6 +13715,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13715
13715
|
var ENDPOINT_EXCURSIONS = ENDPOINT + '/excursions';
|
|
13716
13716
|
var ENDPOINT_FLIGHTS = ENDPOINT + '/flights';
|
|
13717
13717
|
var ENDPOINT_PRICE_DETAILS = ENDPOINT + '/price-details';
|
|
13718
|
+
var ENDPOINT_BOOK = ENDPOINT + '/book';
|
|
13718
13719
|
var ENDPOINT_ITINERARY = ENDPOINT + '/itinerary';
|
|
13719
13720
|
var ENDPOINT_ENTRY = function (magicLinkCode) {
|
|
13720
13721
|
return ENDPOINT + '/entry/' + magicLinkCode;
|
|
@@ -13759,6 +13760,12 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13759
13760
|
var body = JSON.stringify(request);
|
|
13760
13761
|
return post(url, apiKey, body, config.token, signal, true);
|
|
13761
13762
|
};
|
|
13763
|
+
var bookPackagingEntry = function (config, request, signal) {
|
|
13764
|
+
var url = '' + config.host + ENDPOINT_BOOK;
|
|
13765
|
+
var apiKey = config.apiKey;
|
|
13766
|
+
var body = JSON.stringify(request);
|
|
13767
|
+
return post(url, apiKey, body, config.token, signal, true);
|
|
13768
|
+
};
|
|
13762
13769
|
|
|
13763
13770
|
exports.AllotmentType = AllotmentType;
|
|
13764
13771
|
exports.ContactForm = ContactForm;
|
|
@@ -13782,6 +13789,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13782
13789
|
exports.availableCountries = availableCountries;
|
|
13783
13790
|
exports.availableFlights = availableFlights;
|
|
13784
13791
|
exports.book = book;
|
|
13792
|
+
exports.bookPackagingEntry = bookPackagingEntry;
|
|
13785
13793
|
exports.bookableDates = bookableDates;
|
|
13786
13794
|
exports.changeEntryAgentSurcharge = changeEntryAgentSurcharge;
|
|
13787
13795
|
exports.confirm = confirm;
|
|
@@ -13846,9 +13854,16 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
13846
13854
|
exports.validateVoucher = validateVoucher;
|
|
13847
13855
|
})(build);
|
|
13848
13856
|
|
|
13857
|
+
var tideConnection = {
|
|
13858
|
+
// host: 'https://localhost:44341',
|
|
13859
|
+
host: 'https://preview-tide.tidesoftware.be',
|
|
13860
|
+
apiKey: 'e9b95d79-de4c-41d6-ab7e-3dd429873058',
|
|
13861
|
+
catalogueIds: [1],
|
|
13862
|
+
officeId: 1
|
|
13863
|
+
};
|
|
13849
13864
|
function buildTideClientConfig(settings) {
|
|
13850
|
-
var HOST = (settings === null || settings === void 0 ? void 0 : settings.apiUrl) ||
|
|
13851
|
-
var API_KEY = (settings === null || settings === void 0 ? void 0 : settings.apiKey) ||
|
|
13865
|
+
var HOST = (settings === null || settings === void 0 ? void 0 : settings.apiUrl) || tideConnection.host;
|
|
13866
|
+
var API_KEY = (settings === null || settings === void 0 ? void 0 : settings.apiKey) || tideConnection.apiKey;
|
|
13852
13867
|
var token = selectAgentToken();
|
|
13853
13868
|
if (isNil(HOST)) {
|
|
13854
13869
|
throw Error('Environment variable "HOST" was not set.');
|
|
@@ -17009,7 +17024,7 @@ var Calendar$1 = function (_a) {
|
|
|
17009
17024
|
{ className: buildClassName(['calendar__previous', !hasPreviousButton && 'calendar__previous--disabled']), onClick: handlePreviousClick },
|
|
17010
17025
|
React__default.createElement(Icon, { name: 'ui-chevron' })
|
|
17011
17026
|
),
|
|
17012
|
-
React__default.createElement('div', { className: 'calendar__current-month' }, format$
|
|
17027
|
+
React__default.createElement('div', { className: 'calendar__current-month' }, format$2(focusDate, 'MMMM yyyy', { locale: locale })),
|
|
17013
17028
|
React__default.createElement(
|
|
17014
17029
|
'div',
|
|
17015
17030
|
{ className: buildClassName(['calendar__next', !hasNextButton && 'calendar__next--disabled']), onClick: handleNextClick },
|
|
@@ -17023,7 +17038,7 @@ var Calendar$1 = function (_a) {
|
|
|
17023
17038
|
return React__default.createElement(
|
|
17024
17039
|
'div',
|
|
17025
17040
|
{ className: 'calendar__day-label', key: 'day_'.concat(i) },
|
|
17026
|
-
format$
|
|
17041
|
+
format$2(calendarDays[i], 'EEEEEE', { locale: locale })
|
|
17027
17042
|
);
|
|
17028
17043
|
})
|
|
17029
17044
|
)
|
|
@@ -17298,7 +17313,7 @@ var Dates = function (_a) {
|
|
|
17298
17313
|
React__default.createElement('input', {
|
|
17299
17314
|
type: 'text',
|
|
17300
17315
|
readOnly: true,
|
|
17301
|
-
value: (value === null || value === void 0 ? void 0 : value.fromDate) ? format$
|
|
17316
|
+
value: (value === null || value === void 0 ? void 0 : value.fromDate) ? format$2(value.fromDate, 'dd/MM/yyyy') : '',
|
|
17302
17317
|
className: 'form__input',
|
|
17303
17318
|
placeholder: translations.PRODUCT.DEPARTURE_DATE,
|
|
17304
17319
|
onClick: handleInputFocus
|
|
@@ -17311,7 +17326,7 @@ var Dates = function (_a) {
|
|
|
17311
17326
|
React__default.createElement('input', {
|
|
17312
17327
|
type: 'text',
|
|
17313
17328
|
readOnly: true,
|
|
17314
|
-
value: (value === null || value === void 0 ? void 0 : value.toDate) ? format$
|
|
17329
|
+
value: (value === null || value === void 0 ? void 0 : value.toDate) ? format$2(value.toDate, 'dd/MM/yyyy') : '',
|
|
17315
17330
|
className: 'form__input',
|
|
17316
17331
|
placeholder: translations.PRODUCT.RETURN_DATE,
|
|
17317
17332
|
onClick: handleInputFocus
|
|
@@ -17978,10 +17993,10 @@ var Product = function (_a) {
|
|
|
17978
17993
|
}
|
|
17979
17994
|
}
|
|
17980
17995
|
if (dateRange === null || dateRange === void 0 ? void 0 : dateRange.fromDate) {
|
|
17981
|
-
params['startDate'] = format$
|
|
17996
|
+
params['startDate'] = format$2(dateRange.fromDate, DATE_FORMAT);
|
|
17982
17997
|
}
|
|
17983
17998
|
if (dateRange === null || dateRange === void 0 ? void 0 : dateRange.toDate) {
|
|
17984
|
-
params['endDate'] = format$
|
|
17999
|
+
params['endDate'] = format$2(dateRange.toDate, DATE_FORMAT);
|
|
17985
18000
|
}
|
|
17986
18001
|
params['catalogueId'] = catalogueId.toString();
|
|
17987
18002
|
if (addProductToQuery) {
|
|
@@ -18011,11 +18026,11 @@ var Product = function (_a) {
|
|
|
18011
18026
|
}
|
|
18012
18027
|
setDateRange(value);
|
|
18013
18028
|
if (value.fromDate && value.toDate && searchType === 1 && searchResults.length > 0) {
|
|
18014
|
-
var from_1 = format$
|
|
18015
|
-
var to_1 = format$
|
|
18029
|
+
var from_1 = format$2(value.fromDate, DATE_FORMAT);
|
|
18030
|
+
var to_1 = format$2(value.toDate, DATE_FORMAT);
|
|
18016
18031
|
var selectedItem = searchResults.find(function (item) {
|
|
18017
|
-
var itemFrom = format$
|
|
18018
|
-
var itemTo = format$
|
|
18032
|
+
var itemFrom = format$2(new Date(item.fromDate), DATE_FORMAT);
|
|
18033
|
+
var itemTo = format$2(new Date(item.toDate), DATE_FORMAT);
|
|
18019
18034
|
return itemFrom === from_1 && itemTo === to_1;
|
|
18020
18035
|
});
|
|
18021
18036
|
if (selectedItem) {
|
|
@@ -19823,7 +19838,7 @@ var selectBookingQuery = function (state) {
|
|
|
19823
19838
|
var key = _a[0],
|
|
19824
19839
|
value = _a[1];
|
|
19825
19840
|
if (key === 'startDate' || key === 'endDate') {
|
|
19826
|
-
value = format$
|
|
19841
|
+
value = format$2(parseISO(value), 'yyyy-MM-dd');
|
|
19827
19842
|
}
|
|
19828
19843
|
if (key === 'rooms') {
|
|
19829
19844
|
value = JsonURL.stringify(
|
|
@@ -20694,7 +20709,7 @@ var setOfficeId = ((_a$3 = bookingSlice.actions), _a$3.setOfficeId),
|
|
|
20694
20709
|
setBookingAttributes = _a$3.setBookingAttributes,
|
|
20695
20710
|
setCalculateDeposit = _a$3.setCalculateDeposit,
|
|
20696
20711
|
setShowCommission = _a$3.setShowCommission,
|
|
20697
|
-
setBookingNumber = _a$3.setBookingNumber,
|
|
20712
|
+
setBookingNumber$1 = _a$3.setBookingNumber,
|
|
20698
20713
|
setIsRetry = _a$3.setIsRetry,
|
|
20699
20714
|
setFetchingPackage = _a$3.setFetchingPackage,
|
|
20700
20715
|
setIsFetching = _a$3.setIsFetching,
|
|
@@ -20710,7 +20725,7 @@ var setOfficeId = ((_a$3 = bookingSlice.actions), _a$3.setOfficeId),
|
|
|
20710
20725
|
setAgentAdressId = _a$3.setAgentAdressId,
|
|
20711
20726
|
setBookingRemarks = _a$3.setBookingRemarks,
|
|
20712
20727
|
setVoucherCodes = _a$3.setVoucherCodes,
|
|
20713
|
-
setCurrentStep = _a$3.setCurrentStep,
|
|
20728
|
+
setCurrentStep$1 = _a$3.setCurrentStep,
|
|
20714
20729
|
setPackageAirlineGroups = _a$3.setPackageAirlineGroups,
|
|
20715
20730
|
setPackageAirportGroups = _a$3.setPackageAirportGroups,
|
|
20716
20731
|
setFlights = _a$3.setFlights,
|
|
@@ -20961,37 +20976,27 @@ var Message = function (_a) {
|
|
|
20961
20976
|
);
|
|
20962
20977
|
};
|
|
20963
20978
|
|
|
20964
|
-
|
|
20965
|
-
|
|
20966
|
-
|
|
20967
|
-
|
|
20968
|
-
|
|
20969
|
-
|
|
20970
|
-
|
|
20971
|
-
|
|
20972
|
-
|
|
20973
|
-
|
|
20974
|
-
|
|
20975
|
-
|
|
20976
|
-
|
|
20977
|
-
|
|
20978
|
-
|
|
20979
|
-
|
|
20980
|
-
.concat(settings.error.pathSuffix, '?')
|
|
20981
|
-
.concat(bookingQueryString)
|
|
20982
|
-
);
|
|
20983
|
-
}
|
|
20984
|
-
}
|
|
20985
|
-
},
|
|
20986
|
-
[bookingNumber]
|
|
20987
|
-
);
|
|
20988
|
-
var translations = useSelector(selectTranslations);
|
|
20989
|
-
var encodedMailSubject = encodeURI(translations.CONFIRMATION.MAIL_SUBJECT);
|
|
20979
|
+
function format(str, args) {
|
|
20980
|
+
// Simple format function: replaces {0}, {1}, ... with args
|
|
20981
|
+
return str.replace(/\{(\d+)\}/g, function (match, number) {
|
|
20982
|
+
return typeof args[number] !== 'undefined' ? String(args[number]) : match;
|
|
20983
|
+
});
|
|
20984
|
+
}
|
|
20985
|
+
var SharedConfirmation = function (_a) {
|
|
20986
|
+
var bookingNumber = _a.bookingNumber,
|
|
20987
|
+
isOption = _a.isOption,
|
|
20988
|
+
isOffer = _a.isOffer,
|
|
20989
|
+
translations = _a.translations,
|
|
20990
|
+
companyContactPhone = _a.companyContactPhone,
|
|
20991
|
+
companyContactEmail = _a.companyContactEmail,
|
|
20992
|
+
_b = _a.homeUrl,
|
|
20993
|
+
homeUrl = _b === void 0 ? '/' : _b;
|
|
20994
|
+
var encodedMailSubject = encodeURI(translations.MAIL_SUBJECT);
|
|
20990
20995
|
var titleText = isOption
|
|
20991
|
-
? format(translations.
|
|
20992
|
-
:
|
|
20993
|
-
? format(translations.
|
|
20994
|
-
: format(translations.
|
|
20996
|
+
? format(translations.TITLE_TEXT_OPTION, [bookingNumber])
|
|
20997
|
+
: isOffer
|
|
20998
|
+
? format(translations.TITLE_TEXT_OFFER, [bookingNumber])
|
|
20999
|
+
: format(translations.TITLE_TEXT_BOOKING, [bookingNumber]);
|
|
20995
21000
|
return React__default.createElement(
|
|
20996
21001
|
'div',
|
|
20997
21002
|
{ className: 'form form__booking--message', id: 'booking--confirmation' },
|
|
@@ -21009,21 +21014,27 @@ var Confirmation = function () {
|
|
|
21009
21014
|
{
|
|
21010
21015
|
type: 'success',
|
|
21011
21016
|
title: titleText,
|
|
21012
|
-
actionComponent:
|
|
21013
|
-
|
|
21014
|
-
|
|
21015
|
-
|
|
21016
|
-
|
|
21017
|
-
|
|
21018
|
-
|
|
21019
|
-
|
|
21020
|
-
|
|
21021
|
-
|
|
21022
|
-
|
|
21023
|
-
|
|
21024
|
-
|
|
21025
|
-
|
|
21026
|
-
|
|
21017
|
+
actionComponent:
|
|
21018
|
+
companyContactPhone || companyContactEmail
|
|
21019
|
+
? React__default.createElement(
|
|
21020
|
+
'div',
|
|
21021
|
+
{ className: 'sm' },
|
|
21022
|
+
companyContactPhone &&
|
|
21023
|
+
React__default.createElement(
|
|
21024
|
+
'a',
|
|
21025
|
+
{ href: 'tel://'.concat(companyContactPhone), className: 'sm__icon' },
|
|
21026
|
+
React__default.createElement(Icon, { name: 'tel' })
|
|
21027
|
+
),
|
|
21028
|
+
companyContactEmail &&
|
|
21029
|
+
React__default.createElement(
|
|
21030
|
+
'a',
|
|
21031
|
+
{ href: 'mailto://'.concat(companyContactEmail), className: 'sm__icon' },
|
|
21032
|
+
React__default.createElement(Icon, { name: 'mail' })
|
|
21033
|
+
),
|
|
21034
|
+
homeUrl &&
|
|
21035
|
+
React__default.createElement('a', { href: homeUrl, className: 'sm__icon' }, React__default.createElement(Icon, { name: 'home' }))
|
|
21036
|
+
)
|
|
21037
|
+
: undefined
|
|
21027
21038
|
},
|
|
21028
21039
|
!isOption
|
|
21029
21040
|
? React__default.createElement(
|
|
@@ -21032,25 +21043,23 @@ var Confirmation = function () {
|
|
|
21032
21043
|
React__default.createElement(
|
|
21033
21044
|
'p',
|
|
21034
21045
|
null,
|
|
21035
|
-
translations.
|
|
21046
|
+
translations.MESSAGE_TEXT1,
|
|
21036
21047
|
React__default.createElement('br', null),
|
|
21037
|
-
|
|
21048
|
+
isOffer ? translations.MESSAGE_TEXT2_OFFER : translations.MESSAGE_TEXT2_BOOKING
|
|
21038
21049
|
),
|
|
21039
|
-
|
|
21040
|
-
'p',
|
|
21041
|
-
null,
|
|
21042
|
-
translations.CONFIRMATION.QUESTIONS_TEXT1,
|
|
21043
|
-
' ',
|
|
21050
|
+
companyContactEmail &&
|
|
21044
21051
|
React__default.createElement(
|
|
21045
|
-
'
|
|
21046
|
-
|
|
21047
|
-
|
|
21048
|
-
|
|
21049
|
-
|
|
21050
|
-
|
|
21051
|
-
|
|
21052
|
-
|
|
21053
|
-
|
|
21052
|
+
'p',
|
|
21053
|
+
null,
|
|
21054
|
+
translations.QUESTIONS_TEXT1,
|
|
21055
|
+
' ',
|
|
21056
|
+
React__default.createElement(
|
|
21057
|
+
'a',
|
|
21058
|
+
{ href: 'mailto:'.concat(companyContactEmail, '?subject=').concat(encodedMailSubject), title: translations.QUESTIONS_ALT },
|
|
21059
|
+
translations.QUESTIONS_TEXT2
|
|
21060
|
+
),
|
|
21061
|
+
translations.QUESTIONS_TEXT3
|
|
21062
|
+
)
|
|
21054
21063
|
)
|
|
21055
21064
|
: undefined
|
|
21056
21065
|
)
|
|
@@ -21060,6 +21069,42 @@ var Confirmation = function () {
|
|
|
21060
21069
|
);
|
|
21061
21070
|
};
|
|
21062
21071
|
|
|
21072
|
+
var Confirmation = function () {
|
|
21073
|
+
var dispatch = useAppDispatch();
|
|
21074
|
+
var settings = useContext(SettingsContext);
|
|
21075
|
+
var navigate = settings.skipRouter ? function () {} : useNavigate();
|
|
21076
|
+
var bookingNumber = useSelector(selectBookingNumber);
|
|
21077
|
+
var bookingQueryString = useSelector(selectBookingQueryString);
|
|
21078
|
+
var isOption = useSelector(selectIsOption);
|
|
21079
|
+
var translations = useSelector(selectTranslations);
|
|
21080
|
+
useEffect(
|
|
21081
|
+
function () {
|
|
21082
|
+
if (!bookingNumber) {
|
|
21083
|
+
if (settings.skipRouter) {
|
|
21084
|
+
dispatch(setCurrentStep$1(OPTIONS_FORM_STEP));
|
|
21085
|
+
} else {
|
|
21086
|
+
navigate(
|
|
21087
|
+
''
|
|
21088
|
+
.concat(!settings.skipBasePathInRouting ? settings.basePath : '')
|
|
21089
|
+
.concat(settings.error.pathSuffix, '?')
|
|
21090
|
+
.concat(bookingQueryString)
|
|
21091
|
+
);
|
|
21092
|
+
}
|
|
21093
|
+
}
|
|
21094
|
+
},
|
|
21095
|
+
[bookingNumber]
|
|
21096
|
+
);
|
|
21097
|
+
return React__default.createElement(SharedConfirmation, {
|
|
21098
|
+
bookingNumber: bookingNumber,
|
|
21099
|
+
isOption: isOption,
|
|
21100
|
+
isOffer: settings.isOffer,
|
|
21101
|
+
translations: translations.CONFIRMATION,
|
|
21102
|
+
companyContactPhone: settings.companyContactPhone,
|
|
21103
|
+
companyContactEmail: settings.companyContactEmail,
|
|
21104
|
+
homeUrl: settings.basePath || '/'
|
|
21105
|
+
});
|
|
21106
|
+
};
|
|
21107
|
+
|
|
21063
21108
|
var Error$1 = function () {
|
|
21064
21109
|
var dispatch = useAppDispatch();
|
|
21065
21110
|
var settings = useContext(SettingsContext);
|
|
@@ -22063,7 +22108,7 @@ var getDateText = function (date, hideYear) {
|
|
|
22063
22108
|
return undefined;
|
|
22064
22109
|
}
|
|
22065
22110
|
try {
|
|
22066
|
-
return hideYear ? format$
|
|
22111
|
+
return hideYear ? format$2(parseISO(date), 'dd/MM') : format$2(parseISO(date), 'dd/MM/yyyy');
|
|
22067
22112
|
} catch (_a) {
|
|
22068
22113
|
// Error while parsing date
|
|
22069
22114
|
return undefined;
|
|
@@ -22702,9 +22747,9 @@ var FlightOptionsForm = function () {
|
|
|
22702
22747
|
var handleSubmit = function (e) {
|
|
22703
22748
|
if (settings.skipRouter) {
|
|
22704
22749
|
if (settings.roomOptions.isHidden) {
|
|
22705
|
-
dispatch(setCurrentStep(OPTIONS_FORM_STEP));
|
|
22750
|
+
dispatch(setCurrentStep$1(OPTIONS_FORM_STEP));
|
|
22706
22751
|
} else {
|
|
22707
|
-
dispatch(setCurrentStep(ROOM_OPTIONS_FORM_STEP));
|
|
22752
|
+
dispatch(setCurrentStep$1(ROOM_OPTIONS_FORM_STEP));
|
|
22708
22753
|
}
|
|
22709
22754
|
} else {
|
|
22710
22755
|
if (settings.roomOptions.isHidden) {
|
|
@@ -22785,7 +22830,7 @@ var FlightOptionsForm = function () {
|
|
|
22785
22830
|
var filteredGroups = filterGroupedFlights(flightGroups, filterOptions);
|
|
22786
22831
|
var resultCount = filteredGroups.length;
|
|
22787
22832
|
var goPrevious = function () {
|
|
22788
|
-
dispatch(setCurrentStep(TRAVELERS_FORM_STEP));
|
|
22833
|
+
dispatch(setCurrentStep$1(TRAVELERS_FORM_STEP));
|
|
22789
22834
|
};
|
|
22790
22835
|
return React__default.createElement(
|
|
22791
22836
|
React__default.Fragment,
|
|
@@ -24824,9 +24869,9 @@ var OptionsForm = function () {
|
|
|
24824
24869
|
var handleSubmit = function (e) {
|
|
24825
24870
|
if (settings.skipRouter) {
|
|
24826
24871
|
if (travelersFirstStep) {
|
|
24827
|
-
dispatch(setCurrentStep(SUMMARY_STEP));
|
|
24872
|
+
dispatch(setCurrentStep$1(SUMMARY_STEP));
|
|
24828
24873
|
} else {
|
|
24829
|
-
dispatch(setCurrentStep(TRAVELERS_FORM_STEP));
|
|
24874
|
+
dispatch(setCurrentStep$1(TRAVELERS_FORM_STEP));
|
|
24830
24875
|
}
|
|
24831
24876
|
} else {
|
|
24832
24877
|
if (travelersFirstStep) {
|
|
@@ -24935,9 +24980,9 @@ var OptionsForm = function () {
|
|
|
24935
24980
|
}, []);
|
|
24936
24981
|
var goPrevious = function () {
|
|
24937
24982
|
if (settings.roomOptions.isHidden) {
|
|
24938
|
-
dispatch(setCurrentStep(FLIGHT_OPTIONS_FORM_STEP));
|
|
24983
|
+
dispatch(setCurrentStep$1(FLIGHT_OPTIONS_FORM_STEP));
|
|
24939
24984
|
} else {
|
|
24940
|
-
dispatch(setCurrentStep(ROOM_OPTIONS_FORM_STEP));
|
|
24985
|
+
dispatch(setCurrentStep$1(ROOM_OPTIONS_FORM_STEP));
|
|
24941
24986
|
}
|
|
24942
24987
|
};
|
|
24943
24988
|
var previousUrl = settings.roomOptions.isHidden
|
|
@@ -25389,11 +25434,11 @@ var RoomOptionsForm = function () {
|
|
|
25389
25434
|
var isLoading = useSelector(selectIsFetchingProductOptions);
|
|
25390
25435
|
var rooms = buildSelectableRooms(packageRooms, settings.accommodations, settings.regimes, accommodationViews);
|
|
25391
25436
|
var goPrevious = function () {
|
|
25392
|
-
dispatch(setCurrentStep(FLIGHT_OPTIONS_FORM_STEP));
|
|
25437
|
+
dispatch(setCurrentStep$1(FLIGHT_OPTIONS_FORM_STEP));
|
|
25393
25438
|
};
|
|
25394
25439
|
var handleSubmit = function (e) {
|
|
25395
25440
|
if (settings.skipRouter) {
|
|
25396
|
-
dispatch(setCurrentStep(OPTIONS_FORM_STEP));
|
|
25441
|
+
dispatch(setCurrentStep$1(OPTIONS_FORM_STEP));
|
|
25397
25442
|
} else {
|
|
25398
25443
|
navigate(
|
|
25399
25444
|
''
|
|
@@ -26613,7 +26658,7 @@ var Summary = function () {
|
|
|
26613
26658
|
: _e[0];
|
|
26614
26659
|
if (!travelerFormValues) {
|
|
26615
26660
|
if (settings.skipRouter) {
|
|
26616
|
-
dispatch(setCurrentStep(TRAVELERS_FORM_STEP));
|
|
26661
|
+
dispatch(setCurrentStep$1(TRAVELERS_FORM_STEP));
|
|
26617
26662
|
} else {
|
|
26618
26663
|
navigate(''.concat(!settings.skipBasePathInRouting ? settings.basePath : '', '?').concat(bookingQueryString));
|
|
26619
26664
|
}
|
|
@@ -26683,12 +26728,12 @@ var Summary = function () {
|
|
|
26683
26728
|
case 2:
|
|
26684
26729
|
bookingResponse = _b.sent();
|
|
26685
26730
|
// Booking successfull
|
|
26686
|
-
dispatch(setBookingNumber(bookingResponse.number));
|
|
26731
|
+
dispatch(setBookingNumber$1(bookingResponse.number));
|
|
26687
26732
|
if (bookingResponse.paymentUrl) {
|
|
26688
26733
|
window.location.href = bookingResponse.paymentUrl;
|
|
26689
26734
|
} else {
|
|
26690
26735
|
if (settings.skipRouter) {
|
|
26691
|
-
dispatch(setCurrentStep(CONFIRMATION_STEP));
|
|
26736
|
+
dispatch(setCurrentStep$1(CONFIRMATION_STEP));
|
|
26692
26737
|
} else {
|
|
26693
26738
|
navigate(
|
|
26694
26739
|
''
|
|
@@ -26702,7 +26747,7 @@ var Summary = function () {
|
|
|
26702
26747
|
case 3:
|
|
26703
26748
|
_b.sent();
|
|
26704
26749
|
if (settings.skipRouter) {
|
|
26705
|
-
dispatch(setCurrentStep(ERROR_STEP));
|
|
26750
|
+
dispatch(setCurrentStep$1(ERROR_STEP));
|
|
26706
26751
|
} else {
|
|
26707
26752
|
navigate(
|
|
26708
26753
|
''
|
|
@@ -26810,7 +26855,7 @@ var Summary = function () {
|
|
|
26810
26855
|
dispatch(fetchPriceDetails());
|
|
26811
26856
|
};
|
|
26812
26857
|
var goPrevious = function () {
|
|
26813
|
-
dispatch(setCurrentStep(TRAVELERS_FORM_STEP));
|
|
26858
|
+
dispatch(setCurrentStep$1(TRAVELERS_FORM_STEP));
|
|
26814
26859
|
};
|
|
26815
26860
|
var translations = useSelector(selectTranslations);
|
|
26816
26861
|
return React__default.createElement(
|
|
@@ -27395,218 +27440,6 @@ var Summary = function () {
|
|
|
27395
27440
|
);
|
|
27396
27441
|
};
|
|
27397
27442
|
|
|
27398
|
-
var LabeledInput = function (_a) {
|
|
27399
|
-
var name = _a.name,
|
|
27400
|
-
type = _a.type,
|
|
27401
|
-
required = _a.required,
|
|
27402
|
-
value = _a.value,
|
|
27403
|
-
defaultValue = _a.defaultValue,
|
|
27404
|
-
min = _a.min,
|
|
27405
|
-
max = _a.max,
|
|
27406
|
-
label = _a.label,
|
|
27407
|
-
placeholder = _a.placeholder,
|
|
27408
|
-
extraClassName = _a.extraClassName,
|
|
27409
|
-
hasError = _a.hasError,
|
|
27410
|
-
onChange = _a.onChange,
|
|
27411
|
-
onBlur = _a.onBlur;
|
|
27412
|
-
return React__default.createElement(
|
|
27413
|
-
'label',
|
|
27414
|
-
{ className: buildClassName(['form__group', extraClassName, hasError && 'form__group--error']) },
|
|
27415
|
-
React__default.createElement('span', { className: 'form__label' }, compact([label, required && '*']).join(' ')),
|
|
27416
|
-
React__default.createElement('input', {
|
|
27417
|
-
name: name,
|
|
27418
|
-
type: type !== null && type !== void 0 ? type : 'text',
|
|
27419
|
-
required: required,
|
|
27420
|
-
className: 'form__input',
|
|
27421
|
-
min: min,
|
|
27422
|
-
max: max,
|
|
27423
|
-
placeholder: placeholder,
|
|
27424
|
-
onChange: onChange,
|
|
27425
|
-
onBlur: onBlur,
|
|
27426
|
-
value: value,
|
|
27427
|
-
defaultValue: defaultValue
|
|
27428
|
-
})
|
|
27429
|
-
);
|
|
27430
|
-
};
|
|
27431
|
-
|
|
27432
|
-
var LabeledSelect = function (_a) {
|
|
27433
|
-
var name = _a.name,
|
|
27434
|
-
id = _a.id,
|
|
27435
|
-
required = _a.required,
|
|
27436
|
-
value = _a.value,
|
|
27437
|
-
defaultValue = _a.defaultValue,
|
|
27438
|
-
label = _a.label,
|
|
27439
|
-
extraClassName = _a.extraClassName,
|
|
27440
|
-
extraDropdownClassName = _a.extraDropdownClassName,
|
|
27441
|
-
hasError = _a.hasError,
|
|
27442
|
-
options = _a.options,
|
|
27443
|
-
onChange = _a.onChange,
|
|
27444
|
-
onBlur = _a.onBlur;
|
|
27445
|
-
return React__default.createElement(
|
|
27446
|
-
'label',
|
|
27447
|
-
{ className: buildClassName(['form__group', extraClassName, hasError && 'form__group--error']) },
|
|
27448
|
-
React__default.createElement('span', { className: 'form__label' }, compact([label, required && '*']).join(' ')),
|
|
27449
|
-
React__default.createElement(
|
|
27450
|
-
'div',
|
|
27451
|
-
{ className: buildClassName(['dropdown', extraDropdownClassName]) },
|
|
27452
|
-
React__default.createElement(
|
|
27453
|
-
'select',
|
|
27454
|
-
{ name: name, id: id, defaultValue: defaultValue, value: value, onBlur: onBlur, onChange: onChange },
|
|
27455
|
-
options === null || options === void 0
|
|
27456
|
-
? void 0
|
|
27457
|
-
: options.map(function (option) {
|
|
27458
|
-
return React__default.createElement('option', { key: option.key, value: option.value }, option.label);
|
|
27459
|
-
})
|
|
27460
|
-
)
|
|
27461
|
-
)
|
|
27462
|
-
);
|
|
27463
|
-
};
|
|
27464
|
-
|
|
27465
|
-
var hasVisibleError = function (formik, key) {
|
|
27466
|
-
return get(formik.errors, key) && get(formik.touched, key);
|
|
27467
|
-
};
|
|
27468
|
-
|
|
27469
|
-
var GenderControl = function (_a) {
|
|
27470
|
-
var translations = _a.translations,
|
|
27471
|
-
value = _a.value,
|
|
27472
|
-
formik = _a.formik,
|
|
27473
|
-
name = _a.name;
|
|
27474
|
-
return React__default.createElement(
|
|
27475
|
-
'div',
|
|
27476
|
-
{ className: buildClassName(['form__group', hasVisibleError(formik, name) && 'form__group--error']) },
|
|
27477
|
-
React__default.createElement('label', { className: 'form__label' }, translations.TRAVELERS_FORM.GENDER_ID, ' *'),
|
|
27478
|
-
React__default.createElement(
|
|
27479
|
-
'div',
|
|
27480
|
-
{ className: 'radiobutton-group' },
|
|
27481
|
-
React__default.createElement(
|
|
27482
|
-
'div',
|
|
27483
|
-
{ className: 'radiobutton' },
|
|
27484
|
-
React__default.createElement(
|
|
27485
|
-
'label',
|
|
27486
|
-
{ className: 'radiobutton__label' },
|
|
27487
|
-
React__default.createElement('input', {
|
|
27488
|
-
type: 'radio',
|
|
27489
|
-
className: 'radiobutton__input',
|
|
27490
|
-
name: name,
|
|
27491
|
-
onChange: formik.handleChange,
|
|
27492
|
-
onBlur: formik.handleBlur,
|
|
27493
|
-
value: 'm',
|
|
27494
|
-
checked: value.gender === 'm'
|
|
27495
|
-
}),
|
|
27496
|
-
translations.TRAVELERS_FORM.MALE_GENDER
|
|
27497
|
-
)
|
|
27498
|
-
),
|
|
27499
|
-
React__default.createElement(
|
|
27500
|
-
'div',
|
|
27501
|
-
{ className: 'radiobutton' },
|
|
27502
|
-
React__default.createElement(
|
|
27503
|
-
'label',
|
|
27504
|
-
{ className: 'radiobutton__label' },
|
|
27505
|
-
React__default.createElement('input', {
|
|
27506
|
-
type: 'radio',
|
|
27507
|
-
className: 'radiobutton__input',
|
|
27508
|
-
name: name,
|
|
27509
|
-
onChange: formik.handleChange,
|
|
27510
|
-
onBlur: formik.handleBlur,
|
|
27511
|
-
value: 'f',
|
|
27512
|
-
checked: value.gender === 'f'
|
|
27513
|
-
}),
|
|
27514
|
-
translations.TRAVELERS_FORM.FEMALE_GENDER
|
|
27515
|
-
)
|
|
27516
|
-
)
|
|
27517
|
-
)
|
|
27518
|
-
);
|
|
27519
|
-
};
|
|
27520
|
-
|
|
27521
|
-
var TypeAheadInput = function (_a) {
|
|
27522
|
-
var name = _a.name,
|
|
27523
|
-
value = _a.value,
|
|
27524
|
-
placeholder = _a.placeholder,
|
|
27525
|
-
options = _a.options,
|
|
27526
|
-
onChange = _a.onChange,
|
|
27527
|
-
onSelect = _a.onSelect,
|
|
27528
|
-
onClear = _a.onClear;
|
|
27529
|
-
var _b = useState(false),
|
|
27530
|
-
showItems = _b[0],
|
|
27531
|
-
setShowItems = _b[1];
|
|
27532
|
-
var handleChange = function (e) {
|
|
27533
|
-
if (onChange) {
|
|
27534
|
-
onChange(e.target.value);
|
|
27535
|
-
}
|
|
27536
|
-
};
|
|
27537
|
-
var handleClearClick = function (e) {
|
|
27538
|
-
if (onClear) {
|
|
27539
|
-
onClear();
|
|
27540
|
-
}
|
|
27541
|
-
setShowItems(false);
|
|
27542
|
-
};
|
|
27543
|
-
return React__default.createElement(
|
|
27544
|
-
'div',
|
|
27545
|
-
{ className: 'typeahead' },
|
|
27546
|
-
React__default.createElement(
|
|
27547
|
-
'div',
|
|
27548
|
-
{ className: 'typeahead__trigger typeahead__trigger--icon' },
|
|
27549
|
-
React__default.createElement(Icon, { name: 'ui-qsm-location' }),
|
|
27550
|
-
React__default.createElement('input', {
|
|
27551
|
-
type: 'text',
|
|
27552
|
-
className: 'form__input',
|
|
27553
|
-
name: name,
|
|
27554
|
-
value: value,
|
|
27555
|
-
onChange: handleChange,
|
|
27556
|
-
placeholder: placeholder,
|
|
27557
|
-
required: true,
|
|
27558
|
-
autoComplete: 'off',
|
|
27559
|
-
onKeyDown: function (e) {
|
|
27560
|
-
if (e.key === 'Tab' && options && onSelect) {
|
|
27561
|
-
onSelect(options[0].key);
|
|
27562
|
-
setShowItems(false);
|
|
27563
|
-
}
|
|
27564
|
-
},
|
|
27565
|
-
onFocus: function () {
|
|
27566
|
-
return setShowItems(true);
|
|
27567
|
-
}
|
|
27568
|
-
}),
|
|
27569
|
-
React__default.createElement('button', { type: 'button', className: 'button button--clear', onClick: handleClearClick })
|
|
27570
|
-
),
|
|
27571
|
-
options &&
|
|
27572
|
-
options.length > 0 &&
|
|
27573
|
-
showItems &&
|
|
27574
|
-
React__default.createElement(
|
|
27575
|
-
'div',
|
|
27576
|
-
{ className: 'typeahead__options' },
|
|
27577
|
-
(options !== null && options !== void 0 ? options : []).map(function (option) {
|
|
27578
|
-
var _a;
|
|
27579
|
-
var matchIndex = typeof value !== 'undefined' ? option.text.indexOf(value) : 0;
|
|
27580
|
-
var prefix = option.text.slice(0, matchIndex);
|
|
27581
|
-
var highlight = option.text.slice(matchIndex, (_a = value === null || value === void 0 ? void 0 : value.length) !== null && _a !== void 0 ? _a : 0);
|
|
27582
|
-
var suffix = option.text.slice(matchIndex);
|
|
27583
|
-
return React__default.createElement(
|
|
27584
|
-
'div',
|
|
27585
|
-
{ className: 'typeahead__option', key: option.key },
|
|
27586
|
-
React__default.createElement(
|
|
27587
|
-
'div',
|
|
27588
|
-
{ className: 'typeahead__option-header' },
|
|
27589
|
-
React__default.createElement(
|
|
27590
|
-
'button',
|
|
27591
|
-
{
|
|
27592
|
-
onClick: function () {
|
|
27593
|
-
if (onSelect) onSelect(option.key);
|
|
27594
|
-
setShowItems(false);
|
|
27595
|
-
},
|
|
27596
|
-
type: 'button',
|
|
27597
|
-
className: 'button button--plain'
|
|
27598
|
-
},
|
|
27599
|
-
prefix,
|
|
27600
|
-
React__default.createElement('span', { className: 'typeahead__option-highlight' }, highlight),
|
|
27601
|
-
suffix
|
|
27602
|
-
)
|
|
27603
|
-
)
|
|
27604
|
-
);
|
|
27605
|
-
})
|
|
27606
|
-
)
|
|
27607
|
-
);
|
|
27608
|
-
};
|
|
27609
|
-
|
|
27610
27443
|
function isValidEmail(email) {
|
|
27611
27444
|
return !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,24}$/i.test(email);
|
|
27612
27445
|
}
|
|
@@ -27646,18 +27479,18 @@ var validateForm = function (values, agentRequired, bookingType, translations, f
|
|
|
27646
27479
|
};
|
|
27647
27480
|
var formatTravelerField = function (room, pax, field) {
|
|
27648
27481
|
return values.rooms.length > 1
|
|
27649
|
-
? format(translations.TRAVELERS_FORM.VALIDATION.TRAVELER_X_FIELD, [room, pax, field])
|
|
27650
|
-
: format(translations.TRAVELERS_FORM.VALIDATION.SINGLE_ROOM_TRAVELER_X_FIELD, [pax, field]);
|
|
27482
|
+
? format$1(translations.TRAVELERS_FORM.VALIDATION.TRAVELER_X_FIELD, [room, pax, field])
|
|
27483
|
+
: format$1(translations.TRAVELERS_FORM.VALIDATION.SINGLE_ROOM_TRAVELER_X_FIELD, [pax, field]);
|
|
27651
27484
|
};
|
|
27652
27485
|
var formatTravelerIsNoAdult = function (room, pax) {
|
|
27653
27486
|
return values.rooms.length > 1
|
|
27654
|
-
? format(translations.TRAVELERS_FORM.VALIDATION.TRAVELER_X_IS_NO_ADULT, [room, pax])
|
|
27655
|
-
: format(translations.TRAVELERS_FORM.VALIDATION.SINGLE_ROOM_TRAVELER_X_IS_NO_ADULT, [pax]);
|
|
27487
|
+
? format$1(translations.TRAVELERS_FORM.VALIDATION.TRAVELER_X_IS_NO_ADULT, [room, pax])
|
|
27488
|
+
: format$1(translations.TRAVELERS_FORM.VALIDATION.SINGLE_ROOM_TRAVELER_X_IS_NO_ADULT, [pax]);
|
|
27656
27489
|
};
|
|
27657
27490
|
var formatTravelerIsNoChild = function (room, pax) {
|
|
27658
27491
|
return values.rooms.length > 1
|
|
27659
|
-
? format(translations.TRAVELERS_FORM.VALIDATION.TRAVELER_X_IS_NO_CHILD, [room, pax])
|
|
27660
|
-
: format(translations.TRAVELERS_FORM.VALIDATION.SINGLE_ROOM_TRAVELER_X_IS_NO_CHILD, [pax]);
|
|
27492
|
+
? format$1(translations.TRAVELERS_FORM.VALIDATION.TRAVELER_X_IS_NO_CHILD, [room, pax])
|
|
27493
|
+
: format$1(translations.TRAVELERS_FORM.VALIDATION.SINGLE_ROOM_TRAVELER_X_IS_NO_CHILD, [pax]);
|
|
27661
27494
|
};
|
|
27662
27495
|
values.rooms.forEach(function (r, rIndex) {
|
|
27663
27496
|
return r.adults.forEach(function (adult, index) {
|
|
@@ -27742,38 +27575,38 @@ var validateForm = function (values, agentRequired, bookingType, translations, f
|
|
|
27742
27575
|
}
|
|
27743
27576
|
if (bookingType != 'b2b' || (mainBookerFormFields === null || mainBookerFormFields === void 0 ? void 0 : mainBookerFormFields.length)) {
|
|
27744
27577
|
if (isEmpty(values.street) && isMainBookerFormFieldPresent('street')) {
|
|
27745
|
-
errors.street = format(translations.TRAVELERS_FORM.VALIDATION.MAIN_BOOKER_FIELD, [translations.TRAVELERS_FORM.STREET]);
|
|
27578
|
+
errors.street = format$1(translations.TRAVELERS_FORM.VALIDATION.MAIN_BOOKER_FIELD, [translations.TRAVELERS_FORM.STREET]);
|
|
27746
27579
|
}
|
|
27747
27580
|
if (isEmpty(values.houseNumber) && isMainBookerFormFieldPresent('houseNumber')) {
|
|
27748
|
-
errors.houseNumber = format(translations.TRAVELERS_FORM.VALIDATION.MAIN_BOOKER_FIELD, [translations.TRAVELERS_FORM.HOUSE_NUMBER]);
|
|
27581
|
+
errors.houseNumber = format$1(translations.TRAVELERS_FORM.VALIDATION.MAIN_BOOKER_FIELD, [translations.TRAVELERS_FORM.HOUSE_NUMBER]);
|
|
27749
27582
|
}
|
|
27750
27583
|
if (isEmpty(values.zipCode) && isMainBookerFormFieldPresent('zipCode')) {
|
|
27751
|
-
errors.zipCode = format(translations.TRAVELERS_FORM.VALIDATION.MAIN_BOOKER_FIELD, [translations.TRAVELERS_FORM.ZIPCODE]);
|
|
27584
|
+
errors.zipCode = format$1(translations.TRAVELERS_FORM.VALIDATION.MAIN_BOOKER_FIELD, [translations.TRAVELERS_FORM.ZIPCODE]);
|
|
27752
27585
|
}
|
|
27753
27586
|
if (isEmpty(values.place) && isMainBookerFormFieldPresent('place')) {
|
|
27754
|
-
errors.place = format(translations.TRAVELERS_FORM.VALIDATION.MAIN_BOOKER_FIELD, [translations.TRAVELERS_FORM.CITY]);
|
|
27587
|
+
errors.place = format$1(translations.TRAVELERS_FORM.VALIDATION.MAIN_BOOKER_FIELD, [translations.TRAVELERS_FORM.CITY]);
|
|
27755
27588
|
}
|
|
27756
27589
|
if (isMainBookerFormFieldPresent('email')) {
|
|
27757
27590
|
if (isEmpty(values.email)) {
|
|
27758
|
-
errors.email = format(translations.TRAVELERS_FORM.VALIDATION.MAIN_BOOKER_FIELD, [translations.TRAVELERS_FORM.EMAIL]);
|
|
27591
|
+
errors.email = format$1(translations.TRAVELERS_FORM.VALIDATION.MAIN_BOOKER_FIELD, [translations.TRAVELERS_FORM.EMAIL]);
|
|
27759
27592
|
} else if (isValidEmail(values.email)) {
|
|
27760
27593
|
errors.email = translations.TRAVELERS_FORM.VALIDATION.MAIN_BOOKER_EMAIL_IS_INVALID;
|
|
27761
27594
|
}
|
|
27762
27595
|
if (isEmpty(values.emailConfirmation)) {
|
|
27763
|
-
errors.emailConfirmation = format(translations.TRAVELERS_FORM.VALIDATION.MAIN_BOOKER_FIELD, [translations.TRAVELERS_FORM.REPEAT_EMAIL]);
|
|
27596
|
+
errors.emailConfirmation = format$1(translations.TRAVELERS_FORM.VALIDATION.MAIN_BOOKER_FIELD, [translations.TRAVELERS_FORM.REPEAT_EMAIL]);
|
|
27764
27597
|
} else if (values.emailConfirmation !== values.email) {
|
|
27765
27598
|
errors.emailConfirmation = translations.TRAVELERS_FORM.VALIDATION.MAIN_BOOKER_EMAIL_DOES_NOT_MATCH;
|
|
27766
27599
|
}
|
|
27767
27600
|
}
|
|
27768
27601
|
if (isEmpty(values.country) && isMainBookerFormFieldPresent('country')) {
|
|
27769
|
-
errors.country = format(translations.TRAVELERS_FORM.VALIDATION.MAIN_BOOKER_FIELD, [translations.TRAVELERS_FORM.COUNTRY]);
|
|
27602
|
+
errors.country = format$1(translations.TRAVELERS_FORM.VALIDATION.MAIN_BOOKER_FIELD, [translations.TRAVELERS_FORM.COUNTRY]);
|
|
27770
27603
|
}
|
|
27771
27604
|
if (isEmpty(values.phone) && isMainBookerFormFieldPresent('phone')) {
|
|
27772
|
-
errors.phone = format(translations.TRAVELERS_FORM.VALIDATION.MAIN_BOOKER_FIELD, [translations.TRAVELERS_FORM.PHONE]);
|
|
27605
|
+
errors.phone = format$1(translations.TRAVELERS_FORM.VALIDATION.MAIN_BOOKER_FIELD, [translations.TRAVELERS_FORM.PHONE]);
|
|
27773
27606
|
}
|
|
27774
27607
|
} else {
|
|
27775
27608
|
if (isEmpty(values.phone)) {
|
|
27776
|
-
errors.phone = format(translations.TRAVELERS_FORM.VALIDATION.MAIN_BOOKER_FIELD, [translations.TRAVELERS_FORM.PHONE]);
|
|
27609
|
+
errors.phone = format$1(translations.TRAVELERS_FORM.VALIDATION.MAIN_BOOKER_FIELD, [translations.TRAVELERS_FORM.PHONE]);
|
|
27777
27610
|
}
|
|
27778
27611
|
}
|
|
27779
27612
|
if (agentRequired && !values.travelAgentId) {
|
|
@@ -27782,6 +27615,73 @@ var validateForm = function (values, agentRequired, bookingType, translations, f
|
|
|
27782
27615
|
return errors;
|
|
27783
27616
|
};
|
|
27784
27617
|
|
|
27618
|
+
var LabeledInput = function (_a) {
|
|
27619
|
+
var name = _a.name,
|
|
27620
|
+
type = _a.type,
|
|
27621
|
+
required = _a.required,
|
|
27622
|
+
value = _a.value,
|
|
27623
|
+
defaultValue = _a.defaultValue,
|
|
27624
|
+
min = _a.min,
|
|
27625
|
+
max = _a.max,
|
|
27626
|
+
label = _a.label,
|
|
27627
|
+
placeholder = _a.placeholder,
|
|
27628
|
+
extraClassName = _a.extraClassName,
|
|
27629
|
+
hasError = _a.hasError,
|
|
27630
|
+
onChange = _a.onChange,
|
|
27631
|
+
onBlur = _a.onBlur;
|
|
27632
|
+
return React__default.createElement(
|
|
27633
|
+
'label',
|
|
27634
|
+
{ className: buildClassName(['form__group', extraClassName, hasError && 'form__group--error']) },
|
|
27635
|
+
React__default.createElement('span', { className: 'form__label' }, compact([label, required && '*']).join(' ')),
|
|
27636
|
+
React__default.createElement('input', {
|
|
27637
|
+
name: name,
|
|
27638
|
+
type: type !== null && type !== void 0 ? type : 'text',
|
|
27639
|
+
required: required,
|
|
27640
|
+
className: 'form__input',
|
|
27641
|
+
min: min,
|
|
27642
|
+
max: max,
|
|
27643
|
+
placeholder: placeholder,
|
|
27644
|
+
onChange: onChange,
|
|
27645
|
+
onBlur: onBlur,
|
|
27646
|
+
value: value,
|
|
27647
|
+
defaultValue: defaultValue
|
|
27648
|
+
})
|
|
27649
|
+
);
|
|
27650
|
+
};
|
|
27651
|
+
|
|
27652
|
+
var LabeledSelect = function (_a) {
|
|
27653
|
+
var name = _a.name,
|
|
27654
|
+
id = _a.id,
|
|
27655
|
+
required = _a.required,
|
|
27656
|
+
value = _a.value,
|
|
27657
|
+
defaultValue = _a.defaultValue,
|
|
27658
|
+
label = _a.label,
|
|
27659
|
+
extraClassName = _a.extraClassName,
|
|
27660
|
+
extraDropdownClassName = _a.extraDropdownClassName,
|
|
27661
|
+
hasError = _a.hasError,
|
|
27662
|
+
options = _a.options,
|
|
27663
|
+
onChange = _a.onChange,
|
|
27664
|
+
onBlur = _a.onBlur;
|
|
27665
|
+
return React__default.createElement(
|
|
27666
|
+
'label',
|
|
27667
|
+
{ className: buildClassName(['form__group', extraClassName, hasError && 'form__group--error']) },
|
|
27668
|
+
React__default.createElement('span', { className: 'form__label' }, compact([label, required && '*']).join(' ')),
|
|
27669
|
+
React__default.createElement(
|
|
27670
|
+
'div',
|
|
27671
|
+
{ className: buildClassName(['dropdown', extraDropdownClassName]) },
|
|
27672
|
+
React__default.createElement(
|
|
27673
|
+
'select',
|
|
27674
|
+
{ name: name, id: id, defaultValue: defaultValue, value: value, onBlur: onBlur, onChange: onChange },
|
|
27675
|
+
options === null || options === void 0
|
|
27676
|
+
? void 0
|
|
27677
|
+
: options.map(function (option) {
|
|
27678
|
+
return React__default.createElement('option', { key: option.key, value: option.value }, option.label);
|
|
27679
|
+
})
|
|
27680
|
+
)
|
|
27681
|
+
)
|
|
27682
|
+
);
|
|
27683
|
+
};
|
|
27684
|
+
|
|
27785
27685
|
var normalize = function (v) {
|
|
27786
27686
|
return v == null ? '' : String(v);
|
|
27787
27687
|
};
|
|
@@ -27913,6 +27813,151 @@ var PhoneInput = function (_a) {
|
|
|
27913
27813
|
);
|
|
27914
27814
|
};
|
|
27915
27815
|
|
|
27816
|
+
var hasVisibleError = function (formik, key) {
|
|
27817
|
+
return get(formik.errors, key) && get(formik.touched, key);
|
|
27818
|
+
};
|
|
27819
|
+
|
|
27820
|
+
var GenderControl = function (_a) {
|
|
27821
|
+
var translations = _a.translations,
|
|
27822
|
+
value = _a.value,
|
|
27823
|
+
formik = _a.formik,
|
|
27824
|
+
name = _a.name;
|
|
27825
|
+
return React__default.createElement(
|
|
27826
|
+
'div',
|
|
27827
|
+
{ className: buildClassName(['form__group', hasVisibleError(formik, name) && 'form__group--error']) },
|
|
27828
|
+
React__default.createElement('label', { className: 'form__label' }, translations.TRAVELERS_FORM.GENDER_ID, ' *'),
|
|
27829
|
+
React__default.createElement(
|
|
27830
|
+
'div',
|
|
27831
|
+
{ className: 'radiobutton-group' },
|
|
27832
|
+
React__default.createElement(
|
|
27833
|
+
'div',
|
|
27834
|
+
{ className: 'radiobutton' },
|
|
27835
|
+
React__default.createElement(
|
|
27836
|
+
'label',
|
|
27837
|
+
{ className: 'radiobutton__label' },
|
|
27838
|
+
React__default.createElement('input', {
|
|
27839
|
+
type: 'radio',
|
|
27840
|
+
className: 'radiobutton__input',
|
|
27841
|
+
name: name,
|
|
27842
|
+
onChange: formik.handleChange,
|
|
27843
|
+
onBlur: formik.handleBlur,
|
|
27844
|
+
value: 'm',
|
|
27845
|
+
checked: value.gender === 'm'
|
|
27846
|
+
}),
|
|
27847
|
+
translations.TRAVELERS_FORM.MALE_GENDER
|
|
27848
|
+
)
|
|
27849
|
+
),
|
|
27850
|
+
React__default.createElement(
|
|
27851
|
+
'div',
|
|
27852
|
+
{ className: 'radiobutton' },
|
|
27853
|
+
React__default.createElement(
|
|
27854
|
+
'label',
|
|
27855
|
+
{ className: 'radiobutton__label' },
|
|
27856
|
+
React__default.createElement('input', {
|
|
27857
|
+
type: 'radio',
|
|
27858
|
+
className: 'radiobutton__input',
|
|
27859
|
+
name: name,
|
|
27860
|
+
onChange: formik.handleChange,
|
|
27861
|
+
onBlur: formik.handleBlur,
|
|
27862
|
+
value: 'f',
|
|
27863
|
+
checked: value.gender === 'f'
|
|
27864
|
+
}),
|
|
27865
|
+
translations.TRAVELERS_FORM.FEMALE_GENDER
|
|
27866
|
+
)
|
|
27867
|
+
)
|
|
27868
|
+
)
|
|
27869
|
+
);
|
|
27870
|
+
};
|
|
27871
|
+
|
|
27872
|
+
var TypeAheadInput = function (_a) {
|
|
27873
|
+
var name = _a.name,
|
|
27874
|
+
value = _a.value,
|
|
27875
|
+
placeholder = _a.placeholder,
|
|
27876
|
+
options = _a.options,
|
|
27877
|
+
onChange = _a.onChange,
|
|
27878
|
+
onSelect = _a.onSelect,
|
|
27879
|
+
onClear = _a.onClear;
|
|
27880
|
+
var _b = useState(false),
|
|
27881
|
+
showItems = _b[0],
|
|
27882
|
+
setShowItems = _b[1];
|
|
27883
|
+
var handleChange = function (e) {
|
|
27884
|
+
if (onChange) {
|
|
27885
|
+
onChange(e.target.value);
|
|
27886
|
+
}
|
|
27887
|
+
};
|
|
27888
|
+
var handleClearClick = function (e) {
|
|
27889
|
+
if (onClear) {
|
|
27890
|
+
onClear();
|
|
27891
|
+
}
|
|
27892
|
+
setShowItems(false);
|
|
27893
|
+
};
|
|
27894
|
+
return React__default.createElement(
|
|
27895
|
+
'div',
|
|
27896
|
+
{ className: 'typeahead' },
|
|
27897
|
+
React__default.createElement(
|
|
27898
|
+
'div',
|
|
27899
|
+
{ className: 'typeahead__trigger typeahead__trigger--icon' },
|
|
27900
|
+
React__default.createElement(Icon, { name: 'ui-qsm-location' }),
|
|
27901
|
+
React__default.createElement('input', {
|
|
27902
|
+
type: 'text',
|
|
27903
|
+
className: 'form__input',
|
|
27904
|
+
name: name,
|
|
27905
|
+
value: value,
|
|
27906
|
+
onChange: handleChange,
|
|
27907
|
+
placeholder: placeholder,
|
|
27908
|
+
required: true,
|
|
27909
|
+
autoComplete: 'off',
|
|
27910
|
+
onKeyDown: function (e) {
|
|
27911
|
+
if (e.key === 'Tab' && options && onSelect) {
|
|
27912
|
+
onSelect(options[0].key);
|
|
27913
|
+
setShowItems(false);
|
|
27914
|
+
}
|
|
27915
|
+
},
|
|
27916
|
+
onFocus: function () {
|
|
27917
|
+
return setShowItems(true);
|
|
27918
|
+
}
|
|
27919
|
+
}),
|
|
27920
|
+
React__default.createElement('button', { type: 'button', className: 'button button--clear', onClick: handleClearClick })
|
|
27921
|
+
),
|
|
27922
|
+
options &&
|
|
27923
|
+
options.length > 0 &&
|
|
27924
|
+
showItems &&
|
|
27925
|
+
React__default.createElement(
|
|
27926
|
+
'div',
|
|
27927
|
+
{ className: 'typeahead__options' },
|
|
27928
|
+
(options !== null && options !== void 0 ? options : []).map(function (option) {
|
|
27929
|
+
var _a;
|
|
27930
|
+
var matchIndex = typeof value !== 'undefined' ? option.text.indexOf(value) : 0;
|
|
27931
|
+
var prefix = option.text.slice(0, matchIndex);
|
|
27932
|
+
var highlight = option.text.slice(matchIndex, (_a = value === null || value === void 0 ? void 0 : value.length) !== null && _a !== void 0 ? _a : 0);
|
|
27933
|
+
var suffix = option.text.slice(matchIndex);
|
|
27934
|
+
return React__default.createElement(
|
|
27935
|
+
'div',
|
|
27936
|
+
{ className: 'typeahead__option', key: option.key },
|
|
27937
|
+
React__default.createElement(
|
|
27938
|
+
'div',
|
|
27939
|
+
{ className: 'typeahead__option-header' },
|
|
27940
|
+
React__default.createElement(
|
|
27941
|
+
'button',
|
|
27942
|
+
{
|
|
27943
|
+
onClick: function () {
|
|
27944
|
+
if (onSelect) onSelect(option.key);
|
|
27945
|
+
setShowItems(false);
|
|
27946
|
+
},
|
|
27947
|
+
type: 'button',
|
|
27948
|
+
className: 'button button--plain'
|
|
27949
|
+
},
|
|
27950
|
+
prefix,
|
|
27951
|
+
React__default.createElement('span', { className: 'typeahead__option-highlight' }, highlight),
|
|
27952
|
+
suffix
|
|
27953
|
+
)
|
|
27954
|
+
)
|
|
27955
|
+
);
|
|
27956
|
+
})
|
|
27957
|
+
)
|
|
27958
|
+
);
|
|
27959
|
+
};
|
|
27960
|
+
|
|
27916
27961
|
function createTraveler(traveler, followNumber, personTranslation, isCompact) {
|
|
27917
27962
|
if (isCompact) {
|
|
27918
27963
|
return {
|
|
@@ -27923,27 +27968,27 @@ function createTraveler(traveler, followNumber, personTranslation, isCompact) {
|
|
|
27923
27968
|
gender: '',
|
|
27924
27969
|
age: traveler.age || 30
|
|
27925
27970
|
};
|
|
27926
|
-
} else {
|
|
27927
|
-
return {
|
|
27928
|
-
id: traveler.id,
|
|
27929
|
-
firstName: '',
|
|
27930
|
-
lastName: '',
|
|
27931
|
-
birthDate: '',
|
|
27932
|
-
gender: ''
|
|
27933
|
-
};
|
|
27934
27971
|
}
|
|
27972
|
+
return {
|
|
27973
|
+
id: traveler.id,
|
|
27974
|
+
firstName: '',
|
|
27975
|
+
lastName: '',
|
|
27976
|
+
birthDate: '',
|
|
27977
|
+
gender: ''
|
|
27978
|
+
};
|
|
27935
27979
|
}
|
|
27936
|
-
function
|
|
27980
|
+
function createInitialValuesFromRooms(formRooms, startDate, agentAdressId, personTranslation, isCompact) {
|
|
27981
|
+
var _a, _b, _c;
|
|
27937
27982
|
var followNumber = { number: 1 };
|
|
27938
27983
|
var initialValues = {
|
|
27939
27984
|
startDate: startDate,
|
|
27940
|
-
rooms: formRooms.map(function (
|
|
27985
|
+
rooms: formRooms.map(function (room) {
|
|
27941
27986
|
return {
|
|
27942
|
-
adults:
|
|
27943
|
-
return createTraveler(
|
|
27987
|
+
adults: room.adults.map(function (traveler) {
|
|
27988
|
+
return createTraveler(traveler, followNumber, personTranslation, isCompact);
|
|
27944
27989
|
}),
|
|
27945
|
-
children:
|
|
27946
|
-
return createTraveler(
|
|
27990
|
+
children: room.children.map(function (traveler) {
|
|
27991
|
+
return createTraveler(traveler, followNumber, personTranslation, isCompact);
|
|
27947
27992
|
})
|
|
27948
27993
|
};
|
|
27949
27994
|
}),
|
|
@@ -27960,234 +28005,249 @@ function createInitialValues(formRooms, startDate, agentAdressId, personTranslat
|
|
|
27960
28005
|
travelAgentId: agentAdressId !== null && agentAdressId !== void 0 ? agentAdressId : 0,
|
|
27961
28006
|
travelAgentName: ''
|
|
27962
28007
|
};
|
|
27963
|
-
if (
|
|
28008
|
+
if (
|
|
28009
|
+
(_c = (_b = (_a = initialValues.rooms) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.adults) === null || _c === void 0
|
|
28010
|
+
? void 0
|
|
28011
|
+
: _c[0]
|
|
28012
|
+
) {
|
|
27964
28013
|
initialValues.mainBookerId = initialValues.rooms[0].adults[0].id;
|
|
27965
28014
|
}
|
|
27966
28015
|
return initialValues;
|
|
27967
28016
|
}
|
|
27968
|
-
|
|
27969
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
27970
|
-
var
|
|
27971
|
-
|
|
27972
|
-
|
|
27973
|
-
|
|
27974
|
-
|
|
27975
|
-
|
|
27976
|
-
|
|
27977
|
-
var
|
|
27978
|
-
|
|
27979
|
-
var
|
|
27980
|
-
|
|
27981
|
-
|
|
27982
|
-
|
|
27983
|
-
|
|
27984
|
-
|
|
27985
|
-
|
|
27986
|
-
var useCompactForm = !!settings.travellers.compactForm && !!settings.agentAdressId;
|
|
27987
|
-
var showAllCountries = !!settings.travellers.showAllCountries;
|
|
27988
|
-
var initialValues =
|
|
27989
|
-
(_a = useSelector(selectTravelersFormValues)) !== null && _a !== void 0
|
|
27990
|
-
? _a
|
|
27991
|
-
: createInitialValues(formRooms, startDate, agentAdressId, translations.TRAVELERS_FORM.PERSON, useCompactForm);
|
|
27992
|
-
var _k = useState((_b = settings.agentRequired) !== null && _b !== void 0 ? _b : false),
|
|
27993
|
-
showAgents = _k[0],
|
|
27994
|
-
setShowAgents = _k[1];
|
|
27995
|
-
var _l = useState(!settings.agentAdressId && !settings.hideAgentSelection),
|
|
27996
|
-
showAgentSelection = _l[0],
|
|
27997
|
-
setShowAgentSelection = _l[1];
|
|
27998
|
-
var typeaheadAgents =
|
|
27999
|
-
(_c = sortBy(
|
|
28000
|
-
agents === null || agents === void 0
|
|
28001
|
-
? void 0
|
|
28002
|
-
: agents.map(function (x) {
|
|
28003
|
-
return {
|
|
28004
|
-
key: ''.concat(x.id),
|
|
28005
|
-
value: ''.concat(x.name, ' (').concat(x.postalCode, ' ').concat(x.location, ')'),
|
|
28006
|
-
text: ''.concat(x.name, ' (').concat(x.postalCode, ' ').concat(x.location, ')')
|
|
28007
|
-
};
|
|
28008
|
-
}),
|
|
28009
|
-
'value'
|
|
28010
|
-
)) !== null && _c !== void 0
|
|
28011
|
-
? _c
|
|
28012
|
-
: [];
|
|
28013
|
-
var _m = useState(typeaheadAgents),
|
|
28014
|
-
filteredAgents = _m[0],
|
|
28015
|
-
setFilteredAgents = _m[1];
|
|
28016
|
-
var formik = useCompactForm
|
|
28017
|
-
? useFormik({
|
|
28018
|
-
initialValues: initialValues,
|
|
28019
|
-
validate: function (values) {},
|
|
28020
|
-
onSubmit: function (values) {
|
|
28021
|
-
dispatch(setFormValues(values));
|
|
28022
|
-
dispatch(fetchPriceDetails());
|
|
28023
|
-
if (settings.skipRouter) {
|
|
28024
|
-
dispatch(setCurrentStep(SUMMARY_STEP));
|
|
28025
|
-
} else {
|
|
28026
|
-
navigate(
|
|
28027
|
-
''
|
|
28028
|
-
.concat(!settings.skipBasePathInRouting ? settings.basePath : '')
|
|
28029
|
-
.concat(settings.summary.pathSuffix, '?')
|
|
28030
|
-
.concat(bookingQueryString)
|
|
28031
|
-
);
|
|
28032
|
-
}
|
|
28033
|
-
}
|
|
28017
|
+
function createInitialValuesFromEditablePackagingEntry(editablePackagingEntry, agentAdressId) {
|
|
28018
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
|
28019
|
+
var accommodationLine =
|
|
28020
|
+
(_a = editablePackagingEntry === null || editablePackagingEntry === void 0 ? void 0 : editablePackagingEntry.lines) === null || _a === void 0
|
|
28021
|
+
? void 0
|
|
28022
|
+
: _a.find(function (line) {
|
|
28023
|
+
var _a;
|
|
28024
|
+
return (_a = line.pax) === null || _a === void 0 ? void 0 : _a.length;
|
|
28025
|
+
});
|
|
28026
|
+
var pax =
|
|
28027
|
+
(_b = editablePackagingEntry === null || editablePackagingEntry === void 0 ? void 0 : editablePackagingEntry.pax) !== null && _b !== void 0 ? _b : [];
|
|
28028
|
+
var roomNumbers = Array.from(
|
|
28029
|
+
new Set(
|
|
28030
|
+
((_c = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.pax) !== null && _c !== void 0 ? _c : []).map(function (
|
|
28031
|
+
x
|
|
28032
|
+
) {
|
|
28033
|
+
var _a;
|
|
28034
|
+
return (_a = x.room) !== null && _a !== void 0 ? _a : 0;
|
|
28034
28035
|
})
|
|
28035
|
-
|
|
28036
|
-
|
|
28037
|
-
|
|
28038
|
-
|
|
28039
|
-
|
|
28040
|
-
|
|
28041
|
-
|
|
28042
|
-
|
|
28043
|
-
|
|
28044
|
-
|
|
28045
|
-
|
|
28046
|
-
|
|
28047
|
-
onSubmit: function (values) {
|
|
28048
|
-
dispatch(setFormValues(values));
|
|
28049
|
-
dispatch(fetchPackage());
|
|
28050
|
-
if (settings.skipRouter) {
|
|
28051
|
-
if (travelersFirstStep) {
|
|
28052
|
-
dispatch(setCurrentStep(FLIGHT_OPTIONS_FORM_STEP));
|
|
28053
|
-
} else {
|
|
28054
|
-
dispatch(setCurrentStep(SUMMARY_STEP));
|
|
28055
|
-
}
|
|
28056
|
-
} else {
|
|
28057
|
-
if (travelersFirstStep) {
|
|
28058
|
-
navigate(
|
|
28059
|
-
''
|
|
28060
|
-
.concat(!settings.skipBasePathInRouting ? settings.basePath : '')
|
|
28061
|
-
.concat(settings.flightOptions.pathSuffix, '?')
|
|
28062
|
-
.concat(bookingQueryString)
|
|
28063
|
-
);
|
|
28064
|
-
} else {
|
|
28065
|
-
navigate(
|
|
28066
|
-
''
|
|
28067
|
-
.concat(!settings.skipBasePathInRouting ? settings.basePath : '')
|
|
28068
|
-
.concat(settings.summary.pathSuffix, '?')
|
|
28069
|
-
.concat(bookingQueryString)
|
|
28070
|
-
);
|
|
28071
|
-
}
|
|
28072
|
-
}
|
|
28073
|
-
}
|
|
28036
|
+
)
|
|
28037
|
+
);
|
|
28038
|
+
var rooms = (roomNumbers.length ? roomNumbers : [0]).map(function (roomNumber) {
|
|
28039
|
+
var _a;
|
|
28040
|
+
var roomPax = ((_a = accommodationLine === null || accommodationLine === void 0 ? void 0 : accommodationLine.pax) !== null && _a !== void 0 ? _a : [])
|
|
28041
|
+
.filter(function (x) {
|
|
28042
|
+
var _a;
|
|
28043
|
+
return ((_a = x.room) !== null && _a !== void 0 ? _a : 0) === roomNumber;
|
|
28044
|
+
})
|
|
28045
|
+
.sort(function (a, b) {
|
|
28046
|
+
var _a, _b;
|
|
28047
|
+
return ((_a = a.order) !== null && _a !== void 0 ? _a : 0) - ((_b = b.order) !== null && _b !== void 0 ? _b : 0);
|
|
28074
28048
|
});
|
|
28075
|
-
|
|
28076
|
-
|
|
28077
|
-
|
|
28078
|
-
|
|
28049
|
+
return {
|
|
28050
|
+
adults: roomPax.map(function (roomTraveler) {
|
|
28051
|
+
var _a, _b, _c, _d, _e;
|
|
28052
|
+
var entryPax =
|
|
28053
|
+
(_a = pax.find(function (x) {
|
|
28054
|
+
return x.id === roomTraveler.paxId;
|
|
28055
|
+
})) !== null && _a !== void 0
|
|
28056
|
+
? _a
|
|
28057
|
+
: {};
|
|
28058
|
+
return {
|
|
28059
|
+
id: (_b = entryPax.id) !== null && _b !== void 0 ? _b : roomTraveler.paxId,
|
|
28060
|
+
firstName: (_c = entryPax.firstName) !== null && _c !== void 0 ? _c : '',
|
|
28061
|
+
lastName: (_d = entryPax.lastName) !== null && _d !== void 0 ? _d : '',
|
|
28062
|
+
birthDate: entryPax.dateOfBirth ? format$2(new Date(entryPax.dateOfBirth), 'yyyy-MM-dd') : '',
|
|
28063
|
+
gender: (_e = entryPax.gender) !== null && _e !== void 0 ? _e : ''
|
|
28064
|
+
};
|
|
28065
|
+
}),
|
|
28066
|
+
children: []
|
|
28067
|
+
};
|
|
28068
|
+
});
|
|
28069
|
+
var values = createInitialValuesFromRooms(
|
|
28070
|
+
rooms.map(function (room) {
|
|
28071
|
+
return { adults: room.adults, children: room.children };
|
|
28072
|
+
}),
|
|
28073
|
+
(_e =
|
|
28074
|
+
(_d = editablePackagingEntry === null || editablePackagingEntry === void 0 ? void 0 : editablePackagingEntry.lines) === null || _d === void 0
|
|
28075
|
+
? void 0
|
|
28076
|
+
: _d[0]) === null || _e === void 0
|
|
28077
|
+
? void 0
|
|
28078
|
+
: _e.from,
|
|
28079
|
+
agentAdressId
|
|
28080
|
+
);
|
|
28081
|
+
values.rooms = rooms;
|
|
28082
|
+
values.mainBookerId =
|
|
28083
|
+
(_l =
|
|
28084
|
+
(_g =
|
|
28085
|
+
(_f = pax.find(function (x) {
|
|
28086
|
+
return x.isMainBooker;
|
|
28087
|
+
})) === null || _f === void 0
|
|
28088
|
+
? void 0
|
|
28089
|
+
: _f.id) !== null && _g !== void 0
|
|
28090
|
+
? _g
|
|
28091
|
+
: (_k = (_j = (_h = rooms[0]) === null || _h === void 0 ? void 0 : _h.adults) === null || _j === void 0 ? void 0 : _j[0]) === null || _k === void 0
|
|
28092
|
+
? void 0
|
|
28093
|
+
: _k.id) !== null && _l !== void 0
|
|
28094
|
+
? _l
|
|
28095
|
+
: -1;
|
|
28096
|
+
var address = editablePackagingEntry === null || editablePackagingEntry === void 0 ? void 0 : editablePackagingEntry.address;
|
|
28097
|
+
values.street = (_m = address === null || address === void 0 ? void 0 : address.street) !== null && _m !== void 0 ? _m : '';
|
|
28098
|
+
values.houseNumber = (_o = address === null || address === void 0 ? void 0 : address.houseNumber) !== null && _o !== void 0 ? _o : '';
|
|
28099
|
+
values.box = (_p = address === null || address === void 0 ? void 0 : address.box) !== null && _p !== void 0 ? _p : '';
|
|
28100
|
+
values.zipCode = (_q = address === null || address === void 0 ? void 0 : address.zipCode) !== null && _q !== void 0 ? _q : '';
|
|
28101
|
+
values.place = (_r = address === null || address === void 0 ? void 0 : address.place) !== null && _r !== void 0 ? _r : '';
|
|
28102
|
+
values.country = (_s = address === null || address === void 0 ? void 0 : address.country) !== null && _s !== void 0 ? _s : '';
|
|
28103
|
+
values.phone = (_t = address === null || address === void 0 ? void 0 : address.phone) !== null && _t !== void 0 ? _t : '';
|
|
28104
|
+
values.email = (_u = address === null || address === void 0 ? void 0 : address.email) !== null && _u !== void 0 ? _u : '';
|
|
28105
|
+
values.emailConfirmation = (_v = address === null || address === void 0 ? void 0 : address.email) !== null && _v !== void 0 ? _v : '';
|
|
28106
|
+
values.travelAgentId =
|
|
28107
|
+
(_x = (_w = address === null || address === void 0 ? void 0 : address.travelAgentId) !== null && _w !== void 0 ? _w : agentAdressId) !== null &&
|
|
28108
|
+
_x !== void 0
|
|
28109
|
+
? _x
|
|
28110
|
+
: 0;
|
|
28111
|
+
return values;
|
|
28112
|
+
}
|
|
28113
|
+
function applyTravelersFormValuesToEditablePackagingEntry(editablePackagingEntry, values) {
|
|
28114
|
+
var _a;
|
|
28115
|
+
var travelers = values.rooms.flatMap(function (room) {
|
|
28116
|
+
return __spreadArray(__spreadArray([], room.adults, true), room.children, true);
|
|
28117
|
+
});
|
|
28118
|
+
console.log('Applying form values:', values);
|
|
28119
|
+
console.log('editablePackagingEntry:', editablePackagingEntry);
|
|
28120
|
+
return __assign(__assign({}, editablePackagingEntry), {
|
|
28121
|
+
pax: ((_a = editablePackagingEntry.pax) !== null && _a !== void 0 ? _a : []).map(function (pax) {
|
|
28122
|
+
var _a, _b;
|
|
28123
|
+
var traveler = travelers.find(function (x) {
|
|
28124
|
+
return x.id === pax.id;
|
|
28125
|
+
});
|
|
28126
|
+
if (!traveler) return pax;
|
|
28127
|
+
return __assign(__assign({}, pax), {
|
|
28128
|
+
firstName: (_a = traveler.firstName) !== null && _a !== void 0 ? _a : '',
|
|
28129
|
+
lastName: (_b = traveler.lastName) !== null && _b !== void 0 ? _b : '',
|
|
28130
|
+
dateOfBirth: traveler.birthDate || null,
|
|
28131
|
+
isMainBooker: traveler.id === values.mainBookerId
|
|
28132
|
+
});
|
|
28133
|
+
}),
|
|
28134
|
+
address: __assign(__assign({}, editablePackagingEntry.address), {
|
|
28135
|
+
street: values.street,
|
|
28136
|
+
houseNumber: values.houseNumber,
|
|
28137
|
+
box: values.box,
|
|
28138
|
+
zipCode: values.zipCode,
|
|
28139
|
+
place: values.place,
|
|
28140
|
+
country: values.country,
|
|
28141
|
+
travelAgentId: values.travelAgentId,
|
|
28142
|
+
phone: values.phone,
|
|
28143
|
+
email: values.email
|
|
28144
|
+
})
|
|
28145
|
+
});
|
|
28146
|
+
}
|
|
28147
|
+
var SharedTravelersForm = function (_a) {
|
|
28148
|
+
var _b, _c, _d, _e, _f, _g;
|
|
28149
|
+
var formik = _a.formik,
|
|
28150
|
+
translations = _a.translations,
|
|
28151
|
+
travellersSettings = _a.travellersSettings,
|
|
28152
|
+
countries = _a.countries,
|
|
28153
|
+
agents = _a.agents,
|
|
28154
|
+
bookingType = _a.bookingType,
|
|
28155
|
+
agentAdressId = _a.agentAdressId,
|
|
28156
|
+
_h = _a.travelersFirstStep,
|
|
28157
|
+
travelersFirstStep = _h === void 0 ? false : _h,
|
|
28158
|
+
_j = _a.isUnavailable,
|
|
28159
|
+
isUnavailable = _j === void 0 ? false : _j,
|
|
28160
|
+
_k = _a.useCompactForm,
|
|
28161
|
+
useCompactForm = _k === void 0 ? false : _k,
|
|
28162
|
+
_l = _a.showAllCountries,
|
|
28163
|
+
showAllCountries = _l === void 0 ? false : _l,
|
|
28164
|
+
_m = _a.showAgentSelection,
|
|
28165
|
+
showAgentSelection = _m === void 0 ? false : _m,
|
|
28166
|
+
_o = _a.initialShowAgents,
|
|
28167
|
+
initialShowAgents = _o === void 0 ? false : _o,
|
|
28168
|
+
renderPreviousButton = _a.renderPreviousButton,
|
|
28169
|
+
onBookingTypeChange = _a.onBookingTypeChange;
|
|
28170
|
+
var _p = useState(initialShowAgents),
|
|
28171
|
+
showAgents = _p[0],
|
|
28172
|
+
setShowAgents = _p[1];
|
|
28173
|
+
var typeaheadAgents = useMemo(
|
|
28079
28174
|
function () {
|
|
28080
28175
|
var _a;
|
|
28081
|
-
|
|
28082
|
-
|
|
28176
|
+
return (_a = sortBy(
|
|
28177
|
+
agents === null || agents === void 0
|
|
28083
28178
|
? void 0
|
|
28084
|
-
:
|
|
28085
|
-
|
|
28086
|
-
|
|
28087
|
-
|
|
28088
|
-
|
|
28089
|
-
|
|
28090
|
-
|
|
28091
|
-
|
|
28092
|
-
|
|
28093
|
-
|
|
28094
|
-
|
|
28095
|
-
|
|
28096
|
-
|
|
28097
|
-
|
|
28098
|
-
|
|
28099
|
-
case 1:
|
|
28100
|
-
_a.trys.push([1, , 4, 5]);
|
|
28101
|
-
return [4 /*yield*/, dispatch(fetchPackage())];
|
|
28102
|
-
case 2:
|
|
28103
|
-
_a.sent();
|
|
28104
|
-
return [4 /*yield*/, dispatch(fetchPriceDetails())];
|
|
28105
|
-
case 3:
|
|
28106
|
-
_a.sent();
|
|
28107
|
-
return [3 /*break*/, 5];
|
|
28108
|
-
case 4:
|
|
28109
|
-
dispatch(setIsFetching(false));
|
|
28110
|
-
return [7 /*endfinally*/];
|
|
28111
|
-
case 5:
|
|
28112
|
-
return [2 /*return*/];
|
|
28113
|
-
}
|
|
28114
|
-
});
|
|
28115
|
-
});
|
|
28116
|
-
};
|
|
28117
|
-
fetchAll();
|
|
28118
|
-
},
|
|
28119
|
-
[bookingAttributes === null || bookingAttributes === void 0 ? void 0 : bookingAttributes.rooms]
|
|
28120
|
-
);
|
|
28121
|
-
// Update URL querystring when form data changes
|
|
28122
|
-
useEffect(
|
|
28123
|
-
function () {
|
|
28124
|
-
if (settings.skipRouter || !travelersFirstStep) return;
|
|
28125
|
-
var params = new URLSearchParams(bookingQueryString);
|
|
28126
|
-
params.delete('rooms');
|
|
28127
|
-
var roomsString = formik.values.rooms
|
|
28128
|
-
.map(function (room) {
|
|
28129
|
-
var adults = room.adults ? room.adults.length : 0;
|
|
28130
|
-
var childAges =
|
|
28131
|
-
room.children && room.children.length
|
|
28132
|
-
? room.children
|
|
28133
|
-
.map(function (c) {
|
|
28134
|
-
return c.age;
|
|
28135
|
-
})
|
|
28136
|
-
.join(',')
|
|
28137
|
-
: '';
|
|
28138
|
-
return 'adults:'.concat(adults, ',childAges:(').concat(childAges, ')');
|
|
28139
|
-
})
|
|
28140
|
-
.map(function (s) {
|
|
28141
|
-
return '('.concat(s, ')');
|
|
28142
|
-
})
|
|
28143
|
-
.join(',');
|
|
28144
|
-
var query = params.toString();
|
|
28145
|
-
if (query) {
|
|
28146
|
-
query += '&rooms=('.concat(roomsString, ')');
|
|
28147
|
-
} else {
|
|
28148
|
-
query = 'rooms=('.concat(roomsString, ')');
|
|
28149
|
-
}
|
|
28150
|
-
var newUrl = ''.concat(window.location.pathname, '?').concat(query);
|
|
28151
|
-
navigate(newUrl, { replace: true });
|
|
28152
|
-
},
|
|
28153
|
-
[formik.values]
|
|
28154
|
-
);
|
|
28155
|
-
useEffect(
|
|
28156
|
-
function () {
|
|
28157
|
-
if (agents && settings.affiliateSlug) {
|
|
28158
|
-
var agent_1 = agents.find(function (x) {
|
|
28159
|
-
return x.affiliateSlug && x.affiliateSlug === settings.affiliateSlug;
|
|
28160
|
-
});
|
|
28161
|
-
if (!agent_1) return;
|
|
28162
|
-
var formValues = produce(formik.values, function (values) {
|
|
28163
|
-
(values.travelAgentId = Number(agent_1.id)), (values.travelAgentName = agent_1.name);
|
|
28164
|
-
});
|
|
28165
|
-
formik.setValues(formValues, false);
|
|
28166
|
-
dispatch(setFormValues(formValues));
|
|
28167
|
-
setShowAgentSelection(false);
|
|
28168
|
-
}
|
|
28179
|
+
: agents.map(function (agent) {
|
|
28180
|
+
return {
|
|
28181
|
+
key: ''.concat(agent.id),
|
|
28182
|
+
value: ''
|
|
28183
|
+
.concat(agent.name)
|
|
28184
|
+
.concat(agent.postalCode || agent.location ? ' ('.concat(compact([agent.postalCode, agent.location]).join(' '), ')') : ''),
|
|
28185
|
+
text: ''
|
|
28186
|
+
.concat(agent.name)
|
|
28187
|
+
.concat(agent.postalCode || agent.location ? ' ('.concat(compact([agent.postalCode, agent.location]).join(' '), ')') : '')
|
|
28188
|
+
};
|
|
28189
|
+
}),
|
|
28190
|
+
'value'
|
|
28191
|
+
)) !== null && _a !== void 0
|
|
28192
|
+
? _a
|
|
28193
|
+
: [];
|
|
28169
28194
|
},
|
|
28170
|
-
[agents
|
|
28195
|
+
[agents]
|
|
28171
28196
|
);
|
|
28172
|
-
var
|
|
28173
|
-
|
|
28174
|
-
|
|
28197
|
+
var _q = useState(typeaheadAgents),
|
|
28198
|
+
filteredAgents = _q[0],
|
|
28199
|
+
setFilteredAgents = _q[1];
|
|
28200
|
+
var flatErrors = flat(formik.errors);
|
|
28201
|
+
var errorKeys = Object.keys(flatErrors).filter(function (key) {
|
|
28202
|
+
return get(formik.touched, key);
|
|
28203
|
+
});
|
|
28204
|
+
var hasVisibleError = function (key) {
|
|
28205
|
+
return get(formik.errors, key) && get(formik.touched, key);
|
|
28175
28206
|
};
|
|
28176
28207
|
var mainBooker =
|
|
28177
|
-
(
|
|
28178
|
-
return
|
|
28208
|
+
(_b = formik.values.rooms.find(function (room) {
|
|
28209
|
+
return room.adults.find(function (traveler) {
|
|
28179
28210
|
return traveler.id === formik.values.mainBookerId;
|
|
28180
28211
|
});
|
|
28181
|
-
})) === null ||
|
|
28212
|
+
})) === null || _b === void 0
|
|
28182
28213
|
? void 0
|
|
28183
|
-
:
|
|
28214
|
+
: _b.adults.find(function (traveler) {
|
|
28184
28215
|
return traveler.id === formik.values.mainBookerId;
|
|
28185
28216
|
});
|
|
28217
|
+
var countryOptions = __spreadArray(
|
|
28218
|
+
[{ key: 'empty', value: undefined, label: translations.TRAVELERS_FORM.SELECT_COUNTRY }],
|
|
28219
|
+
showAllCountries
|
|
28220
|
+
? (_c =
|
|
28221
|
+
countries === null || countries === void 0
|
|
28222
|
+
? void 0
|
|
28223
|
+
: countries.map(function (country) {
|
|
28224
|
+
return { key: country.iso2, value: country.iso2, label: country.name };
|
|
28225
|
+
})) !== null && _c !== void 0
|
|
28226
|
+
? _c
|
|
28227
|
+
: []
|
|
28228
|
+
: (_e =
|
|
28229
|
+
(_d = travellersSettings === null || travellersSettings === void 0 ? void 0 : travellersSettings.countries) === null || _d === void 0
|
|
28230
|
+
? void 0
|
|
28231
|
+
: _d.map(function (country) {
|
|
28232
|
+
return { key: country.iso2, value: country.iso2, label: country.name };
|
|
28233
|
+
})) !== null && _e !== void 0
|
|
28234
|
+
? _e
|
|
28235
|
+
: [
|
|
28236
|
+
{ key: 'be', value: 'be', label: translations.TRAVELERS_FORM.COUNTRIES.BELGIUM },
|
|
28237
|
+
{ key: 'nl', value: 'nl', label: translations.TRAVELERS_FORM.COUNTRIES.NETHERLANDS },
|
|
28238
|
+
{ key: 'fr', value: 'fr', label: translations.TRAVELERS_FORM.COUNTRIES.FRANCE }
|
|
28239
|
+
],
|
|
28240
|
+
true
|
|
28241
|
+
);
|
|
28242
|
+
var handleMainBookerChange = function (event) {
|
|
28243
|
+
formik.setFieldValue('mainBookerId', parseInt(event.currentTarget.value, 10));
|
|
28244
|
+
};
|
|
28186
28245
|
var handleAgentChange = function (value) {
|
|
28187
|
-
|
|
28188
|
-
|
|
28189
|
-
|
|
28190
|
-
|
|
28246
|
+
setFilteredAgents(
|
|
28247
|
+
typeaheadAgents.filter(function (x) {
|
|
28248
|
+
return x.value.toLocaleLowerCase().indexOf(value.toLocaleLowerCase()) > -1;
|
|
28249
|
+
})
|
|
28250
|
+
);
|
|
28191
28251
|
formik.setFieldValue('travelAgentName', value);
|
|
28192
28252
|
};
|
|
28193
28253
|
var handleAgentSelect = function (key) {
|
|
@@ -28201,48 +28261,36 @@ var TravelersForm = function () {
|
|
|
28201
28261
|
travelAgentName: (_a = agent === null || agent === void 0 ? void 0 : agent.value) !== null && _a !== void 0 ? _a : ''
|
|
28202
28262
|
})
|
|
28203
28263
|
);
|
|
28204
|
-
|
|
28205
|
-
if (agentAdressId && agentAdressId != 0) {
|
|
28206
|
-
bookingType = 'b2b';
|
|
28207
|
-
}
|
|
28208
|
-
dispatch(setBookingType(bookingType));
|
|
28264
|
+
onBookingTypeChange === null || onBookingTypeChange === void 0 ? void 0 : onBookingTypeChange(agentAdressId && agentAdressId !== 0 ? 'b2b' : 'b2b2c');
|
|
28209
28265
|
};
|
|
28210
28266
|
var handleAgentClear = function () {
|
|
28211
28267
|
formik.setValues(__assign(__assign({}, formik.values), { travelAgentId: 0, travelAgentName: '' }));
|
|
28212
|
-
|
|
28268
|
+
onBookingTypeChange === null || onBookingTypeChange === void 0 ? void 0 : onBookingTypeChange('b2c');
|
|
28269
|
+
};
|
|
28270
|
+
var toggleAgent = function (value) {
|
|
28271
|
+
setShowAgents(value);
|
|
28272
|
+
if (!value) {
|
|
28273
|
+
handleAgentClear();
|
|
28274
|
+
setFilteredAgents([]);
|
|
28275
|
+
}
|
|
28213
28276
|
};
|
|
28214
28277
|
var handleAddTraveler = function (roomIndex) {
|
|
28215
28278
|
var rooms = __spreadArray([], formik.values.rooms, true);
|
|
28216
|
-
var newAdult = {
|
|
28217
|
-
id: Date.now(),
|
|
28218
|
-
firstName: '',
|
|
28219
|
-
lastName: '',
|
|
28220
|
-
birthDate: '',
|
|
28221
|
-
gender: ''
|
|
28222
|
-
};
|
|
28279
|
+
var newAdult = { id: Date.now(), firstName: '', lastName: '', birthDate: '', gender: '' };
|
|
28223
28280
|
rooms[roomIndex] = __assign(__assign({}, rooms[roomIndex]), { adults: __spreadArray(__spreadArray([], rooms[roomIndex].adults, true), [newAdult], false) });
|
|
28224
28281
|
formik.setFieldValue('rooms', rooms);
|
|
28225
28282
|
};
|
|
28226
28283
|
var handleRemoveTraveler = function (roomIndex, travelerIndex) {
|
|
28227
28284
|
var rooms = __spreadArray([], formik.values.rooms, true);
|
|
28228
28285
|
var adults = __spreadArray([], rooms[roomIndex].adults, true);
|
|
28229
|
-
if (adults.length <= 1)
|
|
28230
|
-
return;
|
|
28231
|
-
}
|
|
28286
|
+
if (adults.length <= 1) return;
|
|
28232
28287
|
adults.splice(travelerIndex, 1);
|
|
28233
28288
|
rooms[roomIndex] = __assign(__assign({}, rooms[roomIndex]), { adults: adults });
|
|
28234
28289
|
formik.setFieldValue('rooms', rooms);
|
|
28235
28290
|
};
|
|
28236
28291
|
var handleAddRoom = function () {
|
|
28237
28292
|
var rooms = __spreadArray([], formik.values.rooms, true);
|
|
28238
|
-
|
|
28239
|
-
id: Date.now(),
|
|
28240
|
-
firstName: '',
|
|
28241
|
-
lastName: '',
|
|
28242
|
-
birthDate: '',
|
|
28243
|
-
gender: ''
|
|
28244
|
-
};
|
|
28245
|
-
rooms.push({ adults: [newAdult], children: [] });
|
|
28293
|
+
rooms.push({ adults: [{ id: Date.now(), firstName: '', lastName: '', birthDate: '', gender: '' }], children: [] });
|
|
28246
28294
|
formik.setFieldValue('rooms', rooms);
|
|
28247
28295
|
};
|
|
28248
28296
|
var handleRemoveRoom = function (roomIndex) {
|
|
@@ -28250,30 +28298,48 @@ var TravelersForm = function () {
|
|
|
28250
28298
|
rooms.splice(roomIndex, 1);
|
|
28251
28299
|
formik.setFieldValue('rooms', rooms);
|
|
28252
28300
|
};
|
|
28253
|
-
var
|
|
28254
|
-
|
|
28255
|
-
|
|
28256
|
-
|
|
28257
|
-
|
|
28258
|
-
|
|
28259
|
-
|
|
28260
|
-
|
|
28261
|
-
|
|
28262
|
-
|
|
28263
|
-
|
|
28264
|
-
|
|
28265
|
-
|
|
28266
|
-
|
|
28267
|
-
|
|
28268
|
-
|
|
28301
|
+
var renderGenderControl = function (name, value) {
|
|
28302
|
+
return React__default.createElement(
|
|
28303
|
+
'div',
|
|
28304
|
+
{ className: buildClassName(['form__group', hasVisibleError(name) && 'form__group--error']) },
|
|
28305
|
+
React__default.createElement('label', { className: 'form__label' }, translations.TRAVELERS_FORM.GENDER_ID, ' *'),
|
|
28306
|
+
React__default.createElement(
|
|
28307
|
+
'div',
|
|
28308
|
+
{ className: 'radiobutton-group' },
|
|
28309
|
+
[
|
|
28310
|
+
['m', translations.TRAVELERS_FORM.MALE_GENDER],
|
|
28311
|
+
['f', translations.TRAVELERS_FORM.FEMALE_GENDER]
|
|
28312
|
+
].map(function (_a) {
|
|
28313
|
+
var gender = _a[0],
|
|
28314
|
+
label = _a[1];
|
|
28315
|
+
return React__default.createElement(
|
|
28316
|
+
'div',
|
|
28317
|
+
{ className: 'radiobutton', key: gender },
|
|
28318
|
+
React__default.createElement(
|
|
28319
|
+
'label',
|
|
28320
|
+
{ className: 'radiobutton__label' },
|
|
28321
|
+
React__default.createElement('input', {
|
|
28322
|
+
type: 'radio',
|
|
28323
|
+
className: 'radiobutton__input',
|
|
28324
|
+
name: name,
|
|
28325
|
+
onChange: formik.handleChange,
|
|
28326
|
+
onBlur: formik.handleBlur,
|
|
28327
|
+
value: gender,
|
|
28328
|
+
checked: value.gender === gender
|
|
28329
|
+
}),
|
|
28330
|
+
label
|
|
28331
|
+
)
|
|
28332
|
+
);
|
|
28333
|
+
})
|
|
28334
|
+
)
|
|
28335
|
+
);
|
|
28269
28336
|
};
|
|
28270
28337
|
var getControl = function (type, value, name) {
|
|
28271
|
-
var _a
|
|
28338
|
+
var _a;
|
|
28272
28339
|
switch (type) {
|
|
28273
|
-
case 'gender':
|
|
28340
|
+
case 'gender':
|
|
28274
28341
|
return React__default.createElement(GenderControl, { translations: translations, value: value, formik: formik, name: name });
|
|
28275
|
-
|
|
28276
|
-
case 'firstName': {
|
|
28342
|
+
case 'firstName':
|
|
28277
28343
|
return React__default.createElement(LabeledInput, {
|
|
28278
28344
|
hasError: hasVisibleError(name),
|
|
28279
28345
|
extraClassName: 'form__group--md-33',
|
|
@@ -28284,8 +28350,7 @@ var TravelersForm = function () {
|
|
|
28284
28350
|
onBlur: formik.handleBlur,
|
|
28285
28351
|
value: value.firstName
|
|
28286
28352
|
});
|
|
28287
|
-
|
|
28288
|
-
case 'lastName': {
|
|
28353
|
+
case 'lastName':
|
|
28289
28354
|
return React__default.createElement(LabeledInput, {
|
|
28290
28355
|
hasError: hasVisibleError(name),
|
|
28291
28356
|
extraClassName: 'form__group--md-33',
|
|
@@ -28296,8 +28361,7 @@ var TravelersForm = function () {
|
|
|
28296
28361
|
onBlur: formik.handleBlur,
|
|
28297
28362
|
value: value.lastName
|
|
28298
28363
|
});
|
|
28299
|
-
|
|
28300
|
-
case 'birthDate': {
|
|
28364
|
+
case 'birthDate':
|
|
28301
28365
|
return React__default.createElement(LabeledInput, {
|
|
28302
28366
|
type: 'date',
|
|
28303
28367
|
hasError: hasVisibleError(name),
|
|
@@ -28309,8 +28373,7 @@ var TravelersForm = function () {
|
|
|
28309
28373
|
onBlur: formik.handleBlur,
|
|
28310
28374
|
value: value.birthDate
|
|
28311
28375
|
});
|
|
28312
|
-
|
|
28313
|
-
case 'country': {
|
|
28376
|
+
case 'country':
|
|
28314
28377
|
return React__default.createElement(LabeledSelect, {
|
|
28315
28378
|
hasError: hasVisibleError('country'),
|
|
28316
28379
|
label: translations.TRAVELERS_FORM.COUNTRY,
|
|
@@ -28319,46 +28382,12 @@ var TravelersForm = function () {
|
|
|
28319
28382
|
onChange: formik.handleChange,
|
|
28320
28383
|
onBlur: formik.handleBlur,
|
|
28321
28384
|
value: formik.values.country,
|
|
28322
|
-
options:
|
|
28323
|
-
[
|
|
28324
|
-
{
|
|
28325
|
-
key: 'empty',
|
|
28326
|
-
value: undefined,
|
|
28327
|
-
label: translations.TRAVELERS_FORM.SELECT_COUNTRY
|
|
28328
|
-
}
|
|
28329
|
-
],
|
|
28330
|
-
showAllCountries
|
|
28331
|
-
? (_a =
|
|
28332
|
-
countries === null || countries === void 0
|
|
28333
|
-
? void 0
|
|
28334
|
-
: countries.map(function (country) {
|
|
28335
|
-
return {
|
|
28336
|
-
key: country.iso2,
|
|
28337
|
-
value: country.iso2,
|
|
28338
|
-
label: country.name
|
|
28339
|
-
};
|
|
28340
|
-
})) !== null && _a !== void 0
|
|
28341
|
-
? _a
|
|
28342
|
-
: []
|
|
28343
|
-
: (_d =
|
|
28344
|
-
(_c = (_b = settings.travellers) === null || _b === void 0 ? void 0 : _b.countries) === null || _c === void 0
|
|
28345
|
-
? void 0
|
|
28346
|
-
: _c.map(function (country) {
|
|
28347
|
-
return {
|
|
28348
|
-
key: country.iso2,
|
|
28349
|
-
value: country.iso2,
|
|
28350
|
-
label: country.name
|
|
28351
|
-
};
|
|
28352
|
-
})) !== null && _d !== void 0
|
|
28353
|
-
? _d
|
|
28354
|
-
: [],
|
|
28355
|
-
true
|
|
28356
|
-
)
|
|
28385
|
+
options: countryOptions
|
|
28357
28386
|
});
|
|
28358
|
-
|
|
28359
|
-
case 'phone': {
|
|
28387
|
+
case 'phone':
|
|
28360
28388
|
return React__default.createElement(PhoneInput, {
|
|
28361
|
-
countries:
|
|
28389
|
+
countries:
|
|
28390
|
+
(_a = travellersSettings === null || travellersSettings === void 0 ? void 0 : travellersSettings.countries) !== null && _a !== void 0 ? _a : [],
|
|
28362
28391
|
countryIso2: formik.values.country,
|
|
28363
28392
|
hasError: hasVisibleError('phone'),
|
|
28364
28393
|
label: translations.TRAVELERS_FORM.PHONE,
|
|
@@ -28368,8 +28397,7 @@ var TravelersForm = function () {
|
|
|
28368
28397
|
onBlur: formik.handleBlur,
|
|
28369
28398
|
value: formik.values.phone
|
|
28370
28399
|
});
|
|
28371
|
-
|
|
28372
|
-
case 'email': {
|
|
28400
|
+
case 'email':
|
|
28373
28401
|
return React__default.createElement(
|
|
28374
28402
|
React__default.Fragment,
|
|
28375
28403
|
null,
|
|
@@ -28396,9 +28424,166 @@ var TravelersForm = function () {
|
|
|
28396
28424
|
value: formik.values.emailConfirmation
|
|
28397
28425
|
})
|
|
28398
28426
|
);
|
|
28399
|
-
|
|
28427
|
+
case 'street':
|
|
28428
|
+
return React__default.createElement(LabeledInput, {
|
|
28429
|
+
hasError: hasVisibleError('street'),
|
|
28430
|
+
extraClassName: 'form__group--50 form__group--sm-60',
|
|
28431
|
+
label: translations.TRAVELERS_FORM.STREET,
|
|
28432
|
+
required: true,
|
|
28433
|
+
name: 'street',
|
|
28434
|
+
onChange: formik.handleChange,
|
|
28435
|
+
onBlur: formik.handleBlur,
|
|
28436
|
+
value: formik.values.street
|
|
28437
|
+
});
|
|
28438
|
+
case 'houseNumber':
|
|
28439
|
+
return React__default.createElement(LabeledInput, {
|
|
28440
|
+
hasError: hasVisibleError('houseNumber'),
|
|
28441
|
+
extraClassName: 'form__group--30 form__group--sm-20',
|
|
28442
|
+
label: translations.TRAVELERS_FORM.HOUSE_NUMBER,
|
|
28443
|
+
required: true,
|
|
28444
|
+
name: 'houseNumber',
|
|
28445
|
+
onChange: formik.handleChange,
|
|
28446
|
+
onBlur: formik.handleBlur,
|
|
28447
|
+
value: formik.values.houseNumber
|
|
28448
|
+
});
|
|
28449
|
+
case 'box':
|
|
28450
|
+
return React__default.createElement(LabeledInput, {
|
|
28451
|
+
hasError: hasVisibleError('box'),
|
|
28452
|
+
extraClassName: 'form__group--20',
|
|
28453
|
+
label: translations.TRAVELERS_FORM.POST_BOX,
|
|
28454
|
+
name: 'box',
|
|
28455
|
+
onChange: formik.handleChange,
|
|
28456
|
+
onBlur: formik.handleBlur,
|
|
28457
|
+
value: formik.values.box
|
|
28458
|
+
});
|
|
28459
|
+
case 'zipCode':
|
|
28460
|
+
return React__default.createElement(LabeledInput, {
|
|
28461
|
+
hasError: hasVisibleError('zipCode'),
|
|
28462
|
+
extraClassName: 'form__group--40 form__group--sm-20',
|
|
28463
|
+
label: translations.TRAVELERS_FORM.ZIPCODE,
|
|
28464
|
+
required: true,
|
|
28465
|
+
name: 'zipCode',
|
|
28466
|
+
onChange: formik.handleChange,
|
|
28467
|
+
onBlur: formik.handleBlur,
|
|
28468
|
+
value: formik.values.zipCode
|
|
28469
|
+
});
|
|
28470
|
+
case 'place':
|
|
28471
|
+
return React__default.createElement(LabeledInput, {
|
|
28472
|
+
hasError: hasVisibleError('place'),
|
|
28473
|
+
extraClassName: 'form__group--60 form__group--sm-40',
|
|
28474
|
+
label: translations.TRAVELERS_FORM.CITY,
|
|
28475
|
+
required: true,
|
|
28476
|
+
name: 'place',
|
|
28477
|
+
onChange: formik.handleChange,
|
|
28478
|
+
onBlur: formik.handleBlur,
|
|
28479
|
+
value: formik.values.place
|
|
28480
|
+
});
|
|
28481
|
+
default:
|
|
28482
|
+
return null;
|
|
28400
28483
|
}
|
|
28401
28484
|
};
|
|
28485
|
+
var renderRoomLabel = function (room) {
|
|
28486
|
+
var _a, _b;
|
|
28487
|
+
return compact([
|
|
28488
|
+
room.adults.length,
|
|
28489
|
+
room.adults.length === 1 && ' '.concat(translations.TRAVELERS_FORM.ADULT),
|
|
28490
|
+
room.adults.length > 1 && ' '.concat(translations.TRAVELERS_FORM.ADULTS),
|
|
28491
|
+
((_a = room.adults) === null || _a === void 0 ? void 0 : _a.length) && ((_b = room.children) === null || _b === void 0 ? void 0 : _b.length) && ', ',
|
|
28492
|
+
room.children.length,
|
|
28493
|
+
room.children.length === 1 && ' '.concat(translations.TRAVELERS_FORM.CHILD),
|
|
28494
|
+
room.children.length > 1 && ' '.concat(translations.TRAVELERS_FORM.CHILDREN)
|
|
28495
|
+
]).join('');
|
|
28496
|
+
};
|
|
28497
|
+
var renderTravelerFields = function (travelerValues, namePrefix, isAdult, roomIndex, travelerIndex) {
|
|
28498
|
+
var _a;
|
|
28499
|
+
if (useCompactForm) {
|
|
28500
|
+
return React__default.createElement(
|
|
28501
|
+
'div',
|
|
28502
|
+
{ className: 'form__row' },
|
|
28503
|
+
React__default.createElement(LabeledInput, {
|
|
28504
|
+
hasError: hasVisibleError(''.concat(namePrefix, '.age')),
|
|
28505
|
+
extraClassName: 'form__group--md-33',
|
|
28506
|
+
label: translations.TRAVELERS_FORM.AGE,
|
|
28507
|
+
required: true,
|
|
28508
|
+
name: ''.concat(namePrefix, '.age'),
|
|
28509
|
+
onChange: formik.handleChange,
|
|
28510
|
+
onBlur: formik.handleBlur,
|
|
28511
|
+
value: travelerValues.age
|
|
28512
|
+
})
|
|
28513
|
+
);
|
|
28514
|
+
}
|
|
28515
|
+
if (
|
|
28516
|
+
(_a = travellersSettings === null || travellersSettings === void 0 ? void 0 : travellersSettings.formFields) === null || _a === void 0
|
|
28517
|
+
? void 0
|
|
28518
|
+
: _a.length
|
|
28519
|
+
) {
|
|
28520
|
+
return React__default.createElement(
|
|
28521
|
+
'div',
|
|
28522
|
+
{ className: 'travelers-form__grid' },
|
|
28523
|
+
travellersSettings.formFields.map(function (field, index) {
|
|
28524
|
+
return React__default.createElement(
|
|
28525
|
+
'div',
|
|
28526
|
+
{ key: index, className: 'control control--'.concat(field.type) },
|
|
28527
|
+
getControl(field.type, travelerValues, ''.concat(namePrefix, '.').concat(field.type))
|
|
28528
|
+
);
|
|
28529
|
+
})
|
|
28530
|
+
);
|
|
28531
|
+
}
|
|
28532
|
+
return React__default.createElement(
|
|
28533
|
+
React__default.Fragment,
|
|
28534
|
+
null,
|
|
28535
|
+
React__default.createElement('div', { className: 'form__row' }, renderGenderControl(''.concat(namePrefix, '.gender'), travelerValues)),
|
|
28536
|
+
React__default.createElement(
|
|
28537
|
+
'div',
|
|
28538
|
+
{ className: 'form__row' },
|
|
28539
|
+
React__default.createElement(LabeledInput, {
|
|
28540
|
+
hasError: hasVisibleError(''.concat(namePrefix, '.firstName')),
|
|
28541
|
+
extraClassName: 'form__group--md-33',
|
|
28542
|
+
label: translations.TRAVELERS_FORM.FIRST_NAME,
|
|
28543
|
+
required: true,
|
|
28544
|
+
name: ''.concat(namePrefix, '.firstName'),
|
|
28545
|
+
onChange: formik.handleChange,
|
|
28546
|
+
onBlur: formik.handleBlur,
|
|
28547
|
+
value: travelerValues.firstName
|
|
28548
|
+
}),
|
|
28549
|
+
React__default.createElement(LabeledInput, {
|
|
28550
|
+
hasError: hasVisibleError(''.concat(namePrefix, '.lastName')),
|
|
28551
|
+
extraClassName: 'form__group--md-33',
|
|
28552
|
+
label: translations.TRAVELERS_FORM.LAST_NAME,
|
|
28553
|
+
required: true,
|
|
28554
|
+
name: ''.concat(namePrefix, '.lastName'),
|
|
28555
|
+
onChange: formik.handleChange,
|
|
28556
|
+
onBlur: formik.handleBlur,
|
|
28557
|
+
value: travelerValues.lastName
|
|
28558
|
+
}),
|
|
28559
|
+
React__default.createElement(LabeledInput, {
|
|
28560
|
+
type: 'date',
|
|
28561
|
+
hasError: hasVisibleError(''.concat(namePrefix, '.birthDate')),
|
|
28562
|
+
extraClassName: 'form__group--md-33',
|
|
28563
|
+
label: translations.TRAVELERS_FORM.BIRTHDATE,
|
|
28564
|
+
required: true,
|
|
28565
|
+
name: ''.concat(namePrefix, '.birthDate'),
|
|
28566
|
+
onChange: formik.handleChange,
|
|
28567
|
+
onBlur: formik.handleBlur,
|
|
28568
|
+
value: travelerValues.birthDate
|
|
28569
|
+
})
|
|
28570
|
+
),
|
|
28571
|
+
travelersFirstStep &&
|
|
28572
|
+
isAdult &&
|
|
28573
|
+
formik.values.rooms[roomIndex].adults.length > 1 &&
|
|
28574
|
+
React__default.createElement(
|
|
28575
|
+
'button',
|
|
28576
|
+
{
|
|
28577
|
+
type: 'button',
|
|
28578
|
+
className: 'cta cta--secondary',
|
|
28579
|
+
onClick: function () {
|
|
28580
|
+
return handleRemoveTraveler(roomIndex, travelerIndex);
|
|
28581
|
+
}
|
|
28582
|
+
},
|
|
28583
|
+
translations.TRAVELERS_FORM.REMOVE_TRAVELER
|
|
28584
|
+
)
|
|
28585
|
+
);
|
|
28586
|
+
};
|
|
28402
28587
|
return React__default.createElement(
|
|
28403
28588
|
'form',
|
|
28404
28589
|
{
|
|
@@ -28409,670 +28594,231 @@ var TravelersForm = function () {
|
|
|
28409
28594
|
onSubmit: formik.handleSubmit,
|
|
28410
28595
|
onReset: formik.handleReset
|
|
28411
28596
|
},
|
|
28412
|
-
|
|
28413
|
-
|
|
28597
|
+
React__default.createElement(
|
|
28598
|
+
'div',
|
|
28599
|
+
{ className: 'form__travelers__wrapper' },
|
|
28600
|
+
formik.values.rooms.map(function (room, roomIndex) {
|
|
28601
|
+
return React__default.createElement(
|
|
28414
28602
|
'div',
|
|
28415
|
-
{
|
|
28416
|
-
formik.values.rooms.
|
|
28603
|
+
{ key: roomIndex },
|
|
28604
|
+
formik.values.rooms.length > 1 &&
|
|
28605
|
+
React__default.createElement(
|
|
28606
|
+
'div',
|
|
28607
|
+
{ className: 'form__region' },
|
|
28608
|
+
React__default.createElement(
|
|
28609
|
+
'div',
|
|
28610
|
+
{ className: 'form__region-header' },
|
|
28611
|
+
React__default.createElement('h5', { className: 'form__region-heading' }, translations.SHARED.ROOM, ' ', roomIndex + 1),
|
|
28612
|
+
React__default.createElement('p', { className: 'form__region-label' }, renderRoomLabel(room))
|
|
28613
|
+
),
|
|
28614
|
+
!useCompactForm &&
|
|
28615
|
+
travelersFirstStep &&
|
|
28616
|
+
formik.values.rooms.length > 1 &&
|
|
28617
|
+
React__default.createElement(
|
|
28618
|
+
'button',
|
|
28619
|
+
{
|
|
28620
|
+
type: 'button',
|
|
28621
|
+
className: 'cta cta--secondary',
|
|
28622
|
+
onClick: function () {
|
|
28623
|
+
return handleRemoveRoom(roomIndex);
|
|
28624
|
+
}
|
|
28625
|
+
},
|
|
28626
|
+
'Verwijder reisgezelschap'
|
|
28627
|
+
)
|
|
28628
|
+
),
|
|
28629
|
+
room.adults.map(function (travelerValues, index) {
|
|
28417
28630
|
return React__default.createElement(
|
|
28418
28631
|
'div',
|
|
28419
|
-
{ key:
|
|
28420
|
-
|
|
28632
|
+
{ className: 'form__region', key: travelerValues.id },
|
|
28633
|
+
React__default.createElement(
|
|
28634
|
+
'div',
|
|
28635
|
+
{ className: 'form__region-header' },
|
|
28636
|
+
React__default.createElement('h5', { className: 'form__region-heading' }, translations.TRAVELERS_FORM.TRAVELER, ' ', index + 1),
|
|
28637
|
+
React__default.createElement('p', { className: 'form__region-label' }, translations.TRAVELERS_FORM.ADULT),
|
|
28421
28638
|
React__default.createElement(
|
|
28422
28639
|
'div',
|
|
28423
|
-
{ className: '
|
|
28424
|
-
React__default.createElement(
|
|
28425
|
-
'div',
|
|
28426
|
-
{ className: 'form__region-header' },
|
|
28427
|
-
React__default.createElement('h5', { className: 'form__region-heading' }, translations.SHARED.ROOM, ' ', rIndex + 1),
|
|
28428
|
-
React__default.createElement(
|
|
28429
|
-
'p',
|
|
28430
|
-
{ className: 'form__region-label' },
|
|
28431
|
-
compact([
|
|
28432
|
-
room.adults.length,
|
|
28433
|
-
room.adults.length === 1 && ' '.concat(translations.TRAVELERS_FORM.ADULT),
|
|
28434
|
-
room.adults.length > 1 && ' '.concat(translations.TRAVELERS_FORM.ADULTS),
|
|
28435
|
-
room.adults && room.adults.length && room.children && room.children.length && ', ',
|
|
28436
|
-
room.children.length,
|
|
28437
|
-
room.children.length === 1 && ' '.concat(translations.TRAVELERS_FORM.CHILD),
|
|
28438
|
-
room.children.length > 1 && ' '.concat(translations.TRAVELERS_FORM.CHILDREN)
|
|
28439
|
-
]).join('')
|
|
28440
|
-
)
|
|
28441
|
-
)
|
|
28442
|
-
),
|
|
28443
|
-
room.adults.map(function (travelerValues, index) {
|
|
28444
|
-
return React__default.createElement(
|
|
28445
|
-
'div',
|
|
28446
|
-
{ className: 'form__region', key: travelerValues.id },
|
|
28447
|
-
React__default.createElement(
|
|
28448
|
-
'div',
|
|
28449
|
-
{ className: 'form__region-header' },
|
|
28450
|
-
React__default.createElement('h5', { className: 'form__region-heading' }, translations.TRAVELERS_FORM.TRAVELER, ' ', index + 1),
|
|
28451
|
-
React__default.createElement('p', { className: 'form__region-label' }, translations.TRAVELERS_FORM.ADULT),
|
|
28452
|
-
React__default.createElement(
|
|
28453
|
-
'div',
|
|
28454
|
-
{ className: 'radiobutton' },
|
|
28455
|
-
React__default.createElement(
|
|
28456
|
-
'label',
|
|
28457
|
-
{ className: 'radiobutton__label' },
|
|
28458
|
-
React__default.createElement('input', {
|
|
28459
|
-
type: 'radio',
|
|
28460
|
-
name: 'mainBookerId',
|
|
28461
|
-
onChange: handleMainBookerChange,
|
|
28462
|
-
onBlur: formik.handleBlur,
|
|
28463
|
-
value: travelerValues.id,
|
|
28464
|
-
checked: formik.values.mainBookerId === travelerValues.id,
|
|
28465
|
-
className: 'radiobutton__input'
|
|
28466
|
-
}),
|
|
28467
|
-
translations.TRAVELERS_FORM.MAIN_BOOKER
|
|
28468
|
-
)
|
|
28469
|
-
)
|
|
28470
|
-
),
|
|
28471
|
-
React__default.createElement(
|
|
28472
|
-
'div',
|
|
28473
|
-
{ className: 'form__row' },
|
|
28474
|
-
React__default.createElement(LabeledInput, {
|
|
28475
|
-
hasError: hasVisibleError('rooms['.concat(rIndex, '].adults[').concat(index, '].age')),
|
|
28476
|
-
extraClassName: 'form__group--md-33',
|
|
28477
|
-
label: translations.TRAVELERS_FORM.AGE,
|
|
28478
|
-
required: true,
|
|
28479
|
-
name: 'rooms['.concat(rIndex, '].adults[').concat(index, '].age'),
|
|
28480
|
-
onChange: formik.handleChange,
|
|
28481
|
-
onBlur: formik.handleBlur,
|
|
28482
|
-
value: travelerValues.age
|
|
28483
|
-
})
|
|
28484
|
-
)
|
|
28485
|
-
);
|
|
28486
|
-
}),
|
|
28487
|
-
room.children.map(function (travelerValues, index) {
|
|
28488
|
-
return React__default.createElement(
|
|
28489
|
-
'div',
|
|
28490
|
-
{ className: 'form__region', key: travelerValues.id },
|
|
28491
|
-
React__default.createElement(
|
|
28492
|
-
'div',
|
|
28493
|
-
{ className: 'form__region-header' },
|
|
28494
|
-
React__default.createElement(
|
|
28495
|
-
'h5',
|
|
28496
|
-
{ className: 'form__region-heading' },
|
|
28497
|
-
translations.TRAVELERS_FORM.TRAVELER,
|
|
28498
|
-
' ',
|
|
28499
|
-
room.adults.length + index + 1
|
|
28500
|
-
),
|
|
28501
|
-
React__default.createElement('p', { className: 'form__region-label' }, translations.TRAVELERS_FORM.CHILD)
|
|
28502
|
-
),
|
|
28640
|
+
{ className: 'radiobutton' },
|
|
28503
28641
|
React__default.createElement(
|
|
28504
|
-
'
|
|
28505
|
-
{ className: '
|
|
28506
|
-
React__default.createElement(
|
|
28507
|
-
|
|
28508
|
-
|
|
28509
|
-
|
|
28510
|
-
required: true,
|
|
28511
|
-
name: 'rooms['.concat(rIndex, '].children[').concat(index, '].age'),
|
|
28512
|
-
onChange: formik.handleChange,
|
|
28642
|
+
'label',
|
|
28643
|
+
{ className: 'radiobutton__label' },
|
|
28644
|
+
React__default.createElement('input', {
|
|
28645
|
+
type: 'radio',
|
|
28646
|
+
name: 'mainBookerId',
|
|
28647
|
+
onChange: handleMainBookerChange,
|
|
28513
28648
|
onBlur: formik.handleBlur,
|
|
28514
|
-
value: travelerValues.
|
|
28515
|
-
|
|
28649
|
+
value: travelerValues.id,
|
|
28650
|
+
checked: formik.values.mainBookerId === travelerValues.id,
|
|
28651
|
+
className: 'radiobutton__input'
|
|
28652
|
+
}),
|
|
28653
|
+
translations.TRAVELERS_FORM.MAIN_BOOKER
|
|
28516
28654
|
)
|
|
28517
|
-
)
|
|
28518
|
-
|
|
28655
|
+
)
|
|
28656
|
+
),
|
|
28657
|
+
renderTravelerFields(travelerValues, 'rooms['.concat(roomIndex, '].adults[').concat(index, ']'), true, roomIndex, index)
|
|
28519
28658
|
);
|
|
28520
|
-
})
|
|
28521
|
-
|
|
28522
|
-
|
|
28523
|
-
|
|
28524
|
-
|
|
28525
|
-
|
|
28659
|
+
}),
|
|
28660
|
+
room.children.map(function (travelerValues, index) {
|
|
28661
|
+
return React__default.createElement(
|
|
28662
|
+
'div',
|
|
28663
|
+
{ className: 'form__region', key: travelerValues.id },
|
|
28664
|
+
React__default.createElement(
|
|
28665
|
+
'div',
|
|
28666
|
+
{ className: 'form__region-header' },
|
|
28667
|
+
React__default.createElement(
|
|
28668
|
+
'h5',
|
|
28669
|
+
{ className: 'form__region-heading' },
|
|
28670
|
+
translations.TRAVELERS_FORM.TRAVELER,
|
|
28671
|
+
' ',
|
|
28672
|
+
room.adults.length + index + 1
|
|
28673
|
+
),
|
|
28674
|
+
React__default.createElement('p', { className: 'form__region-label' }, translations.TRAVELERS_FORM.CHILD)
|
|
28675
|
+
),
|
|
28676
|
+
renderTravelerFields(travelerValues, 'rooms['.concat(roomIndex, '].children[').concat(index, ']'), false, roomIndex, index)
|
|
28677
|
+
);
|
|
28678
|
+
}),
|
|
28679
|
+
!useCompactForm &&
|
|
28680
|
+
travelersFirstStep &&
|
|
28681
|
+
React__default.createElement(
|
|
28682
|
+
'div',
|
|
28683
|
+
{ className: 'form__region' },
|
|
28684
|
+
React__default.createElement(
|
|
28685
|
+
'button',
|
|
28686
|
+
{
|
|
28687
|
+
type: 'button',
|
|
28688
|
+
className: 'cta cta--select',
|
|
28689
|
+
onClick: function () {
|
|
28690
|
+
return handleAddTraveler(roomIndex);
|
|
28691
|
+
}
|
|
28692
|
+
},
|
|
28693
|
+
translations.TRAVELERS_FORM.ADD_TRAVELER
|
|
28694
|
+
)
|
|
28695
|
+
)
|
|
28696
|
+
);
|
|
28697
|
+
}),
|
|
28698
|
+
!useCompactForm &&
|
|
28699
|
+
(bookingType !== 'b2b' ||
|
|
28700
|
+
((_f = travellersSettings === null || travellersSettings === void 0 ? void 0 : travellersSettings.mainBookerFormFields) === null || _f === void 0
|
|
28701
|
+
? void 0
|
|
28702
|
+
: _f.length))
|
|
28703
|
+
? React__default.createElement(
|
|
28526
28704
|
'div',
|
|
28527
|
-
{ className: '
|
|
28528
|
-
|
|
28529
|
-
|
|
28530
|
-
|
|
28531
|
-
|
|
28532
|
-
|
|
28705
|
+
{ className: 'form__region' },
|
|
28706
|
+
React__default.createElement(
|
|
28707
|
+
'div',
|
|
28708
|
+
{ className: 'form__region-header' },
|
|
28709
|
+
React__default.createElement('h5', { className: 'form__region-heading' }, translations.TRAVELERS_FORM.MAIN_BOOKER),
|
|
28710
|
+
React__default.createElement(
|
|
28711
|
+
'p',
|
|
28712
|
+
{ className: 'form__region-label' },
|
|
28713
|
+
compact([
|
|
28714
|
+
compact([
|
|
28715
|
+
mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.firstName,
|
|
28716
|
+
mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.lastName
|
|
28717
|
+
]).join(' '),
|
|
28718
|
+
(mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.birthDate) &&
|
|
28719
|
+
format$2(parse(mainBooker.birthDate, 'yyyy-MM-dd', new Date()), 'dd-MM-yyyy')
|
|
28720
|
+
]).join(', ')
|
|
28721
|
+
)
|
|
28722
|
+
),
|
|
28723
|
+
(
|
|
28724
|
+
(_g = travellersSettings === null || travellersSettings === void 0 ? void 0 : travellersSettings.mainBookerFormFields) === null || _g === void 0
|
|
28725
|
+
? void 0
|
|
28726
|
+
: _g.length
|
|
28727
|
+
)
|
|
28728
|
+
? React__default.createElement(
|
|
28729
|
+
'div',
|
|
28730
|
+
{ className: 'main-booker-form__grid' },
|
|
28731
|
+
travellersSettings.mainBookerFormFields.map(function (field, index) {
|
|
28732
|
+
return React__default.createElement(
|
|
28733
|
+
'div',
|
|
28734
|
+
{ key: index, className: 'control control--'.concat(field.type) },
|
|
28735
|
+
getControl(field.type, {}, field.type)
|
|
28736
|
+
);
|
|
28737
|
+
})
|
|
28738
|
+
)
|
|
28739
|
+
: React__default.createElement(
|
|
28740
|
+
React__default.Fragment,
|
|
28741
|
+
null,
|
|
28533
28742
|
React__default.createElement(
|
|
28534
28743
|
'div',
|
|
28535
|
-
{ className: '
|
|
28744
|
+
{ className: 'form__twocolumn' },
|
|
28536
28745
|
React__default.createElement(
|
|
28537
28746
|
'div',
|
|
28538
|
-
{ className: '
|
|
28539
|
-
React__default.createElement('h5', { className: 'form__region-heading' }, translations.SHARED.ROOM, ' ', rIndex + 1),
|
|
28747
|
+
{ className: 'form__twocolumn-column' },
|
|
28540
28748
|
React__default.createElement(
|
|
28541
|
-
'
|
|
28542
|
-
{ className: '
|
|
28543
|
-
|
|
28544
|
-
|
|
28545
|
-
|
|
28546
|
-
|
|
28547
|
-
|
|
28548
|
-
|
|
28549
|
-
|
|
28550
|
-
|
|
28551
|
-
|
|
28749
|
+
'div',
|
|
28750
|
+
{ className: 'form__row' },
|
|
28751
|
+
React__default.createElement(LabeledInput, {
|
|
28752
|
+
hasError: hasVisibleError('street'),
|
|
28753
|
+
extraClassName: 'form__group--50 form__group--sm-60',
|
|
28754
|
+
label: translations.TRAVELERS_FORM.STREET,
|
|
28755
|
+
required: true,
|
|
28756
|
+
name: 'street',
|
|
28757
|
+
onChange: formik.handleChange,
|
|
28758
|
+
onBlur: formik.handleBlur,
|
|
28759
|
+
value: formik.values.street
|
|
28760
|
+
}),
|
|
28761
|
+
React__default.createElement(LabeledInput, {
|
|
28762
|
+
hasError: hasVisibleError('houseNumber'),
|
|
28763
|
+
extraClassName: 'form__group--30 form__group--sm-20',
|
|
28764
|
+
label: translations.TRAVELERS_FORM.HOUSE_NUMBER,
|
|
28765
|
+
required: true,
|
|
28766
|
+
name: 'houseNumber',
|
|
28767
|
+
onChange: formik.handleChange,
|
|
28768
|
+
onBlur: formik.handleBlur,
|
|
28769
|
+
value: formik.values.houseNumber
|
|
28770
|
+
}),
|
|
28771
|
+
React__default.createElement(LabeledInput, {
|
|
28772
|
+
hasError: hasVisibleError('box'),
|
|
28773
|
+
extraClassName: 'form__group--20',
|
|
28774
|
+
label: translations.TRAVELERS_FORM.POST_BOX,
|
|
28775
|
+
name: 'box',
|
|
28776
|
+
onChange: formik.handleChange,
|
|
28777
|
+
onBlur: formik.handleBlur,
|
|
28778
|
+
value: formik.values.box
|
|
28779
|
+
})
|
|
28552
28780
|
)
|
|
28553
28781
|
),
|
|
28554
|
-
travelersFirstStep &&
|
|
28555
|
-
formik.values.rooms.length > 1 &&
|
|
28556
|
-
React__default.createElement(
|
|
28557
|
-
'button',
|
|
28558
|
-
{
|
|
28559
|
-
type: 'button',
|
|
28560
|
-
className: 'cta cta--secondary',
|
|
28561
|
-
onClick: function () {
|
|
28562
|
-
return handleRemoveRoom(rIndex);
|
|
28563
|
-
}
|
|
28564
|
-
},
|
|
28565
|
-
'Verwijder reisgezelschap'
|
|
28566
|
-
)
|
|
28567
|
-
),
|
|
28568
|
-
room.adults.map(function (travelerValues, index) {
|
|
28569
|
-
var _a;
|
|
28570
|
-
return React__default.createElement(
|
|
28571
|
-
'div',
|
|
28572
|
-
{ className: 'form__region', key: travelerValues.id },
|
|
28573
28782
|
React__default.createElement(
|
|
28574
28783
|
'div',
|
|
28575
|
-
{ className: '
|
|
28576
|
-
React__default.createElement('h5', { className: 'form__region-heading' }, translations.TRAVELERS_FORM.TRAVELER, ' ', index + 1),
|
|
28577
|
-
React__default.createElement('p', { className: 'form__region-label' }, translations.TRAVELERS_FORM.ADULT),
|
|
28784
|
+
{ className: 'form__twocolumn-column' },
|
|
28578
28785
|
React__default.createElement(
|
|
28579
28786
|
'div',
|
|
28580
|
-
{ className: '
|
|
28581
|
-
React__default.createElement(
|
|
28582
|
-
'
|
|
28583
|
-
|
|
28584
|
-
|
|
28585
|
-
|
|
28586
|
-
|
|
28587
|
-
|
|
28588
|
-
|
|
28589
|
-
|
|
28590
|
-
|
|
28591
|
-
|
|
28592
|
-
|
|
28593
|
-
|
|
28594
|
-
|
|
28787
|
+
{ className: 'form__row' },
|
|
28788
|
+
React__default.createElement(LabeledInput, {
|
|
28789
|
+
hasError: hasVisibleError('zipCode'),
|
|
28790
|
+
extraClassName: 'form__group--40 form__group--sm-20',
|
|
28791
|
+
label: translations.TRAVELERS_FORM.ZIPCODE,
|
|
28792
|
+
required: true,
|
|
28793
|
+
name: 'zipCode',
|
|
28794
|
+
onChange: formik.handleChange,
|
|
28795
|
+
onBlur: formik.handleBlur,
|
|
28796
|
+
value: formik.values.zipCode
|
|
28797
|
+
}),
|
|
28798
|
+
React__default.createElement(LabeledInput, {
|
|
28799
|
+
hasError: hasVisibleError('place'),
|
|
28800
|
+
extraClassName: 'form__group--60 form__group--sm-40',
|
|
28801
|
+
label: translations.TRAVELERS_FORM.CITY,
|
|
28802
|
+
required: true,
|
|
28803
|
+
name: 'place',
|
|
28804
|
+
onChange: formik.handleChange,
|
|
28805
|
+
onBlur: formik.handleBlur,
|
|
28806
|
+
value: formik.values.place
|
|
28807
|
+
}),
|
|
28808
|
+
React__default.createElement(LabeledSelect, {
|
|
28809
|
+
hasError: hasVisibleError('country'),
|
|
28810
|
+
extraClassName: 'form__group--sm-40',
|
|
28811
|
+
label: translations.TRAVELERS_FORM.COUNTRY,
|
|
28812
|
+
required: true,
|
|
28813
|
+
name: 'country',
|
|
28814
|
+
onChange: formik.handleChange,
|
|
28815
|
+
onBlur: formik.handleBlur,
|
|
28816
|
+
value: formik.values.country,
|
|
28817
|
+
options: countryOptions
|
|
28818
|
+
})
|
|
28595
28819
|
)
|
|
28596
|
-
),
|
|
28597
|
-
((_a = settings.travellers.formFields) === null || _a === void 0 ? void 0 : _a.length)
|
|
28598
|
-
? React__default.createElement(
|
|
28599
|
-
React__default.Fragment,
|
|
28600
|
-
null,
|
|
28601
|
-
React__default.createElement(
|
|
28602
|
-
'div',
|
|
28603
|
-
{ className: 'travelers-form__grid' },
|
|
28604
|
-
settings.travellers.formFields.map(function (field, fIndex) {
|
|
28605
|
-
return React__default.createElement(
|
|
28606
|
-
'div',
|
|
28607
|
-
{ key: fIndex, className: 'control control--'.concat(field.type) },
|
|
28608
|
-
getControl(field.type, travelerValues, 'rooms['.concat(rIndex, '].adults[').concat(index, '].').concat(field.type))
|
|
28609
|
-
);
|
|
28610
|
-
})
|
|
28611
|
-
)
|
|
28612
|
-
)
|
|
28613
|
-
: React__default.createElement(
|
|
28614
|
-
React__default.Fragment,
|
|
28615
|
-
null,
|
|
28616
|
-
React__default.createElement(
|
|
28617
|
-
'div',
|
|
28618
|
-
{ className: 'form__row' },
|
|
28619
|
-
React__default.createElement(
|
|
28620
|
-
'div',
|
|
28621
|
-
{
|
|
28622
|
-
className: buildClassName([
|
|
28623
|
-
'form__group',
|
|
28624
|
-
hasVisibleError('rooms['.concat(rIndex, '].adults[').concat(index, '].gender')) && 'form__group--error'
|
|
28625
|
-
])
|
|
28626
|
-
},
|
|
28627
|
-
React__default.createElement('label', { className: 'form__label' }, translations.TRAVELERS_FORM.GENDER_ID, ' *'),
|
|
28628
|
-
React__default.createElement(
|
|
28629
|
-
'div',
|
|
28630
|
-
{ className: 'radiobutton-group' },
|
|
28631
|
-
React__default.createElement(
|
|
28632
|
-
'div',
|
|
28633
|
-
{ className: 'radiobutton' },
|
|
28634
|
-
React__default.createElement(
|
|
28635
|
-
'label',
|
|
28636
|
-
{ className: 'radiobutton__label' },
|
|
28637
|
-
React__default.createElement('input', {
|
|
28638
|
-
type: 'radio',
|
|
28639
|
-
className: 'radiobutton__input',
|
|
28640
|
-
name: 'rooms['.concat(rIndex, '].adults[').concat(index, '].gender'),
|
|
28641
|
-
onChange: formik.handleChange,
|
|
28642
|
-
onBlur: formik.handleBlur,
|
|
28643
|
-
value: 'm',
|
|
28644
|
-
checked: travelerValues.gender === 'm'
|
|
28645
|
-
}),
|
|
28646
|
-
translations.TRAVELERS_FORM.MALE_GENDER
|
|
28647
|
-
)
|
|
28648
|
-
),
|
|
28649
|
-
React__default.createElement(
|
|
28650
|
-
'div',
|
|
28651
|
-
{ className: 'radiobutton' },
|
|
28652
|
-
React__default.createElement(
|
|
28653
|
-
'label',
|
|
28654
|
-
{ className: 'radiobutton__label' },
|
|
28655
|
-
React__default.createElement('input', {
|
|
28656
|
-
type: 'radio',
|
|
28657
|
-
className: 'radiobutton__input',
|
|
28658
|
-
name: 'rooms['.concat(rIndex, '].adults[').concat(index, '].gender'),
|
|
28659
|
-
onChange: formik.handleChange,
|
|
28660
|
-
onBlur: formik.handleBlur,
|
|
28661
|
-
value: 'f',
|
|
28662
|
-
checked: travelerValues.gender === 'f'
|
|
28663
|
-
}),
|
|
28664
|
-
translations.TRAVELERS_FORM.FEMALE_GENDER
|
|
28665
|
-
)
|
|
28666
|
-
)
|
|
28667
|
-
)
|
|
28668
|
-
)
|
|
28669
|
-
),
|
|
28670
|
-
React__default.createElement(
|
|
28671
|
-
'div',
|
|
28672
|
-
{ className: 'form__row' },
|
|
28673
|
-
React__default.createElement(LabeledInput, {
|
|
28674
|
-
hasError: hasVisibleError('rooms['.concat(rIndex, '].adults[').concat(index, '].firstName')),
|
|
28675
|
-
extraClassName: 'form__group--md-33',
|
|
28676
|
-
label: translations.TRAVELERS_FORM.FIRST_NAME,
|
|
28677
|
-
required: true,
|
|
28678
|
-
name: 'rooms['.concat(rIndex, '].adults[').concat(index, '].firstName'),
|
|
28679
|
-
onChange: formik.handleChange,
|
|
28680
|
-
onBlur: formik.handleBlur,
|
|
28681
|
-
value: travelerValues.firstName
|
|
28682
|
-
}),
|
|
28683
|
-
React__default.createElement(LabeledInput, {
|
|
28684
|
-
hasError: hasVisibleError('rooms['.concat(rIndex, '].adults[').concat(index, '].lastName')),
|
|
28685
|
-
extraClassName: 'form__group--md-33',
|
|
28686
|
-
label: translations.TRAVELERS_FORM.LAST_NAME,
|
|
28687
|
-
required: true,
|
|
28688
|
-
name: 'rooms['.concat(rIndex, '].adults[').concat(index, '].lastName'),
|
|
28689
|
-
onChange: formik.handleChange,
|
|
28690
|
-
onBlur: formik.handleBlur,
|
|
28691
|
-
value: travelerValues.lastName
|
|
28692
|
-
}),
|
|
28693
|
-
React__default.createElement(LabeledInput, {
|
|
28694
|
-
type: 'date',
|
|
28695
|
-
hasError: hasVisibleError('rooms['.concat(rIndex, '].adults[').concat(index, '].birthDate')),
|
|
28696
|
-
extraClassName: 'form__group--md-33',
|
|
28697
|
-
label: translations.TRAVELERS_FORM.BIRTHDATE,
|
|
28698
|
-
required: true,
|
|
28699
|
-
name: 'rooms['.concat(rIndex, '].adults[').concat(index, '].birthDate'),
|
|
28700
|
-
onChange: formik.handleChange,
|
|
28701
|
-
onBlur: formik.handleBlur,
|
|
28702
|
-
value: travelerValues.birthDate
|
|
28703
|
-
})
|
|
28704
|
-
),
|
|
28705
|
-
travelersFirstStep &&
|
|
28706
|
-
room.adults.length > 1 &&
|
|
28707
|
-
React__default.createElement(
|
|
28708
|
-
'button',
|
|
28709
|
-
{
|
|
28710
|
-
type: 'button',
|
|
28711
|
-
className: 'cta cta--secondary',
|
|
28712
|
-
onClick: function () {
|
|
28713
|
-
return handleRemoveTraveler(rIndex, index);
|
|
28714
|
-
}
|
|
28715
|
-
},
|
|
28716
|
-
translations.TRAVELERS_FORM.REMOVE_TRAVELER
|
|
28717
|
-
)
|
|
28718
|
-
)
|
|
28719
|
-
);
|
|
28720
|
-
}),
|
|
28721
|
-
room.children.map(function (travelerValues, index) {
|
|
28722
|
-
var _a;
|
|
28723
|
-
return React__default.createElement(
|
|
28724
|
-
'div',
|
|
28725
|
-
{ className: 'form__region', key: travelerValues.id },
|
|
28726
|
-
React__default.createElement(
|
|
28727
|
-
'div',
|
|
28728
|
-
{ className: 'form__region-header' },
|
|
28729
|
-
React__default.createElement(
|
|
28730
|
-
'h5',
|
|
28731
|
-
{ className: 'form__region-heading' },
|
|
28732
|
-
translations.TRAVELERS_FORM.TRAVELER,
|
|
28733
|
-
' ',
|
|
28734
|
-
room.adults.length + index + 1
|
|
28735
|
-
),
|
|
28736
|
-
React__default.createElement('p', { className: 'form__region-label' }, translations.TRAVELERS_FORM.CHILD)
|
|
28737
|
-
),
|
|
28738
|
-
((_a = settings.travellers.formFields) === null || _a === void 0 ? void 0 : _a.length)
|
|
28739
|
-
? React__default.createElement(
|
|
28740
|
-
React__default.Fragment,
|
|
28741
|
-
null,
|
|
28742
|
-
React__default.createElement(
|
|
28743
|
-
'div',
|
|
28744
|
-
{ className: 'travelers-form__grid' },
|
|
28745
|
-
settings.travellers.formFields.map(function (field, fIndex) {
|
|
28746
|
-
return React__default.createElement(
|
|
28747
|
-
'div',
|
|
28748
|
-
{ key: fIndex, className: 'control control--'.concat(field.type) },
|
|
28749
|
-
getControl(field.type, travelerValues, 'rooms['.concat(rIndex, '].children[').concat(index, '].').concat(field.type))
|
|
28750
|
-
);
|
|
28751
|
-
})
|
|
28752
|
-
)
|
|
28753
|
-
)
|
|
28754
|
-
: React__default.createElement(
|
|
28755
|
-
React__default.Fragment,
|
|
28756
|
-
null,
|
|
28757
|
-
React__default.createElement(
|
|
28758
|
-
'div',
|
|
28759
|
-
{ className: 'form__row' },
|
|
28760
|
-
React__default.createElement(
|
|
28761
|
-
'div',
|
|
28762
|
-
{
|
|
28763
|
-
className: buildClassName([
|
|
28764
|
-
'form__group',
|
|
28765
|
-
hasVisibleError('rooms['.concat(rIndex, '].children[').concat(index, '].gender')) && 'form__group--error'
|
|
28766
|
-
])
|
|
28767
|
-
},
|
|
28768
|
-
React__default.createElement('label', { className: 'form__label' }, translations.TRAVELERS_FORM.GENDER_ID, ' *'),
|
|
28769
|
-
React__default.createElement(
|
|
28770
|
-
'div',
|
|
28771
|
-
{ className: 'radiobutton-group' },
|
|
28772
|
-
React__default.createElement(
|
|
28773
|
-
'div',
|
|
28774
|
-
{ className: 'radiobutton' },
|
|
28775
|
-
React__default.createElement(
|
|
28776
|
-
'label',
|
|
28777
|
-
{ className: 'radiobutton__label' },
|
|
28778
|
-
React__default.createElement('input', {
|
|
28779
|
-
type: 'radio',
|
|
28780
|
-
className: 'radiobutton__input',
|
|
28781
|
-
name: 'rooms['.concat(rIndex, '].children[').concat(index, '].gender'),
|
|
28782
|
-
onChange: formik.handleChange,
|
|
28783
|
-
onBlur: formik.handleBlur,
|
|
28784
|
-
value: 'm',
|
|
28785
|
-
checked: travelerValues.gender === 'm'
|
|
28786
|
-
}),
|
|
28787
|
-
translations.TRAVELERS_FORM.MALE_GENDER
|
|
28788
|
-
)
|
|
28789
|
-
),
|
|
28790
|
-
React__default.createElement(
|
|
28791
|
-
'div',
|
|
28792
|
-
{ className: 'radiobutton' },
|
|
28793
|
-
React__default.createElement(
|
|
28794
|
-
'label',
|
|
28795
|
-
{ className: 'radiobutton__label' },
|
|
28796
|
-
React__default.createElement('input', {
|
|
28797
|
-
type: 'radio',
|
|
28798
|
-
className: 'radiobutton__input',
|
|
28799
|
-
name: 'rooms['.concat(rIndex, '].children[').concat(index, '].gender'),
|
|
28800
|
-
onChange: formik.handleChange,
|
|
28801
|
-
onBlur: formik.handleBlur,
|
|
28802
|
-
value: 'f',
|
|
28803
|
-
checked: travelerValues.gender === 'f'
|
|
28804
|
-
}),
|
|
28805
|
-
translations.TRAVELERS_FORM.FEMALE_GENDER
|
|
28806
|
-
)
|
|
28807
|
-
)
|
|
28808
|
-
)
|
|
28809
|
-
)
|
|
28810
|
-
),
|
|
28811
|
-
React__default.createElement(
|
|
28812
|
-
'div',
|
|
28813
|
-
{ className: 'form__row' },
|
|
28814
|
-
React__default.createElement(LabeledInput, {
|
|
28815
|
-
hasError: hasVisibleError('rooms['.concat(rIndex, '].children[').concat(index, '].firstName')),
|
|
28816
|
-
extraClassName: 'form__group--md-33',
|
|
28817
|
-
label: translations.TRAVELERS_FORM.FIRST_NAME,
|
|
28818
|
-
required: true,
|
|
28819
|
-
name: 'rooms['.concat(rIndex, '].children[').concat(index, '].firstName'),
|
|
28820
|
-
onChange: formik.handleChange,
|
|
28821
|
-
onBlur: formik.handleBlur,
|
|
28822
|
-
value: travelerValues.firstName
|
|
28823
|
-
}),
|
|
28824
|
-
React__default.createElement(LabeledInput, {
|
|
28825
|
-
hasError: hasVisibleError('rooms['.concat(rIndex, '].children[').concat(index, '].lastName')),
|
|
28826
|
-
extraClassName: 'form__group--md-33',
|
|
28827
|
-
label: translations.TRAVELERS_FORM.LAST_NAME,
|
|
28828
|
-
required: true,
|
|
28829
|
-
name: 'rooms['.concat(rIndex, '].children[').concat(index, '].lastName'),
|
|
28830
|
-
onChange: formik.handleChange,
|
|
28831
|
-
onBlur: formik.handleBlur,
|
|
28832
|
-
value: travelerValues.lastName
|
|
28833
|
-
}),
|
|
28834
|
-
React__default.createElement(LabeledInput, {
|
|
28835
|
-
type: 'date',
|
|
28836
|
-
hasError: hasVisibleError('rooms['.concat(rIndex, '].children[').concat(index, '].birthDate')),
|
|
28837
|
-
extraClassName: 'form__group--md-33',
|
|
28838
|
-
label: translations.TRAVELERS_FORM.BIRTHDATE,
|
|
28839
|
-
required: true,
|
|
28840
|
-
name: 'rooms['.concat(rIndex, '].children[').concat(index, '].birthDate'),
|
|
28841
|
-
onChange: formik.handleChange,
|
|
28842
|
-
onBlur: formik.handleBlur,
|
|
28843
|
-
value: travelerValues.birthDate
|
|
28844
|
-
})
|
|
28845
|
-
)
|
|
28846
|
-
)
|
|
28847
|
-
);
|
|
28848
|
-
}),
|
|
28849
|
-
travelersFirstStep &&
|
|
28850
|
-
React__default.createElement(
|
|
28851
|
-
'div',
|
|
28852
|
-
{ className: 'form__region' },
|
|
28853
|
-
React__default.createElement(
|
|
28854
|
-
'button',
|
|
28855
|
-
{
|
|
28856
|
-
type: 'button',
|
|
28857
|
-
className: 'cta cta--select',
|
|
28858
|
-
onClick: function () {
|
|
28859
|
-
return handleAddTraveler(rIndex);
|
|
28860
|
-
}
|
|
28861
|
-
},
|
|
28862
|
-
translations.TRAVELERS_FORM.ADD_TRAVELER
|
|
28863
|
-
)
|
|
28864
|
-
)
|
|
28865
|
-
);
|
|
28866
|
-
}),
|
|
28867
|
-
bookingType != 'b2b' ||
|
|
28868
|
-
((_f = (_e = settings.travellers) === null || _e === void 0 ? void 0 : _e.mainBookerFormFields) === null || _f === void 0 ? void 0 : _f.length)
|
|
28869
|
-
? React__default.createElement(
|
|
28870
|
-
'div',
|
|
28871
|
-
{ className: 'form__region' },
|
|
28872
|
-
React__default.createElement(
|
|
28873
|
-
'div',
|
|
28874
|
-
{ className: 'form__region-header' },
|
|
28875
|
-
React__default.createElement('h5', { className: 'form__region-heading' }, translations.TRAVELERS_FORM.MAIN_BOOKER),
|
|
28876
|
-
React__default.createElement(
|
|
28877
|
-
'p',
|
|
28878
|
-
{ className: 'form__region-label' },
|
|
28879
|
-
compact([
|
|
28880
|
-
compact([
|
|
28881
|
-
mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.firstName,
|
|
28882
|
-
mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.lastName
|
|
28883
|
-
]).join(' '),
|
|
28884
|
-
(mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.birthDate) &&
|
|
28885
|
-
format$1(parse(mainBooker.birthDate, 'yyyy-MM-dd', new Date()), 'dd-MM-yyyy')
|
|
28886
|
-
]).join(', ')
|
|
28887
28820
|
)
|
|
28888
28821
|
),
|
|
28889
|
-
React__default.createElement(
|
|
28890
|
-
React__default.Fragment,
|
|
28891
|
-
null,
|
|
28892
|
-
(
|
|
28893
|
-
(_h = (_g = settings.travellers) === null || _g === void 0 ? void 0 : _g.mainBookerFormFields) === null || _h === void 0
|
|
28894
|
-
? void 0
|
|
28895
|
-
: _h.length
|
|
28896
|
-
)
|
|
28897
|
-
? React__default.createElement(
|
|
28898
|
-
React__default.Fragment,
|
|
28899
|
-
null,
|
|
28900
|
-
React__default.createElement(
|
|
28901
|
-
'div',
|
|
28902
|
-
{ className: 'main-booker-form__grid' },
|
|
28903
|
-
settings.travellers.mainBookerFormFields.map(function (field, fIndex) {
|
|
28904
|
-
return React__default.createElement(
|
|
28905
|
-
'div',
|
|
28906
|
-
{ key: fIndex, className: 'control control--'.concat(field.type) },
|
|
28907
|
-
getControl(field.type, {}, field.type)
|
|
28908
|
-
);
|
|
28909
|
-
})
|
|
28910
|
-
)
|
|
28911
|
-
)
|
|
28912
|
-
: React__default.createElement(
|
|
28913
|
-
React__default.Fragment,
|
|
28914
|
-
null,
|
|
28915
|
-
React__default.createElement(
|
|
28916
|
-
'div',
|
|
28917
|
-
{ className: 'form__twocolumn' },
|
|
28918
|
-
React__default.createElement(
|
|
28919
|
-
'div',
|
|
28920
|
-
{ className: 'form__twocolumn-column' },
|
|
28921
|
-
React__default.createElement(
|
|
28922
|
-
'div',
|
|
28923
|
-
{ className: 'form__row' },
|
|
28924
|
-
React__default.createElement(LabeledInput, {
|
|
28925
|
-
hasError: hasVisibleError('street'),
|
|
28926
|
-
extraClassName: 'form__group--50 form__group--sm-60',
|
|
28927
|
-
label: translations.TRAVELERS_FORM.STREET,
|
|
28928
|
-
required: true,
|
|
28929
|
-
name: 'street',
|
|
28930
|
-
onChange: formik.handleChange,
|
|
28931
|
-
onBlur: formik.handleBlur,
|
|
28932
|
-
value: formik.values.street
|
|
28933
|
-
}),
|
|
28934
|
-
React__default.createElement(LabeledInput, {
|
|
28935
|
-
hasError: hasVisibleError('houseNumber'),
|
|
28936
|
-
extraClassName: 'form__group--30 form__group--sm-20',
|
|
28937
|
-
label: translations.TRAVELERS_FORM.HOUSE_NUMBER,
|
|
28938
|
-
required: true,
|
|
28939
|
-
name: 'houseNumber',
|
|
28940
|
-
onChange: formik.handleChange,
|
|
28941
|
-
onBlur: formik.handleBlur,
|
|
28942
|
-
value: formik.values.houseNumber
|
|
28943
|
-
}),
|
|
28944
|
-
React__default.createElement(LabeledInput, {
|
|
28945
|
-
hasError: hasVisibleError('box'),
|
|
28946
|
-
extraClassName: 'form__group--20',
|
|
28947
|
-
label: translations.TRAVELERS_FORM.POST_BOX,
|
|
28948
|
-
name: 'box',
|
|
28949
|
-
onChange: formik.handleChange,
|
|
28950
|
-
onBlur: formik.handleBlur,
|
|
28951
|
-
value: formik.values.box
|
|
28952
|
-
})
|
|
28953
|
-
)
|
|
28954
|
-
),
|
|
28955
|
-
React__default.createElement(
|
|
28956
|
-
'div',
|
|
28957
|
-
{ className: 'form__twocolumn-column' },
|
|
28958
|
-
React__default.createElement(
|
|
28959
|
-
'div',
|
|
28960
|
-
{ className: 'form__row' },
|
|
28961
|
-
React__default.createElement(LabeledInput, {
|
|
28962
|
-
hasError: hasVisibleError('zipCode'),
|
|
28963
|
-
extraClassName: 'form__group--40 form__group--sm-20',
|
|
28964
|
-
label: translations.TRAVELERS_FORM.ZIPCODE,
|
|
28965
|
-
required: true,
|
|
28966
|
-
name: 'zipCode',
|
|
28967
|
-
onChange: formik.handleChange,
|
|
28968
|
-
onBlur: formik.handleBlur,
|
|
28969
|
-
value: formik.values.zipCode
|
|
28970
|
-
}),
|
|
28971
|
-
React__default.createElement(LabeledInput, {
|
|
28972
|
-
hasError: hasVisibleError('place'),
|
|
28973
|
-
extraClassName: 'form__group--60 form__group--sm-40',
|
|
28974
|
-
label: translations.TRAVELERS_FORM.CITY,
|
|
28975
|
-
required: true,
|
|
28976
|
-
name: 'place',
|
|
28977
|
-
onChange: formik.handleChange,
|
|
28978
|
-
onBlur: formik.handleBlur,
|
|
28979
|
-
value: formik.values.place
|
|
28980
|
-
}),
|
|
28981
|
-
React__default.createElement(LabeledSelect, {
|
|
28982
|
-
hasError: hasVisibleError('country'),
|
|
28983
|
-
extraClassName: 'form__group--sm-40',
|
|
28984
|
-
label: translations.TRAVELERS_FORM.COUNTRY,
|
|
28985
|
-
required: true,
|
|
28986
|
-
name: 'country',
|
|
28987
|
-
onChange: formik.handleChange,
|
|
28988
|
-
onBlur: formik.handleBlur,
|
|
28989
|
-
value: formik.values.country,
|
|
28990
|
-
options: __spreadArray(
|
|
28991
|
-
[
|
|
28992
|
-
{
|
|
28993
|
-
key: 'empty',
|
|
28994
|
-
value: undefined,
|
|
28995
|
-
label: translations.TRAVELERS_FORM.SELECT_COUNTRY
|
|
28996
|
-
}
|
|
28997
|
-
],
|
|
28998
|
-
showAllCountries
|
|
28999
|
-
? (_j =
|
|
29000
|
-
countries === null || countries === void 0
|
|
29001
|
-
? void 0
|
|
29002
|
-
: countries.map(function (country) {
|
|
29003
|
-
return {
|
|
29004
|
-
key: country.iso2,
|
|
29005
|
-
value: country.iso2,
|
|
29006
|
-
label: country.name
|
|
29007
|
-
};
|
|
29008
|
-
})) !== null && _j !== void 0
|
|
29009
|
-
? _j
|
|
29010
|
-
: []
|
|
29011
|
-
: [
|
|
29012
|
-
{
|
|
29013
|
-
key: 'be',
|
|
29014
|
-
value: 'be',
|
|
29015
|
-
label: translations.TRAVELERS_FORM.COUNTRIES.BELGIUM
|
|
29016
|
-
},
|
|
29017
|
-
{
|
|
29018
|
-
key: 'nl',
|
|
29019
|
-
value: 'nl',
|
|
29020
|
-
label: translations.TRAVELERS_FORM.COUNTRIES.NETHERLANDS
|
|
29021
|
-
},
|
|
29022
|
-
{
|
|
29023
|
-
key: 'fr',
|
|
29024
|
-
value: 'fr',
|
|
29025
|
-
label: translations.TRAVELERS_FORM.COUNTRIES.FRANCE
|
|
29026
|
-
}
|
|
29027
|
-
],
|
|
29028
|
-
true
|
|
29029
|
-
)
|
|
29030
|
-
})
|
|
29031
|
-
)
|
|
29032
|
-
)
|
|
29033
|
-
),
|
|
29034
|
-
React__default.createElement(
|
|
29035
|
-
'div',
|
|
29036
|
-
{ className: 'form__row' },
|
|
29037
|
-
React__default.createElement(LabeledInput, {
|
|
29038
|
-
hasError: hasVisibleError('phone'),
|
|
29039
|
-
extraClassName: 'form__group--md-33',
|
|
29040
|
-
label: translations.TRAVELERS_FORM.PHONE,
|
|
29041
|
-
required: true,
|
|
29042
|
-
name: 'phone',
|
|
29043
|
-
onChange: formik.handleChange,
|
|
29044
|
-
onBlur: formik.handleBlur,
|
|
29045
|
-
value: formik.values.phone
|
|
29046
|
-
}),
|
|
29047
|
-
React__default.createElement(LabeledInput, {
|
|
29048
|
-
type: 'email',
|
|
29049
|
-
hasError: hasVisibleError('email'),
|
|
29050
|
-
extraClassName: 'form__group--md-33',
|
|
29051
|
-
label: translations.TRAVELERS_FORM.EMAIL,
|
|
29052
|
-
required: true,
|
|
29053
|
-
name: 'email',
|
|
29054
|
-
onChange: formik.handleChange,
|
|
29055
|
-
onBlur: formik.handleBlur,
|
|
29056
|
-
value: formik.values.email
|
|
29057
|
-
}),
|
|
29058
|
-
React__default.createElement(LabeledInput, {
|
|
29059
|
-
type: 'email',
|
|
29060
|
-
hasError: hasVisibleError('emailConfirmation'),
|
|
29061
|
-
extraClassName: 'form__group--md-33',
|
|
29062
|
-
label: translations.TRAVELERS_FORM.REPEAT_EMAIL,
|
|
29063
|
-
required: true,
|
|
29064
|
-
name: 'emailConfirmation',
|
|
29065
|
-
onChange: formik.handleChange,
|
|
29066
|
-
onBlur: formik.handleBlur,
|
|
29067
|
-
value: formik.values.emailConfirmation
|
|
29068
|
-
})
|
|
29069
|
-
)
|
|
29070
|
-
)
|
|
29071
|
-
)
|
|
29072
|
-
)
|
|
29073
|
-
: React__default.createElement(
|
|
29074
|
-
'div',
|
|
29075
|
-
{ className: 'form__region' },
|
|
29076
28822
|
React__default.createElement(
|
|
29077
28823
|
'div',
|
|
29078
28824
|
{ className: 'form__row' },
|
|
@@ -29085,78 +28831,122 @@ var TravelersForm = function () {
|
|
|
29085
28831
|
onChange: formik.handleChange,
|
|
29086
28832
|
onBlur: formik.handleBlur,
|
|
29087
28833
|
value: formik.values.phone
|
|
28834
|
+
}),
|
|
28835
|
+
React__default.createElement(LabeledInput, {
|
|
28836
|
+
type: 'email',
|
|
28837
|
+
hasError: hasVisibleError('email'),
|
|
28838
|
+
extraClassName: 'form__group--md-33',
|
|
28839
|
+
label: translations.TRAVELERS_FORM.EMAIL,
|
|
28840
|
+
required: true,
|
|
28841
|
+
name: 'email',
|
|
28842
|
+
onChange: formik.handleChange,
|
|
28843
|
+
onBlur: formik.handleBlur,
|
|
28844
|
+
value: formik.values.email
|
|
28845
|
+
}),
|
|
28846
|
+
React__default.createElement(LabeledInput, {
|
|
28847
|
+
type: 'email',
|
|
28848
|
+
hasError: hasVisibleError('emailConfirmation'),
|
|
28849
|
+
extraClassName: 'form__group--md-33',
|
|
28850
|
+
label: translations.TRAVELERS_FORM.REPEAT_EMAIL,
|
|
28851
|
+
required: true,
|
|
28852
|
+
name: 'emailConfirmation',
|
|
28853
|
+
onChange: formik.handleChange,
|
|
28854
|
+
onBlur: formik.handleBlur,
|
|
28855
|
+
value: formik.values.emailConfirmation
|
|
29088
28856
|
})
|
|
29089
28857
|
)
|
|
29090
|
-
)
|
|
29091
|
-
|
|
28858
|
+
)
|
|
28859
|
+
)
|
|
28860
|
+
: !useCompactForm
|
|
28861
|
+
? React__default.createElement(
|
|
28862
|
+
'div',
|
|
28863
|
+
{ className: 'form__region' },
|
|
28864
|
+
React__default.createElement(
|
|
28865
|
+
'div',
|
|
28866
|
+
{ className: 'form__row' },
|
|
28867
|
+
React__default.createElement(LabeledInput, {
|
|
28868
|
+
hasError: hasVisibleError('phone'),
|
|
28869
|
+
extraClassName: 'form__group--md-33',
|
|
28870
|
+
label: translations.TRAVELERS_FORM.PHONE,
|
|
28871
|
+
required: true,
|
|
28872
|
+
name: 'phone',
|
|
28873
|
+
onChange: formik.handleChange,
|
|
28874
|
+
onBlur: formik.handleBlur,
|
|
28875
|
+
value: formik.values.phone
|
|
28876
|
+
})
|
|
28877
|
+
)
|
|
28878
|
+
)
|
|
28879
|
+
: null,
|
|
28880
|
+
!useCompactForm &&
|
|
28881
|
+
showAgentSelection &&
|
|
28882
|
+
React__default.createElement(
|
|
28883
|
+
'div',
|
|
28884
|
+
{ className: 'form__region' },
|
|
28885
|
+
React__default.createElement(
|
|
28886
|
+
'div',
|
|
28887
|
+
{ className: 'form__region-header' },
|
|
28888
|
+
React__default.createElement('h5', { className: 'form__region-heading' }, translations.TRAVELERS_FORM.BOOK_WITH_AGENT),
|
|
28889
|
+
React__default.createElement(
|
|
28890
|
+
'div',
|
|
28891
|
+
{ className: 'checkbox', id: 'cbxChooseOffice' },
|
|
29092
28892
|
React__default.createElement(
|
|
29093
|
-
'
|
|
29094
|
-
{ className: '
|
|
29095
|
-
React__default.createElement(
|
|
29096
|
-
'
|
|
29097
|
-
|
|
29098
|
-
|
|
29099
|
-
|
|
29100
|
-
|
|
29101
|
-
|
|
29102
|
-
|
|
29103
|
-
|
|
29104
|
-
|
|
29105
|
-
React__default.createElement('input', {
|
|
29106
|
-
type: 'checkbox',
|
|
29107
|
-
name: 'booking--mainbooker',
|
|
29108
|
-
defaultChecked: showAgents,
|
|
29109
|
-
onClick: function () {
|
|
29110
|
-
return toggleAgent(!showAgents);
|
|
29111
|
-
},
|
|
29112
|
-
className: 'checkbox__input'
|
|
29113
|
-
}),
|
|
29114
|
-
translations.TRAVELERS_FORM.CHOOSE_OFFICE
|
|
29115
|
-
)
|
|
29116
|
-
)
|
|
29117
|
-
),
|
|
29118
|
-
showAgents &&
|
|
29119
|
-
React__default.createElement(
|
|
29120
|
-
'div',
|
|
29121
|
-
{ className: 'form__row form__row--choose-office' },
|
|
29122
|
-
React__default.createElement(
|
|
29123
|
-
'div',
|
|
29124
|
-
{ className: buildClassName(['form__group', 'form__group--icon', hasVisibleError('travelAgentId') && 'form__group--error']) },
|
|
29125
|
-
React__default.createElement(TypeAheadInput, {
|
|
29126
|
-
value: formik.values.travelAgentName,
|
|
29127
|
-
options: filteredAgents,
|
|
29128
|
-
onChange: handleAgentChange,
|
|
29129
|
-
onSelect: handleAgentSelect,
|
|
29130
|
-
onClear: handleAgentClear,
|
|
29131
|
-
name: 'travelAgentName',
|
|
29132
|
-
placeholder: translations.TRAVELERS_FORM.CHOOSE_AGENT_PLACEHOLDER
|
|
29133
|
-
})
|
|
29134
|
-
)
|
|
29135
|
-
)
|
|
28893
|
+
'label',
|
|
28894
|
+
{ className: 'checkbox__label' },
|
|
28895
|
+
React__default.createElement('input', {
|
|
28896
|
+
type: 'checkbox',
|
|
28897
|
+
name: 'booking--mainbooker',
|
|
28898
|
+
checked: showAgents,
|
|
28899
|
+
onChange: function () {
|
|
28900
|
+
return toggleAgent(!showAgents);
|
|
28901
|
+
},
|
|
28902
|
+
className: 'checkbox__input'
|
|
28903
|
+
}),
|
|
28904
|
+
translations.TRAVELERS_FORM.CHOOSE_OFFICE
|
|
29136
28905
|
)
|
|
28906
|
+
)
|
|
29137
28907
|
),
|
|
29138
|
-
|
|
28908
|
+
showAgents &&
|
|
29139
28909
|
React__default.createElement(
|
|
29140
28910
|
'div',
|
|
29141
|
-
{ className: '
|
|
28911
|
+
{ className: 'form__row form__row--choose-office' },
|
|
29142
28912
|
React__default.createElement(
|
|
29143
28913
|
'div',
|
|
29144
|
-
{ className: '
|
|
29145
|
-
React__default.createElement(
|
|
29146
|
-
|
|
29147
|
-
|
|
29148
|
-
|
|
29149
|
-
|
|
29150
|
-
|
|
29151
|
-
|
|
29152
|
-
|
|
29153
|
-
|
|
29154
|
-
})
|
|
29155
|
-
)
|
|
29156
|
-
)
|
|
28914
|
+
{ className: buildClassName(['form__group', 'form__group--icon', hasVisibleError('travelAgentId') && 'form__group--error']) },
|
|
28915
|
+
React__default.createElement(TypeAheadInput, {
|
|
28916
|
+
value: formik.values.travelAgentName,
|
|
28917
|
+
options: filteredAgents,
|
|
28918
|
+
onChange: handleAgentChange,
|
|
28919
|
+
onSelect: handleAgentSelect,
|
|
28920
|
+
onClear: handleAgentClear,
|
|
28921
|
+
name: 'travelAgentName',
|
|
28922
|
+
placeholder: translations.TRAVELERS_FORM.CHOOSE_AGENT_PLACEHOLDER
|
|
28923
|
+
})
|
|
29157
28924
|
)
|
|
29158
28925
|
)
|
|
29159
|
-
)
|
|
28926
|
+
)
|
|
28927
|
+
),
|
|
28928
|
+
!useCompactForm &&
|
|
28929
|
+
errorKeys.length > 0 &&
|
|
28930
|
+
React__default.createElement(
|
|
28931
|
+
'div',
|
|
28932
|
+
{ className: 'form__region form__region--errors' },
|
|
28933
|
+
React__default.createElement(
|
|
28934
|
+
'div',
|
|
28935
|
+
{ className: 'form__row' },
|
|
28936
|
+
React__default.createElement(
|
|
28937
|
+
'div',
|
|
28938
|
+
{ className: 'form__group' },
|
|
28939
|
+
React__default.createElement('p', { className: 'form__error-heading' }, translations.TRAVELERS_FORM.VALIDATION_MESSAGE, ':'),
|
|
28940
|
+
React__default.createElement(
|
|
28941
|
+
'ul',
|
|
28942
|
+
{ className: 'list' },
|
|
28943
|
+
errorKeys.map(function (key) {
|
|
28944
|
+
return React__default.createElement('li', { key: key }, get(flatErrors, key));
|
|
28945
|
+
})
|
|
28946
|
+
)
|
|
28947
|
+
)
|
|
28948
|
+
)
|
|
28949
|
+
),
|
|
29160
28950
|
travelersFirstStep &&
|
|
29161
28951
|
React__default.createElement(
|
|
29162
28952
|
'div',
|
|
@@ -29166,14 +28956,204 @@ var TravelersForm = function () {
|
|
|
29166
28956
|
React__default.createElement(
|
|
29167
28957
|
'div',
|
|
29168
28958
|
{ className: 'booking__navigator' },
|
|
29169
|
-
|
|
28959
|
+
renderPreviousButton === null || renderPreviousButton === void 0 ? void 0 : renderPreviousButton(),
|
|
28960
|
+
React__default.createElement(
|
|
28961
|
+
'button',
|
|
28962
|
+
{ type: 'submit', title: translations.STEPS.NEXT, className: 'cta' + (isUnavailable ? ' cta--disabled' : '') },
|
|
28963
|
+
translations.STEPS.NEXT
|
|
28964
|
+
)
|
|
28965
|
+
)
|
|
28966
|
+
);
|
|
28967
|
+
};
|
|
28968
|
+
|
|
28969
|
+
var TravelersForm = function () {
|
|
28970
|
+
var _a, _b;
|
|
28971
|
+
var dispatch = useAppDispatch();
|
|
28972
|
+
var settings = useContext(SettingsContext);
|
|
28973
|
+
var navigate = settings.skipRouter ? function () {} : useNavigate();
|
|
28974
|
+
var bookingQueryString = useSelector(selectBookingQueryString);
|
|
28975
|
+
var startDate = useSelector(selectStartDate);
|
|
28976
|
+
var formRooms = useSelector(selectFormRooms);
|
|
28977
|
+
var bookingType = useSelector(selectBookingType);
|
|
28978
|
+
var agents = useSelector(selectAgents);
|
|
28979
|
+
var agentAdressId = useSelector(selectAgentAdressId);
|
|
28980
|
+
var translations = useSelector(selectTranslations);
|
|
28981
|
+
var travelersFirstStep = useSelector(selectTravelersFirstStep);
|
|
28982
|
+
var isUnavailable = useSelector(selectIsUnavailable);
|
|
28983
|
+
var bookingAttributes = useSelector(selectBookingAttributes);
|
|
28984
|
+
var isFetching = useSelector(selectIsFetching);
|
|
28985
|
+
var hasMounted = useSelector(selectHasMounted);
|
|
28986
|
+
var countries = useSelector(selectCountries);
|
|
28987
|
+
var useCompactForm = !!settings.travellers.compactForm && !!settings.agentAdressId;
|
|
28988
|
+
var showAllCountries = !!settings.travellers.showAllCountries;
|
|
28989
|
+
var initialValues =
|
|
28990
|
+
(_a = useSelector(selectTravelersFormValues)) !== null && _a !== void 0
|
|
28991
|
+
? _a
|
|
28992
|
+
: createInitialValuesFromRooms(formRooms, startDate, agentAdressId, translations.TRAVELERS_FORM.PERSON, useCompactForm);
|
|
28993
|
+
var _c = useState(!settings.agentAdressId && !settings.hideAgentSelection),
|
|
28994
|
+
showAgentSelection = _c[0],
|
|
28995
|
+
setShowAgentSelection = _c[1];
|
|
28996
|
+
var formik = useFormik({
|
|
28997
|
+
initialValues: initialValues,
|
|
28998
|
+
validate: useCompactForm
|
|
28999
|
+
? function () {}
|
|
29000
|
+
: function (values) {
|
|
29001
|
+
return validateForm(
|
|
29002
|
+
values,
|
|
29003
|
+
settings.agentRequired,
|
|
29004
|
+
bookingType,
|
|
29005
|
+
translations,
|
|
29006
|
+
settings.travellers.formFields,
|
|
29007
|
+
settings.travellers.mainBookerFormFields
|
|
29008
|
+
);
|
|
29009
|
+
},
|
|
29010
|
+
onSubmit: function (values) {
|
|
29011
|
+
dispatch(setFormValues(values));
|
|
29012
|
+
if (useCompactForm) {
|
|
29013
|
+
dispatch(fetchPriceDetails());
|
|
29014
|
+
if (settings.skipRouter) dispatch(setCurrentStep$1(SUMMARY_STEP));
|
|
29015
|
+
else
|
|
29016
|
+
navigate(
|
|
29017
|
+
''
|
|
29018
|
+
.concat(!settings.skipBasePathInRouting ? settings.basePath : '')
|
|
29019
|
+
.concat(settings.summary.pathSuffix, '?')
|
|
29020
|
+
.concat(bookingQueryString)
|
|
29021
|
+
);
|
|
29022
|
+
return;
|
|
29023
|
+
}
|
|
29024
|
+
dispatch(fetchPackage());
|
|
29025
|
+
if (settings.skipRouter) dispatch(setCurrentStep$1(travelersFirstStep ? FLIGHT_OPTIONS_FORM_STEP : SUMMARY_STEP));
|
|
29026
|
+
else
|
|
29027
|
+
navigate(
|
|
29028
|
+
''
|
|
29029
|
+
.concat(!settings.skipBasePathInRouting ? settings.basePath : '')
|
|
29030
|
+
.concat(travelersFirstStep ? settings.flightOptions.pathSuffix : settings.summary.pathSuffix, '?')
|
|
29031
|
+
.concat(bookingQueryString)
|
|
29032
|
+
);
|
|
29033
|
+
}
|
|
29034
|
+
});
|
|
29035
|
+
useEffect(
|
|
29036
|
+
function () {
|
|
29037
|
+
dispatch(fetchPriceDetails());
|
|
29038
|
+
},
|
|
29039
|
+
[dispatch]
|
|
29040
|
+
);
|
|
29041
|
+
useEffect(
|
|
29042
|
+
function () {
|
|
29043
|
+
var _a;
|
|
29044
|
+
if (
|
|
29045
|
+
!((_a = bookingAttributes === null || bookingAttributes === void 0 ? void 0 : bookingAttributes.rooms) === null || _a === void 0
|
|
29046
|
+
? void 0
|
|
29047
|
+
: _a.length) ||
|
|
29048
|
+
isFetching
|
|
29049
|
+
)
|
|
29050
|
+
return;
|
|
29051
|
+
if (!hasMounted) {
|
|
29052
|
+
dispatch(setHasMounted(true));
|
|
29053
|
+
return;
|
|
29054
|
+
}
|
|
29055
|
+
var fetchAll = function () {
|
|
29056
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
29057
|
+
return __generator(this, function (_a) {
|
|
29058
|
+
switch (_a.label) {
|
|
29059
|
+
case 0:
|
|
29060
|
+
dispatch(setIsFetching(true));
|
|
29061
|
+
_a.label = 1;
|
|
29062
|
+
case 1:
|
|
29063
|
+
_a.trys.push([1, , 4, 5]);
|
|
29064
|
+
return [4 /*yield*/, dispatch(fetchPackage())];
|
|
29065
|
+
case 2:
|
|
29066
|
+
_a.sent();
|
|
29067
|
+
return [4 /*yield*/, dispatch(fetchPriceDetails())];
|
|
29068
|
+
case 3:
|
|
29069
|
+
_a.sent();
|
|
29070
|
+
return [3 /*break*/, 5];
|
|
29071
|
+
case 4:
|
|
29072
|
+
dispatch(setIsFetching(false));
|
|
29073
|
+
return [7 /*endfinally*/];
|
|
29074
|
+
case 5:
|
|
29075
|
+
return [2 /*return*/];
|
|
29076
|
+
}
|
|
29077
|
+
});
|
|
29078
|
+
});
|
|
29079
|
+
};
|
|
29080
|
+
fetchAll();
|
|
29081
|
+
},
|
|
29082
|
+
[bookingAttributes === null || bookingAttributes === void 0 ? void 0 : bookingAttributes.rooms, dispatch, hasMounted, isFetching]
|
|
29083
|
+
);
|
|
29084
|
+
useEffect(
|
|
29085
|
+
function () {
|
|
29086
|
+
if (settings.skipRouter || !travelersFirstStep) return;
|
|
29087
|
+
var params = new URLSearchParams(bookingQueryString);
|
|
29088
|
+
params.delete('rooms');
|
|
29089
|
+
var roomsString = formik.values.rooms
|
|
29090
|
+
.map(function (room) {
|
|
29091
|
+
var _a;
|
|
29092
|
+
var adults = room.adults ? room.adults.length : 0;
|
|
29093
|
+
var childAges = ((_a = room.children) === null || _a === void 0 ? void 0 : _a.length)
|
|
29094
|
+
? room.children
|
|
29095
|
+
.map(function (child) {
|
|
29096
|
+
return child.age;
|
|
29097
|
+
})
|
|
29098
|
+
.join(',')
|
|
29099
|
+
: '';
|
|
29100
|
+
return 'adults:'.concat(adults, ',childAges:(').concat(childAges, ')');
|
|
29101
|
+
})
|
|
29102
|
+
.map(function (room) {
|
|
29103
|
+
return '('.concat(room, ')');
|
|
29104
|
+
})
|
|
29105
|
+
.join(',');
|
|
29106
|
+
var nextQuery = ''
|
|
29107
|
+
.concat(params.toString())
|
|
29108
|
+
.concat(params.toString() ? '&' : '', 'rooms=(')
|
|
29109
|
+
.concat(roomsString, ')');
|
|
29110
|
+
navigate(''.concat(window.location.pathname, '?').concat(nextQuery), { replace: true });
|
|
29111
|
+
},
|
|
29112
|
+
[formik.values.rooms, bookingQueryString, navigate, settings.skipRouter, travelersFirstStep]
|
|
29113
|
+
);
|
|
29114
|
+
useEffect(
|
|
29115
|
+
function () {
|
|
29116
|
+
if (!agents || !settings.affiliateSlug) return;
|
|
29117
|
+
var agent = agents.find(function (x) {
|
|
29118
|
+
return x.affiliateSlug && x.affiliateSlug === settings.affiliateSlug;
|
|
29119
|
+
});
|
|
29120
|
+
if (!agent) return;
|
|
29121
|
+
var formValues = produce(formik.values, function (values) {
|
|
29122
|
+
values.travelAgentId = Number(agent.id);
|
|
29123
|
+
values.travelAgentName = agent.name;
|
|
29124
|
+
});
|
|
29125
|
+
formik.setValues(formValues, false);
|
|
29126
|
+
dispatch(setFormValues(formValues));
|
|
29127
|
+
setShowAgentSelection(false);
|
|
29128
|
+
},
|
|
29129
|
+
[agents, settings.affiliateSlug]
|
|
29130
|
+
);
|
|
29131
|
+
return React__default.createElement(SharedTravelersForm, {
|
|
29132
|
+
formik: formik,
|
|
29133
|
+
translations: translations,
|
|
29134
|
+
travellersSettings: settings.travellers,
|
|
29135
|
+
countries: countries,
|
|
29136
|
+
agents: agents,
|
|
29137
|
+
bookingType: bookingType,
|
|
29138
|
+
agentAdressId: agentAdressId,
|
|
29139
|
+
travelersFirstStep: travelersFirstStep,
|
|
29140
|
+
isUnavailable: isUnavailable,
|
|
29141
|
+
useCompactForm: useCompactForm,
|
|
29142
|
+
showAllCountries: showAllCountries,
|
|
29143
|
+
showAgentSelection: showAgentSelection,
|
|
29144
|
+
initialShowAgents: (_b = settings.agentRequired) !== null && _b !== void 0 ? _b : false,
|
|
29145
|
+
onBookingTypeChange: function (nextBookingType) {
|
|
29146
|
+
return dispatch(setBookingType(nextBookingType));
|
|
29147
|
+
},
|
|
29148
|
+
renderPreviousButton: function () {
|
|
29149
|
+
return !travelersFirstStep && settings.skipRouter
|
|
29170
29150
|
? React__default.createElement(
|
|
29171
29151
|
'button',
|
|
29172
29152
|
{
|
|
29173
29153
|
type: 'button',
|
|
29174
29154
|
title: translations.STEPS.PREVIOUS,
|
|
29175
29155
|
onClick: function () {
|
|
29176
|
-
return
|
|
29156
|
+
return dispatch(setCurrentStep$1(OPTIONS_FORM_STEP));
|
|
29177
29157
|
},
|
|
29178
29158
|
className: 'cta cta--secondary'
|
|
29179
29159
|
},
|
|
@@ -29192,14 +29172,9 @@ var TravelersForm = function () {
|
|
|
29192
29172
|
},
|
|
29193
29173
|
translations.STEPS.PREVIOUS
|
|
29194
29174
|
)
|
|
29195
|
-
: null
|
|
29196
|
-
|
|
29197
|
-
|
|
29198
|
-
{ type: 'submit', title: translations.STEPS.NEXT, className: 'cta' + (isUnavailable ? ' cta--disabled' : '') },
|
|
29199
|
-
translations.STEPS.NEXT
|
|
29200
|
-
)
|
|
29201
|
-
)
|
|
29202
|
-
);
|
|
29175
|
+
: null;
|
|
29176
|
+
}
|
|
29177
|
+
});
|
|
29203
29178
|
};
|
|
29204
29179
|
|
|
29205
29180
|
var Booking = function (_a) {
|
|
@@ -29285,7 +29260,7 @@ var Booking = function (_a) {
|
|
|
29285
29260
|
window.scrollTo(0, 0);
|
|
29286
29261
|
}
|
|
29287
29262
|
if (!isNil(bookingNumber)) {
|
|
29288
|
-
dispatch(setBookingNumber(bookingNumber));
|
|
29263
|
+
dispatch(setBookingNumber$1(bookingNumber));
|
|
29289
29264
|
navigate(
|
|
29290
29265
|
''
|
|
29291
29266
|
.concat(!skipBasePathInRouting ? basePath : '')
|
|
@@ -29316,7 +29291,7 @@ var Booking = function (_a) {
|
|
|
29316
29291
|
console.error('Failure when setting booking attributes', startDate, endDate, catalogueId, rooms);
|
|
29317
29292
|
}
|
|
29318
29293
|
},
|
|
29319
|
-
[location.search, setBookingAttributes, setBookingNumber, includeFlights]
|
|
29294
|
+
[location.search, setBookingAttributes, setBookingNumber$1, includeFlights]
|
|
29320
29295
|
);
|
|
29321
29296
|
useEffect(
|
|
29322
29297
|
function () {
|
|
@@ -31188,7 +31163,7 @@ var Calendar = function (_a) {
|
|
|
31188
31163
|
React__default.createElement(
|
|
31189
31164
|
'div',
|
|
31190
31165
|
{ className: 'calendar__current-month' },
|
|
31191
|
-
format$
|
|
31166
|
+
format$2(focusDate, 'MMMM yyyy', {
|
|
31192
31167
|
locale: currentLocale
|
|
31193
31168
|
}).replace(/^(.)(.*)$/, function (_, a, b) {
|
|
31194
31169
|
return ''.concat(a.toUpperCase()).concat(b);
|
|
@@ -31221,7 +31196,7 @@ var Calendar = function (_a) {
|
|
|
31221
31196
|
return React__default.createElement(
|
|
31222
31197
|
'div',
|
|
31223
31198
|
{ className: 'calendar__day-label', key: 'label-'.concat(i) },
|
|
31224
|
-
format$
|
|
31199
|
+
format$2(calendarDays[i], 'eee', {
|
|
31225
31200
|
locale: currentLocale
|
|
31226
31201
|
})
|
|
31227
31202
|
.slice(0, 2)
|
|
@@ -32148,7 +32123,7 @@ var MobileFilterModal = function () {
|
|
|
32148
32123
|
className: 'qsm__input u-ps-2',
|
|
32149
32124
|
placeholder: translations.QSM.DEPARTURE_DATE,
|
|
32150
32125
|
readOnly: true,
|
|
32151
|
-
value: fromDate ? format$
|
|
32126
|
+
value: fromDate ? format$2(new Date(fromDate), 'dd/MM/yyyy') : ''
|
|
32152
32127
|
}),
|
|
32153
32128
|
mobileDatePickerMode === 'range' && React__default.createElement('div', { className: 'qsm__input-line qsm__input-line--datepicker' })
|
|
32154
32129
|
),
|
|
@@ -32164,7 +32139,7 @@ var MobileFilterModal = function () {
|
|
|
32164
32139
|
className: 'qsm__input',
|
|
32165
32140
|
placeholder: translations.QSM.RETURN_DATE,
|
|
32166
32141
|
readOnly: true,
|
|
32167
|
-
value: toDate ? format$
|
|
32142
|
+
value: toDate ? format$2(new Date(toDate), 'dd/MM/yyyy') : ''
|
|
32168
32143
|
})
|
|
32169
32144
|
)
|
|
32170
32145
|
),
|
|
@@ -32944,8 +32919,8 @@ var QSMContainer = function () {
|
|
|
32944
32919
|
[dispatch]
|
|
32945
32920
|
);
|
|
32946
32921
|
var handleDateChange = function (value) {
|
|
32947
|
-
dispatch(setFromDate(value.fromDate ? format$
|
|
32948
|
-
dispatch(setToDate(value.toDate ? format$
|
|
32922
|
+
dispatch(setFromDate(value.fromDate ? format$2(value.fromDate, 'yyyy-MM-dd') : undefined));
|
|
32923
|
+
dispatch(setToDate(value.toDate ? format$2(value.toDate, 'yyyy-MM-dd') : undefined));
|
|
32949
32924
|
};
|
|
32950
32925
|
var handleTripTypeChange = function (value) {
|
|
32951
32926
|
dispatch(setTripType(value));
|
|
@@ -33550,7 +33525,8 @@ var initialState$1 = {
|
|
|
33550
33525
|
selectedExcursionSearchResult: null,
|
|
33551
33526
|
confirmedExcursionsByDay: {},
|
|
33552
33527
|
bookPackagingEntry: false,
|
|
33553
|
-
currentStep: 0
|
|
33528
|
+
currentStep: 0,
|
|
33529
|
+
bookingNumber: undefined
|
|
33554
33530
|
};
|
|
33555
33531
|
var searchResultsSlice = createSlice({
|
|
33556
33532
|
name: 'searchResults',
|
|
@@ -33737,6 +33713,9 @@ var searchResultsSlice = createSlice({
|
|
|
33737
33713
|
},
|
|
33738
33714
|
setCurrentStep: function (state, action) {
|
|
33739
33715
|
state.currentStep = action.payload;
|
|
33716
|
+
},
|
|
33717
|
+
setBookingNumber: function (state, action) {
|
|
33718
|
+
state.bookingNumber = action.payload;
|
|
33740
33719
|
}
|
|
33741
33720
|
}
|
|
33742
33721
|
});
|
|
@@ -33781,8 +33760,9 @@ var setExcursionSearchParams = _a.setExcursionSearchParams,
|
|
|
33781
33760
|
confirmExcursionForDay = _a.confirmExcursionForDay,
|
|
33782
33761
|
removeConfirmedExcursionForDay = _a.removeConfirmedExcursionForDay;
|
|
33783
33762
|
_a.clearConfirmedExcursionsForDay;
|
|
33784
|
-
var setBookPackagingEntry = _a.setBookPackagingEntry
|
|
33785
|
-
_a.setCurrentStep
|
|
33763
|
+
var setBookPackagingEntry = _a.setBookPackagingEntry,
|
|
33764
|
+
setCurrentStep = _a.setCurrentStep,
|
|
33765
|
+
setBookingNumber = _a.setBookingNumber;
|
|
33786
33766
|
var searchResultsReducer = searchResultsSlice.reducer;
|
|
33787
33767
|
|
|
33788
33768
|
var ItemPicker = function (_a) {
|
|
@@ -34324,7 +34304,7 @@ var Itinerary = function (_a) {
|
|
|
34324
34304
|
React__default.createElement(
|
|
34325
34305
|
'p',
|
|
34326
34306
|
null,
|
|
34327
|
-
format$
|
|
34307
|
+
format$2(new Date(firstEntryLine.from), 'EEE. d MMM yyyy'),
|
|
34328
34308
|
' - ',
|
|
34329
34309
|
React__default.createElement('strong', null, translations.SRP.START)
|
|
34330
34310
|
)
|
|
@@ -34348,9 +34328,9 @@ var Itinerary = function (_a) {
|
|
|
34348
34328
|
React__default.createElement(
|
|
34349
34329
|
'p',
|
|
34350
34330
|
{ className: 'search__filter__itinerary__transport-date-date' },
|
|
34351
|
-
React__default.createElement('strong', null, format$
|
|
34331
|
+
React__default.createElement('strong', null, format$2(new Date(outboundFlight.from), 'd'))
|
|
34352
34332
|
),
|
|
34353
|
-
React__default.createElement('p', null, format$
|
|
34333
|
+
React__default.createElement('p', null, format$2(new Date(outboundFlight.from), 'MMM'))
|
|
34354
34334
|
),
|
|
34355
34335
|
React__default.createElement(
|
|
34356
34336
|
'div',
|
|
@@ -34424,9 +34404,9 @@ var Itinerary = function (_a) {
|
|
|
34424
34404
|
React__default.createElement(
|
|
34425
34405
|
'p',
|
|
34426
34406
|
{ className: 'search__filter__itinerary__transport-date-date' },
|
|
34427
|
-
React__default.createElement('strong', null, format$
|
|
34407
|
+
React__default.createElement('strong', null, format$2(new Date(firstSegment.from), 'd'))
|
|
34428
34408
|
),
|
|
34429
|
-
React__default.createElement('p', null, format$
|
|
34409
|
+
React__default.createElement('p', null, format$2(new Date(firstSegment.from), 'MMM'))
|
|
34430
34410
|
),
|
|
34431
34411
|
React__default.createElement(
|
|
34432
34412
|
'div',
|
|
@@ -34453,9 +34433,9 @@ var Itinerary = function (_a) {
|
|
|
34453
34433
|
React__default.createElement(
|
|
34454
34434
|
'p',
|
|
34455
34435
|
{ className: 'search__filter__itinerary__segment-details-text' },
|
|
34456
|
-
format$
|
|
34436
|
+
format$2(new Date(firstSegment.from), 'EEE. d MMM yyyy'),
|
|
34457
34437
|
'> ',
|
|
34458
|
-
format$
|
|
34438
|
+
format$2(new Date(firstSegment.to), 'EEE. d MMM yyyy')
|
|
34459
34439
|
)
|
|
34460
34440
|
)
|
|
34461
34441
|
)
|
|
@@ -34543,9 +34523,9 @@ var Itinerary = function (_a) {
|
|
|
34543
34523
|
React__default.createElement(
|
|
34544
34524
|
'p',
|
|
34545
34525
|
{ className: 'search__filter__itinerary__transport-date-date' },
|
|
34546
|
-
React__default.createElement('strong', null, format$
|
|
34526
|
+
React__default.createElement('strong', null, format$2(new Date(returnFlight.from), 'd'))
|
|
34547
34527
|
),
|
|
34548
|
-
React__default.createElement('p', null, format$
|
|
34528
|
+
React__default.createElement('p', null, format$2(new Date(returnFlight.from), 'MMM'))
|
|
34549
34529
|
),
|
|
34550
34530
|
React__default.createElement(
|
|
34551
34531
|
'div',
|
|
@@ -34606,7 +34586,7 @@ var Itinerary = function (_a) {
|
|
|
34606
34586
|
React__default.createElement(
|
|
34607
34587
|
'p',
|
|
34608
34588
|
null,
|
|
34609
|
-
format$
|
|
34589
|
+
format$2(new Date(lastEntryLine.to), 'EEE. d MMM yyyy'),
|
|
34610
34590
|
' - ',
|
|
34611
34591
|
React__default.createElement('strong', null, translations.SRP.END)
|
|
34612
34592
|
)
|
|
@@ -41433,8 +41413,8 @@ var HotelAccommodationResults = function (_a) {
|
|
|
41433
41413
|
: firstPackagingResult === null || firstPackagingResult === void 0
|
|
41434
41414
|
? void 0
|
|
41435
41415
|
: firstPackagingResult.fromDate;
|
|
41436
|
-
var firstResultDay = firstResultDate ? format$
|
|
41437
|
-
var firstResultMonth = firstResultDate ? format$
|
|
41416
|
+
var firstResultDay = firstResultDate ? format$2(parseISO(firstResultDate), 'd') : null;
|
|
41417
|
+
var firstResultMonth = firstResultDate ? format$2(parseISO(firstResultDate), 'MMM') : null;
|
|
41438
41418
|
var selectedPackagingAccoResult = React__default.useMemo(
|
|
41439
41419
|
function () {
|
|
41440
41420
|
var selectedResult = packagingAccoResults.find(function (result) {
|
|
@@ -42278,15 +42258,6 @@ var PackageingFlightsFlyIn = function (_a) {
|
|
|
42278
42258
|
React__default.createElement(
|
|
42279
42259
|
'div',
|
|
42280
42260
|
{ className: 'search__result-row' },
|
|
42281
|
-
React__default.createElement(
|
|
42282
|
-
'span',
|
|
42283
|
-
{ className: 'search__result-row-text' },
|
|
42284
|
-
(uniqueOutwardFlights === null || uniqueOutwardFlights === void 0 ? void 0 : uniqueOutwardFlights.length) && uniqueOutwardFlights.length,
|
|
42285
|
-
'\u00A0',
|
|
42286
|
-
translations.FLIGHTS_FORM.FLIGHTS_FOUND_2,
|
|
42287
|
-
'\u00A0',
|
|
42288
|
-
translations.FLIGHTS_FORM.FLIGHTS_FOUND_3
|
|
42289
|
-
),
|
|
42290
42261
|
React__default.createElement(
|
|
42291
42262
|
'div',
|
|
42292
42263
|
{
|
|
@@ -42298,6 +42269,15 @@ var PackageingFlightsFlyIn = function (_a) {
|
|
|
42298
42269
|
React__default.createElement(Icon, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
|
|
42299
42270
|
translations.SRP.FILTERS
|
|
42300
42271
|
),
|
|
42272
|
+
React__default.createElement(
|
|
42273
|
+
'span',
|
|
42274
|
+
{ className: 'search__result-row-text' },
|
|
42275
|
+
(uniqueOutwardFlights === null || uniqueOutwardFlights === void 0 ? void 0 : uniqueOutwardFlights.length) && uniqueOutwardFlights.length,
|
|
42276
|
+
'\u00A0',
|
|
42277
|
+
translations.FLIGHTS_FORM.FLIGHTS_FOUND_2,
|
|
42278
|
+
'\u00A0',
|
|
42279
|
+
translations.FLIGHTS_FORM.FLIGHTS_FOUND_3
|
|
42280
|
+
),
|
|
42301
42281
|
sortByTypes &&
|
|
42302
42282
|
sortByTypes.length > 0 &&
|
|
42303
42283
|
React__default.createElement(
|
|
@@ -42580,7 +42560,7 @@ var formatPrice = function (price, currencyCode) {
|
|
|
42580
42560
|
};
|
|
42581
42561
|
var getExcursionDayKey = function (date) {
|
|
42582
42562
|
var parsed = typeof date === 'string' ? parseISO(date) : date;
|
|
42583
|
-
return format$
|
|
42563
|
+
return format$2(parsed, 'yyyy-MM-dd');
|
|
42584
42564
|
};
|
|
42585
42565
|
var getOptionPaxIds = function (option) {
|
|
42586
42566
|
return Array.isArray(option.paxIds)
|
|
@@ -43040,13 +43020,9 @@ var FlyIn = function (_a) {
|
|
|
43040
43020
|
className: 'flyin '
|
|
43041
43021
|
.concat(isOpen ? 'flyin--active' : '', ' ')
|
|
43042
43022
|
.concat(className, ' ')
|
|
43043
|
-
.concat(
|
|
43044
|
-
|
|
43045
|
-
|
|
43046
|
-
: '',
|
|
43047
|
-
' '
|
|
43048
|
-
)
|
|
43049
|
-
.concat(flyInType === 'excursion-results' || flyInType === 'excursion-details' ? 'flyin--medium' : '')
|
|
43023
|
+
.concat(isPackageEditFlow || flyInType === 'acco-results' ? 'flyin--large' : '', ' ')
|
|
43024
|
+
.concat(flyInType === 'excursion-results' || flyInType === 'excursion-details' ? 'flyin--medium' : '', '\n ')
|
|
43025
|
+
.concat(flyInType === 'flight-outward-results' || flyInType === 'flight-return-results' ? 'flyin--flight' : '')
|
|
43050
43026
|
},
|
|
43051
43027
|
React__default.createElement(
|
|
43052
43028
|
'div',
|
|
@@ -43125,6 +43101,17 @@ var FlyIn = function (_a) {
|
|
|
43125
43101
|
React__default.createElement(
|
|
43126
43102
|
'div',
|
|
43127
43103
|
{ className: 'search__result-row' },
|
|
43104
|
+
React__default.createElement(
|
|
43105
|
+
'div',
|
|
43106
|
+
{
|
|
43107
|
+
className: 'cta cta--filter',
|
|
43108
|
+
onClick: function () {
|
|
43109
|
+
return toggleFilters && toggleFilters();
|
|
43110
|
+
}
|
|
43111
|
+
},
|
|
43112
|
+
React__default.createElement(Icon, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
|
|
43113
|
+
translations.SRP.FILTERS
|
|
43114
|
+
),
|
|
43128
43115
|
React__default.createElement(
|
|
43129
43116
|
'span',
|
|
43130
43117
|
{ className: 'search__result-row-text' },
|
|
@@ -43138,17 +43125,6 @@ var FlyIn = function (_a) {
|
|
|
43138
43125
|
translations.SRP.TOTAL_RESULTS_LABEL
|
|
43139
43126
|
)
|
|
43140
43127
|
),
|
|
43141
|
-
React__default.createElement(
|
|
43142
|
-
'div',
|
|
43143
|
-
{
|
|
43144
|
-
className: 'cta cta--filter',
|
|
43145
|
-
onClick: function () {
|
|
43146
|
-
return toggleFilters && toggleFilters();
|
|
43147
|
-
}
|
|
43148
|
-
},
|
|
43149
|
-
React__default.createElement(Icon, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
|
|
43150
|
-
translations.SRP.FILTERS
|
|
43151
|
-
),
|
|
43152
43128
|
sortByTypes &&
|
|
43153
43129
|
sortByTypes.length > 0 &&
|
|
43154
43130
|
React__default.createElement(
|
|
@@ -44013,8 +43989,8 @@ var IndependentFlightSelection = function (_a) {
|
|
|
44013
43989
|
[searchResults, selectedReturnKey]
|
|
44014
43990
|
);
|
|
44015
43991
|
var firstResultDate = uniqueOutwardFlights.length > 0 ? uniqueOutwardFlights[0].outward.segments[0].departureDateTime : null;
|
|
44016
|
-
var firstResultDay = firstResultDate ? format$
|
|
44017
|
-
var firstResultMonth = firstResultDate ? format$
|
|
43992
|
+
var firstResultDay = firstResultDate ? format$2(firstResultDate, 'd') : null;
|
|
43993
|
+
var firstResultMonth = firstResultDate ? format$2(firstResultDate, 'MMM') : null;
|
|
44018
43994
|
return React__default.createElement(
|
|
44019
43995
|
React__default.Fragment,
|
|
44020
43996
|
null,
|
|
@@ -45203,7 +45179,7 @@ var GroupTourCard = function (_a) {
|
|
|
45203
45179
|
return state.searchResults;
|
|
45204
45180
|
}).selectedSearchResult;
|
|
45205
45181
|
if (!context) {
|
|
45206
|
-
return;
|
|
45182
|
+
return null;
|
|
45207
45183
|
}
|
|
45208
45184
|
var dispatch = useDispatch();
|
|
45209
45185
|
var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
|
|
@@ -45270,7 +45246,7 @@ var GroupTourCard = function (_a) {
|
|
|
45270
45246
|
React__default.createElement(
|
|
45271
45247
|
'div',
|
|
45272
45248
|
{ className: 'search__result-card__allotment__date--from' },
|
|
45273
|
-
format$
|
|
45249
|
+
format$2(new Date(result.fromDate), 'dd/MM/yyyy')
|
|
45274
45250
|
)
|
|
45275
45251
|
),
|
|
45276
45252
|
React__default.createElement(
|
|
@@ -45365,7 +45341,7 @@ var GroupTourResults = function (_a) {
|
|
|
45365
45341
|
var isLoading = _a.isLoading;
|
|
45366
45342
|
var context = useContext(SearchResultsConfigurationContext);
|
|
45367
45343
|
if (!context) {
|
|
45368
|
-
return;
|
|
45344
|
+
return null;
|
|
45369
45345
|
}
|
|
45370
45346
|
if (isLoading) {
|
|
45371
45347
|
return React__default.createElement(
|
|
@@ -46192,8 +46168,8 @@ var buildItineraryHtml = function (itinerary, translations) {
|
|
|
46192
46168
|
.map(function (node) {
|
|
46193
46169
|
var _a;
|
|
46194
46170
|
var startDay = getNodeDayRange(node).startDay;
|
|
46195
|
-
var day = node.startDate ? format$
|
|
46196
|
-
var month = node.startDate ? format$
|
|
46171
|
+
var day = node.startDate ? format$2(node.startDate, 'd') : null;
|
|
46172
|
+
var month = node.startDate ? format$2(node.startDate, 'MMM') : null;
|
|
46197
46173
|
var uniqueItems = getUniqueItems((_a = node.items) !== null && _a !== void 0 ? _a : []);
|
|
46198
46174
|
var hasItems = uniqueItems.length > 0;
|
|
46199
46175
|
var hasAccommodationInCurrentNode = uniqueItems.some(isAccommodationItem);
|
|
@@ -46402,7 +46378,7 @@ var DayByDayExcursions = function () {
|
|
|
46402
46378
|
null,
|
|
46403
46379
|
stayDates.map(function (day) {
|
|
46404
46380
|
var _a, _b, _c;
|
|
46405
|
-
var dayKey = format$
|
|
46381
|
+
var dayKey = format$2(day, 'yyyy-MM-dd');
|
|
46406
46382
|
var confirmedExcursions = (_a = confirmedExcursionsByDay[dayKey]) !== null && _a !== void 0 ? _a : [];
|
|
46407
46383
|
return React__default.createElement(
|
|
46408
46384
|
React__default.Fragment,
|
|
@@ -46416,14 +46392,14 @@ var DayByDayExcursions = function () {
|
|
|
46416
46392
|
React__default.createElement(
|
|
46417
46393
|
'p',
|
|
46418
46394
|
{ className: 'search__results__label__date-date' },
|
|
46419
|
-
format$
|
|
46395
|
+
format$2(day, 'd', {
|
|
46420
46396
|
locale: getLocale((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB')
|
|
46421
46397
|
})
|
|
46422
46398
|
),
|
|
46423
46399
|
React__default.createElement(
|
|
46424
46400
|
'p',
|
|
46425
46401
|
null,
|
|
46426
|
-
format$
|
|
46402
|
+
format$2(day, 'MMM', {
|
|
46427
46403
|
locale: getLocale((_c = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _c !== void 0 ? _c : 'en-GB')
|
|
46428
46404
|
})
|
|
46429
46405
|
)
|
|
@@ -46594,8 +46570,6 @@ var WLSidebar = function (_a) {
|
|
|
46594
46570
|
if (!editablePackagingEntry) {
|
|
46595
46571
|
return null;
|
|
46596
46572
|
}
|
|
46597
|
-
console.log('editablePackagingEntry in WLSidebar:', editablePackagingEntry);
|
|
46598
|
-
console.log('priceDetails in WLSidebar:', priceDetails);
|
|
46599
46573
|
var sortedLines = useMemo(
|
|
46600
46574
|
function () {
|
|
46601
46575
|
var _a;
|
|
@@ -46740,19 +46714,731 @@ var WLSidebar = function (_a) {
|
|
|
46740
46714
|
});
|
|
46741
46715
|
};
|
|
46742
46716
|
|
|
46743
|
-
var
|
|
46717
|
+
var formatBirthDate = function (birthDate) {
|
|
46718
|
+
if (!birthDate) return '';
|
|
46719
|
+
return birthDate.split('T')[0].split('-').reverse().join('/');
|
|
46720
|
+
};
|
|
46721
|
+
var SharedSummary = function (_a) {
|
|
46744
46722
|
var _b;
|
|
46745
|
-
var
|
|
46723
|
+
var translations = _a.translations,
|
|
46724
|
+
travelerFormValues = _a.travelerFormValues,
|
|
46725
|
+
checkboxes = _a.checkboxes,
|
|
46726
|
+
notifications = _a.notifications,
|
|
46727
|
+
_c = _a.remarks,
|
|
46728
|
+
remarks = _c === void 0 ? '' : _c,
|
|
46729
|
+
_d = _a.voucher,
|
|
46730
|
+
voucher = _d === void 0 ? {} : _d,
|
|
46731
|
+
_e = _a.voucherCodes,
|
|
46732
|
+
voucherCodes = _e === void 0 ? [] : _e,
|
|
46733
|
+
_f = _a.enableVoucher,
|
|
46734
|
+
enableVoucher = _f === void 0 ? false : _f,
|
|
46735
|
+
_g = _a.allowOption,
|
|
46736
|
+
allowOption = _g === void 0 ? false : _g,
|
|
46737
|
+
_h = _a.isOffer,
|
|
46738
|
+
isOffer = _h === void 0 ? false : _h,
|
|
46739
|
+
customValidateText = _a.customValidateText,
|
|
46740
|
+
_j = _a.isSubmitting,
|
|
46741
|
+
isSubmitting = _j === void 0 ? false : _j,
|
|
46742
|
+
_k = _a.userValidated,
|
|
46743
|
+
userValidated = _k === void 0 ? true : _k,
|
|
46744
|
+
renderOptions = _a.renderOptions,
|
|
46745
|
+
renderPreviousButton = _a.renderPreviousButton,
|
|
46746
|
+
renderLoader = _a.renderLoader,
|
|
46747
|
+
onSubmit = _a.onSubmit,
|
|
46748
|
+
onRemarksChange = _a.onRemarksChange,
|
|
46749
|
+
onCheckboxesChange = _a.onCheckboxesChange,
|
|
46750
|
+
onNotificationsChange = _a.onNotificationsChange,
|
|
46751
|
+
onVoucherChange = _a.onVoucherChange,
|
|
46752
|
+
onValidateVoucher = _a.onValidateVoucher,
|
|
46753
|
+
onAddVoucher = _a.onAddVoucher,
|
|
46754
|
+
onRemoveVoucher = _a.onRemoveVoucher,
|
|
46755
|
+
onUserValidatedChange = _a.onUserValidatedChange;
|
|
46756
|
+
var _l = useState(checkboxes),
|
|
46757
|
+
localCheckboxes = _l[0],
|
|
46758
|
+
setLocalCheckboxes = _l[1];
|
|
46759
|
+
useEffect(
|
|
46760
|
+
function () {
|
|
46761
|
+
setLocalCheckboxes(checkboxes);
|
|
46762
|
+
},
|
|
46763
|
+
[checkboxes]
|
|
46764
|
+
);
|
|
46765
|
+
useEffect(
|
|
46766
|
+
function () {
|
|
46767
|
+
var checkboxesValidated = !isNil(localCheckboxes)
|
|
46768
|
+
? localCheckboxes.every(function (checkbox) {
|
|
46769
|
+
return checkbox.isSelected;
|
|
46770
|
+
})
|
|
46771
|
+
: true;
|
|
46772
|
+
var notificationsValidated = !isNil(notifications)
|
|
46773
|
+
? notifications
|
|
46774
|
+
.filter(function (notification) {
|
|
46775
|
+
return notification.hasToBeConfirmed;
|
|
46776
|
+
})
|
|
46777
|
+
.every(function (notification) {
|
|
46778
|
+
return notification.isConfirmed;
|
|
46779
|
+
})
|
|
46780
|
+
: true;
|
|
46781
|
+
onUserValidatedChange === null || onUserValidatedChange === void 0 ? void 0 : onUserValidatedChange(checkboxesValidated && notificationsValidated);
|
|
46782
|
+
},
|
|
46783
|
+
[localCheckboxes, notifications, onUserValidatedChange]
|
|
46784
|
+
);
|
|
46785
|
+
var handleNotificationChange = function (id, checked) {
|
|
46786
|
+
var updatedNotifications = (notifications !== null && notifications !== void 0 ? notifications : []).map(function (notification) {
|
|
46787
|
+
return notification.id === id ? __assign(__assign({}, notification), { isConfirmed: checked }) : notification;
|
|
46788
|
+
});
|
|
46789
|
+
onNotificationsChange === null || onNotificationsChange === void 0 ? void 0 : onNotificationsChange(updatedNotifications);
|
|
46790
|
+
};
|
|
46791
|
+
var handleCheckboxChange = function (id) {
|
|
46792
|
+
if (isNil(localCheckboxes)) return;
|
|
46793
|
+
var newCheckboxes = __spreadArray([], localCheckboxes, true);
|
|
46794
|
+
var index = findIndex$1(localCheckboxes, function (checkbox) {
|
|
46795
|
+
return checkbox.id === id;
|
|
46796
|
+
});
|
|
46797
|
+
if (index < 0) return;
|
|
46798
|
+
newCheckboxes[index] = __assign(__assign({}, newCheckboxes[index]), { isSelected: !newCheckboxes[index].isSelected });
|
|
46799
|
+
setLocalCheckboxes(newCheckboxes);
|
|
46800
|
+
onCheckboxesChange === null || onCheckboxesChange === void 0 ? void 0 : onCheckboxesChange(newCheckboxes);
|
|
46801
|
+
};
|
|
46802
|
+
return React__default.createElement(
|
|
46803
|
+
React__default.Fragment,
|
|
46804
|
+
null,
|
|
46805
|
+
isSubmitting && ((renderLoader === null || renderLoader === void 0 ? void 0 : renderLoader()) || React__default.createElement(Loader, null)),
|
|
46806
|
+
!isSubmitting &&
|
|
46807
|
+
React__default.createElement(
|
|
46808
|
+
'form',
|
|
46809
|
+
{ className: 'form', name: 'booking--summary', id: 'booking--summary', onSubmit: onSubmit },
|
|
46810
|
+
React__default.createElement(
|
|
46811
|
+
'div',
|
|
46812
|
+
{ className: 'form__booking--summary' },
|
|
46813
|
+
React__default.createElement(
|
|
46814
|
+
'div',
|
|
46815
|
+
{ className: 'form__region' },
|
|
46816
|
+
React__default.createElement(
|
|
46817
|
+
'div',
|
|
46818
|
+
{ className: 'form__row' },
|
|
46819
|
+
React__default.createElement(
|
|
46820
|
+
'div',
|
|
46821
|
+
{ className: 'form__group' },
|
|
46822
|
+
React__default.createElement(
|
|
46823
|
+
'div',
|
|
46824
|
+
{ className: 'form__region-header' },
|
|
46825
|
+
React__default.createElement('h5', { className: 'form__region-heading' }, translations.SUMMARY.PERSONAL_DETAILS)
|
|
46826
|
+
)
|
|
46827
|
+
)
|
|
46828
|
+
),
|
|
46829
|
+
travelerFormValues.rooms.map(function (room, roomIndex) {
|
|
46830
|
+
var _a, _b;
|
|
46831
|
+
return React__default.createElement(
|
|
46832
|
+
'div',
|
|
46833
|
+
{ className: 'form__row', key: roomIndex },
|
|
46834
|
+
React__default.createElement(
|
|
46835
|
+
'div',
|
|
46836
|
+
{ className: 'form__group' },
|
|
46837
|
+
React__default.createElement(
|
|
46838
|
+
'div',
|
|
46839
|
+
{ className: 'form__region-header' },
|
|
46840
|
+
React__default.createElement(
|
|
46841
|
+
'h5',
|
|
46842
|
+
{ className: 'form__region-heading' },
|
|
46843
|
+
travelerFormValues.rooms.length > 1
|
|
46844
|
+
? ''.concat(translations.SHARED.ROOM, ' ').concat(roomIndex + 1)
|
|
46845
|
+
: translations.ROOM_OPTIONS_FORM.TRAVELER_GROUP
|
|
46846
|
+
),
|
|
46847
|
+
React__default.createElement(
|
|
46848
|
+
'p',
|
|
46849
|
+
{ className: 'form__region-label' },
|
|
46850
|
+
''
|
|
46851
|
+
.concat(room.adults.length + room.children.length, ' ')
|
|
46852
|
+
.concat(room.adults.length + room.children.length === 1 ? translations.SUMMARY.TRAVELER : translations.SUMMARY.TRAVELERS, ': ')
|
|
46853
|
+
.concat(
|
|
46854
|
+
compact([
|
|
46855
|
+
room.adults.length,
|
|
46856
|
+
room.adults.length === 1 && ' '.concat(translations.SUMMARY.ADULT),
|
|
46857
|
+
room.adults.length > 1 && ' '.concat(translations.SUMMARY.ADULTS),
|
|
46858
|
+
((_a = room.adults) === null || _a === void 0 ? void 0 : _a.length) &&
|
|
46859
|
+
((_b = room.children) === null || _b === void 0 ? void 0 : _b.length) &&
|
|
46860
|
+
', ',
|
|
46861
|
+
room.children.length,
|
|
46862
|
+
room.children.length === 1 && ' '.concat(translations.SUMMARY.CHILD),
|
|
46863
|
+
room.children.length > 1 && ' '.concat(translations.SUMMARY.CHILDREN)
|
|
46864
|
+
]).join('')
|
|
46865
|
+
)
|
|
46866
|
+
)
|
|
46867
|
+
)
|
|
46868
|
+
),
|
|
46869
|
+
__spreadArray(__spreadArray([], room.adults, true), room.children, true).map(function (traveler) {
|
|
46870
|
+
var isMainBooker = traveler.id === travelerFormValues.mainBookerId;
|
|
46871
|
+
return React__default.createElement(
|
|
46872
|
+
'div',
|
|
46873
|
+
{ className: 'form__group form__group--sm-50', key: traveler.id },
|
|
46874
|
+
React__default.createElement(
|
|
46875
|
+
'ul',
|
|
46876
|
+
{ className: 'list list--plain' },
|
|
46877
|
+
React__default.createElement(
|
|
46878
|
+
'li',
|
|
46879
|
+
{ className: 'list__item' },
|
|
46880
|
+
React__default.createElement('strong', null, traveler.firstName, ' ', traveler.lastName),
|
|
46881
|
+
' ',
|
|
46882
|
+
isMainBooker && React__default.createElement('em', null, '(', translations.SUMMARY.MAIN_BOOKER, ')')
|
|
46883
|
+
),
|
|
46884
|
+
React__default.createElement('li', { className: 'list__item' }, formatBirthDate(traveler.birthDate)),
|
|
46885
|
+
isMainBooker &&
|
|
46886
|
+
React__default.createElement(
|
|
46887
|
+
React__default.Fragment,
|
|
46888
|
+
null,
|
|
46889
|
+
travelerFormValues.street &&
|
|
46890
|
+
React__default.createElement(
|
|
46891
|
+
'li',
|
|
46892
|
+
{ className: 'list__item' },
|
|
46893
|
+
''
|
|
46894
|
+
.concat(travelerFormValues.street, ' ')
|
|
46895
|
+
.concat(compact([travelerFormValues.houseNumber, travelerFormValues.box]).join(' '), ', ')
|
|
46896
|
+
.concat(travelerFormValues.zipCode, ' ')
|
|
46897
|
+
.concat(travelerFormValues.place)
|
|
46898
|
+
),
|
|
46899
|
+
travelerFormValues.phone && React__default.createElement('li', { className: 'list__item' }, travelerFormValues.phone),
|
|
46900
|
+
travelerFormValues.email && React__default.createElement('li', { className: 'list__item' }, travelerFormValues.email)
|
|
46901
|
+
)
|
|
46902
|
+
)
|
|
46903
|
+
);
|
|
46904
|
+
})
|
|
46905
|
+
);
|
|
46906
|
+
})
|
|
46907
|
+
),
|
|
46908
|
+
React__default.createElement(
|
|
46909
|
+
'div',
|
|
46910
|
+
{ className: 'form__region' },
|
|
46911
|
+
React__default.createElement(
|
|
46912
|
+
'div',
|
|
46913
|
+
{ className: 'form__row' },
|
|
46914
|
+
React__default.createElement(
|
|
46915
|
+
'div',
|
|
46916
|
+
{ className: 'form__group' },
|
|
46917
|
+
React__default.createElement(
|
|
46918
|
+
'div',
|
|
46919
|
+
{ className: 'form__region-header' },
|
|
46920
|
+
React__default.createElement('h5', { className: 'form__region-heading' }, translations.SUMMARY.OPTIONS)
|
|
46921
|
+
)
|
|
46922
|
+
)
|
|
46923
|
+
),
|
|
46924
|
+
React__default.createElement(
|
|
46925
|
+
'div',
|
|
46926
|
+
{ className: 'form__row' },
|
|
46927
|
+
React__default.createElement(
|
|
46928
|
+
'div',
|
|
46929
|
+
{ className: 'form__group' },
|
|
46930
|
+
React__default.createElement('ul', { className: 'list list--booking-summary' }, renderOptions())
|
|
46931
|
+
)
|
|
46932
|
+
)
|
|
46933
|
+
),
|
|
46934
|
+
enableVoucher &&
|
|
46935
|
+
React__default.createElement(
|
|
46936
|
+
'div',
|
|
46937
|
+
{ className: 'form__region' },
|
|
46938
|
+
React__default.createElement(
|
|
46939
|
+
'div',
|
|
46940
|
+
{ className: 'form__row' },
|
|
46941
|
+
React__default.createElement(
|
|
46942
|
+
'div',
|
|
46943
|
+
{ className: 'form__group' },
|
|
46944
|
+
React__default.createElement(
|
|
46945
|
+
'div',
|
|
46946
|
+
{ className: 'form__region-header' },
|
|
46947
|
+
React__default.createElement('h5', { className: 'form__region-heading' }, translations.SUMMARY.VOUCHERS)
|
|
46948
|
+
)
|
|
46949
|
+
)
|
|
46950
|
+
),
|
|
46951
|
+
React__default.createElement(
|
|
46952
|
+
'div',
|
|
46953
|
+
{ className: 'form__row' },
|
|
46954
|
+
React__default.createElement(
|
|
46955
|
+
'div',
|
|
46956
|
+
{ className: 'form__group' },
|
|
46957
|
+
React__default.createElement('input', {
|
|
46958
|
+
type: 'text',
|
|
46959
|
+
className: 'form__input info-message__voucher__input',
|
|
46960
|
+
value: (_b = voucher.code) !== null && _b !== void 0 ? _b : '',
|
|
46961
|
+
onChange: function (event) {
|
|
46962
|
+
return onVoucherChange === null || onVoucherChange === void 0 ? void 0 : onVoucherChange({ code: event.target.value });
|
|
46963
|
+
}
|
|
46964
|
+
}),
|
|
46965
|
+
React__default.createElement(
|
|
46966
|
+
'button',
|
|
46967
|
+
{ type: 'button', className: buildClassName(['cta', !voucher.code && 'cta--disabled']), onClick: onValidateVoucher },
|
|
46968
|
+
translations.SUMMARY.VOUCHER_VALIDATE
|
|
46969
|
+
)
|
|
46970
|
+
)
|
|
46971
|
+
),
|
|
46972
|
+
React__default.createElement(
|
|
46973
|
+
'div',
|
|
46974
|
+
{ className: 'form__row' },
|
|
46975
|
+
React__default.createElement(
|
|
46976
|
+
'div',
|
|
46977
|
+
{ className: 'form__group info-message__voucher' },
|
|
46978
|
+
voucher.isValid &&
|
|
46979
|
+
voucher.isValidated &&
|
|
46980
|
+
React__default.createElement(
|
|
46981
|
+
'div',
|
|
46982
|
+
{ className: 'info-message info-message__voucher__valid' },
|
|
46983
|
+
React__default.createElement('span', null, translations.SUMMARY.VOUCHER_VALID),
|
|
46984
|
+
React__default.createElement(
|
|
46985
|
+
'button',
|
|
46986
|
+
{ type: 'button', className: 'cta cta--secondary', onClick: onAddVoucher },
|
|
46987
|
+
translations.SUMMARY.ADD_VOUCHER
|
|
46988
|
+
)
|
|
46989
|
+
),
|
|
46990
|
+
!voucher.isValid &&
|
|
46991
|
+
voucher.isValidated &&
|
|
46992
|
+
React__default.createElement('div', { className: 'info-message--error' }, translations.SUMMARY.VOUCHER_INVALID)
|
|
46993
|
+
)
|
|
46994
|
+
),
|
|
46995
|
+
React__default.createElement(
|
|
46996
|
+
'div',
|
|
46997
|
+
{ className: 'form__row' },
|
|
46998
|
+
React__default.createElement(
|
|
46999
|
+
'ul',
|
|
47000
|
+
{ className: 'info-message__voucher' },
|
|
47001
|
+
!isEmpty(voucherCodes) &&
|
|
47002
|
+
voucherCodes.map(function (code, index) {
|
|
47003
|
+
return React__default.createElement(
|
|
47004
|
+
'li',
|
|
47005
|
+
{ key: ''.concat(code, '-').concat(index) },
|
|
47006
|
+
React__default.createElement(
|
|
47007
|
+
'div',
|
|
47008
|
+
{ className: 'info-message__voucher__list' },
|
|
47009
|
+
code,
|
|
47010
|
+
' ',
|
|
47011
|
+
React__default.createElement(
|
|
47012
|
+
'button',
|
|
47013
|
+
{
|
|
47014
|
+
type: 'button',
|
|
47015
|
+
className: 'cta--add-remove',
|
|
47016
|
+
onClick: function () {
|
|
47017
|
+
return onRemoveVoucher === null || onRemoveVoucher === void 0 ? void 0 : onRemoveVoucher(code);
|
|
47018
|
+
}
|
|
47019
|
+
},
|
|
47020
|
+
React__default.createElement(Icon, { height: 16, name: 'ui-trashcan' })
|
|
47021
|
+
)
|
|
47022
|
+
)
|
|
47023
|
+
);
|
|
47024
|
+
})
|
|
47025
|
+
)
|
|
47026
|
+
)
|
|
47027
|
+
),
|
|
47028
|
+
!isEmpty(notifications) &&
|
|
47029
|
+
React__default.createElement(
|
|
47030
|
+
'div',
|
|
47031
|
+
{ className: 'form__region' },
|
|
47032
|
+
React__default.createElement(
|
|
47033
|
+
'div',
|
|
47034
|
+
{ className: 'form__row' },
|
|
47035
|
+
React__default.createElement(
|
|
47036
|
+
'div',
|
|
47037
|
+
{ className: 'form__group' },
|
|
47038
|
+
React__default.createElement(
|
|
47039
|
+
'div',
|
|
47040
|
+
{ className: 'info-message' },
|
|
47041
|
+
React__default.createElement(Icon, { name: 'ui-tooltip', className: 'icon--secondary-color' }),
|
|
47042
|
+
React__default.createElement(
|
|
47043
|
+
'div',
|
|
47044
|
+
{ className: 'info-message__copy' },
|
|
47045
|
+
React__default.createElement('h5', null, translations.SUMMARY.NOTIFICATIONS_TITLE),
|
|
47046
|
+
uniqBy(
|
|
47047
|
+
(notifications !== null && notifications !== void 0 ? notifications : []).filter(function (notification) {
|
|
47048
|
+
return !notification.hasToBeConfirmed;
|
|
47049
|
+
}),
|
|
47050
|
+
'id'
|
|
47051
|
+
).map(function (notification) {
|
|
47052
|
+
return React__default.createElement(
|
|
47053
|
+
'span',
|
|
47054
|
+
{ key: notification.id, className: 'checkbox__label-text' },
|
|
47055
|
+
React__default.createElement('strong', { className: 'checkbox__label-text--title' }, notification.title),
|
|
47056
|
+
React__default.createElement('span', { className: 'checkbox__label-text--description' }, notification.description)
|
|
47057
|
+
);
|
|
47058
|
+
}),
|
|
47059
|
+
uniqBy(
|
|
47060
|
+
(notifications !== null && notifications !== void 0 ? notifications : []).filter(function (notification) {
|
|
47061
|
+
return notification.hasToBeConfirmed;
|
|
47062
|
+
}),
|
|
47063
|
+
'id'
|
|
47064
|
+
).map(function (notification) {
|
|
47065
|
+
return React__default.createElement(
|
|
47066
|
+
'div',
|
|
47067
|
+
{ className: 'checkbox', key: notification.id },
|
|
47068
|
+
React__default.createElement(
|
|
47069
|
+
'label',
|
|
47070
|
+
{ className: 'checkbox__label' },
|
|
47071
|
+
React__default.createElement('input', {
|
|
47072
|
+
type: 'checkbox',
|
|
47073
|
+
className: 'checkbox__input',
|
|
47074
|
+
checked: notification.isConfirmed,
|
|
47075
|
+
onChange: function (event) {
|
|
47076
|
+
return handleNotificationChange(notification.id, event.target.checked);
|
|
47077
|
+
}
|
|
47078
|
+
}),
|
|
47079
|
+
React__default.createElement(
|
|
47080
|
+
'span',
|
|
47081
|
+
{ className: 'checkbox__label-text' },
|
|
47082
|
+
React__default.createElement('strong', { className: 'checkbox__label-text--title' }, notification.title),
|
|
47083
|
+
React__default.createElement('span', { className: 'checkbox__label-text--description' }, notification.description)
|
|
47084
|
+
)
|
|
47085
|
+
)
|
|
47086
|
+
);
|
|
47087
|
+
})
|
|
47088
|
+
)
|
|
47089
|
+
)
|
|
47090
|
+
)
|
|
47091
|
+
)
|
|
47092
|
+
),
|
|
47093
|
+
React__default.createElement(
|
|
47094
|
+
'div',
|
|
47095
|
+
{ className: 'form__region' },
|
|
47096
|
+
React__default.createElement(
|
|
47097
|
+
'div',
|
|
47098
|
+
{ className: 'form__row' },
|
|
47099
|
+
React__default.createElement(
|
|
47100
|
+
'div',
|
|
47101
|
+
{ className: 'form__group' },
|
|
47102
|
+
React__default.createElement(
|
|
47103
|
+
'div',
|
|
47104
|
+
{ className: 'form__region-header' },
|
|
47105
|
+
React__default.createElement('h5', { className: 'form__region-heading' }, translations.SUMMARY.REMARKS)
|
|
47106
|
+
)
|
|
47107
|
+
)
|
|
47108
|
+
),
|
|
47109
|
+
React__default.createElement(
|
|
47110
|
+
'div',
|
|
47111
|
+
{ className: 'form__row' },
|
|
47112
|
+
React__default.createElement(
|
|
47113
|
+
'div',
|
|
47114
|
+
{ className: 'form__group' },
|
|
47115
|
+
React__default.createElement('textarea', {
|
|
47116
|
+
className: 'form__input',
|
|
47117
|
+
value: remarks,
|
|
47118
|
+
onChange: function (event) {
|
|
47119
|
+
return onRemarksChange === null || onRemarksChange === void 0 ? void 0 : onRemarksChange(event.target.value);
|
|
47120
|
+
}
|
|
47121
|
+
})
|
|
47122
|
+
)
|
|
47123
|
+
)
|
|
47124
|
+
),
|
|
47125
|
+
React__default.createElement(
|
|
47126
|
+
'div',
|
|
47127
|
+
{ className: 'form__region' },
|
|
47128
|
+
React__default.createElement(
|
|
47129
|
+
'div',
|
|
47130
|
+
{ className: 'form__row' },
|
|
47131
|
+
React__default.createElement(
|
|
47132
|
+
'div',
|
|
47133
|
+
{ className: 'form__group' },
|
|
47134
|
+
React__default.createElement(
|
|
47135
|
+
'div',
|
|
47136
|
+
{ className: 'info-message' },
|
|
47137
|
+
React__default.createElement(Icon, { name: 'ui-tooltip', className: 'icon--secondary-color' }),
|
|
47138
|
+
React__default.createElement(
|
|
47139
|
+
'div',
|
|
47140
|
+
{ className: 'info-message__copy' },
|
|
47141
|
+
React__default.createElement('h5', null, translations.SUMMARY.VALIDATE_TITLE),
|
|
47142
|
+
customValidateText
|
|
47143
|
+
? React__default.createElement('div', { dangerouslySetInnerHTML: { __html: customValidateText } })
|
|
47144
|
+
: React__default.createElement(
|
|
47145
|
+
React__default.Fragment,
|
|
47146
|
+
null,
|
|
47147
|
+
React__default.createElement(
|
|
47148
|
+
'p',
|
|
47149
|
+
null,
|
|
47150
|
+
isOffer ? translations.SUMMARY.VALIDATE_TEXT_OFFER : translations.SUMMARY.VALIDATE_TEXT_BOOKING
|
|
47151
|
+
),
|
|
47152
|
+
allowOption && React__default.createElement('p', null, translations.SUMMARY.VALIDATE_TEXT_OPTION)
|
|
47153
|
+
),
|
|
47154
|
+
localCheckboxes === null || localCheckboxes === void 0
|
|
47155
|
+
? void 0
|
|
47156
|
+
: localCheckboxes.map(function (checkbox) {
|
|
47157
|
+
return React__default.createElement(
|
|
47158
|
+
'div',
|
|
47159
|
+
{ className: 'checkbox', key: checkbox.id },
|
|
47160
|
+
React__default.createElement(
|
|
47161
|
+
'label',
|
|
47162
|
+
{ className: 'checkbox__label' },
|
|
47163
|
+
React__default.createElement('input', {
|
|
47164
|
+
type: 'checkbox',
|
|
47165
|
+
className: 'checkbox__input',
|
|
47166
|
+
checked: checkbox.isSelected,
|
|
47167
|
+
onChange: function () {
|
|
47168
|
+
return handleCheckboxChange(checkbox.id);
|
|
47169
|
+
}
|
|
47170
|
+
}),
|
|
47171
|
+
React__default.createElement('span', { className: 'checkbox__label-text', dangerouslySetInnerHTML: { __html: checkbox.text } })
|
|
47172
|
+
)
|
|
47173
|
+
);
|
|
47174
|
+
})
|
|
47175
|
+
)
|
|
47176
|
+
)
|
|
47177
|
+
)
|
|
47178
|
+
)
|
|
47179
|
+
)
|
|
47180
|
+
),
|
|
47181
|
+
React__default.createElement(
|
|
47182
|
+
'div',
|
|
47183
|
+
{ className: 'booking__navigator' },
|
|
47184
|
+
renderPreviousButton(),
|
|
47185
|
+
allowOption &&
|
|
47186
|
+
React__default.createElement(
|
|
47187
|
+
'button',
|
|
47188
|
+
{
|
|
47189
|
+
title: translations.STEPS.SUBMIT_OPTION,
|
|
47190
|
+
className: buildClassName(['cta', !userValidated && 'cta--disabled']),
|
|
47191
|
+
disabled: !userValidated,
|
|
47192
|
+
name: 'option'
|
|
47193
|
+
},
|
|
47194
|
+
translations.STEPS.SUBMIT_OPTION
|
|
47195
|
+
),
|
|
47196
|
+
React__default.createElement(
|
|
47197
|
+
'button',
|
|
47198
|
+
{
|
|
47199
|
+
title: isOffer ? translations.STEPS.SUBMIT_OFFER : translations.STEPS.SUBMIT_BOOKING,
|
|
47200
|
+
className: buildClassName(['cta', !userValidated && 'cta--disabled']),
|
|
47201
|
+
disabled: !userValidated,
|
|
47202
|
+
name: 'default'
|
|
47203
|
+
},
|
|
47204
|
+
isOffer ? translations.STEPS.SUBMIT_OFFER : translations.STEPS.SUBMIT_BOOKING
|
|
47205
|
+
)
|
|
47206
|
+
)
|
|
47207
|
+
)
|
|
47208
|
+
);
|
|
47209
|
+
};
|
|
47210
|
+
|
|
47211
|
+
var renderEditablePackagingEntrySummaryOptions = function (editablePackagingEntry, priceDetails, translations) {
|
|
47212
|
+
var _a, _b;
|
|
47213
|
+
var priceDetailsByProduct = groupBy(
|
|
47214
|
+
(_a = priceDetails === null || priceDetails === void 0 ? void 0 : priceDetails.details) !== null && _a !== void 0 ? _a : [],
|
|
47215
|
+
function (detail) {
|
|
47216
|
+
return ''.concat(detail.productCode, '|').concat(detail.accommodationCode);
|
|
47217
|
+
}
|
|
47218
|
+
);
|
|
47219
|
+
return (
|
|
47220
|
+
(_b = editablePackagingEntry === null || editablePackagingEntry === void 0 ? void 0 : editablePackagingEntry.lines) !== null && _b !== void 0 ? _b : []
|
|
47221
|
+
).map(function (line) {
|
|
47222
|
+
var _a, _b, _c;
|
|
47223
|
+
var groupedPriceDetails = (_a = priceDetailsByProduct[''.concat(line.productCode, '|').concat(line.accommodationCode)]) !== null && _a !== void 0 ? _a : [];
|
|
47224
|
+
var visiblePriceDetails = groupedPriceDetails.filter(function (detail) {
|
|
47225
|
+
return detail.showPrice || detail.isSeparate;
|
|
47226
|
+
});
|
|
47227
|
+
return React__default.createElement(
|
|
47228
|
+
'li',
|
|
47229
|
+
{ key: line.guid },
|
|
47230
|
+
React__default.createElement('h6', null, line.productName),
|
|
47231
|
+
React__default.createElement(
|
|
47232
|
+
'ul',
|
|
47233
|
+
null,
|
|
47234
|
+
React__default.createElement('li', { className: 'list__item' }, compact([line.accommodationName, line.regimeName]).join(', ')),
|
|
47235
|
+
(_c = (_b = line.flightInformation) === null || _b === void 0 ? void 0 : _b.flightLines) === null || _c === void 0
|
|
47236
|
+
? void 0
|
|
47237
|
+
: _c.map(function (flightLine, index) {
|
|
47238
|
+
var _a, _b;
|
|
47239
|
+
return React__default.createElement(
|
|
47240
|
+
'li',
|
|
47241
|
+
{ className: 'list__item', key: ''.concat(line.guid, '-').concat(index) },
|
|
47242
|
+
flightLine.departureAirportCode,
|
|
47243
|
+
' ',
|
|
47244
|
+
(_a = flightLine.departureTime) === null || _a === void 0 ? void 0 : _a.slice(0, 5),
|
|
47245
|
+
' > ',
|
|
47246
|
+
flightLine.arrivalAirportCode,
|
|
47247
|
+
' ',
|
|
47248
|
+
(_b = flightLine.arrivalTime) === null || _b === void 0 ? void 0 : _b.slice(0, 5),
|
|
47249
|
+
' (',
|
|
47250
|
+
flightLine.operatingFlightNumber || ''.concat(flightLine.airlineCode).concat(flightLine.flightNumber),
|
|
47251
|
+
')'
|
|
47252
|
+
);
|
|
47253
|
+
}),
|
|
47254
|
+
!isEmpty(visiblePriceDetails) &&
|
|
47255
|
+
visiblePriceDetails.map(function (detail, index) {
|
|
47256
|
+
var _a;
|
|
47257
|
+
return React__default.createElement(
|
|
47258
|
+
'li',
|
|
47259
|
+
{ className: 'list__item', key: ''.concat(line.guid, '-price-').concat(index) },
|
|
47260
|
+
detail.priceDescription,
|
|
47261
|
+
': ',
|
|
47262
|
+
(_a = detail.total) === null || _a === void 0 ? void 0 : _a.toLocaleString(undefined, { style: 'currency', currency: 'EUR' })
|
|
47263
|
+
);
|
|
47264
|
+
})
|
|
47265
|
+
),
|
|
47266
|
+
React__default.createElement(
|
|
47267
|
+
'p',
|
|
47268
|
+
null,
|
|
47269
|
+
'(',
|
|
47270
|
+
line.from === line.to
|
|
47271
|
+
? getDateText(line.from)
|
|
47272
|
+
: React__default.createElement(React__default.Fragment, null, getDateText(line.from), ' > ', getDateText(line.to)),
|
|
47273
|
+
')'
|
|
47274
|
+
)
|
|
47275
|
+
);
|
|
47276
|
+
});
|
|
47277
|
+
};
|
|
47278
|
+
|
|
47279
|
+
var travelerFormFields = [{ type: 'gender' }, { type: 'firstName' }, { type: 'lastName' }, { type: 'birthDate' }];
|
|
47280
|
+
var mainBookerFormFields = [
|
|
47281
|
+
{ type: 'street' },
|
|
47282
|
+
{ type: 'houseNumber' },
|
|
47283
|
+
{ type: 'box' },
|
|
47284
|
+
{ type: 'zipCode' },
|
|
47285
|
+
{ type: 'place' },
|
|
47286
|
+
{ type: 'country' },
|
|
47287
|
+
{ type: 'phone' },
|
|
47288
|
+
{ type: 'email' }
|
|
47289
|
+
];
|
|
47290
|
+
var travellersSettings = {
|
|
47291
|
+
countries: [
|
|
47292
|
+
{ iso2: 'BE', name: 'Belgium', phonePrefix: '+32' },
|
|
47293
|
+
{ iso2: 'NL', name: 'Netherlands', phonePrefix: '+31' },
|
|
47294
|
+
{ iso2: 'FR', name: 'France', phonePrefix: '+33' }
|
|
47295
|
+
],
|
|
47296
|
+
formFields: travelerFormFields,
|
|
47297
|
+
mainBookerFormFields: mainBookerFormFields
|
|
47298
|
+
};
|
|
47299
|
+
var BookPackagingEntry = function (_a) {
|
|
47300
|
+
var _b, _c;
|
|
47301
|
+
var activeSearchSeed = _a.activeSearchSeed,
|
|
47302
|
+
isConfirmationPage = _a.isConfirmationPage;
|
|
46746
47303
|
var context = useContext(SearchResultsConfigurationContext);
|
|
46747
|
-
|
|
46748
|
-
|
|
46749
|
-
|
|
46750
|
-
|
|
46751
|
-
|
|
46752
|
-
|
|
46753
|
-
|
|
46754
|
-
|
|
47304
|
+
var dispatch = useDispatch();
|
|
47305
|
+
var _d = useSelector(function (state) {
|
|
47306
|
+
return state.searchResults;
|
|
47307
|
+
}),
|
|
47308
|
+
editablePackagingEntry = _d.editablePackagingEntry,
|
|
47309
|
+
priceDetails = _d.priceDetails,
|
|
47310
|
+
currentStep = _d.currentStep,
|
|
47311
|
+
bookingNumber = _d.bookingNumber;
|
|
47312
|
+
var _e = useState([]),
|
|
47313
|
+
countries = _e[0],
|
|
47314
|
+
setCountries = _e[1];
|
|
47315
|
+
var _f = useState(true),
|
|
47316
|
+
userValidated = _f[0],
|
|
47317
|
+
setUserValidated = _f[1];
|
|
47318
|
+
var _g = useState(''),
|
|
47319
|
+
remarks = _g[0],
|
|
47320
|
+
setRemarks = _g[1];
|
|
47321
|
+
var _h = useState(false),
|
|
47322
|
+
isSubmitting = _h[0],
|
|
47323
|
+
setIsSubmitting = _h[1];
|
|
47324
|
+
if (!context || !editablePackagingEntry || !priceDetails) return null;
|
|
47325
|
+
var config = {
|
|
47326
|
+
host: context.tideConnection.host,
|
|
47327
|
+
apiKey: context.tideConnection.apiKey
|
|
47328
|
+
};
|
|
47329
|
+
var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
|
|
46755
47330
|
var stepLabels = [translations.STEPS.PERSONAL_DETAILS, translations.STEPS.SUMMARY, translations.STEPS.CONFIRMATION];
|
|
47331
|
+
console.log('editablePackagingEntry in WLSidebar:', editablePackagingEntry);
|
|
47332
|
+
console.log('priceDetails in WLSidebar:', priceDetails);
|
|
47333
|
+
var initialValues = useMemo(
|
|
47334
|
+
function () {
|
|
47335
|
+
return createInitialValuesFromEditablePackagingEntry(editablePackagingEntry);
|
|
47336
|
+
},
|
|
47337
|
+
[editablePackagingEntry === null || editablePackagingEntry === void 0 ? void 0 : editablePackagingEntry.transactionId]
|
|
47338
|
+
);
|
|
47339
|
+
var formik = useFormik({
|
|
47340
|
+
initialValues: initialValues,
|
|
47341
|
+
enableReinitialize: true,
|
|
47342
|
+
validate: function (values) {
|
|
47343
|
+
return validateForm(values, false, 'b2c', translations, travellersSettings.formFields, travellersSettings.mainBookerFormFields);
|
|
47344
|
+
},
|
|
47345
|
+
onSubmit: function (values) {
|
|
47346
|
+
dispatch(setEditablePackagingEntry(applyTravelersFormValuesToEditablePackagingEntry(editablePackagingEntry, values)));
|
|
47347
|
+
dispatch(setCurrentStep(1));
|
|
47348
|
+
}
|
|
47349
|
+
});
|
|
47350
|
+
useEffect(function () {
|
|
47351
|
+
if (!context) return;
|
|
47352
|
+
var controller = new AbortController();
|
|
47353
|
+
(function () {
|
|
47354
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
47355
|
+
var result;
|
|
47356
|
+
return __generator(this, function (_b) {
|
|
47357
|
+
switch (_b.label) {
|
|
47358
|
+
case 0:
|
|
47359
|
+
_b.trys.push([0, 2, , 3]);
|
|
47360
|
+
return [4 /*yield*/, build.getCountries(config, controller.signal)];
|
|
47361
|
+
case 1:
|
|
47362
|
+
result = _b.sent();
|
|
47363
|
+
setCountries(result.items);
|
|
47364
|
+
return [3 /*break*/, 3];
|
|
47365
|
+
case 2:
|
|
47366
|
+
_b.sent();
|
|
47367
|
+
return [3 /*break*/, 3];
|
|
47368
|
+
case 3:
|
|
47369
|
+
return [2 /*return*/];
|
|
47370
|
+
}
|
|
47371
|
+
});
|
|
47372
|
+
});
|
|
47373
|
+
})();
|
|
47374
|
+
return function () {
|
|
47375
|
+
return controller.abort();
|
|
47376
|
+
};
|
|
47377
|
+
}, []);
|
|
47378
|
+
useEffect(
|
|
47379
|
+
function () {
|
|
47380
|
+
if (isConfirmationPage) {
|
|
47381
|
+
dispatch(setCurrentStep(2));
|
|
47382
|
+
}
|
|
47383
|
+
},
|
|
47384
|
+
[isConfirmationPage, dispatch]
|
|
47385
|
+
);
|
|
47386
|
+
var handleSummarySubmit = function (e) {
|
|
47387
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
47388
|
+
var updatedEditablePackagingEntry, redirectUrl, request, bookingResponse;
|
|
47389
|
+
var _a, _b;
|
|
47390
|
+
return __generator(this, function (_c) {
|
|
47391
|
+
switch (_c.label) {
|
|
47392
|
+
case 0:
|
|
47393
|
+
e.preventDefault();
|
|
47394
|
+
setIsSubmitting(true);
|
|
47395
|
+
if (typeof window !== 'undefined') {
|
|
47396
|
+
window.scrollTo(0, 0);
|
|
47397
|
+
}
|
|
47398
|
+
updatedEditablePackagingEntry = __assign(__assign({}, editablePackagingEntry), { remarks: remarks });
|
|
47399
|
+
if (context.generatePaymentUrl && typeof window !== 'undefined') {
|
|
47400
|
+
redirectUrl = new URL(window.location.href);
|
|
47401
|
+
redirectUrl.searchParams.set('bookingConfirmation', 'true');
|
|
47402
|
+
redirectUrl.searchParams.set('link', '');
|
|
47403
|
+
updatedEditablePackagingEntry = __assign(__assign({}, updatedEditablePackagingEntry), {
|
|
47404
|
+
redirectUrl: redirectUrl.toString(),
|
|
47405
|
+
returnPaymentUrl: true
|
|
47406
|
+
});
|
|
47407
|
+
}
|
|
47408
|
+
dispatch(setEditablePackagingEntry(updatedEditablePackagingEntry));
|
|
47409
|
+
_c.label = 1;
|
|
47410
|
+
case 1:
|
|
47411
|
+
_c.trys.push([1, 3, 4, 5]);
|
|
47412
|
+
request = {
|
|
47413
|
+
language: (_a = context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB',
|
|
47414
|
+
officeId: context.tideConnection.officeId,
|
|
47415
|
+
catalogueId: (_b = context.searchConfiguration.defaultCatalogueId) !== null && _b !== void 0 ? _b : 0,
|
|
47416
|
+
agentId: context.agentId,
|
|
47417
|
+
payload: updatedEditablePackagingEntry
|
|
47418
|
+
};
|
|
47419
|
+
return [4 /*yield*/, build.bookPackagingEntry(config, request)];
|
|
47420
|
+
case 2:
|
|
47421
|
+
bookingResponse = _c.sent();
|
|
47422
|
+
dispatch(setBookingNumber(bookingResponse.number));
|
|
47423
|
+
if (bookingResponse.paymentUrl) {
|
|
47424
|
+
window.location.href = bookingResponse.paymentUrl;
|
|
47425
|
+
} else {
|
|
47426
|
+
dispatch(setCurrentStep(2));
|
|
47427
|
+
}
|
|
47428
|
+
return [3 /*break*/, 5];
|
|
47429
|
+
case 3:
|
|
47430
|
+
_c.sent();
|
|
47431
|
+
dispatch(setCurrentStep(3));
|
|
47432
|
+
return [3 /*break*/, 5];
|
|
47433
|
+
case 4:
|
|
47434
|
+
setIsSubmitting(false);
|
|
47435
|
+
return [7 /*endfinally*/];
|
|
47436
|
+
case 5:
|
|
47437
|
+
return [2 /*return*/];
|
|
47438
|
+
}
|
|
47439
|
+
});
|
|
47440
|
+
});
|
|
47441
|
+
};
|
|
46756
47442
|
return React__default.createElement(
|
|
46757
47443
|
'div',
|
|
46758
47444
|
{ className: 'booking' },
|
|
@@ -46769,7 +47455,64 @@ var BookPackagingEntry = function (_a) {
|
|
|
46769
47455
|
return React__default.createElement(React__default.Fragment, null, step + 1, '.\u00A0', stepLabels[step]);
|
|
46770
47456
|
}
|
|
46771
47457
|
},
|
|
46772
|
-
|
|
47458
|
+
currentStep === 0 &&
|
|
47459
|
+
React__default.createElement(SharedTravelersForm, {
|
|
47460
|
+
formik: formik,
|
|
47461
|
+
translations: translations,
|
|
47462
|
+
travellersSettings: travellersSettings,
|
|
47463
|
+
countries: countries,
|
|
47464
|
+
travelersFirstStep: false,
|
|
47465
|
+
isUnavailable: false,
|
|
47466
|
+
useCompactForm: false,
|
|
47467
|
+
showAgentSelection: false
|
|
47468
|
+
}),
|
|
47469
|
+
currentStep === 1 &&
|
|
47470
|
+
React__default.createElement(SharedSummary, {
|
|
47471
|
+
translations: translations,
|
|
47472
|
+
travelerFormValues: formik.values,
|
|
47473
|
+
isSubmitting: isSubmitting,
|
|
47474
|
+
userValidated: userValidated,
|
|
47475
|
+
remarks: remarks,
|
|
47476
|
+
enableVoucher: false,
|
|
47477
|
+
allowOption: false,
|
|
47478
|
+
isOffer: false,
|
|
47479
|
+
onUserValidatedChange: setUserValidated,
|
|
47480
|
+
onRemarksChange: setRemarks,
|
|
47481
|
+
onSubmit: handleSummarySubmit,
|
|
47482
|
+
renderOptions: function () {
|
|
47483
|
+
return renderEditablePackagingEntrySummaryOptions(editablePackagingEntry, priceDetails);
|
|
47484
|
+
},
|
|
47485
|
+
renderPreviousButton: function () {
|
|
47486
|
+
return React__default.createElement(
|
|
47487
|
+
'button',
|
|
47488
|
+
{
|
|
47489
|
+
type: 'button',
|
|
47490
|
+
title: translations.STEPS.PREVIOUS,
|
|
47491
|
+
onClick: function () {
|
|
47492
|
+
return dispatch(setCurrentStep(0));
|
|
47493
|
+
},
|
|
47494
|
+
className: 'cta cta--secondary'
|
|
47495
|
+
},
|
|
47496
|
+
translations.STEPS.PREVIOUS
|
|
47497
|
+
);
|
|
47498
|
+
}
|
|
47499
|
+
}),
|
|
47500
|
+
currentStep === 2 &&
|
|
47501
|
+
React__default.createElement(SharedConfirmation, {
|
|
47502
|
+
bookingNumber:
|
|
47503
|
+
(_c =
|
|
47504
|
+
bookingNumber !== null && bookingNumber !== void 0
|
|
47505
|
+
? bookingNumber
|
|
47506
|
+
: editablePackagingEntry === null || editablePackagingEntry === void 0
|
|
47507
|
+
? void 0
|
|
47508
|
+
: editablePackagingEntry.dossierNumber) !== null && _c !== void 0
|
|
47509
|
+
? _c
|
|
47510
|
+
: '',
|
|
47511
|
+
isOption: false,
|
|
47512
|
+
isOffer: false,
|
|
47513
|
+
translations: translations.CONFIRMATION
|
|
47514
|
+
}),
|
|
47515
|
+
currentStep === 3 && React__default.createElement('div', null)
|
|
46773
47516
|
),
|
|
46774
47517
|
React__default.createElement('div', { className: 'backdrop', id: 'backdrop' }),
|
|
46775
47518
|
React__default.createElement(WLSidebar, { activeSearchSeed: activeSearchSeed })
|
|
@@ -46829,9 +47572,12 @@ var SearchResultsContainer = function () {
|
|
|
46829
47572
|
var _k = useState(false),
|
|
46830
47573
|
itineraryOpen = _k[0],
|
|
46831
47574
|
setItineraryOpen = _k[1];
|
|
46832
|
-
var _l = useState(
|
|
46833
|
-
|
|
46834
|
-
|
|
47575
|
+
var _l = useState(false),
|
|
47576
|
+
isBookingConfirmation = _l[0],
|
|
47577
|
+
setIsBookingConfirmation = _l[1];
|
|
47578
|
+
var _m = useState(null),
|
|
47579
|
+
selectedAccommodationSeed = _m[0],
|
|
47580
|
+
setSelectedAccommodationSeed = _m[1];
|
|
46835
47581
|
var skipInitialPackagingAccoDetailsRef = useRef(false);
|
|
46836
47582
|
var panelRef = useRef(null);
|
|
46837
47583
|
var sortByTypes = [
|
|
@@ -47575,6 +48321,13 @@ var SearchResultsContainer = function () {
|
|
|
47575
48321
|
if (context === null || context === void 0 ? void 0 : context.packagingEntry) {
|
|
47576
48322
|
dispatch(setEditablePackagingEntry(structuredClone(context.packagingEntry)));
|
|
47577
48323
|
dispatch(setTransactionId(context.packagingEntry.transactionId));
|
|
48324
|
+
var params = new URLSearchParams(location.search);
|
|
48325
|
+
var bookingConfirmation = getStringFromParams(params, 'bookingConfirmation');
|
|
48326
|
+
console.log('bookingConfirmation', bookingConfirmation);
|
|
48327
|
+
if (bookingConfirmation == 'true') {
|
|
48328
|
+
setIsBookingConfirmation(true);
|
|
48329
|
+
dispatch(setBookPackagingEntry(true));
|
|
48330
|
+
}
|
|
47578
48331
|
}
|
|
47579
48332
|
},
|
|
47580
48333
|
[context === null || context === void 0 ? void 0 : context.packagingEntry]
|
|
@@ -48279,38 +49032,45 @@ var SearchResultsContainer = function () {
|
|
|
48279
49032
|
return __assign(__assign({}, entry), { language: language, transactionId: transactionId, pax: entry.pax, lines: nextLines });
|
|
48280
49033
|
};
|
|
48281
49034
|
var buildBasePackagingEntry = function (sourceEntry, seed, transactionId, language) {
|
|
48282
|
-
var _a
|
|
49035
|
+
var _a;
|
|
48283
49036
|
if (sourceEntry) {
|
|
48284
49037
|
return structuredClone(sourceEntry);
|
|
48285
49038
|
}
|
|
48286
49039
|
var paxId = 0;
|
|
48287
|
-
var pax =
|
|
48288
|
-
|
|
48289
|
-
|
|
48290
|
-
|
|
48291
|
-
|
|
48292
|
-
|
|
48293
|
-
|
|
48294
|
-
|
|
48295
|
-
|
|
48296
|
-
|
|
48297
|
-
|
|
48298
|
-
|
|
48299
|
-
|
|
48300
|
-
|
|
48301
|
-
|
|
48302
|
-
|
|
48303
|
-
|
|
49040
|
+
var pax = [];
|
|
49041
|
+
var rooms = [];
|
|
49042
|
+
(_a = seed.rooms) === null || _a === void 0
|
|
49043
|
+
? void 0
|
|
49044
|
+
: _a.forEach(function (room, roomIndex) {
|
|
49045
|
+
var paxIds = room.pax.map(function (_, paxIndex) {
|
|
49046
|
+
var id = paxId++;
|
|
49047
|
+
pax.push({
|
|
49048
|
+
id: id,
|
|
49049
|
+
firstName: '',
|
|
49050
|
+
lastName: '',
|
|
49051
|
+
dateOfBirth: null,
|
|
49052
|
+
isMainBooker: roomIndex === 0 && paxIndex === 0
|
|
49053
|
+
});
|
|
49054
|
+
return id;
|
|
49055
|
+
});
|
|
49056
|
+
rooms.push({
|
|
49057
|
+
id: roomIndex,
|
|
49058
|
+
paxIds: paxIds
|
|
49059
|
+
});
|
|
49060
|
+
});
|
|
48304
49061
|
return {
|
|
48305
49062
|
language: language,
|
|
48306
49063
|
transactionId: transactionId,
|
|
48307
49064
|
dossierNumber: '',
|
|
48308
|
-
status: 0,
|
|
49065
|
+
status: context === null || context === void 0 ? void 0 : context.entryStatus,
|
|
49066
|
+
customStatusId: context === null || context === void 0 ? void 0 : context.customEntryStatusId,
|
|
48309
49067
|
bookingDate: null,
|
|
48310
49068
|
price: 0,
|
|
48311
49069
|
depositAmount: 0,
|
|
48312
49070
|
pax: pax,
|
|
48313
|
-
|
|
49071
|
+
rooms: rooms,
|
|
49072
|
+
lines: [],
|
|
49073
|
+
address: {}
|
|
48314
49074
|
};
|
|
48315
49075
|
};
|
|
48316
49076
|
var handleShowMoreFlights = function (flyInType) {
|
|
@@ -48325,7 +49085,7 @@ var SearchResultsContainer = function () {
|
|
|
48325
49085
|
'div',
|
|
48326
49086
|
{ className: 'search' },
|
|
48327
49087
|
bookPackagingEntry
|
|
48328
|
-
? React__default.createElement(BookPackagingEntry, { activeSearchSeed: activeSearchSeed })
|
|
49088
|
+
? React__default.createElement(BookPackagingEntry, { activeSearchSeed: activeSearchSeed, isConfirmationPage: isBookingConfirmation })
|
|
48329
49089
|
: React__default.createElement(
|
|
48330
49090
|
'div',
|
|
48331
49091
|
{ className: 'search__container' },
|
|
@@ -48510,8 +49270,8 @@ var SearchResultsContainer = function () {
|
|
|
48510
49270
|
{ className: 'search__results__label__date' },
|
|
48511
49271
|
(function () {
|
|
48512
49272
|
var firstResultDate = uniqueOutwardFlights.length > 0 ? uniqueOutwardFlights[0].outward.segments[0].departureDateTime : null;
|
|
48513
|
-
var firstResultDay = firstResultDate ? format$
|
|
48514
|
-
var firstResultMonth = firstResultDate ? format$
|
|
49273
|
+
var firstResultDay = firstResultDate ? format$2(firstResultDate, 'd') : null;
|
|
49274
|
+
var firstResultMonth = firstResultDate ? format$2(firstResultDate, 'MMM') : null;
|
|
48515
49275
|
return React__default.createElement(
|
|
48516
49276
|
React__default.Fragment,
|
|
48517
49277
|
null,
|
|
@@ -48607,8 +49367,8 @@ var SearchResultsContainer = function () {
|
|
|
48607
49367
|
{ className: 'search__results__label__date' },
|
|
48608
49368
|
(function () {
|
|
48609
49369
|
var firstResultDate = uniqueReturnFlights.length > 0 ? uniqueReturnFlights[0].return.segments[0].departureDateTime : null;
|
|
48610
|
-
var firstResultDay = firstResultDate ? format$
|
|
48611
|
-
var firstResultMonth = firstResultDate ? format$
|
|
49370
|
+
var firstResultDay = firstResultDate ? format$2(firstResultDate, 'd') : null;
|
|
49371
|
+
var firstResultMonth = firstResultDate ? format$2(firstResultDate, 'MMM') : null;
|
|
48612
49372
|
return React__default.createElement(
|
|
48613
49373
|
React__default.Fragment,
|
|
48614
49374
|
null,
|