'use strict';

var jsxRuntime = require('react/jsx-runtime');
var React = require('react');
var index = require('../index-vioSzJOw.js');
var utils = require('../utils-BhM0B89p.js');

function Empty$1({ className, ...props }) {
  return /* @__PURE__ */ jsxRuntime.jsx(
    "div",
    {
      "data-slot": "empty",
      className: utils.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__ */ jsxRuntime.jsx(
    "div",
    {
      "data-slot": "empty-header",
      className: utils.cn("flex max-w-sm flex-col items-center gap-2", className),
      ...props
    }
  );
}
const emptyMediaVariants = index.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__ */ jsxRuntime.jsx(
    "div",
    {
      "data-slot": "empty-icon",
      "data-variant": variant,
      className: utils.cn(emptyMediaVariants({ variant, className })),
      ...props
    }
  );
}
function EmptyTitle$1({ className, ...props }) {
  return /* @__PURE__ */ jsxRuntime.jsx(
    "div",
    {
      "data-slot": "empty-title",
      className: utils.cn(
        "text-sm font-medium tracking-tight",
        className
      ),
      ...props
    }
  );
}
function EmptyDescription$1({ className, ...props }) {
  return /* @__PURE__ */ jsxRuntime.jsx(
    "div",
    {
      "data-slot": "empty-description",
      className: utils.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__ */ jsxRuntime.jsx(
    "div",
    {
      "data-slot": "empty-content",
      className: utils.cn(
        "flex w-full max-w-sm min-w-0 flex-col items-center gap-2.5 text-sm text-balance",
        className
      ),
      ...props
    }
  );
}

const RESPONSIVE_MAX_WIDTH = "max-w-full sm:max-w-md lg:max-w-lg";
const InnerClassNameContext = React.createContext(void 0);
const resolveSlotClassName = (inner, local) => {
  const consumer = utils.cn(inner, local);
  const hasMaxWidth = consumer.includes("max-w-");
  return hasMaxWidth ? consumer : utils.cn(RESPONSIVE_MAX_WIDTH, consumer);
};
const Empty = ({ innerClassName, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(InnerClassNameContext.Provider, { value: innerClassName, children: /* @__PURE__ */ jsxRuntime.jsx(Empty$1, { ...props }) });
const EmptyHeader = ({
  className,
  ...props
}) => {
  const inner = React.useContext(InnerClassNameContext);
  return /* @__PURE__ */ jsxRuntime.jsx(
    EmptyHeader$1,
    {
      className: resolveSlotClassName(inner, className),
      ...props
    }
  );
};
const EmptyTitle = (props) => /* @__PURE__ */ jsxRuntime.jsx(EmptyTitle$1, { ...props });
const EmptyDescription = (props) => /* @__PURE__ */ jsxRuntime.jsx(EmptyDescription$1, { ...props });
const EmptyContent = ({
  className,
  ...props
}) => {
  const inner = React.useContext(InnerClassNameContext);
  return /* @__PURE__ */ jsxRuntime.jsx(
    EmptyContent$1,
    {
      className: resolveSlotClassName(inner, className),
      ...props
    }
  );
};
const EmptyMedia = (props) => /* @__PURE__ */ jsxRuntime.jsx(EmptyMedia$1, { ...props });

exports.Empty = Empty;
exports.EmptyContent = EmptyContent;
exports.EmptyDescription = EmptyDescription;
exports.EmptyHeader = EmptyHeader;
exports.EmptyMedia = EmptyMedia;
exports.EmptyTitle = EmptyTitle;
//# sourceMappingURL=Empty.js.map
