@qite/tide-booking-component 1.4.107 → 1.4.109
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 +278 -111
- package/build/build-cjs/src/content/error/error.d.ts +6 -0
- package/build/build-esm/index.js +278 -111
- package/build/build-esm/src/content/error/error.d.ts +6 -0
- package/package.json +1 -1
- package/src/content/components/image-with-text.tsx +0 -1
- package/src/content/error/error.tsx +27 -0
- package/src/qsm/components/QSMContainer/qsm-container.tsx +189 -83
- package/src/qsm/components/item-picker/index.tsx +2 -6
- package/src/qsm/components/mobile-filter-modal/index.tsx +15 -1
- package/src/shared/components/icon.tsx +14 -0
- package/styles/components/_error.scss +50 -0
- package/styles/components/_faq.scss +1 -0
- package/styles/components/_footer.scss +2 -8
- package/styles/components/_search.scss +5 -5
- package/styles/content-blocks.scss +1 -0
- package/styles/qsm/_qsm.scss +3 -0
package/build/build-esm/index.js
CHANGED
|
@@ -16756,6 +16756,28 @@ var Icon = function (_a) {
|
|
|
16756
16756
|
d: 'M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z'
|
|
16757
16757
|
})
|
|
16758
16758
|
);
|
|
16759
|
+
case 'ui-triangle-error':
|
|
16760
|
+
return React__default.createElement(
|
|
16761
|
+
'svg',
|
|
16762
|
+
{
|
|
16763
|
+
className: ['icon', 'icon--'.concat(name), className]
|
|
16764
|
+
.filter(function (className) {
|
|
16765
|
+
return !isEmpty(className);
|
|
16766
|
+
})
|
|
16767
|
+
.join(' '),
|
|
16768
|
+
width: width,
|
|
16769
|
+
height: height,
|
|
16770
|
+
viewBox: '0 0 512 512',
|
|
16771
|
+
fill: fill !== null && fill !== void 0 ? fill : 'currentColor'
|
|
16772
|
+
},
|
|
16773
|
+
React__default.createElement(HTMLComment, {
|
|
16774
|
+
text: '!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.'
|
|
16775
|
+
}),
|
|
16776
|
+
title && React__default.createElement('title', null, title),
|
|
16777
|
+
React__default.createElement('path', {
|
|
16778
|
+
d: 'M256 0c14.7 0 28.2 8.1 35.2 21l216 400c6.7 12.4 6.4 27.4-.8 39.5S486.1 480 472 480L40 480c-14.1 0-27.2-7.4-34.4-19.5s-7.5-27.1-.8-39.5l216-400c7-12.9 20.5-21 35.2-21zm0 352a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-192c-18.2 0-32.7 15.5-31.4 33.7l7.4 104c.9 12.5 11.4 22.3 23.9 22.3 12.6 0 23-9.7 23.9-22.3l7.4-104c1.3-18.2-13.1-33.7-31.4-33.7z'
|
|
16779
|
+
})
|
|
16780
|
+
);
|
|
16759
16781
|
default:
|
|
16760
16782
|
return null;
|
|
16761
16783
|
}
|
|
@@ -31756,6 +31778,7 @@ var MobileFilterModal = function () {
|
|
|
31756
31778
|
destinationAirport = _b.destinationAirport,
|
|
31757
31779
|
returnAirport = _b.returnAirport,
|
|
31758
31780
|
destination = _b.destination;
|
|
31781
|
+
var searchInputRef = useRef(null);
|
|
31759
31782
|
var _c = useState(''),
|
|
31760
31783
|
inputValue = _c[0],
|
|
31761
31784
|
setInputValue = _c[1];
|
|
@@ -31772,6 +31795,18 @@ var MobileFilterModal = function () {
|
|
|
31772
31795
|
},
|
|
31773
31796
|
[activeSearchFieldProps]
|
|
31774
31797
|
);
|
|
31798
|
+
useEffect(
|
|
31799
|
+
function () {
|
|
31800
|
+
if (mobileFilterType !== 'search') return;
|
|
31801
|
+
requestAnimationFrame(function () {
|
|
31802
|
+
var input = searchInputRef.current;
|
|
31803
|
+
if (!input) return;
|
|
31804
|
+
input.focus();
|
|
31805
|
+
input.setSelectionRange(input.value.length, input.value.length);
|
|
31806
|
+
});
|
|
31807
|
+
},
|
|
31808
|
+
[mobileFilterType, activeSearchFieldProps === null || activeSearchFieldProps === void 0 ? void 0 : activeSearchFieldProps.fieldKey]
|
|
31809
|
+
);
|
|
31775
31810
|
/* ---------------------------------------------------------------- */
|
|
31776
31811
|
/* Helpers */
|
|
31777
31812
|
/* ---------------------------------------------------------------- */
|
|
@@ -31964,6 +31999,7 @@ var MobileFilterModal = function () {
|
|
|
31964
31999
|
'label',
|
|
31965
32000
|
{ className: 'qsm__input-wrapper' },
|
|
31966
32001
|
React__default.createElement('input', {
|
|
32002
|
+
ref: searchInputRef,
|
|
31967
32003
|
type: 'text',
|
|
31968
32004
|
id: 'search',
|
|
31969
32005
|
value: inputValue,
|
|
@@ -31973,7 +32009,6 @@ var MobileFilterModal = function () {
|
|
|
31973
32009
|
onChange: function (e) {
|
|
31974
32010
|
return handleInputChange(e.target.value);
|
|
31975
32011
|
},
|
|
31976
|
-
// onChange={(e) => handleLocationChange(e.target.value)}
|
|
31977
32012
|
className: 'qsm__input qsm__input--modal qsm__from-to u-ps-2',
|
|
31978
32013
|
placeholder: activeSearchFieldProps.placeholder
|
|
31979
32014
|
}),
|
|
@@ -32467,7 +32502,6 @@ var ItemPicker$1 = function (_a) {
|
|
|
32467
32502
|
isDropdownOpen = _b[0],
|
|
32468
32503
|
setIsDropdownOpen = _b[1];
|
|
32469
32504
|
var dropdownRef = useRef(null);
|
|
32470
|
-
var toggleButtonRef = useRef(null);
|
|
32471
32505
|
var handlePick = function (picked, id) {
|
|
32472
32506
|
setIsDropdownOpen(false);
|
|
32473
32507
|
onPick(picked, id);
|
|
@@ -32489,7 +32523,7 @@ var ItemPicker$1 = function (_a) {
|
|
|
32489
32523
|
React__default.createElement('span', { className: 'dropdown__label' }, label),
|
|
32490
32524
|
React__default.createElement(
|
|
32491
32525
|
'div',
|
|
32492
|
-
{ className: 'dropdown' },
|
|
32526
|
+
{ className: 'dropdown', ref: dropdownRef },
|
|
32493
32527
|
React__default.createElement(
|
|
32494
32528
|
'button',
|
|
32495
32529
|
{
|
|
@@ -32498,8 +32532,7 @@ var ItemPicker$1 = function (_a) {
|
|
|
32498
32532
|
return setIsDropdownOpen(function (prev) {
|
|
32499
32533
|
return !prev;
|
|
32500
32534
|
});
|
|
32501
|
-
}
|
|
32502
|
-
ref: toggleButtonRef
|
|
32535
|
+
}
|
|
32503
32536
|
},
|
|
32504
32537
|
React__default.createElement('span', null, selection || placeholder),
|
|
32505
32538
|
React__default.createElement('span', { className: 'arrow' }, '\u25BE')
|
|
@@ -32932,58 +32965,16 @@ var QSMContainer = function () {
|
|
|
32932
32965
|
);
|
|
32933
32966
|
})
|
|
32934
32967
|
),
|
|
32935
|
-
|
|
32936
|
-
|
|
32937
|
-
|
|
32938
|
-
|
|
32939
|
-
qsmType === build.PortalQsmType.
|
|
32940
|
-
|
|
32941
|
-
|
|
32942
|
-
'div',
|
|
32943
|
-
{ className: 'radiobutton-group qsm__filter__inputgroup' },
|
|
32944
|
-
React__default.createElement(
|
|
32945
|
-
'div',
|
|
32946
|
-
{ className: 'radiobutton' },
|
|
32947
|
-
React__default.createElement(
|
|
32948
|
-
'label',
|
|
32949
|
-
{ className: 'radiobutton__label' },
|
|
32950
|
-
React__default.createElement('input', {
|
|
32951
|
-
type: 'radio',
|
|
32952
|
-
name: 'numberOfAccommodations',
|
|
32953
|
-
// onChange={handleMainBookerChange}
|
|
32954
|
-
// onBlur={formik.handleBlur}
|
|
32955
|
-
value: '',
|
|
32956
|
-
checked: true,
|
|
32957
|
-
readOnly: true,
|
|
32958
|
-
className: 'radiobutton__input'
|
|
32959
|
-
}),
|
|
32960
|
-
React__default.createElement('span', null, translations.QSM.ONE_ACCOMMODATION)
|
|
32961
|
-
)
|
|
32962
|
-
),
|
|
32968
|
+
!isMobile &&
|
|
32969
|
+
React__default.createElement(
|
|
32970
|
+
'div',
|
|
32971
|
+
{ className: 'qsm__filter' },
|
|
32972
|
+
(qsmType === build.PortalQsmType.Accommodation ||
|
|
32973
|
+
qsmType === build.PortalQsmType.AccommodationAndFlight ||
|
|
32974
|
+
qsmType === build.PortalQsmType.GroupTour) &&
|
|
32963
32975
|
React__default.createElement(
|
|
32964
32976
|
'div',
|
|
32965
|
-
{ className: 'radiobutton' },
|
|
32966
|
-
React__default.createElement(
|
|
32967
|
-
'label',
|
|
32968
|
-
{ className: 'radiobutton__label' },
|
|
32969
|
-
React__default.createElement('input', {
|
|
32970
|
-
type: 'radio',
|
|
32971
|
-
name: 'numberOfAccommodations',
|
|
32972
|
-
// onChange={handleMainBookerChange}
|
|
32973
|
-
// onBlur={formik.handleBlur}
|
|
32974
|
-
value: '',
|
|
32975
|
-
className: 'radiobutton__input',
|
|
32976
|
-
disabled: true
|
|
32977
|
-
}),
|
|
32978
|
-
React__default.createElement('span', null, translations.QSM.MULTIPLE_ACCOMMODATIONS)
|
|
32979
|
-
)
|
|
32980
|
-
)
|
|
32981
|
-
),
|
|
32982
|
-
qsmType === build.PortalQsmType.Flight &&
|
|
32983
|
-
React__default.createElement(
|
|
32984
|
-
'div',
|
|
32985
|
-
{ className: 'radiobutton-group qsm__filter__inputgroup' },
|
|
32986
|
-
allowOneWay &&
|
|
32977
|
+
{ className: 'radiobutton-group qsm__filter__inputgroup' },
|
|
32987
32978
|
React__default.createElement(
|
|
32988
32979
|
'div',
|
|
32989
32980
|
{ className: 'radiobutton' },
|
|
@@ -32992,18 +32983,17 @@ var QSMContainer = function () {
|
|
|
32992
32983
|
{ className: 'radiobutton__label' },
|
|
32993
32984
|
React__default.createElement('input', {
|
|
32994
32985
|
type: 'radio',
|
|
32995
|
-
name: '
|
|
32996
|
-
|
|
32997
|
-
|
|
32998
|
-
|
|
32999
|
-
|
|
33000
|
-
|
|
32986
|
+
name: 'numberOfAccommodations',
|
|
32987
|
+
// onChange={handleMainBookerChange}
|
|
32988
|
+
// onBlur={formik.handleBlur}
|
|
32989
|
+
value: '',
|
|
32990
|
+
checked: true,
|
|
32991
|
+
readOnly: true,
|
|
33001
32992
|
className: 'radiobutton__input'
|
|
33002
32993
|
}),
|
|
33003
|
-
React__default.createElement('span', null, translations.QSM.
|
|
32994
|
+
React__default.createElement('span', null, translations.QSM.ONE_ACCOMMODATION)
|
|
33004
32995
|
)
|
|
33005
32996
|
),
|
|
33006
|
-
allowRoundtrip &&
|
|
33007
32997
|
React__default.createElement(
|
|
33008
32998
|
'div',
|
|
33009
32999
|
{ className: 'radiobutton' },
|
|
@@ -33012,58 +33002,102 @@ var QSMContainer = function () {
|
|
|
33012
33002
|
{ className: 'radiobutton__label' },
|
|
33013
33003
|
React__default.createElement('input', {
|
|
33014
33004
|
type: 'radio',
|
|
33015
|
-
name: '
|
|
33016
|
-
|
|
33017
|
-
|
|
33018
|
-
|
|
33019
|
-
|
|
33020
|
-
|
|
33021
|
-
className: 'radiobutton__input'
|
|
33005
|
+
name: 'numberOfAccommodations',
|
|
33006
|
+
// onChange={handleMainBookerChange}
|
|
33007
|
+
// onBlur={formik.handleBlur}
|
|
33008
|
+
value: '',
|
|
33009
|
+
className: 'radiobutton__input',
|
|
33010
|
+
disabled: true
|
|
33022
33011
|
}),
|
|
33023
|
-
React__default.createElement('span', null, translations.QSM.
|
|
33012
|
+
React__default.createElement('span', null, translations.QSM.MULTIPLE_ACCOMMODATIONS)
|
|
33024
33013
|
)
|
|
33025
|
-
)
|
|
33026
|
-
|
|
33027
|
-
|
|
33028
|
-
|
|
33029
|
-
|
|
33014
|
+
)
|
|
33015
|
+
),
|
|
33016
|
+
qsmType === build.PortalQsmType.Flight &&
|
|
33017
|
+
React__default.createElement(
|
|
33018
|
+
'div',
|
|
33019
|
+
{ className: 'radiobutton-group qsm__filter__inputgroup' },
|
|
33020
|
+
allowOneWay &&
|
|
33030
33021
|
React__default.createElement(
|
|
33031
|
-
'
|
|
33032
|
-
{ className: '
|
|
33033
|
-
React__default.createElement(
|
|
33034
|
-
|
|
33035
|
-
|
|
33036
|
-
|
|
33037
|
-
|
|
33038
|
-
|
|
33039
|
-
|
|
33040
|
-
|
|
33041
|
-
|
|
33042
|
-
|
|
33043
|
-
|
|
33022
|
+
'div',
|
|
33023
|
+
{ className: 'radiobutton' },
|
|
33024
|
+
React__default.createElement(
|
|
33025
|
+
'label',
|
|
33026
|
+
{ className: 'radiobutton__label' },
|
|
33027
|
+
React__default.createElement('input', {
|
|
33028
|
+
type: 'radio',
|
|
33029
|
+
name: 'tripType',
|
|
33030
|
+
value: 'oneway',
|
|
33031
|
+
checked: tripType === 'oneway',
|
|
33032
|
+
onChange: function () {
|
|
33033
|
+
return handleTripTypeChange('oneway');
|
|
33034
|
+
},
|
|
33035
|
+
className: 'radiobutton__input'
|
|
33036
|
+
}),
|
|
33037
|
+
React__default.createElement('span', null, translations.QSM.ONEWAY)
|
|
33038
|
+
)
|
|
33039
|
+
),
|
|
33040
|
+
allowRoundtrip &&
|
|
33041
|
+
React__default.createElement(
|
|
33042
|
+
'div',
|
|
33043
|
+
{ className: 'radiobutton' },
|
|
33044
|
+
React__default.createElement(
|
|
33045
|
+
'label',
|
|
33046
|
+
{ className: 'radiobutton__label' },
|
|
33047
|
+
React__default.createElement('input', {
|
|
33048
|
+
type: 'radio',
|
|
33049
|
+
name: 'tripType',
|
|
33050
|
+
value: 'roundtrip',
|
|
33051
|
+
checked: tripType === 'roundtrip',
|
|
33052
|
+
onChange: function () {
|
|
33053
|
+
return handleTripTypeChange('roundtrip');
|
|
33054
|
+
},
|
|
33055
|
+
className: 'radiobutton__input'
|
|
33056
|
+
}),
|
|
33057
|
+
React__default.createElement('span', null, translations.QSM.ROUNDTRIP)
|
|
33058
|
+
)
|
|
33059
|
+
),
|
|
33060
|
+
allowOpenJaw &&
|
|
33061
|
+
React__default.createElement(
|
|
33062
|
+
'div',
|
|
33063
|
+
{ className: 'radiobutton' },
|
|
33064
|
+
React__default.createElement(
|
|
33065
|
+
'label',
|
|
33066
|
+
{ className: 'radiobutton__label' },
|
|
33067
|
+
React__default.createElement('input', {
|
|
33068
|
+
type: 'radio',
|
|
33069
|
+
name: 'tripType',
|
|
33070
|
+
value: 'openjaw',
|
|
33071
|
+
checked: tripType === 'openjaw',
|
|
33072
|
+
onChange: function () {
|
|
33073
|
+
return handleTripTypeChange('openjaw');
|
|
33074
|
+
},
|
|
33075
|
+
className: 'radiobutton__input'
|
|
33076
|
+
}),
|
|
33077
|
+
React__default.createElement('span', null, translations.QSM.OPENJAW)
|
|
33078
|
+
)
|
|
33044
33079
|
)
|
|
33045
|
-
|
|
33046
|
-
|
|
33047
|
-
|
|
33048
|
-
|
|
33049
|
-
|
|
33050
|
-
|
|
33051
|
-
|
|
33052
|
-
|
|
33053
|
-
|
|
33054
|
-
|
|
33055
|
-
|
|
33056
|
-
|
|
33057
|
-
|
|
33058
|
-
|
|
33059
|
-
|
|
33060
|
-
|
|
33061
|
-
|
|
33062
|
-
|
|
33063
|
-
React__default.createElement(
|
|
33064
|
-
|
|
33065
|
-
)
|
|
33066
|
-
),
|
|
33080
|
+
),
|
|
33081
|
+
React__default.createElement(
|
|
33082
|
+
'div',
|
|
33083
|
+
{ className: 'qsm__filter__classgroup' },
|
|
33084
|
+
qsmType !== build.PortalQsmType.Accommodation &&
|
|
33085
|
+
qsmType !== build.PortalQsmType.Car &&
|
|
33086
|
+
qsmType !== build.PortalQsmType.Ticket &&
|
|
33087
|
+
qsmType !== build.PortalQsmType.Cruise &&
|
|
33088
|
+
qsmType !== build.PortalQsmType.Transfer &&
|
|
33089
|
+
qsmType !== build.PortalQsmType.GroupTour &&
|
|
33090
|
+
askTravelClass &&
|
|
33091
|
+
React__default.createElement(TravelClassPicker, null),
|
|
33092
|
+
qsmType !== build.PortalQsmType.Multidestination &&
|
|
33093
|
+
qsmType !== build.PortalQsmType.Car &&
|
|
33094
|
+
qsmType !== build.PortalQsmType.Flight &&
|
|
33095
|
+
qsmType !== build.PortalQsmType.Transfer &&
|
|
33096
|
+
askTravelType &&
|
|
33097
|
+
React__default.createElement(TravelTypePicker, null),
|
|
33098
|
+
askNationality && React__default.createElement(TravelNationalityPicker, null)
|
|
33099
|
+
)
|
|
33100
|
+
),
|
|
33067
33101
|
React__default.createElement(
|
|
33068
33102
|
'div',
|
|
33069
33103
|
{ className: 'qsm__input-group' },
|
|
@@ -33082,6 +33116,139 @@ var QSMContainer = function () {
|
|
|
33082
33116
|
React__default.createElement(SearchInputGroup, { fieldConfig: destination }),
|
|
33083
33117
|
React__default.createElement(Dates, { value: dateRange, onChange: handleDateChange }),
|
|
33084
33118
|
askTravelers && React__default.createElement(TravelInputGroup, null),
|
|
33119
|
+
isMobile &&
|
|
33120
|
+
React__default.createElement(
|
|
33121
|
+
'div',
|
|
33122
|
+
{ className: 'qsm__filter' },
|
|
33123
|
+
(qsmType === build.PortalQsmType.Accommodation ||
|
|
33124
|
+
qsmType === build.PortalQsmType.AccommodationAndFlight ||
|
|
33125
|
+
qsmType === build.PortalQsmType.GroupTour) &&
|
|
33126
|
+
React__default.createElement(
|
|
33127
|
+
'div',
|
|
33128
|
+
{ className: 'radiobutton-group qsm__filter__inputgroup' },
|
|
33129
|
+
React__default.createElement(
|
|
33130
|
+
'div',
|
|
33131
|
+
{ className: 'radiobutton' },
|
|
33132
|
+
React__default.createElement(
|
|
33133
|
+
'label',
|
|
33134
|
+
{ className: 'radiobutton__label' },
|
|
33135
|
+
React__default.createElement('input', {
|
|
33136
|
+
type: 'radio',
|
|
33137
|
+
name: 'numberOfAccommodations',
|
|
33138
|
+
// onChange={handleMainBookerChange}
|
|
33139
|
+
// onBlur={formik.handleBlur}
|
|
33140
|
+
value: '',
|
|
33141
|
+
checked: true,
|
|
33142
|
+
readOnly: true,
|
|
33143
|
+
className: 'radiobutton__input'
|
|
33144
|
+
}),
|
|
33145
|
+
React__default.createElement('span', null, translations.QSM.ONE_ACCOMMODATION)
|
|
33146
|
+
)
|
|
33147
|
+
),
|
|
33148
|
+
React__default.createElement(
|
|
33149
|
+
'div',
|
|
33150
|
+
{ className: 'radiobutton' },
|
|
33151
|
+
React__default.createElement(
|
|
33152
|
+
'label',
|
|
33153
|
+
{ className: 'radiobutton__label' },
|
|
33154
|
+
React__default.createElement('input', {
|
|
33155
|
+
type: 'radio',
|
|
33156
|
+
name: 'numberOfAccommodations',
|
|
33157
|
+
// onChange={handleMainBookerChange}
|
|
33158
|
+
// onBlur={formik.handleBlur}
|
|
33159
|
+
value: '',
|
|
33160
|
+
className: 'radiobutton__input',
|
|
33161
|
+
disabled: true
|
|
33162
|
+
}),
|
|
33163
|
+
React__default.createElement('span', null, translations.QSM.MULTIPLE_ACCOMMODATIONS)
|
|
33164
|
+
)
|
|
33165
|
+
)
|
|
33166
|
+
),
|
|
33167
|
+
qsmType === build.PortalQsmType.Flight &&
|
|
33168
|
+
React__default.createElement(
|
|
33169
|
+
'div',
|
|
33170
|
+
{ className: 'radiobutton-group qsm__filter__inputgroup' },
|
|
33171
|
+
allowOneWay &&
|
|
33172
|
+
React__default.createElement(
|
|
33173
|
+
'div',
|
|
33174
|
+
{ className: 'radiobutton' },
|
|
33175
|
+
React__default.createElement(
|
|
33176
|
+
'label',
|
|
33177
|
+
{ className: 'radiobutton__label' },
|
|
33178
|
+
React__default.createElement('input', {
|
|
33179
|
+
type: 'radio',
|
|
33180
|
+
name: 'tripType',
|
|
33181
|
+
value: 'oneway',
|
|
33182
|
+
checked: tripType === 'oneway',
|
|
33183
|
+
onChange: function () {
|
|
33184
|
+
return handleTripTypeChange('oneway');
|
|
33185
|
+
},
|
|
33186
|
+
className: 'radiobutton__input'
|
|
33187
|
+
}),
|
|
33188
|
+
React__default.createElement('span', null, translations.QSM.ONEWAY)
|
|
33189
|
+
)
|
|
33190
|
+
),
|
|
33191
|
+
allowRoundtrip &&
|
|
33192
|
+
React__default.createElement(
|
|
33193
|
+
'div',
|
|
33194
|
+
{ className: 'radiobutton' },
|
|
33195
|
+
React__default.createElement(
|
|
33196
|
+
'label',
|
|
33197
|
+
{ className: 'radiobutton__label' },
|
|
33198
|
+
React__default.createElement('input', {
|
|
33199
|
+
type: 'radio',
|
|
33200
|
+
name: 'tripType',
|
|
33201
|
+
value: 'roundtrip',
|
|
33202
|
+
checked: tripType === 'roundtrip',
|
|
33203
|
+
onChange: function () {
|
|
33204
|
+
return handleTripTypeChange('roundtrip');
|
|
33205
|
+
},
|
|
33206
|
+
className: 'radiobutton__input'
|
|
33207
|
+
}),
|
|
33208
|
+
React__default.createElement('span', null, translations.QSM.ROUNDTRIP)
|
|
33209
|
+
)
|
|
33210
|
+
),
|
|
33211
|
+
allowOpenJaw &&
|
|
33212
|
+
React__default.createElement(
|
|
33213
|
+
'div',
|
|
33214
|
+
{ className: 'radiobutton' },
|
|
33215
|
+
React__default.createElement(
|
|
33216
|
+
'label',
|
|
33217
|
+
{ className: 'radiobutton__label' },
|
|
33218
|
+
React__default.createElement('input', {
|
|
33219
|
+
type: 'radio',
|
|
33220
|
+
name: 'tripType',
|
|
33221
|
+
value: 'openjaw',
|
|
33222
|
+
checked: tripType === 'openjaw',
|
|
33223
|
+
onChange: function () {
|
|
33224
|
+
return handleTripTypeChange('openjaw');
|
|
33225
|
+
},
|
|
33226
|
+
className: 'radiobutton__input'
|
|
33227
|
+
}),
|
|
33228
|
+
React__default.createElement('span', null, translations.QSM.OPENJAW)
|
|
33229
|
+
)
|
|
33230
|
+
)
|
|
33231
|
+
),
|
|
33232
|
+
React__default.createElement(
|
|
33233
|
+
'div',
|
|
33234
|
+
{ className: 'qsm__filter__classgroup' },
|
|
33235
|
+
qsmType !== build.PortalQsmType.Accommodation &&
|
|
33236
|
+
qsmType !== build.PortalQsmType.Car &&
|
|
33237
|
+
qsmType !== build.PortalQsmType.Ticket &&
|
|
33238
|
+
qsmType !== build.PortalQsmType.Cruise &&
|
|
33239
|
+
qsmType !== build.PortalQsmType.Transfer &&
|
|
33240
|
+
qsmType !== build.PortalQsmType.GroupTour &&
|
|
33241
|
+
askTravelClass &&
|
|
33242
|
+
React__default.createElement(TravelClassPicker, null),
|
|
33243
|
+
qsmType !== build.PortalQsmType.Multidestination &&
|
|
33244
|
+
qsmType !== build.PortalQsmType.Car &&
|
|
33245
|
+
qsmType !== build.PortalQsmType.Flight &&
|
|
33246
|
+
qsmType !== build.PortalQsmType.Transfer &&
|
|
33247
|
+
askTravelType &&
|
|
33248
|
+
React__default.createElement(TravelTypePicker, null),
|
|
33249
|
+
askNationality && React__default.createElement(TravelNationalityPicker, null)
|
|
33250
|
+
)
|
|
33251
|
+
),
|
|
33085
33252
|
React__default.createElement(
|
|
33086
33253
|
'button',
|
|
33087
33254
|
{ type: 'button', className: 'cta', onClick: handleSubmit },
|
package/package.json
CHANGED
|
@@ -65,7 +65,6 @@ interface ImageWithTextSectionProps {
|
|
|
65
65
|
|
|
66
66
|
export const ImageWithTextSection: React.FC<ImageWithTextSectionProps> = ({ variant, sectionTitle, hasBackground = true, cards }) => {
|
|
67
67
|
const className = ['image-with-text', hasBackground && 'image-with-text--background'].filter(Boolean).join(' ');
|
|
68
|
-
console.log('variant', variant);
|
|
69
68
|
return (
|
|
70
69
|
<div className={className}>
|
|
71
70
|
<div className="image-with-text__container">
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Icon from '../../shared/components/icon';
|
|
3
|
+
|
|
4
|
+
type ErrorProps = {
|
|
5
|
+
message?: string;
|
|
6
|
+
};
|
|
7
|
+
const Error: React.FC<ErrorProps> = ({ message }) => {
|
|
8
|
+
return (
|
|
9
|
+
<section className="error">
|
|
10
|
+
<div className="error__container">
|
|
11
|
+
<div className="error__card">
|
|
12
|
+
<div className="error__icon">
|
|
13
|
+
<Icon name="ui-triangle-error" width={20} height={20} />
|
|
14
|
+
</div>
|
|
15
|
+
<h1 className="error__title">Something went wrong</h1>
|
|
16
|
+
<p className="error__message">{message || 'Sorry, something went wrong. Please try again later.'}</p>
|
|
17
|
+
|
|
18
|
+
<a href="/" className="cta cta--primary error__link">
|
|
19
|
+
Back to home
|
|
20
|
+
</a>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
</section>
|
|
24
|
+
);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export default Error;
|