@qite/tide-booking-component 1.4.110 → 1.4.112
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 +2301 -1565
- 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 +2198 -1463
- 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 +201 -21
- 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 +40 -14
- package/src/search-results/store/search-results-slice.ts +8 -2
- package/src/search-results/types.ts +4 -0
- package/src/shared/booking/{BookingPanel.tsx → booking-panel.tsx} +1 -1
- package/src/shared/booking/shared-confirmation.tsx +105 -0
- package/src/shared/booking/summary.tsx +380 -0
- package/src/shared/booking/travelers-form.tsx +868 -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/_booking.scss +33 -15
- package/styles/components/_cta.scss +2 -2
- package/styles/components/_dropdown.scss +5 -0
- package/styles/components/_flight-option.scss +1 -1
- package/styles/components/_flyin.scss +43 -0
- package/styles/components/_search.scss +5 -0
- package/styles/components/_step-indicators.scss +41 -15
- package/styles/components/_tree.scss +2 -2
- /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/{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,
|
|
@@ -20840,7 +20855,7 @@ var BookingPanel = function (_a) {
|
|
|
20840
20855
|
StepIndicatorsComponent = _a.StepIndicatorsComponent;
|
|
20841
20856
|
return React__default.createElement(
|
|
20842
20857
|
'div',
|
|
20843
|
-
{ className: '
|
|
20858
|
+
{ className: 'booking__panel__wrapper' },
|
|
20844
20859
|
React__default.createElement(StepIndicatorsComponent, { currentStep: currentStep, stepLabels: stepLabels }),
|
|
20845
20860
|
React__default.createElement(
|
|
20846
20861
|
'div',
|
|
@@ -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,220 @@ 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
|
-
|
|
27971
|
-
var
|
|
27972
|
-
|
|
27973
|
-
var
|
|
27974
|
-
|
|
27975
|
-
|
|
27976
|
-
|
|
27977
|
-
|
|
27978
|
-
|
|
27979
|
-
|
|
27980
|
-
|
|
27981
|
-
|
|
27982
|
-
|
|
27983
|
-
|
|
27984
|
-
|
|
27985
|
-
|
|
27986
|
-
|
|
27987
|
-
|
|
27988
|
-
|
|
27989
|
-
|
|
27990
|
-
|
|
27991
|
-
|
|
27992
|
-
|
|
27993
|
-
|
|
27994
|
-
|
|
27995
|
-
|
|
27996
|
-
|
|
27997
|
-
setShowAgentSelection = _l[1];
|
|
27998
|
-
var typeaheadAgents =
|
|
27999
|
-
(_c = sortBy(
|
|
28000
|
-
agents === null || agents === void 0
|
|
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;
|
|
28019
|
+
console.log('editablePackagingEntry?.pax:', editablePackagingEntry === null || editablePackagingEntry === void 0 ? void 0 : editablePackagingEntry.pax);
|
|
28020
|
+
var pax =
|
|
28021
|
+
(_a = editablePackagingEntry === null || editablePackagingEntry === void 0 ? void 0 : editablePackagingEntry.pax) !== null && _a !== void 0 ? _a : [];
|
|
28022
|
+
var rooms = editablePackagingEntry.rooms.map(function (room) {
|
|
28023
|
+
var roomPax = pax.filter(function (x) {
|
|
28024
|
+
return room.paxIds.includes(x.id);
|
|
28025
|
+
});
|
|
28026
|
+
return {
|
|
28027
|
+
adults: roomPax.map(function (roomTraveler) {
|
|
28028
|
+
var _a, _b;
|
|
28029
|
+
return {
|
|
28030
|
+
id: roomTraveler.id,
|
|
28031
|
+
firstName: (_a = roomTraveler.firstName) !== null && _a !== void 0 ? _a : '',
|
|
28032
|
+
lastName: (_b = roomTraveler.lastName) !== null && _b !== void 0 ? _b : '',
|
|
28033
|
+
birthDate: roomTraveler.dateOfBirth ? format$2(new Date(roomTraveler.dateOfBirth), 'yyyy-MM-dd') : '',
|
|
28034
|
+
gender: ''
|
|
28035
|
+
};
|
|
28036
|
+
}),
|
|
28037
|
+
children: []
|
|
28038
|
+
};
|
|
28039
|
+
});
|
|
28040
|
+
var values = createInitialValuesFromRooms(
|
|
28041
|
+
rooms.map(function (room) {
|
|
28042
|
+
return { adults: room.adults, children: room.children };
|
|
28043
|
+
}),
|
|
28044
|
+
(_c =
|
|
28045
|
+
(_b = editablePackagingEntry === null || editablePackagingEntry === void 0 ? void 0 : editablePackagingEntry.lines) === null || _b === void 0
|
|
28001
28046
|
? void 0
|
|
28002
|
-
:
|
|
28003
|
-
|
|
28004
|
-
|
|
28005
|
-
|
|
28006
|
-
|
|
28007
|
-
|
|
28008
|
-
|
|
28009
|
-
|
|
28010
|
-
|
|
28011
|
-
|
|
28012
|
-
|
|
28013
|
-
|
|
28014
|
-
|
|
28015
|
-
|
|
28016
|
-
|
|
28017
|
-
|
|
28018
|
-
|
|
28019
|
-
|
|
28020
|
-
|
|
28021
|
-
|
|
28022
|
-
|
|
28023
|
-
|
|
28024
|
-
|
|
28025
|
-
|
|
28026
|
-
|
|
28027
|
-
|
|
28028
|
-
|
|
28029
|
-
|
|
28030
|
-
|
|
28031
|
-
|
|
28032
|
-
|
|
28033
|
-
|
|
28034
|
-
|
|
28035
|
-
|
|
28036
|
-
|
|
28037
|
-
|
|
28038
|
-
|
|
28039
|
-
|
|
28040
|
-
|
|
28041
|
-
|
|
28042
|
-
|
|
28043
|
-
|
|
28044
|
-
|
|
28045
|
-
|
|
28046
|
-
|
|
28047
|
-
|
|
28048
|
-
|
|
28049
|
-
|
|
28050
|
-
|
|
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
|
-
}
|
|
28047
|
+
: _b[0]) === null || _c === void 0
|
|
28048
|
+
? void 0
|
|
28049
|
+
: _c.from,
|
|
28050
|
+
agentAdressId
|
|
28051
|
+
);
|
|
28052
|
+
values.rooms = rooms;
|
|
28053
|
+
values.mainBookerId =
|
|
28054
|
+
(_j =
|
|
28055
|
+
(_e =
|
|
28056
|
+
(_d = pax.find(function (x) {
|
|
28057
|
+
return x.isMainBooker;
|
|
28058
|
+
})) === null || _d === void 0
|
|
28059
|
+
? void 0
|
|
28060
|
+
: _d.id) !== null && _e !== void 0
|
|
28061
|
+
? _e
|
|
28062
|
+
: (_h = (_g = (_f = rooms[0]) === null || _f === void 0 ? void 0 : _f.adults) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0
|
|
28063
|
+
? void 0
|
|
28064
|
+
: _h.id) !== null && _j !== void 0
|
|
28065
|
+
? _j
|
|
28066
|
+
: -1;
|
|
28067
|
+
var address = editablePackagingEntry === null || editablePackagingEntry === void 0 ? void 0 : editablePackagingEntry.address;
|
|
28068
|
+
values.street = (_k = address === null || address === void 0 ? void 0 : address.street) !== null && _k !== void 0 ? _k : '';
|
|
28069
|
+
values.houseNumber = (_l = address === null || address === void 0 ? void 0 : address.houseNumber) !== null && _l !== void 0 ? _l : '';
|
|
28070
|
+
values.box = (_m = address === null || address === void 0 ? void 0 : address.box) !== null && _m !== void 0 ? _m : '';
|
|
28071
|
+
values.zipCode = (_o = address === null || address === void 0 ? void 0 : address.zipCode) !== null && _o !== void 0 ? _o : '';
|
|
28072
|
+
values.place = (_p = address === null || address === void 0 ? void 0 : address.place) !== null && _p !== void 0 ? _p : '';
|
|
28073
|
+
values.country = (_q = address === null || address === void 0 ? void 0 : address.country) !== null && _q !== void 0 ? _q : '';
|
|
28074
|
+
values.phone = (_r = address === null || address === void 0 ? void 0 : address.phone) !== null && _r !== void 0 ? _r : '';
|
|
28075
|
+
values.email = (_s = address === null || address === void 0 ? void 0 : address.email) !== null && _s !== void 0 ? _s : '';
|
|
28076
|
+
values.emailConfirmation = (_t = address === null || address === void 0 ? void 0 : address.email) !== null && _t !== void 0 ? _t : '';
|
|
28077
|
+
values.travelAgentId =
|
|
28078
|
+
(_v = (_u = address === null || address === void 0 ? void 0 : address.travelAgentId) !== null && _u !== void 0 ? _u : agentAdressId) !== null &&
|
|
28079
|
+
_v !== void 0
|
|
28080
|
+
? _v
|
|
28081
|
+
: 0;
|
|
28082
|
+
return values;
|
|
28083
|
+
}
|
|
28084
|
+
function applyTravelersFormValuesToEditablePackagingEntry(editablePackagingEntry, values) {
|
|
28085
|
+
var _a;
|
|
28086
|
+
var travelers = values.rooms.flatMap(function (room) {
|
|
28087
|
+
return __spreadArray(__spreadArray([], room.adults, true), room.children, true);
|
|
28088
|
+
});
|
|
28089
|
+
console.log('Applying form values:', values);
|
|
28090
|
+
console.log('editablePackagingEntry:', editablePackagingEntry);
|
|
28091
|
+
return __assign(__assign({}, editablePackagingEntry), {
|
|
28092
|
+
pax: ((_a = editablePackagingEntry.pax) !== null && _a !== void 0 ? _a : []).map(function (pax) {
|
|
28093
|
+
var _a, _b;
|
|
28094
|
+
var traveler = travelers.find(function (x) {
|
|
28095
|
+
return x.id === pax.id;
|
|
28074
28096
|
});
|
|
28075
|
-
|
|
28076
|
-
|
|
28077
|
-
|
|
28078
|
-
|
|
28097
|
+
if (!traveler) return pax;
|
|
28098
|
+
return __assign(__assign({}, pax), {
|
|
28099
|
+
firstName: (_a = traveler.firstName) !== null && _a !== void 0 ? _a : '',
|
|
28100
|
+
lastName: (_b = traveler.lastName) !== null && _b !== void 0 ? _b : '',
|
|
28101
|
+
dateOfBirth: traveler.birthDate || null,
|
|
28102
|
+
isMainBooker: traveler.id === values.mainBookerId
|
|
28103
|
+
});
|
|
28104
|
+
}),
|
|
28105
|
+
address: __assign(__assign({}, editablePackagingEntry.address), {
|
|
28106
|
+
street: values.street,
|
|
28107
|
+
houseNumber: values.houseNumber,
|
|
28108
|
+
box: values.box,
|
|
28109
|
+
zipCode: values.zipCode,
|
|
28110
|
+
place: values.place,
|
|
28111
|
+
country: values.country,
|
|
28112
|
+
travelAgentId: values.travelAgentId,
|
|
28113
|
+
phone: values.phone,
|
|
28114
|
+
email: values.email
|
|
28115
|
+
})
|
|
28116
|
+
});
|
|
28117
|
+
}
|
|
28118
|
+
var SharedTravelersForm = function (_a) {
|
|
28119
|
+
var _b, _c, _d, _e, _f, _g;
|
|
28120
|
+
var formik = _a.formik,
|
|
28121
|
+
translations = _a.translations,
|
|
28122
|
+
travellersSettings = _a.travellersSettings,
|
|
28123
|
+
countries = _a.countries,
|
|
28124
|
+
agents = _a.agents,
|
|
28125
|
+
bookingType = _a.bookingType,
|
|
28126
|
+
agentAdressId = _a.agentAdressId,
|
|
28127
|
+
_h = _a.travelersFirstStep,
|
|
28128
|
+
travelersFirstStep = _h === void 0 ? false : _h,
|
|
28129
|
+
_j = _a.isUnavailable,
|
|
28130
|
+
isUnavailable = _j === void 0 ? false : _j,
|
|
28131
|
+
_k = _a.useCompactForm,
|
|
28132
|
+
useCompactForm = _k === void 0 ? false : _k,
|
|
28133
|
+
_l = _a.showAllCountries,
|
|
28134
|
+
showAllCountries = _l === void 0 ? false : _l,
|
|
28135
|
+
_m = _a.showAgentSelection,
|
|
28136
|
+
showAgentSelection = _m === void 0 ? false : _m,
|
|
28137
|
+
_o = _a.initialShowAgents,
|
|
28138
|
+
initialShowAgents = _o === void 0 ? false : _o,
|
|
28139
|
+
renderPreviousButton = _a.renderPreviousButton,
|
|
28140
|
+
onBookingTypeChange = _a.onBookingTypeChange;
|
|
28141
|
+
var _p = useState(initialShowAgents),
|
|
28142
|
+
showAgents = _p[0],
|
|
28143
|
+
setShowAgents = _p[1];
|
|
28144
|
+
var typeaheadAgents = useMemo(
|
|
28079
28145
|
function () {
|
|
28080
28146
|
var _a;
|
|
28081
|
-
|
|
28082
|
-
|
|
28147
|
+
return (_a = sortBy(
|
|
28148
|
+
agents === null || agents === void 0
|
|
28083
28149
|
? 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
|
-
}
|
|
28150
|
+
: agents.map(function (agent) {
|
|
28151
|
+
return {
|
|
28152
|
+
key: ''.concat(agent.id),
|
|
28153
|
+
value: ''
|
|
28154
|
+
.concat(agent.name)
|
|
28155
|
+
.concat(agent.postalCode || agent.location ? ' ('.concat(compact([agent.postalCode, agent.location]).join(' '), ')') : ''),
|
|
28156
|
+
text: ''
|
|
28157
|
+
.concat(agent.name)
|
|
28158
|
+
.concat(agent.postalCode || agent.location ? ' ('.concat(compact([agent.postalCode, agent.location]).join(' '), ')') : '')
|
|
28159
|
+
};
|
|
28160
|
+
}),
|
|
28161
|
+
'value'
|
|
28162
|
+
)) !== null && _a !== void 0
|
|
28163
|
+
? _a
|
|
28164
|
+
: [];
|
|
28169
28165
|
},
|
|
28170
|
-
[agents
|
|
28166
|
+
[agents]
|
|
28171
28167
|
);
|
|
28172
|
-
var
|
|
28173
|
-
|
|
28174
|
-
|
|
28168
|
+
var _q = useState(typeaheadAgents),
|
|
28169
|
+
filteredAgents = _q[0],
|
|
28170
|
+
setFilteredAgents = _q[1];
|
|
28171
|
+
var flatErrors = flat(formik.errors);
|
|
28172
|
+
var errorKeys = Object.keys(flatErrors).filter(function (key) {
|
|
28173
|
+
return get(formik.touched, key);
|
|
28174
|
+
});
|
|
28175
|
+
var hasVisibleError = function (key) {
|
|
28176
|
+
return get(formik.errors, key) && get(formik.touched, key);
|
|
28175
28177
|
};
|
|
28176
28178
|
var mainBooker =
|
|
28177
|
-
(
|
|
28178
|
-
return
|
|
28179
|
+
(_b = formik.values.rooms.find(function (room) {
|
|
28180
|
+
return room.adults.find(function (traveler) {
|
|
28179
28181
|
return traveler.id === formik.values.mainBookerId;
|
|
28180
28182
|
});
|
|
28181
|
-
})) === null ||
|
|
28183
|
+
})) === null || _b === void 0
|
|
28182
28184
|
? void 0
|
|
28183
|
-
:
|
|
28185
|
+
: _b.adults.find(function (traveler) {
|
|
28184
28186
|
return traveler.id === formik.values.mainBookerId;
|
|
28185
28187
|
});
|
|
28188
|
+
var countryOptions = __spreadArray(
|
|
28189
|
+
[{ key: 'empty', value: undefined, label: translations.TRAVELERS_FORM.SELECT_COUNTRY }],
|
|
28190
|
+
showAllCountries
|
|
28191
|
+
? (_c =
|
|
28192
|
+
countries === null || countries === void 0
|
|
28193
|
+
? void 0
|
|
28194
|
+
: countries.map(function (country) {
|
|
28195
|
+
return { key: country.iso2, value: country.iso2, label: country.name };
|
|
28196
|
+
})) !== null && _c !== void 0
|
|
28197
|
+
? _c
|
|
28198
|
+
: []
|
|
28199
|
+
: (_e =
|
|
28200
|
+
(_d = travellersSettings === null || travellersSettings === void 0 ? void 0 : travellersSettings.countries) === null || _d === void 0
|
|
28201
|
+
? void 0
|
|
28202
|
+
: _d.map(function (country) {
|
|
28203
|
+
return { key: country.iso2, value: country.iso2, label: country.name };
|
|
28204
|
+
})) !== null && _e !== void 0
|
|
28205
|
+
? _e
|
|
28206
|
+
: [
|
|
28207
|
+
{ key: 'be', value: 'be', label: translations.TRAVELERS_FORM.COUNTRIES.BELGIUM },
|
|
28208
|
+
{ key: 'nl', value: 'nl', label: translations.TRAVELERS_FORM.COUNTRIES.NETHERLANDS },
|
|
28209
|
+
{ key: 'fr', value: 'fr', label: translations.TRAVELERS_FORM.COUNTRIES.FRANCE }
|
|
28210
|
+
],
|
|
28211
|
+
true
|
|
28212
|
+
);
|
|
28213
|
+
var handleMainBookerChange = function (event) {
|
|
28214
|
+
formik.setFieldValue('mainBookerId', parseInt(event.currentTarget.value, 10));
|
|
28215
|
+
};
|
|
28186
28216
|
var handleAgentChange = function (value) {
|
|
28187
|
-
|
|
28188
|
-
|
|
28189
|
-
|
|
28190
|
-
|
|
28217
|
+
setFilteredAgents(
|
|
28218
|
+
typeaheadAgents.filter(function (x) {
|
|
28219
|
+
return x.value.toLocaleLowerCase().indexOf(value.toLocaleLowerCase()) > -1;
|
|
28220
|
+
})
|
|
28221
|
+
);
|
|
28191
28222
|
formik.setFieldValue('travelAgentName', value);
|
|
28192
28223
|
};
|
|
28193
28224
|
var handleAgentSelect = function (key) {
|
|
@@ -28201,48 +28232,36 @@ var TravelersForm = function () {
|
|
|
28201
28232
|
travelAgentName: (_a = agent === null || agent === void 0 ? void 0 : agent.value) !== null && _a !== void 0 ? _a : ''
|
|
28202
28233
|
})
|
|
28203
28234
|
);
|
|
28204
|
-
|
|
28205
|
-
if (agentAdressId && agentAdressId != 0) {
|
|
28206
|
-
bookingType = 'b2b';
|
|
28207
|
-
}
|
|
28208
|
-
dispatch(setBookingType(bookingType));
|
|
28235
|
+
onBookingTypeChange === null || onBookingTypeChange === void 0 ? void 0 : onBookingTypeChange(agentAdressId && agentAdressId !== 0 ? 'b2b' : 'b2b2c');
|
|
28209
28236
|
};
|
|
28210
28237
|
var handleAgentClear = function () {
|
|
28211
28238
|
formik.setValues(__assign(__assign({}, formik.values), { travelAgentId: 0, travelAgentName: '' }));
|
|
28212
|
-
|
|
28239
|
+
onBookingTypeChange === null || onBookingTypeChange === void 0 ? void 0 : onBookingTypeChange('b2c');
|
|
28240
|
+
};
|
|
28241
|
+
var toggleAgent = function (value) {
|
|
28242
|
+
setShowAgents(value);
|
|
28243
|
+
if (!value) {
|
|
28244
|
+
handleAgentClear();
|
|
28245
|
+
setFilteredAgents([]);
|
|
28246
|
+
}
|
|
28213
28247
|
};
|
|
28214
28248
|
var handleAddTraveler = function (roomIndex) {
|
|
28215
28249
|
var rooms = __spreadArray([], formik.values.rooms, true);
|
|
28216
|
-
var newAdult = {
|
|
28217
|
-
id: Date.now(),
|
|
28218
|
-
firstName: '',
|
|
28219
|
-
lastName: '',
|
|
28220
|
-
birthDate: '',
|
|
28221
|
-
gender: ''
|
|
28222
|
-
};
|
|
28250
|
+
var newAdult = { id: Date.now(), firstName: '', lastName: '', birthDate: '', gender: '' };
|
|
28223
28251
|
rooms[roomIndex] = __assign(__assign({}, rooms[roomIndex]), { adults: __spreadArray(__spreadArray([], rooms[roomIndex].adults, true), [newAdult], false) });
|
|
28224
28252
|
formik.setFieldValue('rooms', rooms);
|
|
28225
28253
|
};
|
|
28226
28254
|
var handleRemoveTraveler = function (roomIndex, travelerIndex) {
|
|
28227
28255
|
var rooms = __spreadArray([], formik.values.rooms, true);
|
|
28228
28256
|
var adults = __spreadArray([], rooms[roomIndex].adults, true);
|
|
28229
|
-
if (adults.length <= 1)
|
|
28230
|
-
return;
|
|
28231
|
-
}
|
|
28257
|
+
if (adults.length <= 1) return;
|
|
28232
28258
|
adults.splice(travelerIndex, 1);
|
|
28233
28259
|
rooms[roomIndex] = __assign(__assign({}, rooms[roomIndex]), { adults: adults });
|
|
28234
28260
|
formik.setFieldValue('rooms', rooms);
|
|
28235
28261
|
};
|
|
28236
28262
|
var handleAddRoom = function () {
|
|
28237
28263
|
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: [] });
|
|
28264
|
+
rooms.push({ adults: [{ id: Date.now(), firstName: '', lastName: '', birthDate: '', gender: '' }], children: [] });
|
|
28246
28265
|
formik.setFieldValue('rooms', rooms);
|
|
28247
28266
|
};
|
|
28248
28267
|
var handleRemoveRoom = function (roomIndex) {
|
|
@@ -28250,30 +28269,48 @@ var TravelersForm = function () {
|
|
|
28250
28269
|
rooms.splice(roomIndex, 1);
|
|
28251
28270
|
formik.setFieldValue('rooms', rooms);
|
|
28252
28271
|
};
|
|
28253
|
-
var
|
|
28254
|
-
|
|
28255
|
-
|
|
28256
|
-
|
|
28257
|
-
|
|
28258
|
-
|
|
28259
|
-
|
|
28260
|
-
|
|
28261
|
-
|
|
28262
|
-
|
|
28263
|
-
|
|
28264
|
-
|
|
28265
|
-
|
|
28266
|
-
|
|
28267
|
-
|
|
28268
|
-
|
|
28272
|
+
var renderGenderControl = function (name, value) {
|
|
28273
|
+
return React__default.createElement(
|
|
28274
|
+
'div',
|
|
28275
|
+
{ className: buildClassName(['form__group', hasVisibleError(name) && 'form__group--error']) },
|
|
28276
|
+
React__default.createElement('label', { className: 'form__label' }, translations.TRAVELERS_FORM.GENDER_ID, ' *'),
|
|
28277
|
+
React__default.createElement(
|
|
28278
|
+
'div',
|
|
28279
|
+
{ className: 'radiobutton-group' },
|
|
28280
|
+
[
|
|
28281
|
+
['m', translations.TRAVELERS_FORM.MALE_GENDER],
|
|
28282
|
+
['f', translations.TRAVELERS_FORM.FEMALE_GENDER]
|
|
28283
|
+
].map(function (_a) {
|
|
28284
|
+
var gender = _a[0],
|
|
28285
|
+
label = _a[1];
|
|
28286
|
+
return React__default.createElement(
|
|
28287
|
+
'div',
|
|
28288
|
+
{ className: 'radiobutton', key: gender },
|
|
28289
|
+
React__default.createElement(
|
|
28290
|
+
'label',
|
|
28291
|
+
{ className: 'radiobutton__label' },
|
|
28292
|
+
React__default.createElement('input', {
|
|
28293
|
+
type: 'radio',
|
|
28294
|
+
className: 'radiobutton__input',
|
|
28295
|
+
name: name,
|
|
28296
|
+
onChange: formik.handleChange,
|
|
28297
|
+
onBlur: formik.handleBlur,
|
|
28298
|
+
value: gender,
|
|
28299
|
+
checked: value.gender === gender
|
|
28300
|
+
}),
|
|
28301
|
+
label
|
|
28302
|
+
)
|
|
28303
|
+
);
|
|
28304
|
+
})
|
|
28305
|
+
)
|
|
28306
|
+
);
|
|
28269
28307
|
};
|
|
28270
28308
|
var getControl = function (type, value, name) {
|
|
28271
|
-
var _a
|
|
28309
|
+
var _a;
|
|
28272
28310
|
switch (type) {
|
|
28273
|
-
case 'gender':
|
|
28311
|
+
case 'gender':
|
|
28274
28312
|
return React__default.createElement(GenderControl, { translations: translations, value: value, formik: formik, name: name });
|
|
28275
|
-
|
|
28276
|
-
case 'firstName': {
|
|
28313
|
+
case 'firstName':
|
|
28277
28314
|
return React__default.createElement(LabeledInput, {
|
|
28278
28315
|
hasError: hasVisibleError(name),
|
|
28279
28316
|
extraClassName: 'form__group--md-33',
|
|
@@ -28284,8 +28321,7 @@ var TravelersForm = function () {
|
|
|
28284
28321
|
onBlur: formik.handleBlur,
|
|
28285
28322
|
value: value.firstName
|
|
28286
28323
|
});
|
|
28287
|
-
|
|
28288
|
-
case 'lastName': {
|
|
28324
|
+
case 'lastName':
|
|
28289
28325
|
return React__default.createElement(LabeledInput, {
|
|
28290
28326
|
hasError: hasVisibleError(name),
|
|
28291
28327
|
extraClassName: 'form__group--md-33',
|
|
@@ -28296,8 +28332,7 @@ var TravelersForm = function () {
|
|
|
28296
28332
|
onBlur: formik.handleBlur,
|
|
28297
28333
|
value: value.lastName
|
|
28298
28334
|
});
|
|
28299
|
-
|
|
28300
|
-
case 'birthDate': {
|
|
28335
|
+
case 'birthDate':
|
|
28301
28336
|
return React__default.createElement(LabeledInput, {
|
|
28302
28337
|
type: 'date',
|
|
28303
28338
|
hasError: hasVisibleError(name),
|
|
@@ -28309,8 +28344,7 @@ var TravelersForm = function () {
|
|
|
28309
28344
|
onBlur: formik.handleBlur,
|
|
28310
28345
|
value: value.birthDate
|
|
28311
28346
|
});
|
|
28312
|
-
|
|
28313
|
-
case 'country': {
|
|
28347
|
+
case 'country':
|
|
28314
28348
|
return React__default.createElement(LabeledSelect, {
|
|
28315
28349
|
hasError: hasVisibleError('country'),
|
|
28316
28350
|
label: translations.TRAVELERS_FORM.COUNTRY,
|
|
@@ -28319,46 +28353,12 @@ var TravelersForm = function () {
|
|
|
28319
28353
|
onChange: formik.handleChange,
|
|
28320
28354
|
onBlur: formik.handleBlur,
|
|
28321
28355
|
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
|
-
)
|
|
28356
|
+
options: countryOptions
|
|
28357
28357
|
});
|
|
28358
|
-
|
|
28359
|
-
case 'phone': {
|
|
28358
|
+
case 'phone':
|
|
28360
28359
|
return React__default.createElement(PhoneInput, {
|
|
28361
|
-
countries:
|
|
28360
|
+
countries:
|
|
28361
|
+
(_a = travellersSettings === null || travellersSettings === void 0 ? void 0 : travellersSettings.countries) !== null && _a !== void 0 ? _a : [],
|
|
28362
28362
|
countryIso2: formik.values.country,
|
|
28363
28363
|
hasError: hasVisibleError('phone'),
|
|
28364
28364
|
label: translations.TRAVELERS_FORM.PHONE,
|
|
@@ -28368,8 +28368,7 @@ var TravelersForm = function () {
|
|
|
28368
28368
|
onBlur: formik.handleBlur,
|
|
28369
28369
|
value: formik.values.phone
|
|
28370
28370
|
});
|
|
28371
|
-
|
|
28372
|
-
case 'email': {
|
|
28371
|
+
case 'email':
|
|
28373
28372
|
return React__default.createElement(
|
|
28374
28373
|
React__default.Fragment,
|
|
28375
28374
|
null,
|
|
@@ -28396,8 +28395,165 @@ var TravelersForm = function () {
|
|
|
28396
28395
|
value: formik.values.emailConfirmation
|
|
28397
28396
|
})
|
|
28398
28397
|
);
|
|
28399
|
-
|
|
28398
|
+
case 'street':
|
|
28399
|
+
return React__default.createElement(LabeledInput, {
|
|
28400
|
+
hasError: hasVisibleError('street'),
|
|
28401
|
+
extraClassName: 'form__group--50 form__group--sm-60',
|
|
28402
|
+
label: translations.TRAVELERS_FORM.STREET,
|
|
28403
|
+
required: true,
|
|
28404
|
+
name: 'street',
|
|
28405
|
+
onChange: formik.handleChange,
|
|
28406
|
+
onBlur: formik.handleBlur,
|
|
28407
|
+
value: formik.values.street
|
|
28408
|
+
});
|
|
28409
|
+
case 'houseNumber':
|
|
28410
|
+
return React__default.createElement(LabeledInput, {
|
|
28411
|
+
hasError: hasVisibleError('houseNumber'),
|
|
28412
|
+
extraClassName: 'form__group--30 form__group--sm-20',
|
|
28413
|
+
label: translations.TRAVELERS_FORM.HOUSE_NUMBER,
|
|
28414
|
+
required: true,
|
|
28415
|
+
name: 'houseNumber',
|
|
28416
|
+
onChange: formik.handleChange,
|
|
28417
|
+
onBlur: formik.handleBlur,
|
|
28418
|
+
value: formik.values.houseNumber
|
|
28419
|
+
});
|
|
28420
|
+
case 'box':
|
|
28421
|
+
return React__default.createElement(LabeledInput, {
|
|
28422
|
+
hasError: hasVisibleError('box'),
|
|
28423
|
+
extraClassName: 'form__group--20',
|
|
28424
|
+
label: translations.TRAVELERS_FORM.POST_BOX,
|
|
28425
|
+
name: 'box',
|
|
28426
|
+
onChange: formik.handleChange,
|
|
28427
|
+
onBlur: formik.handleBlur,
|
|
28428
|
+
value: formik.values.box
|
|
28429
|
+
});
|
|
28430
|
+
case 'zipCode':
|
|
28431
|
+
return React__default.createElement(LabeledInput, {
|
|
28432
|
+
hasError: hasVisibleError('zipCode'),
|
|
28433
|
+
extraClassName: 'form__group--40 form__group--sm-20',
|
|
28434
|
+
label: translations.TRAVELERS_FORM.ZIPCODE,
|
|
28435
|
+
required: true,
|
|
28436
|
+
name: 'zipCode',
|
|
28437
|
+
onChange: formik.handleChange,
|
|
28438
|
+
onBlur: formik.handleBlur,
|
|
28439
|
+
value: formik.values.zipCode
|
|
28440
|
+
});
|
|
28441
|
+
case 'place':
|
|
28442
|
+
return React__default.createElement(LabeledInput, {
|
|
28443
|
+
hasError: hasVisibleError('place'),
|
|
28444
|
+
extraClassName: 'form__group--60 form__group--sm-40',
|
|
28445
|
+
label: translations.TRAVELERS_FORM.CITY,
|
|
28446
|
+
required: true,
|
|
28447
|
+
name: 'place',
|
|
28448
|
+
onChange: formik.handleChange,
|
|
28449
|
+
onBlur: formik.handleBlur,
|
|
28450
|
+
value: formik.values.place
|
|
28451
|
+
});
|
|
28452
|
+
default:
|
|
28453
|
+
return null;
|
|
28454
|
+
}
|
|
28455
|
+
};
|
|
28456
|
+
var renderRoomLabel = function (room) {
|
|
28457
|
+
var _a, _b;
|
|
28458
|
+
return compact([
|
|
28459
|
+
room.adults.length,
|
|
28460
|
+
room.adults.length === 1 && ' '.concat(translations.TRAVELERS_FORM.ADULT),
|
|
28461
|
+
room.adults.length > 1 && ' '.concat(translations.TRAVELERS_FORM.ADULTS),
|
|
28462
|
+
((_a = room.adults) === null || _a === void 0 ? void 0 : _a.length) && ((_b = room.children) === null || _b === void 0 ? void 0 : _b.length) && ', ',
|
|
28463
|
+
room.children.length,
|
|
28464
|
+
room.children.length === 1 && ' '.concat(translations.TRAVELERS_FORM.CHILD),
|
|
28465
|
+
room.children.length > 1 && ' '.concat(translations.TRAVELERS_FORM.CHILDREN)
|
|
28466
|
+
]).join('');
|
|
28467
|
+
};
|
|
28468
|
+
var renderTravelerFields = function (travelerValues, namePrefix, isAdult, roomIndex, travelerIndex) {
|
|
28469
|
+
var _a;
|
|
28470
|
+
if (useCompactForm) {
|
|
28471
|
+
return React__default.createElement(
|
|
28472
|
+
'div',
|
|
28473
|
+
{ className: 'form__row' },
|
|
28474
|
+
React__default.createElement(LabeledInput, {
|
|
28475
|
+
hasError: hasVisibleError(''.concat(namePrefix, '.age')),
|
|
28476
|
+
extraClassName: 'form__group--md-33',
|
|
28477
|
+
label: translations.TRAVELERS_FORM.AGE,
|
|
28478
|
+
required: true,
|
|
28479
|
+
name: ''.concat(namePrefix, '.age'),
|
|
28480
|
+
onChange: formik.handleChange,
|
|
28481
|
+
onBlur: formik.handleBlur,
|
|
28482
|
+
value: travelerValues.age
|
|
28483
|
+
})
|
|
28484
|
+
);
|
|
28400
28485
|
}
|
|
28486
|
+
if (
|
|
28487
|
+
(_a = travellersSettings === null || travellersSettings === void 0 ? void 0 : travellersSettings.formFields) === null || _a === void 0
|
|
28488
|
+
? void 0
|
|
28489
|
+
: _a.length
|
|
28490
|
+
) {
|
|
28491
|
+
return React__default.createElement(
|
|
28492
|
+
'div',
|
|
28493
|
+
{ className: 'travelers-form__grid' },
|
|
28494
|
+
travellersSettings.formFields.map(function (field, index) {
|
|
28495
|
+
return React__default.createElement(
|
|
28496
|
+
'div',
|
|
28497
|
+
{ key: index, className: 'control control--'.concat(field.type) },
|
|
28498
|
+
getControl(field.type, travelerValues, ''.concat(namePrefix, '.').concat(field.type))
|
|
28499
|
+
);
|
|
28500
|
+
})
|
|
28501
|
+
);
|
|
28502
|
+
}
|
|
28503
|
+
return React__default.createElement(
|
|
28504
|
+
React__default.Fragment,
|
|
28505
|
+
null,
|
|
28506
|
+
React__default.createElement('div', { className: 'form__row' }, renderGenderControl(''.concat(namePrefix, '.gender'), travelerValues)),
|
|
28507
|
+
React__default.createElement(
|
|
28508
|
+
'div',
|
|
28509
|
+
{ className: 'form__row' },
|
|
28510
|
+
React__default.createElement(LabeledInput, {
|
|
28511
|
+
hasError: hasVisibleError(''.concat(namePrefix, '.firstName')),
|
|
28512
|
+
extraClassName: 'form__group--md-33',
|
|
28513
|
+
label: translations.TRAVELERS_FORM.FIRST_NAME,
|
|
28514
|
+
required: true,
|
|
28515
|
+
name: ''.concat(namePrefix, '.firstName'),
|
|
28516
|
+
onChange: formik.handleChange,
|
|
28517
|
+
onBlur: formik.handleBlur,
|
|
28518
|
+
value: travelerValues.firstName
|
|
28519
|
+
}),
|
|
28520
|
+
React__default.createElement(LabeledInput, {
|
|
28521
|
+
hasError: hasVisibleError(''.concat(namePrefix, '.lastName')),
|
|
28522
|
+
extraClassName: 'form__group--md-33',
|
|
28523
|
+
label: translations.TRAVELERS_FORM.LAST_NAME,
|
|
28524
|
+
required: true,
|
|
28525
|
+
name: ''.concat(namePrefix, '.lastName'),
|
|
28526
|
+
onChange: formik.handleChange,
|
|
28527
|
+
onBlur: formik.handleBlur,
|
|
28528
|
+
value: travelerValues.lastName
|
|
28529
|
+
}),
|
|
28530
|
+
React__default.createElement(LabeledInput, {
|
|
28531
|
+
type: 'date',
|
|
28532
|
+
hasError: hasVisibleError(''.concat(namePrefix, '.birthDate')),
|
|
28533
|
+
extraClassName: 'form__group--md-33',
|
|
28534
|
+
label: translations.TRAVELERS_FORM.BIRTHDATE,
|
|
28535
|
+
required: true,
|
|
28536
|
+
name: ''.concat(namePrefix, '.birthDate'),
|
|
28537
|
+
onChange: formik.handleChange,
|
|
28538
|
+
onBlur: formik.handleBlur,
|
|
28539
|
+
value: travelerValues.birthDate
|
|
28540
|
+
})
|
|
28541
|
+
),
|
|
28542
|
+
travelersFirstStep &&
|
|
28543
|
+
isAdult &&
|
|
28544
|
+
formik.values.rooms[roomIndex].adults.length > 1 &&
|
|
28545
|
+
React__default.createElement(
|
|
28546
|
+
'button',
|
|
28547
|
+
{
|
|
28548
|
+
type: 'button',
|
|
28549
|
+
className: 'cta cta--secondary',
|
|
28550
|
+
onClick: function () {
|
|
28551
|
+
return handleRemoveTraveler(roomIndex, travelerIndex);
|
|
28552
|
+
}
|
|
28553
|
+
},
|
|
28554
|
+
translations.TRAVELERS_FORM.REMOVE_TRAVELER
|
|
28555
|
+
)
|
|
28556
|
+
);
|
|
28401
28557
|
};
|
|
28402
28558
|
return React__default.createElement(
|
|
28403
28559
|
'form',
|
|
@@ -28409,670 +28565,231 @@ var TravelersForm = function () {
|
|
|
28409
28565
|
onSubmit: formik.handleSubmit,
|
|
28410
28566
|
onReset: formik.handleReset
|
|
28411
28567
|
},
|
|
28412
|
-
|
|
28413
|
-
|
|
28568
|
+
React__default.createElement(
|
|
28569
|
+
'div',
|
|
28570
|
+
{ className: 'form__travelers__wrapper' },
|
|
28571
|
+
formik.values.rooms.map(function (room, roomIndex) {
|
|
28572
|
+
return React__default.createElement(
|
|
28414
28573
|
'div',
|
|
28415
|
-
{
|
|
28416
|
-
formik.values.rooms.
|
|
28574
|
+
{ key: roomIndex },
|
|
28575
|
+
formik.values.rooms.length > 1 &&
|
|
28576
|
+
React__default.createElement(
|
|
28577
|
+
'div',
|
|
28578
|
+
{ className: 'form__region' },
|
|
28579
|
+
React__default.createElement(
|
|
28580
|
+
'div',
|
|
28581
|
+
{ className: 'form__region-header' },
|
|
28582
|
+
React__default.createElement('h5', { className: 'form__region-heading' }, translations.SHARED.ROOM, ' ', roomIndex + 1),
|
|
28583
|
+
React__default.createElement('p', { className: 'form__region-label' }, renderRoomLabel(room))
|
|
28584
|
+
),
|
|
28585
|
+
!useCompactForm &&
|
|
28586
|
+
travelersFirstStep &&
|
|
28587
|
+
formik.values.rooms.length > 1 &&
|
|
28588
|
+
React__default.createElement(
|
|
28589
|
+
'button',
|
|
28590
|
+
{
|
|
28591
|
+
type: 'button',
|
|
28592
|
+
className: 'cta cta--secondary',
|
|
28593
|
+
onClick: function () {
|
|
28594
|
+
return handleRemoveRoom(roomIndex);
|
|
28595
|
+
}
|
|
28596
|
+
},
|
|
28597
|
+
'Verwijder reisgezelschap'
|
|
28598
|
+
)
|
|
28599
|
+
),
|
|
28600
|
+
room.adults.map(function (travelerValues, index) {
|
|
28417
28601
|
return React__default.createElement(
|
|
28418
28602
|
'div',
|
|
28419
|
-
{ key:
|
|
28420
|
-
|
|
28603
|
+
{ className: 'form__region', key: travelerValues.id },
|
|
28604
|
+
React__default.createElement(
|
|
28605
|
+
'div',
|
|
28606
|
+
{ className: 'form__region-header' },
|
|
28607
|
+
React__default.createElement('h5', { className: 'form__region-heading' }, translations.TRAVELERS_FORM.TRAVELER, ' ', index + 1),
|
|
28608
|
+
React__default.createElement('p', { className: 'form__region-label' }, translations.TRAVELERS_FORM.ADULT),
|
|
28421
28609
|
React__default.createElement(
|
|
28422
28610
|
'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
|
-
),
|
|
28611
|
+
{ className: 'radiobutton' },
|
|
28503
28612
|
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,
|
|
28613
|
+
'label',
|
|
28614
|
+
{ className: 'radiobutton__label' },
|
|
28615
|
+
React__default.createElement('input', {
|
|
28616
|
+
type: 'radio',
|
|
28617
|
+
name: 'mainBookerId',
|
|
28618
|
+
onChange: handleMainBookerChange,
|
|
28513
28619
|
onBlur: formik.handleBlur,
|
|
28514
|
-
value: travelerValues.
|
|
28515
|
-
|
|
28620
|
+
value: travelerValues.id,
|
|
28621
|
+
checked: formik.values.mainBookerId === travelerValues.id,
|
|
28622
|
+
className: 'radiobutton__input'
|
|
28623
|
+
}),
|
|
28624
|
+
translations.TRAVELERS_FORM.MAIN_BOOKER
|
|
28516
28625
|
)
|
|
28517
|
-
)
|
|
28518
|
-
|
|
28626
|
+
)
|
|
28627
|
+
),
|
|
28628
|
+
renderTravelerFields(travelerValues, 'rooms['.concat(roomIndex, '].adults[').concat(index, ']'), true, roomIndex, index)
|
|
28519
28629
|
);
|
|
28520
|
-
})
|
|
28521
|
-
|
|
28522
|
-
|
|
28523
|
-
|
|
28524
|
-
|
|
28525
|
-
|
|
28630
|
+
}),
|
|
28631
|
+
room.children.map(function (travelerValues, index) {
|
|
28632
|
+
return React__default.createElement(
|
|
28633
|
+
'div',
|
|
28634
|
+
{ className: 'form__region', key: travelerValues.id },
|
|
28635
|
+
React__default.createElement(
|
|
28636
|
+
'div',
|
|
28637
|
+
{ className: 'form__region-header' },
|
|
28638
|
+
React__default.createElement(
|
|
28639
|
+
'h5',
|
|
28640
|
+
{ className: 'form__region-heading' },
|
|
28641
|
+
translations.TRAVELERS_FORM.TRAVELER,
|
|
28642
|
+
' ',
|
|
28643
|
+
room.adults.length + index + 1
|
|
28644
|
+
),
|
|
28645
|
+
React__default.createElement('p', { className: 'form__region-label' }, translations.TRAVELERS_FORM.CHILD)
|
|
28646
|
+
),
|
|
28647
|
+
renderTravelerFields(travelerValues, 'rooms['.concat(roomIndex, '].children[').concat(index, ']'), false, roomIndex, index)
|
|
28648
|
+
);
|
|
28649
|
+
}),
|
|
28650
|
+
!useCompactForm &&
|
|
28651
|
+
travelersFirstStep &&
|
|
28652
|
+
React__default.createElement(
|
|
28653
|
+
'div',
|
|
28654
|
+
{ className: 'form__region' },
|
|
28655
|
+
React__default.createElement(
|
|
28656
|
+
'button',
|
|
28657
|
+
{
|
|
28658
|
+
type: 'button',
|
|
28659
|
+
className: 'cta cta--select',
|
|
28660
|
+
onClick: function () {
|
|
28661
|
+
return handleAddTraveler(roomIndex);
|
|
28662
|
+
}
|
|
28663
|
+
},
|
|
28664
|
+
translations.TRAVELERS_FORM.ADD_TRAVELER
|
|
28665
|
+
)
|
|
28666
|
+
)
|
|
28667
|
+
);
|
|
28668
|
+
}),
|
|
28669
|
+
!useCompactForm &&
|
|
28670
|
+
(bookingType !== 'b2b' ||
|
|
28671
|
+
((_f = travellersSettings === null || travellersSettings === void 0 ? void 0 : travellersSettings.mainBookerFormFields) === null || _f === void 0
|
|
28672
|
+
? void 0
|
|
28673
|
+
: _f.length))
|
|
28674
|
+
? React__default.createElement(
|
|
28526
28675
|
'div',
|
|
28527
|
-
{ className: '
|
|
28528
|
-
|
|
28529
|
-
|
|
28530
|
-
|
|
28531
|
-
|
|
28532
|
-
|
|
28676
|
+
{ className: 'form__region' },
|
|
28677
|
+
React__default.createElement(
|
|
28678
|
+
'div',
|
|
28679
|
+
{ className: 'form__region-header' },
|
|
28680
|
+
React__default.createElement('h5', { className: 'form__region-heading' }, translations.TRAVELERS_FORM.MAIN_BOOKER),
|
|
28681
|
+
React__default.createElement(
|
|
28682
|
+
'p',
|
|
28683
|
+
{ className: 'form__region-label' },
|
|
28684
|
+
compact([
|
|
28685
|
+
compact([
|
|
28686
|
+
mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.firstName,
|
|
28687
|
+
mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.lastName
|
|
28688
|
+
]).join(' '),
|
|
28689
|
+
(mainBooker === null || mainBooker === void 0 ? void 0 : mainBooker.birthDate) &&
|
|
28690
|
+
format$2(parse(mainBooker.birthDate, 'yyyy-MM-dd', new Date()), 'dd-MM-yyyy')
|
|
28691
|
+
]).join(', ')
|
|
28692
|
+
)
|
|
28693
|
+
),
|
|
28694
|
+
(
|
|
28695
|
+
(_g = travellersSettings === null || travellersSettings === void 0 ? void 0 : travellersSettings.mainBookerFormFields) === null || _g === void 0
|
|
28696
|
+
? void 0
|
|
28697
|
+
: _g.length
|
|
28698
|
+
)
|
|
28699
|
+
? React__default.createElement(
|
|
28700
|
+
'div',
|
|
28701
|
+
{ className: 'main-booker-form__grid' },
|
|
28702
|
+
travellersSettings.mainBookerFormFields.map(function (field, index) {
|
|
28703
|
+
return React__default.createElement(
|
|
28704
|
+
'div',
|
|
28705
|
+
{ key: index, className: 'control control--'.concat(field.type) },
|
|
28706
|
+
getControl(field.type, {}, field.type)
|
|
28707
|
+
);
|
|
28708
|
+
})
|
|
28709
|
+
)
|
|
28710
|
+
: React__default.createElement(
|
|
28711
|
+
React__default.Fragment,
|
|
28712
|
+
null,
|
|
28533
28713
|
React__default.createElement(
|
|
28534
28714
|
'div',
|
|
28535
|
-
{ className: '
|
|
28715
|
+
{ className: 'form__twocolumn' },
|
|
28536
28716
|
React__default.createElement(
|
|
28537
28717
|
'div',
|
|
28538
|
-
{ className: '
|
|
28539
|
-
React__default.createElement('h5', { className: 'form__region-heading' }, translations.SHARED.ROOM, ' ', rIndex + 1),
|
|
28718
|
+
{ className: 'form__twocolumn-column' },
|
|
28540
28719
|
React__default.createElement(
|
|
28541
|
-
'
|
|
28542
|
-
{ className: '
|
|
28543
|
-
|
|
28544
|
-
|
|
28545
|
-
|
|
28546
|
-
|
|
28547
|
-
|
|
28548
|
-
|
|
28549
|
-
|
|
28550
|
-
|
|
28551
|
-
|
|
28720
|
+
'div',
|
|
28721
|
+
{ className: 'form__row' },
|
|
28722
|
+
React__default.createElement(LabeledInput, {
|
|
28723
|
+
hasError: hasVisibleError('street'),
|
|
28724
|
+
extraClassName: 'form__group--50 form__group--sm-60',
|
|
28725
|
+
label: translations.TRAVELERS_FORM.STREET,
|
|
28726
|
+
required: true,
|
|
28727
|
+
name: 'street',
|
|
28728
|
+
onChange: formik.handleChange,
|
|
28729
|
+
onBlur: formik.handleBlur,
|
|
28730
|
+
value: formik.values.street
|
|
28731
|
+
}),
|
|
28732
|
+
React__default.createElement(LabeledInput, {
|
|
28733
|
+
hasError: hasVisibleError('houseNumber'),
|
|
28734
|
+
extraClassName: 'form__group--30 form__group--sm-20',
|
|
28735
|
+
label: translations.TRAVELERS_FORM.HOUSE_NUMBER,
|
|
28736
|
+
required: true,
|
|
28737
|
+
name: 'houseNumber',
|
|
28738
|
+
onChange: formik.handleChange,
|
|
28739
|
+
onBlur: formik.handleBlur,
|
|
28740
|
+
value: formik.values.houseNumber
|
|
28741
|
+
}),
|
|
28742
|
+
React__default.createElement(LabeledInput, {
|
|
28743
|
+
hasError: hasVisibleError('box'),
|
|
28744
|
+
extraClassName: 'form__group--20',
|
|
28745
|
+
label: translations.TRAVELERS_FORM.POST_BOX,
|
|
28746
|
+
name: 'box',
|
|
28747
|
+
onChange: formik.handleChange,
|
|
28748
|
+
onBlur: formik.handleBlur,
|
|
28749
|
+
value: formik.values.box
|
|
28750
|
+
})
|
|
28552
28751
|
)
|
|
28553
28752
|
),
|
|
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
28753
|
React__default.createElement(
|
|
28574
28754
|
'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),
|
|
28755
|
+
{ className: 'form__twocolumn-column' },
|
|
28578
28756
|
React__default.createElement(
|
|
28579
28757
|
'div',
|
|
28580
|
-
{ className: '
|
|
28581
|
-
React__default.createElement(
|
|
28582
|
-
'
|
|
28583
|
-
|
|
28584
|
-
|
|
28585
|
-
|
|
28586
|
-
|
|
28587
|
-
|
|
28588
|
-
|
|
28589
|
-
|
|
28590
|
-
|
|
28591
|
-
|
|
28592
|
-
|
|
28593
|
-
|
|
28594
|
-
|
|
28758
|
+
{ className: 'form__row' },
|
|
28759
|
+
React__default.createElement(LabeledInput, {
|
|
28760
|
+
hasError: hasVisibleError('zipCode'),
|
|
28761
|
+
extraClassName: 'form__group--40 form__group--sm-20',
|
|
28762
|
+
label: translations.TRAVELERS_FORM.ZIPCODE,
|
|
28763
|
+
required: true,
|
|
28764
|
+
name: 'zipCode',
|
|
28765
|
+
onChange: formik.handleChange,
|
|
28766
|
+
onBlur: formik.handleBlur,
|
|
28767
|
+
value: formik.values.zipCode
|
|
28768
|
+
}),
|
|
28769
|
+
React__default.createElement(LabeledInput, {
|
|
28770
|
+
hasError: hasVisibleError('place'),
|
|
28771
|
+
extraClassName: 'form__group--60 form__group--sm-40',
|
|
28772
|
+
label: translations.TRAVELERS_FORM.CITY,
|
|
28773
|
+
required: true,
|
|
28774
|
+
name: 'place',
|
|
28775
|
+
onChange: formik.handleChange,
|
|
28776
|
+
onBlur: formik.handleBlur,
|
|
28777
|
+
value: formik.values.place
|
|
28778
|
+
}),
|
|
28779
|
+
React__default.createElement(LabeledSelect, {
|
|
28780
|
+
hasError: hasVisibleError('country'),
|
|
28781
|
+
extraClassName: 'form__group--sm-40',
|
|
28782
|
+
label: translations.TRAVELERS_FORM.COUNTRY,
|
|
28783
|
+
required: true,
|
|
28784
|
+
name: 'country',
|
|
28785
|
+
onChange: formik.handleChange,
|
|
28786
|
+
onBlur: formik.handleBlur,
|
|
28787
|
+
value: formik.values.country,
|
|
28788
|
+
options: countryOptions
|
|
28789
|
+
})
|
|
28595
28790
|
)
|
|
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
28791
|
)
|
|
28888
28792
|
),
|
|
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
28793
|
React__default.createElement(
|
|
29077
28794
|
'div',
|
|
29078
28795
|
{ className: 'form__row' },
|
|
@@ -29085,78 +28802,122 @@ var TravelersForm = function () {
|
|
|
29085
28802
|
onChange: formik.handleChange,
|
|
29086
28803
|
onBlur: formik.handleBlur,
|
|
29087
28804
|
value: formik.values.phone
|
|
28805
|
+
}),
|
|
28806
|
+
React__default.createElement(LabeledInput, {
|
|
28807
|
+
type: 'email',
|
|
28808
|
+
hasError: hasVisibleError('email'),
|
|
28809
|
+
extraClassName: 'form__group--md-33',
|
|
28810
|
+
label: translations.TRAVELERS_FORM.EMAIL,
|
|
28811
|
+
required: true,
|
|
28812
|
+
name: 'email',
|
|
28813
|
+
onChange: formik.handleChange,
|
|
28814
|
+
onBlur: formik.handleBlur,
|
|
28815
|
+
value: formik.values.email
|
|
28816
|
+
}),
|
|
28817
|
+
React__default.createElement(LabeledInput, {
|
|
28818
|
+
type: 'email',
|
|
28819
|
+
hasError: hasVisibleError('emailConfirmation'),
|
|
28820
|
+
extraClassName: 'form__group--md-33',
|
|
28821
|
+
label: translations.TRAVELERS_FORM.REPEAT_EMAIL,
|
|
28822
|
+
required: true,
|
|
28823
|
+
name: 'emailConfirmation',
|
|
28824
|
+
onChange: formik.handleChange,
|
|
28825
|
+
onBlur: formik.handleBlur,
|
|
28826
|
+
value: formik.values.emailConfirmation
|
|
29088
28827
|
})
|
|
29089
28828
|
)
|
|
29090
|
-
)
|
|
29091
|
-
|
|
28829
|
+
)
|
|
28830
|
+
)
|
|
28831
|
+
: !useCompactForm
|
|
28832
|
+
? React__default.createElement(
|
|
28833
|
+
'div',
|
|
28834
|
+
{ className: 'form__region' },
|
|
28835
|
+
React__default.createElement(
|
|
28836
|
+
'div',
|
|
28837
|
+
{ className: 'form__row' },
|
|
28838
|
+
React__default.createElement(LabeledInput, {
|
|
28839
|
+
hasError: hasVisibleError('phone'),
|
|
28840
|
+
extraClassName: 'form__group--md-33',
|
|
28841
|
+
label: translations.TRAVELERS_FORM.PHONE,
|
|
28842
|
+
required: true,
|
|
28843
|
+
name: 'phone',
|
|
28844
|
+
onChange: formik.handleChange,
|
|
28845
|
+
onBlur: formik.handleBlur,
|
|
28846
|
+
value: formik.values.phone
|
|
28847
|
+
})
|
|
28848
|
+
)
|
|
28849
|
+
)
|
|
28850
|
+
: null,
|
|
28851
|
+
!useCompactForm &&
|
|
28852
|
+
showAgentSelection &&
|
|
28853
|
+
React__default.createElement(
|
|
28854
|
+
'div',
|
|
28855
|
+
{ className: 'form__region' },
|
|
28856
|
+
React__default.createElement(
|
|
28857
|
+
'div',
|
|
28858
|
+
{ className: 'form__region-header' },
|
|
28859
|
+
React__default.createElement('h5', { className: 'form__region-heading' }, translations.TRAVELERS_FORM.BOOK_WITH_AGENT),
|
|
28860
|
+
React__default.createElement(
|
|
28861
|
+
'div',
|
|
28862
|
+
{ className: 'checkbox', id: 'cbxChooseOffice' },
|
|
29092
28863
|
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
|
-
)
|
|
28864
|
+
'label',
|
|
28865
|
+
{ className: 'checkbox__label' },
|
|
28866
|
+
React__default.createElement('input', {
|
|
28867
|
+
type: 'checkbox',
|
|
28868
|
+
name: 'booking--mainbooker',
|
|
28869
|
+
checked: showAgents,
|
|
28870
|
+
onChange: function () {
|
|
28871
|
+
return toggleAgent(!showAgents);
|
|
28872
|
+
},
|
|
28873
|
+
className: 'checkbox__input'
|
|
28874
|
+
}),
|
|
28875
|
+
translations.TRAVELERS_FORM.CHOOSE_OFFICE
|
|
29136
28876
|
)
|
|
28877
|
+
)
|
|
29137
28878
|
),
|
|
29138
|
-
|
|
28879
|
+
showAgents &&
|
|
29139
28880
|
React__default.createElement(
|
|
29140
28881
|
'div',
|
|
29141
|
-
{ className: '
|
|
28882
|
+
{ className: 'form__row form__row--choose-office' },
|
|
29142
28883
|
React__default.createElement(
|
|
29143
28884
|
'div',
|
|
29144
|
-
{ className: '
|
|
29145
|
-
React__default.createElement(
|
|
29146
|
-
|
|
29147
|
-
|
|
29148
|
-
|
|
29149
|
-
|
|
29150
|
-
|
|
29151
|
-
|
|
29152
|
-
|
|
29153
|
-
|
|
29154
|
-
})
|
|
29155
|
-
)
|
|
29156
|
-
)
|
|
28885
|
+
{ className: buildClassName(['form__group', 'form__group--icon', hasVisibleError('travelAgentId') && 'form__group--error']) },
|
|
28886
|
+
React__default.createElement(TypeAheadInput, {
|
|
28887
|
+
value: formik.values.travelAgentName,
|
|
28888
|
+
options: filteredAgents,
|
|
28889
|
+
onChange: handleAgentChange,
|
|
28890
|
+
onSelect: handleAgentSelect,
|
|
28891
|
+
onClear: handleAgentClear,
|
|
28892
|
+
name: 'travelAgentName',
|
|
28893
|
+
placeholder: translations.TRAVELERS_FORM.CHOOSE_AGENT_PLACEHOLDER
|
|
28894
|
+
})
|
|
29157
28895
|
)
|
|
29158
28896
|
)
|
|
29159
|
-
)
|
|
28897
|
+
)
|
|
28898
|
+
),
|
|
28899
|
+
!useCompactForm &&
|
|
28900
|
+
errorKeys.length > 0 &&
|
|
28901
|
+
React__default.createElement(
|
|
28902
|
+
'div',
|
|
28903
|
+
{ className: 'form__region form__region--errors' },
|
|
28904
|
+
React__default.createElement(
|
|
28905
|
+
'div',
|
|
28906
|
+
{ className: 'form__row' },
|
|
28907
|
+
React__default.createElement(
|
|
28908
|
+
'div',
|
|
28909
|
+
{ className: 'form__group' },
|
|
28910
|
+
React__default.createElement('p', { className: 'form__error-heading' }, translations.TRAVELERS_FORM.VALIDATION_MESSAGE, ':'),
|
|
28911
|
+
React__default.createElement(
|
|
28912
|
+
'ul',
|
|
28913
|
+
{ className: 'list' },
|
|
28914
|
+
errorKeys.map(function (key) {
|
|
28915
|
+
return React__default.createElement('li', { key: key }, get(flatErrors, key));
|
|
28916
|
+
})
|
|
28917
|
+
)
|
|
28918
|
+
)
|
|
28919
|
+
)
|
|
28920
|
+
),
|
|
29160
28921
|
travelersFirstStep &&
|
|
29161
28922
|
React__default.createElement(
|
|
29162
28923
|
'div',
|
|
@@ -29166,14 +28927,204 @@ var TravelersForm = function () {
|
|
|
29166
28927
|
React__default.createElement(
|
|
29167
28928
|
'div',
|
|
29168
28929
|
{ className: 'booking__navigator' },
|
|
29169
|
-
|
|
28930
|
+
renderPreviousButton === null || renderPreviousButton === void 0 ? void 0 : renderPreviousButton(),
|
|
28931
|
+
React__default.createElement(
|
|
28932
|
+
'button',
|
|
28933
|
+
{ type: 'submit', title: translations.STEPS.NEXT, className: 'cta' + (isUnavailable ? ' cta--disabled' : '') },
|
|
28934
|
+
translations.STEPS.NEXT
|
|
28935
|
+
)
|
|
28936
|
+
)
|
|
28937
|
+
);
|
|
28938
|
+
};
|
|
28939
|
+
|
|
28940
|
+
var TravelersForm = function () {
|
|
28941
|
+
var _a, _b;
|
|
28942
|
+
var dispatch = useAppDispatch();
|
|
28943
|
+
var settings = useContext(SettingsContext);
|
|
28944
|
+
var navigate = settings.skipRouter ? function () {} : useNavigate();
|
|
28945
|
+
var bookingQueryString = useSelector(selectBookingQueryString);
|
|
28946
|
+
var startDate = useSelector(selectStartDate);
|
|
28947
|
+
var formRooms = useSelector(selectFormRooms);
|
|
28948
|
+
var bookingType = useSelector(selectBookingType);
|
|
28949
|
+
var agents = useSelector(selectAgents);
|
|
28950
|
+
var agentAdressId = useSelector(selectAgentAdressId);
|
|
28951
|
+
var translations = useSelector(selectTranslations);
|
|
28952
|
+
var travelersFirstStep = useSelector(selectTravelersFirstStep);
|
|
28953
|
+
var isUnavailable = useSelector(selectIsUnavailable);
|
|
28954
|
+
var bookingAttributes = useSelector(selectBookingAttributes);
|
|
28955
|
+
var isFetching = useSelector(selectIsFetching);
|
|
28956
|
+
var hasMounted = useSelector(selectHasMounted);
|
|
28957
|
+
var countries = useSelector(selectCountries);
|
|
28958
|
+
var useCompactForm = !!settings.travellers.compactForm && !!settings.agentAdressId;
|
|
28959
|
+
var showAllCountries = !!settings.travellers.showAllCountries;
|
|
28960
|
+
var initialValues =
|
|
28961
|
+
(_a = useSelector(selectTravelersFormValues)) !== null && _a !== void 0
|
|
28962
|
+
? _a
|
|
28963
|
+
: createInitialValuesFromRooms(formRooms, startDate, agentAdressId, translations.TRAVELERS_FORM.PERSON, useCompactForm);
|
|
28964
|
+
var _c = useState(!settings.agentAdressId && !settings.hideAgentSelection),
|
|
28965
|
+
showAgentSelection = _c[0],
|
|
28966
|
+
setShowAgentSelection = _c[1];
|
|
28967
|
+
var formik = useFormik({
|
|
28968
|
+
initialValues: initialValues,
|
|
28969
|
+
validate: useCompactForm
|
|
28970
|
+
? function () {}
|
|
28971
|
+
: function (values) {
|
|
28972
|
+
return validateForm(
|
|
28973
|
+
values,
|
|
28974
|
+
settings.agentRequired,
|
|
28975
|
+
bookingType,
|
|
28976
|
+
translations,
|
|
28977
|
+
settings.travellers.formFields,
|
|
28978
|
+
settings.travellers.mainBookerFormFields
|
|
28979
|
+
);
|
|
28980
|
+
},
|
|
28981
|
+
onSubmit: function (values) {
|
|
28982
|
+
dispatch(setFormValues(values));
|
|
28983
|
+
if (useCompactForm) {
|
|
28984
|
+
dispatch(fetchPriceDetails());
|
|
28985
|
+
if (settings.skipRouter) dispatch(setCurrentStep$1(SUMMARY_STEP));
|
|
28986
|
+
else
|
|
28987
|
+
navigate(
|
|
28988
|
+
''
|
|
28989
|
+
.concat(!settings.skipBasePathInRouting ? settings.basePath : '')
|
|
28990
|
+
.concat(settings.summary.pathSuffix, '?')
|
|
28991
|
+
.concat(bookingQueryString)
|
|
28992
|
+
);
|
|
28993
|
+
return;
|
|
28994
|
+
}
|
|
28995
|
+
dispatch(fetchPackage());
|
|
28996
|
+
if (settings.skipRouter) dispatch(setCurrentStep$1(travelersFirstStep ? FLIGHT_OPTIONS_FORM_STEP : SUMMARY_STEP));
|
|
28997
|
+
else
|
|
28998
|
+
navigate(
|
|
28999
|
+
''
|
|
29000
|
+
.concat(!settings.skipBasePathInRouting ? settings.basePath : '')
|
|
29001
|
+
.concat(travelersFirstStep ? settings.flightOptions.pathSuffix : settings.summary.pathSuffix, '?')
|
|
29002
|
+
.concat(bookingQueryString)
|
|
29003
|
+
);
|
|
29004
|
+
}
|
|
29005
|
+
});
|
|
29006
|
+
useEffect(
|
|
29007
|
+
function () {
|
|
29008
|
+
dispatch(fetchPriceDetails());
|
|
29009
|
+
},
|
|
29010
|
+
[dispatch]
|
|
29011
|
+
);
|
|
29012
|
+
useEffect(
|
|
29013
|
+
function () {
|
|
29014
|
+
var _a;
|
|
29015
|
+
if (
|
|
29016
|
+
!((_a = bookingAttributes === null || bookingAttributes === void 0 ? void 0 : bookingAttributes.rooms) === null || _a === void 0
|
|
29017
|
+
? void 0
|
|
29018
|
+
: _a.length) ||
|
|
29019
|
+
isFetching
|
|
29020
|
+
)
|
|
29021
|
+
return;
|
|
29022
|
+
if (!hasMounted) {
|
|
29023
|
+
dispatch(setHasMounted(true));
|
|
29024
|
+
return;
|
|
29025
|
+
}
|
|
29026
|
+
var fetchAll = function () {
|
|
29027
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
29028
|
+
return __generator(this, function (_a) {
|
|
29029
|
+
switch (_a.label) {
|
|
29030
|
+
case 0:
|
|
29031
|
+
dispatch(setIsFetching(true));
|
|
29032
|
+
_a.label = 1;
|
|
29033
|
+
case 1:
|
|
29034
|
+
_a.trys.push([1, , 4, 5]);
|
|
29035
|
+
return [4 /*yield*/, dispatch(fetchPackage())];
|
|
29036
|
+
case 2:
|
|
29037
|
+
_a.sent();
|
|
29038
|
+
return [4 /*yield*/, dispatch(fetchPriceDetails())];
|
|
29039
|
+
case 3:
|
|
29040
|
+
_a.sent();
|
|
29041
|
+
return [3 /*break*/, 5];
|
|
29042
|
+
case 4:
|
|
29043
|
+
dispatch(setIsFetching(false));
|
|
29044
|
+
return [7 /*endfinally*/];
|
|
29045
|
+
case 5:
|
|
29046
|
+
return [2 /*return*/];
|
|
29047
|
+
}
|
|
29048
|
+
});
|
|
29049
|
+
});
|
|
29050
|
+
};
|
|
29051
|
+
fetchAll();
|
|
29052
|
+
},
|
|
29053
|
+
[bookingAttributes === null || bookingAttributes === void 0 ? void 0 : bookingAttributes.rooms, dispatch, hasMounted, isFetching]
|
|
29054
|
+
);
|
|
29055
|
+
useEffect(
|
|
29056
|
+
function () {
|
|
29057
|
+
if (settings.skipRouter || !travelersFirstStep) return;
|
|
29058
|
+
var params = new URLSearchParams(bookingQueryString);
|
|
29059
|
+
params.delete('rooms');
|
|
29060
|
+
var roomsString = formik.values.rooms
|
|
29061
|
+
.map(function (room) {
|
|
29062
|
+
var _a;
|
|
29063
|
+
var adults = room.adults ? room.adults.length : 0;
|
|
29064
|
+
var childAges = ((_a = room.children) === null || _a === void 0 ? void 0 : _a.length)
|
|
29065
|
+
? room.children
|
|
29066
|
+
.map(function (child) {
|
|
29067
|
+
return child.age;
|
|
29068
|
+
})
|
|
29069
|
+
.join(',')
|
|
29070
|
+
: '';
|
|
29071
|
+
return 'adults:'.concat(adults, ',childAges:(').concat(childAges, ')');
|
|
29072
|
+
})
|
|
29073
|
+
.map(function (room) {
|
|
29074
|
+
return '('.concat(room, ')');
|
|
29075
|
+
})
|
|
29076
|
+
.join(',');
|
|
29077
|
+
var nextQuery = ''
|
|
29078
|
+
.concat(params.toString())
|
|
29079
|
+
.concat(params.toString() ? '&' : '', 'rooms=(')
|
|
29080
|
+
.concat(roomsString, ')');
|
|
29081
|
+
navigate(''.concat(window.location.pathname, '?').concat(nextQuery), { replace: true });
|
|
29082
|
+
},
|
|
29083
|
+
[formik.values.rooms, bookingQueryString, navigate, settings.skipRouter, travelersFirstStep]
|
|
29084
|
+
);
|
|
29085
|
+
useEffect(
|
|
29086
|
+
function () {
|
|
29087
|
+
if (!agents || !settings.affiliateSlug) return;
|
|
29088
|
+
var agent = agents.find(function (x) {
|
|
29089
|
+
return x.affiliateSlug && x.affiliateSlug === settings.affiliateSlug;
|
|
29090
|
+
});
|
|
29091
|
+
if (!agent) return;
|
|
29092
|
+
var formValues = produce(formik.values, function (values) {
|
|
29093
|
+
values.travelAgentId = Number(agent.id);
|
|
29094
|
+
values.travelAgentName = agent.name;
|
|
29095
|
+
});
|
|
29096
|
+
formik.setValues(formValues, false);
|
|
29097
|
+
dispatch(setFormValues(formValues));
|
|
29098
|
+
setShowAgentSelection(false);
|
|
29099
|
+
},
|
|
29100
|
+
[agents, settings.affiliateSlug]
|
|
29101
|
+
);
|
|
29102
|
+
return React__default.createElement(SharedTravelersForm, {
|
|
29103
|
+
formik: formik,
|
|
29104
|
+
translations: translations,
|
|
29105
|
+
travellersSettings: settings.travellers,
|
|
29106
|
+
countries: countries,
|
|
29107
|
+
agents: agents,
|
|
29108
|
+
bookingType: bookingType,
|
|
29109
|
+
agentAdressId: agentAdressId,
|
|
29110
|
+
travelersFirstStep: travelersFirstStep,
|
|
29111
|
+
isUnavailable: isUnavailable,
|
|
29112
|
+
useCompactForm: useCompactForm,
|
|
29113
|
+
showAllCountries: showAllCountries,
|
|
29114
|
+
showAgentSelection: showAgentSelection,
|
|
29115
|
+
initialShowAgents: (_b = settings.agentRequired) !== null && _b !== void 0 ? _b : false,
|
|
29116
|
+
onBookingTypeChange: function (nextBookingType) {
|
|
29117
|
+
return dispatch(setBookingType(nextBookingType));
|
|
29118
|
+
},
|
|
29119
|
+
renderPreviousButton: function () {
|
|
29120
|
+
return !travelersFirstStep && settings.skipRouter
|
|
29170
29121
|
? React__default.createElement(
|
|
29171
29122
|
'button',
|
|
29172
29123
|
{
|
|
29173
29124
|
type: 'button',
|
|
29174
29125
|
title: translations.STEPS.PREVIOUS,
|
|
29175
29126
|
onClick: function () {
|
|
29176
|
-
return
|
|
29127
|
+
return dispatch(setCurrentStep$1(OPTIONS_FORM_STEP));
|
|
29177
29128
|
},
|
|
29178
29129
|
className: 'cta cta--secondary'
|
|
29179
29130
|
},
|
|
@@ -29192,14 +29143,9 @@ var TravelersForm = function () {
|
|
|
29192
29143
|
},
|
|
29193
29144
|
translations.STEPS.PREVIOUS
|
|
29194
29145
|
)
|
|
29195
|
-
: null
|
|
29196
|
-
|
|
29197
|
-
|
|
29198
|
-
{ type: 'submit', title: translations.STEPS.NEXT, className: 'cta' + (isUnavailable ? ' cta--disabled' : '') },
|
|
29199
|
-
translations.STEPS.NEXT
|
|
29200
|
-
)
|
|
29201
|
-
)
|
|
29202
|
-
);
|
|
29146
|
+
: null;
|
|
29147
|
+
}
|
|
29148
|
+
});
|
|
29203
29149
|
};
|
|
29204
29150
|
|
|
29205
29151
|
var Booking = function (_a) {
|
|
@@ -29285,7 +29231,7 @@ var Booking = function (_a) {
|
|
|
29285
29231
|
window.scrollTo(0, 0);
|
|
29286
29232
|
}
|
|
29287
29233
|
if (!isNil(bookingNumber)) {
|
|
29288
|
-
dispatch(setBookingNumber(bookingNumber));
|
|
29234
|
+
dispatch(setBookingNumber$1(bookingNumber));
|
|
29289
29235
|
navigate(
|
|
29290
29236
|
''
|
|
29291
29237
|
.concat(!skipBasePathInRouting ? basePath : '')
|
|
@@ -29316,7 +29262,7 @@ var Booking = function (_a) {
|
|
|
29316
29262
|
console.error('Failure when setting booking attributes', startDate, endDate, catalogueId, rooms);
|
|
29317
29263
|
}
|
|
29318
29264
|
},
|
|
29319
|
-
[location.search, setBookingAttributes, setBookingNumber, includeFlights]
|
|
29265
|
+
[location.search, setBookingAttributes, setBookingNumber$1, includeFlights]
|
|
29320
29266
|
);
|
|
29321
29267
|
useEffect(
|
|
29322
29268
|
function () {
|
|
@@ -31188,7 +31134,7 @@ var Calendar = function (_a) {
|
|
|
31188
31134
|
React__default.createElement(
|
|
31189
31135
|
'div',
|
|
31190
31136
|
{ className: 'calendar__current-month' },
|
|
31191
|
-
format$
|
|
31137
|
+
format$2(focusDate, 'MMMM yyyy', {
|
|
31192
31138
|
locale: currentLocale
|
|
31193
31139
|
}).replace(/^(.)(.*)$/, function (_, a, b) {
|
|
31194
31140
|
return ''.concat(a.toUpperCase()).concat(b);
|
|
@@ -31221,7 +31167,7 @@ var Calendar = function (_a) {
|
|
|
31221
31167
|
return React__default.createElement(
|
|
31222
31168
|
'div',
|
|
31223
31169
|
{ className: 'calendar__day-label', key: 'label-'.concat(i) },
|
|
31224
|
-
format$
|
|
31170
|
+
format$2(calendarDays[i], 'eee', {
|
|
31225
31171
|
locale: currentLocale
|
|
31226
31172
|
})
|
|
31227
31173
|
.slice(0, 2)
|
|
@@ -32148,7 +32094,7 @@ var MobileFilterModal = function () {
|
|
|
32148
32094
|
className: 'qsm__input u-ps-2',
|
|
32149
32095
|
placeholder: translations.QSM.DEPARTURE_DATE,
|
|
32150
32096
|
readOnly: true,
|
|
32151
|
-
value: fromDate ? format$
|
|
32097
|
+
value: fromDate ? format$2(new Date(fromDate), 'dd/MM/yyyy') : ''
|
|
32152
32098
|
}),
|
|
32153
32099
|
mobileDatePickerMode === 'range' && React__default.createElement('div', { className: 'qsm__input-line qsm__input-line--datepicker' })
|
|
32154
32100
|
),
|
|
@@ -32164,7 +32110,7 @@ var MobileFilterModal = function () {
|
|
|
32164
32110
|
className: 'qsm__input',
|
|
32165
32111
|
placeholder: translations.QSM.RETURN_DATE,
|
|
32166
32112
|
readOnly: true,
|
|
32167
|
-
value: toDate ? format$
|
|
32113
|
+
value: toDate ? format$2(new Date(toDate), 'dd/MM/yyyy') : ''
|
|
32168
32114
|
})
|
|
32169
32115
|
)
|
|
32170
32116
|
),
|
|
@@ -32944,8 +32890,8 @@ var QSMContainer = function () {
|
|
|
32944
32890
|
[dispatch]
|
|
32945
32891
|
);
|
|
32946
32892
|
var handleDateChange = function (value) {
|
|
32947
|
-
dispatch(setFromDate(value.fromDate ? format$
|
|
32948
|
-
dispatch(setToDate(value.toDate ? format$
|
|
32893
|
+
dispatch(setFromDate(value.fromDate ? format$2(value.fromDate, 'yyyy-MM-dd') : undefined));
|
|
32894
|
+
dispatch(setToDate(value.toDate ? format$2(value.toDate, 'yyyy-MM-dd') : undefined));
|
|
32949
32895
|
};
|
|
32950
32896
|
var handleTripTypeChange = function (value) {
|
|
32951
32897
|
dispatch(setTripType(value));
|
|
@@ -33550,7 +33496,8 @@ var initialState$1 = {
|
|
|
33550
33496
|
selectedExcursionSearchResult: null,
|
|
33551
33497
|
confirmedExcursionsByDay: {},
|
|
33552
33498
|
bookPackagingEntry: false,
|
|
33553
|
-
currentStep: 0
|
|
33499
|
+
currentStep: 0,
|
|
33500
|
+
bookingNumber: undefined
|
|
33554
33501
|
};
|
|
33555
33502
|
var searchResultsSlice = createSlice({
|
|
33556
33503
|
name: 'searchResults',
|
|
@@ -33737,6 +33684,9 @@ var searchResultsSlice = createSlice({
|
|
|
33737
33684
|
},
|
|
33738
33685
|
setCurrentStep: function (state, action) {
|
|
33739
33686
|
state.currentStep = action.payload;
|
|
33687
|
+
},
|
|
33688
|
+
setBookingNumber: function (state, action) {
|
|
33689
|
+
state.bookingNumber = action.payload;
|
|
33740
33690
|
}
|
|
33741
33691
|
}
|
|
33742
33692
|
});
|
|
@@ -33781,8 +33731,9 @@ var setExcursionSearchParams = _a.setExcursionSearchParams,
|
|
|
33781
33731
|
confirmExcursionForDay = _a.confirmExcursionForDay,
|
|
33782
33732
|
removeConfirmedExcursionForDay = _a.removeConfirmedExcursionForDay;
|
|
33783
33733
|
_a.clearConfirmedExcursionsForDay;
|
|
33784
|
-
var setBookPackagingEntry = _a.setBookPackagingEntry
|
|
33785
|
-
_a.setCurrentStep
|
|
33734
|
+
var setBookPackagingEntry = _a.setBookPackagingEntry,
|
|
33735
|
+
setCurrentStep = _a.setCurrentStep,
|
|
33736
|
+
setBookingNumber = _a.setBookingNumber;
|
|
33786
33737
|
var searchResultsReducer = searchResultsSlice.reducer;
|
|
33787
33738
|
|
|
33788
33739
|
var ItemPicker = function (_a) {
|
|
@@ -34324,7 +34275,7 @@ var Itinerary = function (_a) {
|
|
|
34324
34275
|
React__default.createElement(
|
|
34325
34276
|
'p',
|
|
34326
34277
|
null,
|
|
34327
|
-
format$
|
|
34278
|
+
format$2(new Date(firstEntryLine.from), 'EEE. d MMM yyyy'),
|
|
34328
34279
|
' - ',
|
|
34329
34280
|
React__default.createElement('strong', null, translations.SRP.START)
|
|
34330
34281
|
)
|
|
@@ -34348,9 +34299,9 @@ var Itinerary = function (_a) {
|
|
|
34348
34299
|
React__default.createElement(
|
|
34349
34300
|
'p',
|
|
34350
34301
|
{ className: 'search__filter__itinerary__transport-date-date' },
|
|
34351
|
-
React__default.createElement('strong', null, format$
|
|
34302
|
+
React__default.createElement('strong', null, format$2(new Date(outboundFlight.from), 'd'))
|
|
34352
34303
|
),
|
|
34353
|
-
React__default.createElement('p', null, format$
|
|
34304
|
+
React__default.createElement('p', null, format$2(new Date(outboundFlight.from), 'MMM'))
|
|
34354
34305
|
),
|
|
34355
34306
|
React__default.createElement(
|
|
34356
34307
|
'div',
|
|
@@ -34424,9 +34375,9 @@ var Itinerary = function (_a) {
|
|
|
34424
34375
|
React__default.createElement(
|
|
34425
34376
|
'p',
|
|
34426
34377
|
{ className: 'search__filter__itinerary__transport-date-date' },
|
|
34427
|
-
React__default.createElement('strong', null, format$
|
|
34378
|
+
React__default.createElement('strong', null, format$2(new Date(firstSegment.from), 'd'))
|
|
34428
34379
|
),
|
|
34429
|
-
React__default.createElement('p', null, format$
|
|
34380
|
+
React__default.createElement('p', null, format$2(new Date(firstSegment.from), 'MMM'))
|
|
34430
34381
|
),
|
|
34431
34382
|
React__default.createElement(
|
|
34432
34383
|
'div',
|
|
@@ -34453,9 +34404,9 @@ var Itinerary = function (_a) {
|
|
|
34453
34404
|
React__default.createElement(
|
|
34454
34405
|
'p',
|
|
34455
34406
|
{ className: 'search__filter__itinerary__segment-details-text' },
|
|
34456
|
-
format$
|
|
34407
|
+
format$2(new Date(firstSegment.from), 'EEE. d MMM yyyy'),
|
|
34457
34408
|
'> ',
|
|
34458
|
-
format$
|
|
34409
|
+
format$2(new Date(firstSegment.to), 'EEE. d MMM yyyy')
|
|
34459
34410
|
)
|
|
34460
34411
|
)
|
|
34461
34412
|
)
|
|
@@ -34543,9 +34494,9 @@ var Itinerary = function (_a) {
|
|
|
34543
34494
|
React__default.createElement(
|
|
34544
34495
|
'p',
|
|
34545
34496
|
{ className: 'search__filter__itinerary__transport-date-date' },
|
|
34546
|
-
React__default.createElement('strong', null, format$
|
|
34497
|
+
React__default.createElement('strong', null, format$2(new Date(returnFlight.from), 'd'))
|
|
34547
34498
|
),
|
|
34548
|
-
React__default.createElement('p', null, format$
|
|
34499
|
+
React__default.createElement('p', null, format$2(new Date(returnFlight.from), 'MMM'))
|
|
34549
34500
|
),
|
|
34550
34501
|
React__default.createElement(
|
|
34551
34502
|
'div',
|
|
@@ -34606,7 +34557,7 @@ var Itinerary = function (_a) {
|
|
|
34606
34557
|
React__default.createElement(
|
|
34607
34558
|
'p',
|
|
34608
34559
|
null,
|
|
34609
|
-
format$
|
|
34560
|
+
format$2(new Date(lastEntryLine.to), 'EEE. d MMM yyyy'),
|
|
34610
34561
|
' - ',
|
|
34611
34562
|
React__default.createElement('strong', null, translations.SRP.END)
|
|
34612
34563
|
)
|
|
@@ -41433,8 +41384,8 @@ var HotelAccommodationResults = function (_a) {
|
|
|
41433
41384
|
: firstPackagingResult === null || firstPackagingResult === void 0
|
|
41434
41385
|
? void 0
|
|
41435
41386
|
: firstPackagingResult.fromDate;
|
|
41436
|
-
var firstResultDay = firstResultDate ? format$
|
|
41437
|
-
var firstResultMonth = firstResultDate ? format$
|
|
41387
|
+
var firstResultDay = firstResultDate ? format$2(parseISO(firstResultDate), 'd') : null;
|
|
41388
|
+
var firstResultMonth = firstResultDate ? format$2(parseISO(firstResultDate), 'MMM') : null;
|
|
41438
41389
|
var selectedPackagingAccoResult = React__default.useMemo(
|
|
41439
41390
|
function () {
|
|
41440
41391
|
var selectedResult = packagingAccoResults.find(function (result) {
|
|
@@ -42278,15 +42229,6 @@ var PackageingFlightsFlyIn = function (_a) {
|
|
|
42278
42229
|
React__default.createElement(
|
|
42279
42230
|
'div',
|
|
42280
42231
|
{ 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
42232
|
React__default.createElement(
|
|
42291
42233
|
'div',
|
|
42292
42234
|
{
|
|
@@ -42298,6 +42240,15 @@ var PackageingFlightsFlyIn = function (_a) {
|
|
|
42298
42240
|
React__default.createElement(Icon, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
|
|
42299
42241
|
translations.SRP.FILTERS
|
|
42300
42242
|
),
|
|
42243
|
+
React__default.createElement(
|
|
42244
|
+
'span',
|
|
42245
|
+
{ className: 'search__result-row-text' },
|
|
42246
|
+
(uniqueOutwardFlights === null || uniqueOutwardFlights === void 0 ? void 0 : uniqueOutwardFlights.length) && uniqueOutwardFlights.length,
|
|
42247
|
+
'\u00A0',
|
|
42248
|
+
translations.FLIGHTS_FORM.FLIGHTS_FOUND_2,
|
|
42249
|
+
'\u00A0',
|
|
42250
|
+
translations.FLIGHTS_FORM.FLIGHTS_FOUND_3
|
|
42251
|
+
),
|
|
42301
42252
|
sortByTypes &&
|
|
42302
42253
|
sortByTypes.length > 0 &&
|
|
42303
42254
|
React__default.createElement(
|
|
@@ -42580,7 +42531,7 @@ var formatPrice = function (price, currencyCode) {
|
|
|
42580
42531
|
};
|
|
42581
42532
|
var getExcursionDayKey = function (date) {
|
|
42582
42533
|
var parsed = typeof date === 'string' ? parseISO(date) : date;
|
|
42583
|
-
return format$
|
|
42534
|
+
return format$2(parsed, 'yyyy-MM-dd');
|
|
42584
42535
|
};
|
|
42585
42536
|
var getOptionPaxIds = function (option) {
|
|
42586
42537
|
return Array.isArray(option.paxIds)
|
|
@@ -43040,13 +42991,9 @@ var FlyIn = function (_a) {
|
|
|
43040
42991
|
className: 'flyin '
|
|
43041
42992
|
.concat(isOpen ? 'flyin--active' : '', ' ')
|
|
43042
42993
|
.concat(className, ' ')
|
|
43043
|
-
.concat(
|
|
43044
|
-
|
|
43045
|
-
|
|
43046
|
-
: '',
|
|
43047
|
-
' '
|
|
43048
|
-
)
|
|
43049
|
-
.concat(flyInType === 'excursion-results' || flyInType === 'excursion-details' ? 'flyin--medium' : '')
|
|
42994
|
+
.concat(isPackageEditFlow || flyInType === 'acco-results' ? 'flyin--large' : '', ' ')
|
|
42995
|
+
.concat(flyInType === 'excursion-results' || flyInType === 'excursion-details' ? 'flyin--medium' : '', '\n ')
|
|
42996
|
+
.concat(flyInType === 'flight-outward-results' || flyInType === 'flight-return-results' ? 'flyin--flight' : '')
|
|
43050
42997
|
},
|
|
43051
42998
|
React__default.createElement(
|
|
43052
42999
|
'div',
|
|
@@ -43125,6 +43072,17 @@ var FlyIn = function (_a) {
|
|
|
43125
43072
|
React__default.createElement(
|
|
43126
43073
|
'div',
|
|
43127
43074
|
{ className: 'search__result-row' },
|
|
43075
|
+
React__default.createElement(
|
|
43076
|
+
'div',
|
|
43077
|
+
{
|
|
43078
|
+
className: 'cta cta--filter',
|
|
43079
|
+
onClick: function () {
|
|
43080
|
+
return toggleFilters && toggleFilters();
|
|
43081
|
+
}
|
|
43082
|
+
},
|
|
43083
|
+
React__default.createElement(Icon, { name: 'ui-filter', className: 'mobile-filters-button__icon', height: 16 }),
|
|
43084
|
+
translations.SRP.FILTERS
|
|
43085
|
+
),
|
|
43128
43086
|
React__default.createElement(
|
|
43129
43087
|
'span',
|
|
43130
43088
|
{ className: 'search__result-row-text' },
|
|
@@ -43138,17 +43096,6 @@ var FlyIn = function (_a) {
|
|
|
43138
43096
|
translations.SRP.TOTAL_RESULTS_LABEL
|
|
43139
43097
|
)
|
|
43140
43098
|
),
|
|
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
43099
|
sortByTypes &&
|
|
43153
43100
|
sortByTypes.length > 0 &&
|
|
43154
43101
|
React__default.createElement(
|
|
@@ -44013,8 +43960,8 @@ var IndependentFlightSelection = function (_a) {
|
|
|
44013
43960
|
[searchResults, selectedReturnKey]
|
|
44014
43961
|
);
|
|
44015
43962
|
var firstResultDate = uniqueOutwardFlights.length > 0 ? uniqueOutwardFlights[0].outward.segments[0].departureDateTime : null;
|
|
44016
|
-
var firstResultDay = firstResultDate ? format$
|
|
44017
|
-
var firstResultMonth = firstResultDate ? format$
|
|
43963
|
+
var firstResultDay = firstResultDate ? format$2(firstResultDate, 'd') : null;
|
|
43964
|
+
var firstResultMonth = firstResultDate ? format$2(firstResultDate, 'MMM') : null;
|
|
44018
43965
|
return React__default.createElement(
|
|
44019
43966
|
React__default.Fragment,
|
|
44020
43967
|
null,
|
|
@@ -45203,7 +45150,7 @@ var GroupTourCard = function (_a) {
|
|
|
45203
45150
|
return state.searchResults;
|
|
45204
45151
|
}).selectedSearchResult;
|
|
45205
45152
|
if (!context) {
|
|
45206
|
-
return;
|
|
45153
|
+
return null;
|
|
45207
45154
|
}
|
|
45208
45155
|
var dispatch = useDispatch();
|
|
45209
45156
|
var translations = getTranslations(languageCode !== null && languageCode !== void 0 ? languageCode : 'en-GB');
|
|
@@ -45270,7 +45217,7 @@ var GroupTourCard = function (_a) {
|
|
|
45270
45217
|
React__default.createElement(
|
|
45271
45218
|
'div',
|
|
45272
45219
|
{ className: 'search__result-card__allotment__date--from' },
|
|
45273
|
-
format$
|
|
45220
|
+
format$2(new Date(result.fromDate), 'dd/MM/yyyy')
|
|
45274
45221
|
)
|
|
45275
45222
|
),
|
|
45276
45223
|
React__default.createElement(
|
|
@@ -45365,7 +45312,7 @@ var GroupTourResults = function (_a) {
|
|
|
45365
45312
|
var isLoading = _a.isLoading;
|
|
45366
45313
|
var context = useContext(SearchResultsConfigurationContext);
|
|
45367
45314
|
if (!context) {
|
|
45368
|
-
return;
|
|
45315
|
+
return null;
|
|
45369
45316
|
}
|
|
45370
45317
|
if (isLoading) {
|
|
45371
45318
|
return React__default.createElement(
|
|
@@ -46192,8 +46139,8 @@ var buildItineraryHtml = function (itinerary, translations) {
|
|
|
46192
46139
|
.map(function (node) {
|
|
46193
46140
|
var _a;
|
|
46194
46141
|
var startDay = getNodeDayRange(node).startDay;
|
|
46195
|
-
var day = node.startDate ? format$
|
|
46196
|
-
var month = node.startDate ? format$
|
|
46142
|
+
var day = node.startDate ? format$2(node.startDate, 'd') : null;
|
|
46143
|
+
var month = node.startDate ? format$2(node.startDate, 'MMM') : null;
|
|
46197
46144
|
var uniqueItems = getUniqueItems((_a = node.items) !== null && _a !== void 0 ? _a : []);
|
|
46198
46145
|
var hasItems = uniqueItems.length > 0;
|
|
46199
46146
|
var hasAccommodationInCurrentNode = uniqueItems.some(isAccommodationItem);
|
|
@@ -46402,7 +46349,7 @@ var DayByDayExcursions = function () {
|
|
|
46402
46349
|
null,
|
|
46403
46350
|
stayDates.map(function (day) {
|
|
46404
46351
|
var _a, _b, _c;
|
|
46405
|
-
var dayKey = format$
|
|
46352
|
+
var dayKey = format$2(day, 'yyyy-MM-dd');
|
|
46406
46353
|
var confirmedExcursions = (_a = confirmedExcursionsByDay[dayKey]) !== null && _a !== void 0 ? _a : [];
|
|
46407
46354
|
return React__default.createElement(
|
|
46408
46355
|
React__default.Fragment,
|
|
@@ -46416,14 +46363,14 @@ var DayByDayExcursions = function () {
|
|
|
46416
46363
|
React__default.createElement(
|
|
46417
46364
|
'p',
|
|
46418
46365
|
{ className: 'search__results__label__date-date' },
|
|
46419
|
-
format$
|
|
46366
|
+
format$2(day, 'd', {
|
|
46420
46367
|
locale: getLocale((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB')
|
|
46421
46368
|
})
|
|
46422
46369
|
),
|
|
46423
46370
|
React__default.createElement(
|
|
46424
46371
|
'p',
|
|
46425
46372
|
null,
|
|
46426
|
-
format$
|
|
46373
|
+
format$2(day, 'MMM', {
|
|
46427
46374
|
locale: getLocale((_c = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _c !== void 0 ? _c : 'en-GB')
|
|
46428
46375
|
})
|
|
46429
46376
|
)
|
|
@@ -46594,8 +46541,6 @@ var WLSidebar = function (_a) {
|
|
|
46594
46541
|
if (!editablePackagingEntry) {
|
|
46595
46542
|
return null;
|
|
46596
46543
|
}
|
|
46597
|
-
console.log('editablePackagingEntry in WLSidebar:', editablePackagingEntry);
|
|
46598
|
-
console.log('priceDetails in WLSidebar:', priceDetails);
|
|
46599
46544
|
var sortedLines = useMemo(
|
|
46600
46545
|
function () {
|
|
46601
46546
|
var _a;
|
|
@@ -46740,19 +46685,731 @@ var WLSidebar = function (_a) {
|
|
|
46740
46685
|
});
|
|
46741
46686
|
};
|
|
46742
46687
|
|
|
46743
|
-
var
|
|
46688
|
+
var formatBirthDate = function (birthDate) {
|
|
46689
|
+
if (!birthDate) return '';
|
|
46690
|
+
return birthDate.split('T')[0].split('-').reverse().join('/');
|
|
46691
|
+
};
|
|
46692
|
+
var SharedSummary = function (_a) {
|
|
46744
46693
|
var _b;
|
|
46745
|
-
var
|
|
46694
|
+
var translations = _a.translations,
|
|
46695
|
+
travelerFormValues = _a.travelerFormValues,
|
|
46696
|
+
checkboxes = _a.checkboxes,
|
|
46697
|
+
notifications = _a.notifications,
|
|
46698
|
+
_c = _a.remarks,
|
|
46699
|
+
remarks = _c === void 0 ? '' : _c,
|
|
46700
|
+
_d = _a.voucher,
|
|
46701
|
+
voucher = _d === void 0 ? {} : _d,
|
|
46702
|
+
_e = _a.voucherCodes,
|
|
46703
|
+
voucherCodes = _e === void 0 ? [] : _e,
|
|
46704
|
+
_f = _a.enableVoucher,
|
|
46705
|
+
enableVoucher = _f === void 0 ? false : _f,
|
|
46706
|
+
_g = _a.allowOption,
|
|
46707
|
+
allowOption = _g === void 0 ? false : _g,
|
|
46708
|
+
_h = _a.isOffer,
|
|
46709
|
+
isOffer = _h === void 0 ? false : _h,
|
|
46710
|
+
customValidateText = _a.customValidateText,
|
|
46711
|
+
_j = _a.isSubmitting,
|
|
46712
|
+
isSubmitting = _j === void 0 ? false : _j,
|
|
46713
|
+
_k = _a.userValidated,
|
|
46714
|
+
userValidated = _k === void 0 ? true : _k,
|
|
46715
|
+
renderOptions = _a.renderOptions,
|
|
46716
|
+
renderPreviousButton = _a.renderPreviousButton,
|
|
46717
|
+
renderLoader = _a.renderLoader,
|
|
46718
|
+
onSubmit = _a.onSubmit,
|
|
46719
|
+
onRemarksChange = _a.onRemarksChange,
|
|
46720
|
+
onCheckboxesChange = _a.onCheckboxesChange,
|
|
46721
|
+
onNotificationsChange = _a.onNotificationsChange,
|
|
46722
|
+
onVoucherChange = _a.onVoucherChange,
|
|
46723
|
+
onValidateVoucher = _a.onValidateVoucher,
|
|
46724
|
+
onAddVoucher = _a.onAddVoucher,
|
|
46725
|
+
onRemoveVoucher = _a.onRemoveVoucher,
|
|
46726
|
+
onUserValidatedChange = _a.onUserValidatedChange;
|
|
46727
|
+
var _l = useState(checkboxes),
|
|
46728
|
+
localCheckboxes = _l[0],
|
|
46729
|
+
setLocalCheckboxes = _l[1];
|
|
46730
|
+
useEffect(
|
|
46731
|
+
function () {
|
|
46732
|
+
setLocalCheckboxes(checkboxes);
|
|
46733
|
+
},
|
|
46734
|
+
[checkboxes]
|
|
46735
|
+
);
|
|
46736
|
+
useEffect(
|
|
46737
|
+
function () {
|
|
46738
|
+
var checkboxesValidated = !isNil(localCheckboxes)
|
|
46739
|
+
? localCheckboxes.every(function (checkbox) {
|
|
46740
|
+
return checkbox.isSelected;
|
|
46741
|
+
})
|
|
46742
|
+
: true;
|
|
46743
|
+
var notificationsValidated = !isNil(notifications)
|
|
46744
|
+
? notifications
|
|
46745
|
+
.filter(function (notification) {
|
|
46746
|
+
return notification.hasToBeConfirmed;
|
|
46747
|
+
})
|
|
46748
|
+
.every(function (notification) {
|
|
46749
|
+
return notification.isConfirmed;
|
|
46750
|
+
})
|
|
46751
|
+
: true;
|
|
46752
|
+
onUserValidatedChange === null || onUserValidatedChange === void 0 ? void 0 : onUserValidatedChange(checkboxesValidated && notificationsValidated);
|
|
46753
|
+
},
|
|
46754
|
+
[localCheckboxes, notifications, onUserValidatedChange]
|
|
46755
|
+
);
|
|
46756
|
+
var handleNotificationChange = function (id, checked) {
|
|
46757
|
+
var updatedNotifications = (notifications !== null && notifications !== void 0 ? notifications : []).map(function (notification) {
|
|
46758
|
+
return notification.id === id ? __assign(__assign({}, notification), { isConfirmed: checked }) : notification;
|
|
46759
|
+
});
|
|
46760
|
+
onNotificationsChange === null || onNotificationsChange === void 0 ? void 0 : onNotificationsChange(updatedNotifications);
|
|
46761
|
+
};
|
|
46762
|
+
var handleCheckboxChange = function (id) {
|
|
46763
|
+
if (isNil(localCheckboxes)) return;
|
|
46764
|
+
var newCheckboxes = __spreadArray([], localCheckboxes, true);
|
|
46765
|
+
var index = findIndex$1(localCheckboxes, function (checkbox) {
|
|
46766
|
+
return checkbox.id === id;
|
|
46767
|
+
});
|
|
46768
|
+
if (index < 0) return;
|
|
46769
|
+
newCheckboxes[index] = __assign(__assign({}, newCheckboxes[index]), { isSelected: !newCheckboxes[index].isSelected });
|
|
46770
|
+
setLocalCheckboxes(newCheckboxes);
|
|
46771
|
+
onCheckboxesChange === null || onCheckboxesChange === void 0 ? void 0 : onCheckboxesChange(newCheckboxes);
|
|
46772
|
+
};
|
|
46773
|
+
return React__default.createElement(
|
|
46774
|
+
React__default.Fragment,
|
|
46775
|
+
null,
|
|
46776
|
+
isSubmitting && ((renderLoader === null || renderLoader === void 0 ? void 0 : renderLoader()) || React__default.createElement(Loader, null)),
|
|
46777
|
+
!isSubmitting &&
|
|
46778
|
+
React__default.createElement(
|
|
46779
|
+
'form',
|
|
46780
|
+
{ className: 'form', name: 'booking--summary', id: 'booking--summary', onSubmit: onSubmit },
|
|
46781
|
+
React__default.createElement(
|
|
46782
|
+
'div',
|
|
46783
|
+
{ className: 'form__booking--summary' },
|
|
46784
|
+
React__default.createElement(
|
|
46785
|
+
'div',
|
|
46786
|
+
{ className: 'form__region' },
|
|
46787
|
+
React__default.createElement(
|
|
46788
|
+
'div',
|
|
46789
|
+
{ className: 'form__row' },
|
|
46790
|
+
React__default.createElement(
|
|
46791
|
+
'div',
|
|
46792
|
+
{ className: 'form__group' },
|
|
46793
|
+
React__default.createElement(
|
|
46794
|
+
'div',
|
|
46795
|
+
{ className: 'form__region-header' },
|
|
46796
|
+
React__default.createElement('h5', { className: 'form__region-heading' }, translations.SUMMARY.PERSONAL_DETAILS)
|
|
46797
|
+
)
|
|
46798
|
+
)
|
|
46799
|
+
),
|
|
46800
|
+
travelerFormValues.rooms.map(function (room, roomIndex) {
|
|
46801
|
+
var _a, _b;
|
|
46802
|
+
return React__default.createElement(
|
|
46803
|
+
'div',
|
|
46804
|
+
{ className: 'form__row', key: roomIndex },
|
|
46805
|
+
React__default.createElement(
|
|
46806
|
+
'div',
|
|
46807
|
+
{ className: 'form__group' },
|
|
46808
|
+
React__default.createElement(
|
|
46809
|
+
'div',
|
|
46810
|
+
{ className: 'form__region-header' },
|
|
46811
|
+
React__default.createElement(
|
|
46812
|
+
'h5',
|
|
46813
|
+
{ className: 'form__region-heading' },
|
|
46814
|
+
travelerFormValues.rooms.length > 1
|
|
46815
|
+
? ''.concat(translations.SHARED.ROOM, ' ').concat(roomIndex + 1)
|
|
46816
|
+
: translations.ROOM_OPTIONS_FORM.TRAVELER_GROUP
|
|
46817
|
+
),
|
|
46818
|
+
React__default.createElement(
|
|
46819
|
+
'p',
|
|
46820
|
+
{ className: 'form__region-label' },
|
|
46821
|
+
''
|
|
46822
|
+
.concat(room.adults.length + room.children.length, ' ')
|
|
46823
|
+
.concat(room.adults.length + room.children.length === 1 ? translations.SUMMARY.TRAVELER : translations.SUMMARY.TRAVELERS, ': ')
|
|
46824
|
+
.concat(
|
|
46825
|
+
compact([
|
|
46826
|
+
room.adults.length,
|
|
46827
|
+
room.adults.length === 1 && ' '.concat(translations.SUMMARY.ADULT),
|
|
46828
|
+
room.adults.length > 1 && ' '.concat(translations.SUMMARY.ADULTS),
|
|
46829
|
+
((_a = room.adults) === null || _a === void 0 ? void 0 : _a.length) &&
|
|
46830
|
+
((_b = room.children) === null || _b === void 0 ? void 0 : _b.length) &&
|
|
46831
|
+
', ',
|
|
46832
|
+
room.children.length,
|
|
46833
|
+
room.children.length === 1 && ' '.concat(translations.SUMMARY.CHILD),
|
|
46834
|
+
room.children.length > 1 && ' '.concat(translations.SUMMARY.CHILDREN)
|
|
46835
|
+
]).join('')
|
|
46836
|
+
)
|
|
46837
|
+
)
|
|
46838
|
+
)
|
|
46839
|
+
),
|
|
46840
|
+
__spreadArray(__spreadArray([], room.adults, true), room.children, true).map(function (traveler) {
|
|
46841
|
+
var isMainBooker = traveler.id === travelerFormValues.mainBookerId;
|
|
46842
|
+
return React__default.createElement(
|
|
46843
|
+
'div',
|
|
46844
|
+
{ className: 'form__group form__group--sm-50', key: traveler.id },
|
|
46845
|
+
React__default.createElement(
|
|
46846
|
+
'ul',
|
|
46847
|
+
{ className: 'list list--plain' },
|
|
46848
|
+
React__default.createElement(
|
|
46849
|
+
'li',
|
|
46850
|
+
{ className: 'list__item' },
|
|
46851
|
+
React__default.createElement('strong', null, traveler.firstName, ' ', traveler.lastName),
|
|
46852
|
+
' ',
|
|
46853
|
+
isMainBooker && React__default.createElement('em', null, '(', translations.SUMMARY.MAIN_BOOKER, ')')
|
|
46854
|
+
),
|
|
46855
|
+
React__default.createElement('li', { className: 'list__item' }, formatBirthDate(traveler.birthDate)),
|
|
46856
|
+
isMainBooker &&
|
|
46857
|
+
React__default.createElement(
|
|
46858
|
+
React__default.Fragment,
|
|
46859
|
+
null,
|
|
46860
|
+
travelerFormValues.street &&
|
|
46861
|
+
React__default.createElement(
|
|
46862
|
+
'li',
|
|
46863
|
+
{ className: 'list__item' },
|
|
46864
|
+
''
|
|
46865
|
+
.concat(travelerFormValues.street, ' ')
|
|
46866
|
+
.concat(compact([travelerFormValues.houseNumber, travelerFormValues.box]).join(' '), ', ')
|
|
46867
|
+
.concat(travelerFormValues.zipCode, ' ')
|
|
46868
|
+
.concat(travelerFormValues.place)
|
|
46869
|
+
),
|
|
46870
|
+
travelerFormValues.phone && React__default.createElement('li', { className: 'list__item' }, travelerFormValues.phone),
|
|
46871
|
+
travelerFormValues.email && React__default.createElement('li', { className: 'list__item' }, travelerFormValues.email)
|
|
46872
|
+
)
|
|
46873
|
+
)
|
|
46874
|
+
);
|
|
46875
|
+
})
|
|
46876
|
+
);
|
|
46877
|
+
})
|
|
46878
|
+
),
|
|
46879
|
+
React__default.createElement(
|
|
46880
|
+
'div',
|
|
46881
|
+
{ className: 'form__region' },
|
|
46882
|
+
React__default.createElement(
|
|
46883
|
+
'div',
|
|
46884
|
+
{ className: 'form__row' },
|
|
46885
|
+
React__default.createElement(
|
|
46886
|
+
'div',
|
|
46887
|
+
{ className: 'form__group' },
|
|
46888
|
+
React__default.createElement(
|
|
46889
|
+
'div',
|
|
46890
|
+
{ className: 'form__region-header' },
|
|
46891
|
+
React__default.createElement('h5', { className: 'form__region-heading' }, translations.SUMMARY.OPTIONS)
|
|
46892
|
+
)
|
|
46893
|
+
)
|
|
46894
|
+
),
|
|
46895
|
+
React__default.createElement(
|
|
46896
|
+
'div',
|
|
46897
|
+
{ className: 'form__row' },
|
|
46898
|
+
React__default.createElement(
|
|
46899
|
+
'div',
|
|
46900
|
+
{ className: 'form__group' },
|
|
46901
|
+
React__default.createElement('ul', { className: 'list list--booking-summary' }, renderOptions())
|
|
46902
|
+
)
|
|
46903
|
+
)
|
|
46904
|
+
),
|
|
46905
|
+
enableVoucher &&
|
|
46906
|
+
React__default.createElement(
|
|
46907
|
+
'div',
|
|
46908
|
+
{ className: 'form__region' },
|
|
46909
|
+
React__default.createElement(
|
|
46910
|
+
'div',
|
|
46911
|
+
{ className: 'form__row' },
|
|
46912
|
+
React__default.createElement(
|
|
46913
|
+
'div',
|
|
46914
|
+
{ className: 'form__group' },
|
|
46915
|
+
React__default.createElement(
|
|
46916
|
+
'div',
|
|
46917
|
+
{ className: 'form__region-header' },
|
|
46918
|
+
React__default.createElement('h5', { className: 'form__region-heading' }, translations.SUMMARY.VOUCHERS)
|
|
46919
|
+
)
|
|
46920
|
+
)
|
|
46921
|
+
),
|
|
46922
|
+
React__default.createElement(
|
|
46923
|
+
'div',
|
|
46924
|
+
{ className: 'form__row' },
|
|
46925
|
+
React__default.createElement(
|
|
46926
|
+
'div',
|
|
46927
|
+
{ className: 'form__group' },
|
|
46928
|
+
React__default.createElement('input', {
|
|
46929
|
+
type: 'text',
|
|
46930
|
+
className: 'form__input info-message__voucher__input',
|
|
46931
|
+
value: (_b = voucher.code) !== null && _b !== void 0 ? _b : '',
|
|
46932
|
+
onChange: function (event) {
|
|
46933
|
+
return onVoucherChange === null || onVoucherChange === void 0 ? void 0 : onVoucherChange({ code: event.target.value });
|
|
46934
|
+
}
|
|
46935
|
+
}),
|
|
46936
|
+
React__default.createElement(
|
|
46937
|
+
'button',
|
|
46938
|
+
{ type: 'button', className: buildClassName(['cta', !voucher.code && 'cta--disabled']), onClick: onValidateVoucher },
|
|
46939
|
+
translations.SUMMARY.VOUCHER_VALIDATE
|
|
46940
|
+
)
|
|
46941
|
+
)
|
|
46942
|
+
),
|
|
46943
|
+
React__default.createElement(
|
|
46944
|
+
'div',
|
|
46945
|
+
{ className: 'form__row' },
|
|
46946
|
+
React__default.createElement(
|
|
46947
|
+
'div',
|
|
46948
|
+
{ className: 'form__group info-message__voucher' },
|
|
46949
|
+
voucher.isValid &&
|
|
46950
|
+
voucher.isValidated &&
|
|
46951
|
+
React__default.createElement(
|
|
46952
|
+
'div',
|
|
46953
|
+
{ className: 'info-message info-message__voucher__valid' },
|
|
46954
|
+
React__default.createElement('span', null, translations.SUMMARY.VOUCHER_VALID),
|
|
46955
|
+
React__default.createElement(
|
|
46956
|
+
'button',
|
|
46957
|
+
{ type: 'button', className: 'cta cta--secondary', onClick: onAddVoucher },
|
|
46958
|
+
translations.SUMMARY.ADD_VOUCHER
|
|
46959
|
+
)
|
|
46960
|
+
),
|
|
46961
|
+
!voucher.isValid &&
|
|
46962
|
+
voucher.isValidated &&
|
|
46963
|
+
React__default.createElement('div', { className: 'info-message--error' }, translations.SUMMARY.VOUCHER_INVALID)
|
|
46964
|
+
)
|
|
46965
|
+
),
|
|
46966
|
+
React__default.createElement(
|
|
46967
|
+
'div',
|
|
46968
|
+
{ className: 'form__row' },
|
|
46969
|
+
React__default.createElement(
|
|
46970
|
+
'ul',
|
|
46971
|
+
{ className: 'info-message__voucher' },
|
|
46972
|
+
!isEmpty(voucherCodes) &&
|
|
46973
|
+
voucherCodes.map(function (code, index) {
|
|
46974
|
+
return React__default.createElement(
|
|
46975
|
+
'li',
|
|
46976
|
+
{ key: ''.concat(code, '-').concat(index) },
|
|
46977
|
+
React__default.createElement(
|
|
46978
|
+
'div',
|
|
46979
|
+
{ className: 'info-message__voucher__list' },
|
|
46980
|
+
code,
|
|
46981
|
+
' ',
|
|
46982
|
+
React__default.createElement(
|
|
46983
|
+
'button',
|
|
46984
|
+
{
|
|
46985
|
+
type: 'button',
|
|
46986
|
+
className: 'cta--add-remove',
|
|
46987
|
+
onClick: function () {
|
|
46988
|
+
return onRemoveVoucher === null || onRemoveVoucher === void 0 ? void 0 : onRemoveVoucher(code);
|
|
46989
|
+
}
|
|
46990
|
+
},
|
|
46991
|
+
React__default.createElement(Icon, { height: 16, name: 'ui-trashcan' })
|
|
46992
|
+
)
|
|
46993
|
+
)
|
|
46994
|
+
);
|
|
46995
|
+
})
|
|
46996
|
+
)
|
|
46997
|
+
)
|
|
46998
|
+
),
|
|
46999
|
+
!isEmpty(notifications) &&
|
|
47000
|
+
React__default.createElement(
|
|
47001
|
+
'div',
|
|
47002
|
+
{ className: 'form__region' },
|
|
47003
|
+
React__default.createElement(
|
|
47004
|
+
'div',
|
|
47005
|
+
{ className: 'form__row' },
|
|
47006
|
+
React__default.createElement(
|
|
47007
|
+
'div',
|
|
47008
|
+
{ className: 'form__group' },
|
|
47009
|
+
React__default.createElement(
|
|
47010
|
+
'div',
|
|
47011
|
+
{ className: 'info-message' },
|
|
47012
|
+
React__default.createElement(Icon, { name: 'ui-tooltip', className: 'icon--secondary-color' }),
|
|
47013
|
+
React__default.createElement(
|
|
47014
|
+
'div',
|
|
47015
|
+
{ className: 'info-message__copy' },
|
|
47016
|
+
React__default.createElement('h5', null, translations.SUMMARY.NOTIFICATIONS_TITLE),
|
|
47017
|
+
uniqBy(
|
|
47018
|
+
(notifications !== null && notifications !== void 0 ? notifications : []).filter(function (notification) {
|
|
47019
|
+
return !notification.hasToBeConfirmed;
|
|
47020
|
+
}),
|
|
47021
|
+
'id'
|
|
47022
|
+
).map(function (notification) {
|
|
47023
|
+
return React__default.createElement(
|
|
47024
|
+
'span',
|
|
47025
|
+
{ key: notification.id, className: 'checkbox__label-text' },
|
|
47026
|
+
React__default.createElement('strong', { className: 'checkbox__label-text--title' }, notification.title),
|
|
47027
|
+
React__default.createElement('span', { className: 'checkbox__label-text--description' }, notification.description)
|
|
47028
|
+
);
|
|
47029
|
+
}),
|
|
47030
|
+
uniqBy(
|
|
47031
|
+
(notifications !== null && notifications !== void 0 ? notifications : []).filter(function (notification) {
|
|
47032
|
+
return notification.hasToBeConfirmed;
|
|
47033
|
+
}),
|
|
47034
|
+
'id'
|
|
47035
|
+
).map(function (notification) {
|
|
47036
|
+
return React__default.createElement(
|
|
47037
|
+
'div',
|
|
47038
|
+
{ className: 'checkbox', key: notification.id },
|
|
47039
|
+
React__default.createElement(
|
|
47040
|
+
'label',
|
|
47041
|
+
{ className: 'checkbox__label' },
|
|
47042
|
+
React__default.createElement('input', {
|
|
47043
|
+
type: 'checkbox',
|
|
47044
|
+
className: 'checkbox__input',
|
|
47045
|
+
checked: notification.isConfirmed,
|
|
47046
|
+
onChange: function (event) {
|
|
47047
|
+
return handleNotificationChange(notification.id, event.target.checked);
|
|
47048
|
+
}
|
|
47049
|
+
}),
|
|
47050
|
+
React__default.createElement(
|
|
47051
|
+
'span',
|
|
47052
|
+
{ className: 'checkbox__label-text' },
|
|
47053
|
+
React__default.createElement('strong', { className: 'checkbox__label-text--title' }, notification.title),
|
|
47054
|
+
React__default.createElement('span', { className: 'checkbox__label-text--description' }, notification.description)
|
|
47055
|
+
)
|
|
47056
|
+
)
|
|
47057
|
+
);
|
|
47058
|
+
})
|
|
47059
|
+
)
|
|
47060
|
+
)
|
|
47061
|
+
)
|
|
47062
|
+
)
|
|
47063
|
+
),
|
|
47064
|
+
React__default.createElement(
|
|
47065
|
+
'div',
|
|
47066
|
+
{ className: 'form__region' },
|
|
47067
|
+
React__default.createElement(
|
|
47068
|
+
'div',
|
|
47069
|
+
{ className: 'form__row' },
|
|
47070
|
+
React__default.createElement(
|
|
47071
|
+
'div',
|
|
47072
|
+
{ className: 'form__group' },
|
|
47073
|
+
React__default.createElement(
|
|
47074
|
+
'div',
|
|
47075
|
+
{ className: 'form__region-header' },
|
|
47076
|
+
React__default.createElement('h5', { className: 'form__region-heading' }, translations.SUMMARY.REMARKS)
|
|
47077
|
+
)
|
|
47078
|
+
)
|
|
47079
|
+
),
|
|
47080
|
+
React__default.createElement(
|
|
47081
|
+
'div',
|
|
47082
|
+
{ className: 'form__row' },
|
|
47083
|
+
React__default.createElement(
|
|
47084
|
+
'div',
|
|
47085
|
+
{ className: 'form__group' },
|
|
47086
|
+
React__default.createElement('textarea', {
|
|
47087
|
+
className: 'form__input',
|
|
47088
|
+
value: remarks,
|
|
47089
|
+
onChange: function (event) {
|
|
47090
|
+
return onRemarksChange === null || onRemarksChange === void 0 ? void 0 : onRemarksChange(event.target.value);
|
|
47091
|
+
}
|
|
47092
|
+
})
|
|
47093
|
+
)
|
|
47094
|
+
)
|
|
47095
|
+
),
|
|
47096
|
+
React__default.createElement(
|
|
47097
|
+
'div',
|
|
47098
|
+
{ className: 'form__region' },
|
|
47099
|
+
React__default.createElement(
|
|
47100
|
+
'div',
|
|
47101
|
+
{ className: 'form__row' },
|
|
47102
|
+
React__default.createElement(
|
|
47103
|
+
'div',
|
|
47104
|
+
{ className: 'form__group' },
|
|
47105
|
+
React__default.createElement(
|
|
47106
|
+
'div',
|
|
47107
|
+
{ className: 'info-message' },
|
|
47108
|
+
React__default.createElement(Icon, { name: 'ui-tooltip', className: 'icon--secondary-color' }),
|
|
47109
|
+
React__default.createElement(
|
|
47110
|
+
'div',
|
|
47111
|
+
{ className: 'info-message__copy' },
|
|
47112
|
+
React__default.createElement('h5', null, translations.SUMMARY.VALIDATE_TITLE),
|
|
47113
|
+
customValidateText
|
|
47114
|
+
? React__default.createElement('div', { dangerouslySetInnerHTML: { __html: customValidateText } })
|
|
47115
|
+
: React__default.createElement(
|
|
47116
|
+
React__default.Fragment,
|
|
47117
|
+
null,
|
|
47118
|
+
React__default.createElement(
|
|
47119
|
+
'p',
|
|
47120
|
+
null,
|
|
47121
|
+
isOffer ? translations.SUMMARY.VALIDATE_TEXT_OFFER : translations.SUMMARY.VALIDATE_TEXT_BOOKING
|
|
47122
|
+
),
|
|
47123
|
+
allowOption && React__default.createElement('p', null, translations.SUMMARY.VALIDATE_TEXT_OPTION)
|
|
47124
|
+
),
|
|
47125
|
+
localCheckboxes === null || localCheckboxes === void 0
|
|
47126
|
+
? void 0
|
|
47127
|
+
: localCheckboxes.map(function (checkbox) {
|
|
47128
|
+
return React__default.createElement(
|
|
47129
|
+
'div',
|
|
47130
|
+
{ className: 'checkbox', key: checkbox.id },
|
|
47131
|
+
React__default.createElement(
|
|
47132
|
+
'label',
|
|
47133
|
+
{ className: 'checkbox__label' },
|
|
47134
|
+
React__default.createElement('input', {
|
|
47135
|
+
type: 'checkbox',
|
|
47136
|
+
className: 'checkbox__input',
|
|
47137
|
+
checked: checkbox.isSelected,
|
|
47138
|
+
onChange: function () {
|
|
47139
|
+
return handleCheckboxChange(checkbox.id);
|
|
47140
|
+
}
|
|
47141
|
+
}),
|
|
47142
|
+
React__default.createElement('span', { className: 'checkbox__label-text', dangerouslySetInnerHTML: { __html: checkbox.text } })
|
|
47143
|
+
)
|
|
47144
|
+
);
|
|
47145
|
+
})
|
|
47146
|
+
)
|
|
47147
|
+
)
|
|
47148
|
+
)
|
|
47149
|
+
)
|
|
47150
|
+
)
|
|
47151
|
+
),
|
|
47152
|
+
React__default.createElement(
|
|
47153
|
+
'div',
|
|
47154
|
+
{ className: 'booking__navigator' },
|
|
47155
|
+
renderPreviousButton(),
|
|
47156
|
+
allowOption &&
|
|
47157
|
+
React__default.createElement(
|
|
47158
|
+
'button',
|
|
47159
|
+
{
|
|
47160
|
+
title: translations.STEPS.SUBMIT_OPTION,
|
|
47161
|
+
className: buildClassName(['cta', !userValidated && 'cta--disabled']),
|
|
47162
|
+
disabled: !userValidated,
|
|
47163
|
+
name: 'option'
|
|
47164
|
+
},
|
|
47165
|
+
translations.STEPS.SUBMIT_OPTION
|
|
47166
|
+
),
|
|
47167
|
+
React__default.createElement(
|
|
47168
|
+
'button',
|
|
47169
|
+
{
|
|
47170
|
+
title: isOffer ? translations.STEPS.SUBMIT_OFFER : translations.STEPS.SUBMIT_BOOKING,
|
|
47171
|
+
className: buildClassName(['cta', !userValidated && 'cta--disabled']),
|
|
47172
|
+
disabled: !userValidated,
|
|
47173
|
+
name: 'default'
|
|
47174
|
+
},
|
|
47175
|
+
isOffer ? translations.STEPS.SUBMIT_OFFER : translations.STEPS.SUBMIT_BOOKING
|
|
47176
|
+
)
|
|
47177
|
+
)
|
|
47178
|
+
)
|
|
47179
|
+
);
|
|
47180
|
+
};
|
|
47181
|
+
|
|
47182
|
+
var renderEditablePackagingEntrySummaryOptions = function (editablePackagingEntry, priceDetails, translations) {
|
|
47183
|
+
var _a, _b;
|
|
47184
|
+
var priceDetailsByProduct = groupBy(
|
|
47185
|
+
(_a = priceDetails === null || priceDetails === void 0 ? void 0 : priceDetails.details) !== null && _a !== void 0 ? _a : [],
|
|
47186
|
+
function (detail) {
|
|
47187
|
+
return ''.concat(detail.productCode, '|').concat(detail.accommodationCode);
|
|
47188
|
+
}
|
|
47189
|
+
);
|
|
47190
|
+
return (
|
|
47191
|
+
(_b = editablePackagingEntry === null || editablePackagingEntry === void 0 ? void 0 : editablePackagingEntry.lines) !== null && _b !== void 0 ? _b : []
|
|
47192
|
+
).map(function (line) {
|
|
47193
|
+
var _a, _b, _c;
|
|
47194
|
+
var groupedPriceDetails = (_a = priceDetailsByProduct[''.concat(line.productCode, '|').concat(line.accommodationCode)]) !== null && _a !== void 0 ? _a : [];
|
|
47195
|
+
var visiblePriceDetails = groupedPriceDetails.filter(function (detail) {
|
|
47196
|
+
return detail.showPrice || detail.isSeparate;
|
|
47197
|
+
});
|
|
47198
|
+
return React__default.createElement(
|
|
47199
|
+
'li',
|
|
47200
|
+
{ key: line.guid },
|
|
47201
|
+
React__default.createElement('h6', null, line.productName),
|
|
47202
|
+
React__default.createElement(
|
|
47203
|
+
'ul',
|
|
47204
|
+
null,
|
|
47205
|
+
React__default.createElement('li', { className: 'list__item' }, compact([line.accommodationName, line.regimeName]).join(', ')),
|
|
47206
|
+
(_c = (_b = line.flightInformation) === null || _b === void 0 ? void 0 : _b.flightLines) === null || _c === void 0
|
|
47207
|
+
? void 0
|
|
47208
|
+
: _c.map(function (flightLine, index) {
|
|
47209
|
+
var _a, _b;
|
|
47210
|
+
return React__default.createElement(
|
|
47211
|
+
'li',
|
|
47212
|
+
{ className: 'list__item', key: ''.concat(line.guid, '-').concat(index) },
|
|
47213
|
+
flightLine.departureAirportCode,
|
|
47214
|
+
' ',
|
|
47215
|
+
(_a = flightLine.departureTime) === null || _a === void 0 ? void 0 : _a.slice(0, 5),
|
|
47216
|
+
' > ',
|
|
47217
|
+
flightLine.arrivalAirportCode,
|
|
47218
|
+
' ',
|
|
47219
|
+
(_b = flightLine.arrivalTime) === null || _b === void 0 ? void 0 : _b.slice(0, 5),
|
|
47220
|
+
' (',
|
|
47221
|
+
flightLine.operatingFlightNumber || ''.concat(flightLine.airlineCode).concat(flightLine.flightNumber),
|
|
47222
|
+
')'
|
|
47223
|
+
);
|
|
47224
|
+
}),
|
|
47225
|
+
!isEmpty(visiblePriceDetails) &&
|
|
47226
|
+
visiblePriceDetails.map(function (detail, index) {
|
|
47227
|
+
var _a;
|
|
47228
|
+
return React__default.createElement(
|
|
47229
|
+
'li',
|
|
47230
|
+
{ className: 'list__item', key: ''.concat(line.guid, '-price-').concat(index) },
|
|
47231
|
+
detail.priceDescription,
|
|
47232
|
+
': ',
|
|
47233
|
+
(_a = detail.total) === null || _a === void 0 ? void 0 : _a.toLocaleString(undefined, { style: 'currency', currency: 'EUR' })
|
|
47234
|
+
);
|
|
47235
|
+
})
|
|
47236
|
+
),
|
|
47237
|
+
React__default.createElement(
|
|
47238
|
+
'p',
|
|
47239
|
+
null,
|
|
47240
|
+
'(',
|
|
47241
|
+
line.from === line.to
|
|
47242
|
+
? getDateText(line.from)
|
|
47243
|
+
: React__default.createElement(React__default.Fragment, null, getDateText(line.from), ' > ', getDateText(line.to)),
|
|
47244
|
+
')'
|
|
47245
|
+
)
|
|
47246
|
+
);
|
|
47247
|
+
});
|
|
47248
|
+
};
|
|
47249
|
+
|
|
47250
|
+
var travelerFormFields = [{ type: 'gender' }, { type: 'firstName' }, { type: 'lastName' }, { type: 'birthDate' }];
|
|
47251
|
+
var mainBookerFormFields = [
|
|
47252
|
+
{ type: 'street' },
|
|
47253
|
+
{ type: 'houseNumber' },
|
|
47254
|
+
{ type: 'box' },
|
|
47255
|
+
{ type: 'zipCode' },
|
|
47256
|
+
{ type: 'place' },
|
|
47257
|
+
{ type: 'country' },
|
|
47258
|
+
{ type: 'phone' },
|
|
47259
|
+
{ type: 'email' }
|
|
47260
|
+
];
|
|
47261
|
+
var travellersSettings = {
|
|
47262
|
+
countries: [
|
|
47263
|
+
{ iso2: 'BE', name: 'Belgium', phonePrefix: '+32' },
|
|
47264
|
+
{ iso2: 'NL', name: 'Netherlands', phonePrefix: '+31' },
|
|
47265
|
+
{ iso2: 'FR', name: 'France', phonePrefix: '+33' }
|
|
47266
|
+
],
|
|
47267
|
+
formFields: travelerFormFields,
|
|
47268
|
+
mainBookerFormFields: mainBookerFormFields
|
|
47269
|
+
};
|
|
47270
|
+
var BookPackagingEntry = function (_a) {
|
|
47271
|
+
var _b, _c;
|
|
47272
|
+
var activeSearchSeed = _a.activeSearchSeed,
|
|
47273
|
+
isConfirmationPage = _a.isConfirmationPage;
|
|
46746
47274
|
var context = useContext(SearchResultsConfigurationContext);
|
|
46747
|
-
|
|
46748
|
-
|
|
46749
|
-
|
|
46750
|
-
|
|
46751
|
-
|
|
46752
|
-
|
|
46753
|
-
|
|
46754
|
-
|
|
47275
|
+
var dispatch = useDispatch();
|
|
47276
|
+
var _d = useSelector(function (state) {
|
|
47277
|
+
return state.searchResults;
|
|
47278
|
+
}),
|
|
47279
|
+
editablePackagingEntry = _d.editablePackagingEntry,
|
|
47280
|
+
priceDetails = _d.priceDetails,
|
|
47281
|
+
currentStep = _d.currentStep,
|
|
47282
|
+
bookingNumber = _d.bookingNumber;
|
|
47283
|
+
var _e = useState([]),
|
|
47284
|
+
countries = _e[0],
|
|
47285
|
+
setCountries = _e[1];
|
|
47286
|
+
var _f = useState(true),
|
|
47287
|
+
userValidated = _f[0],
|
|
47288
|
+
setUserValidated = _f[1];
|
|
47289
|
+
var _g = useState(''),
|
|
47290
|
+
remarks = _g[0],
|
|
47291
|
+
setRemarks = _g[1];
|
|
47292
|
+
var _h = useState(false),
|
|
47293
|
+
isSubmitting = _h[0],
|
|
47294
|
+
setIsSubmitting = _h[1];
|
|
47295
|
+
if (!context || !editablePackagingEntry || !priceDetails) return null;
|
|
47296
|
+
var config = {
|
|
47297
|
+
host: context.tideConnection.host,
|
|
47298
|
+
apiKey: context.tideConnection.apiKey
|
|
47299
|
+
};
|
|
47300
|
+
var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
|
|
46755
47301
|
var stepLabels = [translations.STEPS.PERSONAL_DETAILS, translations.STEPS.SUMMARY, translations.STEPS.CONFIRMATION];
|
|
47302
|
+
console.log('editablePackagingEntry in WLSidebar:', editablePackagingEntry);
|
|
47303
|
+
console.log('priceDetails in WLSidebar:', priceDetails);
|
|
47304
|
+
var initialValues = useMemo(
|
|
47305
|
+
function () {
|
|
47306
|
+
return createInitialValuesFromEditablePackagingEntry(editablePackagingEntry);
|
|
47307
|
+
},
|
|
47308
|
+
[editablePackagingEntry === null || editablePackagingEntry === void 0 ? void 0 : editablePackagingEntry.transactionId]
|
|
47309
|
+
);
|
|
47310
|
+
var formik = useFormik({
|
|
47311
|
+
initialValues: initialValues,
|
|
47312
|
+
enableReinitialize: true,
|
|
47313
|
+
validate: function (values) {
|
|
47314
|
+
return validateForm(values, false, 'b2c', translations, travellersSettings.formFields, travellersSettings.mainBookerFormFields);
|
|
47315
|
+
},
|
|
47316
|
+
onSubmit: function (values) {
|
|
47317
|
+
dispatch(setEditablePackagingEntry(applyTravelersFormValuesToEditablePackagingEntry(editablePackagingEntry, values)));
|
|
47318
|
+
dispatch(setCurrentStep(1));
|
|
47319
|
+
}
|
|
47320
|
+
});
|
|
47321
|
+
useEffect(function () {
|
|
47322
|
+
if (!context) return;
|
|
47323
|
+
var controller = new AbortController();
|
|
47324
|
+
(function () {
|
|
47325
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
47326
|
+
var result;
|
|
47327
|
+
return __generator(this, function (_b) {
|
|
47328
|
+
switch (_b.label) {
|
|
47329
|
+
case 0:
|
|
47330
|
+
_b.trys.push([0, 2, , 3]);
|
|
47331
|
+
return [4 /*yield*/, build.getCountries(config, controller.signal)];
|
|
47332
|
+
case 1:
|
|
47333
|
+
result = _b.sent();
|
|
47334
|
+
setCountries(result.items);
|
|
47335
|
+
return [3 /*break*/, 3];
|
|
47336
|
+
case 2:
|
|
47337
|
+
_b.sent();
|
|
47338
|
+
return [3 /*break*/, 3];
|
|
47339
|
+
case 3:
|
|
47340
|
+
return [2 /*return*/];
|
|
47341
|
+
}
|
|
47342
|
+
});
|
|
47343
|
+
});
|
|
47344
|
+
})();
|
|
47345
|
+
return function () {
|
|
47346
|
+
return controller.abort();
|
|
47347
|
+
};
|
|
47348
|
+
}, []);
|
|
47349
|
+
useEffect(
|
|
47350
|
+
function () {
|
|
47351
|
+
if (isConfirmationPage) {
|
|
47352
|
+
dispatch(setCurrentStep(2));
|
|
47353
|
+
}
|
|
47354
|
+
},
|
|
47355
|
+
[isConfirmationPage, dispatch]
|
|
47356
|
+
);
|
|
47357
|
+
var handleSummarySubmit = function (e) {
|
|
47358
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
47359
|
+
var updatedEditablePackagingEntry, redirectUrl, request, bookingResponse;
|
|
47360
|
+
var _a, _b;
|
|
47361
|
+
return __generator(this, function (_c) {
|
|
47362
|
+
switch (_c.label) {
|
|
47363
|
+
case 0:
|
|
47364
|
+
e.preventDefault();
|
|
47365
|
+
setIsSubmitting(true);
|
|
47366
|
+
if (typeof window !== 'undefined') {
|
|
47367
|
+
window.scrollTo(0, 0);
|
|
47368
|
+
}
|
|
47369
|
+
updatedEditablePackagingEntry = __assign(__assign({}, editablePackagingEntry), { remarks: remarks });
|
|
47370
|
+
if (context.generatePaymentUrl && typeof window !== 'undefined') {
|
|
47371
|
+
redirectUrl = new URL(window.location.href);
|
|
47372
|
+
redirectUrl.searchParams.set('bookingConfirmation', 'true');
|
|
47373
|
+
redirectUrl.searchParams.set('link', '');
|
|
47374
|
+
updatedEditablePackagingEntry = __assign(__assign({}, updatedEditablePackagingEntry), {
|
|
47375
|
+
redirectUrl: redirectUrl.toString(),
|
|
47376
|
+
returnPaymentUrl: true
|
|
47377
|
+
});
|
|
47378
|
+
}
|
|
47379
|
+
dispatch(setEditablePackagingEntry(updatedEditablePackagingEntry));
|
|
47380
|
+
_c.label = 1;
|
|
47381
|
+
case 1:
|
|
47382
|
+
_c.trys.push([1, 3, 4, 5]);
|
|
47383
|
+
request = {
|
|
47384
|
+
language: (_a = context.languageCode) !== null && _a !== void 0 ? _a : 'en-GB',
|
|
47385
|
+
officeId: context.tideConnection.officeId,
|
|
47386
|
+
catalogueId: (_b = context.searchConfiguration.defaultCatalogueId) !== null && _b !== void 0 ? _b : 0,
|
|
47387
|
+
agentId: context.agentId,
|
|
47388
|
+
payload: updatedEditablePackagingEntry
|
|
47389
|
+
};
|
|
47390
|
+
return [4 /*yield*/, build.bookPackagingEntry(config, request)];
|
|
47391
|
+
case 2:
|
|
47392
|
+
bookingResponse = _c.sent();
|
|
47393
|
+
dispatch(setBookingNumber(bookingResponse.number));
|
|
47394
|
+
if (bookingResponse.paymentUrl) {
|
|
47395
|
+
window.location.href = bookingResponse.paymentUrl;
|
|
47396
|
+
} else {
|
|
47397
|
+
dispatch(setCurrentStep(2));
|
|
47398
|
+
}
|
|
47399
|
+
return [3 /*break*/, 5];
|
|
47400
|
+
case 3:
|
|
47401
|
+
_c.sent();
|
|
47402
|
+
dispatch(setCurrentStep(3));
|
|
47403
|
+
return [3 /*break*/, 5];
|
|
47404
|
+
case 4:
|
|
47405
|
+
setIsSubmitting(false);
|
|
47406
|
+
return [7 /*endfinally*/];
|
|
47407
|
+
case 5:
|
|
47408
|
+
return [2 /*return*/];
|
|
47409
|
+
}
|
|
47410
|
+
});
|
|
47411
|
+
});
|
|
47412
|
+
};
|
|
46756
47413
|
return React__default.createElement(
|
|
46757
47414
|
'div',
|
|
46758
47415
|
{ className: 'booking' },
|
|
@@ -46760,16 +47417,77 @@ var BookPackagingEntry = function (_a) {
|
|
|
46760
47417
|
'div',
|
|
46761
47418
|
{ className: 'booking__content' },
|
|
46762
47419
|
React__default.createElement(
|
|
46763
|
-
|
|
46764
|
-
{
|
|
46765
|
-
|
|
46766
|
-
|
|
46767
|
-
|
|
46768
|
-
|
|
46769
|
-
|
|
46770
|
-
|
|
46771
|
-
|
|
46772
|
-
|
|
47420
|
+
'div',
|
|
47421
|
+
{ className: 'booking__panel' },
|
|
47422
|
+
React__default.createElement(
|
|
47423
|
+
BookingPanel,
|
|
47424
|
+
{
|
|
47425
|
+
currentStep: currentStep,
|
|
47426
|
+
stepLabels: stepLabels,
|
|
47427
|
+
StepIndicatorsComponent: StepIndicators$1,
|
|
47428
|
+
renderTitle: function (step) {
|
|
47429
|
+
return React__default.createElement(React__default.Fragment, null, step + 1, '.\u00A0', stepLabels[step]);
|
|
47430
|
+
}
|
|
47431
|
+
},
|
|
47432
|
+
currentStep === 0 &&
|
|
47433
|
+
React__default.createElement(SharedTravelersForm, {
|
|
47434
|
+
formik: formik,
|
|
47435
|
+
translations: translations,
|
|
47436
|
+
travellersSettings: travellersSettings,
|
|
47437
|
+
countries: countries,
|
|
47438
|
+
travelersFirstStep: false,
|
|
47439
|
+
isUnavailable: false,
|
|
47440
|
+
useCompactForm: false,
|
|
47441
|
+
showAgentSelection: false
|
|
47442
|
+
}),
|
|
47443
|
+
currentStep === 1 &&
|
|
47444
|
+
React__default.createElement(SharedSummary, {
|
|
47445
|
+
translations: translations,
|
|
47446
|
+
travelerFormValues: formik.values,
|
|
47447
|
+
isSubmitting: isSubmitting,
|
|
47448
|
+
userValidated: userValidated,
|
|
47449
|
+
remarks: remarks,
|
|
47450
|
+
enableVoucher: false,
|
|
47451
|
+
allowOption: false,
|
|
47452
|
+
isOffer: false,
|
|
47453
|
+
onUserValidatedChange: setUserValidated,
|
|
47454
|
+
onRemarksChange: setRemarks,
|
|
47455
|
+
onSubmit: handleSummarySubmit,
|
|
47456
|
+
renderOptions: function () {
|
|
47457
|
+
return renderEditablePackagingEntrySummaryOptions(editablePackagingEntry, priceDetails);
|
|
47458
|
+
},
|
|
47459
|
+
renderPreviousButton: function () {
|
|
47460
|
+
return React__default.createElement(
|
|
47461
|
+
'button',
|
|
47462
|
+
{
|
|
47463
|
+
type: 'button',
|
|
47464
|
+
title: translations.STEPS.PREVIOUS,
|
|
47465
|
+
onClick: function () {
|
|
47466
|
+
return dispatch(setCurrentStep(0));
|
|
47467
|
+
},
|
|
47468
|
+
className: 'cta cta--secondary'
|
|
47469
|
+
},
|
|
47470
|
+
translations.STEPS.PREVIOUS
|
|
47471
|
+
);
|
|
47472
|
+
}
|
|
47473
|
+
}),
|
|
47474
|
+
currentStep === 2 &&
|
|
47475
|
+
React__default.createElement(SharedConfirmation, {
|
|
47476
|
+
bookingNumber:
|
|
47477
|
+
(_c =
|
|
47478
|
+
bookingNumber !== null && bookingNumber !== void 0
|
|
47479
|
+
? bookingNumber
|
|
47480
|
+
: editablePackagingEntry === null || editablePackagingEntry === void 0
|
|
47481
|
+
? void 0
|
|
47482
|
+
: editablePackagingEntry.dossierNumber) !== null && _c !== void 0
|
|
47483
|
+
? _c
|
|
47484
|
+
: '',
|
|
47485
|
+
isOption: false,
|
|
47486
|
+
isOffer: false,
|
|
47487
|
+
translations: translations.CONFIRMATION
|
|
47488
|
+
}),
|
|
47489
|
+
currentStep === 3 && React__default.createElement('div', null)
|
|
47490
|
+
)
|
|
46773
47491
|
),
|
|
46774
47492
|
React__default.createElement('div', { className: 'backdrop', id: 'backdrop' }),
|
|
46775
47493
|
React__default.createElement(WLSidebar, { activeSearchSeed: activeSearchSeed })
|
|
@@ -46829,9 +47547,12 @@ var SearchResultsContainer = function () {
|
|
|
46829
47547
|
var _k = useState(false),
|
|
46830
47548
|
itineraryOpen = _k[0],
|
|
46831
47549
|
setItineraryOpen = _k[1];
|
|
46832
|
-
var _l = useState(
|
|
46833
|
-
|
|
46834
|
-
|
|
47550
|
+
var _l = useState(false),
|
|
47551
|
+
isBookingConfirmation = _l[0],
|
|
47552
|
+
setIsBookingConfirmation = _l[1];
|
|
47553
|
+
var _m = useState(null),
|
|
47554
|
+
selectedAccommodationSeed = _m[0],
|
|
47555
|
+
setSelectedAccommodationSeed = _m[1];
|
|
46835
47556
|
var skipInitialPackagingAccoDetailsRef = useRef(false);
|
|
46836
47557
|
var panelRef = useRef(null);
|
|
46837
47558
|
var sortByTypes = [
|
|
@@ -47575,6 +48296,13 @@ var SearchResultsContainer = function () {
|
|
|
47575
48296
|
if (context === null || context === void 0 ? void 0 : context.packagingEntry) {
|
|
47576
48297
|
dispatch(setEditablePackagingEntry(structuredClone(context.packagingEntry)));
|
|
47577
48298
|
dispatch(setTransactionId(context.packagingEntry.transactionId));
|
|
48299
|
+
var params = new URLSearchParams(location.search);
|
|
48300
|
+
var bookingConfirmation = getStringFromParams(params, 'bookingConfirmation');
|
|
48301
|
+
console.log('bookingConfirmation', bookingConfirmation);
|
|
48302
|
+
if (bookingConfirmation == 'true') {
|
|
48303
|
+
setIsBookingConfirmation(true);
|
|
48304
|
+
dispatch(setBookPackagingEntry(true));
|
|
48305
|
+
}
|
|
47578
48306
|
}
|
|
47579
48307
|
},
|
|
47580
48308
|
[context === null || context === void 0 ? void 0 : context.packagingEntry]
|
|
@@ -48279,38 +49007,45 @@ var SearchResultsContainer = function () {
|
|
|
48279
49007
|
return __assign(__assign({}, entry), { language: language, transactionId: transactionId, pax: entry.pax, lines: nextLines });
|
|
48280
49008
|
};
|
|
48281
49009
|
var buildBasePackagingEntry = function (sourceEntry, seed, transactionId, language) {
|
|
48282
|
-
var _a
|
|
49010
|
+
var _a;
|
|
48283
49011
|
if (sourceEntry) {
|
|
48284
49012
|
return structuredClone(sourceEntry);
|
|
48285
49013
|
}
|
|
48286
49014
|
var paxId = 0;
|
|
48287
|
-
var pax =
|
|
48288
|
-
|
|
48289
|
-
|
|
48290
|
-
|
|
48291
|
-
|
|
48292
|
-
|
|
48293
|
-
|
|
48294
|
-
|
|
48295
|
-
|
|
48296
|
-
|
|
48297
|
-
|
|
48298
|
-
|
|
48299
|
-
|
|
48300
|
-
|
|
48301
|
-
|
|
48302
|
-
|
|
48303
|
-
|
|
49015
|
+
var pax = [];
|
|
49016
|
+
var rooms = [];
|
|
49017
|
+
(_a = seed.rooms) === null || _a === void 0
|
|
49018
|
+
? void 0
|
|
49019
|
+
: _a.forEach(function (room, roomIndex) {
|
|
49020
|
+
var paxIds = room.pax.map(function (_, paxIndex) {
|
|
49021
|
+
var id = paxId++;
|
|
49022
|
+
pax.push({
|
|
49023
|
+
id: id,
|
|
49024
|
+
firstName: '',
|
|
49025
|
+
lastName: '',
|
|
49026
|
+
dateOfBirth: null,
|
|
49027
|
+
isMainBooker: roomIndex === 0 && paxIndex === 0
|
|
49028
|
+
});
|
|
49029
|
+
return id;
|
|
49030
|
+
});
|
|
49031
|
+
rooms.push({
|
|
49032
|
+
id: roomIndex,
|
|
49033
|
+
paxIds: paxIds
|
|
49034
|
+
});
|
|
49035
|
+
});
|
|
48304
49036
|
return {
|
|
48305
49037
|
language: language,
|
|
48306
49038
|
transactionId: transactionId,
|
|
48307
49039
|
dossierNumber: '',
|
|
48308
|
-
status: 0,
|
|
49040
|
+
status: context === null || context === void 0 ? void 0 : context.entryStatus,
|
|
49041
|
+
customStatusId: context === null || context === void 0 ? void 0 : context.customEntryStatusId,
|
|
48309
49042
|
bookingDate: null,
|
|
48310
49043
|
price: 0,
|
|
48311
49044
|
depositAmount: 0,
|
|
48312
49045
|
pax: pax,
|
|
48313
|
-
|
|
49046
|
+
rooms: rooms,
|
|
49047
|
+
lines: [],
|
|
49048
|
+
address: {}
|
|
48314
49049
|
};
|
|
48315
49050
|
};
|
|
48316
49051
|
var handleShowMoreFlights = function (flyInType) {
|
|
@@ -48325,7 +49060,7 @@ var SearchResultsContainer = function () {
|
|
|
48325
49060
|
'div',
|
|
48326
49061
|
{ className: 'search' },
|
|
48327
49062
|
bookPackagingEntry
|
|
48328
|
-
? React__default.createElement(BookPackagingEntry, { activeSearchSeed: activeSearchSeed })
|
|
49063
|
+
? React__default.createElement(BookPackagingEntry, { activeSearchSeed: activeSearchSeed, isConfirmationPage: isBookingConfirmation })
|
|
48329
49064
|
: React__default.createElement(
|
|
48330
49065
|
'div',
|
|
48331
49066
|
{ className: 'search__container' },
|
|
@@ -48510,8 +49245,8 @@ var SearchResultsContainer = function () {
|
|
|
48510
49245
|
{ className: 'search__results__label__date' },
|
|
48511
49246
|
(function () {
|
|
48512
49247
|
var firstResultDate = uniqueOutwardFlights.length > 0 ? uniqueOutwardFlights[0].outward.segments[0].departureDateTime : null;
|
|
48513
|
-
var firstResultDay = firstResultDate ? format$
|
|
48514
|
-
var firstResultMonth = firstResultDate ? format$
|
|
49248
|
+
var firstResultDay = firstResultDate ? format$2(firstResultDate, 'd') : null;
|
|
49249
|
+
var firstResultMonth = firstResultDate ? format$2(firstResultDate, 'MMM') : null;
|
|
48515
49250
|
return React__default.createElement(
|
|
48516
49251
|
React__default.Fragment,
|
|
48517
49252
|
null,
|
|
@@ -48607,8 +49342,8 @@ var SearchResultsContainer = function () {
|
|
|
48607
49342
|
{ className: 'search__results__label__date' },
|
|
48608
49343
|
(function () {
|
|
48609
49344
|
var firstResultDate = uniqueReturnFlights.length > 0 ? uniqueReturnFlights[0].return.segments[0].departureDateTime : null;
|
|
48610
|
-
var firstResultDay = firstResultDate ? format$
|
|
48611
|
-
var firstResultMonth = firstResultDate ? format$
|
|
49345
|
+
var firstResultDay = firstResultDate ? format$2(firstResultDate, 'd') : null;
|
|
49346
|
+
var firstResultMonth = firstResultDate ? format$2(firstResultDate, 'MMM') : null;
|
|
48612
49347
|
return React__default.createElement(
|
|
48613
49348
|
React__default.Fragment,
|
|
48614
49349
|
null,
|