Skip to content

Commit c6c8507

Browse files
committed
docs: clipboard
1 parent 7182227 commit c6c8507

File tree

9 files changed

+90
-0
lines changed

9 files changed

+90
-0
lines changed

packages/react/src/components/clipboard/clipboard.stories.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ export { Context } from './examples/context'
1111
export { Controlled } from './examples/controlled'
1212
export { CustomTimeout } from './examples/custom-timeout'
1313
export { RootProvider } from './examples/root-provider'
14+
export { ValueText } from './examples/value-text'
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { Clipboard } from '@ark-ui/react/clipboard'
2+
import { CheckIcon, ClipboardCopyIcon } from 'lucide-react'
3+
4+
export const ValueText = () => {
5+
return (
6+
<Clipboard.Root value="https://ark-ui.com">
7+
<Clipboard.ValueText />
8+
<Clipboard.Trigger>
9+
<Clipboard.Indicator copied={<CheckIcon />}>
10+
<ClipboardCopyIcon />
11+
</Clipboard.Indicator>
12+
Copy
13+
</Clipboard.Trigger>
14+
</Clipboard.Root>
15+
)
16+
}

packages/solid/src/components/clipboard/clipboard.stories.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ export { Context } from './examples/context'
1111
export { Controlled } from './examples/controlled'
1212
export { CustomTimeout } from './examples/custom-timeout'
1313
export { RootProvider } from './examples/root-provider'
14+
export { ValueText } from './examples/value-text'
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import { Clipboard } from '@ark-ui/solid/clipboard'
2+
import { CheckIcon, ClipboardCopyIcon } from 'lucide-solid'
3+
import { Show } from 'solid-js'
4+
5+
export const ValueText = () => {
6+
return (
7+
<Clipboard.Root value="https://ark-ui.com">
8+
<Clipboard.ValueText />
9+
<Clipboard.Trigger>
10+
<Clipboard.Indicator>
11+
<Show when={false} fallback={<ClipboardCopyIcon />}>
12+
<CheckIcon />
13+
</Show>
14+
</Clipboard.Indicator>
15+
Copy
16+
</Clipboard.Trigger>
17+
</Clipboard.Root>
18+
)
19+
}

packages/svelte/src/lib/components/clipboard/clipboard.stories.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import ContextExample from './examples/context.svelte'
44
import ControlledExample from './examples/controlled.svelte'
55
import CustomTimeoutExample from './examples/custom-timeout.svelte'
66
import RootProviderExample from './examples/root-provider.svelte'
7+
import ValueTextExample from './examples/value-text.svelte'
78

89
const meta: Meta = {
910
title: 'Components/Clipboard',
@@ -40,3 +41,9 @@ export const RootProvider = {
4041
Component: RootProviderExample,
4142
}),
4243
}
44+
45+
export const ValueText = {
46+
render: () => ({
47+
Component: ValueTextExample,
48+
}),
49+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<script lang="ts">
2+
import { CheckIcon, ClipboardCopyIcon } from 'lucide-svelte'
3+
import { Clipboard } from '@ark-ui/svelte/clipboard'
4+
</script>
5+
6+
<Clipboard.Root value="https://ark-ui.com">
7+
<Clipboard.ValueText />
8+
<Clipboard.Trigger>
9+
<Clipboard.Indicator>
10+
<ClipboardCopyIcon />
11+
{#snippet copied()}
12+
<CheckIcon />
13+
{/snippet}
14+
</Clipboard.Indicator>
15+
Copy
16+
</Clipboard.Trigger>
17+
</Clipboard.Root>

packages/vue/src/components/clipboard/clipboard.stories.vue

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import Context from './examples/context.vue'
44
import Controlled from './examples/controlled.vue'
55
import CustomTimeout from './examples/custom-timeout.vue'
66
import RootProvider from './examples/root-provider.vue'
7+
import ValueText from './examples/value-text.vue'
78
</script>
89
<template>
910
<Story title="Clipboard">
@@ -22,5 +23,8 @@ import RootProvider from './examples/root-provider.vue'
2223
<Variant title="RootProvider">
2324
<RootProvider />
2425
</Variant>
26+
<Variant title="ValueText">
27+
<ValueText />
28+
</Variant>
2529
</Story>
2630
</template>
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<script setup lang="ts">
2+
import { Clipboard } from '@ark-ui/vue/clipboard'
3+
import { CheckIcon, ClipboardCopyIcon } from 'lucide-vue-next'
4+
</script>
5+
6+
<template>
7+
<Clipboard.Root default-value="https://ark-ui.com">
8+
<Clipboard.ValueText />
9+
<Clipboard.Trigger>
10+
<Clipboard.Indicator>
11+
<ClipboardCopyIcon />
12+
<template #copied>
13+
<CheckIcon />
14+
</template>
15+
</Clipboard.Indicator>
16+
Copy
17+
</Clipboard.Trigger>
18+
</Clipboard.Root>
19+
</template>

website/src/content/pages/components/clipboard.mdx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,12 @@ Configure the copy status timeout duration using the `timeout` prop. Default is
4848

4949
<Example id="custom-timeout" />
5050

51+
### Value Text
52+
53+
Use `Clipboard.ValueText` to display the current clipboard value.
54+
55+
<Example id="value-text" />
56+
5157
## API Reference
5258

5359
<ComponentTypes id="clipboard" />

0 commit comments

Comments
 (0)