import { cva } from "class-variance-authority";
import { jsx } from "react/jsx-runtime";

//#region src/components/Input/Input.tsx
const inputVariants = cva("", {
	variants: {
		variant: {
			default: [
				"w-full select-text resize-none rounded-xl border-2 bg-input-background text-base text-input-text shadow-none outline-0 transition-all md:text-sm",
				"border-input-border hover:border-input-border-hover focus:border-input-border-focus focus:outline-0 focus:[box-shadow:none]",
				"aria-[invalid=true]:border-error",
				"disabled:opacity-50"
			],
			invisible: ["w-full border-none bg-inherit text-inherit outline-hidden ring-0"]
		},
		size: {
			md: "px-2 py-3 md:py-1",
			lg: "p-4 md:py-2"
		},
		validationStyleEnabled: {
			disabled: "",
			enabled: "valid:border-success invalid:border-error"
		}
	},
	defaultVariants: {
		variant: "default",
		size: "md",
		validationStyleEnabled: "disabled"
	}
});
let InputVariant = /* @__PURE__ */ function(InputVariant$1) {
	InputVariant$1["DEFAULT"] = "default";
	InputVariant$1["INVISIBLE"] = "invisible";
	return InputVariant$1;
}({});
let InputSize = /* @__PURE__ */ function(InputSize$1) {
	InputSize$1["MD"] = "md";
	InputSize$1["LG"] = "lg";
	return InputSize$1;
}({});
const Input = ({ validationStyleEnabled = false, variant, size, className,...props }) => /* @__PURE__ */ jsx("input", {
	className: inputVariants({
		variant,
		size,
		validationStyleEnabled: validationStyleEnabled ? "enabled" : "disabled",
		className
	}),
	...props
});

//#endregion
export { Input, InputSize, InputVariant, inputVariants };
//# sourceMappingURL=Input.mjs.map