@tui/design-system 1.0.0 → 1.1.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 (36) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/dist/themes/crystalski/index.css +6 -5
  3. package/dist/themes/crystalski/index.css.map +1 -1
  4. package/dist/themes/firstchoice/index.css +6 -5
  5. package/dist/themes/firstchoice/index.css.map +1 -1
  6. package/dist/themes/tui/index.css +9 -5
  7. package/dist/themes/tui/index.css.map +1 -1
  8. package/package.json +20 -14
  9. package/scss/lib/button/_mixins.scss +2 -0
  10. package/scss/lib/cards/selectable/_mixins.scss +135 -80
  11. package/scss/lib/cards/selectable/_variables.scss +0 -2
  12. package/scss/lib/flyout-dropdown/_mixins.scss +130 -59
  13. package/scss/lib/flyout-dropdown/_variables.scss +7 -0
  14. package/scss/lib/forms/input-checkbox/_mixins.scss +4 -0
  15. package/scss/lib/forms/input-chip/_mixins.scss +17 -27
  16. package/scss/lib/forms/input-chip/_variables.scss +0 -1
  17. package/scss/lib/forms/input-radio/_mixins.scss +4 -0
  18. package/scss/lib/forms/input-switch/_mixins.scss +1 -1
  19. package/scss/lib/grid/_mixins.scss +5 -3
  20. package/scss/lib/media-button/_mixins.scss +7 -0
  21. package/scss/lib/modal/_mixins.scss +8 -13
  22. package/scss/lib/ratings-reviews/range-bar/_variables.scss +1 -1
  23. package/scss/lib/scroller/_mixins.scss +9 -4
  24. package/scss/themes/crystalski/_overrides.scss +8 -0
  25. package/scss/themes/crystalski/index.scss +3 -0
  26. package/scss/themes/firstchoice/_overrides.scss +8 -0
  27. package/scss/themes/firstchoice/index.scss +3 -0
  28. package/scss/themes/tui/_colors.scss +3 -2
  29. package/scss/themes/tui/_primitives.scss +3 -0
  30. package/scss/themes/tui/index.scss +3 -0
  31. package/scss/themes/tui/theme.json +12 -0
  32. package/scss/variables/_colors.scss +4 -1
  33. package/scss/variables/_primitives.scss +3 -1
  34. package/scss/variables/base-theme.json +23 -16
  35. package/scss/variables.scss +1 -0
  36. package/types/components.ts +8 -5
@@ -6,8 +6,6 @@ $uilib-card-selectable-variables: (
6
6
  default-border-color: var(--uilib-color-border-card),
7
7
  dashed-border-color: var(--uilib-color-border-dashed),
8
8
  selected-border-color: var(--uilib-color-border-interaction),
9
- disabled-text-color: var(--uilib-color-other-disabled-soft),
10
- disabled-bg-color: var(--uilib-color-core-neutral),
11
9
  selected-icon: url('#{$uilib-assets-base-url}v3/icons/tui/standard/checkmark-corner-filled.svg'),
12
10
  selected-icon-shape: url('#{$uilib-assets-base-url}v3/icons/tui/standard/checkmark-corner-solid.svg'),
13
11
  ) !default;
@@ -1,4 +1,9 @@
1
+ @use 'sass:map';
2
+ @use '../grid/mixins' as *;
3
+ @use '../../variables/breakpoints' as *;
4
+ @use '../button/mixins' as *;
1
5
  @use '../divider/mixins' as *;
6
+ @use '../link/mixins' as *;
2
7
  @use '../icon/mixins' as *;
3
8
  @use '../icon-button/mixins' as *;
4
9
  @use '../scroller/mixins' as *;
@@ -9,7 +14,9 @@ $uilib-flyout-dropdown-included: false !default;
9
14
  @if not $uilib-flyout-dropdown-included {
10
15
  $uilib-flyout-dropdown-included: true !global;
11
16
 
17
+ @include uilib-button;
12
18
  @include uilib-divider;
19
+ @include uilib-link;
13
20
  @include uilib-icon;
14
21
  @include uilib-icon-button;
15
22
  @include uilib-scroller;
@@ -18,98 +25,160 @@ $uilib-flyout-dropdown-included: false !default;
18
25
  }
19
26
 
