@tui/design-system 1.1.1 → 1.3.0
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.
- package/CHANGELOG.md +94 -3
- package/dist/themes/crystalski/index.css +15 -4
- package/dist/themes/crystalski/index.css.map +1 -1
- package/dist/themes/firstchoice/index.css +15 -4
- package/dist/themes/firstchoice/index.css.map +1 -1
- package/dist/themes/tui/index.css +15 -4
- package/dist/themes/tui/index.css.map +1 -1
- package/package.json +5 -5
- package/scss/lib/cards/selectable/_mixins.scss +2 -2
- package/scss/lib/forms/form-row/_mixins.scss +1 -0
- package/scss/lib/forms/input-checkbox/_mixins.scss +2 -0
- package/scss/lib/forms/input-chip/_mixins.scss +14 -10
- package/scss/lib/forms/input-count/_mixins.scss +2 -0
- package/scss/lib/forms/input-radio/_mixins.scss +2 -0
- package/scss/lib/forms/input-radio-scroll/_index.scss +3 -0
- package/scss/lib/forms/input-radio-scroll/_mixins.scss +185 -0
- package/scss/lib/forms/input-radio-scroll/_variables.scss +7 -0
- package/scss/lib/grid/_mixins.scss +1 -1
- package/scss/lib/ratings-reviews/range-bar/_mixins.scss +81 -22
- package/scss/lib/ratings-reviews/range-bar/_variables.scss +6 -6
- package/scss/lib/ratings-reviews/range-icons/_mixins.scss +62 -13
- package/scss/lib/ratings-reviews/range-icons/_variables.scss +7 -0
- package/scss/lib/ratings-reviews/range-icons-group/_mixins.scss +7 -1
- package/scss/lib/scroller/_mixins.scss +7 -6
- package/scss/lib/tabs/_mixins.scss +2 -2
- package/scss/lib/tabs/anchor/_mixins.scss +1 -1
- package/scss/lib/travel-aware-banner/_index.scss +3 -0
- package/scss/lib/travel-aware-banner/_mixins.scss +58 -0
- package/scss/lib/travel-aware-banner/_variables.scss +4 -0
- package/scss/lib/utility/_mixins.scss +1 -0
- package/scss/mixins.scss +2 -0
- package/scss/themes/crystalski/_overrides.scss +9 -0
- package/scss/themes/crystalski/index.scss +6 -0
- package/scss/themes/firstchoice/_overrides.scss +9 -0
- package/scss/themes/firstchoice/index.scss +6 -0
- package/scss/themes/tui/index.scss +6 -0
- package/scss/variables/_border-radius.scss +2 -0
- package/scss/variables/base-theme.json +88 -27
- package/scss/variables.scss +2 -0
- package/types/components.ts +461 -435
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
// radio scroll / _mixins
|
|
2
|
+
@use '../../utility/mixins' as *;
|
|
3
|
+
@use '../../cards/selectable/mixins' as *;
|
|
4
|
+
@use '../form-row/mixins' as *;
|
|
5
|
+
@use '../input-chip/mixins' as *;
|
|
6
|
+
@use '../../icon/mixins' as *;
|
|
7
|
+
@use '../../icon-button/mixins' as *;
|
|
8
|
+
@use '../../link/mixins' as *;
|
|
9
|
+
|
|
10
|
+
$uilib-input-radio-scroll-included: false !default;
|
|
11
|
+
|
|
12
|
+
// Builds radio scroll
|
|
13
|
+
@mixin uilib-input-radio-scroll() {
|
|
14
|
+
@if not $uilib-input-radio-scroll-included {
|
|
15
|
+
$uilib-input-radio-scroll-included: true !global;
|
|
16
|
+
|
|
17
|
+
@include uilib-form-row;
|
|
18
|
+
@include uilib-input-chip;
|
|
19
|
+
@include uilib-card-selectable;
|
|
20
|
+
@include uilib-icon;
|
|
21
|
+
@include uilib-icon-button;
|
|
22
|
+
@include uilib-link;
|
|
23
|
+
@include uilib-input-radio-scroll-master;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@mixin uilib-input-radio-scroll-master() {
|
|
28
|
+
@property --uilib-input-radio-scroll-start-fade {
|
|
29
|
+
syntax: '<length>';
|
|
30
|
+
inherits: false;
|
|
31
|
+
initial-value: 0;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@property --uilib-input-radio-scroll-end-fade {
|
|
35
|
+
syntax: '<length>';
|
|
36
|
+
inherits: false;
|
|
37
|
+
initial-value: 0;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@keyframes uilib-input-radio-scroll-scrollfade {
|
|
41
|
+
0% {
|
|
42
|
+
--uilib-input-radio-scroll-start-fade: 0;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
10%,
|
|
46
|
+
100% {
|
|
47
|
+
--uilib-input-radio-scroll-start-fade: var(--uilib-scroller-fade-size);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* stylelint-disable-next-line keyframe-block-no-duplicate-selectors */
|
|
51
|
+
0%,
|
|
52
|
+
90% {
|
|
53
|
+
--uilib-input-radio-scroll-end-fade: var(--uilib-scroller-fade-size);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/* stylelint-disable-next-line keyframe-block-no-duplicate-selectors */
|
|
57
|
+
100% {
|
|
58
|
+
--uilib-input-radio-scroll-end-fade: 0;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.uilib-input-radio-scroll {
|
|
63
|
+
$uilib-input-radio-scroll-mask-horizontal: linear-gradient(
|
|
64
|
+
to right,
|
|
65
|
+
#0000,
|
|
66
|
+
#fff var(--uilib-input-radio-scroll-start-fade) calc(100% - var(--uilib-input-radio-scroll-end-fade)),
|
|
67
|
+
#0000
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
.uilib-form-row__label {
|
|
71
|
+
font: var(--uilib-typography-heading-xlarge);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.uilib-form-row__hint {
|
|
75
|
+
margin-top: var(--uilib-spacing-200);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.uilib-form-row__input {
|
|
79
|
+
display: grid;
|
|
80
|
+
grid-template-columns: 1fr fit-content;
|
|
81
|
+
gap: var(--uilib-spacing-400);
|
|
82
|
+
|
|
83
|
+
margin: var(--uilib-spacing-400) 0;
|
|
84
|
+
|
|
85
|
+
&:has(.uilib-input-chip-list:focus-visible),
|
|
86
|
+
&:has(.uilib-card-selectable-list:focus-visible) {
|
|
87
|
+
@include uilib-focus();
|
|
88
|
+
|
|
89
|
+
/* stylelint-disable-next-line order/order */
|
|
90
|
+
border-radius: var(--uilib-border-radius-200);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.uilib-input-chip-list,
|
|
95
|
+
.uilib-card-selectable-list {
|
|
96
|
+
grid-column: 1 / span 2;
|
|
97
|
+
|
|
98
|
+
display: flex;
|
|
99
|
+
flex-flow: row nowrap;
|
|
100
|
+
gap: var(--uilib-spacing-200);
|
|
101
|
+
align-items: stretch;
|
|
102
|
+
|
|
103
|
+
min-width: 0;
|
|
104
|
+
margin: calc(var(--uilib-spacing-200) * -1);
|
|
105
|
+
padding: var(--uilib-spacing-200) 0;
|
|
106
|
+
|
|
107
|
+
overflow-x: auto;
|
|
108
|
+
|
|
109
|
+
animation: uilib-input-radio-scroll-scrollfade;
|
|
110
|
+
scroll-behavior: smooth;
|
|
111
|
+
|
|
112
|
+
-webkit-mask: #{$uilib-input-radio-scroll-mask-horizontal};
|
|
113
|
+
mask: #{$uilib-input-radio-scroll-mask-horizontal};
|
|
114
|
+
animation-timeline: --uilib-input-radio-scroll-scrollfade;
|
|
115
|
+
scroll-timeline: --uilib-input-radio-scroll-scrollfade x;
|
|
116
|
+
|
|
117
|
+
&::before,
|
|
118
|
+
&::after {
|
|
119
|
+
content: '';
|
|
120
|
+
|
|
121
|
+
display: block;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
&:focus-visible::before {
|
|
125
|
+
position: static;
|
|
126
|
+
|
|
127
|
+
box-shadow: none;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.uilib-input-chip,
|
|
132
|
+
.uilib-card-selectable-list__item {
|
|
133
|
+
flex: 0 0 var(--card-width, var(--card-default-width, 18rem));
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.uilib-input-chip__label {
|
|
137
|
+
width: 100%;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
&__link {
|
|
141
|
+
grid-row: 2;
|
|
142
|
+
grid-column: 1;
|
|
143
|
+
|
|
144
|
+
place-self: flex-start flex-start;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
&__button-container {
|
|
148
|
+
grid-row: 2;
|
|
149
|
+
grid-column: 2;
|
|
150
|
+
|
|
151
|
+
display: flex;
|
|
152
|
+
flex-flow: row nowrap;
|
|
153
|
+
gap: var(--uilib-spacing-400);
|
|
154
|
+
justify-self: end;
|
|
155
|
+
align-items: flex-start;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
&__button-previous .uilib-icon {
|
|
159
|
+
mask-image: var(--uilib-input-radio-scroll-previous-icon);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
&__button-next .uilib-icon {
|
|
163
|
+
mask-image: var(--uilib-input-radio-scroll-next-icon);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
&:not(:has(&__button-container)) {
|
|
167
|
+
.uilib-input-chip-list,
|
|
168
|
+
.uilib-card-selectable-list {
|
|
169
|
+
-webkit-mask: none;
|
|
170
|
+
mask: none;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
&__accessible-instructions {
|
|
175
|
+
@include uilib-visually-hidden;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
&[is-hydrated] {
|
|
179
|
+
.uilib-input-chip-list,
|
|
180
|
+
.uilib-card-selectable-list {
|
|
181
|
+
scrollbar-width: none;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
@use '../../../variables/env-variables' as *;
|
|
2
|
+
|
|
3
|
+
// Input radio scroll specific variables to allow theming
|
|
4
|
+
$uilib-input-radio-scroll-variables: (
|
|
5
|
+
previous-icon: url('#{$uilib-assets-base-url}v3/icons/tui/standard/chevron-left.svg'),
|
|
6
|
+
next-icon: url('#{$uilib-assets-base-url}v3/icons/tui/standard/chevron-right.svg'),
|
|
7
|
+
) !default;
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
@mixin uilib-container-breakpoint($size, $container-name: null, $logic: null) {
|
|
34
34
|
/* stylelint-disable container-name-pattern */
|
|
35
35
|
$breakpoint: map.get($uilib-breakpoints, $size);
|
|
36
|
-
$has-logic: $logic != null and $logic != false and
|
|
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
39
|
$logic-suffix: '';
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
@use '../../utility/mixins' as *;
|
|
2
2
|
@use './variables' as *;
|
|
3
|
-
@use '../../icon/mixins' as *;
|
|
4
3
|
|
|
5
4
|
$uilib-ratings-range-bar-included: false !default;
|
|
6
5
|
|
|
@@ -9,7 +8,6 @@ $uilib-ratings-range-bar-included: false !default;
|
|
|
9
8
|
@if not $uilib-ratings-range-bar-included {
|
|
10
9
|
$uilib-ratings-range-bar-included: true !global;
|
|
11
10
|
|
|
12
|
-
@include uilib-icon;
|
|
13
11
|
@include uilib-ratings-range-bar-master;
|
|
14
12
|
}
|
|
15
13
|
}
|
|
@@ -20,7 +18,10 @@ $uilib-ratings-range-bar-included: false !default;
|
|
|
20
18
|
--percentage: 0;
|
|
21
19
|
|
|
22
20
|
display: inline-flex;
|
|
23
|
-
flex-
|
|
21
|
+
flex-flow: row wrap;
|
|
22
|
+
gap: var(--uilib-spacing-100) var(--uilib-spacing-600);
|
|
23
|
+
|
|
24
|
+
max-width: 100%;
|
|
24
25
|
|
|
25
26
|
/* Visually hidden helper */
|
|
26
27
|
&--hidden {
|
|
@@ -28,13 +29,8 @@ $uilib-ratings-range-bar-included: false !default;
|
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
// /* Variant-specific configurations */
|
|
31
|
-
&--tripadvisor {
|
|
32
|
-
flex-direction: row;
|
|
33
|
-
gap: var(--uilib-spacing-600);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
32
|
&--tripadvisor &__bar {
|
|
37
|
-
|
|
33
|
+
border-color: var(--uilib-ratings-range-bar-tripadvisor-bar-color);
|
|
38
34
|
|
|
39
35
|
background: var(--uilib-ratings-range-bar-tripadvisor-bar-bg-color);
|
|
40
36
|
|
|
@@ -43,17 +39,68 @@ $uilib-ratings-range-bar-included: false !default;
|
|
|
43
39
|
}
|
|
44
40
|
}
|
|
45
41
|
|
|
46
|
-
&--tripadvisor &__content {
|
|
47
|
-
gap: var(--uilib-spacing-200);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
42
|
&-group {
|
|
51
|
-
display:
|
|
52
|
-
|
|
53
|
-
gap: var(--uilib-spacing-300);
|
|
43
|
+
display: grid;
|
|
44
|
+
grid-template-columns: fit-content(45%) max-content minmax(0, var(--uilib-ratings-range-bar-bar-width));
|
|
45
|
+
gap: var(--uilib-spacing-200) var(--uilib-spacing-300);
|
|
46
|
+
|
|
47
|
+
max-width: 100%;
|
|
48
|
+
margin: var(--uilib-spacing-400) 0;
|
|
49
|
+
|
|
50
|
+
container-type: inline-size;
|
|
51
|
+
container-name: uilib-rating-range-bar-group;
|
|
52
|
+
|
|
53
|
+
@media (max-width: 16rem) {
|
|
54
|
+
grid-template-columns: 1fr;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&:has(.uilib-ratings-range-bar__bar + .uilib-ratings-range-bar__score) {
|
|
58
|
+
grid-template-columns: fit-content(45%) minmax(0, var(--uilib-ratings-range-bar-bar-width)) max-content;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.uilib-ratings-range-bar,
|
|
62
|
+
.uilib-ratings-range-bar__content {
|
|
63
|
+
display: contents;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.uilib-ratings-range-bar__bar {
|
|
67
|
+
width: auto;
|
|
68
|
+
max-width: unset;
|
|
69
|
+
}
|
|
54
70
|
|
|
55
|
-
|
|
56
|
-
|
|
71
|
+
.uilib-ratings-range-bar__label {
|
|
72
|
+
padding-right: var(--uilib-spacing-300);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/* stylelint-disable-next-line order/order */
|
|
76
|
+
@container uilib-rating-range-bar-group (max-width: 16rem) {
|
|
77
|
+
.uilib-ratings-range-bar {
|
|
78
|
+
grid-column: 1 / -1;
|
|
79
|
+
|
|
80
|
+
display: block;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.uilib-ratings-range-bar__label {
|
|
84
|
+
padding-right: 0;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.uilib-ratings-range-bar__content {
|
|
88
|
+
display: flex;
|
|
89
|
+
justify-content: flex-start;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.uilib-ratings-range-bar__bar {
|
|
93
|
+
order: 0;
|
|
94
|
+
|
|
95
|
+
flex-grow: 1;
|
|
96
|
+
|
|
97
|
+
width: auto;
|
|
98
|
+
max-width: calc(100% - (var(--uilib-spacing-300) + 4ex));
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.uilib-ratings-range-bar__score {
|
|
102
|
+
order: 1;
|
|
103
|
+
}
|
|
57
104
|
}
|
|
58
105
|
}
|
|
59
106
|
|
|
@@ -62,24 +109,36 @@ $uilib-ratings-range-bar-included: false !default;
|
|
|
62
109
|
gap: var(--uilib-spacing-200);
|
|
63
110
|
align-items: center;
|
|
64
111
|
|
|
65
|
-
|
|
112
|
+
color: var(--uilib-color-text-strong);
|
|
113
|
+
font: var(--uilib-typography-label-small-strong);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
&__score {
|
|
117
|
+
color: var(--uilib-color-text-strong);
|
|
118
|
+
font: var(--uilib-typography-label-small-strong);
|
|
119
|
+
text-align: right;
|
|
66
120
|
}
|
|
67
121
|
|
|
68
122
|
&__icon {
|
|
69
|
-
|
|
123
|
+
display: none;
|
|
70
124
|
}
|
|
71
125
|
|
|
72
126
|
&__content {
|
|
73
127
|
display: flex;
|
|
74
128
|
gap: var(--uilib-spacing-300);
|
|
129
|
+
justify-content: flex-end;
|
|
75
130
|
align-items: center;
|
|
131
|
+
|
|
132
|
+
min-width: 0;
|
|
76
133
|
}
|
|
77
134
|
|
|
78
135
|
&__bar {
|
|
79
136
|
width: var(--uilib-ratings-range-bar-bar-width);
|
|
80
|
-
height:
|
|
137
|
+
height: calc(1rem - var(--uilib-stroke-size-050));
|
|
138
|
+
margin-top: var(--uilib-spacing-050);
|
|
81
139
|
|
|
82
|
-
border
|
|
140
|
+
border: var(--uilib-stroke-size-025) var(--uilib-stroke-style-solid) var(--uilib-ratings-range-bar-bar-color);
|
|
141
|
+
border-radius: var(--uilib-border-radius-pill);
|
|
83
142
|
|
|
84
143
|
background: var(--uilib-ratings-range-bar-bar-bg-color);
|
|
85
144
|
|
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
// Range icons rating specific variables to allow theming
|
|
6
6
|
$uilib-ratings-range-bar-variables: (
|
|
7
|
-
bar-width: 11.
|
|
8
|
-
//
|
|
7
|
+
bar-width: 11.25rem,
|
|
8
|
+
// 180 / 16
|
|
9
9
|
bar-color: var(--uilib-color-core-brand),
|
|
10
|
-
bar-bg-color: var(--uilib-color-core-
|
|
11
|
-
tripadvisor-bar-width: 6.5625rem,
|
|
12
|
-
// 105px / 16
|
|
10
|
+
bar-bg-color: var(--uilib-color-core-neutral),
|
|
13
11
|
tripadvisor-bar-color: var(--uilib-color-brand-tripadvisor),
|
|
14
|
-
tripadvisor-bar-bg-color: var(--uilib-color-
|
|
12
|
+
tripadvisor-bar-bg-color: var(--uilib-color-core-neutral),
|
|
13
|
+
// Below are deprecated
|
|
14
|
+
tripadvisor-bar-width: 6.5625rem,
|
|
15
15
|
icon-color: var(--uilib-color-status-info-icon),
|
|
16
16
|
) !default;
|
|
@@ -21,6 +21,7 @@ $uilib-ratings-range-icons-included: false !default;
|
|
|
21
21
|
@if $score-key <= 5 {
|
|
22
22
|
.uilib-ratings-range-icons--star,
|
|
23
23
|
.uilib-ratings-range-icons--sun,
|
|
24
|
+
.uilib-ratings-range-icons--customer,
|
|
24
25
|
.uilib-ratings-range-icons--tripadvisor {
|
|
25
26
|
.uilib-ratings-range-icons__score.uilib-ratings-range-icons__score--#{$score-value} {
|
|
26
27
|
&::after {
|
|
@@ -61,6 +62,8 @@ $uilib-ratings-range-icons-included: false !default;
|
|
|
61
62
|
|
|
62
63
|
display: inline-flex;
|
|
63
64
|
flex-wrap: wrap;
|
|
65
|
+
gap: 0 var(--uilib-spacing-200);
|
|
66
|
+
align-content: center;
|
|
64
67
|
align-items: center;
|
|
65
68
|
|
|
66
69
|
/* Visually hidden helper */
|
|
@@ -87,7 +90,17 @@ $uilib-ratings-range-icons-included: false !default;
|
|
|
87
90
|
--rating-max: 6;
|
|
88
91
|
}
|
|
89
92
|
|
|
93
|
+
&--customer {
|
|
94
|
+
--tile-color: var(--uilib-ratings-range-icons-customer-color);
|
|
95
|
+
--tile-inverse-color: var(--uilib-ratings-range-icons-customer-inverse-color);
|
|
96
|
+
--tile-bg-icon: var(--uilib-ratings-range-icons-customer-rating-icon);
|
|
97
|
+
--tile-bg-checked-icon: var(--uilib-ratings-range-icons-customer-rating-checked-icon);
|
|
98
|
+
--rating-max: 5;
|
|
99
|
+
}
|
|
100
|
+
|
|
90
101
|
&--tripadvisor {
|
|
102
|
+
--tile-color: var(--uilib-ratings-range-icons-tripadvisor-color);
|
|
103
|
+
--tile-inverse-color: var(--uilib-ratings-range-icons-tripadvisor-inverse-color);
|
|
91
104
|
--tile-bg-icon: var(--uilib-ratings-range-icons-tripadvisor-rating-icon);
|
|
92
105
|
--tile-bg-checked-icon: var(--uilib-ratings-range-icons-tripadvisor-rating-checked-icon);
|
|
93
106
|
--rating-max: 5;
|
|
@@ -116,10 +129,6 @@ $uilib-ratings-range-icons-included: false !default;
|
|
|
116
129
|
}
|
|
117
130
|
}
|
|
118
131
|
|
|
119
|
-
.uilib-ratings-range-icons__caption {
|
|
120
|
-
margin-left: var(--uilib-spacing-050);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
132
|
/* Plus label */
|
|
124
133
|
.uilib-ratings-range-icons__plus {
|
|
125
134
|
position: relative;
|
|
@@ -128,7 +137,7 @@ $uilib-ratings-range-icons-included: false !default;
|
|
|
128
137
|
align-items: center;
|
|
129
138
|
|
|
130
139
|
inline-size: auto;
|
|
131
|
-
margin:
|
|
140
|
+
margin-left: calc((var(--uilib-spacing-100) + var(--uilib-spacing-050)) * -1);
|
|
132
141
|
|
|
133
142
|
color: var(--uilib-ratings-range-icons-tui-t-plus-color);
|
|
134
143
|
font-weight: var(--uilib-font-weight-bold);
|
|
@@ -136,24 +145,65 @@ $uilib-ratings-range-icons-included: false !default;
|
|
|
136
145
|
|
|
137
146
|
background: none;
|
|
138
147
|
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
&--inverse {
|
|
151
|
+
.uilib-ratings-range-icons__value,
|
|
152
|
+
.uilib-ratings-range-icons__plus,
|
|
153
|
+
.uilib-ratings-range-icons__label {
|
|
154
|
+
color: var(--uilib-color-text-inverse);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
&.uilib-ratings-range-icons--tripadvisor .uilib-ratings-range-icons__leading-image {
|
|
158
|
+
background-image: var(--uilib-ratings-range-icons-tripadvisor-logo-inverse);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
139
161
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
162
|
+
&--customer,
|
|
163
|
+
&--tripadvisor {
|
|
164
|
+
.uilib-ratings-range-icons__score {
|
|
165
|
+
&::before,
|
|
166
|
+
&::after {
|
|
167
|
+
background-color: var(--tile-color);
|
|
168
|
+
background-image: none;
|
|
169
|
+
-webkit-mask: var(--tile-bg-icon) repeat-x left center;
|
|
170
|
+
mask: var(--tile-bg-icon) repeat-x left center;
|
|
171
|
+
-webkit-mask-size: var(--icon-size) 100%;
|
|
172
|
+
mask-size: var(--icon-size) 100%;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
&::after {
|
|
176
|
+
background-image: none;
|
|
177
|
+
mask-image: var(--tile-bg-checked-icon);
|
|
144
178
|
}
|
|
145
179
|
}
|
|
146
180
|
}
|
|
147
181
|
|
|
182
|
+
&--customer#{&}--inverse,
|
|
183
|
+
&--tripadvisor#{&}--inverse {
|
|
184
|
+
.uilib-ratings-range-icons__score {
|
|
185
|
+
&::before,
|
|
186
|
+
&::after {
|
|
187
|
+
background-color: var(--tile-inverse-color);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
&__value {
|
|
193
|
+
color: var(--uilib-color-text-strong);
|
|
194
|
+
font: var(--uilib-typography-label-small-strong);
|
|
195
|
+
}
|
|
196
|
+
|
|
148
197
|
&__details {
|
|
149
198
|
display: flex;
|
|
150
199
|
flex-wrap: wrap;
|
|
151
200
|
gap: var(--uilib-spacing-100);
|
|
152
201
|
align-items: baseline;
|
|
153
|
-
}
|
|
154
202
|
|
|
155
|
-
|
|
156
|
-
|
|
203
|
+
/* Remove the space from the flex gap if all text is details is hidden */
|
|
204
|
+
&:not(:has(> :not(.uilib-ratings-range-icons--hidden))) {
|
|
205
|
+
margin-left: calc(var(--uilib-spacing-200) * -1);
|
|
206
|
+
}
|
|
157
207
|
}
|
|
158
208
|
|
|
159
209
|
/* Score element styling */
|
|
@@ -202,7 +252,6 @@ $uilib-ratings-range-icons-included: false !default;
|
|
|
202
252
|
|
|
203
253
|
width: var(--uilib-icon-size-medium);
|
|
204
254
|
height: calc(var(--uilib-font-size-root) * var(--uilib-line-height-body));
|
|
205
|
-
margin-right: var(--uilib-spacing-100);
|
|
206
255
|
|
|
207
256
|
background-image: var(--uilib-ratings-range-icons-tripadvisor-logo);
|
|
208
257
|
background-repeat: no-repeat;
|
|
@@ -4,13 +4,20 @@
|
|
|
4
4
|
|
|
5
5
|
// Range icons rating specific variables to allow theming
|
|
6
6
|
$uilib-ratings-range-icons-variables: (
|
|
7
|
+
tripadvisor-color: var(--uilib-color-brand-tripadvisor),
|
|
8
|
+
tripadvisor-inverse-color: var(--uilib-color-brand-tripadvisor-inverse),
|
|
7
9
|
tripadvisor-logo: url('#{$uilib-assets-base-url}v3/logos/review/tripadvisor-logo-small.svg'),
|
|
10
|
+
tripadvisor-logo-inverse: url('#{$uilib-assets-base-url}v3/logos/review/tripadvisor-logo-small-white.svg'),
|
|
8
11
|
tripadvisor-rating-icon: url('#{$uilib-assets-base-url}v3/logos/review/tripadvisor-unchecked.svg'),
|
|
9
12
|
tripadvisor-rating-checked-icon: url('#{$uilib-assets-base-url}v3/logos/review/tripadvisor-checked.svg'),
|
|
10
13
|
sun-rating-icon: url('#{$uilib-assets-base-url}v3/logos/review/tui-sun-unchecked.svg'),
|
|
11
14
|
sun-rating-checked-icon: url('#{$uilib-assets-base-url}v3/logos/review/tui-sun-checked.svg'),
|
|
12
15
|
star-rating-icon: url('#{$uilib-assets-base-url}v3/logos/review/tui-star-unchecked.svg'),
|
|
13
16
|
star-rating-checked-icon: url('#{$uilib-assets-base-url}v3/logos/review/tui-star-checked.svg'),
|
|
17
|
+
customer-color: var(--uilib-color-core-brand),
|
|
18
|
+
customer-inverse-color: var(--uilib-color-core-brand),
|
|
19
|
+
customer-rating-icon: url('#{$uilib-assets-base-url}v3/logos/review/customer-unchecked.svg'),
|
|
20
|
+
customer-rating-checked-icon: url('#{$uilib-assets-base-url}v3/logos/review/customer-checked.svg'),
|
|
14
21
|
tui-t-rating-icon: url('#{$uilib-assets-base-url}v3/logos/review/tui-t.svg'),
|
|
15
22
|
tui-t-plus-color: map.get($uilib-primitives, 'color-blue-100'),
|
|
16
23
|
) !default;
|
|
@@ -17,11 +17,15 @@ $uilib-ratings-range-icons-group-included: false !default;
|
|
|
17
17
|
.uilib-ratings-range-icons-group {
|
|
18
18
|
display: flex;
|
|
19
19
|
flex-direction: column;
|
|
20
|
-
gap: var(--uilib-spacing-
|
|
20
|
+
gap: var(--uilib-spacing-200);
|
|
21
21
|
|
|
22
22
|
max-width: max-content;
|
|
23
|
+
margin: var(--uilib-spacing-400) 0;
|
|
23
24
|
|
|
24
25
|
&__category {
|
|
26
|
+
color: var(--uilib-color-text-strong);
|
|
27
|
+
font: var(--uilib-typography-label-small-strong);
|
|
28
|
+
|
|
25
29
|
@include uilib-text-truncate;
|
|
26
30
|
}
|
|
27
31
|
|
|
@@ -33,6 +37,8 @@ $uilib-ratings-range-icons-group-included: false !default;
|
|
|
33
37
|
}
|
|
34
38
|
|
|
35
39
|
.uilib-ratings-range-icons {
|
|
40
|
+
flex-wrap: nowrap;
|
|
41
|
+
|
|
36
42
|
margin: 0;
|
|
37
43
|
}
|
|
38
44
|
}
|
|
@@ -49,10 +49,10 @@ $uilib-scroller-included: false !default;
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
.uilib-scroller {
|
|
52
|
-
$mask-vertical:
|
|
52
|
+
$uilib-scroller-mask-vertical:
|
|
53
53
|
linear-gradient(to bottom, #0000, #ffff var(--uilib-scroller-start-fade) calc(100% - var(--uilib-scroller-end-fade)), #0000),
|
|
54
54
|
linear-gradient(to right, transparent 0% calc(100% - var(--uilib-scroller-bar-size)), #fff calc(100% - var(--uilib-scroller-bar-size)), #fff);
|
|
55
|
-
$mask-horizontal:
|
|
55
|
+
$uilib-scroller-mask-horizontal:
|
|
56
56
|
linear-gradient(to right, #0000, #fff var(--uilib-scroller-start-fade) calc(100% - var(--uilib-scroller-end-fade)), #0000),
|
|
57
57
|
linear-gradient(to bottom, transparent 0% calc(100% - var(--uilib-scroller-bar-size)), #fff calc(100% - var(--uilib-scroller-bar-size)), #fff);
|
|
58
58
|
|
|
@@ -83,9 +83,10 @@ $uilib-scroller-included: false !default;
|
|
|
83
83
|
/* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties */
|
|
84
84
|
overflow-y: auto;
|
|
85
85
|
|
|
86
|
+
-webkit-mask: #{$uilib-scroller-mask-vertical};
|
|
87
|
+
mask: #{$uilib-scroller-mask-vertical};
|
|
88
|
+
|
|
86
89
|
animation: uilib-scrollfade;
|
|
87
|
-
-webkit-mask: #{$mask-vertical};
|
|
88
|
-
mask: #{$mask-vertical};
|
|
89
90
|
animation-timeline: --uilib-scrollfade;
|
|
90
91
|
scroll-timeline: --uilib-scrollfade y;
|
|
91
92
|
|
|
@@ -131,8 +132,8 @@ $uilib-scroller-included: false !default;
|
|
|
131
132
|
overflow-x: auto;
|
|
132
133
|
/* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties */
|
|
133
134
|
overflow-y: hidden;
|
|
134
|
-
-webkit-mask: #{$mask-horizontal};
|
|
135
|
-
mask: #{$mask-horizontal};
|
|
135
|
+
-webkit-mask: #{$uilib-scroller-mask-horizontal};
|
|
136
|
+
mask: #{$uilib-scroller-mask-horizontal};
|
|
136
137
|
|
|
137
138
|
scroll-timeline: --uilib-scrollfade x;
|
|
138
139
|
}
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
|
|
49
49
|
&__scroll-wrapper,
|
|
50
50
|
& > &__tablist {
|
|
51
|
-
border-bottom: var(--uilib-stroke-size-025) solid var(--#{$prefix}-border-color);
|
|
51
|
+
border-bottom: var(--uilib-stroke-size-025) var(--uilib-stroke-style-solid) var(--#{$prefix}-border-color);
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
&__scroll-button.uilib-icon-button {
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
|
|
117
117
|
width: 100%;
|
|
118
118
|
|
|
119
|
-
border-bottom:
|
|
119
|
+
border-bottom: var(--uilib-stroke-size-075) var(--uilib-stroke-style-solid) var(--#{$prefix}-active-color);
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
@include uilib-tab-base($prefix);
|
|
@@ -19,7 +19,7 @@ $uilib-tabs-anchor-included: false !default;
|
|
|
19
19
|
@mixin uilib-tabs-anchor-nojs($prefix: 'uilib-tabs-anchor') {
|
|
20
20
|
display: flex;
|
|
21
21
|
|
|
22
|
-
border-bottom: var(--uilib-stroke-size-025) solid var(--#{$prefix}-border-color);
|
|
22
|
+
border-bottom: var(--uilib-stroke-size-025) var(--uilib-stroke-style-solid) var(--#{$prefix}-border-color);
|
|
23
23
|
|
|
24
24
|
[slot='link'] {
|
|
25
25
|
display: inline-flex;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// Travel Aware Banner / _mixins
|
|
2
|
+
@use '../grid/mixins' as *;
|
|
3
|
+
@use '../utility/mixins' as *;
|
|
4
|
+
|
|
5
|
+
$uilib-travel-aware-banner-included: false !default;
|
|
6
|
+
|
|
7
|
+
// Builds travel aware banner
|
|
8
|
+
@mixin uilib-travel-aware-banner() {
|
|
9
|
+
@if not $uilib-travel-aware-banner-included {
|
|
10
|
+
$uilib-travel-aware-banner-included: true !global;
|
|
11
|
+
|
|
12
|
+
@include uilib-travel-aware-banner-master;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@mixin uilib-travel-aware-banner-master() {
|
|
17
|
+
.uilib-travel-aware-banner {
|
|
18
|
+
display: inline-flex;
|
|
19
|
+
gap: var(--uilib-spacing-400);
|
|
20
|
+
align-items: center;
|
|
21
|
+
|
|
22
|
+
width: 100%;
|
|
23
|
+
max-width: 100%;
|
|
24
|
+
padding: var(--uilib-spacing-400);
|
|
25
|
+
|
|
26
|
+
border-radius: var(--uilib-travel-aware-banner-radius);
|
|
27
|
+
|
|
28
|
+
background-color: var(--uilib-color-core-surface);
|
|
29
|
+
|
|
30
|
+
@include uilib-breakpoint(xs) {
|
|
31
|
+
width: auto;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&__heading {
|
|
35
|
+
color: var(--uilib-color-text-strong);
|
|
36
|
+
font: var(--uilib-typography-component-heading-medium);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&__content {
|
|
40
|
+
display: flex;
|
|
41
|
+
|
|
42
|
+
// calculate from 230px in figma
|
|
43
|
+
flex: 1 1 14.375rem;
|
|
44
|
+
flex-direction: column;
|
|
45
|
+
gap: var(--uilib-spacing-100);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&__logo {
|
|
49
|
+
flex-grow: 0;
|
|
50
|
+
flex-shrink: 0;
|
|
51
|
+
|
|
52
|
+
height: auto;
|
|
53
|
+
|
|
54
|
+
// set logo W=65.776px from figma design
|
|
55
|
+
max-width: 4.111rem;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|