@qite/tide-booking-component 1.4.103 → 1.4.104

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 (31) hide show
  1. package/build/build-cjs/index.js +2167 -1400
  2. package/build/build-cjs/src/search-results/components/filters/filters.d.ts +2 -0
  3. package/build/build-cjs/src/search-results/components/hotel/hotel-accommodation-results.d.ts +1 -0
  4. package/build/build-cjs/src/search-results/store/search-results-selectors.d.ts +424 -0
  5. package/build/build-cjs/src/search-results/store/search-results-slice.d.ts +27 -8
  6. package/build/build-cjs/src/search-results/types.d.ts +14 -2
  7. package/build/build-cjs/src/search-results/utils/search-results-utils.d.ts +8 -6
  8. package/build/build-cjs/src/shared/components/flyin/flyin.d.ts +3 -3
  9. package/build/build-cjs/src/shared/components/flyin/packaging-flights-flyin.d.ts +7 -0
  10. package/build/build-esm/index.js +2152 -1395
  11. package/build/build-esm/src/search-results/components/filters/filters.d.ts +2 -0
  12. package/build/build-esm/src/search-results/components/hotel/hotel-accommodation-results.d.ts +1 -0
  13. package/build/build-esm/src/search-results/store/search-results-selectors.d.ts +424 -0
  14. package/build/build-esm/src/search-results/store/search-results-slice.d.ts +27 -8
  15. package/build/build-esm/src/search-results/types.d.ts +14 -2
  16. package/build/build-esm/src/search-results/utils/search-results-utils.d.ts +8 -6
  17. package/build/build-esm/src/shared/components/flyin/flyin.d.ts +3 -3
  18. package/build/build-esm/src/shared/components/flyin/packaging-flights-flyin.d.ts +7 -0
  19. package/package.json +1 -1
  20. package/src/booking-wizard/features/flight-options/index.tsx +6 -2
  21. package/src/search-results/components/filters/filters.tsx +8 -9
  22. package/src/search-results/components/hotel/hotel-accommodation-results.tsx +81 -24
  23. package/src/search-results/components/search-results-container/search-results-container.tsx +118 -102
  24. package/src/search-results/store/search-results-selectors.ts +73 -0
  25. package/src/search-results/store/search-results-slice.ts +94 -14
  26. package/src/search-results/types.ts +14 -2
  27. package/src/search-results/utils/search-results-utils.ts +310 -58
  28. package/src/shared/components/flyin/flyin.tsx +102 -19
  29. package/src/shared/components/flyin/packaging-flights-flyin.tsx +164 -0
  30. package/styles/components/_flyin.scss +16 -0
  31. package/styles/components/_search.scss +4 -1
@@ -6,6 +6,8 @@ interface FiltersProps {
6
6
  isOpen: boolean;
7
7
  handleSetIsOpen: () => void;
8
8
  isLoading?: boolean;
9
+ setFilters: (filters: Filter[]) => void;
10
+ resetFilters: (filters: Filter[]) => void;
9
11
  }
10
12
  declare const Filters: React.FC<FiltersProps>;
11
13
  export default Filters;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  interface HotelAccommodationResultsProps {
3
3
  isLoading: boolean;
4
+ isFlyIn?: boolean;
4
5
  }
5
6
  declare const HotelAccommodationResults: React.FC<HotelAccommodationResultsProps>;
6
7
  export default HotelAccommodationResults;
