@hitachivantara/uikit-react-core
Version:
Core React components for the NEXT Design System.
52 lines (51 loc) • 1.81 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const jsxRuntime = require("react/jsx-runtime");
const uikitReactUtils = require("@hitachivantara/uikit-react-utils");
const uikitStyles = require("@hitachivantara/uikit-styles");
const icons = require("../icons.cjs");
const { useClasses } = uikitReactUtils.createClasses("HvRadioIcon", {
root: {
borderRadius: uikitStyles.theme.radii.full,
border: `1px solid ${uikitStyles.theme.colors.borderStrong}`,
backgroundColor: uikitStyles.theme.colors.bgContainer
},
checked: {
borderColor: "transparent",
backgroundColor: `var(--bg-color, ${uikitStyles.theme.colors.primaryStrong})`,
color: uikitStyles.theme.colors.bgContainer
},
disabled: {
borderColor: uikitStyles.theme.colors.textDisabled,
backgroundColor: uikitStyles.theme.colors.bgDisabled
},
checkedDisabled: {
borderColor: "transparent",
backgroundColor: uikitStyles.theme.colors.borderDisabled,
color: uikitStyles.theme.colors.bgDisabled
}
});
const HvRadioIcon = (props) => {
const {
className,
classes: classesProp,
checked,
disabled,
color
} = uikitReactUtils.useDefaultProps("HvRadioIcon", props);
const { classes, cx } = useClasses(classesProp, false);
return /* @__PURE__ */ jsxRuntime.jsx(
icons.SvgBase,
{
viewBox: "0 0 16 16",
className: cx(classes.root, className, {
[classes.checked]: checked,
[classes.disabled]: disabled,
[classes.checkedDisabled]: checked && disabled
}),
style: uikitReactUtils.mergeStyles({}, { "--bg-color": uikitStyles.getColor(color) }),
children: checked && /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "8", cy: "8", r: "4.5" })
}
);
};
exports.HvRadioIcon = HvRadioIcon;