import { cn } from "./index3.js";
import { Button } from "./index6.js";
import { cva } from "class-variance-authority";
import { X } from "lucide-react";
import * as React from "react";
import { jsx, jsxs } from "react/jsx-runtime";
//#region src/components/ui/close-button.tsx
/**
* CloseButton - for modal/overlay close buttons (dialogs, sheets, drawers)
* Uses Button component with ghost variant, positioned by consumer
*/
var closeButtonVariants = cva("", {
	variants: { size: {
		sm: "",
		md: "",
		lg: ""
	} },
	defaultVariants: { size: "sm" }
});
var buttonSizeMap = {
	sm: "icon-sm",
	md: "icon",
	lg: "icon-lg"
};
var CloseButton = React.forwardRef(({ className, size = "sm", "aria-label": ariaLabel = "Close", ...props }, ref) => {
	return /* @__PURE__ */ jsxs(Button, {
		ref,
		"data-slot": "close-button",
		appearance: "ghost",
		variant: "secondary",
		size: buttonSizeMap[size ?? "sm"],
		className: cn(closeButtonVariants({ size }), className),
		"aria-label": ariaLabel,
		...props,
		children: [/* @__PURE__ */ jsx(X, {}), /* @__PURE__ */ jsx("span", {
			className: "sr-only",
			children: ariaLabel
		})]
	});
});
CloseButton.displayName = "CloseButton";
/**
* RemoveButton - for inline remove buttons (tags, list items, chips)
* Lightweight button with smaller footprint
*/
var removeButtonVariants = cva("flex shrink-0 items-center justify-center rounded-[3px] p-0.5 text-muted-foreground hover:bg-surface-1 hover:text-muted-foreground dark:text-quaternary-foreground dark:hover:text-quaternary-foreground transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", {
	variants: { size: {
		sm: "[&>svg]:size-2.5",
		md: "[&>svg]:size-3",
		lg: "[&>svg]:size-3.5"
	} },
	defaultVariants: { size: "md" }
});
var RemoveButton = React.forwardRef(({ className, size = "md", "aria-label": ariaLabel = "Remove", ...props }, ref) => {
	return /* @__PURE__ */ jsx("button", {
		ref,
		type: "button",
		"data-slot": "remove-button",
		className: cn(removeButtonVariants({ size }), className),
		"aria-label": ariaLabel,
		...props,
		children: /* @__PURE__ */ jsx(X, {})
	});
});
RemoveButton.displayName = "RemoveButton";
//#endregion
export { CloseButton, RemoveButton };

//# sourceMappingURL=index85.js.map