import { jsx } from "react/jsx-runtime";
import "react";
import { S as Slot } from "../../index-DcJYRxi-.js";
import { c as cva } from "../../index-BHpUy2Ix.js";
import { c as cn } from "../../cn-FAaWYZ6x.js";
const calendarButtonVariants = cva(
  "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-negative aria-invalid:border-negative",
  {
    variants: {
      variant: {
        default: "bg-subtle text-default shadow-xs hover:bg-strong",
        destructive: "bg-negative-strong text-default-inverse shadow-xs hover:opacity-90 focus-visible:ring-negative",
        outline: "border border-default bg-default shadow-xs hover:bg-subtle hover:text-foreground",
        secondary: "bg-subtle text-subtle shadow-xs hover:bg-strong",
        ghost: "hover:bg-subtle hover:text-strong",
        link: "text-strong underline-offset-4 hover:underline"
      },
      size: {
        default: "h-9 px-4 py-2 has-[>svg]:px-3",
        sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
        lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
        icon: "size-9"
      }
    },
    defaultVariants: {
      variant: "default",
      size: "default"
    }
  }
);
const CalendarButton = ({
  className,
  variant,
  size,
  asChild = false,
  ...props
}) => {
  const Comp = asChild ? Slot : "button";
  return /* @__PURE__ */ jsx(
    Comp,
    {
      "data-slot": "calendar-button",
      className: cn(calendarButtonVariants({ variant, size, className })),
      ...props
    }
  );
};
export {
  CalendarButton,
  calendarButtonVariants
};
