Clipboard
A component for copying text to the clipboard with visual feedback.
Anatomy
<script>
import {
Clipboard,
ClipboardButton,
ClipboardIconButton,
ClipboardInput,
} from "@saas-ui/svelte/components/clipboard";
</script>
<Clipboard.Root value="https://saas-ui.dev">
<Clipboard.Label>Copy Link</Clipboard.Label>
<Clipboard.Control>
<Clipboard.Input />
<Clipboard.Trigger>
<Clipboard.Indicator copied={false}>
<CopyIcon />
</Clipboard.Indicator>
<Clipboard.Indicator copied={true}>
<CheckIcon />
</Clipboard.Indicator>
</Clipboard.Trigger>
</Clipboard.Control>
</Clipboard.Root>Examples
Basic Accessibility
<Clipboard value="https://saas-ui.dev">
<ClipboardIconButton />
</Clipboard> Custom Labels Accessibility
<Clipboard value="https://saas-ui.dev">
<ClipboardButton label="Kopieer" copiedLabel="Gekopieerd" />
</Clipboard> Input Accessibility
<Clipboard
value="https://saas-ui.dev/docs/components/clipboard"
class="max-w-xs"
>
<ClipboardPrimitive.Control class="relative flex w-full items-center">
<ClipboardInput class="pr-10" />
<Centre class="absolute right-1">
<ClipboardIconButton
class="hover:bg-bg-subtle -mr-2 border-none bg-transparent shadow-none"
/>
</Centre>
</ClipboardPrimitive.Control>
</Clipboard> Timeout Accessibility
timeout value.
<Clipboard value="https://saas-ui.dev" timeout={1000}>
<ClipboardButton />
</Clipboard>Props
| Prop | Type | Default | Description |
|---|---|---|---|
value | text | - | The value to be copied to the clipboard. |
timeout | number | 3000 | The timeout for showing the 'copied' state (in ms). |
class | text | - | Additional CSS classes to apply. |