"use client" import * as React from "react" import { cn } from "@/lib/utils" import { CopyButton, CopyWithClassNames } from "@/components/copy-button" import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs" interface ComponentExampleProps extends React.HTMLAttributes { extractClassname?: boolean extractedClassNames?: string } export function ComponentExample({ children, className, extractClassname, extractedClassNames, ...props }: ComponentExampleProps) { const [Example, Code, ...Children] = React.Children.toArray( children ) as React.ReactElement[] const codeString = React.useMemo(() => { if ( typeof Code?.props["data-rehype-pretty-code-fragment"] !== "undefined" ) { const [, Button] = React.Children.toArray( Code.props.children ) as React.ReactElement[] return Button?.props?.value || null } }, [Code]) return (
Preview Code {extractedClassNames ? ( ) : ( codeString && )}
{Example}
{Code}
{Children && (
{Children}
)}
) }