@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.
Files changed (38) hide show
  1. package/.github/workflows/jekyll-gh-pages.yml +2 -4
  2. package/.storybook/manager.js +1 -1
  3. package/CHANGELOG.md +44 -0
  4. package/_cdn/skin/v17.3.0/skin-default.min.css +69 -0
  5. package/_cdn/skin/v17.3.0/skin-full.min.css +151 -0
  6. package/_cdn/skin/v17.3.0/skin-headless.min.css +6 -0
  7. package/dist/button/button.css +6 -6
  8. package/dist/education-notice/education-notice.css +61 -0
  9. package/dist/listbox-button/listbox-button.css +24 -5
  10. package/dist/progress-bar-expressive/progress-bar-expressive.css +277 -0
  11. package/dist/toggle-button-group/toggle-button-group.css +1 -1
  12. package/education-notice.browser.json +1 -0
  13. package/education-notice.css +1 -0
  14. package/education-notice.js +1 -0
  15. package/education-notice.mjs +1 -0
  16. package/index.browser.json +2 -0
  17. package/index.css +2 -0
  18. package/index.js +2 -0
  19. package/index.mjs +2 -0
  20. package/package.json +18 -18
  21. package/progress-bar-expressive.browser.json +1 -0
  22. package/progress-bar-expressive.css +1 -0
  23. package/progress-bar-expressive.js +1 -0
  24. package/progress-bar-expressive.mjs +1 -0
  25. package/src/less/bundles/skin-headless.less +2 -0
  26. package/src/less/button/button.less +3 -0
  27. package/src/less/carousel/stories/carousel.stories.js +44 -44
  28. package/src/less/education-notice/education-notice.less +74 -0
  29. package/src/less/education-notice/stories/base.stories.js +152 -0
  30. package/src/less/listbox-button/listbox-button.less +11 -2
  31. package/src/less/progress-bar-expressive/progress-bar-expressive.less +456 -0
  32. package/src/less/progress-bar-expressive/stories/progress-bar-expressive.stories.js +117 -0
  33. package/src/less/section-notice/section-notice.less +1 -0
  34. package/src/less/toggle-button-group/stories/gallery-layout.stories.js +91 -0
  35. package/src/less/toggle-button-group/toggle-button-group.less +1 -1
  36. package/_cdn/skin/v17.2.0/skin-default.min.css +0 -69
  37. package/_cdn/skin/v17.2.0/skin-full.min.css +0 -151
  38. 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>
@@ -9,7 +9,7 @@
9
9
  }
10
10
 
11
11
  .toggle-button-group li {
12
- display: inline-table;
12
+ display: inline-block;
13
13
  margin-bottom: var(--spacing-50);
14
14
  margin-left: var(--spacing-50);
15
15
  margin-right: var(--spacing-50);