
Full install snippet with stable and preview tabs plus dynamic copy button.
@shadcnblocks
example/snippet/snippet-composition-1.tsx
"use client";
import { useState } from "react";
import {
Snippet,
SnippetCopyButton,
SnippetHeader,
SnippetTabsContent,
SnippetTabsList,
SnippetTabsTrigger,
} from "@/components/kibo-ui/snippet";
export const title = "Install command";
const commands = {
stable: "curl -f https://example.com/install.sh | bash",
preview: "curl -f https://example.com/preview.sh | bash",
};
const Example = () => {
const [tab, setTab] = useState("stable");
return (
<div className="w-full max-w-lg">
<Snippet value={tab} onValueChange={setTab}>
<SnippetHeader>
<SnippetTabsList>
<SnippetTabsTrigger value="stable">Stable</SnippetTabsTrigger>
<SnippetTabsTrigger value="preview">Preview</SnippetTabsTrigger>
</SnippetTabsList>
<SnippetCopyButton value={commands[tab as keyof typeof commands]} />
</SnippetHeader>
<SnippetTabsContent value="stable">
{commands.stable}
</SnippetTabsContent>
<SnippetTabsContent value="preview">
{commands.preview}
</SnippetTabsContent>
</Snippet>
</div>
);
};
export default Example;






























