@qite/tide-booking-component 1.4.58 → 1.4.60
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/.nvmrc +1 -0
- package/README.md +3 -3
- package/build/build-cjs/index.js +280 -73
- package/build/build-cjs/src/booking-wizard/features/price-details/price-details-slice.d.ts +1 -278
- package/build/build-cjs/src/booking-wizard/features/price-details/selectors.d.ts +392 -0
- package/build/build-cjs/src/booking-wizard/features/sidebar/sidebar-util.d.ts +1 -0
- package/build/build-cjs/src/booking-wizard/features/sidebar/sidebar.d.ts +3 -0
- package/build/build-cjs/src/booking-wizard/types.d.ts +13 -0
- package/build/build-cjs/src/shared/utils/localization-util.d.ts +2 -0
- package/build/build-esm/index.js +265 -74
- package/build/build-esm/src/booking-wizard/features/price-details/price-details-slice.d.ts +1 -278
- package/build/build-esm/src/booking-wizard/features/price-details/selectors.d.ts +392 -0
- package/build/build-esm/src/booking-wizard/features/sidebar/sidebar-util.d.ts +1 -0
- package/build/build-esm/src/booking-wizard/features/sidebar/sidebar.d.ts +3 -0
- package/build/build-esm/src/booking-wizard/types.d.ts +13 -0
- package/build/build-esm/src/shared/utils/localization-util.d.ts +2 -0
- package/package.json +2 -1
- package/src/booking-wizard/features/price-details/price-details-slice.ts +3 -44
- package/src/booking-wizard/features/price-details/selectors.ts +117 -0
- package/src/booking-wizard/features/sidebar/index.tsx +6 -3
- package/src/booking-wizard/features/sidebar/sidebar-util.ts +13 -0
- package/src/booking-wizard/features/sidebar/sidebar.tsx +46 -3
- package/src/booking-wizard/types.ts +15 -0
- package/src/content/login/login-component.tsx +2 -1
- package/src/content/login/reset-password-component.tsx +2 -1
- package/src/qsm/components/QSMContainer/qsm-container.tsx +1 -1
- package/src/shared/components/flyin.tsx +8 -2
- package/src/shared/translations/ar-SA.json +2 -0
- package/src/shared/translations/da-DK.json +2 -0
- package/src/shared/translations/de-DE.json +2 -0
- package/src/shared/translations/en-GB.json +2 -0
- package/src/shared/translations/es-ES.json +2 -0
- package/src/shared/translations/fr-BE.json +2 -0
- package/src/shared/translations/fr-FR.json +2 -0
- package/src/shared/translations/is-IS.json +2 -0
- package/src/shared/translations/it-IT.json +2 -0
- package/src/shared/translations/ja-JP.json +2 -0
- package/src/shared/translations/nl-BE.json +2 -0
- package/src/shared/translations/nl-NL.json +2 -0
- package/src/shared/translations/no-NO.json +2 -0
- package/src/shared/translations/pl-PL.json +2 -0
- package/src/shared/translations/pt-PT.json +2 -0
- package/src/shared/translations/sv-SE.json +2 -0
- package/styles/components/_pricing-summary.scss +9 -0
package/.nvmrc
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
v20.10.0
|
package/README.md
CHANGED
|
@@ -5,8 +5,8 @@ This is the unified Tide Booking component.
|
|
|
5
5
|
## Setup
|
|
6
6
|
|
|
7
7
|
- Use Node version 20
|
|
8
|
-
- Install node modules with "npm
|
|
9
|
-
- Install node modules with "npm
|
|
8
|
+
- Install node modules with "npm ci"
|
|
9
|
+
- Install node modules with "npm ci" in the playground directory
|
|
10
10
|
- Start playground with "npm start"
|
|
11
11
|
|
|
12
12
|
## Remarks
|
|
@@ -18,7 +18,7 @@ If using the playground, after installing its node modules, execute the followin
|
|
|
18
18
|
|
|
19
19
|
When using booking-wizard in a gatsby v5 website do following steps
|
|
20
20
|
|
|
21
|
-
- Use react
|
|
21
|
+
- Use react v20 and react-router-dom@6
|
|
22
22
|
- Import only @runtime (otherwise signalr-no-query gives an error an window)
|
|
23
23
|
- Surround <BookingWizard> with a <BrowserRouter basename={basePath}> to handle the internal routing
|
|
24
24
|
- Set 'skipBasePathInRouting' to true in the settings to avoid duplicate basepaths in the internal routing.
|
package/build/build-cjs/index.js
CHANGED
|
@@ -347,6 +347,8 @@ var SIDEBAR$f = {
|
|
|
347
347
|
TRAVELERS_ADULT: 'بالغ',
|
|
348
348
|
TRAVELERS_CHILDREN: 'أطفال',
|
|
349
349
|
TRAVELERS_CHILD: 'طفل',
|
|
350
|
+
TRAVELERS_INFANTS: 'رضع',
|
|
351
|
+
TRAVELERS_INFANT: 'رضيع',
|
|
350
352
|
DEPARTURE: 'رحلة الذهاب',
|
|
351
353
|
DEPARTURE_SINGLE: 'التاريخ',
|
|
352
354
|
ARRIVAL: 'رحلة العودة',
|
|
@@ -742,6 +744,8 @@ var SIDEBAR$e = {
|
|
|
742
744
|
TRAVELERS_ADULT: 'voksen',
|
|
743
745
|
TRAVELERS_CHILDREN: 'børn',
|
|
744
746
|
TRAVELERS_CHILD: 'barn',
|
|
747
|
+
TRAVELERS_INFANTS: 'babyer',
|
|
748
|
+
TRAVELERS_INFANT: 'baby',
|
|
745
749
|
DEPARTURE: 'Udgående',
|
|
746
750
|
DEPARTURE_SINGLE: 'Dato',
|
|
747
751
|
ARRIVAL: 'Retur',
|
|
@@ -1137,6 +1141,8 @@ var SIDEBAR$d = {
|
|
|
1137
1141
|
TRAVELERS_ADULT: 'Erwachsener',
|
|
1138
1142
|
TRAVELERS_CHILDREN: 'Kinder',
|
|
1139
1143
|
TRAVELERS_CHILD: 'Kind',
|
|
1144
|
+
TRAVELERS_INFANTS: 'Babys',
|
|
1145
|
+
TRAVELERS_INFANT: 'Baby',
|
|
1140
1146
|
DEPARTURE: 'Hinflug',
|
|
1141
1147
|
DEPARTURE_SINGLE: 'Datum',
|
|
1142
1148
|
ARRIVAL: 'Rückflug',
|
|
@@ -1533,6 +1539,8 @@ var SIDEBAR$c = {
|
|
|
1533
1539
|
TRAVELERS_ADULT: 'adult',
|
|
1534
1540
|
TRAVELERS_CHILDREN: 'children',
|
|
1535
1541
|
TRAVELERS_CHILD: 'child',
|
|
1542
|
+
TRAVELERS_INFANTS: 'babies',
|
|
1543
|
+
TRAVELERS_INFANT: 'baby',
|
|
1536
1544
|
DEPARTURE: 'Outbound',
|
|
1537
1545
|
DEPARTURE_SINGLE: 'Date',
|
|
1538
1546
|
ARRIVAL: 'Return',
|
|
@@ -1932,6 +1940,8 @@ var SIDEBAR$b = {
|
|
|
1932
1940
|
TRAVELERS_ADULT: 'adulto',
|
|
1933
1941
|
TRAVELERS_CHILDREN: 'niños',
|
|
1934
1942
|
TRAVELERS_CHILD: 'niño',
|
|
1943
|
+
TRAVELERS_INFANTS: 'bebés',
|
|
1944
|
+
TRAVELERS_INFANT: 'bebé',
|
|
1935
1945
|
DEPARTURE: 'Ida',
|
|
1936
1946
|
DEPARTURE_SINGLE: 'Fecha',
|
|
1937
1947
|
ARRIVAL: 'Vuelta',
|
|
@@ -2328,6 +2338,8 @@ var SIDEBAR$a = {
|
|
|
2328
2338
|
TRAVELERS_ADULT: 'adulte',
|
|
2329
2339
|
TRAVELERS_CHILDREN: 'enfants',
|
|
2330
2340
|
TRAVELERS_CHILD: 'enfant',
|
|
2341
|
+
TRAVELERS_INFANTS: 'bébés',
|
|
2342
|
+
TRAVELERS_INFANT: 'bébé',
|
|
2331
2343
|
DEPARTURE: 'Aller',
|
|
2332
2344
|
DEPARTURE_SINGLE: 'Date',
|
|
2333
2345
|
ARRIVAL: 'Retour',
|
|
@@ -2728,6 +2740,8 @@ var SIDEBAR$9 = {
|
|
|
2728
2740
|
TRAVELERS_ADULT: 'adulte',
|
|
2729
2741
|
TRAVELERS_CHILDREN: 'enfants',
|
|
2730
2742
|
TRAVELERS_CHILD: 'enfant',
|
|
2743
|
+
TRAVELERS_INFANTS: 'bébés',
|
|
2744
|
+
TRAVELERS_INFANT: 'bébé',
|
|
2731
2745
|
DEPARTURE: 'Aller',
|
|
2732
2746
|
DEPARTURE_SINGLE: 'Date',
|
|
2733
2747
|
ARRIVAL: 'Retour',
|
|
@@ -3123,6 +3137,8 @@ var SIDEBAR$8 = {
|
|
|
3123
3137
|
TRAVELERS_ADULT: 'fullorðinn',
|
|
3124
3138
|
TRAVELERS_CHILDREN: 'börn',
|
|
3125
3139
|
TRAVELERS_CHILD: 'barn',
|
|
3140
|
+
TRAVELERS_INFANTS: 'ungabörn',
|
|
3141
|
+
TRAVELERS_INFANT: 'ungabarn',
|
|
3126
3142
|
DEPARTURE: 'Brottför',
|
|
3127
3143
|
DEPARTURE_SINGLE: 'Dagsetning',
|
|
3128
3144
|
ARRIVAL: 'Komið',
|
|
@@ -3518,6 +3534,8 @@ var SIDEBAR$7 = {
|
|
|
3518
3534
|
TRAVELERS_ADULT: 'adulto',
|
|
3519
3535
|
TRAVELERS_CHILDREN: 'bambini',
|
|
3520
3536
|
TRAVELERS_CHILD: 'bambino',
|
|
3537
|
+
TRAVELERS_INFANTS: 'neonati',
|
|
3538
|
+
TRAVELERS_INFANT: 'neonato',
|
|
3521
3539
|
DEPARTURE: 'Andata',
|
|
3522
3540
|
DEPARTURE_SINGLE: 'Data',
|
|
3523
3541
|
ARRIVAL: 'Ritorno',
|
|
@@ -3914,6 +3932,8 @@ var SIDEBAR$6 = {
|
|
|
3914
3932
|
TRAVELERS_ADULT: 'volwassene',
|
|
3915
3933
|
TRAVELERS_CHILDREN: 'kinderen',
|
|
3916
3934
|
TRAVELERS_CHILD: 'kind',
|
|
3935
|
+
TRAVELERS_INFANTS: "baby's",
|
|
3936
|
+
TRAVELERS_INFANT: 'baby',
|
|
3917
3937
|
DEPARTURE: 'Heenreis',
|
|
3918
3938
|
DEPARTURE_SINGLE: 'Datum',
|
|
3919
3939
|
ARRIVAL: 'Terugreis',
|
|
@@ -4314,6 +4334,8 @@ var SIDEBAR$5 = {
|
|
|
4314
4334
|
TRAVELERS_ADULT: 'volwassene',
|
|
4315
4335
|
TRAVELERS_CHILDREN: 'kinderen',
|
|
4316
4336
|
TRAVELERS_CHILD: 'kind',
|
|
4337
|
+
TRAVELERS_INFANTS: "baby's",
|
|
4338
|
+
TRAVELERS_INFANT: 'baby',
|
|
4317
4339
|
DEPARTURE: 'Heenreis',
|
|
4318
4340
|
DEPARTURE_SINGLE: 'Datum',
|
|
4319
4341
|
ARRIVAL: 'Terugreis',
|
|
@@ -4710,6 +4732,8 @@ var SIDEBAR$4 = {
|
|
|
4710
4732
|
TRAVELERS_ADULT: 'voksen',
|
|
4711
4733
|
TRAVELERS_CHILDREN: 'barn',
|
|
4712
4734
|
TRAVELERS_CHILD: 'barn',
|
|
4735
|
+
TRAVELERS_INFANTS: 'babyer',
|
|
4736
|
+
TRAVELERS_INFANT: 'baby',
|
|
4713
4737
|
DEPARTURE: 'Utreise',
|
|
4714
4738
|
DEPARTURE_SINGLE: 'Dato',
|
|
4715
4739
|
ARRIVAL: 'Retur',
|
|
@@ -5106,6 +5130,8 @@ var SIDEBAR$3 = {
|
|
|
5106
5130
|
TRAVELERS_ADULT: 'dorosły',
|
|
5107
5131
|
TRAVELERS_CHILDREN: 'dzieci',
|
|
5108
5132
|
TRAVELERS_CHILD: 'dziecko',
|
|
5133
|
+
TRAVELERS_INFANTS: 'niemowlęta',
|
|
5134
|
+
TRAVELERS_INFANT: 'niemowlę',
|
|
5109
5135
|
DEPARTURE: 'Wylot',
|
|
5110
5136
|
DEPARTURE_SINGLE: 'Data',
|
|
5111
5137
|
ARRIVAL: 'Powrót',
|
|
@@ -5502,6 +5528,8 @@ var SIDEBAR$2 = {
|
|
|
5502
5528
|
TRAVELERS_ADULT: 'adulto',
|
|
5503
5529
|
TRAVELERS_CHILDREN: 'crianças',
|
|
5504
5530
|
TRAVELERS_CHILD: 'criança',
|
|
5531
|
+
TRAVELERS_INFANTS: 'bebés',
|
|
5532
|
+
TRAVELERS_INFANT: 'bebé',
|
|
5505
5533
|
DEPARTURE: 'Ida',
|
|
5506
5534
|
DEPARTURE_SINGLE: 'Data',
|
|
5507
5535
|
ARRIVAL: 'Regresso',
|
|
@@ -5898,6 +5926,8 @@ var SIDEBAR$1 = {
|
|
|
5898
5926
|
TRAVELERS_ADULT: 'vuxen',
|
|
5899
5927
|
TRAVELERS_CHILDREN: 'barn',
|
|
5900
5928
|
TRAVELERS_CHILD: 'barn',
|
|
5929
|
+
TRAVELERS_INFANTS: 'spädbarn',
|
|
5930
|
+
TRAVELERS_INFANT: 'spädbarn',
|
|
5901
5931
|
DEPARTURE: 'Utresa',
|
|
5902
5932
|
DEPARTURE_SINGLE: 'Datum',
|
|
5903
5933
|
ARRIVAL: 'Retur',
|
|
@@ -6294,6 +6324,8 @@ var SIDEBAR = {
|
|
|
6294
6324
|
TRAVELERS_ADULT: '大人',
|
|
6295
6325
|
TRAVELERS_CHILDREN: '子供',
|
|
6296
6326
|
TRAVELERS_CHILD: '子供',
|
|
6327
|
+
TRAVELERS_INFANTS: '乳児',
|
|
6328
|
+
TRAVELERS_INFANT: '乳児',
|
|
6297
6329
|
DEPARTURE: '往路',
|
|
6298
6330
|
DEPARTURE_SINGLE: '日付',
|
|
6299
6331
|
ARRIVAL: '復路',
|
|
@@ -17593,67 +17625,12 @@ var priceDetailsSlice = toolkit.createSlice({
|
|
|
17593
17625
|
});
|
|
17594
17626
|
}
|
|
17595
17627
|
});
|
|
17596
|
-
var selectPriceDetails = function (state) {
|
|
17597
|
-
return state.priceDetails.priceDetails;
|
|
17598
|
-
};
|
|
17599
|
-
var selectPackagePriceDetails = toolkit.createSelector(selectPriceDetails, function (priceDetails) {
|
|
17600
|
-
return priceDetails.filter(function (priceDetail) {
|
|
17601
|
-
return priceDetail.isInPackage;
|
|
17602
|
-
});
|
|
17603
|
-
});
|
|
17604
|
-
var selectSeparatePackagePriceDetails = toolkit.createSelector(selectPackagePriceDetails, function (pricedetails) {
|
|
17605
|
-
var result = [];
|
|
17606
|
-
var filteredPriceDetails = pricedetails.filter(function (priceDetail) {
|
|
17607
|
-
return priceDetail.isSeparate;
|
|
17608
|
-
});
|
|
17609
|
-
filteredPriceDetails.forEach(function (priceDetail) {
|
|
17610
|
-
var priceDetailToMerge = result.find(function (x) {
|
|
17611
|
-
return x.productCode === priceDetail.productCode && x.accommodationCode === priceDetail.accommodationCode && x.productType === priceDetail.productType;
|
|
17612
|
-
});
|
|
17613
|
-
if (priceDetailToMerge) {
|
|
17614
|
-
priceDetailToMerge.total += priceDetail.total;
|
|
17615
|
-
priceDetailToMerge.price += priceDetail.price;
|
|
17616
|
-
} else {
|
|
17617
|
-
result.push(Object.assign({}, priceDetail));
|
|
17618
|
-
}
|
|
17619
|
-
});
|
|
17620
|
-
return result;
|
|
17621
|
-
});
|
|
17622
|
-
var selectBasePrice = toolkit.createSelector(selectPackagePriceDetails, function (priceDetails) {
|
|
17623
|
-
return lodash.sum(
|
|
17624
|
-
priceDetails.map(function (priceDetail) {
|
|
17625
|
-
return priceDetail.price * priceDetail.amount;
|
|
17626
|
-
})
|
|
17627
|
-
);
|
|
17628
|
-
});
|
|
17629
|
-
var selectSeparateExtraPriceDetails = toolkit.createSelector(selectPriceDetails, function (priceDetails) {
|
|
17630
|
-
return priceDetails.filter(function (priceDetail) {
|
|
17631
|
-
return !priceDetail.isInPackage && priceDetail.isSeparate;
|
|
17632
|
-
});
|
|
17633
|
-
});
|
|
17634
|
-
var selectTotalPrice = toolkit.createSelector(selectBasePrice, selectSeparateExtraPriceDetails, function (basePrice, separatePriceDetails) {
|
|
17635
|
-
return lodash.sum(
|
|
17636
|
-
__spreadArray(
|
|
17637
|
-
[basePrice],
|
|
17638
|
-
separatePriceDetails.map(function (priceDetail) {
|
|
17639
|
-
return priceDetail.price * priceDetail.amount;
|
|
17640
|
-
}),
|
|
17641
|
-
true
|
|
17642
|
-
)
|
|
17643
|
-
);
|
|
17644
|
-
});
|
|
17645
|
-
var selectDeposit = function (state) {
|
|
17646
|
-
return state.priceDetails.deposit;
|
|
17647
|
-
};
|
|
17648
|
-
var selectIsFetchingPriceDetails = function (state) {
|
|
17649
|
-
return state.priceDetails.isBusy;
|
|
17650
|
-
};
|
|
17651
|
-
var selectNotifications = function (state) {
|
|
17652
|
-
return state.priceDetails.notifications;
|
|
17653
|
-
};
|
|
17654
17628
|
var setFetchingPriceDetails = priceDetailsSlice.actions.setFetchingPriceDetails;
|
|
17655
17629
|
var resetPriceDetails = ((_a$4 = priceDetailsSlice.actions), _a$4.resetPriceDetails),
|
|
17656
17630
|
setNotifications = _a$4.setNotifications;
|
|
17631
|
+
var selectNotifications = function (state) {
|
|
17632
|
+
return state.priceDetails.notifications;
|
|
17633
|
+
};
|
|
17657
17634
|
var priceDetailsReducer = priceDetailsSlice.reducer;
|
|
17658
17635
|
|
|
17659
17636
|
var selectHasMounted = function (state) {
|
|
@@ -20867,6 +20844,18 @@ var parseFlightLineDateTime = function (date, time) {
|
|
|
20867
20844
|
return undefined;
|
|
20868
20845
|
}
|
|
20869
20846
|
};
|
|
20847
|
+
var getPaxTypeTranslation = function (translations, paxType, numberOfPax) {
|
|
20848
|
+
switch (paxType) {
|
|
20849
|
+
case 'ADULT':
|
|
20850
|
+
return numberOfPax === 1 ? translations.SIDEBAR.TRAVELERS_ADULT : translations.SIDEBAR.TRAVELERS_ADULTS;
|
|
20851
|
+
case 'CHILD':
|
|
20852
|
+
return numberOfPax === 1 ? translations.SIDEBAR.TRAVELERS_CHILD : translations.SIDEBAR.TRAVELERS_CHILDREN;
|
|
20853
|
+
case 'INFANT':
|
|
20854
|
+
return numberOfPax === 1 ? translations.SIDEBAR.TRAVELERS_INFANT : translations.SIDEBAR.TRAVELERS_INFANTS;
|
|
20855
|
+
default:
|
|
20856
|
+
return '';
|
|
20857
|
+
}
|
|
20858
|
+
};
|
|
20870
20859
|
|
|
20871
20860
|
var FlightOptionFlight = function (_a) {
|
|
20872
20861
|
var details = _a.details,
|
|
@@ -24227,6 +24216,129 @@ var RoomOptionsForm = function () {
|
|
|
24227
24216
|
);
|
|
24228
24217
|
};
|
|
24229
24218
|
|
|
24219
|
+
var selectPriceDetails = function (state) {
|
|
24220
|
+
return state.priceDetails.priceDetails;
|
|
24221
|
+
};
|
|
24222
|
+
var selectPackagePriceDetails = toolkit.createSelector(selectPriceDetails, function (priceDetails) {
|
|
24223
|
+
return priceDetails.filter(function (priceDetail) {
|
|
24224
|
+
return priceDetail.isInPackage;
|
|
24225
|
+
});
|
|
24226
|
+
});
|
|
24227
|
+
var selectSeparatePackagePriceDetails = toolkit.createSelector(selectPackagePriceDetails, function (pricedetails) {
|
|
24228
|
+
var result = [];
|
|
24229
|
+
var filteredPriceDetails = pricedetails.filter(function (priceDetail) {
|
|
24230
|
+
return priceDetail.isSeparate;
|
|
24231
|
+
});
|
|
24232
|
+
filteredPriceDetails.forEach(function (priceDetail) {
|
|
24233
|
+
var priceDetailToMerge = result.find(function (x) {
|
|
24234
|
+
return x.productCode === priceDetail.productCode && x.accommodationCode === priceDetail.accommodationCode && x.productType === priceDetail.productType;
|
|
24235
|
+
});
|
|
24236
|
+
if (priceDetailToMerge) {
|
|
24237
|
+
priceDetailToMerge.total += priceDetail.total;
|
|
24238
|
+
priceDetailToMerge.price += priceDetail.price;
|
|
24239
|
+
} else {
|
|
24240
|
+
result.push(Object.assign({}, priceDetail));
|
|
24241
|
+
}
|
|
24242
|
+
});
|
|
24243
|
+
return result;
|
|
24244
|
+
});
|
|
24245
|
+
var selectBasePrice = toolkit.createSelector(selectPackagePriceDetails, function (priceDetails) {
|
|
24246
|
+
return lodash.sum(
|
|
24247
|
+
priceDetails.map(function (priceDetail) {
|
|
24248
|
+
return priceDetail.price * priceDetail.amount;
|
|
24249
|
+
})
|
|
24250
|
+
);
|
|
24251
|
+
});
|
|
24252
|
+
var selectSeparateExtraPriceDetails = toolkit.createSelector(selectPriceDetails, function (priceDetails) {
|
|
24253
|
+
return priceDetails.filter(function (priceDetail) {
|
|
24254
|
+
return !priceDetail.isInPackage && priceDetail.isSeparate;
|
|
24255
|
+
});
|
|
24256
|
+
});
|
|
24257
|
+
var selectTotalPrice = toolkit.createSelector(selectBasePrice, selectSeparateExtraPriceDetails, function (basePrice, separatePriceDetails) {
|
|
24258
|
+
return lodash.sum(
|
|
24259
|
+
__spreadArray(
|
|
24260
|
+
[basePrice],
|
|
24261
|
+
separatePriceDetails.map(function (priceDetail) {
|
|
24262
|
+
return priceDetail.price * priceDetail.amount;
|
|
24263
|
+
}),
|
|
24264
|
+
true
|
|
24265
|
+
)
|
|
24266
|
+
);
|
|
24267
|
+
});
|
|
24268
|
+
// Shared function to aggregate price and details per paxType
|
|
24269
|
+
var aggregatePricePerPaxType = function (priceDetails, requestRooms) {
|
|
24270
|
+
if (!requestRooms || lodash.isEmpty(requestRooms)) return [];
|
|
24271
|
+
if (!priceDetails || lodash.isEmpty(priceDetails)) return [];
|
|
24272
|
+
// Compute paxType by age: >=2 INFANT, >=11 CHILD, else ADULT
|
|
24273
|
+
var paxTypeToPaxIds = {};
|
|
24274
|
+
requestRooms.forEach(function (room) {
|
|
24275
|
+
room.pax.forEach(function (pax) {
|
|
24276
|
+
var paxType = 'ADULT';
|
|
24277
|
+
if (typeof pax.age === 'number') {
|
|
24278
|
+
if (pax.age <= 11) {
|
|
24279
|
+
paxType = 'CHILD';
|
|
24280
|
+
} else if (pax.age <= 2) {
|
|
24281
|
+
paxType = 'INFANT';
|
|
24282
|
+
}
|
|
24283
|
+
}
|
|
24284
|
+
if (!paxTypeToPaxIds[paxType]) paxTypeToPaxIds[paxType] = new Set();
|
|
24285
|
+
paxTypeToPaxIds[paxType].add(pax.id);
|
|
24286
|
+
});
|
|
24287
|
+
});
|
|
24288
|
+
var result = [];
|
|
24289
|
+
Object.keys(paxTypeToPaxIds).forEach(function (paxType) {
|
|
24290
|
+
var paxIds = Array.from(paxTypeToPaxIds[paxType]);
|
|
24291
|
+
var pricePerPaxType = 0;
|
|
24292
|
+
var detailsMap = {};
|
|
24293
|
+
priceDetails.forEach(function (detail) {
|
|
24294
|
+
if (!detail.showPrice || !detail.pricePerPax) return;
|
|
24295
|
+
detail.pricePerPax.forEach(function (ppp) {
|
|
24296
|
+
if (paxIds.includes(ppp.paxId)) {
|
|
24297
|
+
pricePerPaxType += ppp.price;
|
|
24298
|
+
var descKey = detail.priceDescription || '';
|
|
24299
|
+
if (!detailsMap[descKey]) {
|
|
24300
|
+
detailsMap[descKey] = {
|
|
24301
|
+
numberOfPax: 1,
|
|
24302
|
+
description: detail.priceDescription || '',
|
|
24303
|
+
price: ppp.price,
|
|
24304
|
+
paxIds: [ppp.paxId]
|
|
24305
|
+
};
|
|
24306
|
+
} else {
|
|
24307
|
+
detailsMap[descKey].price += ppp.price;
|
|
24308
|
+
if (!detailsMap[descKey].paxIds.includes(ppp.paxId)) {
|
|
24309
|
+
detailsMap[descKey].paxIds.push(ppp.paxId);
|
|
24310
|
+
detailsMap[descKey].numberOfPax += 1;
|
|
24311
|
+
}
|
|
24312
|
+
}
|
|
24313
|
+
}
|
|
24314
|
+
});
|
|
24315
|
+
});
|
|
24316
|
+
result.push({
|
|
24317
|
+
paxType: paxType,
|
|
24318
|
+
pricePerPaxType: pricePerPaxType,
|
|
24319
|
+
numberOfPax: paxIds.length,
|
|
24320
|
+
details: Object.values(detailsMap)
|
|
24321
|
+
});
|
|
24322
|
+
});
|
|
24323
|
+
return result;
|
|
24324
|
+
};
|
|
24325
|
+
var selectBasePricePerPaxType = toolkit.createSelector(selectPackagePriceDetails, selectRequestRooms, function (priceDetails, requestRooms) {
|
|
24326
|
+
return aggregatePricePerPaxType(priceDetails, requestRooms);
|
|
24327
|
+
});
|
|
24328
|
+
var selectSeparateExtraPriceDetailsPerPaxType = toolkit.createSelector(
|
|
24329
|
+
selectSeparateExtraPriceDetails,
|
|
24330
|
+
selectRequestRooms,
|
|
24331
|
+
function (priceDetails, requestRooms) {
|
|
24332
|
+
return aggregatePricePerPaxType(priceDetails, requestRooms);
|
|
24333
|
+
}
|
|
24334
|
+
);
|
|
24335
|
+
var selectDeposit = function (state) {
|
|
24336
|
+
return state.priceDetails.deposit;
|
|
24337
|
+
};
|
|
24338
|
+
var selectIsFetchingPriceDetails = function (state) {
|
|
24339
|
+
return state.priceDetails.isBusy;
|
|
24340
|
+
};
|
|
24341
|
+
|
|
24230
24342
|
var ProductCard = function (_a) {
|
|
24231
24343
|
var productName = _a.productName,
|
|
24232
24344
|
thumbnailUrl = _a.thumbnailUrl,
|
|
@@ -24341,7 +24453,9 @@ var Sidebar = function (_a) {
|
|
|
24341
24453
|
headerComponent = _a.headerComponent,
|
|
24342
24454
|
footerComponent = _a.footerComponent,
|
|
24343
24455
|
loaderComponent = _a.loaderComponent,
|
|
24344
|
-
isUnavailable = _a.isUnavailable
|
|
24456
|
+
isUnavailable = _a.isUnavailable,
|
|
24457
|
+
basePricePerPaxType = _a.basePricePerPaxType,
|
|
24458
|
+
seperateExtraPricePerPaxType = _a.seperateExtraPricePerPaxType;
|
|
24345
24459
|
var _b = React.useState(false),
|
|
24346
24460
|
active = _b[0],
|
|
24347
24461
|
setActive = _b[1];
|
|
@@ -24491,7 +24605,51 @@ var Sidebar = function (_a) {
|
|
|
24491
24605
|
React__default['default'].createElement('h6', { className: 'pricing-summary__title' }, translations.SIDEBAR.BASE_PRICE)
|
|
24492
24606
|
),
|
|
24493
24607
|
React__default['default'].createElement('div', { className: 'pricing-summary__value' }, formatPrice(basePrice, currencyCode))
|
|
24494
|
-
)
|
|
24608
|
+
),
|
|
24609
|
+
basePricePerPaxType &&
|
|
24610
|
+
basePricePerPaxType.map(function (ppt, index) {
|
|
24611
|
+
return React__default['default'].createElement(
|
|
24612
|
+
React__default['default'].Fragment,
|
|
24613
|
+
{ key: ''.concat(ppt.paxType, '-').concat(index) },
|
|
24614
|
+
React__default['default'].createElement(
|
|
24615
|
+
'div',
|
|
24616
|
+
{ className: 'pricing-summary__row' },
|
|
24617
|
+
React__default['default'].createElement(
|
|
24618
|
+
'div',
|
|
24619
|
+
{ className: 'pricing-summary__property' },
|
|
24620
|
+
ppt.numberOfPax,
|
|
24621
|
+
' ',
|
|
24622
|
+
getPaxTypeTranslation(translations, ppt.paxType, ppt.numberOfPax)
|
|
24623
|
+
),
|
|
24624
|
+
React__default['default'].createElement(
|
|
24625
|
+
'div',
|
|
24626
|
+
{ className: 'pricing-summary__value' },
|
|
24627
|
+
formatPrice(ppt.pricePerPaxType, currencyCode)
|
|
24628
|
+
)
|
|
24629
|
+
),
|
|
24630
|
+
ppt.details.map(function (detail, dIndex) {
|
|
24631
|
+
return React__default['default'].createElement(
|
|
24632
|
+
'div',
|
|
24633
|
+
{
|
|
24634
|
+
className: 'pricing-summary__row pricing-summary__row--sub',
|
|
24635
|
+
key: ''.concat(ppt.paxType, '-').concat(index, '-').concat(dIndex)
|
|
24636
|
+
},
|
|
24637
|
+
React__default['default'].createElement(
|
|
24638
|
+
'div',
|
|
24639
|
+
{ className: 'pricing-summary__property' },
|
|
24640
|
+
detail.numberOfPax,
|
|
24641
|
+
'x ',
|
|
24642
|
+
detail.description
|
|
24643
|
+
),
|
|
24644
|
+
React__default['default'].createElement(
|
|
24645
|
+
'div',
|
|
24646
|
+
{ className: 'pricing-summary__value' },
|
|
24647
|
+
formatPrice(detail.price / detail.numberOfPax, currencyCode)
|
|
24648
|
+
)
|
|
24649
|
+
);
|
|
24650
|
+
})
|
|
24651
|
+
);
|
|
24652
|
+
})
|
|
24495
24653
|
),
|
|
24496
24654
|
!lodash.isEmpty(includedCosts) &&
|
|
24497
24655
|
React__default['default'].createElement(
|
|
@@ -24556,10 +24714,54 @@ var Sidebar = function (_a) {
|
|
|
24556
24714
|
{ className: 'pricing-summary__row' },
|
|
24557
24715
|
React__default['default'].createElement(
|
|
24558
24716
|
'div',
|
|
24559
|
-
{ className: '
|
|
24717
|
+
{ className: 'pricing-summary__property' },
|
|
24560
24718
|
(_a = priceDetail.accommodationName) !== null && _a !== void 0 ? _a : priceDetail.accommodationCode
|
|
24561
24719
|
)
|
|
24562
|
-
)
|
|
24720
|
+
),
|
|
24721
|
+
seperateExtraPricePerPaxType &&
|
|
24722
|
+
seperateExtraPricePerPaxType.map(function (ppt, index) {
|
|
24723
|
+
return React__default['default'].createElement(
|
|
24724
|
+
React__default['default'].Fragment,
|
|
24725
|
+
{ key: ''.concat(ppt.paxType, '-').concat(index) },
|
|
24726
|
+
React__default['default'].createElement(
|
|
24727
|
+
'div',
|
|
24728
|
+
{ className: 'pricing-summary__row' },
|
|
24729
|
+
React__default['default'].createElement(
|
|
24730
|
+
'div',
|
|
24731
|
+
{ className: 'pricing-summary__property' },
|
|
24732
|
+
ppt.numberOfPax,
|
|
24733
|
+
' ',
|
|
24734
|
+
getPaxTypeTranslation(translations, ppt.paxType, ppt.numberOfPax)
|
|
24735
|
+
),
|
|
24736
|
+
React__default['default'].createElement(
|
|
24737
|
+
'div',
|
|
24738
|
+
{ className: 'pricing-summary__value' },
|
|
24739
|
+
formatPrice(ppt.pricePerPaxType, currencyCode)
|
|
24740
|
+
)
|
|
24741
|
+
),
|
|
24742
|
+
ppt.details.map(function (detail, dIndex) {
|
|
24743
|
+
return React__default['default'].createElement(
|
|
24744
|
+
'div',
|
|
24745
|
+
{
|
|
24746
|
+
className: 'pricing-summary__row pricing-summary__row--sub',
|
|
24747
|
+
key: ''.concat(ppt.paxType, '-').concat(index, '-').concat(dIndex)
|
|
24748
|
+
},
|
|
24749
|
+
React__default['default'].createElement(
|
|
24750
|
+
'div',
|
|
24751
|
+
{ className: 'pricing-summary__property' },
|
|
24752
|
+
detail.numberOfPax,
|
|
24753
|
+
'x ',
|
|
24754
|
+
detail.description
|
|
24755
|
+
),
|
|
24756
|
+
React__default['default'].createElement(
|
|
24757
|
+
'div',
|
|
24758
|
+
{ className: 'pricing-summary__value' },
|
|
24759
|
+
formatPrice(detail.price / detail.numberOfPax, currencyCode)
|
|
24760
|
+
)
|
|
24761
|
+
);
|
|
24762
|
+
})
|
|
24763
|
+
);
|
|
24764
|
+
})
|
|
24563
24765
|
);
|
|
24564
24766
|
})
|
|
24565
24767
|
)
|
|
@@ -24676,7 +24878,8 @@ var SidebarContainer = function (_a) {
|
|
|
24676
24878
|
var _f = React.useContext(SettingsContext),
|
|
24677
24879
|
sidebarHeaderComponent = _f.sidebarHeaderComponent,
|
|
24678
24880
|
sidebarFooterComponent = _f.sidebarFooterComponent,
|
|
24679
|
-
loaderComponent = _f.loaderComponent
|
|
24881
|
+
loaderComponent = _f.loaderComponent,
|
|
24882
|
+
showPricesPerPaxType = _f.showPricesPerPaxType;
|
|
24680
24883
|
var bookingAttributes = reactRedux.useSelector(selectBookingAttributes);
|
|
24681
24884
|
var rooms = reactRedux.useSelector(selectFormRooms);
|
|
24682
24885
|
var travelerRooms = getTravelersText(rooms);
|
|
@@ -24724,7 +24927,9 @@ var SidebarContainer = function (_a) {
|
|
|
24724
24927
|
headerComponent: sidebarHeaderComponent !== null && sidebarHeaderComponent !== void 0 ? sidebarHeaderComponent : undefined,
|
|
24725
24928
|
footerComponent: sidebarFooterComponent !== null && sidebarFooterComponent !== void 0 ? sidebarFooterComponent : undefined,
|
|
24726
24929
|
loaderComponent: loaderComponent !== null && loaderComponent !== void 0 ? loaderComponent : undefined,
|
|
24727
|
-
isUnavailable: isUnavailable
|
|
24930
|
+
isUnavailable: isUnavailable,
|
|
24931
|
+
basePricePerPaxType: showPricesPerPaxType ? reactRedux.useSelector(selectBasePricePerPaxType) : undefined,
|
|
24932
|
+
seperateExtraPricePerPaxType: showPricesPerPaxType ? reactRedux.useSelector(selectSeparateExtraPriceDetailsPerPaxType) : undefined
|
|
24728
24933
|
});
|
|
24729
24934
|
};
|
|
24730
24935
|
|
|
@@ -33062,7 +33267,9 @@ var QSMContainer = function () {
|
|
|
33062
33267
|
fieldConfig: openJawReturnDestinationField,
|
|
33063
33268
|
showReverse: openJawReturnDestinationField.showReverse
|
|
33064
33269
|
}),
|
|
33065
|
-
qsmType == 'hotel'
|
|
33270
|
+
(qsmType == 'hotel' || qsmType == 'hotel-flight') &&
|
|
33271
|
+
destination &&
|
|
33272
|
+
React__default['default'].createElement(SearchInputGroup, { fieldConfig: destination }),
|
|
33066
33273
|
React__default['default'].createElement(Dates, { value: dateRange, onChange: handleDateChange }),
|
|
33067
33274
|
askTravelers && React__default['default'].createElement(TravelInputGroup, null),
|
|
33068
33275
|
React__default['default'].createElement(
|
|
@@ -37042,7 +37249,6 @@ var FlyIn = function (_a) {
|
|
|
37042
37249
|
'div',
|
|
37043
37250
|
{ className: 'flyin__content-cards' },
|
|
37044
37251
|
uniqueOutwardFlights.map(function (flightOption, index) {
|
|
37045
|
-
var _a;
|
|
37046
37252
|
var firstSegment = lodash.first(flightOption.outward.segments);
|
|
37047
37253
|
if (!firstSegment) return null;
|
|
37048
37254
|
var diff = getOutwardPriceDiff(firstSegment.metaData.fareCode);
|
|
@@ -37228,9 +37434,9 @@ var FlyIn = function (_a) {
|
|
|
37228
37434
|
},
|
|
37229
37435
|
React__default['default'].createElement(
|
|
37230
37436
|
'div',
|
|
37231
|
-
{ className: 'cta cta--selected' },
|
|
37437
|
+
{ className: 'cta '.concat(selectedOutwardFareCode === firstSegment.metaData.fareCode ? 'cta--selected' : '') },
|
|
37232
37438
|
' ',
|
|
37233
|
-
selectedOutwardFareCode ===
|
|
37439
|
+
selectedOutwardFareCode === firstSegment.metaData.fareCode ? 'Selected' : 'Select'
|
|
37234
37440
|
)
|
|
37235
37441
|
)
|
|
37236
37442
|
);
|
|
@@ -37334,7 +37540,6 @@ var FlyIn = function (_a) {
|
|
|
37334
37540
|
'div',
|
|
37335
37541
|
{ className: 'flyin__content-cards' },
|
|
37336
37542
|
uniqueReturnFlights.map(function (flightOption, index) {
|
|
37337
|
-
var _a;
|
|
37338
37543
|
var firstSegment = lodash.first(flightOption.return.segments);
|
|
37339
37544
|
if (!firstSegment) return null;
|
|
37340
37545
|
var diff = getReturnPriceDiff(firstSegment.metaData.fareCode);
|
|
@@ -37520,9 +37725,9 @@ var FlyIn = function (_a) {
|
|
|
37520
37725
|
},
|
|
37521
37726
|
React__default['default'].createElement(
|
|
37522
37727
|
'div',
|
|
37523
|
-
{ className: 'cta cta--selected' },
|
|
37728
|
+
{ className: 'cta '.concat(selectedReturnFareCode === firstSegment.metaData.fareCode ? 'cta--selected' : '') },
|
|
37524
37729
|
' ',
|
|
37525
|
-
|
|
37730
|
+
selectedReturnFareCode === firstSegment.metaData.fareCode ? 'Selected' : 'Select'
|
|
37526
37731
|
)
|
|
37527
37732
|
)
|
|
37528
37733
|
);
|
|
@@ -44053,12 +44258,13 @@ var LoginComponent = function (_a) {
|
|
|
44053
44258
|
});
|
|
44054
44259
|
}
|
|
44055
44260
|
});
|
|
44056
|
-
var handleForgotPasswordClick = function () {
|
|
44261
|
+
var handleForgotPasswordClick = function (e) {
|
|
44057
44262
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
44058
44263
|
var errors;
|
|
44059
44264
|
return __generator(this, function (_a) {
|
|
44060
44265
|
switch (_a.label) {
|
|
44061
44266
|
case 0:
|
|
44267
|
+
e.preventDefault();
|
|
44062
44268
|
formik$1.setTouched({ username: true }, true);
|
|
44063
44269
|
return [4 /*yield*/, formik$1.validateForm()];
|
|
44064
44270
|
case 1:
|
|
@@ -44292,12 +44498,13 @@ var ResetPasswordComponent = function (_a) {
|
|
|
44292
44498
|
setErrors(validationErrors);
|
|
44293
44499
|
return Object.keys(validationErrors).length === 0;
|
|
44294
44500
|
};
|
|
44295
|
-
var handleResetPassword = function () {
|
|
44501
|
+
var handleResetPassword = function (e) {
|
|
44296
44502
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
44297
44503
|
var isValid, response;
|
|
44298
44504
|
return __generator(this, function (_b) {
|
|
44299
44505
|
switch (_b.label) {
|
|
44300
44506
|
case 0:
|
|
44507
|
+
e.preventDefault();
|
|
44301
44508
|
setSubmitted(true);
|
|
44302
44509
|
setTouched({ password: true, repeatPassword: true });
|
|
44303
44510
|
isValid = validate();
|