@qite/tide-booking-component 1.2.4 → 1.2.5

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 (137) hide show
  1. package/.vs/ProjectSettings.json +3 -3
  2. package/.vs/VSWorkspaceState.json +5 -5
  3. package/README.md +8 -8
  4. package/build/build-cjs/booking-wizard/features/flight-options/flight-option-flight.d.ts +1 -1
  5. package/build/build-cjs/booking-wizard/features/flight-options/flight-option.d.ts +1 -1
  6. package/build/build-cjs/booking-wizard/types.d.ts +6 -0
  7. package/build/build-cjs/index.js +1200 -713
  8. package/build/build-cjs/shared/utils/localization-util.d.ts +1 -0
  9. package/build/build-esm/booking-wizard/features/flight-options/flight-option-flight.d.ts +1 -1
  10. package/build/build-esm/booking-wizard/features/flight-options/flight-option.d.ts +1 -1
  11. package/build/build-esm/booking-wizard/types.d.ts +6 -0
  12. package/build/build-esm/index.js +1201 -714
  13. package/build/build-esm/shared/utils/localization-util.d.ts +1 -0
  14. package/package.json +75 -77
  15. package/rollup.config.js +23 -23
  16. package/src/booking-product/components/age-select.tsx +35 -41
  17. package/src/booking-product/components/amount-input.tsx +78 -64
  18. package/src/booking-product/components/date-range-picker/calendar-day.tsx +58 -54
  19. package/src/booking-product/components/date-range-picker/calendar.tsx +178 -176
  20. package/src/booking-product/components/date-range-picker/index.tsx +196 -181
  21. package/src/booking-product/components/dates.tsx +136 -132
  22. package/src/booking-product/components/footer.tsx +69 -70
  23. package/src/booking-product/components/header.tsx +79 -68
  24. package/src/booking-product/components/icon.tsx +251 -208
  25. package/src/booking-product/components/product.tsx +314 -281
  26. package/src/booking-product/components/rating.tsx +21 -21
  27. package/src/booking-product/components/rooms.tsx +195 -180
  28. package/src/booking-product/index.tsx +30 -30
  29. package/src/booking-product/settings-context.ts +14 -14
  30. package/src/booking-product/types.ts +28 -28
  31. package/src/booking-product/utils/api.ts +25 -25
  32. package/src/booking-product/utils/price.ts +29 -27
  33. package/src/booking-wizard/api-settings-slice.ts +24 -24
  34. package/src/booking-wizard/components/icon.tsx +508 -309
  35. package/src/booking-wizard/components/labeled-input.tsx +64 -64
  36. package/src/booking-wizard/components/labeled-select.tsx +69 -69
  37. package/src/booking-wizard/components/message.tsx +34 -34
  38. package/src/booking-wizard/components/multi-range-filter.tsx +113 -113
  39. package/src/booking-wizard/components/product-card.tsx +37 -37
  40. package/src/booking-wizard/components/step-indicator.tsx +51 -51
  41. package/src/booking-wizard/components/step-route.tsx +27 -27
  42. package/src/booking-wizard/declarations.d.ts +4 -4
  43. package/src/booking-wizard/features/booking/api.ts +49 -45
  44. package/src/booking-wizard/features/booking/booking-self-contained.tsx +384 -357
  45. package/src/booking-wizard/features/booking/booking-slice.ts +662 -603
  46. package/src/booking-wizard/features/booking/booking.tsx +356 -349
  47. package/src/booking-wizard/features/booking/constants.ts +16 -16
  48. package/src/booking-wizard/features/booking/selectors.ts +441 -418
  49. package/src/booking-wizard/features/confirmation/confirmation.tsx +97 -94
  50. package/src/booking-wizard/features/error/error.tsx +78 -75
  51. package/src/booking-wizard/features/flight-options/flight-filter.tsx +432 -357
  52. package/src/booking-wizard/features/flight-options/flight-option-flight.tsx +385 -353
  53. package/src/booking-wizard/features/flight-options/flight-option-modal.tsx +229 -214
  54. package/src/booking-wizard/features/flight-options/flight-option.tsx +81 -66
  55. package/src/booking-wizard/features/flight-options/flight-utils.ts +516 -401
  56. package/src/booking-wizard/features/flight-options/index.tsx +196 -177
  57. package/src/booking-wizard/features/price-details/price-details-api.ts +24 -24
  58. package/src/booking-wizard/features/price-details/price-details-slice.ts +178 -171
  59. package/src/booking-wizard/features/price-details/util.ts +155 -155
  60. package/src/booking-wizard/features/product-options/no-options.tsx +21 -21
  61. package/src/booking-wizard/features/product-options/none-option.tsx +120 -120
  62. package/src/booking-wizard/features/product-options/option-booking-airline-group.tsx +64 -66
  63. package/src/booking-wizard/features/product-options/option-booking-group.tsx +216 -210
  64. package/src/booking-wizard/features/product-options/option-item.tsx +317 -318
  65. package/src/booking-wizard/features/product-options/option-pax-card.tsx +201 -188
  66. package/src/booking-wizard/features/product-options/option-pax-group.tsx +175 -169
  67. package/src/booking-wizard/features/product-options/option-room.tsx +321 -314
  68. package/src/booking-wizard/features/product-options/option-unit-group.tsx +198 -192
  69. package/src/booking-wizard/features/product-options/option-units-card.tsx +185 -174
  70. package/src/booking-wizard/features/product-options/options-form.tsx +459 -437
  71. package/src/booking-wizard/features/room-options/index.tsx +187 -172
  72. package/src/booking-wizard/features/room-options/room-utils.ts +190 -143
  73. package/src/booking-wizard/features/room-options/room.tsx +160 -124
  74. package/src/booking-wizard/features/room-options/traveler-rooms.tsx +75 -63
  75. package/src/booking-wizard/features/sidebar/index.tsx +76 -76
  76. package/src/booking-wizard/features/sidebar/sidebar-flight.tsx +68 -68
  77. package/src/booking-wizard/features/sidebar/sidebar-util.ts +177 -177
  78. package/src/booking-wizard/features/sidebar/sidebar.tsx +364 -346
  79. package/src/booking-wizard/features/summary/summary-booking-option-pax.tsx +25 -25
  80. package/src/booking-wizard/features/summary/summary-booking-option-unit.tsx +25 -25
  81. package/src/booking-wizard/features/summary/summary-flight.tsx +39 -39
  82. package/src/booking-wizard/features/summary/summary-per-booking-option-group.tsx +69 -57
  83. package/src/booking-wizard/features/summary/summary-per-pax-option-group.tsx +63 -51
  84. package/src/booking-wizard/features/summary/summary-per-unit-option-group.tsx +66 -54
  85. package/src/booking-wizard/features/summary/summary-slice.ts +28 -28
  86. package/src/booking-wizard/features/summary/summary.tsx +674 -643
  87. package/src/booking-wizard/features/travelers-form/travelers-form-slice.ts +164 -164
  88. package/src/booking-wizard/features/travelers-form/travelers-form.tsx +754 -755
  89. package/src/booking-wizard/features/travelers-form/type-ahead-input.tsx +101 -101
  90. package/src/booking-wizard/features/travelers-form/validate-form.ts +245 -245
  91. package/src/booking-wizard/index.tsx +36 -36
  92. package/src/booking-wizard/settings-context.ts +60 -60
  93. package/src/booking-wizard/store.ts +31 -31
  94. package/src/booking-wizard/types.ts +276 -271
  95. package/src/index.ts +4 -5
  96. package/src/shared/components/loader.tsx +16 -16
  97. package/src/shared/translations/en-GB.json +232 -0
  98. package/src/shared/translations/fr-BE.json +233 -233
  99. package/src/shared/translations/nl-BE.json +232 -232
  100. package/src/shared/types.ts +4 -4
  101. package/src/shared/utils/class-util.ts +9 -9
  102. package/src/shared/utils/localization-util.ts +62 -56
  103. package/src/shared/utils/query-string-util.ts +119 -116
  104. package/src/shared/utils/tide-api-utils.ts +36 -36
  105. package/styles/booking-product-variables.scss +394 -288
  106. package/styles/booking-product.scss +446 -440
  107. package/styles/booking-wizard-variables.scss +871 -530
  108. package/styles/booking-wizard.scss +59 -26
  109. package/styles/components/_animations.scss +39 -39
  110. package/styles/components/_base.scss +107 -106
  111. package/styles/components/_booking.scss +879 -1409
  112. package/styles/components/_button.scss +238 -185
  113. package/styles/components/_checkbox.scss +219 -215
  114. package/styles/components/_cta.scss +208 -133
  115. package/styles/components/_date-list.scss +41 -0
  116. package/styles/components/_date-range-picker.scss +225 -225
  117. package/styles/components/_decrement-increment.scss +35 -37
  118. package/styles/components/_dropdown.scss +72 -74
  119. package/styles/components/_flight-option.scss +1429 -1389
  120. package/styles/components/_form.scss +1583 -394
  121. package/styles/components/_info-message.scss +71 -0
  122. package/styles/components/_input.scss +25 -0
  123. package/styles/components/_list.scss +187 -82
  124. package/styles/components/_loader.scss +72 -71
  125. package/styles/components/_mixins.scss +550 -530
  126. package/styles/components/_placeholders.scss +166 -166
  127. package/styles/components/_pricing-summary.scss +155 -117
  128. package/styles/components/_qsm.scss +17 -20
  129. package/styles/components/_radiobutton.scss +170 -0
  130. package/styles/components/_select-wrapper.scss +80 -66
  131. package/styles/components/_spinner.scss +29 -0
  132. package/styles/components/_step-indicators.scss +168 -160
  133. package/styles/components/_table.scss +81 -81
  134. package/styles/components/_tree.scss +530 -540
  135. package/styles/components/_typeahead.scss +281 -0
  136. package/styles/components/_variables.scss +89 -89
  137. package/tsconfig.json +24 -24
