"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 "@/registry/new-york/ui/tabs" interface ComponentExampleProps extends React.HTMLAttributes { extractClassname?: boolean extractedClassNames?: string align?: "center" | "start" | "end" src?: string } export function ComponentExample({ children, className, extractClassname, extractedClassNames, align = "center", src: _, ...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 || Button?.props?.__rawString__ || null } }, [Code]) return (
Preview Code {extractedClassNames ? ( ) : ( codeString && ( ) )}
{Example}
{Code}
{Children?.length ? (
{Children}
) : null}
) }