Files
metabuilder/fakemui/styles/components/Skeleton.module.scss
JohnDoe6345789 d65962eb98 Implement data export and filtering modules with single-function files
- Added CSV export functionality with escape handling.
- Implemented JSON export functionality.
- Created utility functions for retrieving column labels and row values.
- Established a filtering system with state management and filter application.
- Refactored sorting logic into dedicated modules for better maintainability.
- Deprecated old filtering and sorting files, redirecting to new module structure.
- Introduced form field builders and validation utilities, also refactored into single-function files.
2025-12-30 12:16:09 +00:00

96 lines
1.8 KiB
SCSS

// Skeleton component styles
// Loading placeholder with shimmer animation
@keyframes skeleton-shimmer {
0% {
background-position: -200px 0;
}
100% {
background-position: calc(200px + 100%) 0;
}
}
.fakemui-skeleton {
display: inline-block;
background-color: var(--color-secondary, rgba(0, 0, 0, 0.11));
background-image: linear-gradient(
90deg,
transparent 0%,
var(--skeleton-shimmer-color, rgba(255, 255, 255, 0.5)) 50%,
transparent 100%
);
background-size: 200px 100%;
background-repeat: no-repeat;
animation: skeleton-shimmer 1.5s ease-in-out infinite;
// Variants
&--text {
height: 1em;
border-radius: var(--radius-xs, 4px);
transform: scale(1, 0.6);
transform-origin: 0 60%;
&:empty::before {
content: '\00a0'; // Non-breaking space for height
}
}
&--rectangular {
border-radius: var(--radius-sm, 4px);
}
&--circular {
border-radius: 50%;
}
&--rounded {
border-radius: var(--radius-md, 8px);
}
// Wave animation variant
&--wave {
animation: none;
overflow: hidden;
position: relative;
&::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(
90deg,
transparent,
var(--skeleton-shimmer-color, rgba(255, 255, 255, 0.5)),
transparent
);
animation: skeleton-shimmer 1.6s linear 0.5s infinite;
}
}
// Pulse animation variant
&--pulse {
animation: skeleton-pulse 1.5s ease-in-out 0.5s infinite;
}
}
@keyframes skeleton-pulse {
0% {
opacity: 1;
}
50% {
opacity: 0.4;
}
100% {
opacity: 1;
}
}
// Dark theme adjustments
[data-theme="dark"] .fakemui-skeleton {
background-color: rgba(255, 255, 255, 0.11);
--skeleton-shimmer-color: rgba(255, 255, 255, 0.2);
}