@qite/tide-booking-component 1.4.38 → 1.4.39
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/content/components/login.d.ts +3 -0
- package/build/build-cjs/index.js +279 -253
- package/build/build-cjs/qsm/components/double-search-input-group/index.d.ts +2 -1
- package/build/build-cjs/qsm/components/search-input/index.d.ts +1 -0
- package/build/build-cjs/qsm/components/search-input-group/index.d.ts +3 -1
- package/build/build-cjs/qsm/store/qsm-slice.d.ts +2 -0
- package/build/build-cjs/qsm/types.d.ts +16 -32
- package/build/build-cjs/shared/utils/localization-util.d.ts +70 -0
- package/build/build-esm/content/components/login.d.ts +3 -0
- package/build/build-esm/index.js +273 -248
- package/build/build-esm/qsm/components/double-search-input-group/index.d.ts +2 -1
- package/build/build-esm/qsm/components/search-input/index.d.ts +1 -0
- package/build/build-esm/qsm/components/search-input-group/index.d.ts +3 -1
- package/build/build-esm/qsm/store/qsm-slice.d.ts +2 -0
- package/build/build-esm/qsm/types.d.ts +16 -32
- package/build/build-esm/shared/utils/localization-util.d.ts +70 -0
- package/package.json +1 -1
- package/src/content/components/login.tsx +162 -0
- package/src/content/features/content-page/content-page-self-contained.tsx +56 -75
- package/src/qsm/components/QSMContainer/qsm-container.tsx +178 -68
- package/src/qsm/components/double-search-input-group/index.tsx +14 -75
- package/src/qsm/components/mobile-filter-modal/index.tsx +18 -11
- package/src/qsm/components/search-input/index.tsx +9 -2
- package/src/qsm/components/search-input-group/index.tsx +20 -31
- package/src/qsm/components/travel-class-picker/index.tsx +1 -0
- package/src/qsm/components/travel-nationality-picker/index.tsx +1 -0
- package/src/qsm/components/travel-type-picker/index.tsx +1 -0
- package/src/qsm/qsm-configuration-context.ts +6 -17
- package/src/qsm/store/qsm-slice.ts +6 -0
- package/src/qsm/types.ts +17 -39
- package/src/search-results/components/flight/flight-banner.tsx +1 -1
- package/styles/components/_login.scss +133 -0
- package/styles/content-blocks.scss +1 -0
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { BaseFieldConfig } from '../../types';
|
|
2
3
|
interface Props {
|
|
3
|
-
|
|
4
|
+
fieldConfig: BaseFieldConfig;
|
|
4
5
|
enableMobileFilter?: boolean;
|
|
5
6
|
highlightTarget?: string;
|
|
6
7
|
isSecondInput?: boolean;
|
|
7
8
|
isDoubleInput?: boolean;
|
|
8
9
|
readOnlyForced?: boolean;
|
|
10
|
+
isDisabled?: boolean;
|
|
9
11
|
}
|
|
10
12
|
declare const SearchInputGroup: React.FC<Props>;
|
|
11
13
|
export default SearchInputGroup;
|
|
@@ -31,6 +31,7 @@ export interface QSMState {
|
|
|
31
31
|
after: number;
|
|
32
32
|
};
|
|
33
33
|
travelTypes: TravelType[];
|
|
34
|
+
tripType: 'oneway' | 'roundtrip' | 'openjaw';
|
|
34
35
|
selectedTravelType?: string;
|
|
35
36
|
travelClasses: TravelClass[];
|
|
36
37
|
selectedTravelClass?: string;
|
|
@@ -85,6 +86,7 @@ export declare const setOrigin: import('@reduxjs/toolkit').ActionCreatorWithPayl
|
|
|
85
86
|
| undefined,
|
|
86
87
|
'qsm/setSelectedFlexRange'
|
|
87
88
|
>,
|
|
89
|
+
setTripType: import('@reduxjs/toolkit').ActionCreatorWithPayload<'oneway' | 'roundtrip' | 'openjaw', 'qsm/setTripType'>,
|
|
88
90
|
setTravelTypes: import('@reduxjs/toolkit').ActionCreatorWithPayload<TravelType[], 'qsm/setTravelTypes'>,
|
|
89
91
|
setSelectedTravelType: import('@reduxjs/toolkit').ActionCreatorWithPayload<any, 'qsm/setSelectedTravelType'>,
|
|
90
92
|
setTravelClasses: import('@reduxjs/toolkit').ActionCreatorWithPayload<TravelType[], 'qsm/setTravelClasses'>,
|
|
@@ -1,35 +1,29 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
export interface QSMConfiguration {
|
|
3
|
-
type: 'hotel' | 'roundTrip' | 'flight';
|
|
3
|
+
type: 'hotel' | 'roundTrip' | 'flight' | 'flight+hotel';
|
|
4
4
|
askRooms?: boolean;
|
|
5
5
|
askTravelType?: boolean;
|
|
6
|
+
allowOneWay?: boolean;
|
|
7
|
+
allowRoundtrip?: boolean;
|
|
6
8
|
allowOpenJaw?: boolean;
|
|
7
9
|
allowMultiCity?: boolean;
|
|
8
10
|
askTravelClass?: boolean;
|
|
9
|
-
allowOneWay?: boolean;
|
|
10
11
|
additionalFilters?: AdditionalFilters;
|
|
11
12
|
askTravelers: boolean;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
airportTypeAhead: boolean;
|
|
22
|
-
airportIcon: ReactNode;
|
|
23
|
-
onAirportChange: (airport: string) => void;
|
|
24
|
-
travelTypes: TravelType[];
|
|
25
|
-
travelTypeIcon: ReactNode;
|
|
26
|
-
travelClasses: TravelClass[];
|
|
27
|
-
travelClassIcon: ReactNode;
|
|
13
|
+
askNationality?: boolean;
|
|
14
|
+
departureAirport?: BaseFieldConfig;
|
|
15
|
+
destinationAirport?: BaseFieldConfig;
|
|
16
|
+
returnAirport?: BaseFieldConfig;
|
|
17
|
+
destination?: BaseFieldConfig;
|
|
18
|
+
travelTypes?: TravelType[];
|
|
19
|
+
travelTypeIcon?: ReactNode;
|
|
20
|
+
travelClasses?: TravelClass[];
|
|
21
|
+
travelClassIcon?: ReactNode;
|
|
28
22
|
dateFlexibility?: DateFlexibility[];
|
|
29
23
|
minDate?: Date;
|
|
30
24
|
maxDate?: Date;
|
|
31
|
-
showReturnDate
|
|
32
|
-
datesIcon
|
|
25
|
+
showReturnDate?: boolean;
|
|
26
|
+
datesIcon?: ReactNode;
|
|
33
27
|
defaultTravelers?: number;
|
|
34
28
|
maxTravelers?: number;
|
|
35
29
|
maxChildAge?: number;
|
|
@@ -43,6 +37,7 @@ export interface BaseFieldConfig {
|
|
|
43
37
|
fieldKey: string;
|
|
44
38
|
label: string;
|
|
45
39
|
placeholder: string;
|
|
40
|
+
icon: ReactNode;
|
|
46
41
|
options: TypeaheadOption[];
|
|
47
42
|
autoComplete?: boolean;
|
|
48
43
|
onChange?: (data: any) => void;
|
|
@@ -62,6 +57,7 @@ export interface DoubleFieldConfig {
|
|
|
62
57
|
type: 'double';
|
|
63
58
|
fieldKey: string;
|
|
64
59
|
showReverse?: boolean;
|
|
60
|
+
disableReturnField?: boolean;
|
|
65
61
|
fields: BaseFieldConfig[];
|
|
66
62
|
}
|
|
67
63
|
export type FieldConfig = SingleFieldConfig | DoubleFieldConfig;
|
|
@@ -69,18 +65,6 @@ export interface AdditionalFilters {
|
|
|
69
65
|
showDirectFlights: boolean;
|
|
70
66
|
includeLuggage: boolean;
|
|
71
67
|
}
|
|
72
|
-
export interface Origin {
|
|
73
|
-
key: string;
|
|
74
|
-
value: string;
|
|
75
|
-
}
|
|
76
|
-
export interface Destination {
|
|
77
|
-
key: string;
|
|
78
|
-
value: string;
|
|
79
|
-
}
|
|
80
|
-
export interface Airport {
|
|
81
|
-
key: string;
|
|
82
|
-
value: string;
|
|
83
|
-
}
|
|
84
68
|
export interface DateFlexibility {
|
|
85
69
|
name: string;
|
|
86
70
|
before: number;
|
|
@@ -137,8 +137,11 @@ export declare const getTranslations: (language: string) => {
|
|
|
137
137
|
CHILD: string;
|
|
138
138
|
CHILDREN: string;
|
|
139
139
|
GENDER: string;
|
|
140
|
+
GENDER_ID: string;
|
|
140
141
|
MALE: string;
|
|
142
|
+
MALE_GENDER: string;
|
|
141
143
|
FEMALE: string;
|
|
144
|
+
FEMALE_GENDER: string;
|
|
142
145
|
OTHER: string;
|
|
143
146
|
MAIN_BOOKER: string;
|
|
144
147
|
FIRST_NAME: string;
|
|
@@ -249,6 +252,73 @@ export declare const getTranslations: (language: string) => {
|
|
|
249
252
|
LABEL_CREATING: string;
|
|
250
253
|
LABEL_PRINTING: string;
|
|
251
254
|
};
|
|
255
|
+
QSM: {
|
|
256
|
+
MULTIDESTINATION: string;
|
|
257
|
+
PACKAGES: string;
|
|
258
|
+
TRANSPORT_HOTEL: string;
|
|
259
|
+
ACCOMMODATION: string;
|
|
260
|
+
TRANSPORTS: string;
|
|
261
|
+
TICKET_ONLY: string;
|
|
262
|
+
RENT_A_CAR: string;
|
|
263
|
+
TRANSFERS: string;
|
|
264
|
+
CRUISES: string;
|
|
265
|
+
ONE_ACCOMMODATION: string;
|
|
266
|
+
MULTIPLE_ACCOMMODATIONS: string;
|
|
267
|
+
TRAVEL_CLASS_LABEL: string;
|
|
268
|
+
TRAVEL_CLASS_PLACEHOLDER: string;
|
|
269
|
+
TRAVEL_TYPE_LABEL: string;
|
|
270
|
+
TRAVEL_TYPE_PLACEHOLDER: string;
|
|
271
|
+
NATIONALITY_LABEL: string;
|
|
272
|
+
NATIONALITY_PLACEHOLDER: string;
|
|
273
|
+
TRAVELERS_LABEL: string;
|
|
274
|
+
ADD_ROOM: string;
|
|
275
|
+
REMOVE_ROOM: string;
|
|
276
|
+
MAX_TRAVELERS_REACHED: string;
|
|
277
|
+
ADULTS: string;
|
|
278
|
+
CHILDREN: string;
|
|
279
|
+
BABIES: string;
|
|
280
|
+
CHOOSE_DATES: string;
|
|
281
|
+
DEPARTURE_DATE: string;
|
|
282
|
+
RETURN_DATE: string;
|
|
283
|
+
CONFIRM: string;
|
|
284
|
+
TRAVELERS: string;
|
|
285
|
+
};
|
|
286
|
+
SRP: {
|
|
287
|
+
NO_RESULTS: string;
|
|
288
|
+
TOTAL_RESULTS_LABEL: string;
|
|
289
|
+
RESET: string;
|
|
290
|
+
LUGGAGEINCLUDED: string;
|
|
291
|
+
CANCEL: string;
|
|
292
|
+
APPLY: string;
|
|
293
|
+
LOADING: string;
|
|
294
|
+
SEARCHRESULTCTA: string;
|
|
295
|
+
SORTBY: string;
|
|
296
|
+
PRICE_ASC: string;
|
|
297
|
+
PRICE_DESC: string;
|
|
298
|
+
DEPARTURE_ASC: string;
|
|
299
|
+
FILTERS: string;
|
|
300
|
+
SHOW_ITINERARY: string;
|
|
301
|
+
ITINERARY_TITLE: string;
|
|
302
|
+
DOSSIER_NUMBER: string;
|
|
303
|
+
PACKAGE_PRICE_PER_PERSON: string;
|
|
304
|
+
TOTAL: string;
|
|
305
|
+
DAY_BY_DAY: string;
|
|
306
|
+
START: string;
|
|
307
|
+
END: string;
|
|
308
|
+
EXTENDED: string;
|
|
309
|
+
COMPACT: string;
|
|
310
|
+
LIST: string;
|
|
311
|
+
SELECT: string;
|
|
312
|
+
DEPARTURE: string;
|
|
313
|
+
RETURN: string;
|
|
314
|
+
DIRECT: string;
|
|
315
|
+
STOPS: string;
|
|
316
|
+
STOP: string;
|
|
317
|
+
STOP_TIME: string;
|
|
318
|
+
ACCOMMODATION: string;
|
|
319
|
+
VIEW_DETAILS: string;
|
|
320
|
+
NIGHTS: string;
|
|
321
|
+
};
|
|
252
322
|
};
|
|
253
323
|
export declare const locales: {
|
|
254
324
|
'ar-SA': Locale;
|