2024-12-20 22:38:15 +00:00
|
|
|
<script lang="ts">
|
|
|
|
|
export let size = 'md';
|
|
|
|
|
</script>
|
|
|
|
|
|
2025-09-15 18:22:41 +00:00
|
|
|
<span
|
|
|
|
|
class="relative flex {size === 'md'
|
|
|
|
|
? 'size-3 my-2'
|
|
|
|
|
: size === 'xs'
|
|
|
|
|
? 'size-1.5 my-1'
|
|
|
|
|
: 'size-2 my-1'} mx-1"
|
|
|
|
|
>
|
2025-07-01 11:32:32 +00:00
|
|
|
<span
|
|
|
|
|
class="absolute inline-flex h-full w-full animate-pulse rounded-full bg-gray-700 dark:bg-gray-200 opacity-75"
|
|
|
|
|
></span>
|
|
|
|
|
<span
|
|
|
|
|
class="relative inline-flex {size === 'md'
|
|
|
|
|
? 'size-3'
|
2025-09-15 18:22:41 +00:00
|
|
|
: size === 'xs'
|
|
|
|
|
? 'size-1.5'
|
|
|
|
|
: 'size-2'} rounded-full bg-black dark:bg-white animate-size"
|
2025-07-01 11:32:32 +00:00
|
|
|
></span>
|
|
|
|
|
</span>
|
2023-12-30 07:03:48 +00:00
|
|
|
|
2025-07-01 11:32:32 +00:00
|
|
|
<style>
|
|
|
|
|
@keyframes size {
|
|
|
|
|
0%,
|
|
|
|
|
100% {
|
|
|
|
|
transform: scale(1);
|
|
|
|
|
}
|
|
|
|
|
50% {
|
2025-07-02 10:58:28 +00:00
|
|
|
transform: scale(1.25);
|
2025-07-01 11:32:32 +00:00
|
|
|
}
|
|
|
|
|
}
|
2023-12-30 07:03:48 +00:00
|
|
|
|
2025-07-01 11:32:32 +00:00
|
|
|
.animate-size {
|
2025-07-02 10:58:28 +00:00
|
|
|
animation: size 1.5s ease-in-out infinite;
|
2025-07-01 11:32:32 +00:00
|
|
|
}
|
|
|
|
|
</style>
|