"use client" import Link from "next/link" import { type ComponentProps, type PropsWithChildren } from "react" import { trackClick } from "@/utils/tracking" import { variants } from "./variants" import type { VariantProps } from "class-variance-authority" export interface ButtonLinkProps extends PropsWithChildren, Omit, "color">, VariantProps { trackingId?: string trackingParams?: Record } export default function ButtonLink({ variant, color, size, typography, wrapping, className, href, target, onClick = () => {}, trackingId, trackingParams, ...props }: ButtonLinkProps) { const classNames = variants({ variant, color, size, wrapping, typography, className, }) return ( { onClick(e) if (trackingId) { trackClick(trackingId, trackingParams) } }} {...props} /> ) }