@qite/tide-booking-component 1.4.69 → 1.4.71

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 (70) hide show
  1. package/build/build-cjs/index.js +1299 -1058
  2. package/build/build-cjs/src/qsm/store/qsm-slice.d.ts +4 -4
  3. package/build/build-cjs/src/qsm/types.d.ts +2 -14
  4. package/build/build-cjs/src/search-results/components/filters/filters.d.ts +1 -1
  5. package/build/build-cjs/src/search-results/components/filters/utility.d.ts +2 -2
  6. package/build/build-cjs/src/search-results/components/group-tour/group-tour-card.d.ts +8 -0
  7. package/build/build-cjs/src/search-results/components/group-tour/group-tour-results.d.ts +6 -0
  8. package/build/build-cjs/src/search-results/components/hotel/hotel-accommodation-results.d.ts +0 -2
  9. package/build/build-cjs/src/search-results/store/search-results-slice.d.ts +5 -8
  10. package/build/build-cjs/src/search-results/types.d.ts +7 -2
  11. package/build/build-cjs/src/search-results/utils/search-results-utils.d.ts +3 -0
  12. package/build/build-cjs/src/shared/components/flyin/accommodation-flyin.d.ts +8 -0
  13. package/build/build-cjs/src/shared/components/flyin/flights-flyin.d.ts +7 -0
  14. package/build/build-cjs/src/shared/components/{flyin.d.ts → flyin/flyin.d.ts} +3 -2
  15. package/build/build-cjs/src/shared/types.d.ts +12 -0
  16. package/build/build-cjs/src/shared/utils/localization-util.d.ts +5 -0
  17. package/build/build-esm/index.js +1285 -1053
  18. package/build/build-esm/src/qsm/store/qsm-slice.d.ts +4 -4
  19. package/build/build-esm/src/qsm/types.d.ts +2 -14
  20. package/build/build-esm/src/search-results/components/filters/filters.d.ts +1 -1
  21. package/build/build-esm/src/search-results/components/filters/utility.d.ts +2 -2
  22. package/build/build-esm/src/search-results/components/group-tour/group-tour-card.d.ts +8 -0
  23. package/build/build-esm/src/search-results/components/group-tour/group-tour-results.d.ts +6 -0
  24. package/build/build-esm/src/search-results/components/hotel/hotel-accommodation-results.d.ts +0 -2
  25. package/build/build-esm/src/search-results/store/search-results-slice.d.ts +5 -8
  26. package/build/build-esm/src/search-results/types.d.ts +7 -2
  27. package/build/build-esm/src/search-results/utils/search-results-utils.d.ts +3 -0
  28. package/build/build-esm/src/shared/components/flyin/accommodation-flyin.d.ts +8 -0
  29. package/build/build-esm/src/shared/components/flyin/flights-flyin.d.ts +7 -0
  30. package/build/build-esm/src/shared/components/{flyin.d.ts → flyin/flyin.d.ts} +3 -2
  31. package/build/build-esm/src/shared/types.d.ts +12 -0
  32. package/build/build-esm/src/shared/utils/localization-util.d.ts +5 -0
  33. package/package.json +2 -2
  34. package/src/qsm/components/QSMContainer/qsm-container.tsx +16 -3
  35. package/src/qsm/store/qsm-slice.ts +4 -4
  36. package/src/qsm/types.ts +2 -15
  37. package/src/search-results/components/filters/filters.tsx +136 -293
  38. package/src/search-results/components/filters/utility.tsx +61 -2
  39. package/src/search-results/components/group-tour/group-tour-card.tsx +100 -0
  40. package/src/search-results/components/group-tour/group-tour-results.tsx +40 -0
  41. package/src/search-results/components/hotel/hotel-accommodation-results.tsx +13 -16
  42. package/src/search-results/components/hotel/hotel-card.tsx +11 -8
  43. package/src/search-results/components/icon.tsx +18 -0
  44. package/src/search-results/components/search-results-container/search-results-container.tsx +62 -30
  45. package/src/search-results/store/search-results-slice.ts +13 -7
  46. package/src/search-results/types.ts +9 -2
  47. package/src/search-results/utils/search-results-utils.ts +42 -0
  48. package/src/shared/components/flyin/accommodation-flyin.tsx +40 -0
  49. package/src/shared/components/flyin/flights-flyin.tsx +499 -0
  50. package/src/shared/components/flyin/flyin.tsx +79 -0
  51. package/src/shared/translations/ar-SA.json +4 -2
  52. package/src/shared/translations/da-DK.json +4 -2
  53. package/src/shared/translations/de-DE.json +4 -2
  54. package/src/shared/translations/en-GB.json +4 -2
  55. package/src/shared/translations/es-ES.json +4 -2
  56. package/src/shared/translations/fr-BE.json +4 -2
  57. package/src/shared/translations/fr-FR.json +4 -2
  58. package/src/shared/translations/is-IS.json +4 -2
  59. package/src/shared/translations/it-IT.json +4 -2
  60. package/src/shared/translations/ja-JP.json +4 -2
  61. package/src/shared/translations/nl-BE.json +4 -2
  62. package/src/shared/translations/nl-NL.json +4 -2
  63. package/src/shared/translations/no-NO.json +4 -2
  64. package/src/shared/translations/pl-PL.json +4 -2
  65. package/src/shared/translations/pt-PT.json +4 -2
  66. package/src/shared/translations/sv-SE.json +4 -2
  67. package/src/shared/types.ts +13 -0
  68. package/src/shared/utils/localization-util.ts +16 -0
  69. package/styles/components/_flyin.scss +10 -0
  70. package/src/shared/components/flyin.tsx +0 -546
