@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-esm/index.js
CHANGED
|
@@ -663,6 +663,10 @@ var SRP$f = {
|
|
|
663
663
|
TRAVEL_GROUP: 'مجموعة المسافرين',
|
|
664
664
|
EXCURSION: 'رحلة'
|
|
665
665
|
};
|
|
666
|
+
var ITINERARY$f = {
|
|
667
|
+
DAY: 'اليوم',
|
|
668
|
+
NO_ITEMS: 'لا توجد عناصر لهذا اليوم.'
|
|
669
|
+
};
|
|
666
670
|
var arJson = {
|
|
667
671
|
STEPS: STEPS$f,
|
|
668
672
|
INPUT: INPUT$f,
|
|
@@ -681,7 +685,8 @@ var arJson = {
|
|
|
681
685
|
NAVBAR: NAVBAR$f,
|
|
682
686
|
LOGIN: LOGIN$f,
|
|
683
687
|
QSM: QSM$g,
|
|
684
|
-
SRP: SRP$f
|
|
688
|
+
SRP: SRP$f,
|
|
689
|
+
ITINERARY: ITINERARY$f
|
|
685
690
|
};
|
|
686
691
|
|
|
687
692
|
var STEPS$e = {
|
|
@@ -1071,6 +1076,10 @@ var SRP$e = {
|
|
|
1071
1076
|
TRAVEL_GROUP: 'Rejseselskab',
|
|
1072
1077
|
EXCURSION: 'Udflugt'
|
|
1073
1078
|
};
|
|
1079
|
+
var ITINERARY$e = {
|
|
1080
|
+
DAY: 'Dag',
|
|
1081
|
+
NO_ITEMS: 'Ingen elementer for denne dag.'
|
|
1082
|
+
};
|
|
1074
1083
|
var daJson = {
|
|
1075
1084
|
STEPS: STEPS$e,
|
|
1076
1085
|
INPUT: INPUT$e,
|
|
@@ -1089,7 +1098,8 @@ var daJson = {
|
|
|
1089
1098
|
NAVBAR: NAVBAR$e,
|
|
1090
1099
|
LOGIN: LOGIN$e,
|
|
1091
1100
|
QSM: QSM$f,
|
|
1092
|
-
SRP: SRP$e
|
|
1101
|
+
SRP: SRP$e,
|
|
1102
|
+
ITINERARY: ITINERARY$e
|
|
1093
1103
|
};
|
|
1094
1104
|
|
|
1095
1105
|
var STEPS$d = {
|
|
@@ -1480,6 +1490,10 @@ var SRP$d = {
|
|
|
1480
1490
|
TRAVEL_GROUP: 'Reisegruppe',
|
|
1481
1491
|
EXCURSION: 'Ausflug'
|
|
1482
1492
|
};
|
|
1493
|
+
var ITINERARY$d = {
|
|
1494
|
+
DAY: 'Tag',
|
|
1495
|
+
NO_ITEMS: 'Keine Elemente für diesen Tag.'
|
|
1496
|
+
};
|
|
1483
1497
|
var deJson = {
|
|
1484
1498
|
STEPS: STEPS$d,
|
|
1485
1499
|
INPUT: INPUT$d,
|
|
@@ -1498,7 +1512,8 @@ var deJson = {
|
|
|
1498
1512
|
NAVBAR: NAVBAR$d,
|
|
1499
1513
|
LOGIN: LOGIN$d,
|
|
1500
1514
|
QSM: QSM$e,
|
|
1501
|
-
SRP: SRP$d
|
|
1515
|
+
SRP: SRP$d,
|
|
1516
|
+
ITINERARY: ITINERARY$d
|
|
1502
1517
|
};
|
|
1503
1518
|
|
|
1504
1519
|
var STEPS$c = {
|
|
@@ -1892,6 +1907,10 @@ var SRP$c = {
|
|
|
1892
1907
|
TRAVEL_GROUP: 'Travel group',
|
|
1893
1908
|
EXCURSION: 'Excursion'
|
|
1894
1909
|
};
|
|
1910
|
+
var ITINERARY$c = {
|
|
1911
|
+
DAY: 'Day',
|
|
1912
|
+
NO_ITEMS: 'No items for this day.'
|
|
1913
|
+
};
|
|
1895
1914
|
var enJson = {
|
|
1896
1915
|
STEPS: STEPS$c,
|
|
1897
1916
|
INPUT: INPUT$c,
|
|
@@ -1910,7 +1929,8 @@ var enJson = {
|
|
|
1910
1929
|
NAVBAR: NAVBAR$c,
|
|
1911
1930
|
LOGIN: LOGIN$c,
|
|
1912
1931
|
QSM: QSM$d,
|
|
1913
|
-
SRP: SRP$c
|
|
1932
|
+
SRP: SRP$c,
|
|
1933
|
+
ITINERARY: ITINERARY$c
|
|
1914
1934
|
};
|
|
1915
1935
|
|
|
1916
1936
|
var STEPS$b = {
|
|
@@ -2301,6 +2321,10 @@ var SRP$b = {
|
|
|
2301
2321
|
TRAVEL_GROUP: 'Grupo de viaje',
|
|
2302
2322
|
EXCURSION: 'Excursión'
|
|
2303
2323
|
};
|
|
2324
|
+
var ITINERARY$b = {
|
|
2325
|
+
DAY: 'Día',
|
|
2326
|
+
NO_ITEMS: 'No hay elementos para este día.'
|
|
2327
|
+
};
|
|
2304
2328
|
var esJson = {
|
|
2305
2329
|
STEPS: STEPS$b,
|
|
2306
2330
|
INPUT: INPUT$b,
|
|
@@ -2319,7 +2343,8 @@ var esJson = {
|
|
|
2319
2343
|
NAVBAR: NAVBAR$b,
|
|
2320
2344
|
LOGIN: LOGIN$b,
|
|
2321
2345
|
QSM: QSM$c,
|
|
2322
|
-
SRP: SRP$b
|
|
2346
|
+
SRP: SRP$b,
|
|
2347
|
+
ITINERARY: ITINERARY$b
|
|
2323
2348
|
};
|
|
2324
2349
|
|
|
2325
2350
|
var STEPS$a = {
|
|
@@ -2714,6 +2739,10 @@ var SRP$a = {
|
|
|
2714
2739
|
TRAVEL_GROUP: 'Groupe de voyageurs',
|
|
2715
2740
|
EXCURSION: 'Excursion'
|
|
2716
2741
|
};
|
|
2742
|
+
var ITINERARY$a = {
|
|
2743
|
+
DAY: 'Jour',
|
|
2744
|
+
NO_ITEMS: 'Aucun élément pour ce jour.'
|
|
2745
|
+
};
|
|
2717
2746
|
var frBeJson = {
|
|
2718
2747
|
STEPS: STEPS$a,
|
|
2719
2748
|
INPUT: INPUT$a,
|
|
@@ -2732,7 +2761,8 @@ var frBeJson = {
|
|
|
2732
2761
|
NAVBAR: NAVBAR$a,
|
|
2733
2762
|
LOGIN: LOGIN$a,
|
|
2734
2763
|
QSM: QSM$b,
|
|
2735
|
-
SRP: SRP$a
|
|
2764
|
+
SRP: SRP$a,
|
|
2765
|
+
ITINERARY: ITINERARY$a
|
|
2736
2766
|
};
|
|
2737
2767
|
|
|
2738
2768
|
var STEPS$9 = {
|
|
@@ -3122,6 +3152,10 @@ var SRP$9 = {
|
|
|
3122
3152
|
TRAVEL_GROUP: 'Groupe de voyageurs',
|
|
3123
3153
|
EXCURSION: 'Excursion'
|
|
3124
3154
|
};
|
|
3155
|
+
var ITINERARY$9 = {
|
|
3156
|
+
DAY: 'Jour',
|
|
3157
|
+
NO_ITEMS: 'Aucun élément pour ce jour.'
|
|
3158
|
+
};
|
|
3125
3159
|
var frFrJson = {
|
|
3126
3160
|
STEPS: STEPS$9,
|
|
3127
3161
|
INPUT: INPUT$9,
|
|
@@ -3140,7 +3174,8 @@ var frFrJson = {
|
|
|
3140
3174
|
NAVBAR: NAVBAR$9,
|
|
3141
3175
|
LOGIN: LOGIN$9,
|
|
3142
3176
|
QSM: QSM$a,
|
|
3143
|
-
SRP: SRP$9
|
|
3177
|
+
SRP: SRP$9,
|
|
3178
|
+
ITINERARY: ITINERARY$9
|
|
3144
3179
|
};
|
|
3145
3180
|
|
|
3146
3181
|
var STEPS$8 = {
|
|
@@ -3530,6 +3565,10 @@ var SRP$8 = {
|
|
|
3530
3565
|
TRAVEL_GROUP: 'Ferðahópur',
|
|
3531
3566
|
EXCURSION: 'Útflutningur'
|
|
3532
3567
|
};
|
|
3568
|
+
var ITINERARY$8 = {
|
|
3569
|
+
DAY: 'Dagur',
|
|
3570
|
+
NO_ITEMS: 'Engar upplýsingar fyrir þennan dag.'
|
|
3571
|
+
};
|
|
3533
3572
|
var isJson = {
|
|
3534
3573
|
STEPS: STEPS$8,
|
|
3535
3574
|
INPUT: INPUT$8,
|
|
@@ -3548,7 +3587,8 @@ var isJson = {
|
|
|
3548
3587
|
NAVBAR: NAVBAR$8,
|
|
3549
3588
|
LOGIN: LOGIN$8,
|
|
3550
3589
|
QSM: QSM$9,
|
|
3551
|
-
SRP: SRP$8
|
|
3590
|
+
SRP: SRP$8,
|
|
3591
|
+
ITINERARY: ITINERARY$8
|
|
3552
3592
|
};
|
|
3553
3593
|
|
|
3554
3594
|
var STEPS$7 = {
|
|
@@ -3939,6 +3979,10 @@ var SRP$7 = {
|
|
|
3939
3979
|
TRAVEL_GROUP: 'Gruppo di viaggio',
|
|
3940
3980
|
EXCURSION: 'Escursione'
|
|
3941
3981
|
};
|
|
3982
|
+
var ITINERARY$7 = {
|
|
3983
|
+
DAY: 'Giorno',
|
|
3984
|
+
NO_ITEMS: 'Nessun elemento per questo giorno.'
|
|
3985
|
+
};
|
|
3942
3986
|
var itJson = {
|
|
3943
3987
|
STEPS: STEPS$7,
|
|
3944
3988
|
INPUT: INPUT$7,
|
|
@@ -3957,7 +4001,8 @@ var itJson = {
|
|
|
3957
4001
|
NAVBAR: NAVBAR$7,
|
|
3958
4002
|
LOGIN: LOGIN$7,
|
|
3959
4003
|
QSM: QSM$8,
|
|
3960
|
-
SRP: SRP$7
|
|
4004
|
+
SRP: SRP$7,
|
|
4005
|
+
ITINERARY: ITINERARY$7
|
|
3961
4006
|
};
|
|
3962
4007
|
|
|
3963
4008
|
var STEPS$6 = {
|
|
@@ -4352,6 +4397,10 @@ var SRP$6 = {
|
|
|
4352
4397
|
TRAVEL_GROUP: 'Reisgezelschap',
|
|
4353
4398
|
EXCURSION: 'Excursie'
|
|
4354
4399
|
};
|
|
4400
|
+
var ITINERARY$6 = {
|
|
4401
|
+
DAY: 'Dag',
|
|
4402
|
+
NO_ITEMS: 'Geen elementen voor deze dag.'
|
|
4403
|
+
};
|
|
4355
4404
|
var nlBeJson = {
|
|
4356
4405
|
STEPS: STEPS$6,
|
|
4357
4406
|
INPUT: INPUT$6,
|
|
@@ -4370,7 +4419,8 @@ var nlBeJson = {
|
|
|
4370
4419
|
NAVBAR: NAVBAR$6,
|
|
4371
4420
|
LOGIN: LOGIN$6,
|
|
4372
4421
|
QSM: QSM$7,
|
|
4373
|
-
SRP: SRP$6
|
|
4422
|
+
SRP: SRP$6,
|
|
4423
|
+
ITINERARY: ITINERARY$6
|
|
4374
4424
|
};
|
|
4375
4425
|
|
|
4376
4426
|
var STEPS$5 = {
|
|
@@ -4761,6 +4811,10 @@ var SRP$5 = {
|
|
|
4761
4811
|
TRAVEL_GROUP: 'Reisgezelschap',
|
|
4762
4812
|
EXCURSION: 'Excursie'
|
|
4763
4813
|
};
|
|
4814
|
+
var ITINERARY$5 = {
|
|
4815
|
+
DAY: 'Dag',
|
|
4816
|
+
NO_ITEMS: 'Geen elementen voor deze dag.'
|
|
4817
|
+
};
|
|
4764
4818
|
var nlNlJson = {
|
|
4765
4819
|
STEPS: STEPS$5,
|
|
4766
4820
|
INPUT: INPUT$5,
|
|
@@ -4779,7 +4833,8 @@ var nlNlJson = {
|
|
|
4779
4833
|
NAVBAR: NAVBAR$5,
|
|
4780
4834
|
LOGIN: LOGIN$5,
|
|
4781
4835
|
QSM: QSM$6,
|
|
4782
|
-
SRP: SRP$5
|
|
4836
|
+
SRP: SRP$5,
|
|
4837
|
+
ITINERARY: ITINERARY$5
|
|
4783
4838
|
};
|
|
4784
4839
|
|
|
4785
4840
|
var STEPS$4 = {
|
|
@@ -5170,6 +5225,10 @@ var SRP$4 = {
|
|
|
5170
5225
|
TRAVEL_GROUP: 'Reisefølge',
|
|
5171
5226
|
EXCURSION: 'Utflukt'
|
|
5172
5227
|
};
|
|
5228
|
+
var ITINERARY$4 = {
|
|
5229
|
+
DAY: 'Dag',
|
|
5230
|
+
NO_ITEMS: 'Ingen elementer for denne dagen.'
|
|
5231
|
+
};
|
|
5173
5232
|
var noJson = {
|
|
5174
5233
|
STEPS: STEPS$4,
|
|
5175
5234
|
INPUT: INPUT$4,
|
|
@@ -5188,7 +5247,8 @@ var noJson = {
|
|
|
5188
5247
|
NAVBAR: NAVBAR$4,
|
|
5189
5248
|
LOGIN: LOGIN$4,
|
|
5190
5249
|
QSM: QSM$5,
|
|
5191
|
-
SRP: SRP$4
|
|
5250
|
+
SRP: SRP$4,
|
|
5251
|
+
ITINERARY: ITINERARY$4
|
|
5192
5252
|
};
|
|
5193
5253
|
|
|
5194
5254
|
var STEPS$3 = {
|
|
@@ -5579,6 +5639,10 @@ var SRP$3 = {
|
|
|
5579
5639
|
TRAVEL_GROUP: 'Grupa podróżnych',
|
|
5580
5640
|
EXCURSION: 'Wycieczka'
|
|
5581
5641
|
};
|
|
5642
|
+
var ITINERARY$3 = {
|
|
5643
|
+
DAY: 'Dzień',
|
|
5644
|
+
NO_ITEMS: 'Brak elementów dla tego dnia.'
|
|
5645
|
+
};
|
|
5582
5646
|
var plJson = {
|
|
5583
5647
|
STEPS: STEPS$3,
|
|
5584
5648
|
INPUT: INPUT$3,
|
|
@@ -5597,7 +5661,8 @@ var plJson = {
|
|
|
5597
5661
|
NAVBAR: NAVBAR$3,
|
|
5598
5662
|
LOGIN: LOGIN$3,
|
|
5599
5663
|
QSM: QSM$4,
|
|
5600
|
-
SRP: SRP$3
|
|
5664
|
+
SRP: SRP$3,
|
|
5665
|
+
ITINERARY: ITINERARY$3
|
|
5601
5666
|
};
|
|
5602
5667
|
|
|
5603
5668
|
var STEPS$2 = {
|
|
@@ -5988,6 +6053,10 @@ var SRP$2 = {
|
|
|
5988
6053
|
TRAVEL_GROUP: 'Grupo de viajantes',
|
|
5989
6054
|
EXCURSION: 'Excursão'
|
|
5990
6055
|
};
|
|
6056
|
+
var ITINERARY$2 = {
|
|
6057
|
+
DAY: 'Dia',
|
|
6058
|
+
NO_ITEMS: 'Nenhum item para este dia.'
|
|
6059
|
+
};
|
|
5991
6060
|
var ptJson = {
|
|
5992
6061
|
STEPS: STEPS$2,
|
|
5993
6062
|
INPUT: INPUT$2,
|
|
@@ -6006,7 +6075,8 @@ var ptJson = {
|
|
|
6006
6075
|
NAVBAR: NAVBAR$2,
|
|
6007
6076
|
LOGIN: LOGIN$2,
|
|
6008
6077
|
QSM: QSM$3,
|
|
6009
|
-
SRP: SRP$2
|
|
6078
|
+
SRP: SRP$2,
|
|
6079
|
+
ITINERARY: ITINERARY$2
|
|
6010
6080
|
};
|
|
6011
6081
|
|
|
6012
6082
|
var STEPS$1 = {
|
|
@@ -6397,6 +6467,10 @@ var SRP$1 = {
|
|
|
6397
6467
|
TRAVEL_GROUP: 'Resesällskap',
|
|
6398
6468
|
EXCURSION: 'Utflykt'
|
|
6399
6469
|
};
|
|
6470
|
+
var ITINERARY$1 = {
|
|
6471
|
+
DAY: 'Dag',
|
|
6472
|
+
NO_ITEMS: 'Inga element för denna dag.'
|
|
6473
|
+
};
|
|
6400
6474
|
var svJson = {
|
|
6401
6475
|
STEPS: STEPS$1,
|
|
6402
6476
|
INPUT: INPUT$1,
|
|
@@ -6415,7 +6489,8 @@ var svJson = {
|
|
|
6415
6489
|
NAVBAR: NAVBAR$1,
|
|
6416
6490
|
LOGIN: LOGIN$1,
|
|
6417
6491
|
QSM: QSM$2,
|
|
6418
|
-
SRP: SRP$1
|
|
6492
|
+
SRP: SRP$1,
|
|
6493
|
+
ITINERARY: ITINERARY$1
|
|
6419
6494
|
};
|
|
6420
6495
|
|
|
6421
6496
|
var STEPS = {
|
|
@@ -6804,6 +6879,10 @@ var SRP = {
|
|
|
6804
6879
|
TRAVEL_GROUP: '旅行グループ',
|
|
6805
6880
|
EXCURSION: 'エクスカーション'
|
|
6806
6881
|
};
|
|
6882
|
+
var ITINERARY = {
|
|
6883
|
+
DAY: '日',
|
|
6884
|
+
NO_ITEMS: 'この日のアイテムはありません。'
|
|
6885
|
+
};
|
|
6807
6886
|
var jaJson = {
|
|
6808
6887
|
STEPS: STEPS,
|
|
6809
6888
|
INPUT: INPUT,
|
|
@@ -6822,7 +6901,8 @@ var jaJson = {
|
|
|
6822
6901
|
NAVBAR: NAVBAR,
|
|
6823
6902
|
LOGIN: LOGIN,
|
|
6824
6903
|
QSM: QSM$1,
|
|
6825
|
-
SRP: SRP
|
|
6904
|
+
SRP: SRP,
|
|
6905
|
+
ITINERARY: ITINERARY
|
|
6826
6906
|
};
|
|
6827
6907
|
|
|
6828
6908
|
var DepartureRange;
|
|
@@ -35280,6 +35360,21 @@ var getSegmentTitle = function (segment) {
|
|
|
35280
35360
|
var _a;
|
|
35281
35361
|
return (_a = segment.productName) !== null && _a !== void 0 ? _a : segment.accommodationName;
|
|
35282
35362
|
};
|
|
35363
|
+
var SERVICE_TYPE_PRIORITY = {
|
|
35364
|
+
7: 0, // Flight
|
|
35365
|
+
13: 1, // Transfer
|
|
35366
|
+
3: 2, // Hotel
|
|
35367
|
+
4: 3 // Excursion
|
|
35368
|
+
};
|
|
35369
|
+
var getServiceTypePriority = function (serviceType) {
|
|
35370
|
+
var _a;
|
|
35371
|
+
return (_a = SERVICE_TYPE_PRIORITY[serviceType !== null && serviceType !== void 0 ? serviceType : -1]) !== null && _a !== void 0 ? _a : 2;
|
|
35372
|
+
};
|
|
35373
|
+
var getDateOnlyTime = function (date) {
|
|
35374
|
+
if (!date) return 0;
|
|
35375
|
+
var parsedDate = new Date(date);
|
|
35376
|
+
return new Date(parsedDate.getFullYear(), parsedDate.getMonth(), parsedDate.getDate()).getTime();
|
|
35377
|
+
};
|
|
35283
35378
|
var Itinerary = function (_a) {
|
|
35284
35379
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
35285
35380
|
var isOpen = _a.isOpen,
|
|
@@ -35308,14 +35403,17 @@ var Itinerary = function (_a) {
|
|
|
35308
35403
|
true
|
|
35309
35404
|
).sort(function (a, b) {
|
|
35310
35405
|
var _a, _b;
|
|
35311
|
-
var
|
|
35312
|
-
var
|
|
35313
|
-
|
|
35314
|
-
|
|
35315
|
-
|
|
35316
|
-
|
|
35317
|
-
|
|
35318
|
-
|
|
35406
|
+
var dateA = getDateOnlyTime(a.from);
|
|
35407
|
+
var dateB = getDateOnlyTime(b.from);
|
|
35408
|
+
if (dateA !== dateB) {
|
|
35409
|
+
return dateA - dateB;
|
|
35410
|
+
}
|
|
35411
|
+
var priorityA = getServiceTypePriority(a.serviceType);
|
|
35412
|
+
var priorityB = getServiceTypePriority(b.serviceType);
|
|
35413
|
+
if (priorityA !== priorityB) {
|
|
35414
|
+
return priorityA - priorityB;
|
|
35415
|
+
}
|
|
35416
|
+
return ((_a = a.order) !== null && _a !== void 0 ? _a : Infinity) - ((_b = b.order) !== null && _b !== void 0 ? _b : Infinity);
|
|
35319
35417
|
});
|
|
35320
35418
|
},
|
|
35321
35419
|
[packagingEntry]
|
|
@@ -48366,33 +48464,98 @@ var getRequestRoomsFromPackagingSegments = function (entry, segments) {
|
|
|
48366
48464
|
});
|
|
48367
48465
|
};
|
|
48368
48466
|
|
|
48369
|
-
var formatNodeDate = function (date) {
|
|
48370
|
-
if (!date) return '';
|
|
48371
|
-
try {
|
|
48372
|
-
return new Intl.DateTimeFormat('nl-BE', {
|
|
48373
|
-
weekday: 'long',
|
|
48374
|
-
day: '2-digit',
|
|
48375
|
-
month: '2-digit',
|
|
48376
|
-
year: 'numeric'
|
|
48377
|
-
}).format(date);
|
|
48378
|
-
} catch (_a) {
|
|
48379
|
-
return '';
|
|
48380
|
-
}
|
|
48381
|
-
};
|
|
48382
48467
|
var escapeHtml = function (value) {
|
|
48383
48468
|
if (!value) return '';
|
|
48384
48469
|
return value.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''');
|
|
48385
48470
|
};
|
|
48386
|
-
var
|
|
48471
|
+
var getNodeDayRange = function (node) {
|
|
48472
|
+
var _a, _b;
|
|
48473
|
+
var startDay = Number((_a = node.startDay) !== null && _a !== void 0 ? _a : 0);
|
|
48474
|
+
var endDay = Number((_b = node.endDay) !== null && _b !== void 0 ? _b : startDay);
|
|
48475
|
+
return { startDay: startDay, endDay: endDay };
|
|
48476
|
+
};
|
|
48477
|
+
var getItemDuration = function (item) {
|
|
48478
|
+
var _a;
|
|
48479
|
+
var duration = Number((_a = item.productDuration) !== null && _a !== void 0 ? _a : 0);
|
|
48480
|
+
return Number.isFinite(duration) && duration > 0 ? duration : 0;
|
|
48481
|
+
};
|
|
48482
|
+
var isAccommodationItem = function (item) {
|
|
48483
|
+
var _a;
|
|
48484
|
+
return getItemDuration(item) > 1 && ((_a = item.templateName) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes('hotel'));
|
|
48485
|
+
};
|
|
48486
|
+
var getAccommodationName = function (item) {
|
|
48487
|
+
return item.title || 'Onbekende accommodatie';
|
|
48488
|
+
};
|
|
48489
|
+
var getItemDeduplicationKey = function (item) {
|
|
48490
|
+
var _a;
|
|
48491
|
+
(_a = item.templateName) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
48492
|
+
// if (templateName === 'hotel') {
|
|
48493
|
+
// return [item.templateName, item.productCode, item.accommodationCode, item.regimeCode].filter(Boolean).join('|');
|
|
48494
|
+
// }
|
|
48495
|
+
// if (templateName === 'excursion') {
|
|
48496
|
+
// return [item.templateName, item.productCode].filter(Boolean).join('|');
|
|
48497
|
+
// }
|
|
48498
|
+
return [item.templateName, item.productCode, item.title].filter(Boolean).join('|');
|
|
48499
|
+
};
|
|
48500
|
+
var getUniqueItems = function (items) {
|
|
48501
|
+
if (items === void 0) {
|
|
48502
|
+
items = [];
|
|
48503
|
+
}
|
|
48504
|
+
var seen = new Set();
|
|
48505
|
+
return items.filter(function (item) {
|
|
48506
|
+
var key = getItemDeduplicationKey(item) || item.itemGuid;
|
|
48507
|
+
if (seen.has(key)) {
|
|
48508
|
+
return false;
|
|
48509
|
+
}
|
|
48510
|
+
seen.add(key);
|
|
48511
|
+
return true;
|
|
48512
|
+
});
|
|
48513
|
+
};
|
|
48514
|
+
var findAccommodationForDay = function (nodes, currentDay) {
|
|
48515
|
+
var _a;
|
|
48516
|
+
for (var _i = 0, _b = nodes !== null && nodes !== void 0 ? nodes : []; _i < _b.length; _i++) {
|
|
48517
|
+
var node = _b[_i];
|
|
48518
|
+
var startDay = getNodeDayRange(node).startDay;
|
|
48519
|
+
var uniqueItems = getUniqueItems((_a = node.items) !== null && _a !== void 0 ? _a : []);
|
|
48520
|
+
for (var _c = 0, uniqueItems_1 = uniqueItems; _c < uniqueItems_1.length; _c++) {
|
|
48521
|
+
var item = uniqueItems_1[_c];
|
|
48522
|
+
if (!isAccommodationItem(item)) {
|
|
48523
|
+
continue;
|
|
48524
|
+
}
|
|
48525
|
+
var duration = getItemDuration(item);
|
|
48526
|
+
var accommodationEndDay = startDay + duration - 1;
|
|
48527
|
+
if (currentDay >= startDay && currentDay <= accommodationEndDay) {
|
|
48528
|
+
return item;
|
|
48529
|
+
}
|
|
48530
|
+
}
|
|
48531
|
+
}
|
|
48532
|
+
return null;
|
|
48533
|
+
};
|
|
48534
|
+
var buildItineraryHtml = function (itinerary, translations) {
|
|
48387
48535
|
var _a;
|
|
48388
48536
|
if (!itinerary) {
|
|
48389
48537
|
return '\n <div class="itinerary-shell">\n <div class="itinerary-empty">Geen reisroute beschikbaar.</div>\n </div>\n ';
|
|
48390
48538
|
}
|
|
48391
|
-
var
|
|
48539
|
+
var allNodes = (_a = itinerary.nodes) !== null && _a !== void 0 ? _a : [];
|
|
48540
|
+
var nodesHtml = allNodes
|
|
48392
48541
|
.map(function (node) {
|
|
48393
|
-
var
|
|
48542
|
+
var _a;
|
|
48543
|
+
var startDay = getNodeDayRange(node).startDay;
|
|
48544
|
+
var day = node.startDate ? format$1(node.startDate, 'd') : null;
|
|
48545
|
+
var month = node.startDate ? format$1(node.startDate, 'MMM') : null;
|
|
48546
|
+
var uniqueItems = getUniqueItems((_a = node.items) !== null && _a !== void 0 ? _a : []);
|
|
48547
|
+
var hasItems = uniqueItems.length > 0;
|
|
48548
|
+
var hasAccommodationInCurrentNode = uniqueItems.some(isAccommodationItem);
|
|
48549
|
+
var activeAccommodation = findAccommodationForDay(allNodes, startDay);
|
|
48550
|
+
var accommodationBanner =
|
|
48551
|
+
!hasAccommodationInCurrentNode && activeAccommodation
|
|
48552
|
+
? '\n <div class="itinerary-node__accommodation-banner">\n Accommodatie voor deze dag: <strong>'.concat(
|
|
48553
|
+
escapeHtml(getAccommodationName(activeAccommodation)),
|
|
48554
|
+
'</strong>\n </div>\n '
|
|
48555
|
+
)
|
|
48556
|
+
: '';
|
|
48394
48557
|
var itemsHtml = hasItems
|
|
48395
|
-
?
|
|
48558
|
+
? uniqueItems
|
|
48396
48559
|
.map(function (item) {
|
|
48397
48560
|
var _a;
|
|
48398
48561
|
return '\n <article class="itinerary-item" data-template="'
|
|
@@ -48400,25 +48563,19 @@ var buildItineraryHtml = function (itinerary) {
|
|
|
48400
48563
|
.concat((_a = item.contents) !== null && _a !== void 0 ? _a : '', '\n </article>\n ');
|
|
48401
48564
|
})
|
|
48402
48565
|
.join('')
|
|
48403
|
-
: '<div class="itinerary-node__empty">
|
|
48404
|
-
return '\n <section class="itinerary-node">\n <header class="itinerary-node__header">\n <div class="itinerary-node__day">
|
|
48405
|
-
.concat(
|
|
48406
|
-
.concat(
|
|
48407
|
-
|
|
48408
|
-
|
|
48409
|
-
)
|
|
48410
|
-
.concat(escapeHtml(node.title), '</h2>\n <div class="itinerary-node__date">')
|
|
48411
|
-
.concat(
|
|
48412
|
-
escapeHtml(formatNodeDate(node.startDate)),
|
|
48413
|
-
'</div>\n </div>\n </header>\n\n <div class="itinerary-node__content">\n '
|
|
48414
|
-
)
|
|
48566
|
+
: '<div class="itinerary-node__empty">'.concat(translations.ITINERARY.NO_ITEMS, '</div>');
|
|
48567
|
+
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">'
|
|
48568
|
+
.concat(day, '</p>\n <p class="itinerary-node__day-month">')
|
|
48569
|
+
.concat(month, '</p>\n </div>\n\n <div>\n <h2 class="itinerary-node__title">')
|
|
48570
|
+
.concat(escapeHtml(node.title), '</h2>\n </div>\n </header>\n\n <div class="itinerary-node__content">\n ')
|
|
48571
|
+
.concat(accommodationBanner, '\n ')
|
|
48415
48572
|
.concat(itemsHtml, '\n </div>\n </section>\n ');
|
|
48416
48573
|
})
|
|
48417
48574
|
.join('');
|
|
48418
48575
|
var defaultItemsHtml =
|
|
48419
48576
|
itinerary.defaultItems && itinerary.defaultItems.length > 0
|
|
48420
48577
|
? '\n <section class="itinerary-default-items">\n <h2 class="itinerary-default-items__title">Algemene info</h2>\n '.concat(
|
|
48421
|
-
itinerary.defaultItems
|
|
48578
|
+
getUniqueItems(itinerary.defaultItems)
|
|
48422
48579
|
.map(function (item) {
|
|
48423
48580
|
var _a;
|
|
48424
48581
|
return '\n <article class="itinerary-item" data-template="'
|
|
@@ -48440,42 +48597,49 @@ var buildItineraryHtml = function (itinerary) {
|
|
|
48440
48597
|
.concat(defaultItemsHtml, '\n </div>\n </div>\n ');
|
|
48441
48598
|
};
|
|
48442
48599
|
var FullItinerary = function (_a) {
|
|
48600
|
+
var _b;
|
|
48443
48601
|
var isLoading = _a.isLoading;
|
|
48444
|
-
if (isLoading) {
|
|
48445
|
-
return React__default.createElement(Spinner, null);
|
|
48446
|
-
}
|
|
48447
48602
|
var itinerary = useSelector(function (state) {
|
|
48448
48603
|
return state.searchResults;
|
|
48449
48604
|
}).itinerary;
|
|
48605
|
+
var context = useContext(SearchResultsConfigurationContext);
|
|
48606
|
+
var translations = getTranslations((_b = context === null || context === void 0 ? void 0 : context.languageCode) !== null && _b !== void 0 ? _b : 'en-GB');
|
|
48450
48607
|
var hostRef = useRef(null);
|
|
48451
48608
|
var shadowRootRef = useRef(null);
|
|
48452
48609
|
var html = useMemo(
|
|
48453
48610
|
function () {
|
|
48454
|
-
return buildItineraryHtml(itinerary);
|
|
48611
|
+
return buildItineraryHtml(itinerary, translations);
|
|
48455
48612
|
},
|
|
48456
|
-
[itinerary]
|
|
48613
|
+
[itinerary, translations]
|
|
48457
48614
|
);
|
|
48458
48615
|
useEffect(
|
|
48459
48616
|
function () {
|
|
48460
|
-
var _a;
|
|
48461
|
-
if (
|
|
48617
|
+
var _a, _b;
|
|
48618
|
+
if (isLoading) {
|
|
48462
48619
|
return;
|
|
48463
48620
|
}
|
|
48464
|
-
|
|
48465
|
-
|
|
48621
|
+
var host = hostRef.current;
|
|
48622
|
+
if (!host) {
|
|
48623
|
+
return;
|
|
48466
48624
|
}
|
|
48467
|
-
var shadowRoot =
|
|
48625
|
+
var shadowRoot = (_a = host.shadowRoot) !== null && _a !== void 0 ? _a : host.attachShadow({ mode: 'open' });
|
|
48626
|
+
shadowRootRef.current = shadowRoot;
|
|
48468
48627
|
shadowRoot.innerHTML =
|
|
48469
|
-
"\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:
|
|
48628
|
+
"\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 "
|
|
48470
48629
|
.concat(
|
|
48471
|
-
(
|
|
48630
|
+
(_b = itinerary === null || itinerary === void 0 ? void 0 : itinerary.styleSheetBody) !== null && _b !== void 0 ? _b : '',
|
|
48472
48631
|
'\n </style>\n\n '
|
|
48473
48632
|
)
|
|
48474
48633
|
.concat(html, '\n ');
|
|
48475
48634
|
},
|
|
48476
|
-
[html, itinerary === null || itinerary === void 0 ? void 0 : itinerary.styleSheetBody]
|
|
48635
|
+
[html, itinerary === null || itinerary === void 0 ? void 0 : itinerary.styleSheetBody, isLoading]
|
|
48636
|
+
);
|
|
48637
|
+
return React__default.createElement(
|
|
48638
|
+
React__default.Fragment,
|
|
48639
|
+
null,
|
|
48640
|
+
isLoading && React__default.createElement(Spinner, null),
|
|
48641
|
+
React__default.createElement('div', { ref: hostRef, style: { display: isLoading ? 'none' : 'block' } })
|
|
48477
48642
|
);
|
|
48478
|
-
return React__default.createElement('div', { ref: hostRef });
|
|
48479
48643
|
};
|
|
48480
48644
|
|
|
48481
48645
|
var getExcursionContentWithUpdatedPrice = function (contents, totalPrice, currencyCode) {
|
|
@@ -48719,9 +48883,9 @@ var SearchResultsContainer = function () {
|
|
|
48719
48883
|
packagingAccoSearchDetails = _c.packagingAccoSearchDetails,
|
|
48720
48884
|
editablePackagingEntry = _c.editablePackagingEntry,
|
|
48721
48885
|
transactionId = _c.transactionId,
|
|
48722
|
-
flyInType = _c.flyInType
|
|
48723
|
-
|
|
48724
|
-
|
|
48886
|
+
flyInType = _c.flyInType;
|
|
48887
|
+
_c.itinerary;
|
|
48888
|
+
var packagingFlightResults = _c.packagingFlightResults,
|
|
48725
48889
|
confirmedExcursionsByDay = _c.confirmedExcursionsByDay;
|
|
48726
48890
|
var isMobile = useMediaQuery('(max-width: 1200px)');
|
|
48727
48891
|
var _d = useState(false),
|
|
@@ -49903,7 +50067,6 @@ var SearchResultsContainer = function () {
|
|
|
49903
50067
|
: '',
|
|
49904
50068
|
language: (_d = context.languageCode) !== null && _d !== void 0 ? _d : 'en-GB'
|
|
49905
50069
|
});
|
|
49906
|
-
console.log('Built nextEntry', nextEntry);
|
|
49907
50070
|
if (!nextEntry) return;
|
|
49908
50071
|
dispatch(setEditablePackagingEntry(nextEntry));
|
|
49909
50072
|
if (selectedCombinationFlight) {
|
|
@@ -50549,7 +50712,6 @@ var SearchResultsContainer = function () {
|
|
|
50549
50712
|
),
|
|
50550
50713
|
context.searchConfiguration.qsmType === build.PortalQsmType.AccommodationAndFlight &&
|
|
50551
50714
|
context.packagingEntry &&
|
|
50552
|
-
itinerary &&
|
|
50553
50715
|
React__default.createElement(FullItinerary, { isLoading: itineraryIsLoading })
|
|
50554
50716
|
)
|
|
50555
50717
|
),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qite/tide-booking-component",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.106",
|
|
4
4
|
"description": "React Booking wizard & Booking product component for Tide",
|
|
5
5
|
"main": "build/build-cjs/index.js",
|
|
6
6
|
"types": "build/build-cjs/src/index.d.ts",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@jsonurl/jsonurl": "^1.1.4",
|
|
31
31
|
"@popperjs/core": "^2.10.2",
|
|
32
|
-
"@qite/tide-client": "^1.1.
|
|
32
|
+
"@qite/tide-client": "^1.1.167",
|
|
33
33
|
"@reduxjs/toolkit": "^2.8.2",
|
|
34
34
|
"@rollup/plugin-commonjs": "^19.0.1",
|
|
35
35
|
"@rollup/plugin-json": "^4.1.0",
|