@ebay/skin 19.5.2 → 19.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.
Files changed (38) hide show
  1. package/dist/accordion/accordion.css +55 -17
  2. package/dist/bundles/skin-default.css +213 -37
  3. package/dist/bundles/skin-full.css +217 -37
  4. package/dist/bundles/skin-headless.css +209 -37
  5. package/dist/calendar/calendar.css +1 -1
  6. package/dist/global/global.css +4 -0
  7. package/dist/item-tile/item-tile.css +11 -1
  8. package/dist/number-input/number-input.css +132 -0
  9. package/dist/segmented-buttons/segmented-buttons.css +1 -0
  10. package/dist/skeleton/skeleton.css +42 -29
  11. package/dist/svg/icon/icon-apple-music-24-colored.svg +27 -0
  12. package/dist/svg/icon/icon-cart-add-16.svg +5 -0
  13. package/dist/svg/icon/icon-cart-add-20.svg +5 -0
  14. package/dist/svg/icon/icon-cart-add-24.svg +5 -0
  15. package/dist/svg/icon/icon-customize-16.svg +2 -4
  16. package/dist/svg/icon/icon-customize-24.svg +2 -4
  17. package/dist/svg/icon/icon-eye-16.svg +5 -0
  18. package/dist/svg/icon/icon-eye-24.svg +5 -0
  19. package/dist/svg/icon/icon-feedback-negative-16.svg +5 -0
  20. package/dist/svg/icon/icon-feedback-neutral-16.svg +5 -0
  21. package/dist/svg/icon/icon-feedback-positive-16.svg +5 -0
  22. package/dist/svg/icon/icon-live-bag-16.svg +5 -0
  23. package/dist/svg/icon/icon-live-bag-20.svg +5 -0
  24. package/dist/svg/icon/icon-live-bag-24.svg +5 -0
  25. package/dist/svg/icon/icon-live-bag-thin-16.svg +5 -0
  26. package/dist/svg/icon/icon-live-broadcast-20.svg +5 -0
  27. package/dist/svg/icon/icon-live-broadcast-24.svg +5 -0
  28. package/dist/svg/icon/icon-live-broadcast-thin-16.svg +5 -0
  29. package/dist/svg/icon/icon-people-16.svg +5 -0
  30. package/dist/svg/icon/icon-people-24.svg +5 -0
  31. package/dist/svg/icon/icon-play-disabled-16.svg +5 -0
  32. package/dist/svg/icon/icon-text-size-16.svg +5 -0
  33. package/dist/svg/icon/icon-text-size-24.svg +5 -0
  34. package/dist/svg/icons.svg +197 -62
  35. package/dist/toggle-button/toggle-button.css +1 -0
  36. package/dist/tokens/evo-dark.css +7 -0
  37. package/dist/tokens/evo-light.css +8 -0
  38. package/package.json +2 -2
@@ -24,6 +24,10 @@ body{
24
24
  -webkit-text-size-adjust:100%;
25
25
  }
26
26
 
