@penaprieto/design-system
Version:
Multi-brand React design system with design tokens from Figma
75 lines (65 loc) • 1.24 kB
CSS
/* Base Skeleton */
.ds-skeleton {
display: block;
background-color: var(--skeleton-bg-default-default);
-webkit-font-smoothing: antialiased;
}
/* Variants */
.ds-skeleton--text {
height: 1em;
margin-bottom: 0.5em;
border-radius: var(--br-xs, 4px);
transform-origin: 0 60%;
transform: scale(1, 0.6);
}
.ds-skeleton--text:last-child {
margin-bottom: 0;
}
.ds-skeleton--circular {
border-radius: var(--br-full, 9999px);
}
.ds-skeleton--rectangular {
border-radius: var(--br-xs, 4px);
}
/* Animations */
.ds-skeleton--pulse {
animation: ds-skeleton-pulse 1.5s ease-in-out 0.5s infinite;
}
.ds-skeleton--wave {
position: relative;
overflow: hidden;
}
.ds-skeleton--wave::after {
content: '';
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
transform: translateX(-100%);
background: var(--skeleton-bg-default-gradient);
animation: ds-skeleton-wave 1.6s linear 0.5s infinite;
}
/* Keyframes */
@keyframes ds-skeleton-pulse {
0% {
opacity: 1;
}
50% {
opacity: 0.4;
}
100% {
opacity: 1;
}
}
@keyframes ds-skeleton-wave {
0% {
transform: translateX(-100%);
}
60% {
transform: translateX(100%);
}
100% {
transform: translateX(100%);
}
}