'use strict';

var reactSlot = require('@radix-ui/react-slot');
var clsx = require('clsx');
var tailwindMerge = require('tailwind-merge');
var pressable = require('@page-speed/pressable');
var jsxRuntime = require('react/jsx-runtime');

// components/ui/button.tsx
function cn(...inputs) {
  return tailwindMerge.twMerge(clsx.clsx(inputs));
}
function Button({
  className,
  variant = "default",
  size = "default",
  asChild = false,
  ...props
}) {
  const Comp = asChild ? reactSlot.Slot : "button";
  return /* @__PURE__ */ jsxRuntime.jsx(
    Comp,
    {
      "data-slot": "button",
      "data-variant": variant,
      "data-size": size,
      className: cn(pressable.buttonVariants({ variant, size, className })),
      ...props
    }
  );
}

Object.defineProperty(exports, "buttonVariants", {
  enumerable: true,
  get: function () { return pressable.buttonVariants; }
});
exports.Button = Button;
