Skip to content
tcpsystemsui

Theme

Colour scheme
Accent
Density
Radius
Esc

Get started

Three lines of setup. Components work with zero props.

Install

Terminal
pnpm add @tcpsystems/ui

Load the styles

+layout.svelte
<!-- src/routes/+layout.svelte -->
<script>
	import '@tcpsystems/ui/css/fonts.css';
	import '@tcpsystems/ui/css/tcp.css';
	import { onMount } from 'svelte';
	let { children } = $props();
	onMount(() => import('@tcpsystems/ui/foundation/elements'));
</script>

{@render children()}

Use a component

+page.svelte
<script>
	import Button from '@tcpsystems/ui/foundation/Button';
</script>

<Button variant="primary">Save</Button>

Make it yours

Set any of these on any element. They apply to everything inside.

HTML
<html data-theme="dark" data-brand="ember" data-density="compact" data-radius="soft">

Try them with the Theme button at the top of the page.

Preview
The package isn't on a public registry yet. Install from the repository until it is.