@qite/tide-booking-component 1.4.38 → 1.4.40

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.
Files changed (99) hide show
  1. package/build/build-cjs/booking-wizard/types.d.ts +1 -0
  2. package/build/build-cjs/content/components/login.d.ts +3 -0
  3. package/build/build-cjs/index.js +7618 -1952
  4. package/build/build-cjs/qsm/components/double-search-input-group/index.d.ts +2 -1
  5. package/build/build-cjs/qsm/components/search-input/index.d.ts +1 -0
  6. package/build/build-cjs/qsm/components/search-input-group/index.d.ts +3 -1
  7. package/build/build-cjs/qsm/store/qsm-slice.d.ts +6 -2
  8. package/build/build-cjs/qsm/types.d.ts +17 -32
  9. package/build/build-cjs/search-results/components/filters/flight-filters.d.ts +8 -0
  10. package/build/build-cjs/search-results/components/flight/flight-accommodation-results.d.ts +4 -1
  11. package/build/build-cjs/search-results/components/flight/flight-option.d.ts +7 -0
  12. package/build/build-cjs/search-results/components/flight/flight-search-context/index.d.ts +36 -0
  13. package/build/build-cjs/search-results/components/icon.d.ts +1 -0
  14. package/build/build-cjs/search-results/components/item-picker/index.d.ts +5 -3
  15. package/build/build-cjs/search-results/components/search-results-container/flight-search-results.d.ts +6 -0
  16. package/build/build-cjs/search-results/store/search-results-slice.d.ts +2 -0
  17. package/build/build-cjs/search-results/types.d.ts +31 -1
  18. package/build/build-cjs/search-results/utils/flight-utils.d.ts +16 -0
  19. package/build/build-cjs/shared/components/flyin.d.ts +9 -0
  20. package/build/build-cjs/shared/types.d.ts +6 -0
  21. package/build/build-cjs/shared/utils/localization-util.d.ts +91 -0
  22. package/build/build-esm/booking-wizard/types.d.ts +1 -0
  23. package/build/build-esm/content/components/login.d.ts +3 -0
  24. package/build/build-esm/index.js +8053 -2356
  25. package/build/build-esm/qsm/components/double-search-input-group/index.d.ts +2 -1
  26. package/build/build-esm/qsm/components/search-input/index.d.ts +1 -0
  27. package/build/build-esm/qsm/components/search-input-group/index.d.ts +3 -1
  28. package/build/build-esm/qsm/store/qsm-slice.d.ts +6 -2
  29. package/build/build-esm/qsm/types.d.ts +17 -32
  30. package/build/build-esm/search-results/components/filters/flight-filters.d.ts +8 -0
  31. package/build/build-esm/search-results/components/flight/flight-accommodation-results.d.ts +4 -1
  32. package/build/build-esm/search-results/components/flight/flight-option.d.ts +7 -0
  33. package/build/build-esm/search-results/components/flight/flight-search-context/index.d.ts +36 -0
  34. package/build/build-esm/search-results/components/icon.d.ts +1 -0
  35. package/build/build-esm/search-results/components/item-picker/index.d.ts +5 -3
  36. package/build/build-esm/search-results/components/search-results-container/flight-search-results.d.ts +6 -0
  37. package/build/build-esm/search-results/store/search-results-slice.d.ts +2 -0
  38. package/build/build-esm/search-results/types.d.ts +31 -1
  39. package/build/build-esm/search-results/utils/flight-utils.d.ts +16 -0
  40. package/build/build-esm/shared/components/flyin.d.ts +9 -0
  41. package/build/build-esm/shared/types.d.ts +6 -0
  42. package/build/build-esm/shared/utils/localization-util.d.ts +91 -0
  43. package/package.json +4 -3
  44. package/rollup.config.js +2 -2
  45. package/src/booking-product/components/dates.tsx +1 -1
  46. package/src/booking-wizard/features/booking/booking-slice.ts +4 -2
  47. package/src/booking-wizard/types.ts +1 -0
  48. package/src/content/components/login.tsx +162 -0
  49. package/src/content/components/slider.tsx +1 -1
  50. package/src/content/features/content-page/content-page-self-contained.tsx +56 -75
  51. package/src/qsm/components/QSMContainer/qsm-container.tsx +197 -75
  52. package/src/qsm/components/double-search-input-group/index.tsx +14 -75
  53. package/src/qsm/components/mobile-filter-modal/index.tsx +18 -11
  54. package/src/qsm/components/search-input/index.tsx +9 -2
  55. package/src/qsm/components/search-input-group/index.tsx +19 -31
  56. package/src/qsm/components/travel-class-picker/index.tsx +1 -0
  57. package/src/qsm/components/travel-input/index.tsx +4 -4
  58. package/src/qsm/components/travel-input-group/index.tsx +4 -3
  59. package/src/qsm/components/travel-nationality-picker/index.tsx +1 -0
  60. package/src/qsm/components/travel-type-picker/index.tsx +1 -0
  61. package/src/qsm/qsm-configuration-context.ts +6 -17
  62. package/src/qsm/store/qsm-slice.ts +13 -1
  63. package/src/qsm/types.ts +19 -39
  64. package/src/search-results/components/filters/flight-filters.tsx +671 -0
  65. package/src/search-results/components/flight/flight-accommodation-results.tsx +20 -562
  66. package/src/search-results/components/flight/flight-banner.tsx +1 -1
  67. package/src/search-results/components/flight/flight-option.tsx +243 -0
  68. package/src/search-results/components/flight/flight-search-context/index.tsx +508 -0
  69. package/src/search-results/components/hotel/hotel-card.tsx +0 -1
  70. package/src/search-results/components/icon.tsx +84 -44
  71. package/src/search-results/components/item-picker/index.tsx +16 -11
  72. package/src/search-results/components/search-results-container/flight-search-results.tsx +120 -0
  73. package/src/search-results/components/search-results-container/search-results-container.tsx +85 -70
  74. package/src/search-results/store/search-results-slice.ts +6 -0
  75. package/src/search-results/types.ts +37 -1
  76. package/src/search-results/utils/flight-utils.ts +106 -0
  77. package/src/shared/components/flyin.tsx +334 -0
  78. package/src/shared/translations/ar-SA.json +13 -1
  79. package/src/shared/translations/da-DK.json +13 -1
  80. package/src/shared/translations/de-DE.json +13 -1
  81. package/src/shared/translations/en-GB.json +13 -1
  82. package/src/shared/translations/es-ES.json +13 -1
  83. package/src/shared/translations/fr-BE.json +13 -1
  84. package/src/shared/translations/fr-FR.json +13 -1
  85. package/src/shared/translations/is-IS.json +13 -1
  86. package/src/shared/translations/it-IT.json +13 -1
  87. package/src/shared/translations/ja-JP.json +13 -1
  88. package/src/shared/translations/nl-BE.json +13 -1
  89. package/src/shared/translations/nl-NL.json +13 -1
  90. package/src/shared/translations/no-NO.json +13 -1
  91. package/src/shared/translations/pl-PL.json +13 -1
  92. package/src/shared/translations/pt-PT.json +13 -1
  93. package/src/shared/translations/sv-SE.json +13 -1
  94. package/src/shared/types.ts +7 -0
  95. package/src/shared/utils/localization-util.ts +71 -0
  96. package/styles/booking-search-results.scss +1 -0
  97. package/styles/components/_flyin.scss +550 -0
  98. package/styles/components/_login.scss +133 -0
  99. package/styles/content-blocks.scss +1 -0
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
+ import { DoubleFieldConfig } from '../../types';
2
3
  interface Props {
3
- fieldKey: string;
4
+ fieldConfig: DoubleFieldConfig;
4
5
  showReverse?: boolean;
5
6
  }
