2026-02-06 11:53:59 +03:00
|
|
|
<!--
|
|
|
|
|
Component: Skeleton
|
|
|
|
|
Generic loading placeholder with shimmer animation.
|
|
|
|
|
-->
|
|
|
|
|
<script lang="ts">
|
2026-04-23 09:48:32 +03:00
|
|
|
import { cn } from '$shared/lib';
|
2026-02-06 11:53:59 +03:00
|
|
|
import type { HTMLAttributes } from 'svelte/elements';
|
|
|
|
|
|
|
|
|
|
interface Props extends HTMLAttributes<HTMLDivElement> {
|
|
|
|
|
/**
|
2026-03-02 22:19:35 +03:00
|
|
|
* Shimmer animation
|
|
|
|
|
* @default true
|
2026-02-06 11:53:59 +03:00
|
|
|
*/
|
|
|
|
|
animate?: boolean;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let { class: className, animate = true, ...rest }: Props = $props();
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<div
|
2026-04-23 09:48:32 +03:00
|
|
|
class={cn(
|
2026-02-10 23:19:27 +03:00
|
|
|
'rounded-md bg-background-subtle/50 backdrop-blur-sm',
|
2026-02-06 11:53:59 +03:00
|
|
|
animate && 'animate-pulse',
|
|
|
|
|
className,
|
|
|
|
|
)}
|
|
|
|
|
{...rest}
|
|
|
|
|
>
|
|
|
|
|
</div>
|