@qite/tide-booking-component 1.4.105 → 1.4.106
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 +235 -73
- package/build/build-esm/index.js +235 -73
- package/package.json +2 -2
- package/src/search-results/components/itinerary/full-itinerary.tsx +161 -53
- package/src/search-results/components/itinerary/index.tsx +31 -7
- package/src/search-results/components/search-results-container/search-results-container.tsx +2 -2
- package/src/shared/translations/ar-SA.json +4 -0
- package/src/shared/translations/da-DK.json +4 -0
- package/src/shared/translations/de-DE.json +4 -0
- package/src/shared/translations/en-GB.json +4 -0
- package/src/shared/translations/es-ES.json +4 -0
- package/src/shared/translations/fr-BE.json +4 -0
- package/src/shared/translations/fr-FR.json +4 -0
- package/src/shared/translations/is-IS.json +4 -0
- package/src/shared/translations/it-IT.json +4 -0
- package/src/shared/translations/ja-JP.json +4 -0
- package/src/shared/translations/nl-BE.json +4 -0
- package/src/shared/translations/nl-NL.json +4 -0
- package/src/shared/translations/no-NO.json +4 -0
- package/src/shared/translations/pl-PL.json +4 -0
- package/src/shared/translations/pt-PT.json +4 -0
- package/src/shared/translations/sv-SE.json +4 -0
package/build/build-cjs/index.js
CHANGED
|
@@ -631,6 +631,10 @@ var SRP$f = {
|
|
|
631
631
|
TRAVEL_GROUP: 'مجموعة المسافرين',
|
|
632
632
|
EXCURSION: 'رحلة'
|
|
633
633
|
};
|
|
634
|
+
var ITINERARY$f = {
|
|
635
|
+
DAY: 'اليوم',
|
|
636
|
+
NO_ITEMS: 'لا توجد عناصر لهذا اليوم.'
|
|
637
|
+
};
|
|
634
638
|
var arJson = {
|
|
635
639
|
STEPS: STEPS$f,
|
|
636
640
|
INPUT: INPUT$f,
|
|
@@ -649,7 +653,8 @@ var arJson = {
|
|
|
649
653
|
NAVBAR: NAVBAR$f,
|
|
650
654
|
LOGIN: LOGIN$f,
|
|
651
655
|
QSM: QSM$g,
|
|
652
|
-
SRP: SRP$f
|
|
656
|
+
SRP: SRP$f,
|
|
657
|
+
ITINERARY: ITINERARY$f
|
|
653
658
|
};
|
|
654
659
|
|
|
655
660
|
var STEPS$e = {
|
|
@@ -1039,6 +1044,10 @@ var SRP$e = {
|
|
|
1039
1044
|
TRAVEL_GROUP: 'Rejseselskab',
|
|
1040
1045
|
EXCURSION: 'Udflugt'
|
|
1041
1046
|
};
|
|
1047
|
+
var ITINERARY$e = {
|
|
1048
|
+
DAY: 'Dag',
|
|
1049
|
+
NO_ITEMS: 'Ingen elementer for denne dag.'
|
|
1050
|
+
};
|
|
1042
1051
|
var daJson = {
|
|
1043
1052
|
STEPS: STEPS$e,
|
|
1044
1053
|
INPUT: INPUT$e,
|
|
@@ -1057,7 +1066,8 @@ var daJson = {
|
|
|
1057
1066
|
NAVBAR: NAVBAR$e,
|
|
1058
1067
|
LOGIN: LOGIN$e,
|
|
1059
1068
|
QSM: QSM$f,
|
|
1060
|
-
SRP: SRP$e
|
|
1069
|
+
SRP: SRP$e,
|
|
1070
|
+
ITINERARY: ITINERARY$e
|
|
1061
1071
|
};
|
|
1062
1072
|
|
|
1063
1073
|
var STEPS$d = {
|
|
@@ -1448,6 +1458,10 @@ var SRP$d = {
|
|
|
1448
1458
|
TRAVEL_GROUP: 'Reisegruppe',
|
|
1449
1459
|
EXCURSION: 'Ausflug'
|
|
1450
1460
|
};
|
|
1461
|
+
var ITINERARY$d = {
|
|
1462
|
+
DAY: 'Tag',
|
|
1463
|
+
NO_ITEMS: 'Keine Elemente für diesen Tag.'
|
|
1464
|
+
};
|
|
1451
1465
|
var deJson = {
|
|
1452
1466
|
STEPS: STEPS$d,
|
|
1453
1467
|
INPUT: INPUT$d,
|
|
@@ -1466,7 +1480,8 @@ var deJson = {
|
|
|
1466
1480
|
NAVBAR: NAVBAR$d,
|
|
1467
1481
|
LOGIN: LOGIN$d,
|
|
1468
1482
|
QSM: QSM$e,
|
|
1469
|
-
SRP: SRP$d
|
|
1483
|
+
SRP: SRP$d,
|
|
1484
|
+
ITINERARY: ITINERARY$d
|
|
1470
1485
|
};
|
|
1471
1486
|
|
|
1472
1487
|
var STEPS$c = {
|
|
@@ -1860,6 +1875,10 @@ var SRP$c = {
|
|
|
1860
1875
|
TRAVEL_GROUP: 'Travel group',
|
|
1861
1876
|
EXCURSION: 'Excursion'
|
|
1862
1877
|
};
|
|
1878
|
+
var ITINERARY$c = {
|
|
1879
|
+
DAY: 'Day',
|
|
1880
|
+
NO_ITEMS: 'No items for this day.'
|
|
1881
|
+
};
|
|
1863
1882
|
var enJson = {
|
|
1864
1883
|
STEPS: STEPS$c,
|
|
1865
1884
|
INPUT: INPUT$c,
|
|
@@ -1878,7 +1897,8 @@ var enJson = {
|
|
|
1878
1897
|
NAVBAR: NAVBAR$c,
|
|
1879
1898
|
LOGIN: LOGIN$c,
|
|
1880
1899
|
QSM: QSM$d,
|
|
1881
|
-
SRP: SRP$c
|
|
1900
|
+
SRP: SRP$c,
|
|
1901
|
+
ITINERARY: ITINERARY$c
|
|
1882
1902
|
};
|
|
1883
1903
|
|
|
1884
1904
|
var STEPS$b = {
|
|
@@ -2269,6 +2289,10 @@ var SRP$b = {
|
|
|
2269
2289
|
TRAVEL_GROUP: 'Grupo de viaje',
|
|
2270
2290
|
EXCURSION: 'Excursión'
|
|
2271
2291
|
};
|
|
2292
|
+
var ITINERARY$b = {
|
|
2293
|
+
DAY: 'Día',
|
|
2294
|
+
NO_ITEMS: 'No hay elementos para este día.'
|
|
2295
|
+
};
|
|
2272
2296
|
var esJson = {
|
|
2273
2297
|
STEPS: STEPS$b,
|
|
2274
2298
|
INPUT: INPUT$b,
|
|
@@ -2287,7 +2311,8 @@ var esJson = {
|
|
|
2287
2311
|
NAVBAR: NAVBAR$b,
|
|
2288
2312
|
LOGIN: LOGIN$b,
|
|
2289
2313
|
QSM: QSM$c,
|
|
2290
|
-
SRP: SRP$b
|
|
2314
|
+
SRP: SRP$b,
|
|
2315
|
+
ITINERARY: ITINERARY$b
|
|
2291
2316
|
};
|
|
2292
2317
|
|
|
2293
2318
|
var STEPS$a = {
|
|
@@ -2682,6 +2707,10 @@ var SRP$a = {
|
|
|
2682
2707
|
TRAVEL_GROUP: 'Groupe de voyageurs',
|
|
2683
2708
|
EXCURSION: 'Excursion'
|
|
2684
2709
|
};
|
|
2710
|
+
var ITINERARY$a = {
|
|
2711
|
+
DAY: 'Jour',
|
|
2712
|
+
NO_ITEMS: 'Aucun élément pour ce jour.'
|
|
2713
|
+
};
|
|
2685
2714
|
var frBeJson = {
|
|
2686
2715
|
STEPS: STEPS$a,
|
|
2687
2716
|
INPUT: INPUT$a,
|
|
@@ -2700,7 +2729,8 @@ var frBeJson = {
|
|
|
2700
2729
|
NAVBAR: NAVBAR$a,
|
|
2701
2730
|
LOGIN: LOGIN$a,
|
|
2702
2731
|
QSM: QSM$b,
|
|
2703
|
-
SRP: SRP$a
|
|
2732
|
+
SRP: SRP$a,
|
|
2733
|
+
ITINERARY: ITINERARY$a
|
|
2704
2734
|
};
|
|
2705
2735
|
|
|
2706
2736
|
var STEPS$9 = {
|
|
@@ -3090,6 +3120,10 @@ var SRP$9 = {
|
|
|
3090
3120
|
TRAVEL_GROUP: 'Groupe de voyageurs',
|
|
3091
3121
|
EXCURSION: 'Excursion'
|
|
3092
3122
|
};
|
|
3123
|
+
var ITINERARY$9 = {
|
|
3124
|
+
DAY: 'Jour',
|
|
3125
|
+
NO_ITEMS: 'Aucun élément pour ce jour.'
|
|
3126
|
+
};
|
|
3093
3127
|
var frFrJson = {
|
|
3094
3128
|
STEPS: STEPS$9,
|
|
3095
3129
|
INPUT: INPUT$9,
|
|
@@ -3108,7 +3142,8 @@ var frFrJson = {
|
|
|
3108
3142
|
NAVBAR: NAVBAR$9,
|
|
3109
3143
|
LOGIN: LOGIN$9,
|
|
3110
3144
|
QSM: QSM$a,
|
|
3111
|
-
SRP: SRP$9
|
|
3145
|
+
SRP: SRP$9,
|
|
3146
|
+
ITINERARY: ITINERARY$9
|
|
3112
3147
|
};
|
|
3113
3148
|
|
|
3114
3149
|
var STEPS$8 = {
|
|
@@ -3498,6 +3533,10 @@ var SRP$8 = {
|
|
|
3498
3533
|
TRAVEL_GROUP: 'Ferðahópur',
|
|
3499
3534
|
EXCURSION: 'Útflutningur'
|
|
3500
3535
|
};
|
|
3536
|
+
var ITINERARY$8 = {
|
|
3537
|
+
DAY: 'Dagur',
|
|
3538
|
+
NO_ITEMS: 'Engar upplýsingar fyrir þennan dag.'
|
|
3539
|
+
};
|
|
3501
3540
|
var isJson = {
|
|
3502
3541
|
STEPS: STEPS$8,
|
|
3503
3542
|
INPUT: INPUT$8,
|
|
@@ -3516,7 +3555,8 @@ var isJson = {
|
|
|
3516
3555
|
NAVBAR: NAVBAR$8,
|
|
3517
3556
|
LOGIN: LOGIN$8,
|
|
3518
3557
|
QSM: QSM$9,
|
|
3519
|
-
SRP: SRP$8
|
|
3558
|
+
SRP: SRP$8,
|
|
3559
|
+
ITINERARY: ITINERARY$8
|
|
3520
3560
|
};
|
|
3521
3561
|
|
|
3522
3562
|
var STEPS$7 = {
|
|
@@ -3907,6 +3947,10 @@ var SRP$7 = {
|
|
|
3907
3947
|
TRAVEL_GROUP: 'Gruppo di viaggio',
|
|
3908
3948
|
EXCURSION: 'Escursione'
|
|
3909
3949
|
};
|
|
3950
|
+
var ITINERARY$7 = {
|
|
3951
|
+
DAY: 'Giorno',
|
|
3952
|
+
NO_ITEMS: 'Nessun elemento per questo giorno.'
|
|
3953
|
+
};
|
|
3910
3954
|
var itJson = {
|
|
3911
3955
|
STEPS: STEPS$7,
|
|
3912
3956
|
INPUT: INPUT$7,
|
|
@@ -3925,7 +3969,8 @@ var itJson = {
|
|
|
3925
3969
|
NAVBAR: NAVBAR$7,
|
|
3926
3970
|
LOGIN: LOGIN$7,
|
|
3927
3971
|
QSM: QSM$8,
|
|
3928
|
-
SRP: SRP$7
|
|
3972
|
+
SRP: SRP$7,
|
|
3973
|
+
ITINERARY: ITINERARY$7
|
|
3929
3974
|
};
|
|
3930
3975
|
|
|
3931
3976
|
var STEPS$6 = {
|
|
@@ -4320,6 +4365,10 @@ var SRP$6 = {
|
|
|
4320
4365
|
TRAVEL_GROUP: 'Reisgezelschap',
|
|
4321
4366
|
EXCURSION: 'Excursie'
|
|
4322
4367
|
};
|
|
4368
|
+
var ITINERARY$6 = {
|
|
4369
|
+
DAY: 'Dag',
|
|
4370
|
+
NO_ITEMS: 'Geen elementen voor deze dag.'
|
|
4371
|
+
};
|
|
4323
4372
|
var nlBeJson = {
|
|
4324
4373
|
STEPS: STEPS$6,
|
|
4325
4374
|
INPUT: INPUT$6,
|
|
@@ -4338,7 +4387,8 @@ var nlBeJson = {
|
|
|
4338
4387
|
NAVBAR: NAVBAR$6,
|
|
4339
4388
|
LOGIN: LOGIN$6,
|
|
4340
4389
|
QSM: QSM$7,
|
|
4341
|
-
SRP: SRP$6
|
|
4390
|
+
SRP: SRP$6,
|
|
4391
|
+
ITINERARY: ITINERARY$6
|
|
4342
4392
|
};
|
|
4343
4393
|
|
|
4344
4394
|
var STEPS$5 = {
|
|
@@ -4729,6 +4779,10 @@ var SRP$5 = {
|
|
|
4729
4779
|
TRAVEL_GROUP: 'Reisgezelschap',
|
|
4730
4780
|
EXCURSION: 'Excursie'
|
|
4731
4781
|
};
|
|
4782
|
+
var ITINERARY$5 = {
|
|
4783
|
+
DAY: 'Dag',
|
|
4784
|
+
NO_ITEMS: 'Geen elementen voor deze dag.'
|
|
4785
|
+
};
|
|
4732
4786
|
var nlNlJson = {
|
|
4733
4787
|
STEPS: STEPS$5,
|
|
4734
4788
|
INPUT: INPUT$5,
|
|
@@ -4747,7 +4801,8 @@ var nlNlJson = {
|
|
|
4747
4801
|
NAVBAR: NAVBAR$5,
|
|
4748
4802
|
LOGIN: LOGIN$5,
|
|
4749
4803
|
QSM: QSM$6,
|
|
4750
|
-
SRP: SRP$5
|
|
4804
|
+
SRP: SRP$5,
|
|
4805
|
+
ITINERARY: ITINERARY$5
|
|
4751
4806
|
};
|
|
4752
4807
|
|
|
4753
4808
|
var STEPS$4 = {
|
|
@@ -5138,6 +5193,10 @@ var SRP$4 = {
|
|
|
5138
5193
|
TRAVEL_GROUP: 'Reisefølge',
|
|
5139
5194
|
EXCURSION: 'Utflukt'
|
|
5140
5195
|
};
|
|
5196
|
+
var ITINERARY$4 = {
|
|
5197
|
+
DAY: 'Dag',
|
|
5198
|
+
NO_ITEMS: 'Ingen elementer for denne dagen.'
|
|
5199
|
+
};
|
|
5141
5200
|
var noJson = {
|
|
5142
5201
|
STEPS: STEPS$4,
|
|
5143
5202
|
INPUT: INPUT$4,
|
|
@@ -5156,7 +5215,8 @@ var noJson = {
|
|
|
5156
5215
|
NAVBAR: NAVBAR$4,
|
|
5157
5216
|
LOGIN: LOGIN$4,
|
|
5158
5217
|
QSM: QSM$5,
|
|
5159
|
-
SRP: SRP$4
|
|
5218
|
+
SRP: SRP$4,
|
|
5219
|
+
ITINERARY: ITINERARY$4
|
|
5160
5220
|
};
|
|
5161
5221
|
|
|
5162
5222
|
var STEPS$3 = {
|
|
@@ -5547,6 +5607,10 @@ var SRP$3 = {
|
|
|
5547
5607
|
TRAVEL_GROUP: 'Grupa podróżnych',
|
|
5548
5608
|
EXCURSION: 'Wycieczka'
|
|
5549
5609
|
};
|
|
5610
|
+
var ITINERARY$3 = {
|
|
5611
|
+
DAY: 'Dzień',
|
|
5612
|
+
NO_ITEMS: 'Brak elementów dla tego dnia.'
|
|
5613
|
+
};
|
|
5550
5614
|
var plJson = {
|
|
5551
5615
|
STEPS: STEPS$3,
|
|
5552
5616
|
INPUT: INPUT$3,
|
|
@@ -5565,7 +5629,8 @@ var plJson = {
|
|
|
5565
5629
|
NAVBAR: NAVBAR$3,
|
|
5566
5630
|
LOGIN: LOGIN$3,
|
|
5567
5631
|
QSM: QSM$4,
|
|
5568
|
-
SRP: SRP$3
|
|
5632
|
+
SRP: SRP$3,
|
|
5633
|
+
ITINERARY: ITINERARY$3
|
|
5569
5634
|
};
|
|
5570
5635
|
|
|
5571
5636
|
var STEPS$2 = {
|
|
@@ -5956,6 +6021,10 @@ var SRP$2 = {
|
|
|
5956
6021
|
TRAVEL_GROUP: 'Grupo de viajantes',
|
|
5957
6022
|
EXCURSION: 'Excursão'
|
|
5958
6023
|
};
|
|
6024
|
+
var ITINERARY$2 = {
|
|
6025
|
+
DAY: 'Dia',
|
|
6026
|
+
NO_ITEMS: 'Nenhum item para este dia.'
|
|
6027
|
+
};
|
|
5959
6028
|
var ptJson = {
|
|
5960
6029
|
STEPS: STEPS$2,
|
|
5961
6030
|
INPUT: INPUT$2,
|
|
@@ -5974,7 +6043,8 @@ var ptJson = {
|
|
|
5974
6043
|
NAVBAR: NAVBAR$2,
|
|
5975
6044
|
LOGIN: LOGIN$2,
|
|
5976
6045
|
QSM: QSM$3,
|
|
5977
|
-
SRP: SRP$2
|
|
6046
|
+
SRP: SRP$2,
|
|
6047
|
+
ITINERARY: ITINERARY$2
|
|
5978
6048
|
};
|
|
5979
6049
|
|
|
5980
6050
|
var STEPS$1 = {
|
|
@@ -6365,6 +6435,10 @@ var SRP$1 = {
|
|
|
6365
6435
|
TRAVEL_GROUP: 'Resesällskap',
|
|
6366
6436
|
EXCURSION: 'Utflykt'
|
|
6367
6437
|
};
|
|
6438
|
+
var ITINERARY$1 = {
|
|
6439
|
+
DAY: 'Dag',
|
|
6440
|
+
NO_ITEMS: 'Inga element för denna dag.'
|
|
6441
|
+
};
|
|
6368
6442
|
var svJson = {
|
|
6369
6443
|
STEPS: STEPS$1,
|
|
6370
6444
|
INPUT: INPUT$1,
|
|
@@ -6383,7 +6457,8 @@ var svJson = {
|
|
|
6383
6457
|
NAVBAR: NAVBAR$1,
|
|
6384
6458
|
LOGIN: LOGIN$1,
|
|
6385
6459
|
QSM: QSM$2,
|
|
6386
|
-
SRP: SRP$1
|
|
6460
|
+
SRP: SRP$1,
|
|
6461
|
+
ITINERARY: ITINERARY$1
|
|
6387
6462
|
};
|
|
6388
6463
|
|
|
6389
6464
|
var STEPS = {
|
|
@@ -6772,6 +6847,10 @@ var SRP = {
|
|
|
6772
6847
|
TRAVEL_GROUP: '旅行グループ',
|
|
6773
6848
|
EXCURSION: 'エクスカーション'
|
|
6774
6849
|
};
|
|
6850
|
+
var ITINERARY = {
|
|
6851
|
+
DAY: '日',
|
|
6852
|
+
NO_ITEMS: 'この日のアイテムはありません。'
|
|
6853
|
+
};
|
|
6775
6854
|
var jaJson = {
|
|
6776
6855
|
STEPS: STEPS,
|
|
6777
6856
|
INPUT: INPUT,
|
|
@@ -6790,7 +6869,8 @@ var jaJson = {
|
|
|
6790
6869
|
NAVBAR: NAVBAR,
|
|
6791
6870
|
LOGIN: LOGIN,
|
|
6792
6871
|
QSM: QSM$1,
|
|
6793
|
-
SRP: SRP
|
|
6872
|
+
SRP: SRP,
|
|
6873
|
+
ITINERARY: ITINERARY
|
|
6794
6874
|
};
|
|
6795
6875
|
|
|
6796
6876
|
exports.DepartureRange = void 0;
|
|
@@ -35423,6 +35503,21 @@ var getSegmentTitle = function (segment) {
|
|
|
35423
35503
|
var _a;
|
|
35424
35504
|
return (_a = segment.productName) !== null && _a !== void 0 ? _a : segment.accommodationName;
|
|
35425
35505
|
};
|
|
35506
|
+
var SERVICE_TYPE_PRIORITY = {
|
|
35507
|
+
7: 0, // Flight
|
|
35508
|
+
13: 1, // Transfer
|
|
35509
|
+
3: 2, // Hotel
|
|
35510
|
+
4: 3 // Excursion
|
|
35511
|
+
};
|
|
35512
|
+
var getServiceTypePriority = function (serviceType) {
|
|
35513
|
+
var _a;
|
|
35514
|
+
return (_a = SERVICE_TYPE_PRIORITY[serviceType !== null && serviceType !== void 0 ? serviceType : -1]) !== null && _a !== void 0 ? _a : 2;
|
|
35515
|
+
};
|
|
35516
|
+
var getDateOnlyTime = function (date) {
|
|
35517
|
+
if (!date) return 0;
|
|
35518
|
+
var parsedDate = new Date(date);
|
|
35519
|
+
return new Date(parsedDate.getFullYear(), parsedDate.getMonth(), parsedDate.getDate()).getTime();
|
|
35520
|
+
};
|
|
35426
35521
|
var Itinerary = function (_a) {
|
|
35427
35522
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
35428
35523
|
var isOpen = _a.isOpen,
|
|
@@ -35451,14 +35546,17 @@ var Itinerary = function (_a) {
|
|
|
35451
35546
|
true
|
|
35452
35547
|
).sort(function (a, b) {
|
|
35453
35548
|
var _a, _b;
|
|
35454
|
-
var
|
|
35455
|
-
var
|
|
35456
|
-
|
|
35457
|
-
|
|
35458
|
-
|
|
35459
|
-
|
|
35460
|
-
|
|
35461
|
-
|
|
35549
|
+
var dateA = getDateOnlyTime(a.from);
|
|
35550
|
+
var dateB = getDateOnlyTime(b.from);
|
|
35551
|
+
if (dateA !== dateB) {
|
|
35552
|
+
return dateA - dateB;
|
|
35553
|
+
}
|
|
35554
|
+
var priorityA = getServiceTypePriority(a.serviceType);
|
|
35555
|
+
var priorityB = getServiceTypePriority(b.serviceType);
|
|
35556
|
+
if (priorityA !== priorityB) {
|
|
35557
|
+
return priorityA - priorityB;
|
|
35558
|
+
}
|
|
35559
|
+
return ((_a = a.order) !== null && _a !== void 0 ? _a : Infinity) - ((_b = b.order) !== null && _b !== void 0 ? _b : Infinity);
|
|
35462
35560
|
});
|
|
35463
35561
|
},
|
|
35464
35562
|
[packagingEntry]
|
|
@@ -48617,33 +48715,98 @@ var getRequestRoomsFromPackagingSegments = function (entry, segments) {
|
|
|
48617
48715
|
});
|
|
48618
48716
|
};
|
|
48619
48717
|
|
|
48620
|
-
var formatNodeDate = function (date) {
|
|
48621
|
-
if (!date) return '';
|
|
48622
|
-
try {
|
|
48623
|
-
return new Intl.DateTimeFormat('nl-BE', {
|
|
48624
|
-
weekday: 'long',
|
|
48625
|
-
day: '2-digit',
|
|
48626
|
-
month: '2-digit',
|
|
48627
|
-
year: 'numeric'
|
|
48628
|
-
}).format(date);
|
|
48629
|
-
} catch (_a) {
|
|
48630
|
-
return '';
|
|
48631
|
-
}
|
|
48632
|
-
};
|
|
48633
48718
|
var escapeHtml = function (value) {
|
|
48634
48719
|
if (!value) return '';
|
|
48635
48720
|
return value.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''');
|
|
48636
48721
|
};
|
|
48637
|
-
var
|
|
48722
|
+
var getNodeDayRange = function (node) {
|
|
48723
|
+
var _a, _b;
|
|
48724
|
+
var startDay = Number((_a = node.startDay) !== null && _a !== void 0 ? _a : 0);
|
|
48725
|
+
var endDay = Number((_b = node.endDay) !== null && _b !== void 0 ? _b : startDay);
|
|
48726
|
+
return { startDay: startDay, endDay: endDay };
|
|
48727
|
+
};
|
|
48728
|
+
var getItemDuration = function (item) {
|
|
48729
|
+
var _a;
|
|
48730
|
+
var duration = Number((_a = item.productDuration) !== null && _a !== void 0 ? _a : 0);
|
|
48731
|
+
return Number.isFinite(duration) && duration > 0 ? duration : 0;
|
|
48732
|
+
};
|
|
48733
|
+
var isAccommodationItem = function (item) {
|
|
48734
|
+
var _a;
|
|
48735
|
+
return getItemDuration(item) > 1 && ((_a = item.templateName) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes('hotel'));
|
|
48736
|
+
};
|
|
48737
|
+
var getAccommodationName = function (item) {
|
|
48738
|
+
return item.title || 'Onbekende accommodatie';
|
|
48739
|
+
};
|
|
48740
|
+
var getItemDeduplicationKey = function (item) {
|
|
48741
|
+
var _a;
|
|
48742
|
+
(_a = item.templateName) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
48743
|
+
// if (templateName === 'hotel') {
|
|
48744
|
+
// return [item.templateName, item.productCode, item.accommodationCode, item.regimeCode].filter(Boolean).join('|');
|
|
48745
|
+
// }
|
|
48746
|
+
// if (templateName === 'excursion') {
|
|
48747
|
+
// return [item.templateName, item.productCode].filter(Boolean).join('|');
|
|
48748
|
+
// }
|
|
48749
|
+
return [item.templateName, item.productCode, item.title].filter(Boolean).join('|');
|
|
48750
|
+
};
|
|
48751
|
+
var getUniqueItems = function (items) {
|
|
48752
|
+
if (items === void 0) {
|
|
48753
|
+
items = [];
|
|
48754
|
+
}
|
|
48755
|
+
var seen = new Set();
|
|
48756
|
+
return items.filter(function (item) {
|
|
48757
|
+
var key = getItemDeduplicationKey(item) || item.itemGuid;
|
|
48758
|
+
if (seen.has(key)) {
|
|
48759
|
+
return false;
|
|
48760
|
+
}
|
|
48761
|
+
seen.add(key);
|
|
48762
|
+
return true;
|
|
48763
|
+
});
|
|
48764
|
+
};
|
|
48765
|
+
var findAccommodationForDay = function (nodes, currentDay) {
|
|
48766
|
+
var _a;
|
|
48767
|
+
for (var _i = 0, _b = nodes !== null && nodes !== void 0 ? nodes : []; _i < _b.length; _i++) {
|
|
48768
|
+
var node = _b[_i];
|
|
48769
|
+
var startDay = getNodeDayRange(node).startDay;
|
|
48770
|
+
var uniqueItems = getUniqueItems((_a = node.items) !== null && _a !== void 0 ? _a : []);
|
|
48771
|
+
for (var _c = 0, uniqueItems_1 = uniqueItems; _c < uniqueItems_1.length; _c++) {
|
|
48772
|
+
var item = uniqueItems_1[_c];
|
|
48773
|
+
if (!isAccommodationItem(item)) {
|
|
48774
|
+
continue;
|
|
48775
|
+
}
|
|
48776
|
+
var duration = getItemDuration(item);
|
|
48777
|
+
var accommodationEndDay = startDay + duration - 1;
|
|
48778
|
+
if (currentDay >= startDay && currentDay <= accommodationEndDay) {
|
|
48779
|
+
return item;
|
|
48780
|
+
}
|
|
48781
|
+
}
|
|
48782
|
+
}
|
|
48783
|
+
return null;
|
|
48784
|
+
};
|
|
48785
|
+
var buildItineraryHtml = function (itinerary, translations) {
|
|
48638
48786
|
var _a;
|
|
48639
48787
|
if (!itinerary) {
|
|
48640
48788
|
return '\n <div class="itinerary-shell">\n <div class="itinerary-empty">Geen reisroute beschikbaar.</div>\n </div>\n ';
|
|
48641
48789
|
}
|
|
48642
|
-
var
|
|
48790
|
+
var allNodes = (_a = itinerary.nodes) !== null && _a !== void 0 ? _a : [];
|
|
48791
|
+
var nodesHtml = allNodes
|
|
48643
48792
|
.map(function (node) {
|
|
48644
|
-
var
|
|
48793
|
+
var _a;
|
|
48794
|
+
var startDay = getNodeDayRange(node).startDay;
|
|
48795
|
+
var day = node.startDate ? dateFns.format(node.startDate, 'd') : null;
|
|
48796
|
+
var month = node.startDate ? dateFns.format(node.startDate, 'MMM') : null;
|
|
48797
|
+
var uniqueItems = getUniqueItems((_a = node.items) !== null && _a !== void 0 ? _a : []);
|
|
48798
|
+
var hasItems = uniqueItems.length > 0;
|
|
48799
|
+
var hasAccommodationInCurrentNode = uniqueItems.some(isAccommodationItem);
|
|
48800
|
+
var activeAccommodation = findAccommodationForDay(allNodes, startDay);
|
|
48801
|
+
var accommodationBanner =
|
|
48802
|
+
!hasAccommodationInCurrentNode && activeAccommodation
|
|
48803
|
+
? '\n <div class="itinerary-node__accommodation-banner">\n Accommodatie voor deze dag: <strong>'.concat(
|
|
48804
|
+
escapeHtml(getAccommodationName(activeAccommodation)),
|
|
48805
|
+
'</strong>\n </div>\n '
|
|
48806
|
+
)
|
|
48807
|
+
: '';
|
|
48645
48808
|
var itemsHtml = hasItems
|
|
48646
|
-
?
|
|
48809
|
+
? uniqueItems
|
|
48647
48810
|
.map(function (item) {
|
|
48648
48811
|
var _a;
|
|
48649
48812
|
return '\n <article class="itinerary-item" data-template="'
|
|
@@ -48651,25 +48814,19 @@ var buildItineraryHtml = function (itinerary) {
|
|
|
48651
48814
|
.concat((_a = item.contents) !== null && _a !== void 0 ? _a : '', '\n </article>\n ');
|
|
48652
48815
|
})
|
|
48653
48816
|
.join('')
|
|
48654
|
-
: '<div class="itinerary-node__empty">
|
|
48655
|
-
return '\n <section class="itinerary-node">\n <header class="itinerary-node__header">\n <div class="itinerary-node__day">
|
|
48656
|
-
.concat(
|
|
48657
|
-
.concat(
|
|
48658
|
-
|
|
48659
|
-
|
|
48660
|
-
)
|
|
48661
|
-
.concat(escapeHtml(node.title), '</h2>\n <div class="itinerary-node__date">')
|
|
48662
|
-
.concat(
|
|
48663
|
-
escapeHtml(formatNodeDate(node.startDate)),
|
|
48664
|
-
'</div>\n </div>\n </header>\n\n <div class="itinerary-node__content">\n '
|
|
48665
|
-
)
|
|
48817
|
+
: '<div class="itinerary-node__empty">'.concat(translations.ITINERARY.NO_ITEMS, '</div>');
|
|
48818
|
+
return '\n <section class="itinerary-node">\n <header class="itinerary-node__header">\n \n <div class="itinerary-node__day">\n <p class="itinerary-node__day-day">'
|
|
48819
|
+
.concat(day, '</p>\n <p class="itinerary-node__day-month">')
|
|
48820
|
+
.concat(month, '</p>\n </div>\n\n <div>\n <h2 class="itinerary-node__title">')
|
|
48821
|
+
.concat(escapeHtml(node.title), '</h2>\n </div>\n </header>\n\n <div class="itinerary-node__content">\n ')
|
|
48822
|
+
.concat(accommodationBanner, '\n ')
|
|
48666
48823
|
.concat(itemsHtml, '\n </div>\n </section>\n ');
|
|
48667
48824
|
})
|
|
48668
48825
|
.join('');
|
|
48669
48826
|
var defaultItemsHtml =
|
|
48670
48827
|
itinerary.defaultItems && itinerary.defaultItems.length > 0
|
|
48671
48828
|
? '\n <section class="itinerary-default-items">\n <h2 class="itinerary-default-items__title">Algemene info</h2>\n '.concat(
|
|
48672
|
-
itinerary.defaultItems
|
|
48829
|
+
getUniqueItems(itinerary.defaultItems)
|
|
48673
48830
|
.map(function (item) {
|
|
48674
48831
|
var _a;
|
|
48675
48832
|
return '\n <article class="itinerary-item" data-template="'
|
|
@@ -48691,42 +48848,49 @@ var buildItineraryHtml = function (itinerary) {
|
|
|
48691
48848
|
.concat(defaultItemsHtml, '\n </div>\n </div>\n ');
|
|
48692
48849
|
};
|
|
48693
48850
|
var FullItinerary = function (_a) {
|
|
48851
|
+
var _b;
|
|
48694
48852
|
var isLoading = _a.isLoading;
|
|
48695
|
-
if (isLoading) {
|
|
48696
|
-
return React__default['default'].createElement(Spinner, null);
|
|
48697
|
-
}
|
|
48698
48853
|
var itinerary = reactRedux.useSelector(function (state) {
|
|
48699
48854
|
return state.searchResults;
|
|
48700
48855
|
}).itinerary;
|
|
48856
|
+
var context = React.useContext(SearchResultsConfigurationContext);
|
|
48857
|
+
var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
|
|
48701
48858
|
var hostRef = React.useRef(null);
|
|
48702
48859
|
var shadowRootRef = React.useRef(null);
|
|
48703
48860
|
var html = React.useMemo(
|
|
48704
48861
|
function () {
|
|
48705
|
-
return buildItineraryHtml(itinerary);
|
|
48862
|
+
return buildItineraryHtml(itinerary, translations);
|
|
48706
48863
|
},
|
|
48707
|
-
[itinerary]
|
|
48864
|
+
[itinerary, translations]
|
|
48708
48865
|
);
|
|
48709
48866
|
React.useEffect(
|
|
48710
48867
|
function () {
|
|
48711
|
-
var _a;
|
|
48712
|
-
if (
|
|
48868
|
+
var _a, _b;
|
|
48869
|
+
if (isLoading) {
|
|
48713
48870
|
return;
|
|
48714
48871
|
}
|
|
48715
|
-
|
|
48716
|
-
|
|
48872
|
+
var host = hostRef.current;
|
|
48873
|
+
if (!host) {
|
|
48874
|
+
return;
|
|
48717
48875
|
}
|
|
48718
|
-
var shadowRoot =
|
|
48876
|
+
var shadowRoot = (_a = host.shadowRoot) !== null && _a !== void 0 ? _a : host.attachShadow({ mode: 'open' });
|
|
48877
|
+
shadowRootRef.current = shadowRoot;
|
|
48719
48878
|
shadowRoot.innerHTML =
|
|
48720
|
-
"\n <style>\n :host {\n all: initial;\n }\n\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n .itinerary-shell {\n width: 100%;\n margin: 0 auto;\n font-family: 'Outfit', sans-serif;\n color: #222;\n }\n\n .itinerary-shell__header {\n margin-bottom: 24px;\n }\n\n .itinerary-shell__title {\n margin: 0;\n font-size: 32px;\n line-height: 1.2;\n }\n\n .itinerary-shell__content {\n display: grid;\n gap: 24px;\n }\n\n .itinerary-node {\n border: 1px solid #e5e7eb;\n border-radius: 16px;\n overflow: hidden;\n background: #fff;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);\n }\n\n .itinerary-node__header {\n display: flex;\n gap: 16px;\n align-items:
|
|
48879
|
+
"\n <style>\n :host {\n all: initial;\n display: block;\n width: 100%;\n }\n\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n .itinerary-shell {\n width: 100%;\n margin: 0 auto;\n font-family: 'Outfit', sans-serif;\n color: #222;\n }\n\n .itinerary-shell__header {\n margin-bottom: 24px;\n }\n\n .itinerary-shell__title {\n margin: 0;\n font-size: 32px;\n line-height: 1.2;\n }\n\n .itinerary-shell__content {\n display: grid;\n gap: 24px;\n }\n\n .itinerary-node {\n border: 1px solid #e5e7eb;\n border-radius: 16px;\n overflow: hidden;\n background: #fff;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);\n }\n\n .itinerary-node__header {\n display: flex;\n gap: 16px;\n align-items: center;\n border-bottom: 1px solid #eef0f2;\n background: #fafafa;\n }\n\n .itinerary-node__day {\n flex: 50px 0 0;\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n background: #1f9470;\n color: white;\n border: 1.5px solid var(--tide-booking-color-secondary);\n }\n\n .itinerary-node__day-month {\n margin: 0px;\n }\n\n .itinerary-node__day-day {\n margin: 0px;\n font-weight: var(--tide-booking-search-results-label-date-month-font-weight);\n color: var(--tide-booking-search-results-label-date-month-color);\n font-size: 24px;\n }\n\n .itinerary-node__title {\n margin: 0;\n font-size: 22px;\n line-height: 1.25;\n }\n\n .itinerary-node__content {\n display: grid;\n gap: 20px;\n padding: 20px;\n }\n\n .itinerary-node__accommodation-banner {\n padding: 12px 16px;\n border: 1px solid #dbeafe;\n border-radius: 12px;\n background: #eff6ff;\n color: #1e3a8a;\n font-size: 14px;\n line-height: 1.4;\n }\n\n .itinerary-item {\n display: block;\n border-radius: 12px;\n overflow: hidden;\n background: #fff;\n }\n\n .itinerary-node__empty,\n .itinerary-empty {\n padding: 20px;\n border: 1px dashed #d1d5db;\n border-radius: 12px;\n color: #6b7280;\n background: #fafafa;\n }\n\n .itinerary-default-items {\n border: 1px solid #e5e7eb;\n border-radius: 16px;\n padding: 20px;\n background: #fff;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);\n }\n\n .itinerary-default-items__title {\n margin: 0 0 16px;\n font-size: 22px;\n }\n\n @media (max-width: 768px) {\n .itinerary-shell {\n padding: 16px;\n }\n }\n\n "
|
|
48721
48880
|
.concat(
|
|
48722
|
-
(
|
|
48881
|
+
(_b = itinerary === null || itinerary === void 0 ? void 0 : itinerary.styleSheetBody) !== null && _b !== void 0 ? _b : '',
|
|
48723
48882
|
'\n </style>\n\n '
|
|
48724
48883
|
)
|
|
48725
48884
|
.concat(html, '\n ');
|
|
48726
48885
|
},
|
|
48727
|
-
[html, itinerary === null || itinerary === void 0 ? void 0 : itinerary.styleSheetBody]
|
|
48886
|
+
[html, itinerary === null || itinerary === void 0 ? void 0 : itinerary.styleSheetBody, isLoading]
|
|
48887
|
+
);
|
|
48888
|
+
return React__default['default'].createElement(
|
|
48889
|
+
React__default['default'].Fragment,
|
|
48890
|
+
null,
|
|
48891
|
+
isLoading && React__default['default'].createElement(Spinner, null),
|
|
48892
|
+
React__default['default'].createElement('div', { ref: hostRef, style: { display: isLoading ? 'none' : 'block' } })
|
|
48728
48893
|
);
|
|
48729
|
-
return React__default['default'].createElement('div', { ref: hostRef });
|
|
48730
48894
|
};
|
|
48731
48895
|
|
|
48732
48896
|
var getExcursionContentWithUpdatedPrice = function (contents, totalPrice, currencyCode) {
|
|
@@ -48976,9 +49140,9 @@ var SearchResultsContainer = function () {
|
|
|
48976
49140
|
packagingAccoSearchDetails = _c.packagingAccoSearchDetails,
|
|
48977
49141
|
editablePackagingEntry = _c.editablePackagingEntry,
|
|
48978
49142
|
transactionId = _c.transactionId,
|
|
48979
|
-
flyInType = _c.flyInType
|
|
48980
|
-
|
|
48981
|
-
|
|
49143
|
+
flyInType = _c.flyInType;
|
|
49144
|
+
_c.itinerary;
|
|
49145
|
+
var packagingFlightResults = _c.packagingFlightResults,
|
|
48982
49146
|
confirmedExcursionsByDay = _c.confirmedExcursionsByDay;
|
|
48983
49147
|
var isMobile = useMediaQuery('(max-width: 1200px)');
|
|
48984
49148
|
var _d = React.useState(false),
|
|
@@ -50161,7 +50325,6 @@ var SearchResultsContainer = function () {
|
|
|
50161
50325
|
: '',
|
|
50162
50326
|
language: (_d = context.languageCode) !== null && _d !== void 0 ? _d : 'en-GB'
|
|
50163
50327
|
});
|
|
50164
|
-
console.log('Built nextEntry', nextEntry);
|
|
50165
50328
|
if (!nextEntry) return;
|
|
50166
50329
|
dispatch(setEditablePackagingEntry(nextEntry));
|
|
50167
50330
|
if (selectedCombinationFlight) {
|
|
@@ -50807,7 +50970,6 @@ var SearchResultsContainer = function () {
|
|
|
50807
50970
|
),
|
|
50808
50971
|
context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
|
|
50809
50972
|
context.packagingEntry &&
|
|
50810
|
-
itinerary &&
|
|
50811
50973
|
React__default['default'].createElement(FullItinerary, { isLoading: itineraryIsLoading })
|
|
50812
50974
|
)
|
|
50813
50975
|
),
|