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

Интерфейс

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

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


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

Анимированный бейдж статуса с пульсирующей точкой (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('inset-shadow inline-flex rounded-full bg-background-inset p-[1.5px]', className)}>
	<div class="inline-flex items-center gap-2 rounded-full bg-background px-3 py-1 card">
		<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>
</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('inset-shadow inline-flex rounded-full bg-background-inset p-[1.5px]', className)}>
	<div class="inline-flex items-center gap-2 rounded-full bg-background px-3 py-1 card">
		<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>
</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 Дополнительные классы