import * as React from 'react'; import { Slot, Slottable } from '@radix-ui/react-slot'; import { ChevronRight } from 'lucide-react'; import { cn } from '../lib/utils'; export const CardButton = React.forwardRef< HTMLButtonElement, { asChild?: boolean; className?: string; children: React.ReactNode; } & React.ButtonHTMLAttributes >(function CardButton({ className, asChild, ...props }, ref) { const Comp = asChild ? Slot : 'button'; return ( {props.children} ); }); export const CardButtonTitle = React.forwardRef< HTMLDivElement, { className?: string; asChild?: boolean; children: React.ReactNode; } >(function CardButtonTitle({ className, asChild, ...props }, ref) { const Comp = asChild ? Slot : 'div'; return ( {props.children} ); }); export const CardButtonHeader = React.forwardRef< HTMLDivElement, { className?: string; children: React.ReactNode; asChild?: boolean; displayArrow?: boolean; } >(function CardButtonHeader( { className, asChild, displayArrow = true, ...props }, ref, ) { const Comp = asChild ? Slot : 'div'; return ( {props.children} ); }); export const CardButtonContent = React.forwardRef< HTMLDivElement, { className?: string; asChild?: boolean; children: React.ReactNode; } >(function CardButtonContent({ className, asChild, ...props }, ref) { const Comp = asChild ? Slot : 'div'; return ( {props.children} ); }); export const CardButtonFooter = React.forwardRef< HTMLDivElement, { className?: string; asChild?: boolean; children: React.ReactNode; } >(function CardButtonFooter({ className, asChild, ...props }, ref) { const Comp = asChild ? Slot : 'div'; return ( {props.children} ); });