27
+ button{
28
+ font-family:inherit;
29
+ }
30
+
27
31
  fieldset{
28
32
  border:0;
29
33
  padding:0;
@@ -175,6 +179,28 @@ a:not([href]),a[aria-disabled=true]{
175
179
  border-right-style:inset;
176
180
  box-shadow:none;
177
181
  }
182
+ @keyframes chevron-bounce-open{
183
+ 0%{
184
+ transform:translateY(0);
185
+ }
186
+ 50%{
187
+ transform:translateY(-7px);
188
+ }
189
+ to{
190
+ transform:translateY(0);
191
+ }
192
+ }
193
+ @keyframes chevron-bounce-close{
194
+ 0%{
195
+ transform:translateY(0);
196
+ }
197
+ 50%{
198
+ transform:translateY(7px);
199
+ }
200
+ to{
201
+ transform:translateY(0);
202
+ }
203
+ }
178
204
  ul.accordion{
179
205
  margin:0;
180
206
  padding:0;
@@ -197,21 +223,22 @@ ul.accordion summary.details__summary{
197
223
  padding:12px 16px;
198
224
  }
199
225
 
200
- ul.accordion summary.details__summary span.details__icon svg{
201
- fill:var(--details-secondary-foreground-color, var(--color-foreground-secondary));
226
+ ul.accordion details{
227
+ overflow:hidden;
202
228
  }
203
229
 
204
230
  ul.accordion details .details__content{
205
231
  margin:0 16px 6px;
206
- opacity:0;
207
- transform:scaleY(0);
208
- transform-origin:top;
209
- transition:opacity var(--motion-duration-medium-3) var(--motion-easing-standard), transform var(--motion-duration-medium-3) var(--motion-easing-standard);
232
+ overflow:hidden;
210
233
  }
211
234
 
212
- ul.accordion details[open] .details__content{
213
- opacity:1;
214
- transform:scaleY(1);
235
+ ul.accordion summary.details__summary span.details__icon svg{
236
+ fill:var(--details-secondary-foreground-color, var(--color-foreground-secondary));
237
+ animation:chevron-bounce-close var(--motion-duration-medium-1) var(--motion-easing-standard);
238
+ }
239
+
240
+ ul.accordion details[open] summary.details__summary span.details__icon svg{
241
+ animation:chevron-bounce-open var(--motion-duration-medium-1) var(--motion-easing-standard) var(--motion-duration-short-1);
215
242
  }
216
243
  ul.accordion details svg.details__expand,ul.accordion details[open] svg.details__collapse{
217
244
  display:inline-block;
@@ -226,9 +253,19 @@ ul.accordion--large summary.details__summary{
226
253
  min-height:52px;
227
254
  }
228
255
 
229
- @media (prefers-reduced-motion){
230
- ul.accordion details .details__content,ul.accordion details[open] .details__content{
231
- transition:none;
256
+ @supports selector(::details-content) and (interpolate-size:allow-keywords) and (transition:allow-discrete){
257
+ :root{
258
+ interpolate-size:allow-keywords;
259
+ }
260
+ ul.accordion details::details-content{
261
+ height:0;
262
+ opacity:0;
263
+ overflow:clip;
264
+ transition:height var(--motion-duration-medium-3) var(--motion-easing-standard), content-visibility var(--motion-duration-medium-2) var(--motion-easing-continuous) allow-discrete, opacity var(--motion-duration-medium-2) var(--motion-easing-continuous);
265
+ }
266
+ ul.accordion details[open]::details-content{
267
+ height:auto;
268
+ opacity:1;
232
269
  }
233
270
  }
234
271
  .alert-dialog[role=alertdialog]{
@@ -1481,7 +1518,7 @@ span.carousel,span.carousel__container{
1481
1518
  box-sizing:border-box;
1482
1519
  color:inherit;
1483
1520
  display:inline-flex;
1484
- font:inherit;
1521
+ font-family:inherit;
1485
1522
  height:var(--spacing-400);
1486
1523
  justify-content:center;
1487
1524
  width:var(--spacing-400);
@@ -5722,7 +5759,7 @@ span.inline-notice{
5722
5759
  display:grid;
5723
5760
  grid-area:body;
5724
5761
  grid-template-areas:"section-primary" "section-secondary" "section-tertiary";
5725
- grid-template-rows:25px .75fr 1fr;
5762
+ grid-template-rows:25px 90px 1fr;
5726
5763
  }
5727
5764
 
5728
5765
  .item-tile--list-view .item-tile__header{
@@ -5778,9 +5815,18 @@ span.inline-notice{
5778
5815
  }
5779
5816
 
5780
5817
  .item-tile__subtitle{
5818
+ -webkit-box-orient:vertical;
5781
5819
  color:var(--color-foreground-secondary);
5820
+ display:-webkit-box;
5821
+ -webkit-line-clamp:1;
5822
+ overflow:hidden;
5782
5823
  }
5783
5824
 
5825
+ @media (min-width:768px){
5826
+ .item-tile__body{
5827
+ grid-template-rows:25px 70px 1fr;
5828
+ }
5829
+ }
5784
5830
  .layout-grid.item-tile-group{
5785
5831
  --layout-grid-columns-min:2;
5786
5832
  --layout-grid-columns-xs:2;
@@ -7435,10 +7481,102 @@ span.listbox-button__value{
7435
7481
  margin-left:3px;
7436
7482
  margin-right:0;
7437
7483
  }
7484
+ @keyframes number-input-decrement-before{
7485
+ 0%{
7486
+ transform:translateY(0);
7487
+ }
7488
+ to{
7489
+ transform:translateY(5px);
7490
+ }
7491
+ }
7492
+ @keyframes number-input-decrement-after{
7493
+ 0%{
7494
+ transform:translateY(-10px);
7495
+ }
7496
+ to{
7497
+ transform:translateY(0);
7498
+ }
7499
+ }
7500
+ @keyframes number-input-increment-before{
7501
+ 0%{
7502
+ transform:translateY(0);
7503
+ }
7504
+ to{
7505
+ transform:translateY(-5px);
7506
+ }
7507
+ }
7508
+ @keyframes number-input-increment-after{
7509
+ 0%{
7510
+ transform:translateY(10px);
7511
+ }
7512
+ to{
7513
+ transform:translateY(0);
7514
+ }
7515
+ }
7516
+ @keyframes number-input-increment-after-disabled{
7517
+ 0%{
7518
+ transform:translateY(10px);
7519
+ }
7520
+ 33%{
7521
+ transform:translateY(-5px);
7522
+ }
7523
+ to{
7524
+ transform:translateY(0);
7525
+ }
7526
+ }
7527
+ @keyframes number-input-decrement-after-disabled{
7528
+ 0%{
7529
+ transform:translateY(-10px);
7530
+ }
7531
+ 33%{
7532
+ transform:translateY(5px);
7533
+ }
7534
+ to{
7535
+ transform:translateY(0);
7536
+ }
7537
+ }
7538
+ @keyframes number-increment-disabled{
7539
+ 0%{
7540
+ transform:translateX(0);
7541
+ }
7542
+ 33%{
7543
+ transform:translateX(10px);
7544
+ }
7545
+ to{
7546
+ transform:translateX(0);
7547
+ }
7548
+ }
7549
+ @keyframes number-decrement-disabled{
7550
+ 0%{
7551
+ transform:translateX(0);
7552
+ }
7553
+ 50%{
7554
+ transform:translateX(-10px);
7555
+ }
7556
+ to{
7557
+ transform:translateX(0);
7558
+ }
7559
+ }
7438
7560
  .number-input .textbox{
7439
7561
  background:transparent;
7440
7562
  }
7441
7563
 
7564
+ .number-input--increment .textbox__control{
7565
+ animation:number-input-increment-before var(--motion-duration-short-2) var(--motion-easing-soft-exit), number-input-increment-after var(--motion-duration-medium-1) var(--motion-easing-quick-enter) var(--motion-duration-short-2);
7566
+ }
7567
+
7568
+ .number-input--decrement .textbox__control{
7569
+ animation:number-input-decrement-before var(--motion-duration-short-2) var(--motion-easing-soft-exit), number-input-decrement-after var(--motion-duration-medium-1) var(--motion-easing-quick-enter) var(--motion-duration-short-2);
7570
+ }
7571
+
7572
+ .number-input--decrement-disabled .textbox__control{
7573
+ animation:number-input-decrement-before var(--motion-duration-short-2) var(--motion-easing-soft-exit), number-input-decrement-after-disabled var(--motion-duration-medium-2) var(--motion-easing-standard) var(--motion-duration-short-2);
7574
+ }
7575
+
7576
+ .number-input--increment-disabled .textbox__control{
7577
+ animation:number-input-increment-before var(--motion-duration-short-2) var(--motion-easing-soft-exit), number-input-increment-after-disabled var(--motion-duration-medium-2) var(--motion-easing-standard) var(--motion-duration-short-2);
7578
+ }
7579
+
7442
7580
  .number-input label:first-child{
7443
7581
  flex-grow:1;
7444
7582
  padding-left:var(--spacing-200);
@@ -7478,10 +7616,31 @@ span.listbox-button__value{
7478
7616
  appearance:textfield;
7479
7617
  }
7480
7618
 
7619
+ .number-input .icon-btn{
7620
+ transform:scale(1);
7621
+ transition:transform var(--motion-duration-short-3) var(--motion-easing-standard);
7622
+ }
7623
+
7624
+ .number-input .icon-btn:hover:not(:disabled){
7625
+ background-color:var(--state-layer-hover);
7626
+ }
7627
+
7628
+ .number-input .icon-btn:active{
7629
+ transform:scale(.97);
7630
+ }
7631
+
7481
7632
  .number-input .textbox .icon-btn:not(:disabled) svg{
7482
7633
  color:var(--color-foreground-primary);
7483
7634
  fill:currentColor;
7484
7635
  }
7636
+
7637
+ .number-input__decrement:disabled{
7638
+ animation:number-decrement-disabled var(--motion-duration-short-2) var(--motion-easing-standard);
7639
+ }
7640
+
7641
+ .number-input__increment:disabled{
7642
+ animation:number-increment-disabled var(--motion-duration-short-2) var(--motion-easing-standard);
7643
+ }
7485
7644
  .fake-menu__items,.menu__items{
7486
7645
  background-color:var(--menu-background-color, var(--color-background-primary));
7487
7646
  cursor:default;
@@ -9304,6 +9463,7 @@ p.section-notice__cta{
9304
9463
  border:none;
9305
9464
  border-radius:var(--btn-border-radius, 20px);
9306
9465
  color:var(--color-foreground-on-primary);
9466
+ font-family:inherit;
9307
9467
  font-size:var(--font-size-default);
9308
9468
  min-height:calc(40px - var(--spacing-50)*2);
9309
9469
  padding:var(--spacing-100) var(--spacing-200);
@@ -9450,6 +9610,30 @@ span.select{
9450
9610
  left:0;
9451
9611
  right:auto;
9452
9612
  }
9613
+ @keyframes skeleton-fade-out{
9614
+ 0%{
9615
+ opacity:1;
9616
+ }
9617
+ to{
9618
+ opacity:0;
9619
+ }
9620
+ }
9621
+ @keyframes skeleton-fade-in{
9622
+ 0%{
9623
+ opacity:0;
9624
+ }
9625
+ to{
9626
+ opacity:1;
9627
+ }
9628
+ }
9629
+ ::view-transition-new(skeleton-transition-*){
9630
+ animation:skeleton-fade-in var(--motion-duration-medium-2) var(--motion-easing-continuous);
9631
+ }
9632
+
9633
+ ::view-transition-old(skeleton-transition-*){
9634
+ animation:skeleton-fade-out var(--motion-duration-short-3) var(--motion-easing-continuous);
9635
+ }
9636
+
9453
9637
  .skeleton{
9454
9638
  container-name:skeleton-container;
9455
9639
  container-type:inline-size;
@@ -9555,14 +9739,6 @@ div.skeleton__avatar:not(:last-child),div.skeleton__button:not(:last-child),div.
9555
9739
  --skeleton-background:var(--color-loading-fill-on-secondary);
9556
9740
  }
9557
9741
 
9558
- @media screen and (max-width:512px){
9559
- .skeleton{
9560
- --skeleton-background:var(--color-loading-shimmer);
9561
- }
9562
- .skeleton--on-secondary{
9563
- --skeleton-background:var(--color-loading-shimmer-on-secondary);
9564
- }
9565
- }
9566
9742
  .skeleton--purple{
9567
9743
  --skeleton-background:var(--color-loading-ai-gradient-purple-subtle);
9568
9744
  }
@@ -9576,29 +9752,27 @@ div.skeleton__avatar:not(:last-child),div.skeleton__button:not(:last-child),div.
9576
9752
  }
9577
9753
 
9578
9754
  @media (prefers-reduced-motion:no-preference){
9579
- @keyframes loading-frames{
9755
+ @keyframes on-primary{
9580
9756
  0%{
9581
- background-position:0 0;
9582
- }
9583
- 50%{
9584
- background-position:45% 0;
9757
+ background-color:var(--color-loading-first);
9585
9758
  }
9586
9759
  to{
9587
- background-position:90% 0;
9760
+ background-color:var(--color-loading-second);
9588
9761
  }
9589
9762
  }
9590
- @keyframes fade-in{
9763
+ @keyframes on-secondary{
9591
9764
  0%{
9592
- opacity:0;
9765
+ background-color:var(--color-loading-on-secondary-first);
9593
9766
  }
9594
9767
  to{
9595
- opacity:1;
9768
+ background-color:var(--color-loading-on-secondary-second);
9596
9769
  }
9597
9770
  }
9598
9771
  .skeleton__avatar,.skeleton__button,.skeleton__image,.skeleton__text,.skeleton__textbox{
9599
- animation:fade-in .5s forwards,loading-frames 833ms linear 667ms 6;
9600
- animation-fill-mode:both;
9601
- background-size:200%;
9772
+ animation:var(--motion-duration-long-3) var(--motion-easing-continuous) infinite alternate on-primary;
9773
+ }
9774
+ .skeleton--on-secondary .skeleton__avatar,.skeleton--on-secondary .skeleton__button,.skeleton--on-secondary .skeleton__image,.skeleton--on-secondary .skeleton__text,.skeleton--on-secondary .skeleton__textbox{
9775
+ animation:var(--motion-duration-long-3) var(--motion-easing-continuous) infinite alternate on-secondary;
9602
9776
  }
9603
9777
  }
9604
9778
  @container skeleton-container (width > 79px){
@@ -9606,9 +9780,6 @@ div.skeleton__avatar:not(:last-child),div.skeleton__button:not(:last-child),div.
9606
9780
  border-radius:var(--image-border-radius, var(--border-radius-100));
9607
9781
  }
9608
9782
  }
9609
- [dir=rtl] .skeleton__avatar,[dir=rtl] .skeleton__button,[dir=rtl] .skeleton__image,[dir=rtl] .skeleton__text,[dir=rtl] .skeleton__textbox{
9610
- animation-direction:normal, reverse;
9611
- }
9612
9783
  [dir=rtl] .skeleton__text--multiline:after{
9613
9784
  left:var(--spacing-700);
9614
9785
  }
@@ -10572,6 +10743,7 @@ button.toast-dialog__close>svg{
10572
10743
  box-shadow:0 0 0 1px transparent;
10573
10744
  color:var(--color-foreground-primary);
10574
10745
  display:inline-flex;
10746
+ font-family:inherit;
10575
10747
  font-size:var(--font-size-default);
10576
10748
  justify-content:center;
10577
10749
  margin-right:var(--spacing-100);
@@ -79,7 +79,7 @@
79
79
  box-sizing: border-box;
80
80
  color: inherit;
81
81
  display: inline-flex;
82
- font: inherit;
82
+ font-family: inherit;
83
83
  height: var(--spacing-400);
84
84
  justify-content: center;
85
85
  width: var(--spacing-400);
@@ -10,6 +10,10 @@ body {
10
10
  -webkit-text-size-adjust: 100%;
11
11
  }
12
12
 
13
+ button {
14
+ font-family: inherit;
15
+ }
16
+
13
17
  fieldset {
14
18
  border: 0;
15
19
  padding: 0;
@@ -33,7 +33,7 @@
33
33
  display: grid;
34
34
  grid-area: body;
35
35
  grid-template-areas: "section-primary" "section-secondary" "section-tertiary";
36
- grid-template-rows: 25px 0.75fr 1fr;
36
+ grid-template-rows: 25px 90px 1fr;
37
37
  }
38
38
 
39
39
  .item-tile--list-view .item-tile__header {
@@ -90,5 +90,15 @@
90
90
  }
91
91
 
92
92
  .item-tile__subtitle {
93
+ -webkit-box-orient: vertical;
93
94
  color: var(--color-foreground-secondary);
95
+ display: -webkit-box;
96
+ -webkit-line-clamp: 1;
97
+ overflow: hidden;
98
+ }
99
+
100
+ @media (min-width: 768px) {
101
+ .item-tile__body {
102
+ grid-template-rows: 25px 70px 1fr;
103
+ }
94
104
  }
@@ -1,7 +1,115 @@
1
+ @keyframes number-input-decrement-before {
2
+ 0% {
3
+ transform: translateY(0);
4
+ }
5
+ to {
6
+ transform: translateY(5px);
7
+ }
8
+ }
9
+ @keyframes number-input-decrement-after {
10
+ 0% {
11
+ transform: translateY(-10px);
12
+ }
13
+ to {
14
+ transform: translateY(0);
15
+ }
16
+ }
17
+ @keyframes number-input-increment-before {
18
+ 0% {
19
+ transform: translateY(0);
20
+ }
21
+ to {
22
+ transform: translateY(-5px);
23
+ }
24
+ }
25
+ @keyframes number-input-increment-after {
26
+ 0% {
27
+ transform: translateY(10px);
28
+ }
29
+ to {
30
+ transform: translateY(0);
31
+ }
32
+ }
33
+ @keyframes number-input-increment-after-disabled {
34
+ 0% {
35
+ transform: translateY(10px);
36
+ }
37
+ 33% {
38
+ transform: translateY(-5px);
39
+ }
40
+ to {
41
+ transform: translateY(0);
42
+ }
43
+ }
44
+ @keyframes number-input-decrement-after-disabled {
45
+ 0% {
46
+ transform: translateY(-10px);
47
+ }
48
+ 33% {
49
+ transform: translateY(5px);
50
+ }
51
+ to {
52
+ transform: translateY(0);
53
+ }
54
+ }
55
+ @keyframes number-increment-disabled {
56
+ 0% {
57
+ transform: translateX(0);
58
+ }
59
+ 33% {
60
+ transform: translateX(10px);
61
+ }
62
+ to {
63
+ transform: translateX(0);
64
+ }
65
+ }
66
+ @keyframes number-decrement-disabled {
67
+ 0% {
68
+ transform: translateX(0);
69
+ }
70
+ 50% {
71
+ transform: translateX(-10px);
72
+ }
73
+ to {
74
+ transform: translateX(0);
75
+ }
76
+ }
1
77
  .number-input .textbox {
2
78
  background: transparent;
3
79
  }
4
80
 
81
+ .number-input--increment .textbox__control {
82
+ animation:
83
+ number-input-increment-before var(--motion-duration-short-2)
84
+ var(--motion-easing-soft-exit),
85
+ number-input-increment-after var(--motion-duration-medium-1)
86
+ var(--motion-easing-quick-enter) var(--motion-duration-short-2);
87
+ }
88
+
89
+ .number-input--decrement .textbox__control {
90
+ animation:
91
+ number-input-decrement-before var(--motion-duration-short-2)
92
+ var(--motion-easing-soft-exit),
93
+ number-input-decrement-after var(--motion-duration-medium-1)
94
+ var(--motion-easing-quick-enter) var(--motion-duration-short-2);
95
+ }
96
+
97
+ .number-input--decrement-disabled .textbox__control {
98
+ animation:
99
+ number-input-decrement-before var(--motion-duration-short-2)
100
+ var(--motion-easing-soft-exit),
101
+ number-input-decrement-after-disabled var(--motion-duration-medium-2)
102
+ var(--motion-easing-standard) var(--motion-duration-short-2);
103
+ }
104
+
105
+ .number-input--increment-disabled .textbox__control {
106
+ animation:
107
+ number-input-increment-before var(--motion-duration-short-2)
108
+ var(--motion-easing-soft-exit),
109
+ number-input-increment-after-disabled var(--motion-duration-medium-2)
110
+ var(--motion-easing-standard) var(--motion-duration-short-2);
111
+ }
112
+
5
113
  .number-input label:first-child {
6
114
  flex-grow: 1;
7
115
  padding-left: var(--spacing-200);
@@ -42,7 +150,31 @@
42
150
  appearance: textfield;
43
151
  }
44
152
 
153
+ .number-input .icon-btn {
154
+ transform: scale(1);
155
+ transition: transform var(--motion-duration-short-3)
156
+ var(--motion-easing-standard);
157
+ }
158
+
159
+ .number-input .icon-btn:hover:not(:disabled) {
160
+ background-color: var(--state-layer-hover);
161
+ }
162
+
163
+ .number-input .icon-btn:active {
164
+ transform: scale(0.97);
165
+ }
166
+
45
167
  .number-input .textbox .icon-btn:not(:disabled) svg {
46
168
  color: var(--color-foreground-primary);
47
169
  fill: currentColor;
48
170
  }
171
+
172
+ .number-input__decrement:disabled {
173
+ animation: number-decrement-disabled var(--motion-duration-short-2)
174
+ var(--motion-easing-standard);
175
+ }
176
+
177
+ .number-input__increment:disabled {
178
+ animation: number-increment-disabled var(--motion-duration-short-2)
179
+ var(--motion-easing-standard);
180
+ }
@@ -27,6 +27,7 @@
27
27
  border: none;
28
28
  border-radius: var(--btn-border-radius, 20px);
29
29
  color: var(--color-foreground-on-primary);
30
+ font-family: inherit;
30
31
  font-size: var(--font-size-default);
31
32
  min-height: calc(40px - var(--spacing-50) * 2);
32
33
  padding: var(--spacing-100) var(--spacing-200);
@@ -1,3 +1,29 @@
1
+ @keyframes skeleton-fade-out {
2
+ 0% {
3
+ opacity: 1;
4
+ }
5
+ to {
6
+ opacity: 0;
7
+ }
8
+ }
9
+ @keyframes skeleton-fade-in {
10
+ 0% {
11
+ opacity: 0;
12
+ }
13
+ to {
14
+ opacity: 1;
15
+ }
16
+ }
17
+ ::view-transition-new(skeleton-transition-*) {
18
+ animation: skeleton-fade-in var(--motion-duration-medium-2)
19
+ var(--motion-easing-continuous);
20
+ }
21
+
22
+ ::view-transition-old(skeleton-transition-*) {
23
+ animation: skeleton-fade-out var(--motion-duration-short-3)
24
+ var(--motion-easing-continuous);
25
+ }
26
+
1
27
  .skeleton {
2
28
  container-name: skeleton-container;
3
29
  container-type: inline-size;
@@ -119,14 +145,6 @@ div.skeleton__textbox:not(:last-child) {
119
145
  --skeleton-background: var(--color-loading-fill-on-secondary);
120
146
  }
121
147
 
122
- @media screen and (max-width: 512px) {
123
- .skeleton {
124
- --skeleton-background: var(--color-loading-shimmer);
125
- }
126
- .skeleton--on-secondary {
127
- --skeleton-background: var(--color-loading-shimmer-on-secondary);
128
- }
129
- }
130
148
  .skeleton--purple {
131
149
  --skeleton-background: var(--color-loading-ai-gradient-purple-subtle);
132
150
  }
@@ -140,23 +158,20 @@ div.skeleton__textbox:not(:last-child) {
140
158
  }
141
159
 
142
160
  @media (prefers-reduced-motion: no-preference) {
143
- @keyframes loading-frames {
161
+ @keyframes on-primary {
144
162
  0% {
145
- background-position: 0 0;
146
- }
147
- 50% {
148
- background-position: 45% 0;
163
+ background-color: var(--color-loading-first);
149
164
  }
150
165
  to {
151
- background-position: 90% 0;
166
+ background-color: var(--color-loading-second);
152
167
  }
153
168
  }
154
- @keyframes fade-in {
169
+ @keyframes on-secondary {
155
170
  0% {
156
- opacity: 0;
171
+ background-color: var(--color-loading-on-secondary-first);
157
172
  }
158
173
  to {
159
- opacity: 1;
174
+ background-color: var(--color-loading-on-secondary-second);
160
175
  }
161
176
  }
162
177
  .skeleton__avatar,
@@ -164,11 +179,16 @@ div.skeleton__textbox:not(:last-child) {
164
179
  .skeleton__image,
165
180
  .skeleton__text,
166
181
  .skeleton__textbox {
167
- animation:
168
- fade-in 0.5s forwards,
169
- loading-frames 833ms linear 667ms 6;
170
- animation-fill-mode: both;
171
- background-size: 200%;
182
+ animation: var(--motion-duration-long-3) var(--motion-easing-continuous)
183
+ infinite alternate on-primary;
184
+ }
185
+ .skeleton--on-secondary .skeleton__avatar,
186
+ .skeleton--on-secondary .skeleton__button,
187
+ .skeleton--on-secondary .skeleton__image,
188
+ .skeleton--on-secondary .skeleton__text,
189
+ .skeleton--on-secondary .skeleton__textbox {
190
+ animation: var(--motion-duration-long-3) var(--motion-easing-continuous)
191
+ infinite alternate on-secondary;
172
192
  }
173
193
  }
174
194
  @container skeleton-container (width > 79px) {
@@ -176,13 +196,6 @@ div.skeleton__textbox:not(:last-child) {
176
196
  border-radius: var(--image-border-radius, var(--border-radius-100));
177
197
  }
178
198
  }
179
- [dir="rtl"] .skeleton__avatar,
180
- [dir="rtl"] .skeleton__button,
181
- [dir="rtl"] .skeleton__image,
182
- [dir="rtl"] .skeleton__text,
183
- [dir="rtl"] .skeleton__textbox {
184
- animation-direction: normal, reverse;
185
- }
186
199
  [dir="rtl"] .skeleton__text--multiline:after {
187
200
  left: var(--spacing-700);
188
201
  }