diff --git a/packages/web/src/scss/components/Skeleton/_Skeleton.scss b/packages/web/src/scss/components/Skeleton/_Skeleton.scss index a7d8225ed3..b5de291d46 100644 --- a/packages/web/src/scss/components/Skeleton/_Skeleton.scss +++ b/packages/web/src/scss/components/Skeleton/_Skeleton.scss @@ -37,21 +37,32 @@ } .Skeleton__item { + position: relative; display: block; width: 100%; - background: theme.$background; - background-size: 400% 400%; - animation: skeleton-loading 2s ease infinite; // TODO: Animation to be determined + overflow: hidden; + background: theme.$item-background; &:not(:last-child) { margin-bottom: theme.$margin-bottom; } + + &::before { + content: ''; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-image: theme.$item-gradient; + transform: translateX(-100%); + animation: skeleton-loading 1.5s infinite; + } } .Skeleton--shape .Skeleton__item { width: var(--#{tokens.$css-variable-prefix}skeleton-shape-width); height: var(--#{tokens.$css-variable-prefix}skeleton-shape-height); - object-fit: cover; border: 1px solid theme.$shape-border-color; @include responsive-properties.create-cascade( @@ -73,11 +84,7 @@ } @keyframes skeleton-loading { - 0% { - background-position: 100% 50%; - } - 100% { - background-position: 0 50%; + transform: translateX(100%); } } diff --git a/packages/web/src/scss/components/Skeleton/_theme.scss b/packages/web/src/scss/components/Skeleton/_theme.scss index 78c1bf3742..fec2684aff 100644 --- a/packages/web/src/scss/components/Skeleton/_theme.scss +++ b/packages/web/src/scss/components/Skeleton/_theme.scss @@ -2,7 +2,8 @@ @use 'tools'; $margin-bottom: tokens.$space-400; -$background: linear-gradient(94.81deg, #ececec 0%, #fff 48.5%, #ececec 100%); // TODO: update to tokens +$item-gradient: linear-gradient(94.81deg, #ececec 0%, #fff 48.5%, #ececec 100%); // TODO: update to tokens +$item-background: #ececec; // TODO: update to tokens $breakpoints: tokens.$breakpoints; $typography-border-radius: tokens.$radius-300; diff --git a/packages/web/src/scss/components/Skeleton/index.html b/packages/web/src/scss/components/Skeleton/index.html index 3996ab27ba..1874889c65 100644 --- a/packages/web/src/scss/components/Skeleton/index.html +++ b/packages/web/src/scss/components/Skeleton/index.html @@ -15,13 +15,13 @@

Body

Size {{size}}

-
+
-
+
@@ -48,7 +48,7 @@

Heading

Size {{size}}

-
+
@@ -64,58 +64,6 @@

Size {{size}}

- -
-
-
-

Shape Image

-
- -
-
-

Image Square

-
- Loading -
-
-
- -
-
-

Image Circle

-
- Loading -
-
-
- -
-
-

Image Rectangular

-
- Loading -
-
-
- -
-
-
-
- -
@@ -125,7 +73,7 @@

Image Rectangular

Shape Square

-
+
Shape Square

Shape Circle

-
+
Shape Circle

Shape Rectangular

-
+
Shape Rectangular

Shape Rectangular responsive radius

-
+
Shape Rectangular responsive radius

Combinations

-
-
-
-
-
-
-
-
-
-
- +
+
+
+
+
+
+
+
-
- - +
+
+ +
+
+ + +