@tui/design-system 1.5.0 → 1.7.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 +277 -1
- package/dist/themes/crystalski/index.css +12 -2
- package/dist/themes/crystalski/index.css.map +1 -1
- package/dist/themes/firstchoice/index.css +12 -2
- package/dist/themes/firstchoice/index.css.map +1 -1
- package/dist/themes/tui/index.css +14 -4
- package/dist/themes/tui/index.css.map +1 -1
- package/package.json +12 -12
- package/scss/lib/accordion/_mixins.scss +1 -3
- package/scss/lib/active-tag/_mixins.scss +16 -4
- package/scss/lib/cards/promotion/_index.scss +3 -0
- package/scss/lib/cards/promotion/_mixins.scss +275 -0
- package/scss/lib/cards/promotion/_variables.scss +14 -0
- package/scss/lib/cards/selectable/_mixins.scss +1 -5
- package/scss/lib/cards/selectable/_variables.scss +2 -1
- package/scss/lib/flyout-dropdown/_variables.scss +0 -1
- package/scss/lib/forms/datepicker/_mixins.scss +5 -0
- package/scss/lib/forms/input-radio-scroll/_mixins.scss +6 -1
- package/scss/lib/forms/input-switch/_mixins.scss +12 -6
- package/scss/lib/grid/_column.scss +7 -0
- package/scss/lib/grid/_mixins.scss +4 -0
- package/scss/lib/list/_mixins.scss +91 -72
- package/scss/lib/list/_variables.scss +1 -0
- package/scss/lib/modal/_variables.scss +1 -4
- package/scss/lib/skeleton/_variables.scss +2 -6
- package/scss/lib/tabs/_mixins.scss +117 -60
- package/scss/lib/tabs/anchor/_mixins.scss +36 -0
- package/scss/lib/tabs/in-page/_mixins.scss +82 -29
- package/scss/lib/tooltip/_mixins.scss +2 -0
- package/scss/mixins.scss +1 -0
- package/scss/themes/crystalski/_overrides.scss +10 -0
- package/scss/themes/crystalski/index.scss +3 -0
- package/scss/themes/crystalski/theme.json +7 -0
- package/scss/themes/firstchoice/_overrides.scss +10 -0
- package/scss/themes/firstchoice/index.scss +3 -0
- package/scss/themes/firstchoice/theme.json +7 -0
- package/scss/themes/tui/index.scss +3 -0
- package/scss/variables/base-theme.json +64 -6
- package/scss/variables.scss +1 -0
- package/types/components.ts +33 -9
|
@@ -1,39 +1,44 @@
|
|
|
1
1
|
// Shared tab styles used by in-page and tabs-anchor.
|
|
2
2
|
// $prefix: the BEM block name, e.g. 'uilib-tabs-in-page' or 'uilib-tabs-anchor'
|
|
3
|
+
|
|
4
|
+
@mixin uilib-tablist-base() {
|
|
5
|
+
--left-fade: 0rem;
|
|
6
|
+
--right-fade: 0rem;
|
|
7
|
+
|
|
8
|
+
$fade-mask: linear-gradient(to right, transparent 0, black var(--left-fade), black calc(100% - var(--right-fade)), transparent 100%);
|
|
9
|
+
|
|
10
|
+
scroll-padding-inline: var(--left-fade) var(--right-fade);
|
|
11
|
+
|
|
12
|
+
margin: calc(-1 * var(--uilib-spacing-200));
|
|
13
|
+
padding: var(--uilib-spacing-200);
|
|
14
|
+
|
|
15
|
+
overflow-x: auto;
|
|
16
|
+
scroll-behavior: smooth;
|
|
17
|
+
scrollbar-width: none;
|
|
18
|
+
-webkit-mask-image: #{$fade-mask};
|
|
19
|
+
mask-image: #{$fade-mask};
|
|
20
|
+
mask-origin: padding-box;
|
|
21
|
+
mask-clip: padding-box;
|
|
22
|
+
}
|
|
23
|
+
|
|
3
24
|
@mixin uilib-tab-base($prefix) {
|
|
4
25
|
position: relative;
|
|
5
26
|
|
|
6
|
-
display: flex;
|
|
7
|
-
flex-shrink: 0;
|
|
8
|
-
gap: var(--uilib-spacing-200);
|
|
9
|
-
align-items: center;
|
|
10
|
-
|
|
11
27
|
max-width: 12.5rem;
|
|
12
28
|
padding: var(--uilib-spacing-300) var(--uilib-spacing-500);
|
|
13
29
|
|
|
14
30
|
color: var(--#{$prefix}-text-color);
|
|
15
31
|
font-weight: var(--uilib-font-weight-semibold);
|
|
16
32
|
font-family: var(--uilib-font-family-lead);
|
|
33
|
+
white-space: normal;
|
|
17
34
|
text-decoration: none;
|
|
18
35
|
|
|
19
|
-
border-radius: var(--uilib-border-radius-200);
|
|
20
|
-
|
|
21
36
|
background: transparent;
|
|
22
37
|
|
|
23
38
|
cursor: pointer;
|
|
24
39
|
}
|
|
25
40
|
|
|
26
41
|
@mixin uilib-tabs-shared($prefix) {
|
|
27
|
-
.#{$prefix}__scroll-button--left .uilib-icon {
|
|
28
|
-
-webkit-mask-image: var(--#{$prefix}-scroll-left-icon);
|
|
29
|
-
mask-image: var(--#{$prefix}-scroll-left-icon);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.#{$prefix}__scroll-button--right .uilib-icon {
|
|
33
|
-
-webkit-mask-image: var(--#{$prefix}-scroll-right-icon);
|
|
34
|
-
mask-image: var(--#{$prefix}-scroll-right-icon);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
42
|
.#{$prefix} {
|
|
38
43
|
// .uilib-icon-button selector is chained to raise specificity above uilib-icon-button's
|
|
39
44
|
// `display: inline-flex`, which appears later due to alphabetical @include sorting in storybook
|
|
@@ -42,6 +47,16 @@
|
|
|
42
47
|
display: none;
|
|
43
48
|
}
|
|
44
49
|
|
|
50
|
+
&__scroll-button--left .uilib-icon {
|
|
51
|
+
-webkit-mask-image: var(--#{$prefix}-scroll-left-icon);
|
|
52
|
+
mask-image: var(--#{$prefix}-scroll-left-icon);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
&__scroll-button--right .uilib-icon {
|
|
56
|
+
-webkit-mask-image: var(--#{$prefix}-scroll-right-icon);
|
|
57
|
+
mask-image: var(--#{$prefix}-scroll-right-icon);
|
|
58
|
+
}
|
|
59
|
+
|
|
45
60
|
&__scroll-wrapper {
|
|
46
61
|
position: relative;
|
|
47
62
|
}
|
|
@@ -71,55 +86,19 @@
|
|
|
71
86
|
right: 0;
|
|
72
87
|
}
|
|
73
88
|
|
|
74
|
-
&__tablist {
|
|
75
|
-
--left-fade: 0;
|
|
76
|
-
--right-fade: 0;
|
|
77
|
-
|
|
78
|
-
$fade-mask: linear-gradient(to right, transparent 0, black var(--left-fade), black calc(100% - var(--right-fade)), transparent 100%);
|
|
79
|
-
|
|
80
|
-
scroll-padding-inline: var(--left-fade) var(--right-fade);
|
|
81
|
-
|
|
82
|
-
display: flex;
|
|
83
|
-
flex-direction: row;
|
|
84
|
-
align-items: end;
|
|
85
|
-
|
|
86
|
-
margin: calc(-1 * var(--uilib-spacing-200));
|
|
87
|
-
padding: var(--uilib-spacing-200);
|
|
88
|
-
|
|
89
|
-
overflow-x: auto;
|
|
90
|
-
scroll-behavior: smooth;
|
|
91
|
-
scrollbar-width: none;
|
|
92
|
-
-webkit-mask-image: #{$fade-mask};
|
|
93
|
-
mask-image: #{$fade-mask};
|
|
94
|
-
mask-origin: padding-box;
|
|
95
|
-
mask-clip: padding-box;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
&__scroll-wrapper:has(&__scroll-button--left:not(.#{$prefix}--hidden)) &__tablist {
|
|
99
|
-
--left-fade: var(--#{$prefix}-scroll-fade-width);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
&__scroll-wrapper:has(&__scroll-button--right:not(.#{$prefix}--hidden)) &__tablist {
|
|
103
|
-
--right-fade: var(--#{$prefix}-scroll-fade-width);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
89
|
&__tab {
|
|
90
|
+
@include uilib-tab-base($prefix);
|
|
91
|
+
|
|
92
|
+
/* stylelint-disable-next-line order/order */
|
|
107
93
|
&--active {
|
|
108
94
|
color: var(--#{$prefix}-active-color);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
&--active::after {
|
|
112
|
-
position: absolute;
|
|
113
|
-
left: 0;
|
|
114
|
-
bottom: 0;
|
|
115
|
-
content: '';
|
|
116
|
-
|
|
117
|
-
width: 100%;
|
|
118
95
|
|
|
119
|
-
|
|
96
|
+
box-shadow: inset 0 calc(var(--uilib-stroke-size-075) * -1) 0 0 var(--#{$prefix}-active-color);
|
|
120
97
|
}
|
|
121
98
|
|
|
122
|
-
|
|
99
|
+
&::before {
|
|
100
|
+
border-radius: var(--uilib-border-radius-100);
|
|
101
|
+
}
|
|
123
102
|
|
|
124
103
|
&:hover {
|
|
125
104
|
color: var(--#{$prefix}-active-color);
|
|
@@ -151,6 +130,84 @@
|
|
|
151
130
|
max-height: unset;
|
|
152
131
|
}
|
|
153
132
|
}
|
|
133
|
+
|
|
134
|
+
&-inner {
|
|
135
|
+
display: flex;
|
|
136
|
+
flex-flow: row nowrap;
|
|
137
|
+
gap: var(--uilib-spacing-200);
|
|
138
|
+
justify-content: center;
|
|
139
|
+
align-items: center;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// ─── V1: flex on tablist and tab ───
|
|
145
|
+
[version='1'].#{$prefix} {
|
|
146
|
+
.#{$prefix}__tablist {
|
|
147
|
+
@include uilib-tablist-base;
|
|
148
|
+
|
|
149
|
+
/* stylelint-disable-next-line order/order */
|
|
150
|
+
display: flex;
|
|
151
|
+
flex-direction: row;
|
|
152
|
+
align-items: end;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.#{$prefix}__tab {
|
|
156
|
+
display: inline-flex;
|
|
157
|
+
flex-shrink: 0;
|
|
158
|
+
gap: var(--uilib-spacing-200);
|
|
159
|
+
align-items: center;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
// ─── V2: table layout on tablist, scrolling on wrapper ───
|
|
164
|
+
[version='2'].#{$prefix} {
|
|
165
|
+
.#{$prefix}__tablist-wrapper {
|
|
166
|
+
@include uilib-tablist-base;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.#{$prefix}__tablist {
|
|
170
|
+
display: table;
|
|
171
|
+
|
|
172
|
+
table-layout: fixed;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.#{$prefix}__tab-outer {
|
|
176
|
+
display: table-cell;
|
|
177
|
+
|
|
178
|
+
vertical-align: bottom;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.#{$prefix}__tab {
|
|
182
|
+
width: max-content;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.#{$prefix}__tab-inner {
|
|
186
|
+
display: flex;
|
|
187
|
+
flex-flow: row nowrap;
|
|
188
|
+
gap: var(--uilib-spacing-200);
|
|
189
|
+
align-items: center;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
// ─── Scroll fade triggers ───
|
|
194
|
+
[version='1'].#{$prefix} {
|
|
195
|
+
&:has(.#{$prefix}__scroll-button--left:not(.#{$prefix}--hidden)) .#{$prefix}__tablist {
|
|
196
|
+
--left-fade: var(--#{$prefix}-scroll-fade-width);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
&:has(.#{$prefix}__scroll-button--right:not(.#{$prefix}--hidden)) .#{$prefix}__tablist {
|
|
200
|
+
--right-fade: var(--#{$prefix}-scroll-fade-width);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
[version='2'].#{$prefix} .#{$prefix}__scroll-wrapper {
|
|
205
|
+
&:has(.#{$prefix}__scroll-button--left:not(.#{$prefix}--hidden)) .#{$prefix}__tablist-wrapper {
|
|
206
|
+
--left-fade: var(--#{$prefix}-scroll-fade-width);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
&:has(.#{$prefix}__scroll-button--right:not(.#{$prefix}--hidden)) .#{$prefix}__tablist-wrapper {
|
|
210
|
+
--right-fade: var(--#{$prefix}-scroll-fade-width);
|
|
154
211
|
}
|
|
155
212
|
}
|
|
156
213
|
}
|
|
@@ -25,6 +25,15 @@ $uilib-tabs-anchor-included: false !default;
|
|
|
25
25
|
display: inline-flex;
|
|
26
26
|
|
|
27
27
|
@include uilib-tab-base($prefix);
|
|
28
|
+
|
|
29
|
+
/* stylelint-disable-next-line order/order */
|
|
30
|
+
flex-flow: row nowrap;
|
|
31
|
+
gap: var(--uilib-spacing-200);
|
|
32
|
+
align-items: center;
|
|
33
|
+
|
|
34
|
+
.uilib-icon {
|
|
35
|
+
flex-shrink: 0;
|
|
36
|
+
}
|
|
28
37
|
}
|
|
29
38
|
}
|
|
30
39
|
|
|
@@ -33,9 +42,24 @@ $uilib-tabs-anchor-included: false !default;
|
|
|
33
42
|
|
|
34
43
|
@include uilib-tabs-shared($prefix);
|
|
35
44
|
|
|
45
|
+
.#{$prefix}__tab {
|
|
46
|
+
display: flex;
|
|
47
|
+
flex-flow: row nowrap;
|
|
48
|
+
gap: var(--uilib-spacing-200);
|
|
49
|
+
align-items: center;
|
|
50
|
+
|
|
51
|
+
&-label {
|
|
52
|
+
text-align: center;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
36
56
|
.#{$prefix}-wrapper {
|
|
37
57
|
display: flex;
|
|
38
58
|
flex-direction: column;
|
|
59
|
+
|
|
60
|
+
& > section:focus-visible::before {
|
|
61
|
+
border-radius: var(--uilib-border-radius-100);
|
|
62
|
+
}
|
|
39
63
|
}
|
|
40
64
|
|
|
41
65
|
// No-JS fallback
|
|
@@ -62,6 +86,18 @@ $uilib-tabs-anchor-included: false !default;
|
|
|
62
86
|
& .#{$prefix}__scroll-wrapper {
|
|
63
87
|
border-bottom: none;
|
|
64
88
|
}
|
|
89
|
+
|
|
90
|
+
.uilib-tabs-anchor__scroll-button {
|
|
91
|
+
top: calc(50% - var(--uilib-spacing-100));
|
|
92
|
+
|
|
93
|
+
&--left {
|
|
94
|
+
left: calc(-1 * var(--uilib-spacing-100));
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
&--right {
|
|
98
|
+
right: calc(-1 * var(--uilib-spacing-100));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
65
101
|
}
|
|
66
102
|
|
|
67
103
|
@media (prefers-reduced-motion: no-preference) {
|
|
@@ -54,52 +54,105 @@ $uilib-tabs-in-page-included: false !default;
|
|
|
54
54
|
@include uilib-tabs-in-page-nojs-tab;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
|
|
58
|
-
&--full-width {
|
|
59
|
-
& > .#{$prefix}__tablist {
|
|
60
|
-
margin: 0;
|
|
61
|
-
padding: 0;
|
|
57
|
+
// ─── Full-width variant ───
|
|
62
58
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
59
|
+
// V1: full-width uses flex
|
|
60
|
+
[version='1'].#{$prefix}--full-width {
|
|
61
|
+
.#{$prefix}__tablist {
|
|
62
|
+
flex-wrap: nowrap;
|
|
67
63
|
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
margin: 0;
|
|
65
|
+
padding: 0;
|
|
70
66
|
|
|
71
|
-
|
|
72
|
-
}
|
|
67
|
+
border-bottom: var(--uilib-stroke-size-025) solid var(--uilib-tabs-in-page-border-color);
|
|
73
68
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
69
|
+
overflow: visible;
|
|
70
|
+
-webkit-mask-image: none;
|
|
71
|
+
mask-image: none;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.#{$prefix}__tab {
|
|
75
|
+
flex: 1;
|
|
76
|
+
justify-content: center;
|
|
77
|
+
|
|
78
|
+
max-width: unset;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// V2: full-width uses table
|
|
83
|
+
[version='2'].#{$prefix}--full-width {
|
|
84
|
+
.#{$prefix}__tablist {
|
|
85
|
+
display: table;
|
|
86
|
+
|
|
87
|
+
width: 100%;
|
|
88
|
+
margin: 0;
|
|
89
|
+
padding: 0;
|
|
77
90
|
|
|
78
|
-
|
|
79
|
-
}
|
|
91
|
+
border-bottom: var(--uilib-stroke-size-025) solid var(--uilib-tabs-in-page-border-color);
|
|
80
92
|
|
|
81
|
-
|
|
82
|
-
-webkit-line-clamp: unset;
|
|
83
|
-
line-clamp: unset;
|
|
93
|
+
table-layout: fixed;
|
|
84
94
|
|
|
85
|
-
|
|
86
|
-
|
|
95
|
+
overflow: visible;
|
|
96
|
+
-webkit-mask-image: none;
|
|
97
|
+
mask-image: none;
|
|
87
98
|
}
|
|
88
99
|
|
|
89
|
-
|
|
100
|
+
.#{$prefix}__tab-outer {
|
|
101
|
+
display: table-cell;
|
|
102
|
+
|
|
103
|
+
vertical-align: bottom;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.#{$prefix}__tab {
|
|
107
|
+
width: 100%;
|
|
108
|
+
max-width: unset;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Full-width shared (both versions)
|
|
113
|
+
.#{$prefix}--full-width .#{$prefix}__tab-label {
|
|
114
|
+
-webkit-line-clamp: unset;
|
|
115
|
+
line-clamp: unset;
|
|
116
|
+
|
|
117
|
+
max-height: 2lh;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// ─── Vertical variant ───
|
|
121
|
+
|
|
122
|
+
// V1: vertical uses flex-direction
|
|
123
|
+
[version='1'].#{$prefix}--vertical {
|
|
124
|
+
.#{$prefix}__tablist {
|
|
90
125
|
flex-direction: column;
|
|
91
126
|
align-items: stretch;
|
|
92
127
|
}
|
|
93
128
|
|
|
94
|
-
|
|
129
|
+
.#{$prefix}__tab {
|
|
95
130
|
flex: none;
|
|
96
131
|
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// V2: vertical uses block layout
|
|
135
|
+
[version='2'].#{$prefix}--vertical {
|
|
136
|
+
.#{$prefix}__tablist {
|
|
137
|
+
display: block;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.#{$prefix}__tab-outer {
|
|
141
|
+
display: block;
|
|
97
142
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
line-clamp: 2;
|
|
143
|
+
width: 100%;
|
|
144
|
+
}
|
|
101
145
|
|
|
102
|
-
|
|
146
|
+
.#{$prefix}__tab {
|
|
147
|
+
width: 100%;
|
|
103
148
|
}
|
|
104
149
|
}
|
|
150
|
+
|
|
151
|
+
// Vertical shared
|
|
152
|
+
.#{$prefix}--vertical .#{$prefix}__tab-label {
|
|
153
|
+
-webkit-line-clamp: 2;
|
|
154
|
+
line-clamp: 2;
|
|
155
|
+
|
|
156
|
+
max-height: unset;
|
|
157
|
+
}
|
|
105
158
|
}
|
package/scss/mixins.scss
CHANGED
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
@forward 'lib/pagination/mixins';
|
|
37
37
|
@forward 'lib/price/mixins';
|
|
38
38
|
@forward 'lib/price-box/mixins';
|
|
39
|
+
@forward 'lib/cards/promotion/mixins';
|
|
39
40
|
@forward 'lib/promo-tag/mixins';
|
|
40
41
|
@forward 'lib/ratings-reviews/customer-review/mixins';
|
|
41
42
|
@forward 'lib/ratings-reviews/numerical/mixins';
|
|
@@ -279,6 +279,7 @@ $uilib-crystalski-list-variables: map.merge(
|
|
|
279
279
|
$uilib-list-variables,
|
|
280
280
|
(
|
|
281
281
|
bullet-icon: url('#{$uilib-assets-base-url}v3/icons/crystalski/standard/list-item.svg'),
|
|
282
|
+
multiline-title-font: var(--uilib-typography-label-medium-strong),
|
|
282
283
|
)
|
|
283
284
|
);
|
|
284
285
|
|
|
@@ -299,6 +300,15 @@ $uilib-crystalski-pagination-variables: map.merge(
|
|
|
299
300
|
)
|
|
300
301
|
);
|
|
301
302
|
|
|
303
|
+
// Promo banner
|
|
304
|
+
$uilib-crystalski-card-promotion-variables: map.merge(
|
|
305
|
+
$uilib-card-promotion-variables,
|
|
306
|
+
(
|
|
307
|
+
cta-copy-icon: url('#{$uilib-assets-base-url}v3/icons/crystalski/standard/copy.svg'),
|
|
308
|
+
cta-copied-icon: url('#{$uilib-assets-base-url}v3/icons/crystalski/standard/checkmark-circled-filled.svg'),
|
|
309
|
+
)
|
|
310
|
+
);
|
|
311
|
+
|
|
302
312
|
// Ratings and Reviews - Numerical
|
|
303
313
|
$uilib-crystalski-ratings-numerical-variables: map.merge(
|
|
304
314
|
$uilib-ratings-numerical-variables,
|
|
@@ -161,6 +161,9 @@
|
|
|
161
161
|
// Price
|
|
162
162
|
@include util.uilib-build-css-vars('price', $uilib-price-variables);
|
|
163
163
|
|
|
164
|
+
// Promo banner
|
|
165
|
+
@include util.uilib-build-css-vars('card-promotion', $uilib-crystalski-card-promotion-variables);
|
|
166
|
+
|
|
164
167
|
// Promo tag
|
|
165
168
|
@include util.uilib-build-css-vars('promo-tag', $uilib-promo-tag-variables);
|
|
166
169
|
|
|
@@ -354,6 +354,7 @@ $uilib-firstchoice-list-variables: map.merge(
|
|
|
354
354
|
$uilib-list-variables,
|
|
355
355
|
(
|
|
356
356
|
bullet-icon: url('#{$uilib-assets-base-url}v3/icons/tui/standard/list-item.svg'),
|
|
357
|
+
multiline-title-font: var(--uilib-typography-label-medium-strong),
|
|
357
358
|
)
|
|
358
359
|
);
|
|
359
360
|
|
|
@@ -382,6 +383,15 @@ $uilib-firstchoice-price-variables: map.merge(
|
|
|
382
383
|
)
|
|
383
384
|
);
|
|
384
385
|
|
|
386
|
+
// Promo banner
|
|
387
|
+
$uilib-firstchoice-card-promotion-variables: map.merge(
|
|
388
|
+
$uilib-card-promotion-variables,
|
|
389
|
+
(
|
|
390
|
+
cta-copy-icon: url('#{$uilib-assets-base-url}v3/icons/firstchoice/standard/copy.svg'),
|
|
391
|
+
cta-copied-icon: url('#{$uilib-assets-base-url}v3/icons/firstchoice/standard/checkmark-circled-filled.svg'),
|
|
392
|
+
)
|
|
393
|
+
);
|
|
394
|
+
|
|
385
395
|
// Ratings and Reviews - Numerical
|
|
386
396
|
$uilib-firstchoice-ratings-numerical-variables: map.merge(
|
|
387
397
|
$uilib-ratings-numerical-variables,
|
|
@@ -161,6 +161,9 @@
|
|
|
161
161
|
// Price
|
|
162
162
|
@include util.uilib-build-css-vars('price', $uilib-firstchoice-price-variables);
|
|
163
163
|
|
|
164
|
+
// Promo banner
|
|
165
|
+
@include util.uilib-build-css-vars('card-promotion', $uilib-firstchoice-card-promotion-variables);
|
|
166
|
+
|
|
164
167
|
// Promo tag
|
|
165
168
|
@include util.uilib-build-css-vars('promo-tag', $uilib-promo-tag-variables);
|
|
166
169
|
|
|
@@ -161,6 +161,9 @@
|
|
|
161
161
|
// Price
|
|
162
162
|
@include util.uilib-build-css-vars('price', $uilib-price-variables);
|
|
163
163
|
|
|
164
|
+
// Promo banner
|
|
165
|
+
@include util.uilib-build-css-vars('card-promotion', $uilib-card-promotion-variables);
|
|
166
|
+
|
|
164
167
|
// Promo tag
|
|
165
168
|
@include util.uilib-build-css-vars('promo-tag', $uilib-promo-tag-variables);
|
|
166
169
|
|
|
@@ -1071,12 +1071,6 @@
|
|
|
1071
1071
|
"title": "Default border colour",
|
|
1072
1072
|
"description": "Default border colour"
|
|
1073
1073
|
},
|
|
1074
|
-
"card-selectable-dashed-border-color": {
|
|
1075
|
-
"primitive": "uilib-color-border-dashed",
|
|
1076
|
-
"displayType": "color",
|
|
1077
|
-
"title": "Dashed border colour",
|
|
1078
|
-
"description": "Dashed border colour"
|
|
1079
|
-
},
|
|
1080
1074
|
"card-selectable-selected-border-color": {
|
|
1081
1075
|
"primitive": "uilib-color-border-interaction",
|
|
1082
1076
|
"displayType": "color",
|
|
@@ -1919,6 +1913,12 @@
|
|
|
1919
1913
|
"title": "List image radius (alt)",
|
|
1920
1914
|
"description": "List image radius (alt)",
|
|
1921
1915
|
"displayType": "radius"
|
|
1916
|
+
},
|
|
1917
|
+
"list-multiline-title-font": {
|
|
1918
|
+
"primitive": "uilib-typography-label-medium",
|
|
1919
|
+
"title": "List multiline title font",
|
|
1920
|
+
"description": "List multiline title font",
|
|
1921
|
+
"displayType": "font"
|
|
1922
1922
|
}
|
|
1923
1923
|
}
|
|
1924
1924
|
},
|
|
@@ -2099,6 +2099,64 @@
|
|
|
2099
2099
|
}
|
|
2100
2100
|
}
|
|
2101
2101
|
},
|
|
2102
|
+
"card-promotion": {
|
|
2103
|
+
"tokens": {
|
|
2104
|
+
"card-promotion-elevation": {
|
|
2105
|
+
"primitive": "uilib-elevation-100",
|
|
2106
|
+
"title": "Container elevation",
|
|
2107
|
+
"description": "Box shadow of the banner container",
|
|
2108
|
+
"displayType": "shadow"
|
|
2109
|
+
},
|
|
2110
|
+
"card-promotion-radius": {
|
|
2111
|
+
"primitive": "uilib-border-radius-400",
|
|
2112
|
+
"title": "Container radius",
|
|
2113
|
+
"description": "Border radius of the banner container",
|
|
2114
|
+
"displayType": "radius"
|
|
2115
|
+
},
|
|
2116
|
+
"card-promotion-bg-color": {
|
|
2117
|
+
"primitive": "uilib-color-core-neutral",
|
|
2118
|
+
"title": "Container background color",
|
|
2119
|
+
"description": "Background color of the banner container",
|
|
2120
|
+
"displayType": "color"
|
|
2121
|
+
},
|
|
2122
|
+
"card-promotion-headline-color": {
|
|
2123
|
+
"primitive": "uilib-color-text-strong",
|
|
2124
|
+
"title": "Headline color",
|
|
2125
|
+
"description": "Text color of the headline",
|
|
2126
|
+
"displayType": "color"
|
|
2127
|
+
},
|
|
2128
|
+
"card-promotion-subcopy-color": {
|
|
2129
|
+
"primitive": "uilib-color-text-body",
|
|
2130
|
+
"title": "Sub-copy color",
|
|
2131
|
+
"description": "Text color of the sub-copy",
|
|
2132
|
+
"displayType": "color"
|
|
2133
|
+
},
|
|
2134
|
+
"card-promotion-subcopy-link-color": {
|
|
2135
|
+
"primitive": "uilib-color-text-link",
|
|
2136
|
+
"title": "Sub-copy link color",
|
|
2137
|
+
"description": "Text color of inline links in the sub-copy",
|
|
2138
|
+
"displayType": "color"
|
|
2139
|
+
},
|
|
2140
|
+
"card-promotion-code-color": {
|
|
2141
|
+
"primitive": "uilib-color-text-strong",
|
|
2142
|
+
"title": "Promo code color",
|
|
2143
|
+
"description": "Text color of the promo code",
|
|
2144
|
+
"displayType": "color"
|
|
2145
|
+
},
|
|
2146
|
+
"card-promotion-cta-copy-icon": {
|
|
2147
|
+
"displayType": "icon",
|
|
2148
|
+
"title": "CTA copy icon",
|
|
2149
|
+
"description": "Icon used in the Copy code button",
|
|
2150
|
+
"longValue": true
|
|
2151
|
+
},
|
|
2152
|
+
"card-promotion-cta-copied-icon": {
|
|
2153
|
+
"displayType": "icon",
|
|
2154
|
+
"title": "CTA copied icon",
|
|
2155
|
+
"description": "Icon used in the Copied button after a successful copy",
|
|
2156
|
+
"longValue": true
|
|
2157
|
+
}
|
|
2158
|
+
}
|
|
2159
|
+
},
|
|
2102
2160
|
"promo-tag": {
|
|
2103
2161
|
"tokens": {
|
|
2104
2162
|
"promo-tag-radius": {
|
package/scss/variables.scss
CHANGED
|
@@ -55,6 +55,7 @@
|
|
|
55
55
|
@forward 'lib/modal/variables';
|
|
56
56
|
@forward 'lib/pagination/variables';
|
|
57
57
|
@forward 'lib/price/variables';
|
|
58
|
+
@forward 'lib/cards/promotion/variables';
|
|
58
59
|
@forward 'lib/promo-tag/variables';
|
|
59
60
|
@forward 'lib/ratings-reviews/numerical/variables';
|
|
60
61
|
@forward 'lib/ratings-reviews/percentage/variables';
|