20
27
  @mixin uilib-flyout-dropdown-master() {
21
- .uilib-flyout-dropdown {
22
- @include uilib-flyout-dropdown-basic;
23
- }
24
-
25
- ::before {
26
- left: 50%;
27
- }
28
+ @keyframes slide-up {
29
+ from {
30
+ transform: translateY(100%);
31
+ }
28
32
 
29
- .uilib-flyout-dropdown--left {
30
- &::before {
31
- left: 2.8125rem; /* 45px/16 */
33
+ to {
34
+ transform: translateY(0);
32
35
  }
33
36
  }
34
37
 
35
- .uilib-flyout-dropdown--right {
36
- &::before {
37
- left: calc(100% - 2.8125rem - var(--uilib-spacing-500)); /* 45px/16 */
38
- }
38
+ tui-uilib-flyout-dropdown {
39
+ position: relative;
40
+
41
+ display: flex;
42
+
43
+ width: 100%;
39
44
  }
40
45
 
41
- .uilib-flyout-dropdown__content {
42
- flex-grow: 1;
46
+ .uilib-flyout-dropdown {
47
+ --uilib-flyout-arrow-padding: 2.813rem;
48
+ --uilib-flyout-arrow-size: var(--uilib-spacing-600);
49
+ --uilib-flyout-min-width: 21.375rem;
50
+ position: fixed;
51
+ inset: auto 0 0;
52
+ z-index: var(--uilib-layer-modal);
53
+
54
+ display: flex;
55
+ flex-direction: column;
43
56
 
44
57
  width: 100%;
58
+ max-width: 100%; // reset browser styles
59
+ max-height: calc(100vh - 2.75rem);
60
+ padding: var(--uilib-spacing-400);
61
+ box-sizing: border-box;
62
+
63
+ border-radius: var(--uilib-modal-radius) var(--uilib-modal-radius) 0 0;
64
+
65
+ background: var(--uilib-color-canvas-default);
45
66
 
46
67
  overflow: hidden;
47
68
 
48
- .uilib-flyout-dropdown__scroller-inner {
49
- display: flex;
50
- flex-direction: column;
51
- gap: var(--uilib-spacing-200);
69
+ &--modal {
70
+ position: static;
71
+ top: auto;
72
+ left: auto;
52
73
 
53
- @supports (-webkit-appearance: none) {
54
- /* Safari-specific styles */
55
- max-height: calc(100dvh - 16rem);
74
+ max-width: 100%;
75
+ max-height: 100%;
76
+ margin-top: 0;
77
+
78
+ filter: none;
79
+
80
+ &::before {
81
+ content: none;
56
82
  }
57
83
  }
58
- }
59
84
 
60
- .uilib-flyout-dropdown__header,
61
- .uilib-flyout-dropdown__footer {
62
- display: flex;
63
- flex-direction: row;
85
+ &--menu-flyout {
86
+ @include uilib-breakpoint(xs) {
87
+ .uilib-flyout-dropdown__header,
88
+ .uilib-divider {
89
+ display: none;
90
+ }
91
+ }
92
+ }
64
93
 
65
- width: 100%;
66
- }
94
+ @media (prefers-reduced-motion: no-preference) {
95
+ animation: slide-up var(--uilib-motion-duration-medium) var(--uilib-motion-timing-out);
96
+ }
67
97
 
68
- .uilib-flyout-dropdown__header {
69
- justify-content: space-between;
98
+ @include uilib-breakpoint(xs) {
99
+ animation: none;
70
100
 
71
- .uilib-flyout-dropdown-close-button {
72
- position: absolute;
73
- top: var(--uilib-spacing-100);
74
- right: var(--uilib-spacing-100);
101
+ @include uilib-flyout-dropdown-basic;
102
+ }
103
+
104
+ &:is(dialog):not([open]) {
105
+ // for dialog animation (only with html dialog)
106
+ display: none;
107
+ }
108
+
109
+ &::backdrop,
110
+ &__backdrop {
111
+ background: var(--uilib-modal-backdrop-color);
112
+ }
113
+
114
+ &__close-icon .uilib-icon {
115
+ -webkit-mask-image: var(--uilib-flyout-dropdown-close-icon);
116
+ mask-image: var(--uilib-flyout-dropdown-close-icon);
117
+ }
118
+
119
+ body:has(&[open]) {
120
+ overflow: hidden;
75
121
 
76
- &:focus-visible {
77
- position: absolute;
122
+ @include uilib-breakpoint(xs) {
123
+ overflow: auto;
78
124
  }
79
125
  }
80
- }
81
126
 
82
- .uilib-flyout-dropdown__heading {
83
- max-width: calc(100% - 44px);
127
+ &__header,
128
+ &__footer,
129
+ &__footer-default {
130
+ display: flex;
131
+ flex-direction: row;
84
132
 
85
- color: var(--uilib-color-text-strong);
86
- font: var(--uilib-typography-component-heading-small);
87
- }
133
+ width: 100%;
134
+ }
88
135
 
89
- .uilib-divider {
90
- width: 100%;
91
- }
136
+ &__header {
137
+ flex-shrink: 0;
138
+ justify-content: space-between;
139
+ align-items: center;
140
+
141
+ .uilib-flyout-dropdown__close-icon {
142
+ flex-shrink: 0;
143
+ }
144
+ }
145
+
146
+ &__heading {
147
+ max-width: calc(100% - var(--uilib-icon-button-size-medium));
92
148
 
93
- .uilib-flyout-dropdown__footer {
94
- gap: var(--uilib-spacing-400);
95
- justify-content: flex-end;
96
- align-items: center;
149
+ color: var(--uilib-color-text-strong);
150
+ font: var(--uilib-typography-component-heading-small);
151
+ }
152
+
153
+ &__footer-default {
154
+ gap: var(--uilib-spacing-400);
155
+ justify-content: flex-end;
156
+ align-items: center;
157
+ }
158
+
159
+ &__header-divider,
160
+ &__footer-divider {
161
+ width: 100%;
162
+ }
97
163
  }
98
164
  }
99
165
 
100
166
  /* For internal use to support richText component */
101
167
  @mixin uilib-flyout-dropdown-basic() {
102
168
  position: absolute;
169
+ inset: auto;
103
170
  top: 0;
104
- left: 0;
105
- z-index: 2000;
171
+ left: var(--flyout-left, 0);
172
+ z-index: var(--uilib-layer-dropdown);
106
173
 
107
174
  display: flex;
108
175
  flex-direction: column;
109
176
  gap: var(--uilib-spacing-200);
110
177
  align-items: flex-start;
111
178
 
112
- max-width: min(calc(100vw - var(--uilib-spacing-800)), 65.5rem); /* 1048px/16 */
179
+ width: auto;
180
+ min-width: var(--uilib-flyout-min-width);
181
+ max-width: min(var(--flyout-max-width, calc(100vw - var(--uilib-spacing-800))), 65.5rem);
113
182
  max-height: calc(100dvh - var(--uilib-spacing-800));
114
183
  margin-top: var(--uilib-spacing-400); /* 12px pointer/4px margin */
115
184
  padding: var(--uilib-spacing-400);
@@ -126,17 +195,19 @@ $uilib-flyout-dropdown-included: false !default;
126
195
 
127
196
  &::before {
128
197
  position: absolute;
129
- top: calc(var(--uilib-spacing-200) * -1);
130
- left: 50%;
198
+ top: calc(var(--uilib-spacing-300) * -1);
199
+ left: var(--arrow-left, 50%);
131
200
  content: '';
132
201
 
133
- width: var(--uilib-spacing-500);
134
- height: var(--uilib-spacing-500);
202
+ width: var(--uilib-flyout-arrow-size);
203
+ height: var(--uilib-flyout-arrow-size);
135
204
 
136
- border-radius: var(--uilib-border-radius-100);
205
+ border-radius: var(--uilib-border-radius-none);
137
206
 
138
207
  background-color: var(--uilib-color-core-neutral);
139
208
 
209
+ box-shadow: none;
210
+
140
211
  transform: rotate(45deg);
141
212
  transform-origin: center;
142
213
  }
@@ -0,0 +1,7 @@
1
+ @use '../../variables/env-variables' as *;
2
+ @use 'sass:map';
3
+
4
+ // flyout dropdown specific variables to allow themeing
5
+ $uilib-flyout-dropdown-variables: (
6
+ close-icon: url('#{$uilib-assets-base-url}v3/icons/tui/standard/cross.svg'),
7
+ ) !default;
@@ -153,6 +153,10 @@ $uilib-input-checkbox-included: false !default;
153
153
  &::after {
154
154
  cursor: default;
155
155
  }
156
+
157
+ .uilib-input-checkbox__label-content {
158
+ color: var(--uilib-color-text-body);
159
+ }
156
160
  }
157
161
 
158
162
  &__input:disabled:checked + .uilib-input-checkbox__label::before {
@@ -11,6 +11,7 @@ $uilib-input-chip-included: false !default;
11
11
 
12
12
  @include uilib-form-row;
13
13
  @include uilib-input-chip-master;
14
+ @include uilib-input-chip-list-master;
14
15
  }
15
16
  }
16
17
 
@@ -89,47 +90,36 @@ $uilib-input-chip-included: false !default;
89
90
  min-height: var(--uilib-spacing-1000); /* 40px */
90
91
  }
91
92
 
92
- &.uilib-input-chip--month-calendar {
93
- max-width: fit-content;
94
- }
95
-
96
93
  &.uilib-input-chip--month-calendar label {
97
94
  min-height: calc(var(--uilib-spacing-1200) + var(--uilib-spacing-050)); /* 50px */
98
95
  }
99
96
  }
100
97
  }
101
98
 
102
- @mixin uilib-input-chip-list() {
103
- [data-testid='list-choice']:has(.uilib-input-chip-list),
104
- .uilib-form-row__input:has(.uilib-input-chip-list) {
105
- .uilib-input-chip-list {
106
- display: flex;
107
- flex-flow: row wrap;
108
- gap: var(--uilib-spacing-200);
99
+ @mixin uilib-input-chip-list-master() {
100
+ .uilib-input-chip-list {
101
+ display: flex;
102
+ flex-flow: row wrap;
103
+ gap: var(--uilib-spacing-200);
109
104
 
110
- margin: 0;
111
- padding: 0;
112
- }
105
+ margin: 0;
106
+ padding: 0;
113
107
  }
114
108
 
115
109
  // Month calendar grid
110
+ .uilib-input-chip-list:has(.uilib-input-chip--month-calendar) {
111
+ display: grid;
112
+ grid-template-columns: repeat(3, 1fr);
113
+ gap: var(--uilib-spacing-200);
116
114
 
117
- [data-testid='list-month-calendar']:has(.uilib-input-chip-list),
118
- .uilib-form-row__input:has(.uilib-input-chip-list-month-calendar) {
119
- .uilib-input-chip-list-month-calendar {
120
- display: grid;
121
- grid-template-columns: repeat(3, 1fr);
122
- gap: var(--uilib-spacing-200);
115
+ max-width: calc(7.5rem * 3 + var(--uilib-spacing-200) * 2);
123
116
 
124
- max-width: calc(7.5rem * 3 + var(--uilib-spacing-200) * 2);
117
+ .uilib-input-chip--month-calendar {
118
+ width: 100%;
119
+ max-width: 7.5rem; /* 120px */
125
120
 
126
- .uilib-input-chip--month-calendar {
121
+ label {
127
122
  width: 100%;
128
- max-width: 7.5rem; /* 120px */
129
-
130
- label {
131
- width: 100%;
132
- }
133
123
  }
134
124
  }
135
125
  }
@@ -14,6 +14,5 @@ $uilib-input-chip-variables: (
14
14
  active-border-color: var(--uilib-color-core-interaction),
15
15
  active-hover-bg-color: color.mix(map.get($uilib-color-semantic, 'core-neutral'), map.get($uilib-color-semantic, 'core-interaction'), 80%),
16
16
  box-shadow: var(--uilib-elevation-200),
17
- disabled-text-color: var(--uilib-color-other-disabled-soft),
18
17
  disabled-bg-color: var(--uilib-color-core-neutral),
19
18
  ) !default;
@@ -128,6 +128,10 @@ $uilib-input-radio-included: false !default;
128
128
  &::after {
129
129
  cursor: default;
130
130
  }
131
+
132
+ .uilib-input-radio__label-content {
133
+ color: var(--uilib-color-text-body);
134
+ }
131
135
  }
132
136
 
133
137
  &__input:disabled:checked + .uilib-input-radio__label {
@@ -89,7 +89,7 @@ $uilib-input-switch-included: false !default;
89
89
  background-color: var(--uilib-input-switch-track-color-disabled);
90
90
 
91
91
  &::before {
92
- background-color: var(--uilib-input-switch-thumb-selected-color);
92
+ box-shadow: none;
93
93
  }
94
94
  }
95
95
  }
@@ -36,9 +36,11 @@
36
36
  $has-logic: $logic != null and $logic != false and #{$logic} != '';
37
37
 
38
38
  // Expect `$logic` like "(max-width: 47.5rem)" or "(max-width: 47.5rem) and (prefers-reduced-motion: no-preference)"
39
- $logic-suffix: if(
40
- sass($has-logic): ' and #{$logic}' ; else: '',
41
- );
39
+ $logic-suffix: '';
40
+
41
+ @if $has-logic {
42
+ $logic-suffix: ' and #{$logic}';
43
+ }
42
44
 
43
45
  @if not $breakpoint {
44
46
  @error "Breakpoint `#{$size}` not found in $uilib-breakpoints.";
@@ -57,6 +57,13 @@ $uilib-media-button-list-included: false !default;
57
57
  &:hover:not(:disabled, .uilib-button--disabled) {
58
58
  background: var(--uilib-button-secondary-hover-bg-color);
59
59
  }
60
+
61
+ &:disabled,
62
+ &.uilib-button--disabled {
63
+ color: var(--uilib-button-disabled-color);
64
+
65
+ background: var(--uilib-button-disabled-bg-color);
66
+ }
60
67
  }
61
68
  }
62
69
 
@@ -59,7 +59,9 @@ $uilib-modal-included: false !default;
59
59
  border: none;
60
60
  border-radius: var(--uilib-modal-radius) var(--uilib-modal-radius) 0 0;
61
61
 
62
- animation: slide-up var(--uilib-motion-duration-medium) var(--uilib-motion-timing-out);
62
+ @media (prefers-reduced-motion: no-preference) {
63
+ animation: slide-up var(--uilib-motion-duration-medium) var(--uilib-motion-timing-out);
64
+ }
63
65
 
64
66
  @include uilib-breakpoint(xs, $min-height-query) {
65
67
  inset: 6.25rem var(--uilib-spacing-400); // 100px 16px
@@ -85,17 +87,6 @@ $uilib-modal-included: false !default;
85
87
  }
86
88
  }
87
89
 
88
- // scroller is block by default, need to make it work with flex
89
- .uilib-scroller {
90
- display: flex;
91
-
92
- &__inner {
93
- flex: 1;
94
-
95
- height: auto;
96
- }
97
- }
98
-
99
90
  &:is(dialog):not([open]) {
100
91
  // for dialog animation (only with html dialog)
101
92
  display: none;
@@ -112,7 +103,11 @@ $uilib-modal-included: false !default;
112
103
  justify-content: space-between;
113
104
  align-items: center;
114
105
 
115
- h3 {
106
+ h3,
107
+ h2 {
108
+ max-width: calc(100% - var(--uilib-icon-button-size-medium));
109
+
110
+ color: var(--uilib-color-text-strong);
116
111
  font: var(--uilib-typography-component-heading-small);
117
112
  }
118
113
  }
@@ -10,7 +10,7 @@ $uilib-ratings-range-bar-variables: (
10
10
  bar-bg-color: var(--uilib-color-core-surface),
11
11
  tripadvisor-bar-width: 6.5625rem,
12
12
  // 105px / 16
13
- tripadvisor-bar-color: var(--uilib-color-brand-trip-advisor),
13
+ tripadvisor-bar-color: var(--uilib-color-brand-tripadvisor),
14
14
  tripadvisor-bar-bg-color: var(--uilib-color-other-disabled-soft),
15
15
  icon-color: var(--uilib-color-status-info-icon),
16
16
  ) !default;
@@ -58,7 +58,7 @@ $uilib-scroller-included: false !default;
58
58
 
59
59
  position: relative;
60
60
 
61
- display: block;
61
+ display: flex;
62
62
 
63
63
  overflow: hidden;
64
64
 
@@ -73,16 +73,19 @@ $uilib-scroller-included: false !default;
73
73
  }
74
74
 
75
75
  &__inner {
76
+ flex: 1;
77
+
76
78
  width: 100%;
77
- height: 100%;
79
+ height: auto;
80
+ padding-bottom: 0.0625rem; /* 1px padding to prevent miscalculations for content scroll */
78
81
 
79
82
  overflow-x: hidden;
80
83
  /* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties */
81
84
  overflow-y: auto;
82
- -webkit-mask: #{$mask-vertical};
83
- mask: #{$mask-vertical};
84
85
 
85
86
  animation: uilib-scrollfade;
87
+ -webkit-mask: #{$mask-vertical};
88
+ mask: #{$mask-vertical};
86
89
  animation-timeline: --uilib-scrollfade;
87
90
  scroll-timeline: --uilib-scrollfade y;
88
91
 
@@ -123,6 +126,8 @@ $uilib-scroller-included: false !default;
123
126
 
124
127
  /* stylelint-disable-next-line order/order */
125
128
  &--horizontal &__inner {
129
+ padding-bottom: 0;
130
+
126
131
  overflow-x: auto;
127
132
  /* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties */
128
133
  overflow-y: hidden;
@@ -142,6 +142,14 @@ $uilib-crystalski-flight-details-variables: map.merge(
142
142
  )
143
143
  );
144
144
 
145
+ // Flyout Dropdown
146
+ $uilib-crystalski-flyout-dropdown-variables: map.merge(
147
+ $uilib-flyout-dropdown-variables,
148
+ (
149
+ close-icon: url('#{$uilib-assets-base-url}v3/icons/crystalski/standard/cross.svg'),
150
+ )
151
+ );
152
+
145
153
  // Form datepicker
146
154
  $uilib-crystalski-datepicker-variables: map.merge(
147
155
  $uilib-datepicker-variables,
@@ -89,6 +89,9 @@
89
89
  // Flight details
90
90
  @include util.uilib-build-css-vars('flight-details', $uilib-crystalski-flight-details-variables);
91
91
 
92
+ // Flyout dropdown
93
+ @include util.uilib-build-css-vars('flyout-dropdown', $uilib-crystalski-flyout-dropdown-variables);
94
+
92
95
  // Form date picker
93
96
  @include util.uilib-build-css-vars('datepicker', $uilib-crystalski-datepicker-variables);
94
97
 
@@ -213,6 +213,14 @@ $uilib-firstchoice-flight-details-variables: map.merge(
213
213
  )
214
214
  );
215
215
 
216
+ // Flyout Dropdown
217
+ $uilib-firstchoice-flyout-dropdown-variables: map.merge(
218
+ $uilib-flyout-dropdown-variables,
219
+ (
220
+ close-icon: url('#{$uilib-assets-base-url}v3/icons/firstchoice/standard/cross.svg'),
221
+ )
222
+ );
223
+
216
224
  // Form datepicker
217
225
  $uilib-firstchoice-datepicker-variables: map.merge(
218
226
  $uilib-datepicker-variables,
@@ -89,6 +89,9 @@
89
89
  // Flight details
90
90
  @include util.uilib-build-css-vars('flight-details', $uilib-firstchoice-flight-details-variables);
91
91
 
92
+ // Flyout dropdown
93
+ @include util.uilib-build-css-vars('flyout-dropdown', $uilib-firstchoice-flyout-dropdown-variables);
94
+
92
95
  // Form date picker
93
96
  @include util.uilib-build-css-vars('datepicker', $uilib-firstchoice-datepicker-variables);
94
97
 
@@ -10,6 +10,9 @@ $uilib-color-semantic-tui: map.merge(
10
10
  core-brand-strong: map.get($uilib-tui-primitives, 'color-blue-100'),
11
11
  border-dashed: map.get($uilib-tui-primitives, 'color-neutral-50'),
12
12
  promotion-free-kids: map.get($uilib-tui-primitives, 'color-coolblue-70'),
13
+ promotion-smiles-level-1: map.get($uilib-tui-primitives, 'color-sea-blue-20'),
14
+ promotion-smiles-level-2: map.get($uilib-tui-primitives, 'color-sea-blue-50'),
15
+ promotion-smiles-level-3: map.get($uilib-tui-primitives, 'color-sea-blue-100'),
13
16
  other-gradient-linear-soft: linear-gradient(
14
17
  180deg,
15
18
  map.get($uilib-tui-primitives, 'color-coolblue-20') 0.33%,
@@ -53,8 +56,6 @@ $uilib-color-semantic-tui: map.merge(
53
56
  brand-time-to-smile: map.get($uilib-tui-primitives, 'color-brand-time-to-smile-gold'),
54
57
  brand-holiday-villages: map.get($uilib-tui-primitives, 'color-brand-holiday-villages-purple'),
55
58
  brand-kids-club: map.get($uilib-tui-primitives, 'color-brand-kids-club-blue'),
56
- brand-trip-advisor: map.get($uilib-tui-primitives, 'color-brand-trip-advisor-green'),
57
- brand-paypal: map.get($uilib-tui-primitives, 'color-brand-paypal-blue'),
58
59
  brand-local: map.get($uilib-tui-primitives, 'color-brand-local-biege'),
59
60
  brand-musement: map.get($uilib-tui-primitives, 'color-brand-musement-yellow'),
60
61
  )
@@ -4,6 +4,9 @@
4
4
  $uilib-tui-primitives: map.merge(
5
5
  $uilib-primitives,
6
6
  (
7
+ color-sea-blue-20: #dbf7fb,
8
+ color-sea-blue-50: #a5ebf4,
9
+ color-sea-blue-100: #4bd7e9,
7
10
  color-brand-tui-midnight-blue: #0b092d,
8
11
  color-brand-tui-blue-blue: #1b115c,
9
12
  color-brand-magiclife-yellow: #fff700,
@@ -89,6 +89,9 @@
89
89
  // Flight details
90
90
  @include util.uilib-build-css-vars('flight-details', $uilib-flight-details-variables);
91
91
 
92
+ // Flyout dropdown
93
+ @include util.uilib-build-css-vars('flyout-dropdown', $uilib-flyout-dropdown-variables);
94
+
92
95
  // Form date picker
93
96
  @include util.uilib-build-css-vars('datepicker', $uilib-datepicker-variables);
94
97
 
@@ -15,6 +15,18 @@
15
15
  "primitive": "color-coolblue-70",
16
16
  "title": "Promotion free kids",
17
17
  "lowContrast": true
18
+ },
19
+ "color-promotion-smiles-level-1": {
20
+ "primitive": "color-sea-blue-20",
21
+ "title": "Promotion smiles level 1"
22
+ },
23
+ "color-promotion-smiles-level-2": {
24
+ "primitive": "color-sea-blue-50",
25
+ "title": "Promotion smiles level 2"
26
+ },
27
+ "color-promotion-smiles-level-3": {
28
+ "primitive": "color-sea-blue-100",
29
+ "title": "Promotion smiles level 3"
18
30
  }
19
31
  }
20
32
  },
@@ -45,9 +45,12 @@ $uilib-color-semantic: (
45
45
  other-button-hover-state: color.scale(map.get($uilib-primitives, 'color-neutral-10'), $alpha: -80%),
46
46
  other-secondary-button-hover-state: map.get($uilib-primitives, 'color-blue-10'),
47
47
  other-skeleton-loading: map.get($uilib-primitives, 'color-neutral-40'),
48
- brand-trip-advisor: map.get($uilib-primitives, 'color-brand-trip-advisor-green'),
48
+ brand-tripadvisor: map.get($uilib-primitives, 'color-brand-tripadvisor-green-60'),
49
+ brand-tripadvisor-pine-green: map.get($uilib-primitives, 'color-brand-tripadvisor-pine-green'),
50
+ brand-tripadvisor-inverse: map.get($uilib-primitives, 'color-brand-tripadvisor-trip-green'),
49
51
  brand-paypal: map.get($uilib-primitives, 'color-brand-paypal-blue'),
50
52
  other-scroll-handle: map.get($uilib-primitives, 'color-neutral-50'),
53
+ /* Deprecated */ brand-trip-advisor: map.get($uilib-primitives, 'color-brand-tripadvisor-green-60'),
51
54
  );
52
55
 
53
56
  // color palette
@@ -76,7 +76,9 @@ $uilib-primitives: (
76
76
  color-purple-20: #ecd8fd,
77
77
  color-purple-10: #f5ecfe,
78
78
 
79
- color-brand-trip-advisor-green: #00aa6c,
79
+ color-brand-tripadvisor-trip-green: #00eb5b,
80
+ color-brand-tripadvisor-green-60: #00b747,
81
+ color-brand-tripadvisor-pine-green: #002b11,
80
82
  color-brand-paypal-blue: #253b80,
81
83
 
82
84
  // 11px