Skip to content
tcpsystemsui

Theme

Colour scheme
Accent
Density
Radius
Esc

CopyButton

Copy original text with live success and failure feedback.

beta

Try it

Svelte
<CopyButton value="tcp deploy --env production" />

Examples

Basic

Basic.svelte
<script lang="ts">
	import CopyButton from '@tcpsystems/ui/foundation/CopyButton';
</script>

<CopyButton value="tcp deploy --env production" />

Labels

Labels.svelte
<script lang="ts">
	import CopyButton from '@tcpsystems/ui/foundation/CopyButton';
	import Cluster from '@tcpsystems/ui/foundation/Cluster';
</script>

<Cluster>
	<CopyButton value="https://ai.tcp.systems/v1" label="Copy endpoint" copiedLabel="Endpoint copied" />
	<CopyButton value="pnpm add @tcpsystems/ui" label="Copy command" copiedLabel="Command copied" />
</Cluster>

Disabled

Disabled.svelte
<script lang="ts">
	import CopyButton from '@tcpsystems/ui/foundation/CopyButton';
</script>

<CopyButton value="sk-pending" label="Copy key" disabled />

Tracked

Tracked.svelte
<script lang="ts">
	import CopyButton from '@tcpsystems/ui/foundation/CopyButton';
</script>

<CopyButton value="git clone git@github.com:tcpsystems/ui.git" label="Copy clone URL" track="repo-header" />

API

Import
import CopyButton from '@tcpsystems/ui/foundation/CopyButton';
PropTypeDefault
valuestringnone
label?string'Copy'
copiedLabel?string'Copied'
errorLabel?string'Copy failed. Select and copy the text.'
disabled?nativefalse
track?stringnone
HookKind
.tcp-copyRoot class
data-copied-labelData attribute
data-copy-jsonData attribute
data-error-labelData attribute
data-tcp-trackData attribute