@qite/tide-booking-component 1.3.4 → 1.3.6

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 (41) hide show
  1. package/build/build-cjs/booking-wizard/features/booking/booking-slice.d.ts +2 -1
  2. package/build/build-cjs/booking-wizard/features/booking/selectors.d.ts +1 -0
  3. package/build/build-cjs/booking-wizard/features/sidebar/sidebar-util.d.ts +3 -3
  4. package/build/build-cjs/booking-wizard/features/travelers-form/travelers-form-slice.d.ts +5 -5
  5. package/build/build-cjs/booking-wizard/types.d.ts +10 -1
  6. package/build/build-cjs/index.js +515 -293
  7. package/build/build-cjs/shared/utils/localization-util.d.ts +7 -0
  8. package/build/build-esm/booking-wizard/features/booking/booking-slice.d.ts +2 -1
  9. package/build/build-esm/booking-wizard/features/booking/selectors.d.ts +1 -0
  10. package/build/build-esm/booking-wizard/features/sidebar/sidebar-util.d.ts +3 -3
  11. package/build/build-esm/booking-wizard/features/travelers-form/travelers-form-slice.d.ts +5 -5
  12. package/build/build-esm/booking-wizard/types.d.ts +10 -1
  13. package/build/build-esm/index.js +517 -295
  14. package/build/build-esm/shared/utils/localization-util.d.ts +7 -0
  15. package/package.json +75 -75
  16. package/src/booking-product/components/product.tsx +316 -314
  17. package/src/booking-product/components/rooms.tsx +19 -15
  18. package/src/booking-wizard/components/print-offer-button.tsx +63 -63
  19. package/src/booking-wizard/features/booking/booking-self-contained.tsx +393 -389
  20. package/src/booking-wizard/features/booking/booking-slice.ts +668 -663
  21. package/src/booking-wizard/features/booking/booking.tsx +365 -361
  22. package/src/booking-wizard/features/booking/selectors.ts +445 -441
  23. package/src/booking-wizard/features/confirmation/confirmation.tsx +103 -97
  24. package/src/booking-wizard/features/flight-options/flight-utils.ts +522 -522
  25. package/src/booking-wizard/features/product-options/options-form.tsx +481 -481
  26. package/src/booking-wizard/features/sidebar/sidebar-util.ts +177 -177
  27. package/src/booking-wizard/features/summary/summary-booking-option-pax.tsx +25 -25
  28. package/src/booking-wizard/features/summary/summary.tsx +707 -674
  29. package/src/booking-wizard/features/travelers-form/travelers-form-slice.ts +164 -164
  30. package/src/booking-wizard/features/travelers-form/travelers-form.tsx +888 -754
  31. package/src/booking-wizard/settings-context.ts +62 -62
  32. package/src/booking-wizard/types.ts +289 -279
  33. package/src/booking-wizard/use-offer-printer.ts +117 -117
  34. package/src/shared/translations/en-GB.json +244 -237
  35. package/src/shared/translations/fr-BE.json +244 -238
  36. package/src/shared/translations/nl-BE.json +244 -237
  37. package/src/shared/utils/tide-api-utils.ts +36 -36
  38. package/styles/booking-wizard-variables.scss +873 -873
  39. package/styles/components/_booking.scss +879 -879
  40. package/styles/components/_dropdown.scss +72 -72
  41. package/styles/components/_form.scss +1583 -1583
