import { jsx } from 'react/jsx-runtime';
import { c as cva } from '../index-Bo3AAQJp.js';
import { c as cn } from '../utils-BJnb9o5c.js';

function Empty$1({ className, ...props }) {
  return /* @__PURE__ */ jsx(
    "div",
    {
      "data-slot": "empty",
      className: cn(
        "flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-xl border-dashed p-6 text-center text-balance",
        className
      ),
      ...props
    }
  );
}
function EmptyHeader$1({ className, ...props }) {
  return /* @__PURE__ */ jsx(
    "div",
    {
      "data-slot": "empty-header",
      className: cn("flex max-w-sm flex-col items-center gap-2", className),
      ...props
    }
  );
}
const emptyMediaVariants = cva(
  "mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0",
  {
    variants: {
      variant: {
        default: "bg-transparent",
        icon: "flex size-8 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*='size-'])]:size-4"
      }
    },
    defaultVariants: {
      variant: "default"
    }
  }
);
function EmptyMedia$1({
  className,
  variant = "default",
  ...props
}) {
  return /* @__PURE__ */ jsx(
    "div",
    {
      "data-slot": "empty-icon",
      "data-variant": variant,
      className: cn(emptyMediaVariants({ variant, className })),
      ...props
    }
  );
}
function EmptyTitle$1({ className, ...props }) {
  return /* @__PURE__ */ jsx(
    "div",
    {
      "data-slot": "empty-title",
      className: cn(
        "text-sm font-medium tracking-tight",
        className
      ),
      ...props
    }
  );
}
function EmptyDescription$1({ className, ...props }) {
  return /* @__PURE__ */ jsx(
    "div",
    {
      "data-slot": "empty-description",
      className: cn(
        "text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
        className
      ),
      ...props
    }
  );
}
function EmptyContent$1({ className, ...props }) {
  return /* @__PURE__ */ jsx(
    "div",
    {
      "data-slot": "empty-content",
      className: cn(
        "flex w-full max-w-sm min-w-0 flex-col items-center gap-2.5 text-sm text-balance",
        className
      ),
      ...props
    }
  );
}

const Empty = (props) => /* @__PURE__ */ jsx(Empty$1, { ...props });
const EmptyHeader = (props) => /* @__PURE__ */ jsx(EmptyHeader$1, { ...props });
const EmptyTitle = (props) => /* @__PURE__ */ jsx(EmptyTitle$1, { ...props });
const EmptyDescription = (props) => /* @__PURE__ */ jsx(EmptyDescription$1, { ...props });
const EmptyContent = (props) => /* @__PURE__ */ jsx(EmptyContent$1, { ...props });
const EmptyMedia = (props) => /* @__PURE__ */ jsx(EmptyMedia$1, { ...props });

export { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle };
//# sourceMappingURL=Empty.js.map
