@qite/tide-booking-component 1.2.0 → 1.2.1

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/booking-product/components/footer.d.ts +1 -0
  2. package/build/build-cjs/booking-product/components/icon.d.ts +2 -0
  3. package/build/build-cjs/booking-product/types.d.ts +2 -1
  4. package/build/build-cjs/booking-wizard/components/icon.d.ts +2 -0
  5. package/build/build-cjs/{booking-product → booking-wizard}/components/multi-range-filter.d.ts +0 -1
  6. package/build/build-cjs/booking-wizard/features/flight-options/flight-option-flight.d.ts +1 -1
  7. package/build/build-cjs/booking-wizard/features/flight-options/flight-option.d.ts +1 -1
  8. package/build/build-cjs/booking-wizard/types.d.ts +1 -0
  9. package/build/build-cjs/index.js +703 -451
  10. package/build/build-cjs/shared/utils/localization-util.d.ts +238 -3
  11. package/build/build-esm/booking-product/components/footer.d.ts +1 -0
  12. package/build/build-esm/booking-product/components/icon.d.ts +2 -0
  13. package/build/build-esm/booking-product/types.d.ts +2 -1
  14. package/build/build-esm/booking-wizard/components/icon.d.ts +2 -0
  15. package/build/build-esm/{booking-product → booking-wizard}/components/multi-range-filter.d.ts +0 -1
  16. package/build/build-esm/booking-wizard/features/flight-options/flight-option-flight.d.ts +1 -1
  17. package/build/build-esm/booking-wizard/features/flight-options/flight-option.d.ts +1 -1
  18. package/build/build-esm/booking-wizard/types.d.ts +1 -0
  19. package/build/build-esm/index.js +704 -452
  20. package/build/build-esm/shared/utils/localization-util.d.ts +238 -3
  21. package/package.json +1 -1
  22. package/src/booking-product/components/amount-input.tsx +8 -20
  23. package/src/booking-product/components/date-range-picker/calendar.tsx +3 -3
  24. package/src/booking-product/components/dates.tsx +26 -20
  25. package/src/booking-product/components/footer.tsx +4 -2
  26. package/src/booking-product/components/header.tsx +4 -4
  27. package/src/booking-product/components/icon.tsx +176 -11
  28. package/src/booking-product/components/product.tsx +31 -16
  29. package/src/{shared → booking-product}/components/rating.tsx +3 -3
  30. package/src/booking-product/components/rooms.tsx +116 -113
  31. package/src/booking-product/settings-context.ts +0 -1
  32. package/src/booking-product/types.ts +2 -1
  33. package/src/booking-wizard/components/icon.tsx +42 -15
  34. package/src/{booking-product → booking-wizard}/components/multi-range-filter.tsx +0 -1
  35. package/src/booking-wizard/declarations.d.ts +4 -0
  36. package/src/booking-wizard/features/booking/booking-self-contained.tsx +3 -2
  37. package/src/booking-wizard/features/booking/booking.tsx +3 -2
  38. package/src/booking-wizard/features/confirmation/confirmation.tsx +8 -4
  39. package/src/booking-wizard/features/flight-options/flight-filter.tsx +7 -6
  40. package/src/booking-wizard/features/flight-options/flight-option-flight.tsx +29 -28
  41. package/src/booking-wizard/features/flight-options/flight-option-modal.tsx +193 -192
  42. package/src/booking-wizard/features/room-options/index.tsx +1 -5
  43. package/src/booking-wizard/features/summary/summary.tsx +23 -26
  44. package/src/booking-wizard/features/travelers-form/travelers-form.tsx +0 -2
  45. package/src/booking-wizard/features/travelers-form/validate-form.ts +1 -1
  46. package/src/booking-wizard/index.tsx +2 -2
  47. package/src/booking-wizard/types.ts +1 -0
  48. package/src/shared/tide-sprites.svg +117 -0
  49. package/src/shared/translations/fr-BE.json +229 -222
  50. package/src/shared/translations/nl-BE.json +229 -222
  51. package/styles/booking-product-variables.scss +288 -0
  52. package/styles/booking-product.scss +440 -0
  53. package/styles/booking-wizard-variables.scss +0 -0
  54. package/styles/booking-wizard.scss +4 -0
  55. package/styles/components/_animations.scss +39 -0
  56. package/styles/components/_base.scss +106 -0
  57. package/styles/components/_button.scss +185 -0
  58. package/styles/components/_cta.scss +67 -0
  59. package/styles/components/_date-range-picker.scss +224 -0
  60. package/styles/components/_decrement-increment.scss +37 -0
  61. package/styles/components/_dropdown.scss +74 -0
  62. package/styles/components/_form.scss +136 -0
  63. package/styles/components/_loader.scss +71 -0
  64. package/styles/components/_mixins.scss +518 -0
  65. package/styles/components/_placeholders.scss +166 -0
  66. package/styles/components/_qsm.scss +20 -0
  67. package/styles/components/_variables.scss +89 -0
  68. package/src/booking-product/components/multi-range-filter.css +0 -115
  69. /package/build/build-cjs/{shared → booking-product}/components/rating.d.ts +0 -0
  70. /package/build/build-esm/{shared → booking-product}/components/rating.d.ts +0 -0