6
7
  declare const DoubleSearchInputGroup: React.FC<Props>;
@@ -8,6 +8,7 @@ interface SearchInputProps {
8
8
  label: string;
9
9
  isSecondInput?: boolean;
10
10
  isDoubleInput?: boolean;
11
+ isDisabled?: boolean;
11
12
  }
12
13
  declare const SearchInput: React.FC<SearchInputProps>;
13
14
  export default SearchInput;
@@ -1,11 +1,13 @@
1
1
  import React from 'react';
2
+ import { BaseFieldConfig } from '../../types';
2
3
  interface Props {
3
- fieldKey: string;
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;
@@ -1,6 +1,7 @@
1
- import { MobileFilterType, Room, TravelerType, TravelType, TravelClass, TypeaheadOption } from '../types';
1
+ import { MobileFilterType, Room, TravelerType, TravelType, TravelClass, TypeaheadOption, QsmType } from '../types';
2
2
  import { ReactNode } from 'react';
3
3
  export interface QSMState {
4
+ qsmType?: QsmType;
4
5
  selectedOrigin?: string;
5
6
  selectedDestination?: string;
6
7
  selectedAirport?: string;
@@ -31,6 +32,7 @@ export interface QSMState {
31
32
  after: number;
32
33
  };
33
34
  travelTypes: TravelType[];
35
+ tripType: 'oneway' | 'roundtrip' | 'openjaw';
34
36
  selectedTravelType?: string;
35
37
  travelClasses: TravelClass[];
36
38
  selectedTravelClass?: string;
@@ -45,7 +47,8 @@ export interface QSMState {
45
47
  rooms: Room[];
46
48
  [key: string]: any;
47
49
  }
48
- export declare const setOrigin: import('@reduxjs/toolkit').ActionCreatorWithPayload<string, 'qsm/setOrigin'>,
50
+ export declare const setSelectedQsmType: import('@reduxjs/toolkit').ActionCreatorWithPayload<QsmType, 'qsm/setSelectedQsmType'>,
51
+ setOrigin: import('@reduxjs/toolkit').ActionCreatorWithPayload<string, 'qsm/setOrigin'>,
49
52
  setDestination: import('@reduxjs/toolkit').ActionCreatorWithPayload<string, 'qsm/setDestination'>,
50
53
  setAirport: import('@reduxjs/toolkit').ActionCreatorWithPayload<string, 'qsm/setAirport'>,
51
54
  setFromDate: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string | undefined, 'qsm/setFromDate'>,
@@ -85,6 +88,7 @@ export declare const setOrigin: import('@reduxjs/toolkit').ActionCreatorWithPayl
85
88
  | undefined,
86
89
  'qsm/setSelectedFlexRange'
87
90
  >,
91
+ setTripType: import('@reduxjs/toolkit').ActionCreatorWithPayload<'oneway' | 'roundtrip' | 'openjaw', 'qsm/setTripType'>,
88
92
  setTravelTypes: import('@reduxjs/toolkit').ActionCreatorWithPayload<TravelType[], 'qsm/setTravelTypes'>,
89
93
  setSelectedTravelType: import('@reduxjs/toolkit').ActionCreatorWithPayload<any, 'qsm/setSelectedTravelType'>,
90
94
  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?: QsmType;
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
- searchFields: FieldConfig[];
13
- origins: Origin[];
14
- originTypeAhead: boolean;
15
- onOriginChange: (origin: string) => void;
16
- destinations: Destination[];
17
- destinationTypeAhead: boolean;
18
- destinationIcon: ReactNode;
19
- onDestinationChange: (destination: string) => void;
20
- airports: Airport[];
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: boolean;
32
- datesIcon: ReactNode;
25
+ showReturnDate?: boolean;
26
+ datesIcon?: ReactNode;
33
27
  defaultTravelers?: number;
34
28
  maxTravelers?: number;
35
29
  maxChildAge?: number;
@@ -39,10 +33,12 @@ export interface QSMConfiguration {
39
33
  nationalities: Nationality[];
40
34
  languageCode?: string;
41
35
  }
36
+ export type QsmType = 'multidestination' | 'hotel' | 'roundTrip' | 'flight' | 'hotel-flight' | 'package' | 'ticket' | 'car' | 'transfers' | 'cruises';
42
37
  export interface BaseFieldConfig {
43
38
  fieldKey: string;
44
39
  label: string;
45
40
  placeholder: string;
41
+ icon: ReactNode;
46
42
  options: TypeaheadOption[];
47
43
  autoComplete?: boolean;
48
44
  onChange?: (data: any) => void;
@@ -62,6 +58,7 @@ export interface DoubleFieldConfig {
62
58
  type: 'double';
63
59
  fieldKey: string;
64
60
  showReverse?: boolean;
61
+ disableReturnField?: boolean;
65
62
  fields: BaseFieldConfig[];
66
63
  }
67
64
  export type FieldConfig = SingleFieldConfig | DoubleFieldConfig;
@@ -69,18 +66,6 @@ export interface AdditionalFilters {
69
66
  showDirectFlights: boolean;
70
67
  includeLuggage: boolean;
71
68
  }
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
69
  export interface DateFlexibility {
85
70
  name: string;
86
71
  before: number;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface FiltersProps {
3
+ isOpen: boolean;
4
+ handleSetIsOpen: () => void;
5
+ isLoading?: boolean;
6
+ }
7
+ declare const FlightFilters: React.FC<FiltersProps>;
8
+ export default FlightFilters;
@@ -1,4 +1,7 @@
1
1
  import React from 'react';
2
- interface FlightAccommodationResultsProps {}
2
+ import { ExtendedFlightSearchResponseItem } from '../../types';
3
+ interface FlightAccommodationResultsProps {
4
+ searchResults: ExtendedFlightSearchResponseItem[];
5
+ }
3
6
  declare const FlightAccommodationResults: React.FC<FlightAccommodationResultsProps>;
4
7
  export default FlightAccommodationResults;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { ExtendedFlightSearchResponseItem } from '../../types';
3
+ interface FlightOptionProps {
4
+ item: ExtendedFlightSearchResponseItem;
5
+ }
6
+ declare const FlightOption: React.FC<FlightOptionProps>;
7
+ export default FlightOption;
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import { ExtendedFlightSearchResponseItem, Filters, SortByType } from '../../../types';
3
+ interface FlightFilterContextProps {
4
+ children: React.ReactNode;
5
+ tideConnection: any;
6
+ }
7
+ interface FlightSearchContext {
8
+ isHubReady: boolean;
9
+ currentRequestId: number;
10
+ valuesManuallyChanged: boolean;
11
+ flightsLoading: boolean;
12
+ flightSearchResults: ExtendedFlightSearchResponseItem[];
13
+ filteredResults: ExtendedFlightSearchResponseItem[];
14
+ filters: Filters;
15
+ sortByTypes: SortByType[];
16
+ selectedSortByType: SortByType;
17
+ airlineResults: ExtendedFlightSearchResponseItem[];
18
+ numberOfStopsResults: ExtendedFlightSearchResponseItem[];
19
+ departureRangeResults: ExtendedFlightSearchResponseItem[];
20
+ departureAirportsResults: ExtendedFlightSearchResponseItem[];
21
+ arrivalAirportsResults: ExtendedFlightSearchResponseItem[];
22
+ travelTimeResults: ExtendedFlightSearchResponseItem[];
23
+ priceResults: ExtendedFlightSearchResponseItem[];
24
+ onFlightSearch: () => void;
25
+ setFlightSearchResults: (results: ExtendedFlightSearchResponseItem[]) => void;
26
+ setFilters: (filters: Filters) => void;
27
+ setFilteredResults: (results: ExtendedFlightSearchResponseItem[]) => void;
28
+ setSelectedSortByType: (val: SortByType) => void;
29
+ resetFilters: () => void;
30
+ setValuesManuallyChanged: (val: boolean) => void;
31
+ onFilter: () => void;
32
+ }
33
+ declare const FlightSearchContext: React.Context<FlightSearchContext>;
34
+ export declare const FlightSearchProvider: React.FC<FlightFilterContextProps>;
35
+ export declare const useFlightSearch: () => FlightSearchContext;
36
+ export {};
@@ -5,6 +5,7 @@ interface IconProps {
5
5
  title?: string;
6
6
  width?: number;
7
7
  height?: number;
8
+ fill?: string;
8
9
  }
9
10
  declare const Icon: React.FC<IconProps>;
10
11
  export default Icon;
@@ -1,12 +1,14 @@
1
1
  import React from 'react';
2
- import { TravelClass, TravelType } from '../../types';
2
+ import { SortByType, TravelClass, TravelType } from '../../types';
3
3
  interface ItemPickerProps {
4
- items: TravelType[] | TravelClass[];
4
+ items: TravelType[] | TravelClass[] | SortByType[];
5
5
  selection: string | undefined;
6
+ selectedSortByType?: SortByType;
6
7
  label: string;
7
8
  placeholder: string;
8
9
  classModifier: string;
9
- onPick: (picked: string) => void;
10
+ valueFormatter?: (value: string, direction?: string) => string;
11
+ onPick: (picked: string, direction?: string) => void;
10
12
  }
11
13
  declare const ItemPicker: React.FC<ItemPickerProps>;
12
14
  export default ItemPicker;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ interface FlightResultsContainerProps {
3
+ isMobile: boolean;
4
+ }
5
+ declare const FlightResultsContainer: React.FC<FlightResultsContainerProps>;
6
+ export default FlightResultsContainer;
@@ -3,6 +3,7 @@ import { BookingPackage, BookingPackageItem, EntryLight } from '@qite/tide-clien
3
3
  export interface SearchResultsState {
4
4
  results: BookingPackageItem[];
5
5
  selectedHotelId: number | null;
6
+ selectedFlightId: string | null;
6
7
  bookingPackageDetails: BookingPackage | null;
7
8
  entry: EntryLight | null;
8
9
  isLoading: boolean;
@@ -18,6 +19,7 @@ export declare const setResults: import('@reduxjs/toolkit').ActionCreatorWithPay
18
19
  'searchResults/setResults'
19
20
  >,
20
21
  setSelectedHotel: import('@reduxjs/toolkit').ActionCreatorWithPayload<number | null, 'searchResults/setSelectedHotel'>,
22
+ setSelectedFlight: import('@reduxjs/toolkit').ActionCreatorWithPayload<string | null, 'searchResults/setSelectedFlight'>,
21
23
  setBookingPackageDetails: import('@reduxjs/toolkit').ActionCreatorWithPayload<
22
24
  {
23
25
  details: BookingPackage;
@@ -1,10 +1,13 @@
1
+ import { FlightSearchResponseItem } from '@qite/tide-client';
1
2
  import { ReactNode } from 'react';
3
+ export type SRPType = 'hotel' | 'flight' | 'hotel-flight' | 'roundTrip';
2
4
  export interface SearchResultsConfiguration {
3
- type: 'hotel' | 'roundTrip' | 'flight' | 'hotel-flight';
5
+ type: SRPType;
4
6
  tideConnection: {
5
7
  host: string;
6
8
  apiKey: string;
7
9
  catalogueIds?: number[];
10
+ officeId?: number;
8
11
  };
9
12
  showFilters: boolean;
10
13
  filterIcon?: ReactNode;
@@ -109,3 +112,30 @@ export interface SortingOption {
109
112
  label: string;
110
113
  icon?: ReactNode;
111
114
  }
115
+ export interface ExtendedFlightSearchResponseItem extends FlightSearchResponseItem {
116
+ requestId: number;
117
+ guid: string;
118
+ }
119
+ export interface Sequence {
120
+ requestId: number;
121
+ sequenceId: number;
122
+ }
123
+ export interface FilterValue {
124
+ name: string;
125
+ id: number | string;
126
+ lowestPrice: number;
127
+ }
128
+ export interface Filters {
129
+ airlines: FilterValue[];
130
+ numberOfStops: FilterValue[];
131
+ departureRanges: FilterValue[];
132
+ departureAirports: FilterValue[];
133
+ arrivalAirports: FilterValue[];
134
+ travelTimes: FilterValue[];
135
+ prices: FilterValue[];
136
+ }
137
+ export interface SortByType {
138
+ direction: 'asc' | 'desc';
139
+ label: string;
140
+ icon?: ReactNode;
141
+ }
@@ -0,0 +1,16 @@
1
+ import { FlightSearchResponseFlight, FlightSearchResponseFlightSegment } from '@qite/tide-client';
2
+ import { ExtendedFlightSearchResponseItem, SortByType } from '../types';
3
+ import { DepartureRange } from '../../shared/types';
4
+ export declare const getOutwardFlight: (flightResult: ExtendedFlightSearchResponseItem) => FlightSearchResponseFlight | undefined;
5
+ export declare const getFlightSegments: (flight: FlightSearchResponseFlight | undefined) => FlightSearchResponseFlightSegment[];
6
+ export declare const getDepartureSegment: (flight: FlightSearchResponseFlight | undefined) => FlightSearchResponseFlightSegment | undefined;
7
+ export declare const getArrivalSegment: (flight: FlightSearchResponseFlight | undefined) => FlightSearchResponseFlightSegment | undefined;
8
+ export declare const getNumberOfStops: (flight: FlightSearchResponseFlight | undefined) => number;
9
+ export declare const getNumberOfStopsLabel: (
10
+ flight: FlightSearchResponseFlight | undefined,
11
+ directLabel: string,
12
+ stopsLabel: string,
13
+ stopLabel: string
14
+ ) => string;
15
+ export declare const getDepartureRangeName: (translations: any, range: DepartureRange | undefined) => string;
16
+ export declare const getSortingName: (translations: any, sortByType: SortByType) => string;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ type FlyInProps = {
3
+ isOpen: boolean;
4
+ setIsOpen: (open: boolean) => void;
5
+ className?: string;
6
+ onPanelRef?: (el: HTMLDivElement | null) => void;
7
+ };
8
+ declare const FlyIn: React.FC<FlyInProps>;
9
+ export default FlyIn;
@@ -2,3 +2,9 @@ export interface ApiSettingsState {
2
2
  apiUrl: string;
3
3
  apiKey: string;
4
4
  }
5
+ export declare enum DepartureRange {
6
+ Morning = 0,
7
+ Afternoon = 1,
8
+ Evening = 2,
9
+ Night = 3
10
+ }
@@ -1,6 +1,8 @@
1
1
  export declare const languages: string[];
2
2
  export declare const defaultLanguage = 'nl-BE';
3
3
  export declare const formatPrice: (price: number, currencyCode: string, locale?: string) => string;
4
+ import { DateStruct } from '@qite/tide-client';
5
+ import { DepartureRange } from '../types';
4
6
  export declare const getTranslations: (language: string) => {
5
7
  STEPS: {
6
8
  PERSONAL_DETAILS: string;
@@ -137,8 +139,11 @@ export declare const getTranslations: (language: string) => {
137
139
  CHILD: string;
138
140
  CHILDREN: string;
139
141
  GENDER: string;
142
+ GENDER_ID: string;
140
143
  MALE: string;
144
+ MALE_GENDER: string;
141
145
  FEMALE: string;
146
+ FEMALE_GENDER: string;
142
147
  OTHER: string;
143
148
  MAIN_BOOKER: string;
144
149
  FIRST_NAME: string;
@@ -249,6 +254,85 @@ export declare const getTranslations: (language: string) => {
249
254
  LABEL_CREATING: string;
250
255
  LABEL_PRINTING: string;
251
256
  };
257
+ QSM: {
258
+ MULTIDESTINATION: string;
259
+ PACKAGES: string;
260
+ TRANSPORT_HOTEL: string;
261
+ ACCOMMODATION: string;
262
+ TRANSPORTS: string;
263
+ TICKET_ONLY: string;
264
+ RENT_A_CAR: string;
265
+ TRANSFERS: string;
266
+ CRUISES: string;
267
+ ONE_ACCOMMODATION: string;
268
+ MULTIPLE_ACCOMMODATIONS: string;
269
+ TRAVEL_CLASS_LABEL: string;
270
+ TRAVEL_CLASS_PLACEHOLDER: string;
271
+ TRAVEL_TYPE_LABEL: string;
272
+ TRAVEL_TYPE_PLACEHOLDER: string;
273
+ NATIONALITY_LABEL: string;
274
+ NATIONALITY_PLACEHOLDER: string;
275
+ TRAVELERS_LABEL: string;
276
+ ADD_ROOM: string;
277
+ REMOVE_ROOM: string;
278
+ MAX_TRAVELERS_REACHED: string;
279
+ ADULTS: string;
280
+ CHILDREN: string;
281
+ BABIES: string;
282
+ CHOOSE_DATES: string;
283
+ DEPARTURE_DATE: string;
284
+ RETURN_DATE: string;
285
+ CONFIRM: string;
286
+ TRAVELERS: string;
287
+ };
288
+ SRP: {
289
+ NO_RESULTS: string;
290
+ TOTAL_RESULTS_LABEL: string;
291
+ RESET: string;
292
+ LUGGAGEINCLUDED: string;
293
+ CANCEL: string;
294
+ APPLY: string;
295
+ LOADING: string;
296
+ SEARCHRESULTCTA: string;
297
+ SORTBY: string;
298
+ PRICE_ASC: string;
299
+ PRICE_DESC: string;
300
+ DEPARTURE_ASC: string;
301
+ FILTERS: string;
302
+ SHOW_ITINERARY: string;
303
+ ITINERARY_TITLE: string;
304
+ DOSSIER_NUMBER: string;
305
+ PACKAGE_PRICE_PER_PERSON: string;
306
+ TOTAL: string;
307
+ DAY_BY_DAY: string;
308
+ START: string;
309
+ END: string;
310
+ EXTENDED: string;
311
+ COMPACT: string;
312
+ LIST: string;
313
+ SELECT: string;
314
+ DEPARTURE: string;
315
+ RETURN: string;
316
+ DIRECT: string;
317
+ STOPS: string;
318
+ STOP: string;
319
+ STOP_TIME: string;
320
+ ACCOMMODATION: string;
321
+ VIEW_DETAILS: string;
322
+ NIGHTS: string;
323
+ MORNING_RANGE: string;
324
+ AFTERNOON_RANGE: string;
325
+ EVENING_RANGE: string;
326
+ NIGHT_RANGE: string;
327
+ DEPARTURE_RANGE: string;
328
+ DEPARTURE_AIRPORTS: string;
329
+ ARRIVAL_AIRPORTS: string;
330
+ PRICE: string;
331
+ DEPARTURE_TIME_ASC: string;
332
+ DEPARTURE_TIME_DESC: string;
333
+ DURATION_ASC: string;
334
+ DURATION_DESC: string;
335
+ };
252
336
  };
253
337
  export declare const locales: {
254
338
  'ar-SA': Locale;
@@ -273,3 +357,10 @@ export declare const getPriceDifferenceText: (price: number, currencyCode: strin
273
357
  export declare function format(text: string, args: any[]): string;
274
358
  export declare const formatTime: (date: Date) => string;
275
359
  export declare const formatDate: (date: Date) => string;
360
+ export declare const dateToDateStruct: (date: Date | undefined) => DateStruct;
361
+ export declare const timeFromDateTime: (dateTime: Date | undefined) => string;
362
+ export declare const longFormatDate: (dateTime: Date | undefined, language: string) => string;
363
+ export declare const durationTicksInHoursString: (durationInTicks: number) => string;
364
+ export declare const durationInTicksInMinutes: (durationInTicks: number) => number;
365
+ export declare const minutesToHoursString: (totalMinutes: number) => string;
366
+ export declare const rangeFromDateTimeInMinutes: (dateTime: Date | undefined) => DepartureRange;
@@ -126,6 +126,7 @@ export interface FlightInfo {
126
126
  returnClass: string;
127
127
  returnDepartureDate: string | null;
128
128
  returnArrivalDate: string | null;
129
+ luggageIncluded: boolean;
129
130
  }
130
131
  export interface TravelersFormValues {
131
132
  rooms: TravelersFormRoomValues[];
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const Login: React.FC;
3
+ export default Login;