@@ -0,0 +1,424 @@
1
+ import { SearchResultsRootState } from './search-results-store';
2
+ import { PackagingFlightResponse } from '@qite/tide-client';
3
+ export declare const selectPackagingFlightResults: ((state: {
4
+ searchResults: import('./search-results-slice').SearchResultsState;
5
+ }) => PackagingFlightResponse[]) & {
6
+ clearCache: () => void;
7
+ resultsCount: () => number;
8
+ resetResultsCount: () => void;
9
+ } & {
10
+ resultFunc: (resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => PackagingFlightResponse[];
11
+ memoizedResultFunc: ((resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => PackagingFlightResponse[]) & {
12
+ clearCache: () => void;
13
+ resultsCount: () => number;
14
+ resetResultsCount: () => void;
15
+ };
16
+ lastResult: () => PackagingFlightResponse[];
17
+ dependencies: [(state: SearchResultsRootState) => import('./search-results-slice').SearchResultsState];
18
+ recomputations: () => number;
19
+ resetRecomputations: () => void;
20
+ dependencyRecomputations: () => number;
21
+ resetDependencyRecomputations: () => void;
22
+ } & {
23
+ memoize: typeof import('reselect').weakMapMemoize;
24
+ argsMemoize: typeof import('reselect').weakMapMemoize;
25
+ };
26
+ export declare const selectFilteredPackagingFlightResults: ((state: {
27
+ searchResults: import('./search-results-slice').SearchResultsState;
28
+ }) => PackagingFlightResponse[]) & {
29
+ clearCache: () => void;
30
+ resultsCount: () => number;
31
+ resetResultsCount: () => void;
32
+ } & {
33
+ resultFunc: (resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => PackagingFlightResponse[];
34
+ memoizedResultFunc: ((resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => PackagingFlightResponse[]) & {
35
+ clearCache: () => void;
36
+ resultsCount: () => number;
37
+ resetResultsCount: () => void;
38
+ };
39
+ lastResult: () => PackagingFlightResponse[];
40
+ dependencies: [(state: SearchResultsRootState) => import('./search-results-slice').SearchResultsState];
41
+ recomputations: () => number;
42
+ resetRecomputations: () => void;
43
+ dependencyRecomputations: () => number;
44
+ resetDependencyRecomputations: () => void;
45
+ } & {
46
+ memoize: typeof import('reselect').weakMapMemoize;
47
+ argsMemoize: typeof import('reselect').weakMapMemoize;
48
+ };
49
+ export declare const selectSelectedOutwardKey: ((state: { searchResults: import('./search-results-slice').SearchResultsState }) => string | null) & {
50
+ clearCache: () => void;
51
+ resultsCount: () => number;
52
+ resetResultsCount: () => void;
53
+ } & {
54
+ resultFunc: (resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => string | null;
55
+ memoizedResultFunc: ((resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => string | null) & {
56
+ clearCache: () => void;
57
+ resultsCount: () => number;
58
+ resetResultsCount: () => void;
59
+ };
60
+ lastResult: () => string | null;
61
+ dependencies: [(state: SearchResultsRootState) => import('./search-results-slice').SearchResultsState];
62
+ recomputations: () => number;
63
+ resetRecomputations: () => void;
64
+ dependencyRecomputations: () => number;
65
+ resetDependencyRecomputations: () => void;
66
+ } & {
67
+ memoize: typeof import('reselect').weakMapMemoize;
68
+ argsMemoize: typeof import('reselect').weakMapMemoize;
69
+ };
70
+ export declare const selectSelectedReturnKey: ((state: { searchResults: import('./search-results-slice').SearchResultsState }) => string | null) & {
71
+ clearCache: () => void;
72
+ resultsCount: () => number;
73
+ resetResultsCount: () => void;
74
+ } & {
75
+ resultFunc: (resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => string | null;
76
+ memoizedResultFunc: ((resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => string | null) & {
77
+ clearCache: () => void;
78
+ resultsCount: () => number;
79
+ resetResultsCount: () => void;
80
+ };
81
+ lastResult: () => string | null;
82
+ dependencies: [(state: SearchResultsRootState) => import('./search-results-slice').SearchResultsState];
83
+ recomputations: () => number;
84
+ resetRecomputations: () => void;
85
+ dependencyRecomputations: () => number;
86
+ resetDependencyRecomputations: () => void;
87
+ } & {
88
+ memoize: typeof import('reselect').weakMapMemoize;
89
+ argsMemoize: typeof import('reselect').weakMapMemoize;
90
+ };
91
+ export declare const selectUniqueOutwardFlights: ((state: {
92
+ searchResults: import('./search-results-slice').SearchResultsState;
93
+ }) => PackagingFlightResponse[]) & {
94
+ clearCache: () => void;
95
+ resultsCount: () => number;
96
+ resetResultsCount: () => void;
97
+ } & {
98
+ resultFunc: (resultFuncArgs_0: PackagingFlightResponse[]) => PackagingFlightResponse[];
99
+ memoizedResultFunc: ((resultFuncArgs_0: PackagingFlightResponse[]) => PackagingFlightResponse[]) & {
100
+ clearCache: () => void;
101
+ resultsCount: () => number;
102
+ resetResultsCount: () => void;
103
+ };
104
+ lastResult: () => PackagingFlightResponse[];
105
+ dependencies: [
106
+ ((state: { searchResults: import('./search-results-slice').SearchResultsState }) => PackagingFlightResponse[]) & {
107
+ clearCache: () => void;
108
+ resultsCount: () => number;
109
+ resetResultsCount: () => void;
110
+ } & {
111
+ resultFunc: (resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => PackagingFlightResponse[];
112
+ memoizedResultFunc: ((resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => PackagingFlightResponse[]) & {
113
+ clearCache: () => void;
114
+ resultsCount: () => number;
115
+ resetResultsCount: () => void;
116
+ };
117
+ lastResult: () => PackagingFlightResponse[];
118
+ dependencies: [(state: SearchResultsRootState) => import('./search-results-slice').SearchResultsState];
119
+ recomputations: () => number;
120
+ resetRecomputations: () => void;
121
+ dependencyRecomputations: () => number;
122
+ resetDependencyRecomputations: () => void;
123
+ } & {
124
+ memoize: typeof import('reselect').weakMapMemoize;
125
+ argsMemoize: typeof import('reselect').weakMapMemoize;
126
+ }
127
+ ];
128
+ recomputations: () => number;
129
+ resetRecomputations: () => void;
130
+ dependencyRecomputations: () => number;
131
+ resetDependencyRecomputations: () => void;
132
+ } & {
133
+ memoize: typeof import('reselect').weakMapMemoize;
134
+ argsMemoize: typeof import('reselect').weakMapMemoize;
135
+ };
136
+ export declare const selectUniqueReturnFlights: ((state: {
137
+ searchResults: import('./search-results-slice').SearchResultsState;
138
+ }) => PackagingFlightResponse[]) & {
139
+ clearCache: () => void;
140
+ resultsCount: () => number;
141
+ resetResultsCount: () => void;
142
+ } & {
143
+ resultFunc: (resultFuncArgs_0: PackagingFlightResponse[], resultFuncArgs_1: string | null) => PackagingFlightResponse[];
144
+ memoizedResultFunc: ((resultFuncArgs_0: PackagingFlightResponse[], resultFuncArgs_1: string | null) => PackagingFlightResponse[]) & {
145
+ clearCache: () => void;
146
+ resultsCount: () => number;
147
+ resetResultsCount: () => void;
148
+ };
149
+ lastResult: () => PackagingFlightResponse[];
150
+ dependencies: [
151
+ ((state: { searchResults: import('./search-results-slice').SearchResultsState }) => PackagingFlightResponse[]) & {
152
+ clearCache: () => void;
153
+ resultsCount: () => number;
154
+ resetResultsCount: () => void;
155
+ } & {
156
+ resultFunc: (resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => PackagingFlightResponse[];
157
+ memoizedResultFunc: ((resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => PackagingFlightResponse[]) & {
158
+ clearCache: () => void;
159
+ resultsCount: () => number;
160
+ resetResultsCount: () => void;
161
+ };
162
+ lastResult: () => PackagingFlightResponse[];
163
+ dependencies: [(state: SearchResultsRootState) => import('./search-results-slice').SearchResultsState];
164
+ recomputations: () => number;
165
+ resetRecomputations: () => void;
166
+ dependencyRecomputations: () => number;
167
+ resetDependencyRecomputations: () => void;
168
+ } & {
169
+ memoize: typeof import('reselect').weakMapMemoize;
170
+ argsMemoize: typeof import('reselect').weakMapMemoize;
171
+ },
172
+ ((state: { searchResults: import('./search-results-slice').SearchResultsState }) => string | null) & {
173
+ clearCache: () => void;
174
+ resultsCount: () => number;
175
+ resetResultsCount: () => void;
176
+ } & {
177
+ resultFunc: (resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => string | null;
178
+ memoizedResultFunc: ((resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => string | null) & {
179
+ clearCache: () => void;
180
+ resultsCount: () => number;
181
+ resetResultsCount: () => void;
182
+ };
183
+ lastResult: () => string | null;
184
+ dependencies: [(state: SearchResultsRootState) => import('./search-results-slice').SearchResultsState];
185
+ recomputations: () => number;
186
+ resetRecomputations: () => void;
187
+ dependencyRecomputations: () => number;
188
+ resetDependencyRecomputations: () => void;
189
+ } & {
190
+ memoize: typeof import('reselect').weakMapMemoize;
191
+ argsMemoize: typeof import('reselect').weakMapMemoize;
192
+ }
193
+ ];
194
+ recomputations: () => number;
195
+ resetRecomputations: () => void;
196
+ dependencyRecomputations: () => number;
197
+ resetDependencyRecomputations: () => void;
198
+ } & {
199
+ memoize: typeof import('reselect').weakMapMemoize;
200
+ argsMemoize: typeof import('reselect').weakMapMemoize;
201
+ };
202
+ export declare const selectSelectedOutward: ((state: {
203
+ searchResults: import('./search-results-slice').SearchResultsState;
204
+ }) => PackagingFlightResponse | null) & {
205
+ clearCache: () => void;
206
+ resultsCount: () => number;
207
+ resetResultsCount: () => void;
208
+ } & {
209
+ resultFunc: (resultFuncArgs_0: PackagingFlightResponse[], resultFuncArgs_1: string | null) => PackagingFlightResponse | null;
210
+ memoizedResultFunc: ((resultFuncArgs_0: PackagingFlightResponse[], resultFuncArgs_1: string | null) => PackagingFlightResponse | null) & {
211
+ clearCache: () => void;
212
+ resultsCount: () => number;
213
+ resetResultsCount: () => void;
214
+ };
215
+ lastResult: () => PackagingFlightResponse | null;
216
+ dependencies: [
217
+ ((state: { searchResults: import('./search-results-slice').SearchResultsState }) => PackagingFlightResponse[]) & {
218
+ clearCache: () => void;
219
+ resultsCount: () => number;
220
+ resetResultsCount: () => void;
221
+ } & {
222
+ resultFunc: (resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => PackagingFlightResponse[];
223
+ memoizedResultFunc: ((resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => PackagingFlightResponse[]) & {
224
+ clearCache: () => void;
225
+ resultsCount: () => number;
226
+ resetResultsCount: () => void;
227
+ };
228
+ lastResult: () => PackagingFlightResponse[];
229
+ dependencies: [(state: SearchResultsRootState) => import('./search-results-slice').SearchResultsState];
230
+ recomputations: () => number;
231
+ resetRecomputations: () => void;
232
+ dependencyRecomputations: () => number;
233
+ resetDependencyRecomputations: () => void;
234
+ } & {
235
+ memoize: typeof import('reselect').weakMapMemoize;
236
+ argsMemoize: typeof import('reselect').weakMapMemoize;
237
+ },
238
+ ((state: { searchResults: import('./search-results-slice').SearchResultsState }) => string | null) & {
239
+ clearCache: () => void;
240
+ resultsCount: () => number;
241
+ resetResultsCount: () => void;
242
+ } & {
243
+ resultFunc: (resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => string | null;
244
+ memoizedResultFunc: ((resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => string | null) & {
245
+ clearCache: () => void;
246
+ resultsCount: () => number;
247
+ resetResultsCount: () => void;
248
+ };
249
+ lastResult: () => string | null;
250
+ dependencies: [(state: SearchResultsRootState) => import('./search-results-slice').SearchResultsState];
251
+ recomputations: () => number;
252
+ resetRecomputations: () => void;
253
+ dependencyRecomputations: () => number;
254
+ resetDependencyRecomputations: () => void;
255
+ } & {
256
+ memoize: typeof import('reselect').weakMapMemoize;
257
+ argsMemoize: typeof import('reselect').weakMapMemoize;
258
+ }
259
+ ];
260
+ recomputations: () => number;
261
+ resetRecomputations: () => void;
262
+ dependencyRecomputations: () => number;
263
+ resetDependencyRecomputations: () => void;
264
+ } & {
265
+ memoize: typeof import('reselect').weakMapMemoize;
266
+ argsMemoize: typeof import('reselect').weakMapMemoize;
267
+ };
268
+ export declare const selectSelectedReturn: ((state: {
269
+ searchResults: import('./search-results-slice').SearchResultsState;
270
+ }) => PackagingFlightResponse | null) & {
271
+ clearCache: () => void;
272
+ resultsCount: () => number;
273
+ resetResultsCount: () => void;
274
+ } & {
275
+ resultFunc: (resultFuncArgs_0: PackagingFlightResponse[], resultFuncArgs_1: string | null) => PackagingFlightResponse | null;
276
+ memoizedResultFunc: ((resultFuncArgs_0: PackagingFlightResponse[], resultFuncArgs_1: string | null) => PackagingFlightResponse | null) & {
277
+ clearCache: () => void;
278
+ resultsCount: () => number;
279
+ resetResultsCount: () => void;
280
+ };
281
+ lastResult: () => PackagingFlightResponse | null;
282
+ dependencies: [
283
+ ((state: { searchResults: import('./search-results-slice').SearchResultsState }) => PackagingFlightResponse[]) & {
284
+ clearCache: () => void;
285
+ resultsCount: () => number;
286
+ resetResultsCount: () => void;
287
+ } & {
288
+ resultFunc: (resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => PackagingFlightResponse[];
289
+ memoizedResultFunc: ((resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => PackagingFlightResponse[]) & {
290
+ clearCache: () => void;
291
+ resultsCount: () => number;
292
+ resetResultsCount: () => void;
293
+ };
294
+ lastResult: () => PackagingFlightResponse[];
295
+ dependencies: [(state: SearchResultsRootState) => import('./search-results-slice').SearchResultsState];
296
+ recomputations: () => number;
297
+ resetRecomputations: () => void;
298
+ dependencyRecomputations: () => number;
299
+ resetDependencyRecomputations: () => void;
300
+ } & {
301
+ memoize: typeof import('reselect').weakMapMemoize;
302
+ argsMemoize: typeof import('reselect').weakMapMemoize;
303
+ },
304
+ ((state: { searchResults: import('./search-results-slice').SearchResultsState }) => string | null) & {
305
+ clearCache: () => void;
306
+ resultsCount: () => number;
307
+ resetResultsCount: () => void;
308
+ } & {
309
+ resultFunc: (resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => string | null;
310
+ memoizedResultFunc: ((resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => string | null) & {
311
+ clearCache: () => void;
312
+ resultsCount: () => number;
313
+ resetResultsCount: () => void;
314
+ };
315
+ lastResult: () => string | null;
316
+ dependencies: [(state: SearchResultsRootState) => import('./search-results-slice').SearchResultsState];
317
+ recomputations: () => number;
318
+ resetRecomputations: () => void;
319
+ dependencyRecomputations: () => number;
320
+ resetDependencyRecomputations: () => void;
321
+ } & {
322
+ memoize: typeof import('reselect').weakMapMemoize;
323
+ argsMemoize: typeof import('reselect').weakMapMemoize;
324
+ }
325
+ ];
326
+ recomputations: () => number;
327
+ resetRecomputations: () => void;
328
+ dependencyRecomputations: () => number;
329
+ resetDependencyRecomputations: () => void;
330
+ } & {
331
+ memoize: typeof import('reselect').weakMapMemoize;
332
+ argsMemoize: typeof import('reselect').weakMapMemoize;
333
+ };
334
+ export declare const selectSelectedCombinationFlight: ((state: {
335
+ searchResults: import('./search-results-slice').SearchResultsState;
336
+ }) => PackagingFlightResponse | null) & {
337
+ clearCache: () => void;
338
+ resultsCount: () => number;
339
+ resetResultsCount: () => void;
340
+ } & {
341
+ resultFunc: (resultFuncArgs_0: PackagingFlightResponse[], resultFuncArgs_1: string | null, resultFuncArgs_2: string | null) => PackagingFlightResponse | null;
342
+ memoizedResultFunc: ((
343
+ resultFuncArgs_0: PackagingFlightResponse[],
344
+ resultFuncArgs_1: string | null,
345
+ resultFuncArgs_2: string | null
346
+ ) => PackagingFlightResponse | null) & {
347
+ clearCache: () => void;
348
+ resultsCount: () => number;
349
+ resetResultsCount: () => void;
350
+ };
351
+ lastResult: () => PackagingFlightResponse | null;
352
+ dependencies: [
353
+ ((state: { searchResults: import('./search-results-slice').SearchResultsState }) => PackagingFlightResponse[]) & {
354
+ clearCache: () => void;
355
+ resultsCount: () => number;
356
+ resetResultsCount: () => void;
357
+ } & {
358
+ resultFunc: (resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => PackagingFlightResponse[];
359
+ memoizedResultFunc: ((resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => PackagingFlightResponse[]) & {
360
+ clearCache: () => void;
361
+ resultsCount: () => number;
362
+ resetResultsCount: () => void;
363
+ };
364
+ lastResult: () => PackagingFlightResponse[];
365
+ dependencies: [(state: SearchResultsRootState) => import('./search-results-slice').SearchResultsState];
366
+ recomputations: () => number;
367
+ resetRecomputations: () => void;
368
+ dependencyRecomputations: () => number;
369
+ resetDependencyRecomputations: () => void;
370
+ } & {
371
+ memoize: typeof import('reselect').weakMapMemoize;
372
+ argsMemoize: typeof import('reselect').weakMapMemoize;
373
+ },
374
+ ((state: { searchResults: import('./search-results-slice').SearchResultsState }) => string | null) & {
375
+ clearCache: () => void;
376
+ resultsCount: () => number;
377
+ resetResultsCount: () => void;
378
+ } & {
379
+ resultFunc: (resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => string | null;
380
+ memoizedResultFunc: ((resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => string | null) & {
381
+ clearCache: () => void;
382
+ resultsCount: () => number;
383
+ resetResultsCount: () => void;
384
+ };
385
+ lastResult: () => string | null;
386
+ dependencies: [(state: SearchResultsRootState) => import('./search-results-slice').SearchResultsState];
387
+ recomputations: () => number;
388
+ resetRecomputations: () => void;
389
+ dependencyRecomputations: () => number;
390
+ resetDependencyRecomputations: () => void;
391
+ } & {
392
+ memoize: typeof import('reselect').weakMapMemoize;
393
+ argsMemoize: typeof import('reselect').weakMapMemoize;
394
+ },
395
+ ((state: { searchResults: import('./search-results-slice').SearchResultsState }) => string | null) & {
396
+ clearCache: () => void;
397
+ resultsCount: () => number;
398
+ resetResultsCount: () => void;
399
+ } & {
400
+ resultFunc: (resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => string | null;
401
+ memoizedResultFunc: ((resultFuncArgs_0: import('./search-results-slice').SearchResultsState) => string | null) & {
402
+ clearCache: () => void;
403
+ resultsCount: () => number;
404
+ resetResultsCount: () => void;
405
+ };
406
+ lastResult: () => string | null;
407
+ dependencies: [(state: SearchResultsRootState) => import('./search-results-slice').SearchResultsState];
408
+ recomputations: () => number;
409
+ resetRecomputations: () => void;
410
+ dependencyRecomputations: () => number;
411
+ resetDependencyRecomputations: () => void;
412
+ } & {
413
+ memoize: typeof import('reselect').weakMapMemoize;
414
+ argsMemoize: typeof import('reselect').weakMapMemoize;
415
+ }
416
+ ];
417
+ recomputations: () => number;
418
+ resetRecomputations: () => void;
419
+ dependencyRecomputations: () => number;
420
+ resetDependencyRecomputations: () => void;
421
+ } & {
422
+ memoize: typeof import('reselect').weakMapMemoize;
423
+ argsMemoize: typeof import('reselect').weakMapMemoize;
424
+ };
@@ -1,4 +1,4 @@
1
- import { AccommodationFlyInStep, ExtendedFlightSearchResponseItem, Filter, SortByType } from '../types';
1
+ import { ExtendedFlightSearchResponseItem, Filter, FlyInType, SortByType } from '../types';
2
2
  import {
3
3
  BookingPackage,
4
4
  BookingPackageItem,
@@ -17,22 +17,29 @@ export interface SearchResultsState {
17
17
  packagingAccoSearchDetails: PackagingAccommodationResponse[];
18
18
  selectedPackagingAccoResultCode: string | null;
19
19
  packagingFlightResults: PackagingFlightResponse[];
20
+ filteredPackagingFlightResults: PackagingFlightResponse[];
20
21
  selectedPackagingFlight: PackagingFlightResponse | null;
22
+ selectedOutwardKey: string | null;
23
+ selectedReturnKey: string | null;
21
24
  selectedFlight: ExtendedFlightSearchResponseItem | null;
22
25
  selectedFlightDetails: ExtendedFlightSearchResponseItem | null;
23
26
  bookingPackageDetails: BookingPackage | null;
27
+ priceDetails: BookingPriceDetails | null;
24
28
  isLoading: boolean;
25
29
  flightsLoading: boolean;
26
- filters: Filter[];
27
30
  selectedSortType: SortByType | null;
31
+ selectedFlightSortType: SortByType | null;
32
+ filters: Filter[];
33
+ initialFilters: Filter[];
34
+ flightFilters: Filter[];
35
+ initialFlightFilters: Filter[];
28
36
  activeTab: string | null;
29
37
  currentPage: number;
30
- flyInIsOpen: boolean;
31
- editablePackagingEntry: PackagingEntry | null;
32
38
  transactionId: string | null;
33
- accommodationFlyInStep: AccommodationFlyInStep;
34
- priceDetails: BookingPriceDetails | null;
39
+ flyInIsOpen: boolean;
40
+ flyInType: FlyInType | null;
35
41
  itinerary: ClientPortalItinerary | null;
42
+ editablePackagingEntry: PackagingEntry | null;
36
43
  }
37
44
  export declare const setResults: import('@reduxjs/toolkit').ActionCreatorWithPayload<BookingPackageItem[], 'searchResults/setResults'>,
38
45
  setFilteredResults: import('@reduxjs/toolkit').ActionCreatorWithPayload<BookingPackageItem[], 'searchResults/setFilteredResults'>,
@@ -42,6 +49,10 @@ export declare const setResults: import('@reduxjs/toolkit').ActionCreatorWithPay
42
49
  PackagingAccommodationResponse[],
43
50
  'searchResults/setFilteredPackagingAccoResults'
44
51
  >,
52
+ setFilteredPackagingFlightResults: import('@reduxjs/toolkit').ActionCreatorWithPayload<
53
+ PackagingFlightResponse[],
54
+ 'searchResults/setFilteredPackagingFlightResults'
55
+ >,
45
56
  setPackagingAccoSearchDetails: import('@reduxjs/toolkit').ActionCreatorWithPayload<
46
57
  PackagingAccommodationResponse[],
47
58
  'searchResults/setPackagingAccoSearchDetails'
@@ -69,17 +80,25 @@ export declare const setResults: import('@reduxjs/toolkit').ActionCreatorWithPay
69
80
  >,
70
81
  setIsLoading: import('@reduxjs/toolkit').ActionCreatorWithPayload<boolean, 'searchResults/setIsLoading'>,
71
82
  setFlightsLoading: import('@reduxjs/toolkit').ActionCreatorWithPayload<boolean, 'searchResults/setFlightsLoading'>,
83
+ setInitialFilters: import('@reduxjs/toolkit').ActionCreatorWithPayload<Filter[], 'searchResults/setInitialFilters'>,
72
84
  setFilters: import('@reduxjs/toolkit').ActionCreatorWithPayload<Filter[], 'searchResults/setFilters'>,
73
85
  resetFilters: import('@reduxjs/toolkit').ActionCreatorWithPayload<Filter[], 'searchResults/resetFilters'>,
86
+ setInitialFlightFilters: import('@reduxjs/toolkit').ActionCreatorWithPayload<Filter[], 'searchResults/setInitialFlightFilters'>,
87
+ setFlightFilters: import('@reduxjs/toolkit').ActionCreatorWithPayload<Filter[], 'searchResults/setFlightFilters'>,
88
+ resetFlightFilters: import('@reduxjs/toolkit').ActionCreatorWithPayload<Filter[], 'searchResults/resetFlightFilters'>,
74
89
  setSortType: import('@reduxjs/toolkit').ActionCreatorWithPayload<SortByType | null, 'searchResults/setSortType'>,
90
+ setFlightSortType: import('@reduxjs/toolkit').ActionCreatorWithPayload<SortByType | null, 'searchResults/setFlightSortType'>,
75
91
  setActiveTab: import('@reduxjs/toolkit').ActionCreatorWithPayload<string | null, 'searchResults/setActiveTab'>,
76
92
  setCurrentPage: import('@reduxjs/toolkit').ActionCreatorWithPayload<number, 'searchResults/setCurrentPage'>,
77
93
  resetSearchState: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<'searchResults/resetSearchState'>,
78
94
  setFlyInIsOpen: import('@reduxjs/toolkit').ActionCreatorWithPayload<boolean, 'searchResults/setFlyInIsOpen'>,
79
95
  setEditablePackagingEntry: import('@reduxjs/toolkit').ActionCreatorWithPayload<PackagingEntry | null, 'searchResults/setEditablePackagingEntry'>,
80
96
  setTransactionId: import('@reduxjs/toolkit').ActionCreatorWithPayload<string | null, 'searchResults/setTransactionId'>,
81
- setAccommodationFlyInStep: import('@reduxjs/toolkit').ActionCreatorWithPayload<AccommodationFlyInStep, 'searchResults/setAccommodationFlyInStep'>,
97
+ setFlyInType: import('@reduxjs/toolkit').ActionCreatorWithPayload<FlyInType | null, 'searchResults/setFlyInType'>,
82
98
  setPriceDetails: import('@reduxjs/toolkit').ActionCreatorWithPayload<BookingPriceDetails | null, 'searchResults/setPriceDetails'>,
83
- setItinerary: import('@reduxjs/toolkit').ActionCreatorWithPayload<ClientPortalItinerary | null, 'searchResults/setItinerary'>;
99
+ setItinerary: import('@reduxjs/toolkit').ActionCreatorWithPayload<ClientPortalItinerary | null, 'searchResults/setItinerary'>,
100
+ setSelectedOutwardKey: import('@reduxjs/toolkit').ActionCreatorWithPayload<string | null, 'searchResults/setSelectedOutwardKey'>,
101
+ setSelectedReturnKey: import('@reduxjs/toolkit').ActionCreatorWithPayload<string | null, 'searchResults/setSelectedReturnKey'>,
102
+ resetFlightSelection: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<'searchResults/resetFlightSelection'>;
84
103
  declare const _default: import('@reduxjs/toolkit').Reducer<SearchResultsState>;
85
104
  export default _default;
@@ -45,7 +45,19 @@ export interface SearchResultsConfiguration {
45
45
  packagingEntry?: PackagingEntry | null;
46
46
  }
47
47
  export type FilterType = 'checkbox' | 'toggle' | 'slider' | 'star-rating';
48
- export type FilterProperty = 'regime' | 'accommodation' | 'max-duration' | 'price' | 'rating' | 'theme';
48
+ export type FilterProperty =
49
+ | 'regime'
50
+ | 'accommodation'
51
+ | 'max-duration'
52
+ | 'price'
53
+ | 'rating'
54
+ | 'theme'
55
+ | 'airline'
56
+ | 'numberOfStops'
57
+ | 'departureRange'
58
+ | 'departureAirport'
59
+ | 'arrivalAirport'
60
+ | 'travelDuration';
49
61
  export interface FilterOption {
50
62
  label: string;
51
63
  value: string | number | string[] | number[];
@@ -166,4 +178,4 @@ export type SearchSeed = {
166
178
  destinationAirport?: string | null;
167
179
  rooms: BookingPackageRequestRoom[];
168
180
  };
169
- export type AccommodationFlyInStep = 'results' | 'details';
181
+ export type FlyInType = 'flight-outward-results' | 'flight-return-results' | 'flight-details' | 'acco-results' | 'acco-details';
@@ -1,14 +1,16 @@
1
- import { BookingPackageItem, PackagingAccommodationResponse } from '@qite/tide-client';
1
+ import { BookingPackageItem, PackagingAccommodationResponse, PackagingFlightResponse } from '@qite/tide-client';
2
2
  import { Filter, SortByType, TideTag } from '../types';
3
3
  export declare const enrichFiltersWithResults: (results: BookingPackageItem[], filters: Filter[] | undefined, tags: TideTag[]) => Filter[];
4
- export declare const enrichFiltersWithPackageAccoResults: (
5
- results: PackagingAccommodationResponse[],
6
- filters: Filter[] | undefined,
7
- tags: TideTag[]
8
- ) => Filter[];
4
+ export declare const enrichFiltersWithPackageAccoResults: (results: PackagingAccommodationResponse[], tags: TideTag[]) => Filter[];
5
+ export declare const enrichFiltersWithPackageFlightResults: (results: PackagingFlightResponse[], tags: TideTag[], translations: any) => Filter[];
9
6
  export declare const applyFilters: (results: BookingPackageItem[], filters: Filter[], sortBy: SortByType | null) => BookingPackageItem[];
10
7
  export declare const applyFiltersToPackageAccoResults: (
11
8
  results: PackagingAccommodationResponse[],
12
9
  filters: Filter[],
13
10
  sortBy: SortByType | null
14
11
  ) => PackagingAccommodationResponse[];
12
+ export declare const applyFiltersToPackageFlightResults: (
13
+ results: PackagingFlightResponse[],
14
+ filters: Filter[],
15
+ sortBy: SortByType | null
16
+ ) => PackagingFlightResponse[];
@@ -1,8 +1,7 @@
1
1
  import React from 'react';
2
2
  import { PortalQsmType } from '@qite/tide-client';
3
- import { AccommodationFlyInStep } from '../../../search-results/types';
3
+ import { FlyInType, SortByType } from '../../../search-results/types';
4
4
  type FlyInProps = {
5
- title: string;
6
5
  srpType: PortalQsmType;
7
6
  isOpen: boolean;
8
7
  setIsOpen: (open: boolean) => void;
@@ -10,8 +9,9 @@ type FlyInProps = {
10
9
  onPanelRef?: (el: HTMLDivElement | null) => void;
11
10
  detailsLoading: boolean;
12
11
  handleConfirm?: () => void;
13
- accommodationStep?: AccommodationFlyInStep;
12
+ flyInType?: FlyInType | null;
14
13
  isPackageEditFlow?: boolean;
14
+ sortByTypes?: SortByType[];
15
15
  };
16
16
  declare const FlyIn: React.FC<FlyInProps>;
17
17
  export default FlyIn;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ type FlightsFlyInProps = {
3
+ isOpen: boolean;
4
+ setIsOpen: (open: boolean) => void;
5
+ };
6
+ declare const PackageingFlightsFlyIn: React.FC<FlightsFlyInProps>;
7
+ export default PackageingFlightsFlyIn;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qite/tide-booking-component",
3
- "version": "1.4.103",
3
+ "version": "1.4.104",
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",
@@ -8,7 +8,7 @@ import SettingsContext from '../../settings-context';
8
8
  import { useAppDispatch } from '../../store';
9
9
  import { FlightFilterOptions, GroupedFlights } from '../../types';
10
10
  import { setCurrentStep, setFlights, setPackage } from '../booking/booking-slice';
11
- import { ROOM_OPTIONS_FORM_STEP, TRAVELERS_FORM_STEP } from '../booking/constants';
11
+ import { OPTIONS_FORM_STEP, ROOM_OPTIONS_FORM_STEP, TRAVELERS_FORM_STEP } from '../booking/constants';
12
12
  import {
13
13
  selectBookingQueryString,
14
14
  selectIsFetchingProductOptions,
@@ -43,7 +43,11 @@ const FlightOptionsForm: React.FC<FlightOptionsFormProps> = () => {
43
43
 
44
44
  const handleSubmit: React.FormEventHandler<HTMLFormElement> = (e) => {
45
45
  if (settings.skipRouter) {
46
- dispatch(setCurrentStep(ROOM_OPTIONS_FORM_STEP));
46
+ if (settings.roomOptions.isHidden) {
47
+ dispatch(setCurrentStep(OPTIONS_FORM_STEP));
48
+ } else {
49
+ dispatch(setCurrentStep(ROOM_OPTIONS_FORM_STEP));
50
+ }
47
51
  } else {
48
52
  if (settings.roomOptions.isHidden) {
49
53
  navigate(`${!settings.skipBasePathInRouting ? settings.basePath : ''}${settings.options.pathSuffix}?${bookingQueryString}`);