@ebay/skin 17.2.0 → 17.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/.github/workflows/jekyll-gh-pages.yml +2 -4
- package/.storybook/manager.js +1 -1
- package/CHANGELOG.md +44 -0
- package/_cdn/skin/v17.3.0/skin-default.min.css +69 -0
- package/_cdn/skin/v17.3.0/skin-full.min.css +151 -0
- package/_cdn/skin/v17.3.0/skin-headless.min.css +6 -0
- package/dist/button/button.css +6 -6
- package/dist/education-notice/education-notice.css +61 -0
- package/dist/listbox-button/listbox-button.css +24 -5
- package/dist/progress-bar-expressive/progress-bar-expressive.css +277 -0
- package/dist/toggle-button-group/toggle-button-group.css +1 -1
- package/education-notice.browser.json +1 -0
- package/education-notice.css +1 -0
- package/education-notice.js +1 -0
- package/education-notice.mjs +1 -0
- package/index.browser.json +2 -0
- package/index.css +2 -0
- package/index.js +2 -0
- package/index.mjs +2 -0
- package/package.json +18 -18
- package/progress-bar-expressive.browser.json +1 -0
- package/progress-bar-expressive.css +1 -0
- package/progress-bar-expressive.js +1 -0
- package/progress-bar-expressive.mjs +1 -0
- package/src/less/bundles/skin-headless.less +2 -0
- package/src/less/button/button.less +3 -0
- package/src/less/carousel/stories/carousel.stories.js +44 -44
- package/src/less/education-notice/education-notice.less +74 -0
- package/src/less/education-notice/stories/base.stories.js +152 -0
- package/src/less/listbox-button/listbox-button.less +11 -2
- package/src/less/progress-bar-expressive/progress-bar-expressive.less +456 -0
- package/src/less/progress-bar-expressive/stories/progress-bar-expressive.stories.js +117 -0
- package/src/less/section-notice/section-notice.less +1 -0
- package/src/less/toggle-button-group/stories/gallery-layout.stories.js +91 -0
- package/src/less/toggle-button-group/toggle-button-group.less +1 -1
- package/_cdn/skin/v17.2.0/skin-default.min.css +0 -69
- package/_cdn/skin/v17.2.0/skin-full.min.css +0 -151
- package/_cdn/skin/v17.2.0/skin-headless.min.css +0 -6
|
@@ -0,0 +1,456 @@
|
|
|
1
|
+
@import "../variables/variables.less";
|
|
2
|
+
|
|
3
|
+
:root {
|
|
4
|
+
--progress-bar-expressive-color-1: #e53238;
|
|
5
|
+
--progress-bar-expressive-color-2: #0064d2;
|
|
6
|
+
--progress-bar-expressive-color-3: #f5af02;
|
|
7
|
+
--progress-bar-expressive-color-4: #86b817;
|
|
8
|
+
--progress-bar-expressive-line-border-radius: 2px;
|
|
9
|
+
--progress-bar-expressive-line-count: 12;
|
|
10
|
+
--progress-bar-expressive-line-gap: var(--spacing-50);
|
|
11
|
+
--progress-bar-expressive-line-height: 6px;
|
|
12
|
+
--progress-bar-expressive-line-scale-duration: 3s;
|
|
13
|
+
--progress-bar-expressive-line-scroll-duration: 20s;
|
|
14
|
+
/* Each line has a final width of 10% - 40% of the lines container.
|
|
15
|
+
In each set of four lines, the widths add up to 100%.
|
|
16
|
+
These widths are defined in CSS variables so they can more
|
|
17
|
+
easily be randomized in Javascript, if desired. */
|
|
18
|
+
--progress-bar-expressive-line-width-a1: 25%;
|
|
19
|
+
--progress-bar-expressive-line-width-a2: 15%;
|
|
20
|
+
--progress-bar-expressive-line-width-a3: 40%;
|
|
21
|
+
--progress-bar-expressive-line-width-a4: 20%;
|
|
22
|
+
--progress-bar-expressive-line-width-b1: 17%;
|
|
23
|
+
--progress-bar-expressive-line-width-b2: 21%;
|
|
24
|
+
--progress-bar-expressive-line-width-b3: 30%;
|
|
25
|
+
--progress-bar-expressive-line-width-b4: 32%;
|
|
26
|
+
--progress-bar-expressive-line-width-c1: 39%;
|
|
27
|
+
--progress-bar-expressive-line-width-c2: 29%;
|
|
28
|
+
--progress-bar-expressive-line-width-c3: 20%;
|
|
29
|
+
--progress-bar-expressive-line-width-c4: 12%;
|
|
30
|
+
--progress-bar-expressive-message-animatein-duration: 833ms;
|
|
31
|
+
--progress-bar-expressive-message-animateout-duration: 400ms;
|
|
32
|
+
|
|
33
|
+
@media (prefers-color-scheme: dark) {
|
|
34
|
+
--progress-bar-expressive-color-1: #f0343b;
|
|
35
|
+
--progress-bar-expressive-color-2: #0078fc;
|
|
36
|
+
--progress-bar-expressive-color-3: #e8a502;
|
|
37
|
+
--progress-bar-expressive-color-4: #86b817;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.progress-bar-expressive {
|
|
42
|
+
align-items: stretch;
|
|
43
|
+
display: grid;
|
|
44
|
+
grid-template-columns: 1fr;
|
|
45
|
+
justify-content: end;
|
|
46
|
+
margin: 0 auto;
|
|
47
|
+
max-width: 375px;
|
|
48
|
+
row-gap: var(--spacing-300);
|
|
49
|
+
width: 100%;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.progress-bar-expressive--loaded {
|
|
53
|
+
display: none;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.progress-bar-expressive__messages {
|
|
57
|
+
color: var(--color-foreground-primary);
|
|
58
|
+
font-size: var(--font-size-large-1);
|
|
59
|
+
font-weight: var(--font-weight-regular);
|
|
60
|
+
line-height: calc(var(--spacing-50) + var(--spacing-300)); // 26px
|
|
61
|
+
margin: 0 var(--spacing-200);
|
|
62
|
+
min-height: 3rem;
|
|
63
|
+
position: relative;
|
|
64
|
+
text-align: center;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.progress-bar-expressive__messages--medium {
|
|
68
|
+
font-size: var(--font-size-medium);
|
|
69
|
+
font-weight: var(--font-weight-bold);
|
|
70
|
+
line-height: var(--spacing-300);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.progress-bar-expressive__message {
|
|
74
|
+
bottom: 0;
|
|
75
|
+
left: 0;
|
|
76
|
+
position: absolute;
|
|
77
|
+
right: 0;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// current message
|
|
81
|
+
.progress-bar-expressive__message[role="status"] {
|
|
82
|
+
opacity: 1;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// next message
|
|
86
|
+
.progress-bar-expressive__message[aria-hidden="true"] {
|
|
87
|
+
opacity: 0;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.progress-bar-expressive__message--in {
|
|
91
|
+
animation: progress-bar-expressive-message-animatein
|
|
92
|
+
var(--progress-bar-expressive-message-animatein-duration)
|
|
93
|
+
cubic-bezier(0.3, 0, 0, 1) both;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.progress-bar-expressive__message--out {
|
|
97
|
+
animation: progress-bar-expressive-message-animateout
|
|
98
|
+
var(--progress-bar-expressive-message-animateout-duration)
|
|
99
|
+
cubic-bezier(0.3, 0, 0, 1) both;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.progress-bar-expressive__progress[role="progressbar"] {
|
|
103
|
+
border-radius: var(--progress-bar-expressive-line-border-radius);
|
|
104
|
+
|
|
105
|
+
margin: 0 var(--spacing-200);
|
|
106
|
+
overflow: hidden;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.progress-bar-expressive__lines {
|
|
110
|
+
display: flex;
|
|
111
|
+
overflow: visible;
|
|
112
|
+
// Account for gaps between lines
|
|
113
|
+
width: calc(100% - (3 * var(--progress-bar-expressive-line-gap)));
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.progress-bar-expressive__line {
|
|
117
|
+
/* Default animation behavior: Lines scroll and resize.
|
|
118
|
+
Animate line's width from 0% to its pre-defined width.
|
|
119
|
+
Simultaneously cycle the line's order in its flex container
|
|
120
|
+
to push its siblings forward and achieve an infinite loop.
|
|
121
|
+
|
|
122
|
+
Note that Safari < 14 does not support flex order animations.
|
|
123
|
+
In these browsers, the lines do not appear to infinitely
|
|
124
|
+
scroll. Instead, they scale up, reset their size, and repeat. */
|
|
125
|
+
animation:
|
|
126
|
+
progress-bar-expressive-line-reorder
|
|
127
|
+
var(--progress-bar-expressive-line-scale-duration)
|
|
128
|
+
steps(var(--progress-bar-expressive-line-count)) infinite,
|
|
129
|
+
progress-bar-expressive-line-scale-width
|
|
130
|
+
var(--progress-bar-expressive-line-scale-duration) infinite;
|
|
131
|
+
border-radius: var(--progress-bar-expressive-line-border-radius);
|
|
132
|
+
display: inline-block;
|
|
133
|
+
flex-shrink: 0;
|
|
134
|
+
height: var(--progress-bar-expressive-line-height);
|
|
135
|
+
line-height: 0;
|
|
136
|
+
order: 1;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// Set line colors
|
|
140
|
+
.progress-bar-expressive__line:nth-child(4n + 1) {
|
|
141
|
+
background-color: var(--progress-bar-expressive-color-4);
|
|
142
|
+
}
|
|
143
|
+
.progress-bar-expressive__line:nth-child(4n + 2) {
|
|
144
|
+
background-color: var(--progress-bar-expressive-color-3);
|
|
145
|
+
}
|
|
146
|
+
.progress-bar-expressive__line:nth-child(4n + 3) {
|
|
147
|
+
background-color: var(--progress-bar-expressive-color-2);
|
|
148
|
+
}
|
|
149
|
+
.progress-bar-expressive__line:nth-child(4n + 4) {
|
|
150
|
+
background-color: var(--progress-bar-expressive-color-1);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// Set line widths and animation delays
|
|
154
|
+
.progress-bar-expressive__line:nth-child(1) {
|
|
155
|
+
animation-delay: calc(
|
|
156
|
+
-1 * (var(--progress-bar-expressive-line-scale-duration) -
|
|
157
|
+
var(--progress-bar-expressive-line-scale-duration) /
|
|
158
|
+
var(--progress-bar-expressive-line-count))
|
|
159
|
+
);
|
|
160
|
+
width: var(--progress-bar-expressive-line-width-a1);
|
|
161
|
+
}
|
|
162
|
+
.progress-bar-expressive__line:nth-child(2) {
|
|
163
|
+
animation-delay: calc(
|
|
164
|
+
-1 * (var(--progress-bar-expressive-line-scale-duration) -
|
|
165
|
+
(
|
|
166
|
+
(
|
|
167
|
+
var(
|
|
168
|
+
--progress-bar-expressive-line-scale-duration
|
|
169
|
+
) /
|
|
170
|
+
var(--progress-bar-expressive-line-count)
|
|
171
|
+
) * 2
|
|
172
|
+
))
|
|
173
|
+
);
|
|
174
|
+
width: var(--progress-bar-expressive-line-width-a2);
|
|
175
|
+
}
|
|
176
|
+
.progress-bar-expressive__line:nth-child(3) {
|
|
177
|
+
animation-delay: calc(
|
|
178
|
+
-1 * (var(--progress-bar-expressive-line-scale-duration) -
|
|
179
|
+
(
|
|
180
|
+
(
|
|
181
|
+
var(
|
|
182
|
+
--progress-bar-expressive-line-scale-duration
|
|
183
|
+
) /
|
|
184
|
+
var(--progress-bar-expressive-line-count)
|
|
185
|
+
) * 3
|
|
186
|
+
))
|
|
187
|
+
);
|
|
188
|
+
width: var(--progress-bar-expressive-line-width-a3);
|
|
189
|
+
}
|
|
190
|
+
.progress-bar-expressive__line:nth-child(4) {
|
|
191
|
+
animation-delay: calc(
|
|
192
|
+
-1 * (var(--progress-bar-expressive-line-scale-duration) -
|
|
193
|
+
(
|
|
194
|
+
(
|
|
195
|
+
var(
|
|
196
|
+
--progress-bar-expressive-line-scale-duration
|
|
197
|
+
) /
|
|
198
|
+
var(--progress-bar-expressive-line-count)
|
|
199
|
+
) * 4
|
|
200
|
+
))
|
|
201
|
+
);
|
|
202
|
+
width: var(--progress-bar-expressive-line-width-a4);
|
|
203
|
+
}
|
|
204
|
+
.progress-bar-expressive__line:nth-child(5) {
|
|
205
|
+
animation-delay: calc(
|
|
206
|
+
-1 * (var(--progress-bar-expressive-line-scale-duration) -
|
|
207
|
+
(
|
|
208
|
+
(
|
|
209
|
+
var(
|
|
210
|
+
--progress-bar-expressive-line-scale-duration
|
|
211
|
+
) /
|
|
212
|
+
var(--progress-bar-expressive-line-count)
|
|
213
|
+
) * 5
|
|
214
|
+
))
|
|
215
|
+
);
|
|
216
|
+
width: var(--progress-bar-expressive-line-width-b1);
|
|
217
|
+
}
|
|
218
|
+
.progress-bar-expressive__line:nth-child(6) {
|
|
219
|
+
animation-delay: calc(
|
|
220
|
+
-1 * (var(--progress-bar-expressive-line-scale-duration) -
|
|
221
|
+
(
|
|
222
|
+
(
|
|
223
|
+
var(
|
|
224
|
+
--progress-bar-expressive-line-scale-duration
|
|
225
|
+
) /
|
|
226
|
+
var(--progress-bar-expressive-line-count)
|
|
227
|
+
) * 6
|
|
228
|
+
))
|
|
229
|
+
);
|
|
230
|
+
width: var(--progress-bar-expressive-line-width-b2);
|
|
231
|
+
}
|
|
232
|
+
.progress-bar-expressive__line:nth-child(7) {
|
|
233
|
+
animation-delay: calc(
|
|
234
|
+
-1 * (var(--progress-bar-expressive-line-scale-duration) -
|
|
235
|
+
(
|
|
236
|
+
(
|
|
237
|
+
var(
|
|
238
|
+
--progress-bar-expressive-line-scale-duration
|
|
239
|
+
) /
|
|
240
|
+
var(--progress-bar-expressive-line-count)
|
|
241
|
+
) * 7
|
|
242
|
+
))
|
|
243
|
+
);
|
|
244
|
+
width: var(--progress-bar-expressive-line-width-b3);
|
|
245
|
+
}
|
|
246
|
+
.progress-bar-expressive__line:nth-child(8) {
|
|
247
|
+
animation-delay: calc(
|
|
248
|
+
-1 * (var(--progress-bar-expressive-line-scale-duration) -
|
|
249
|
+
(
|
|
250
|
+
(
|
|
251
|
+
var(
|
|
252
|
+
--progress-bar-expressive-line-scale-duration
|
|
253
|
+
) /
|
|
254
|
+
var(--progress-bar-expressive-line-count)
|
|
255
|
+
) * 8
|
|
256
|
+
))
|
|
257
|
+
);
|
|
258
|
+
width: var(--progress-bar-expressive-line-width-b4);
|
|
259
|
+
}
|
|
260
|
+
.progress-bar-expressive__line:nth-child(9) {
|
|
261
|
+
animation-delay: calc(
|
|
262
|
+
-1 * (var(--progress-bar-expressive-line-scale-duration) -
|
|
263
|
+
(
|
|
264
|
+
(
|
|
265
|
+
var(
|
|
266
|
+
--progress-bar-expressive-line-scale-duration
|
|
267
|
+
) /
|
|
268
|
+
var(--progress-bar-expressive-line-count)
|
|
269
|
+
) * 9
|
|
270
|
+
))
|
|
271
|
+
);
|
|
272
|
+
width: var(--progress-bar-expressive-line-width-c1);
|
|
273
|
+
}
|
|
274
|
+
.progress-bar-expressive__line:nth-child(10) {
|
|
275
|
+
animation-delay: calc(
|
|
276
|
+
-1 * (var(--progress-bar-expressive-line-scale-duration) -
|
|
277
|
+
(
|
|
278
|
+
(
|
|
279
|
+
var(
|
|
280
|
+
--progress-bar-expressive-line-scale-duration
|
|
281
|
+
) /
|
|
282
|
+
var(--progress-bar-expressive-line-count)
|
|
283
|
+
) * 10
|
|
284
|
+
))
|
|
285
|
+
);
|
|
286
|
+
width: var(--progress-bar-expressive-line-width-c2);
|
|
287
|
+
}
|
|
288
|
+
.progress-bar-expressive__line:nth-child(11) {
|
|
289
|
+
animation-delay: calc(
|
|
290
|
+
-1 * (var(--progress-bar-expressive-line-scale-duration) -
|
|
291
|
+
(
|
|
292
|
+
(
|
|
293
|
+
var(
|
|
294
|
+
--progress-bar-expressive-line-scale-duration
|
|
295
|
+
) /
|
|
296
|
+
var(--progress-bar-expressive-line-count)
|
|
297
|
+
) * 11
|
|
298
|
+
))
|
|
299
|
+
);
|
|
300
|
+
width: var(--progress-bar-expressive-line-width-c3);
|
|
301
|
+
}
|
|
302
|
+
.progress-bar-expressive__line:nth-child(12) {
|
|
303
|
+
animation-delay: calc(
|
|
304
|
+
-1 * (var(--progress-bar-expressive-line-scale-duration) -
|
|
305
|
+
(
|
|
306
|
+
(
|
|
307
|
+
var(
|
|
308
|
+
--progress-bar-expressive-line-scale-duration
|
|
309
|
+
) /
|
|
310
|
+
var(--progress-bar-expressive-line-count)
|
|
311
|
+
) * 12
|
|
312
|
+
))
|
|
313
|
+
);
|
|
314
|
+
width: var(--progress-bar-expressive-line-width-c4);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
/* With reduced motion, there are no animated transitions
|
|
318
|
+
between messages and the lines scroll but do not resize. */
|
|
319
|
+
@media (prefers-reduced-motion) {
|
|
320
|
+
// Remove default message animation
|
|
321
|
+
.progress-bar-expressive__message--in,
|
|
322
|
+
.progress-bar-expressive__message--out {
|
|
323
|
+
animation: none;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
.progress-bar-expressive__message[aria-hidden="true"] {
|
|
327
|
+
display: none;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
// Fade in first message
|
|
331
|
+
.progress-bar-expressive__messages:not(
|
|
332
|
+
.progress-bar-expressive__messages--medium
|
|
333
|
+
)
|
|
334
|
+
.progress-bar-expressive__message--initial[role="status"] {
|
|
335
|
+
animation: progress-bar-expressive-message-fadein
|
|
336
|
+
var(--progress-bar-expressive-message-animatein-duration)
|
|
337
|
+
cubic-bezier(0.3, 0, 0, 1) both;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
// Scroll the entire line container
|
|
341
|
+
.progress-bar-expressive__lines {
|
|
342
|
+
animation: progress-bar-expressive-reduced-motion-line-scroll
|
|
343
|
+
var(--progress-bar-expressive-line-scroll-duration) linear infinite;
|
|
344
|
+
overflow: visible;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
// Remove default line animation
|
|
348
|
+
.progress-bar-expressive__line {
|
|
349
|
+
animation: none;
|
|
350
|
+
animation-delay: none;
|
|
351
|
+
margin-right: var(--progress-bar-expressive-line-gap);
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
// Reset line colors
|
|
355
|
+
.progress-bar-expressive__line:nth-child(4n + 1) {
|
|
356
|
+
background-color: var(--progress-bar-expressive-color-1);
|
|
357
|
+
}
|
|
358
|
+
.progress-bar-expressive__line:nth-child(4n + 2) {
|
|
359
|
+
background-color: var(--progress-bar-expressive-color-2);
|
|
360
|
+
}
|
|
361
|
+
.progress-bar-expressive__line:nth-child(4n + 3) {
|
|
362
|
+
background-color: var(--progress-bar-expressive-color-3);
|
|
363
|
+
}
|
|
364
|
+
.progress-bar-expressive__line:nth-child(4n + 4) {
|
|
365
|
+
background-color: var(--progress-bar-expressive-color-4);
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
// To achieve a seamless loop, the last set of line widths
|
|
369
|
+
// need to match the first set of line widths
|
|
370
|
+
.progress-bar-expressive__line:nth-child(9) {
|
|
371
|
+
width: var(--progress-bar-expressive-line-width-a1);
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
.progress-bar-expressive__line:nth-child(10) {
|
|
375
|
+
width: var(--progress-bar-expressive-line-width-a2);
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
.progress-bar-expressive__line:nth-child(11) {
|
|
379
|
+
width: var(--progress-bar-expressive-line-width-a3);
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
.progress-bar-expressive__line:nth-child(12) {
|
|
383
|
+
width: var(--progress-bar-expressive-line-width-a4);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
@keyframes progress-bar-expressive-message-animateout {
|
|
388
|
+
0% {
|
|
389
|
+
opacity: 1;
|
|
390
|
+
transform: translateY(0);
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
100% {
|
|
394
|
+
opacity: 0;
|
|
395
|
+
transform: translateY(calc(var(--font-size-24) * -1));
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
@keyframes progress-bar-expressive-message-animatein {
|
|
400
|
+
0% {
|
|
401
|
+
opacity: 0;
|
|
402
|
+
transform: translateY(var(--font-size-24));
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
100% {
|
|
406
|
+
opacity: 1;
|
|
407
|
+
transform: translateY(0);
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
@keyframes progress-bar-expressive-message-fadein {
|
|
412
|
+
0% {
|
|
413
|
+
opacity: 0;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
100% {
|
|
417
|
+
opacity: 1;
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
@keyframes progress-bar-expressive-line-reorder {
|
|
422
|
+
0% {
|
|
423
|
+
order: 0;
|
|
424
|
+
}
|
|
425
|
+
100% {
|
|
426
|
+
order: var(--progress-bar-expressive-line-count);
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
@keyframes progress-bar-expressive-line-scale-width {
|
|
431
|
+
0% {
|
|
432
|
+
margin-right: 0;
|
|
433
|
+
width: 0;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
12.5% {
|
|
437
|
+
margin-right: var(--progress-bar-expressive-line-gap);
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
50%,
|
|
441
|
+
100% {
|
|
442
|
+
margin-right: var(--progress-bar-expressive-line-gap);
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
@keyframes progress-bar-expressive-reduced-motion-line-scroll {
|
|
447
|
+
0% {
|
|
448
|
+
transform: translateX(
|
|
449
|
+
calc(-200% - 8 * var(--progress-bar-expressive-line-gap))
|
|
450
|
+
);
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
100% {
|
|
454
|
+
transform: translateX(0);
|
|
455
|
+
}
|
|
456
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
export default { title: "Skin/Progress Bar Expressive" };
|
|
2
|
+
|
|
3
|
+
export const base = () => `
|
|
4
|
+
<div class="progress-bar-expressive">
|
|
5
|
+
<div role="progressbar" aria-label="Loading..." class="progress-bar-expressive__progress">
|
|
6
|
+
<div class="progress-bar-expressive__lines">
|
|
7
|
+
<div class="progress-bar-expressive__line"></div>
|
|
8
|
+
<div class="progress-bar-expressive__line"></div>
|
|
9
|
+
<div class="progress-bar-expressive__line"></div>
|
|
10
|
+
<div class="progress-bar-expressive__line"></div>
|
|
11
|
+
|
|
12
|
+
<div class="progress-bar-expressive__line"></div>
|
|
13
|
+
<div class="progress-bar-expressive__line"></div>
|
|
14
|
+
<div class="progress-bar-expressive__line"></div>
|
|
15
|
+
<div class="progress-bar-expressive__line"></div>
|
|
16
|
+
|
|
17
|
+
<div class="progress-bar-expressive__line"></div>
|
|
18
|
+
<div class="progress-bar-expressive__line"></div>
|
|
19
|
+
<div class="progress-bar-expressive__line"></div>
|
|
20
|
+
<div class="progress-bar-expressive__line"></div>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
`;
|
|
25
|
+
|
|
26
|
+
export const withMessages = () => `
|
|
27
|
+
<div class="progress-bar-expressive">
|
|
28
|
+
<div class="progress-bar-expressive__messages">
|
|
29
|
+
<div aria-hidden="true" class="progress-bar-expressive__message">
|
|
30
|
+
We're finishing your order.
|
|
31
|
+
</div>
|
|
32
|
+
<div role="status" id="unique-id" class="progress-bar-expressive__message">
|
|
33
|
+
Hang tight.
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
<div role="progressbar" aria-label="Loading..." aria-describedby="unique-id" class="progress-bar-expressive__progress">
|
|
37
|
+
<div class="progress-bar-expressive__lines">
|
|
38
|
+
<div class="progress-bar-expressive__line"></div>
|
|
39
|
+
<div class="progress-bar-expressive__line"></div>
|
|
40
|
+
<div class="progress-bar-expressive__line"></div>
|
|
41
|
+
<div class="progress-bar-expressive__line"></div>
|
|
42
|
+
|
|
43
|
+
<div class="progress-bar-expressive__line"></div>
|
|
44
|
+
<div class="progress-bar-expressive__line"></div>
|
|
45
|
+
<div class="progress-bar-expressive__line"></div>
|
|
46
|
+
<div class="progress-bar-expressive__line"></div>
|
|
47
|
+
|
|
48
|
+
<div class="progress-bar-expressive__line"></div>
|
|
49
|
+
<div class="progress-bar-expressive__line"></div>
|
|
50
|
+
<div class="progress-bar-expressive__line"></div>
|
|
51
|
+
<div class="progress-bar-expressive__line"></div>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
`;
|
|
56
|
+
|
|
57
|
+
export const withMediumText = () => `
|
|
58
|
+
<div class="progress-bar-expressive progress-bar-expressive--medium">
|
|
59
|
+
<div class="progress-bar-expressive__messages progress-bar-expressive__messages--medium">
|
|
60
|
+
<div aria-hidden="true" class="progress-bar-expressive__message">
|
|
61
|
+
We're finishing your order.
|
|
62
|
+
</div>
|
|
63
|
+
<div role="status" id="unique-id" class="progress-bar-expressive__message">
|
|
64
|
+
Hang tight.
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
<div role="progressbar" aria-label="Loading..." aria-describedby="unique-id" class="progress-bar-expressive__progress">
|
|
68
|
+
<div class="progress-bar-expressive__lines">
|
|
69
|
+
<div class="progress-bar-expressive__line"></div>
|
|
70
|
+
<div class="progress-bar-expressive__line"></div>
|
|
71
|
+
<div class="progress-bar-expressive__line"></div>
|
|
72
|
+
<div class="progress-bar-expressive__line"></div>
|
|
73
|
+
|
|
74
|
+
<div class="progress-bar-expressive__line"></div>
|
|
75
|
+
<div class="progress-bar-expressive__line"></div>
|
|
76
|
+
<div class="progress-bar-expressive__line"></div>
|
|
77
|
+
<div class="progress-bar-expressive__line"></div>
|
|
78
|
+
|
|
79
|
+
<div class="progress-bar-expressive__line"></div>
|
|
80
|
+
<div class="progress-bar-expressive__line"></div>
|
|
81
|
+
<div class="progress-bar-expressive__line"></div>
|
|
82
|
+
<div class="progress-bar-expressive__line"></div>
|
|
83
|
+
</div>
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
`;
|
|
87
|
+
|
|
88
|
+
export const withLongMessages = () => `
|
|
89
|
+
<div class="progress-bar-expressive">
|
|
90
|
+
<div class="progress-bar-expressive__messages">
|
|
91
|
+
<div aria-hidden="true" class="progress-bar-expressive__message">
|
|
92
|
+
Work with a content designer to simplify your messages.
|
|
93
|
+
</div>
|
|
94
|
+
<div role="status" id="unique-id" class="progress-bar-expressive__message">
|
|
95
|
+
Messages should be one line, but sometimes that's hard to achieve.
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
<div role="progressbar" aria-label="Loading..." aria-describedby="unique-id" class="progress-bar-expressive__progress">
|
|
99
|
+
<div class="progress-bar-expressive__lines">
|
|
100
|
+
<div class="progress-bar-expressive__line"></div>
|
|
101
|
+
<div class="progress-bar-expressive__line"></div>
|
|
102
|
+
<div class="progress-bar-expressive__line"></div>
|
|
103
|
+
<div class="progress-bar-expressive__line"></div>
|
|
104
|
+
|
|
105
|
+
<div class="progress-bar-expressive__line"></div>
|
|
106
|
+
<div class="progress-bar-expressive__line"></div>
|
|
107
|
+
<div class="progress-bar-expressive__line"></div>
|
|
108
|
+
<div class="progress-bar-expressive__line"></div>
|
|
109
|
+
|
|
110
|
+
<div class="progress-bar-expressive__line"></div>
|
|
111
|
+
<div class="progress-bar-expressive__line"></div>
|
|
112
|
+
<div class="progress-bar-expressive__line"></div>
|
|
113
|
+
<div class="progress-bar-expressive__line"></div>
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
`;
|
|
@@ -16,6 +16,7 @@ section.section-notice {
|
|
|
16
16
|
grid-template-columns: 32px auto auto auto;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
// TODO: Remove in 18.0.0 since Education Notice is now its own module.
|
|
19
20
|
.section-notice--education {
|
|
20
21
|
.background-color-token(section-notice-education-background-color, color-background-education);
|
|
21
22
|
}
|
|
@@ -1,5 +1,96 @@
|
|
|
1
1
|
export default { title: "Skin/Toggle Button Group/Gallery Layout" };
|
|
2
2
|
|
|
3
|
+
export const usingIMGTag = () => `
|
|
4
|
+
<ul aria-label="Toggle buttons" class="toggle-button-group toggle-button-group--gallery-layout" data-columns="3">
|
|
5
|
+
<li>
|
|
6
|
+
<button type="button" class="toggle-button" aria-pressed="false">
|
|
7
|
+
<span class="toggle-button__image-container">
|
|
8
|
+
<span class="toggle-button__image">
|
|
9
|
+
<img src="https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-profile-pic.jpg" alt="">
|
|
10
|
+
</span>
|
|
11
|
+
</span>
|
|
12
|
+
<span class="toggle-button__content">
|
|
13
|
+
<span class="toggle-button__title">
|
|
14
|
+
<span>HTML Profile Image</span>
|
|
15
|
+
</span>
|
|
16
|
+
<span class="toggle-button__subtitle">Using Cover</span>
|
|
17
|
+
</span>
|
|
18
|
+
</button>
|
|
19
|
+
</li>
|
|
20
|
+
<li>
|
|
21
|
+
<button type="button" class="toggle-button" aria-pressed="false">
|
|
22
|
+
<span class="toggle-button__image-container">
|
|
23
|
+
<span class="toggle-button__image">
|
|
24
|
+
<img src="https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-landscape-pic.jpg" alt="">
|
|
25
|
+
</span>
|
|
26
|
+
</span>
|
|
27
|
+
<span class="toggle-button__content">
|
|
28
|
+
<span class="toggle-button__title">
|
|
29
|
+
<span>HTML Landscape Image</span>
|
|
30
|
+
</span>
|
|
31
|
+
<span class="toggle-button__subtitle">Using Cover</span>
|
|
32
|
+
</span>
|
|
33
|
+
</button>
|
|
34
|
+
</li>
|
|
35
|
+
<li>
|
|
36
|
+
<button type="button" class="toggle-button" aria-pressed="false">
|
|
37
|
+
<span class="toggle-button__image-container">
|
|
38
|
+
<span class="toggle-button__image">
|
|
39
|
+
<img src="https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-square-pic.jpg" alt="">
|
|
40
|
+
</span>
|
|
41
|
+
</span>
|
|
42
|
+
<span class="toggle-button__content">
|
|
43
|
+
<span class="toggle-button__title">
|
|
44
|
+
<span>HTML Square Image</span>
|
|
45
|
+
</span>
|
|
46
|
+
<span class="toggle-button__subtitle">Using Cover</span>
|
|
47
|
+
</span>
|
|
48
|
+
</button>
|
|
49
|
+
</li>
|
|
50
|
+
</ul>
|
|
51
|
+
`;
|
|
52
|
+
|
|
53
|
+
export const usingCSSImage = () => `
|
|
54
|
+
<ul aria-label="Toggle buttons" class="toggle-button-group toggle-button-group--gallery-layout" data-columns="3">
|
|
55
|
+
<li>
|
|
56
|
+
<button type="button" class="toggle-button" aria-pressed="false">
|
|
57
|
+
<span class="toggle-button__image-container">
|
|
58
|
+
<span class="toggle-button__image" style="background-image: url(https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-profile-pic.jpg); background-repeat: no-repeat; background-position: center; background-size: contain; background-position: center 15%;">
|
|
59
|
+
</span>
|
|
60
|
+
</span>
|
|
61
|
+
<span class="toggle-button__content">
|
|
62
|
+
<span class="toggle-button__title">CSS Profile Image</span>
|
|
63
|
+
<span class="toggle-button__subtitle">Using Contain</span>
|
|
64
|
+
</span>
|
|
65
|
+
</button>
|
|
66
|
+
</li>
|
|
67
|
+
<li>
|
|
68
|
+
<button type="button" class="toggle-button" aria-pressed="false">
|
|
69
|
+
<span class="toggle-button__image-container">
|
|
70
|
+
<span class="toggle-button__image" style="background-image: url(https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-profile-pic.jpg); background-repeat: no-repeat; background-position: center; background-size: cover; background-position: center 15%;">
|
|
71
|
+
</span>
|
|
72
|
+
</span>
|
|
73
|
+
<span class="toggle-button__content">
|
|
74
|
+
<span class="toggle-button__title">CSS Profile Image</span>
|
|
75
|
+
<span class="toggle-button__subtitle">Using Cover</span>
|
|
76
|
+
</span>
|
|
77
|
+
</button>
|
|
78
|
+
</li>
|
|
79
|
+
<li>
|
|
80
|
+
<button type="button" class="toggle-button" aria-pressed="false">
|
|
81
|
+
<span class="toggle-button__image-container">
|
|
82
|
+
<span class="toggle-button__image" style="background-image: url(https://ir.ebaystatic.com/cr/v/c01/skin/docs/tb-square-pic.jpg); background-repeat: no-repeat; background-position: center; background-size: cover; background-position: center 30%;">
|
|
83
|
+
</span>
|
|
84
|
+
</span>
|
|
85
|
+
<span class="toggle-button__content">
|
|
86
|
+
<span class="toggle-button__title">CSS Square Image</span>
|
|
87
|
+
<span class="toggle-button__subtitle">Using Cover</span>
|
|
88
|
+
</span>
|
|
89
|
+
</button>
|
|
90
|
+
</li>
|
|
91
|
+
</ul>
|
|
92
|
+
`;
|
|
93
|
+
|
|
3
94
|
export const _2Column = () => `
|
|
4
95
|
<ul aria-label="Buttons" class="toggle-button-group toggle-button-group--gallery-layout" data-columns="2">
|
|
5
96
|
<li>
|