@@ -1,164 +1,164 @@
1
- import { PayloadAction, createSelector, createSlice } from "@reduxjs/toolkit";
2
- import { differenceInYears } from "date-fns";
3
-
4
- import { RootState } from "../../store";
5
- import { TravelersFormValues } from "../../types";
6
-
7
- export interface TravelersFormState {
8
- formValues?: TravelersFormValues;
9
- }
10
-
11
- export const CHILD_MAX_AGE = 17;
12
- const isDebug = false;
13
-
14
- const debugFormValues = {
15
- rooms: [
16
- {
17
- adults: [
18
- {
19
- id: 1,
20
- firstName: "Jan",
21
- lastName: "Jansens",
22
- birthDate: "1984-05-20",
23
- gender: "m",
24
- },
25
- {
26
- id: 2,
27
- firstName: "Leen",
28
- lastName: "Leenders",
29
- birthDate: "1986-08-09",
30
- gender: "f",
31
- },
32
- ],
33
- // children: [
34
- // {
35
- // id: "3",
36
- // firstName: "Jonas",
37
- // lastName: "Jansens",
38
- // birthDate: "2015-06-14",
39
- // gender: "m",
40
- // },
41
- // {
42
- // id: "4",
43
- // firstName: "Janne",
44
- // lastName: "Jansens",
45
- // birthDate: "2016-03-19",
46
- // gender: "f",
47
- // },
48
- // ],
49
- children: [],
50
- },
51
- {
52
- adults: [
53
- {
54
- id: 3,
55
- firstName: "Jan",
56
- lastName: "Jansens",
57
- birthDate: "1984-05-20",
58
- gender: "m",
59
- },
60
- {
61
- id: 4,
62
- firstName: "Leen",
63
- lastName: "Leenders",
64
- birthDate: "1986-08-09",
65
- gender: "f",
66
- },
67
- ],
68
- // children: [
69
- // {
70
- // id: "3",
71
- // firstName: "Jonas",
72
- // lastName: "Jansens",
73
- // birthDate: "2015-06-14",
74
- // gender: "m",
75
- // },
76
- // {
77
- // id: "4",
78
- // firstName: "Janne",
79
- // lastName: "Jansens",
80
- // birthDate: "2016-03-19",
81
- // gender: "f",
82
- // },
83
- // ],
84
- children: [],
85
- },
86
- ],
87
- mainBookerId: 1,
88
- street: "Nieuwstraat",
89
- houseNumber: "20",
90
- box: "A",
91
- zipCode: "9000",
92
- place: "Gent",
93
- country: "be",
94
- email: "staging@qite.be",
95
- emailConfirmation: "staging@qite.be",
96
- phone: "+32 471 12 34 56",
97
- travelAgentId: 0,
98
- travelAgentName: "",
99
- };
100
-
101
- const initialState: TravelersFormState = {
102
- formValues: isDebug ? debugFormValues : undefined,
103
- };
104
-
105
- const travelersFormSlice = createSlice({
106
- name: "travelersForm",
107
- initialState,
108
- reducers: {
109
- setFormValues(state, action: PayloadAction<TravelersFormValues>) {
110
- state.formValues = action.payload;
111
- },
112
- },
113
- });
114
-
115
- export const { setFormValues } = travelersFormSlice.actions;
116
-
117
- export const selectTravelersFormValues = (state: RootState) =>
118
- state.travelersForm.formValues;
119
-
120
- export const selectRooms = createSelector(
121
- selectTravelersFormValues,
122
- (formValues) => formValues?.rooms ?? []
123
- );
124
-
125
- export const selectAgentId = createSelector(
126
- selectTravelersFormValues,
127
- (formValues) => formValues?.travelAgentId
128
- );
129
-
130
- const selectRequestRooms = (state: RootState) =>
131
- state.booking.package?.options.find((x) => x.isSelected)?.requestRooms;
132
-
133
- export const selectFormRooms = createSelector(selectRequestRooms, (rooms) => {
134
- const formRooms: { adults: number[]; children: number[] }[] = [];
135
- if (rooms) {
136
- rooms.forEach((x) => {
137
- const formRoom: { adults: number[]; children: number[] } = {
138
- adults: [],
139
- children: [],
140
- };
141
-
142
- x.pax.forEach((p) => {
143
- if (p.age && p.age > CHILD_MAX_AGE) {
144
- formRoom.adults.push(p.id);
145
- } else if (p.age && p.age <= CHILD_MAX_AGE) {
146
- formRoom.children.push(p.id);
147
- } else if (p.dateOfBirth) {
148
- const diff = differenceInYears(new Date(), new Date(p.dateOfBirth));
149
-
150
- if (diff > CHILD_MAX_AGE) {
151
- formRoom.adults.push(p.id);
152
- } else {
153
- formRoom.children.push(p.id);
154
- }
155
- }
156
- });
157
-
158
- formRooms.push(formRoom);
159
- });
160
- }
161
- return formRooms;
162
- });
163
-
164
- export default travelersFormSlice.reducer;
1
+ import { PayloadAction, createSelector, createSlice } from "@reduxjs/toolkit";
2
+ import { differenceInYears } from "date-fns";
3
+
4
+ import { RootState } from "../../store";
5
+ import { TravelersFormValues, RoomTraveler } from "../../types";
6
+
7
+ export interface TravelersFormState {
8
+ formValues?: TravelersFormValues;
9
+ }
10
+
11
+ export const CHILD_MAX_AGE = 17;
12
+ const isDebug = false;
13
+
14
+ const debugFormValues = {
15
+ rooms: [
16
+ {
17
+ adults: [
18
+ {
19
+ id: 1,
20
+ firstName: "Jan",
21
+ lastName: "Jansens",
22
+ birthDate: "1984-05-20",
23
+ gender: "m",
24
+ },
25
+ {
26
+ id: 2,
27
+ firstName: "Leen",
28
+ lastName: "Leenders",
29
+ birthDate: "1986-08-09",
30
+ gender: "f",
31
+ },
32
+ ],
33
+ // children: [
34
+ // {
35
+ // id: "3",
36
+ // firstName: "Jonas",
37
+ // lastName: "Jansens",
38
+ // birthDate: "2015-06-14",
39
+ // gender: "m",
40
+ // },
41
+ // {
42
+ // id: "4",
43
+ // firstName: "Janne",
44
+ // lastName: "Jansens",
45
+ // birthDate: "2016-03-19",
46
+ // gender: "f",
47
+ // },
48
+ // ],
49
+ children: [],
50
+ },
51
+ {
52
+ adults: [
53
+ {
54
+ id: 3,
55
+ firstName: "Jan",
56
+ lastName: "Jansens",
57
+ birthDate: "1984-05-20",
58
+ gender: "m",
59
+ },
60
+ {
61
+ id: 4,
62
+ firstName: "Leen",
63
+ lastName: "Leenders",
64
+ birthDate: "1986-08-09",
65
+ gender: "f",
66
+ },
67
+ ],
68
+ // children: [
69
+ // {
70
+ // id: "3",
71
+ // firstName: "Jonas",
72
+ // lastName: "Jansens",
73
+ // birthDate: "2015-06-14",
74
+ // gender: "m",
75
+ // },
76
+ // {
77
+ // id: "4",
78
+ // firstName: "Janne",
79
+ // lastName: "Jansens",
80
+ // birthDate: "2016-03-19",
81
+ // gender: "f",
82
+ // },
83
+ // ],
84
+ children: [],
85
+ },
86
+ ],
87
+ mainBookerId: 1,
88
+ street: "Nieuwstraat",
89
+ houseNumber: "20",
90
+ box: "A",
91
+ zipCode: "9000",
92
+ place: "Gent",
93
+ country: "be",
94
+ email: "staging@qite.be",
95
+ emailConfirmation: "staging@qite.be",
96
+ phone: "+32 471 12 34 56",
97
+ travelAgentId: 0,
98
+ travelAgentName: "",
99
+ };
100
+
101
+ const initialState: TravelersFormState = {
102
+ formValues: isDebug ? debugFormValues : undefined,
103
+ };
104
+
105
+ const travelersFormSlice = createSlice({
106
+ name: "travelersForm",
107
+ initialState,
108
+ reducers: {
109
+ setFormValues(state, action: PayloadAction<TravelersFormValues>) {
110
+ state.formValues = action.payload;
111
+ },
112
+ },
113
+ });
114
+
115
+ export const { setFormValues } = travelersFormSlice.actions;
116
+
117
+ export const selectTravelersFormValues = (state: RootState) =>
118
+ state.travelersForm.formValues;
119
+
120
+ export const selectRooms = createSelector(
121
+ selectTravelersFormValues,
122
+ (formValues) => formValues?.rooms ?? []
123
+ );
124
+
125
+ export const selectAgentId = createSelector(
126
+ selectTravelersFormValues,
127
+ (formValues) => formValues?.travelAgentId
128
+ );
129
+
130
+ const selectRequestRooms = (state: RootState) =>
131
+ state.booking.package?.options.find((x) => x.isSelected)?.requestRooms;
132
+
133
+ export const selectFormRooms = createSelector(selectRequestRooms, (rooms) => {
134
+ const formRooms: { adults: RoomTraveler[]; children: RoomTraveler[] }[] = [];
135
+ if (rooms) {
136
+ rooms.forEach((x) => {
137
+ const formRoom: { adults: RoomTraveler[]; children: RoomTraveler[] } = {
138
+ adults: [],
139
+ children: [],
140
+ };
141
+
142
+ x.pax.forEach((p) => {
143
+ if (p.age && p.age > CHILD_MAX_AGE) {
144
+ formRoom.adults.push({ id: p.id, age: 30 });
145
+ } else if (p.age && p.age <= CHILD_MAX_AGE) {
146
+ formRoom.children.push({ id: p.id, age: p.age });
147
+ } else if (p.dateOfBirth) {
148
+ const age = differenceInYears(new Date(), new Date(p.dateOfBirth));
149
+
150
+ if (age > CHILD_MAX_AGE) {
151
+ formRoom.adults.push({ id: p.id, age: 30 });
152
+ } else {
153
+ formRoom.children.push({ id: p.id, age: age });
154
+ }
155
+ }
156
+ });
157
+
158
+ formRooms.push(formRoom);
159
+ });
160
+ }
161
+ return formRooms;
162
+ });
163
+
164
+ export default travelersFormSlice.reducer;