Перейти к содержимому

Интерфейс

Бейдж статуса

Анимированный бейдж статуса с пульсирующей точкой и настраиваемым цветом.


StatusBadge

Анимированный бейдж статуса с пульсирующей точкой (ping-анимация) и настраиваемым цветом. Идеален для индикации состояния системы, онлайн-статуса и живых метрик.

Интерактивное демо

Пропсы

<script lang="ts">
	import { cn } from '$lib/utils/cn';

	type Props = {
		dotColor?: string;
		class?: string;
		children?: import('svelte').Snippet;
	};

	let {
		dotColor = '#f43f5e',
		class: className = '',
		children
	}: Props = $props();
</script>

<div
	class={cn(
		'inline-flex items-center gap-2 rounded-full bg-background-inset px-3 py-1',
		className
	)}
>
	<span
		class="relative flex size-2"
	>
		<span
			class="absolute inline-flex h-full w-full animate-ping rounded-full opacity-75"
			style:background={dotColor}
		></span>
		<span
			class="relative inline-flex size-2 rounded-full"
			style:background={dotColor}
		></span>
	</span>
	<span class="text-xs font-medium text-foreground">
		{@render children?.()}
	</span>
</div>
<script lang="ts">
	import { cn } from '$lib/utils/cn';

	type Props = {
		dotColor?: string;
		class?: string;
		children?: import('svelte').Snippet;
	};

	let {
		dotColor = '#f43f5e',
		class: className = '',
		children
	}: Props = $props();
</script>

<div
	class={cn(
		'inline-flex items-center gap-2 rounded-full bg-background-inset px-3 py-1',
		className
	)}
>
	<span
		class="relative flex size-2"
	>
		<span
			class="absolute inline-flex h-full w-full animate-ping rounded-full opacity-75"
			style:background={dotColor}
		></span>
		<span
			class="relative inline-flex size-2 rounded-full"
			style:background={dotColor}
		></span>
	</span>
	<span class="text-xs font-medium text-foreground">
		{@render children?.()}
	</span>
</div>

Примеры использования

Онлайн статус

Онлайн
<StatusBadge dotColor="#10b981">Онлайн</StatusBadge>
<StatusBadge dotColor="#10b981">Онлайн</StatusBadge>

Оффлайн статус

Оффлайн
<StatusBadge dotColor="#ef4444">Оффлайн</StatusBadge>
<StatusBadge dotColor="#ef4444">Оффлайн</StatusBadge>

Загрузка

Загрузка...
<StatusBadge dotColor="#f59e0b">Загрузка...</StatusBadge>
<StatusBadge dotColor="#f59e0b">Загрузка...</StatusBadge>

Пропсы

Пропс Тип По умолчанию Описание
dotColor string '#f43f5e' Цвет точки (HEX)
class string Дополнительные классы