@@ -0,0 +1,440 @@
1
+ #tide-product {
2
+ @import "./components/mixins";
3
+ @import "./components/placeholders";
4
+ @import "./components/base";
5
+ @import "./components/loader";
6
+ @import "./components/decrement-increment";
7
+ @import "./components/form";
8
+ @import "./components/button";
9
+ @import "./components/cta";
10
+ @import "./components/qsm";
11
+ @import "./components/dropdown";
12
+ @import "./components/date-range-picker";
13
+
14
+
15
+ @extend %reset;
16
+ @include body;
17
+ @extend %scrollbar-thin;
18
+
19
+ max-width: 1690px;
20
+ margin: 0 auto;
21
+ display: flex;
22
+ justify-content: center;
23
+ padding: 0 15px;
24
+
25
+ @include media-md {
26
+ padding: 0 30px;
27
+ }
28
+
29
+ @include media-lg {
30
+ padding: 0 45px;
31
+ }
32
+
33
+ .booking-product{
34
+ background: var(--tide-booking-component-background);
35
+ border-radius: var(--tide-booking-component-radius);
36
+ border: var(--tide-booking-component-border);
37
+ width: 100%;
38
+
39
+ // &__container{
40
+ // max-width: 169rem;
41
+ // margin: 0 auto;
42
+ // display: flex;
43
+ // justify-content: center;
44
+ // padding: 0 .9375rem;
45
+
46
+ // @include media-md {
47
+ // padding: 0 1.875rem;
48
+ // }
49
+
50
+ // @include media-lg {
51
+ // padding: 0 2.8125rem;
52
+ // }
53
+ // }
54
+
55
+
56
+ &__header {
57
+ @include column;
58
+ justify-content: space-between;
59
+ background: var(--tide-booking-component-header-background);
60
+ color: var(--tide-booking-component-header-color);
61
+ border-radius: var(--tide-booking-component-header-border-radius);
62
+ padding: 20px 30px;
63
+ gap: 20px;
64
+
65
+ @include media-sm {
66
+ @include row;
67
+ justify-content: space-between;
68
+ flex-direction: row;
69
+ gap: 10px;
70
+ }
71
+ }
72
+
73
+ &__hotel {
74
+ @include column;
75
+ gap: 0px;
76
+
77
+ .rating {
78
+ .icon {
79
+ fill: var(--tide-booking-component-header-star-rating);
80
+ }
81
+ }
82
+ }
83
+
84
+ &__title {
85
+ @include heading;
86
+ @include h1;
87
+ color: var(--tide-booking-component-header-title);
88
+ }
89
+
90
+ &__price {
91
+ @include column;
92
+ gap: 10px;
93
+
94
+ .pricing {
95
+ @include column;
96
+ justify-content: flex-start !important;
97
+ align-items: flex-start !important;
98
+ gap: 20px;
99
+
100
+ @include media-md {
101
+ justify-content: flex-end !important;
102
+ align-items: flex-end !important;
103
+ }
104
+
105
+ &__price {
106
+ @include heading;
107
+ color: var(--tide-booking-component-header-price-color);
108
+ font-family: var(--tide-booking-component-header-price-font-family);
109
+ font-size: var(--tide-booking-component-header-price-font-size--mobile);
110
+ font-weight: var( --tide-booking-component-header-price-font-weight);
111
+
112
+ @include media-md {
113
+ font-size: var(--tide-booking-component-header-price-font-size--desktop);
114
+ }
115
+
116
+ }
117
+
118
+ &__header {
119
+ @include row;
120
+ justify-content: flex-start;
121
+ flex-shrink: 0;
122
+ white-space: nowrap;
123
+
124
+ @include media-md {
125
+ justify-content: flex-end;
126
+ }
127
+
128
+ * {
129
+ line-height: 1;
130
+ }
131
+ }
132
+
133
+ &__footer {
134
+ text-transform: uppercase;
135
+ font-size: 12px;
136
+ }
137
+ }
138
+
139
+ .package-icons {
140
+ justify-content: flex-end;
141
+
142
+ @include media-md {
143
+ width: auto;
144
+ margin-left: auto !important;
145
+ }
146
+
147
+ svg {
148
+ fill: var(--tide-booking-component-header-icon-color);
149
+ }
150
+ }
151
+
152
+ .package-icons{
153
+ display: flex;
154
+ justify-content: flex-start;
155
+ align-items: center;
156
+ }
157
+
158
+ .package-icons__icon {
159
+ display: flex;
160
+ justify-content: flex-start;
161
+ align-items: center;
162
+ }
163
+
164
+ .package-icons__icon + .package-icons__icon:before {
165
+ content: "+";
166
+ color: var(--tide-booking-component-header-icon-color);
167
+ display: inline;
168
+ margin: 0 10px;
169
+ transition: color .2s ease-out;
170
+ }
171
+ }
172
+
173
+ &__body {
174
+ @include column;
175
+ justify-content: space-between;
176
+ padding: 20px 30px;
177
+ gap: 30px;
178
+
179
+ // @include media-lg {
180
+ // display: grid;
181
+ // grid-template-columns: repeat(2, 1fr);
182
+ // gap: 2rem;
183
+ // }
184
+
185
+ .booking-product__room {
186
+
187
+ &__header,
188
+ &__body,
189
+ &__group-header,
190
+ &__footer {
191
+ background-color: transparent;
192
+ padding: 0;
193
+ }
194
+
195
+ &__actions {
196
+ position: relative;
197
+ right: 0;
198
+ display: flex;
199
+ flex-direction: column;
200
+ gap: 10px;
201
+
202
+ @include media-sm {
203
+ display: flex;
204
+ flex-direction: row;
205
+ gap: 60px;
206
+ }
207
+
208
+ .decrement-increment{
209
+ &:last-child{
210
+ @include media-sm {
211
+ grid-template-columns: 105px auto;
212
+ }
213
+ }
214
+ }
215
+ }
216
+
217
+ &-children{
218
+ margin-top: 20px;
219
+ display: flex;
220
+ flex-direction: column;
221
+ gap: 10px;
222
+
223
+ &-ages{
224
+ display: grid;
225
+ grid-template-columns: repeat(auto-fit, minmax(110px, 125px));
226
+ gap: 10px;
227
+ }
228
+ }
229
+
230
+ &__body {
231
+ max-height: inherit;
232
+ }
233
+
234
+ &__header {
235
+ border: none;
236
+ border-radius: 0;
237
+ box-shadow: none;
238
+ display: flex;
239
+ flex-direction: column;
240
+ gap: 0px;
241
+
242
+ margin-top: 20px;
243
+ }
244
+
245
+ &__heading {
246
+ font-family: var(--tide-booking-font-body);
247
+ @include h4;
248
+ font-weight: bold;
249
+ margin-bottom: 0px;
250
+ }
251
+
252
+
253
+ }
254
+
255
+ .form__group {
256
+ &--datepicker {
257
+ @include column;
258
+ align-items: center;
259
+ gap: 10px;
260
+ margin-bottom: 5px;
261
+ position: relative;
262
+
263
+ @include media-sm {
264
+ flex-direction: row;
265
+ }
266
+
267
+ .form__group-input {
268
+ width: 100%;
269
+
270
+ @include media-sm {
271
+ width: 50%;
272
+ }
273
+ }
274
+
275
+ .qsm__panel {
276
+ display: flex;
277
+ background-color: var(--tide-booking-datepicker-container-background);
278
+ z-index: 98;
279
+ visibility: hidden;
280
+ opacity: 0;
281
+ transition: all 0.3s ease-in-out;
282
+
283
+ &--active {
284
+ visibility: visible;
285
+ pointer-events: all;
286
+ opacity: 1;
287
+
288
+ @include media-sm {
289
+ width: auto;
290
+ }
291
+ }
292
+ }
293
+ }
294
+
295
+ .form__label {
296
+ margin-bottom: 0;
297
+ opacity: 0.7;
298
+ left: 20px;
299
+ line-height: 1.35;
300
+ }
301
+ }
302
+ }
303
+
304
+ &__dates {
305
+ margin-top: 0rem;
306
+
307
+ &:first-child {
308
+ margin-top: 0;
309
+ }
310
+
311
+ &-title {
312
+ @include row;
313
+ @include heading;
314
+ @include h2;
315
+ align-items: center;
316
+ margin-bottom: 10px;
317
+
318
+ svg {
319
+ width: 20px;
320
+ height: 20px;
321
+ padding-right: 15px;
322
+ fill: var(--tide-booking-black);
323
+ }
324
+ }
325
+ }
326
+
327
+ &__rooms {
328
+ margin-top: 0rem;
329
+
330
+ &:first-child {
331
+ margin-top: 0;
332
+ }
333
+
334
+ &-title {
335
+ @include row;
336
+ @include heading;
337
+ @include h2;
338
+ align-items: center;
339
+ margin-bottom: 10px;
340
+
341
+ svg {
342
+ width: 20px;
343
+ height: 20px;
344
+ padding-right: 15px;
345
+ fill: var(--tide-booking-black);
346
+ }
347
+ }
348
+
349
+ &__container{
350
+ display: flex;
351
+ flex-direction: column;
352
+ gap: 20px;
353
+
354
+ @include media-xs {
355
+ justify-content: space-between;
356
+ flex-direction: row;
357
+ gap: 20px;
358
+ }
359
+ }
360
+
361
+ &__wrapper{
362
+ width: 100%;
363
+ }
364
+
365
+ &__header {
366
+ border: none;
367
+ border-radius: 0;
368
+ box-shadow: none;
369
+ display: flex;
370
+ flex-direction: column;
371
+ gap: 0px;
372
+ margin-bottom: 0px;
373
+ }
374
+
375
+ &__heading {
376
+ @include h3;
377
+ font-family: var(--tide-booking-font-body);
378
+ font-weight: bold;
379
+ margin-bottom: 0rem;
380
+ color: var(--tide-booking-black);
381
+ }
382
+
383
+ &-body{
384
+ display: flex;
385
+ flex-direction: column;
386
+ gap: 10px;
387
+ }
388
+
389
+ &__footer{
390
+ display: flex;
391
+ justify-content: flex-start;
392
+
393
+ @include media-xs {
394
+ justify-content: flex-end;
395
+ }
396
+ }
397
+ }
398
+
399
+
400
+ &__footer {
401
+ @include column;
402
+ gap: 10px;
403
+ padding: 20px 30px;
404
+ border-top: 1px solid #dbdad4;
405
+
406
+ &-total {
407
+ @include row;
408
+ justify-content: space-between;
409
+ min-height: 27px;
410
+ }
411
+
412
+ &-actions {
413
+ display: flex;
414
+ gap: 1rem;
415
+ }
416
+
417
+ &-label {
418
+ @include heading;
419
+ font-size: 24px;
420
+ }
421
+
422
+ &-price {
423
+ @include heading;
424
+ font-size: 24px;
425
+ color: var(--tide-booking-gray-dark);
426
+ }
427
+
428
+ &-cta {
429
+ @include row;
430
+ justify-content: space-between;
431
+ gap: 1rem;
432
+
433
+ .cta {
434
+ width: 100% !important;
435
+ margin-left: 0 !important;
436
+ }
437
+ }
438
+ }
439
+ }
440
+ }
File without changes
@@ -0,0 +1,4 @@
1
+ // SCOPE
2
+ #tide-booking {
3
+ @import "../playground/src/scss/main.scss";
4
+ }
@@ -0,0 +1,39 @@
1
+ @keyframes pulse {
2
+ 0% {
3
+ transform: scale(0.85);
4
+ box-shadow: var(--tide-booking-spinner-box-shadow-0);
5
+ }
6
+
7
+ 7.5% {
8
+ transform: scale(1);
9
+ box-shadow: var(--tide-booking-spinner-box-shadow-7);
10
+ }
11
+
12
+ 15% {
13
+ transform: scale(0.85);
14
+ box-shadow: var(--tide-booking-spinner-box-shadow-15);
15
+ }
16
+
17
+ 22.5% {
18
+ transform: scale(1);
19
+ box-shadow: var(--tide-booking-spinner-box-shadow-22);
20
+ }
21
+
22
+ 97% {
23
+ transform: scale(1);
24
+ }
25
+
26
+ 100% {
27
+ transform: scale(0.85);
28
+ }
29
+ }
30
+
31
+ @keyframes spinner {
32
+ 0% {
33
+ transform: rotate(0deg);
34
+ }
35
+
36
+ 100% {
37
+ transform: rotate(360deg);
38
+ }
39
+ }
@@ -0,0 +1,106 @@
1
+ // GENERAL
2
+
3
+
4
+ // TYPOGRAPHY
5
+
6
+ h1,
7
+ h2,
8
+ h3,
9
+ h4,
10
+ h5,
11
+ h6 {
12
+ @include heading;
13
+ }
14
+
15
+ h1,
16
+ h2,
17
+ h3 {
18
+ margin-bottom: 15px;
19
+ }
20
+
21
+ h4,
22
+ h5,
23
+ h6 {
24
+ margin-bottom: 15px * 0.75;
25
+ }
26
+
27
+ h1 {
28
+ @include h1;
29
+ }
30
+
31
+ h2 {
32
+ @include h2;
33
+ }
34
+
35
+ h3 {
36
+ @include h3;
37
+ }
38
+
39
+ h4 {
40
+ @include h4;
41
+ }
42
+
43
+ h5 {
44
+ @include h5;
45
+ }
46
+
47
+ h6 {
48
+ @include h6;
49
+ }
50
+
51
+ h6 + p {
52
+ margin-top: -15px * 0.3;
53
+ }
54
+
55
+ p {
56
+ margin-top: 0;
57
+ }
58
+
59
+
60
+
61
+ ul,
62
+ ol,
63
+ dl {
64
+ @extend %reset;
65
+ margin-left: 15px * 1.33;
66
+
67
+ li {
68
+ @extend %reset;
69
+ }
70
+ }
71
+
72
+ input {
73
+ @include input;
74
+ }
75
+
76
+ textarea {
77
+ @include textarea;
78
+ }
79
+
80
+ button {
81
+ @include button;
82
+ }
83
+
84
+ strong {
85
+ @include strong;
86
+ }
87
+
88
+ small {
89
+ @include small;
90
+ }
91
+
92
+ ::-webkit-input-placeholder {
93
+ @include placeholder;
94
+ }
95
+
96
+ ::-moz-placeholder {
97
+ @include placeholder;
98
+ }
99
+
100
+ :-ms-input-placeholder {
101
+ @include placeholder;
102
+ }
103
+
104
+ :-moz-placeholder {
105
+ @include placeholder;
106
+ }