@@ -1,8 +1,8 @@
1
- import { MobileFilterType, Room, TravelerType, TypeaheadOption, QsmType } from '../types';
1
+ import { MobileFilterType, Room, TravelerType, TypeaheadOption } from '../types';
2
2
  import { ReactNode } from 'react';
3
- import { TravelType, TravelClass } from '../../shared/types';
3
+ import { TravelType, TravelClass, SRPType } from '../../shared/types';
4
4
  export interface QSMState {
5
- qsmType?: QsmType;
5
+ qsmType?: SRPType;
6
6
  selectedOrigin?: string;
7
7
  selectedDestination?: string;
8
8
  selectedAirport?: string;
@@ -48,7 +48,7 @@ export interface QSMState {
48
48
  rooms: Room[];
49
49
  [key: string]: any;
50
50
  }
51
- export declare const setSelectedQsmType: import('@reduxjs/toolkit').ActionCreatorWithPayload<QsmType, 'qsm/setSelectedQsmType'>,
51
+ export declare const setSelectedQsmType: import('@reduxjs/toolkit').ActionCreatorWithPayload<SRPType, 'qsm/setSelectedQsmType'>,
52
52
  setOrigin: import('@reduxjs/toolkit').ActionCreatorWithPayload<string, 'qsm/setOrigin'>,
53
53
  setDestination: import('@reduxjs/toolkit').ActionCreatorWithPayload<string, 'qsm/setDestination'>,
54
54
  setAirport: import('@reduxjs/toolkit').ActionCreatorWithPayload<string, 'qsm/setAirport'>,
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
- import { TravelClass, TravelType } from '../shared/types';
2
+ import { SRPType, TravelClass, TravelType } from '../shared/types';
3
3
  export interface QSMConfiguration {
4
- type?: QsmType;
4
+ type?: SRPType;
5
5
  askRooms?: boolean;
6
6
  askTravelType?: boolean;
7
7
  allowOneWay?: boolean;
@@ -34,18 +34,6 @@ export interface QSMConfiguration {
34
34
  nationalities: Nationality[];
35
35
  languageCode?: string;
36
36
  }
37
- export type QsmType =
38
- | 'multidestination'
39
- | 'hotel'
40
- | 'roundTrip'
41
- | 'flight'
42
- | 'hotel-flight'
43
- | 'groupTour'
44
- | 'package'
45
- | 'ticket'
46
- | 'car'
47
- | 'transfers'
48
- | 'cruises';
49
37
  export interface BaseFieldConfig {
50
38
  fieldKey: string;
51
39
  label: string;
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
2
  import { Filter } from '../../types';
3
3
  interface FiltersProps {
4
+ initialFilters: Filter[];
4
5
  filters: Filter[];
5
6
  isOpen: boolean;
6
7
  handleSetIsOpen: () => void;
7
- handleApplyFilters: () => void;
8
8
  isLoading?: boolean;
9
9
  }
10
10
  declare const Filters: React.FC<FiltersProps>;
@@ -1,3 +1,3 @@
1
1
  import { BookingPackageItem } from '@qite/tide-client/build/types';
2
- import { Filter } from '../../types';
3
- export declare const enrichFiltersWithResults: (results: BookingPackageItem[], filters: Filter[] | undefined) => Filter[];
2
+ import { Filter, TideTag } from '../../types';
3
+ export declare const enrichFiltersWithResults: (results: BookingPackageItem[], filters: Filter[] | undefined, tags: TideTag[]) => Filter[];
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { BookingPackageItem } from '@qite/tide-client';
3
+ interface GroupTourCardProps {
4
+ result: BookingPackageItem;
5
+ languageCode?: string;
6
+ }
7
+ declare const GroupTourCard: React.FC<GroupTourCardProps>;
8
+ export default GroupTourCard;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ interface GroupTourResultsProps {
3
+ isLoading: boolean;
4
+ }
5
+ declare const GroupTourResults: React.FC<GroupTourResultsProps>;
6
+ export default GroupTourResults;
@@ -1,8 +1,6 @@
1
1
  import React from 'react';
2
- import { SearchResultsConfiguration } from '../../types';
3
2
  interface HotelAccommodationResultsProps {
4
3
  isLoading: boolean;
5
- context: SearchResultsConfiguration;
6
4
  }
7
5
  declare const HotelAccommodationResults: React.FC<HotelAccommodationResultsProps>;
8
6
  export default HotelAccommodationResults;
@@ -2,7 +2,8 @@ import { ExtendedFlightSearchResponseItem, Filter } from '../types';
2
2
  import { BookingPackage, BookingPackageItem, EntryLight } from '@qite/tide-client/build/types';
3
3
  export interface SearchResultsState {
4
4
  results: BookingPackageItem[];
5
- selectedHotelId: number | null;
5
+ filteredResults: BookingPackageItem[];
6
+ selectedSearchResultId: number | null;
6
7
  selectedFlight: ExtendedFlightSearchResponseItem | null;
7
8
  selectedFlightDetails: ExtendedFlightSearchResponseItem | null;
8
9
  bookingPackageDetails: BookingPackage | null;
@@ -14,13 +15,9 @@ export interface SearchResultsState {
14
15
  currentPage: number;
15
16
  flyInIsOpen: boolean;
16
17
  }
17
- export declare const setResults: import('@reduxjs/toolkit').ActionCreatorWithPayload<
18
- {
19
- results: BookingPackageItem[];
20
- },
21
- 'searchResults/setResults'
22
- >,
23
- setSelectedHotel: import('@reduxjs/toolkit').ActionCreatorWithPayload<number | null, 'searchResults/setSelectedHotel'>,
18
+ export declare const setResults: import('@reduxjs/toolkit').ActionCreatorWithPayload<BookingPackageItem[], 'searchResults/setResults'>,
19
+ setFilteredResults: import('@reduxjs/toolkit').ActionCreatorWithPayload<BookingPackageItem[], 'searchResults/setFilteredResults'>,
20
+ setSelectedSearchResult: import('@reduxjs/toolkit').ActionCreatorWithPayload<number | null, 'searchResults/setSelectedSearchResult'>,
24
21
  setSelectedFlight: import('@reduxjs/toolkit').ActionCreatorWithPayload<ExtendedFlightSearchResponseItem | null, 'searchResults/setSelectedFlight'>,
25
22
  setSelectedFlightDetails: import('@reduxjs/toolkit').ActionCreatorWithPayload<
26
23
  ExtendedFlightSearchResponseItem | null,
@@ -1,6 +1,6 @@
1
1
  import { FlightSearchResponseItem } from '@qite/tide-client';
2
2
  import { ReactNode } from 'react';
3
- export type SRPType = 'hotel' | 'flight' | 'hotel-flight' | 'roundTrip';
3
+ import { SRPType } from '../shared/types';
4
4
  export type FlightSelectionMode = 'paired' | 'independent';
5
5
  export interface SearchResultsConfiguration {
6
6
  type: SRPType;
@@ -27,6 +27,7 @@ export interface SearchResultsConfiguration {
27
27
  isLoading?: boolean;
28
28
  customSpinner?: ReactNode;
29
29
  cmsHotelData?: any[];
30
+ tags?: TideTag[];
30
31
  languageCode?: string;
31
32
  destinationImage?: {
32
33
  url: string;
@@ -34,7 +35,7 @@ export interface SearchResultsConfiguration {
34
35
  };
35
36
  }
36
37
  export type FilterType = 'checkbox' | 'toggle' | 'slider' | 'star-rating';
37
- export type FilterProperty = 'regime' | 'max-duration' | 'price' | 'rating' | 'theme';
38
+ export type FilterProperty = 'regime' | 'accommodation' | 'max-duration' | 'price' | 'rating' | 'theme';
38
39
  export interface FilterOption {
39
40
  label: string;
40
41
  value: string | number | string[] | number[];
@@ -132,3 +133,7 @@ export interface SortByType {
132
133
  label: string;
133
134
  icon?: ReactNode;
134
135
  }
136
+ export interface TideTag {
137
+ id: number;
138
+ name: string;
139
+ }
@@ -0,0 +1,3 @@
1
+ import { BookingPackageItem } from '@qite/tide-client';
2
+ import { Filter } from '../types';
3
+ export declare const applyFilters: (results: BookingPackageItem[], filters: Filter[]) => BookingPackageItem[];
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ type AccommodationFlyInProps = {
3
+ isLoading: boolean;
4
+ isOpen: boolean;
5
+ setIsOpen: (open: boolean) => void;
6
+ };
7
+ declare const AccommodationFlyIn: React.FC<AccommodationFlyInProps>;
8
+ export default AccommodationFlyIn;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ type FlightsFlyInProps = {
3
+ isOpen: boolean;
4
+ setIsOpen: (open: boolean) => void;
5
+ };
6
+ declare const FlightsFlyIn: React.FC<FlightsFlyInProps>;
7
+ export default FlightsFlyIn;
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
- import { SRPType } from '../../search-results/types';
2
+ import { SRPType } from '../../types';
3
3
  type FlyInProps = {
4
- srpType?: SRPType;
4
+ title: string;
5
+ srpType: SRPType;
5
6
  isOpen: boolean;
6
7
  setIsOpen: (open: boolean) => void;
7
8
  className?: string;
@@ -1,4 +1,16 @@
1
1
  import { ReactNode } from 'react';
2
+ export type SRPType =
3
+ | 'multidestination'
4
+ | 'hotel'
5
+ | 'roundTrip'
6
+ | 'flight'
7
+ | 'hotel-flight'
8
+ | 'groupTour'
9
+ | 'package'
10
+ | 'ticket'
11
+ | 'car'
12
+ | 'transfers'
13
+ | 'cruises';
2
14
  export interface ApiSettingsState {
3
15
  apiUrl: string;
4
16
  apiKey: string;
@@ -55,6 +55,7 @@ export declare const getTranslations: (language: string) => {
55
55
  FLIGHTS_FOUND_1: string;
56
56
  FLIGHTS_FOUND_2: string;
57
57
  FLIGHTS_FOUND_3: string;
58
+ SELECT_YOUR_FARE: string;
58
59
  };
59
60
  PRODUCT: {
60
61
  STAY_INCLUDED: string;
@@ -329,6 +330,7 @@ export declare const getTranslations: (language: string) => {
329
330
  RETURN_DATE: string;
330
331
  CONFIRM: string;
331
332
  TRAVELERS: string;
333
+ GROUP_TOUR: string;
332
334
  };
333
335
  SRP: {
334
336
  NO_RESULTS: string;
@@ -377,6 +379,7 @@ export declare const getTranslations: (language: string) => {
377
379
  DEPARTURE_TIME_DESC: string;
378
380
  DURATION_ASC: string;
379
381
  DURATION_DESC: string;
382
+ TRAVEL_GROUP: string;
380
383
  };
381
384
  };
382
385
  export declare const locales: {
@@ -409,3 +412,5 @@ export declare const durationTicksInHoursString: (durationInTicks: number) => st
409
412
  export declare const durationInTicksInMinutes: (durationInTicks: number) => number;
410
413
  export declare const minutesToHoursString: (totalMinutes: number) => string;
411
414
  export declare const rangeFromDateTimeInMinutes: (dateTime: Date | undefined) => DepartureRange;
415
+ export declare const calculateNights: (fromDate: Date, toDate: Date) => number;
416
+ export declare const calculateDays: (fromDate: Date, toDate: Date) => number;