@@ -1,166 +1,166 @@
1
- // RESET
2
- %reset {
3
- padding: 0;
4
- margin: 0;
5
- box-sizing: border-box;
6
- }
7
-
8
- // UI
9
- %cta {
10
- height: var(--tide-booking-cta-height);
11
- width: var(--tide-booking-cta-width);
12
- padding: var(--tide-booking-cta-padding);
13
- display: inline-flex;
14
- align-items: center;
15
- justify-content: center;
16
- align-self: center;
17
- gap: 5px;
18
- outline: none;
19
- border-radius: var(--tide-booking-cta-border-radius);
20
- border: var(--tide-booking-cta-border);
21
- line-height: 1.2;
22
- font-family: var(--tide-booking-cta-font-family-secondary);
23
- font-size: var(--tide-booking-cta-font-size);
24
- font-weight: var(--tide-booking-cta-font-weight);
25
- text-decoration: var(--tide-booking-cta-text-decoration);
26
- color: var(--tide-booking-cta-color);
27
- background: var(--tide-booking-cta-background);
28
- box-sizing: border-box;
29
- transition: all .3s ease;
30
-
31
- @include media-xs {
32
- width: var(--tide-booking-cta-width-xs);
33
- height: var(--tide-booking-cta-height-xs);
34
- font-size: var(--tide-booking-cta-font-size-xs);
35
- }
36
-
37
- .icon{
38
- width: var(--tide-booking-cta-icon-size);
39
- height: var(--tide-booking-cta-icon-size);
40
- }
41
-
42
- &:hover{
43
- background: var(--tide-booking-cta-background-hover);
44
- text-decoration: var(--tide-booking-cta-text-decoration-hover);
45
- color: var(--tide-booking-cta-color-hover);
46
- fill: var(--tide-booking-cta-icon-color-hover);
47
- border: var(--tide-booking-cta-border-hover);
48
-
49
- }
50
-
51
- &:focus,
52
- &:active {
53
- text-decoration: var(--tide-booking-cta-text-decoration-focus);
54
- background: var(--tide-booking-cta-background-focus);
55
- color: var(--tide-booking-cta-color-focus);
56
- fill: var(--tide-booking-cta-icon-color-focus);
57
- border: var(--tide-booking-cta-border-focus);
58
- }
59
-
60
- span {
61
- display: flex;
62
- align-items: center;
63
- gap: 5px;
64
- }
65
- }
66
-
67
- %cta--secondary {
68
- height: var(--tide-booking-cta-height-secondary);
69
- width: var(--tide-booking-cta-width-secondary);
70
- padding: var(--tide-booking-cta-padding-secondary);
71
- display: inline-flex;
72
- align-items: center;
73
- justify-content: center;
74
- gap: 5px;
75
- align-self: center;
76
- outline: none;
77
- border-radius: var(--tide-booking-cta-border-radius-secondary);
78
- border: var(--tide-booking-cta-border-secondary);
79
- line-height: 1.2;
80
- font-family: var(--tide-booking-cta-font-family-secondary);
81
- font-size: var(--tide-booking-cta-font-size-secondary);
82
- font-weight: var(--tide-booking-cta-font-weight-secondary);
83
- text-decoration: var(--tide-booking-cta-text-decoration-secondary);
84
- color: var(--tide-booking-cta-color-secondary);
85
- background: var(--tide-booking-cta-background-secondary);
86
- box-sizing: border-box;
87
- transition: all .3s ease;
88
-
89
- @include media-xs {
90
- height: var(--tide-booking-cta-height-xs-secondary);
91
- font-size: var(--tide-booking-cta-font-size-xs-secondary);
92
- }
93
-
94
- .icon{
95
- width: var(--tide-booking-cta-icon-size-secondary);
96
- height: var(--tide-booking-cta-icon-size-secondary);
97
- }
98
-
99
- &:hover{
100
- background: var(--tide-booking-cta-background-secondary-hover);
101
- color: var(--tide-booking-cta-color-secondary-hover);
102
- fill: var(--tide-booking-cta-icon-color-secondary-hover);
103
- border: var(--tide-booking-cta-border-secondary-hover);
104
- text-decoration: var(--tide-booking-cta-text-decoration-secondary-hover);
105
- }
106
-
107
- &:focus,
108
- &:active {
109
- text-decoration: none;
110
- background: var(--tide-booking-cta-background-secondary-focus);
111
- color: var(--tide-booking-cta-color-secondary-focus);
112
- fill: var(--tide-booking-cta-icon-color-secondary-focus);
113
- border: var(--tide-booking-cta-border-secondary-focus);
114
- text-decoration: var(--tide-booking-cta-text-decoration-secondary-hover);
115
- }
116
-
117
- span {
118
- display: flex;
119
- align-items: center;
120
- gap: 5px;
121
- }
122
- }
123
-
124
- %scrollbar-thin {
125
- &::-webkit-scrollbar {
126
- width: 8px;
127
- height: 8px;
128
- }
129
-
130
- &::-webkit-scrollbar-track {
131
- padding: 2px;
132
- background: transparent;
133
- }
134
-
135
- &::-webkit-scrollbar-thumb {
136
- border-radius: 4px;
137
- background-color: #cbcbcb;
138
- }
139
- }
140
-
141
- %scrollbar-transparent {
142
- -ms-overflow-style: none;
143
- scrollbar-width: none;
144
-
145
- &::-webkit-scrollbar {
146
- width: 0 !important;
147
- }
148
- }
149
-
150
- %text-decoration-none {
151
- text-decoration: none;
152
-
153
- &:hover,
154
- &:focus,
155
- &:active {
156
- text-decoration: none;
157
- }
158
- }
159
-
160
- // ANIMATIONS
161
- %transition-easing {
162
- transition-duration: 0.2s;
163
- transition-property: width, height, transform, border, fill, color,
164
- background-color, box-shadow, opacity;
165
- transition-timing-function: ease-out;
166
- }
1
+ // RESET
2
+ %reset {
3
+ padding: 0;
4
+ margin: 0;
5
+ box-sizing: border-box;
6
+ }
7
+
8
+ // UI
9
+ %cta {
10
+ height: var(--tide-booking-cta-height);
11
+ width: var(--tide-booking-cta-width);
12
+ padding: var(--tide-booking-cta-padding);
13
+ display: inline-flex;
14
+ align-items: center;
15
+ justify-content: center;
16
+ align-self: center;
17
+ gap: 5px;
18
+ outline: none;
19
+ border-radius: var(--tide-booking-cta-border-radius);
20
+ border: var(--tide-booking-cta-border);
21
+ line-height: 1.2;
22
+ font-family: var(--tide-booking-cta-font-family-secondary);
23
+ font-size: var(--tide-booking-cta-font-size);
24
+ font-weight: var(--tide-booking-cta-font-weight);
25
+ text-decoration: var(--tide-booking-cta-text-decoration);
26
+ color: var(--tide-booking-cta-color);
27
+ background: var(--tide-booking-cta-background);
28
+ box-sizing: border-box;
29
+ transition: all 0.3s ease;
30
+
31
+ @include media-xs {
32
+ width: var(--tide-booking-cta-width-xs);
33
+ height: var(--tide-booking-cta-height-xs);
34
+ font-size: var(--tide-booking-cta-font-size-xs);
35
+ }
36
+
37
+ .icon {
38
+ width: var(--tide-booking-cta-icon-size);
39
+ height: var(--tide-booking-cta-icon-size);
40
+ }
41
+
42
+ &:hover {
43
+ background: var(--tide-booking-cta-background-hover);
44
+ text-decoration: var(--tide-booking-cta-text-decoration-hover);
45
+ color: var(--tide-booking-cta-color-hover);
46
+ fill: var(--tide-booking-cta-icon-color-hover);
47
+ border: var(--tide-booking-cta-border-hover);
48
+ }
49
+
50
+ &:focus,
51
+ &:active {
52
+ text-decoration: var(--tide-booking-cta-text-decoration-focus);
53
+ background: var(--tide-booking-cta-background-focus);
54
+ color: var(--tide-booking-cta-color-focus);
55
+ fill: var(--tide-booking-cta-icon-color-focus);
56
+ border: var(--tide-booking-cta-border-focus);
57
+ }
58
+
59
+ span {
60
+ display: flex;
61
+ align-items: center;
62
+ gap: 5px;
63
+ }
64
+ }
65
+
66
+ %cta--secondary {
67
+ height: var(--tide-booking-cta-height-secondary);
68
+ width: var(--tide-booking-cta-width-secondary);
69
+ padding: var(--tide-booking-cta-padding-secondary);
70
+ display: inline-flex;
71
+ align-items: center;
72
+ justify-content: center;
73
+ gap: 5px;
74
+ align-self: center;
75
+ outline: none;
76
+ border-radius: var(--tide-booking-cta-border-radius-secondary);
77
+ border: var(--tide-booking-cta-border-secondary);
78
+ line-height: 1.2;
79
+ font-family: var(--tide-booking-cta-font-family-secondary);
80
+ font-size: var(--tide-booking-cta-font-size-secondary);
81
+ font-weight: var(--tide-booking-cta-font-weight-secondary);
82
+ text-decoration: var(--tide-booking-cta-text-decoration-secondary);
83
+ color: var(--tide-booking-cta-color-secondary);
84
+ background: var(--tide-booking-cta-background-secondary);
85
+ box-sizing: border-box;
86
+ transition: all 0.3s ease;
87
+
88
+ @include media-xs {
89
+ height: var(--tide-booking-cta-height-xs-secondary);
90
+ font-size: var(--tide-booking-cta-font-size-xs-secondary);
91
+ }
92
+
93
+ .icon {
94
+ width: var(--tide-booking-cta-icon-size-secondary);
95
+ height: var(--tide-booking-cta-icon-size-secondary);
96
+ fill: var(--tide-booking-cta-icon-color-secondary);
97
+ }
98
+
99
+ &:hover {
100
+ background: var(--tide-booking-cta-background-secondary-hover);
101
+ color: var(--tide-booking-cta-color-secondary-hover);
102
+ fill: var(--tide-booking-cta-icon-color-secondary-hover);
103
+ border: var(--tide-booking-cta-border-secondary-hover);
104
+ text-decoration: var(--tide-booking-cta-text-decoration-secondary-hover);
105
+ }
106
+
107
+ &:focus,
108
+ &:active {
109
+ text-decoration: none;
110
+ background: var(--tide-booking-cta-background-secondary-focus);
111
+ color: var(--tide-booking-cta-color-secondary-focus);
112
+ fill: var(--tide-booking-cta-icon-color-secondary-focus);
113
+ border: var(--tide-booking-cta-border-secondary-focus);
114
+ text-decoration: var(--tide-booking-cta-text-decoration-secondary-hover);
115
+ }
116
+
117
+ span {
118
+ display: flex;
119
+ align-items: center;
120
+ gap: 5px;
121
+ }
122
+ }
123
+
124
+ %scrollbar-thin {
125
+ &::-webkit-scrollbar {
126
+ width: 8px;
127
+ height: 8px;
128
+ }
129
+
130
+ &::-webkit-scrollbar-track {
131
+ padding: 2px;
132
+ background: transparent;
133
+ }
134
+
135
+ &::-webkit-scrollbar-thumb {
136
+ border-radius: 4px;
137
+ background-color: #cbcbcb;
138
+ }
139
+ }
140
+
141
+ %scrollbar-transparent {
142
+ -ms-overflow-style: none;
143
+ scrollbar-width: none;
144
+
145
+ &::-webkit-scrollbar {
146
+ width: 0 !important;
147
+ }
148
+ }
149
+
150
+ %text-decoration-none {
151
+ text-decoration: none;
152
+
153
+ &:hover,
154
+ &:focus,
155
+ &:active {
156
+ text-decoration: none;
157
+ }
158
+ }
159
+
160
+ // ANIMATIONS
161
+ %transition-easing {
162
+ transition-duration: 0.2s;
163
+ transition-property: width, height, transform, border, fill, color,
164
+ background-color, box-shadow, opacity;
165
+ transition-timing-function: ease-out;
166
+ }
@@ -1,117 +1,155 @@
1
- .pricing-summary {
2
- width: 100%;
3
- display: flex;
4
- flex-direction: column;
5
-
6
- &__group {
7
- display: flex;
8
- flex-direction: column;
9
- gap: 10px;
10
- }
11
-
12
- &__property {
13
- color: var(--tide-booking-sidebar-body-label-color);
14
- font-size: var(--tide-booking-sidebar-body-label-font-size);
15
- font-weight: var(--tide-booking-sidebar-body-label-font-weight);
16
- }
17
-
18
- &__region {
19
- padding: 25px 15px;
20
- display: flex;
21
- flex-direction: column;
22
- gap: 1rem;
23
- }
24
-
25
- &__region--pricing {
26
- position: sticky;
27
- bottom: 0;
28
- background: var(--tide-booking-sidebar-footer-background);
29
-
30
- small {
31
- font-size: var(--tide-booking-sidebar-footer-small-font-size);
32
- color: var(--tide-booking-sidebar-footer-small-color);
33
-
34
- strong {
35
- color: var(--tide-booking-sidebar-footer-small-strong-color);
36
- }
37
-
38
- }
39
-
40
- .pricing-summary__row + .pricing-summary__row {
41
- margin-top: 0;
42
- }
43
- }
44
-
45
- &__region + &__region {
46
- border-top: var(--tide-booking-sidebar-body-border);
47
- }
48
-
49
- &__region + &__region--pricing {
50
- padding: 15px 0rem;
51
- }
52
-
53
- &__row {
54
- width: 100%;
55
- @include row;
56
- justify-content: space-between;
57
- font-size: var(--tide-booking-sidebar-body-font-size);
58
- font-family: var(--tide-booking-sidebar-body-font-family);
59
- line-height: 1.3;
60
- }
61
-
62
- &__title {
63
- margin-bottom: 0;
64
- color: var(--tide-booking-sidebar-body-title-color);
65
- font-family: var(--tide-booking-sidebar-body-title-font-family);
66
- font-size: var(--tide-booking-sidebar-body-title-font-size);
67
- font-weight: var(--tide-booking-sidebar-body-title-font-weight);
68
- }
69
-
70
- &__value {
71
- margin-left: 15px;
72
- text-align: right;
73
- color: var(--tide-booking-sidebar-body-color);
74
- font-weight: var(--tide-booking-sidebar-body-font-weight);
75
-
76
- &--flight {
77
- font-weight: var(--tide-booking-sidebar-body-flight-font-weight);
78
- color: var(--tide-booking-sidebar-body-flight-color);
79
- }
80
- }
81
-
82
- &__social {
83
- width: 100%;
84
- padding: 15px;
85
- margin-top: 20px;
86
- @include column;
87
- @include flex--centerXY;
88
- text-align: center;
89
- box-sizing: border-box;
90
- }
91
- }
92
-
93
- .pricing-summary .pricing {
94
- @include media-lg {
95
- margin-top: -15px * 0.4;
96
- }
97
- }
98
-
99
- .pricing-summary__region--pricing {
100
- .pricing .pricing__price {
101
- font-size: var(--tide-booking-sidebar-footer-advance-font-size);
102
- font-weight: var(--tide-booking-sidebar-footer-advance-font-weight);
103
- color: var(--tide-booking-sidebar-footer-advance-color);
104
- margin-top: 0.3rem;
105
-
106
- }
107
-
108
- .pricing-summary__row--total-price {
109
- .pricing__price {
110
- //font-size: 1.8rem;(
111
- font-size: var(--tide-booking-sidebar-footer-total-font-size);
112
- font-weight: var(--tide-booking-sidebar-footer-total-font-weight);
113
- color: var(--tide-booking-sidebar-footer-total-color);
114
- line-height: 1.8;
115
- }
116
- }
117
- }
1
+ .pricing-summary {
2
+ width: 100%;
3
+ display: flex;
4
+ flex-direction: column;
5
+ justify-content: space-between;
6
+
7
+ &__wrapper {
8
+ overflow: hidden;
9
+ overflow-y: auto;
10
+ height: calc(100vh - 350px);
11
+ @extend %scrollbar-thin;
12
+ }
13
+
14
+ &__group {
15
+ display: flex;
16
+ flex-direction: column;
17
+ gap: 10px;
18
+
19
+ opacity: 0;
20
+ transform: translateY(12px);
21
+ animation: fadeInUp 0.6s ease-out forwards;
22
+
23
+ // Use nth-child for delay
24
+ // &:nth-child(1) {
25
+ // animation-delay: 0.1s;
26
+ // }
27
+ // &:nth-child(2) {
28
+ // animation-delay: 0.2s;
29
+ // }
30
+ // &:nth-child(3) {
31
+ // animation-delay: 0.3s;
32
+ // }
33
+ }
34
+
35
+ &__property {
36
+ color: var(--tide-booking-sidebar-body-label-color);
37
+ font-size: var(--tide-booking-sidebar-body-label-font-size);
38
+ font-weight: var(--tide-booking-sidebar-body-label-font-weight);
39
+ }
40
+
41
+ &__region {
42
+ padding: 25px 15px;
43
+ display: flex;
44
+ flex-direction: column;
45
+ gap: 1rem;
46
+ }
47
+
48
+ &__region--pricing {
49
+ position: sticky;
50
+ bottom: 0;
51
+ background: var(--tide-booking-sidebar-footer-background);
52
+ border-radius: 0px 0px var(--tide-booking-sidebar-frame-radius)
53
+ var(--tide-booking-sidebar-frame-radius);
54
+
55
+ small {
56
+ font-size: var(--tide-booking-sidebar-footer-small-font-size);
57
+ color: var(--tide-booking-sidebar-footer-small-color);
58
+
59
+ strong {
60
+ color: var(--tide-booking-sidebar-footer-small-strong-color);
61
+ }
62
+ }
63
+
64
+ .pricing-summary__row + .pricing-summary__row {
65
+ margin-top: 0;
66
+ }
67
+ }
68
+
69
+ &__region + &__region {
70
+ border-top: var(--tide-booking-sidebar-body-border);
71
+ }
72
+
73
+ &__region + &__region--pricing {
74
+ padding: 15px 0rem;
75
+ }
76
+
77
+ &__row {
78
+ width: 100%;
79
+ @include row;
80
+ justify-content: space-between;
81
+ font-size: var(--tide-booking-sidebar-body-font-size);
82
+ font-family: var(--tide-booking-sidebar-body-font-family);
83
+ line-height: 1.3;
84
+ }
85
+
86
+ &__title {
87
+ margin-bottom: 0;
88
+ color: var(--tide-booking-sidebar-body-title-color);
89
+ font-family: var(--tide-booking-sidebar-body-title-font-family);
90
+ font-size: var(--tide-booking-sidebar-body-title-font-size);
91
+ font-weight: var(--tide-booking-sidebar-body-title-font-weight);
92
+ }
93
+
94
+ &__value {
95
+ margin-left: 15px;
96
+ text-align: right;
97
+ color: var(--tide-booking-sidebar-body-color);
98
+ font-weight: var(--tide-booking-sidebar-body-font-weight);
99
+
100
+ &--flight {
101
+ font-weight: var(--tide-booking-sidebar-body-flight-font-weight);
102
+ color: var(--tide-booking-sidebar-body-flight-color);
103
+ }
104
+ }
105
+
106
+ &__social {
107
+ width: 100%;
108
+ padding: 15px;
109
+ margin-top: 20px;
110
+ @include column;
111
+ @include flex--centerXY;
112
+ text-align: center;
113
+ box-sizing: border-box;
114
+ }
115
+ }
116
+
117
+ .pricing-summary .pricing {
118
+ @include media-lg {
119
+ margin-top: -15px * 0.4;
120
+ }
121
+ }
122
+
123
+ .pricing-summary__region--pricing {
124
+ .pricing .pricing__price {
125
+ font-size: var(--tide-booking-sidebar-footer-advance-font-size);
126
+ font-weight: var(--tide-booking-sidebar-footer-advance-font-weight);
127
+ color: var(--tide-booking-sidebar-footer-advance-color);
128
+ margin-top: 0.3rem;
129
+ }
130
+
131
+ .pricing-summary__row--total-price {
132
+ .pricing__price {
133
+ //font-size: 1.8rem;(
134
+ font-size: var(--tide-booking-sidebar-footer-total-font-size);
135
+ font-weight: var(--tide-booking-sidebar-footer-total-font-weight);
136
+ color: var(--tide-booking-sidebar-footer-total-color);
137
+ line-height: 1.8;
138
+ }
139
+ }
140
+ }
141
+
142
+ @keyframes fadeInUp {
143
+ from {
144
+ opacity: 0;
145
+ transform: translateY(-12px);
146
+ }
147
+ to {
148
+ opacity: 1;
149
+ transform: translateY(0);
150
+ }
151
+ }
152
+
153
+ .pricing-summary__region--fade-in {
154
+ animation: fadeInUp 0.6s ease-out both;
155
+ }
@@ -1,20 +1,17 @@
1
- .qsm {
2
- @extend %reset;
3
- &__panel {
4
- @extend %reset;
5
- position: absolute;
6
- border-radius: 0.5rem;
7
- border: var(--tide-booking-datepicker-container-border);
8
- box-sizing: border-box;
9
- }
10
-
11
- &__close{
12
- position: absolute;
13
- right: 15px;
14
- top: 15px;
15
- fill: var(--tide-booking-datepicker-close-color);
16
- }
17
- }
18
-
19
-
20
-
1
+ .qsm {
2
+ @extend %reset;
3
+ &__panel {
4
+ @extend %reset;
5
+ position: absolute;
6
+ border-radius: 0.5rem;
7
+ border: var(--tide-booking-datepicker-container-border);
8
+ box-sizing: border-box;
9
+ }
10
+
11
+ &__close {
12
+ position: absolute;
13
+ right: 15px;
14
+ top: 15px;
15
+ fill: var(--tide-booking-datepicker-close-color);
16
+ }
17
+ }