"use client";
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
import * as React from "react";
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
import { cva } from "class-variance-authority";
import { cn } from "@open-mercato/shared/lib/utils";
const TooltipProvider = TooltipPrimitive.Provider;
const Tooltip = TooltipPrimitive.Root;
const TooltipTrigger = TooltipPrimitive.Trigger;
const tooltipContentVariants = cva(
  "z-tooltip overflow-hidden rounded-sm max-w-xs break-words shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
  {
    variants: {
      variant: {
        dark: "bg-foreground text-background",
        light: "bg-popover text-popover-foreground border border-input"
      },
      size: {
        sm: "px-1.5 py-0.5 text-xs leading-4",
        default: "px-2 py-0.5 text-xs leading-4",
        lg: "px-3 py-2 text-sm leading-5"
      }
    },
    defaultVariants: {
      variant: "dark",
      size: "default"
    }
  }
);
const TooltipContent = React.forwardRef(({ className, sideOffset = 4, variant, size, arrow = true, children, ...props }, ref) => /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
  TooltipPrimitive.Content,
  {
    ref,
    sideOffset,
    className: cn(tooltipContentVariants({ variant, size }), className),
    ...props,
    children: [
      children,
      arrow ? /* @__PURE__ */ jsx(
        TooltipPrimitive.Arrow,
        {
          width: 10,
          height: 5,
          className: cn(variant === "light" ? "fill-popover stroke-input" : "fill-foreground")
        }
      ) : null
    ]
  }
) }));
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
function SimpleTooltip({
  content,
  children,
  delayDuration = 300,
  side = "top",
  align = "center",
  open,
  onOpenChange,
  disabled = false,
  variant,
  size,
  arrow
}) {
  const isDisabled = disabled || !content;
  if (isDisabled) {
    return /* @__PURE__ */ jsx(Fragment, { children });
  }
  return /* @__PURE__ */ jsx(TooltipProvider, { delayDuration, children: /* @__PURE__ */ jsxs(
    Tooltip,
    {
      open,
      onOpenChange,
      delayDuration,
      children: [
        /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children }),
        /* @__PURE__ */ jsx(TooltipContent, { side, align, variant, size, arrow, children: content })
      ]
    }
  ) });
}
export {
  SimpleTooltip,
  Tooltip,
  TooltipContent,
  TooltipProvider,
  TooltipTrigger,
  tooltipContentVariants
};
//# sourceMappingURL=tooltip.js.map
