import { j as n } from "../../node_modules/react/jsx-runtime.js";
import { forwardRef as i } from "react";
import { cva as l } from "../../node_modules/class-variance-authority/dist/index.js";
import { cn as m } from "../../utils/index.js";
const h = l(["btn"], {
  variants: {
    variant: {
      solid: "",
      outline: "",
      ghost: ""
    },
    size: {
      xs: "size-xs",
      sm: "size-sm",
      md: "size-md",
      lg: "size-lg"
    },
    colorScheme: {
      primary: "",
      grey: "",
      warn: "",
      critical: "",
      "warn-dark": "",
      black: "",
      singpass: "",
      corppass: ""
    },
    fit: {
      content: "w-fit",
      stretch: "w-full justify-center"
    }
  },
  compoundVariants: [
    {
      variant: "solid",
      colorScheme: "primary",
      className: "btn-primary"
    },
    {
      variant: "outline",
      colorScheme: "primary",
      className: "btn-primary-outline"
    },
    {
      variant: "ghost",
      colorScheme: "primary",
      className: "btn-primary-ghost"
    },
    {
      variant: "solid",
      colorScheme: "grey",
      className: "btn-grey"
    },
    {
      variant: "outline",
      colorScheme: "grey",
      className: "btn-grey-outline"
    },
    {
      variant: "ghost",
      colorScheme: "grey",
      className: "btn-grey-ghost"
    },
    {
      variant: "solid",
      colorScheme: "warn",
      className: "btn-warn"
    },
    {
      variant: "outline",
      colorScheme: "warn",
      className: "btn-warn-outline"
    },
    {
      variant: "ghost",
      colorScheme: "warn",
      className: "btn-warn-ghost"
    },
    {
      variant: "solid",
      colorScheme: "critical",
      className: "btn-critical"
    },
    {
      variant: "outline",
      colorScheme: "critical",
      className: "btn-critical-outline"
    },
    {
      variant: "ghost",
      colorScheme: "critical",
      className: "btn-critical-ghost"
    },
    {
      variant: "solid",
      colorScheme: "warn-dark",
      className: "btn-warn-dark"
    },
    {
      variant: "outline",
      colorScheme: "warn-dark",
      className: "btn-warn-dark-outline"
    },
    {
      variant: "ghost",
      colorScheme: "warn-dark",
      className: "btn-warn-dark-ghost"
    },
    {
      variant: "solid",
      colorScheme: "black",
      className: "btn-black"
    },
    {
      variant: "outline",
      colorScheme: "black",
      className: "btn-black-outline"
    },
    {
      variant: "ghost",
      colorScheme: "black",
      className: "btn-black-ghost"
    },
    {
      variant: "solid",
      colorScheme: "singpass",
      className: "btn-singpass"
    },
    {
      variant: "outline",
      colorScheme: "singpass",
      className: "btn-singpass-outline"
    },
    {
      variant: "solid",
      colorScheme: "corppass",
      className: "btn-corppass"
    },
    {
      variant: "outline",
      colorScheme: "corppass",
      className: "btn-corppass-outline"
    }
  ],
  defaultVariants: {
    variant: "solid",
    size: "md",
    colorScheme: "primary",
    fit: "content"
  }
}), v = i(
  ({ variant: a, size: r, colorScheme: s, fit: t, className: o, ...e }, c) => /* @__PURE__ */ n.jsx(
    "button",
    {
      ref: c,
      className: m(
        h({
          variant: a,
          size: r,
          colorScheme: s,
          fit: t,
          className: o
        })
      ),
      ...e
    }
  )
);
export {
  v as Button
};
