stone-kit
Version:
uikit for redesign
85 lines (84 loc) • 2.28 kB
JavaScript
import { jsxs as i, jsx as s } from "react/jsx-runtime";
import { forwardRef as g } from "react";
import { NewIcon as n } from "../NewIcon/ui/NewIcon.js";
const p = "_checkbox_vuhc0_1", $ = "_checkbox__text_vuhc0_5", I = "_checkbox__elem_vuhc0_9", C = "_checkbox__hoverIcon_vuhc0_28", N = "_error_vuhc0_35", j = "_light_vuhc0_41", w = "_dark_vuhc0_44", y = "_isChecked_vuhc0_47", e = {
checkbox: p,
checkbox__text: $,
checkbox__elem: I,
checkbox__hoverIcon: C,
error: N,
light: j,
dark: w,
isChecked: y,
"medium-size": "_medium-size_vuhc0_102",
"large-size": "_large-size_vuhc0_107",
"small-size": "_small-size_vuhc0_112"
}, L = g(
({
children: t,
isChecked: _ = !1,
error: a = !1,
modifierClassesStyle: m = [""],
emitIsChecked: h,
onClick: l,
variant: x = "light",
size_s: k,
size_m: b,
size_l: u,
text: r,
...v
}, d) => {
const z = m.map((f) => e[f]).filter(Boolean).join(" ");
let o = "", c = "20";
return u ? (o = e["large-size"], c = "20") : k ? (o = e["small-size"], c = "12") : (o = e["medium-size"], c = "16"), /* @__PURE__ */ i(
"label",
{
className: `
${e.checkbox}
${z}
${_ ? e.isChecked : ""}
${a ? e.error : ""}
${e[x] || ""}
${o}
`,
onClick: () => {
l && l();
},
children: [
/* @__PURE__ */ s(
"input",
{
type: "checkbox",
ref: d,
checked: !!_,
onChange: () => h && h(!_),
...v
}
),
/* @__PURE__ */ i("span", { className: e.checkbox__elem, children: [
_ && /* @__PURE__ */ s(
n,
{
name: "check",
size: c
}
),
!_ && /* @__PURE__ */ s(
n,
{
name: "check",
size: c,
additionalClass: e.checkbox__hoverIcon
}
)
] }),
r && /* @__PURE__ */ s("span", { className: e.checkbox__text, dangerouslySetInnerHTML: { __html: r } }),
t
]
}
);
}
);
export {
L as CheckBox
};