laif-ds
Version:
Design System di Laif con componenti React basati su principi di Atomic Design
39 lines (38 loc) • 1.56 kB
JavaScript
"use client";
import { jsx as r } from "react/jsx-runtime";
import { Checkbox as o, CheckboxIndicator as a } from "../../node_modules/@radix-ui/react-checkbox/dist/index.js";
import { cn as n } from "../../lib/utils.js";
import s from "../../node_modules/lucide-react/dist/esm/icons/minus.js";
import c from "../../node_modules/lucide-react/dist/esm/icons/check.js";
function f({
className: t,
checked: i,
...d
}) {
const e = i === "indeterminate";
return /* @__PURE__ */ r(
o,
{
"data-slot": "checkbox",
className: n(
"peer bg-d-input border-d-border data-[state=checked]:bg-d-primary data-[state=checked]:border-d-primary data-[state=checked]:text-d-primary-foreground focus-visible:border-d-ring focus-visible:ring-d-ring/50 aria-invalid:border-d-destructive aria-invalid:ring-d-destructive/20 dark:aria-invalid:ring-d-destructive/40 size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
e && "bg-d-primary border-d-primary text-d-primary-foreground",
t
),
checked: e ? !1 : i,
...d,
children: /* @__PURE__ */ r(
a,
{
"data-slot": "checkbox-indicator",
className: "flex items-center justify-center text-current transition-none",
forceMount: e || void 0,
children: e ? /* @__PURE__ */ r(s, { className: "size-3.5" }) : /* @__PURE__ */ r(c, { className: "size-3.5" })
}
)
}
);
}
export {
f as Checkbox
};