Skip to content
tcpsystemsui

Theme

Colour scheme
Accent
Density
Radius
Esc

Spinner

Inline loading indicator. Appears after the feedback delay.

beta

Try it

Loading deployments
Svelte
<Spinner label="Loading deployments" />

Examples

Loading deployments

Loading deployments
Loading deployments.svelte
<script lang="ts">
	import Spinner from '@tcpsystems/ui/foundation/Spinner';
</script>

<Spinner label="Loading deployments" />

With visible label

Deploying gateway
With visible label.svelte
<script lang="ts">
	import Spinner from '@tcpsystems/ui/foundation/Spinner';
	import Cluster from '@tcpsystems/ui/foundation/Cluster';
</script>

<Cluster>
	<Spinner label="Deploying gateway" />
	<span aria-hidden="true">Deploying gateway…</span>
</Cluster>

Loading to ready

Checking gateway health
Loading to ready.svelte
<script lang="ts">
	import Spinner from '@tcpsystems/ui/foundation/Spinner';
	import Button from '@tcpsystems/ui/foundation/Button';
	import Stack from '@tcpsystems/ui/foundation/Stack';
	let loading = $state(true);
</script>

<Stack>
	{#if loading}<Spinner label="Checking gateway health" />{:else}<p role="status">Gateway is healthy.</p>{/if}
	<Button onclick={() => loading = !loading}>{loading ? 'Finish health check' : 'Check again'}</Button>
</Stack>

API

Import
import Spinner from '@tcpsystems/ui/foundation/Spinner';
PropTypeDefault
label?string'Loading'
HookKind
.tcp-spinnerRoot class