@qite/tide-booking-component 1.4.2 → 1.4.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 (132) 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/components/phone-input.d.ts +17 -0
  5. package/build/build-cjs/booking-wizard/features/booking/selectors.d.ts +41 -12
  6. package/build/build-cjs/booking-wizard/features/summary/summary-flight.d.ts +2 -2
  7. package/build/build-cjs/booking-wizard/features/travelers-form/controls/gender-control.d.ts +5 -0
  8. package/build/build-cjs/booking-wizard/features/travelers-form/travelers-form-util.d.ts +7 -0
  9. package/build/build-cjs/booking-wizard/features/travelers-form/validate-form.d.ts +2 -2
  10. package/build/build-cjs/booking-wizard/types.d.ts +13 -0
  11. package/build/build-cjs/index.js +458 -273
  12. package/build/build-cjs/shared/utils/localization-util.d.ts +3 -0
  13. package/build/build-esm/booking-wizard/components/phone-input.d.ts +17 -0
  14. package/build/build-esm/booking-wizard/features/booking/selectors.d.ts +41 -12
  15. package/build/build-esm/booking-wizard/features/summary/summary-flight.d.ts +2 -2
  16. package/build/build-esm/booking-wizard/features/travelers-form/controls/gender-control.d.ts +5 -0
  17. package/build/build-esm/booking-wizard/features/travelers-form/travelers-form-util.d.ts +7 -0
  18. package/build/build-esm/booking-wizard/features/travelers-form/validate-form.d.ts +2 -2
  19. package/build/build-esm/booking-wizard/types.d.ts +13 -0
  20. package/build/build-esm/index.js +460 -275
  21. package/build/build-esm/shared/utils/localization-util.d.ts +3 -0
  22. package/package.json +1 -1
  23. package/rollup.config.js +23 -23
  24. package/src/booking-product/components/age-select.tsx +35 -35
  25. package/src/booking-product/components/amount-input.tsx +78 -78
  26. package/src/booking-product/components/date-range-picker/calendar-day.tsx +58 -58
  27. package/src/booking-product/components/date-range-picker/calendar.tsx +178 -178
  28. package/src/booking-product/components/date-range-picker/index.tsx +196 -196
  29. package/src/booking-product/components/dates.tsx +136 -136
  30. package/src/booking-product/components/footer.tsx +69 -69
  31. package/src/booking-product/components/header.tsx +79 -79
  32. package/src/booking-product/components/icon.tsx +251 -251
  33. package/src/booking-product/components/rating.tsx +21 -21
  34. package/src/booking-product/components/rooms.tsx +199 -199
  35. package/src/booking-product/index.tsx +30 -30
  36. package/src/booking-product/settings-context.ts +14 -14
  37. package/src/booking-product/types.ts +28 -28
  38. package/src/booking-product/utils/api.ts +25 -25
  39. package/src/booking-product/utils/price.ts +28 -28
  40. package/src/booking-wizard/api-settings-slice.ts +24 -24
  41. package/src/booking-wizard/components/icon.tsx +508 -508
  42. package/src/booking-wizard/components/labeled-input.tsx +64 -64
  43. package/src/booking-wizard/components/labeled-select.tsx +69 -69
  44. package/src/booking-wizard/components/message.tsx +34 -34
  45. package/src/booking-wizard/components/multi-range-filter.tsx +113 -113
  46. package/src/booking-wizard/components/phone-input.tsx +181 -0
  47. package/src/booking-wizard/components/product-card.tsx +37 -37
  48. package/src/booking-wizard/components/step-indicator.tsx +51 -51
  49. package/src/booking-wizard/components/step-route.tsx +27 -27
  50. package/src/booking-wizard/declarations.d.ts +4 -4
  51. package/src/booking-wizard/features/booking/api.ts +49 -49
  52. package/src/booking-wizard/features/booking/booking-slice.ts +2 -0
  53. package/src/booking-wizard/features/booking/booking.tsx +28 -28
  54. package/src/booking-wizard/features/booking/constants.ts +16 -16
  55. package/src/booking-wizard/features/booking/selectors.ts +17 -14
  56. package/src/booking-wizard/features/error/error.tsx +78 -78
  57. package/src/booking-wizard/features/flight-options/flight-filter.tsx +432 -432
  58. package/src/booking-wizard/features/flight-options/flight-option-flight.tsx +385 -385
  59. package/src/booking-wizard/features/flight-options/flight-option-modal.tsx +229 -229
  60. package/src/booking-wizard/features/flight-options/flight-option.tsx +80 -80
  61. package/src/booking-wizard/features/flight-options/index.tsx +196 -196
  62. package/src/booking-wizard/features/price-details/price-details-api.ts +24 -24
  63. package/src/booking-wizard/features/price-details/price-details-slice.ts +178 -178
  64. package/src/booking-wizard/features/price-details/util.ts +155 -155
  65. package/src/booking-wizard/features/product-options/no-options.tsx +21 -21
  66. package/src/booking-wizard/features/product-options/none-option.tsx +121 -121
  67. package/src/booking-wizard/features/product-options/option-booking-airline-group.tsx +64 -64
  68. package/src/booking-wizard/features/product-options/option-booking-group.tsx +216 -216
  69. package/src/booking-wizard/features/product-options/option-item.tsx +321 -321
  70. package/src/booking-wizard/features/product-options/option-pax-card.tsx +201 -201
  71. package/src/booking-wizard/features/product-options/option-pax-group.tsx +175 -175
  72. package/src/booking-wizard/features/product-options/option-unit-group.tsx +198 -198
  73. package/src/booking-wizard/features/product-options/option-units-card.tsx +185 -185
  74. package/src/booking-wizard/features/room-options/index.tsx +187 -187
  75. package/src/booking-wizard/features/room-options/room-utils.ts +190 -190
  76. package/src/booking-wizard/features/room-options/room.tsx +161 -161
  77. package/src/booking-wizard/features/room-options/traveler-rooms.tsx +75 -75
  78. package/src/booking-wizard/features/sidebar/sidebar-flight.tsx +4 -2
  79. package/src/booking-wizard/features/sidebar/sidebar-util.ts +2 -0
  80. package/src/booking-wizard/features/summary/summary-booking-option-unit.tsx +25 -25
  81. package/src/booking-wizard/features/summary/summary-flight.tsx +7 -6
  82. package/src/booking-wizard/features/summary/summary-per-booking-option-group.tsx +69 -69
  83. package/src/booking-wizard/features/summary/summary-per-pax-option-group.tsx +63 -63
  84. package/src/booking-wizard/features/summary/summary-per-unit-option-group.tsx +66 -66
  85. package/src/booking-wizard/features/summary/summary-slice.ts +28 -28
  86. package/src/booking-wizard/features/summary/summary.tsx +91 -62
  87. package/src/booking-wizard/features/travelers-form/controls/gender-control.tsx +70 -0
  88. package/src/booking-wizard/features/travelers-form/travelers-form-util.ts +11 -0
  89. package/src/booking-wizard/features/travelers-form/travelers-form.tsx +451 -313
  90. package/src/booking-wizard/features/travelers-form/type-ahead-input.tsx +101 -101
  91. package/src/booking-wizard/features/travelers-form/validate-form.ts +84 -98
  92. package/src/booking-wizard/index.tsx +36 -36
  93. package/src/booking-wizard/store.ts +31 -31
  94. package/src/booking-wizard/types.ts +15 -0
  95. package/src/index.ts +4 -4
  96. package/src/shared/components/loader.tsx +16 -16
  97. package/src/shared/translations/en-GB.json +3 -0
  98. package/src/shared/translations/fr-BE.json +3 -0
  99. package/src/shared/translations/nl-BE.json +3 -0
  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 -62
  103. package/src/shared/utils/query-string-util.ts +119 -119
  104. package/styles/booking-product-variables.scss +394 -394
  105. package/styles/booking-product.scss +446 -446
  106. package/styles/booking-wizard.scss +1 -0
  107. package/styles/components/_animations.scss +39 -39
  108. package/styles/components/_base.scss +107 -107
  109. package/styles/components/_button.scss +238 -238
  110. package/styles/components/_checkbox.scss +219 -219
  111. package/styles/components/_cta.scss +208 -208
  112. package/styles/components/_date-list.scss +41 -41
  113. package/styles/components/_date-range-picker.scss +225 -225
  114. package/styles/components/_decrement-increment.scss +35 -35
  115. package/styles/components/_flight-option.scss +1429 -1429
  116. package/styles/components/_info-message.scss +71 -71
  117. package/styles/components/_input.scss +25 -25
  118. package/styles/components/_list.scss +187 -187
  119. package/styles/components/_loader.scss +72 -72
  120. package/styles/components/_mixins.scss +550 -550
  121. package/styles/components/_phone-input.scss +8 -0
  122. package/styles/components/_placeholders.scss +166 -166
  123. package/styles/components/_pricing-summary.scss +155 -155
  124. package/styles/components/_qsm.scss +17 -17
  125. package/styles/components/_radiobutton.scss +170 -170
  126. package/styles/components/_select-wrapper.scss +80 -80
  127. package/styles/components/_spinner.scss +29 -29
  128. package/styles/components/_table.scss +81 -81
  129. package/styles/components/_tree.scss +530 -530
  130. package/styles/components/_typeahead.scss +281 -281
  131. package/styles/components/_variables.scss +89 -89
  132. package/tsconfig.json +24 -24
@@ -0,0 +1,8 @@
1
+ .phone-input {
2
+ display: flex;
3
+ gap: 5px;
4
+
5
+ .dropdown {
6
+ width: 40%;
7
+ }
8
+ }
@@ -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 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
+ // 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,155 +1,155 @@
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
+ .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,17 +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
- }
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
+ }