@hitachivantara/uikit-react-core
Version:
UI Kit Core React components.
47 lines (46 loc) • 1.49 kB
JavaScript
import { SvgBase } from "../icons.js";
import { getColor, theme } from "@hitachivantara/uikit-styles";
import { createClasses, mergeStyles, useDefaultProps } from "@hitachivantara/uikit-react-utils";
import { jsx } from "react/jsx-runtime";
//#region src/BaseRadio/RadioIcon.tsx
var { useClasses } = createClasses("HvRadioIcon", {
root: {
borderRadius: theme.radii.full,
border: `1px solid ${theme.colors.borderStrong}`,
backgroundColor: theme.colors.bgContainer
},
checked: {
borderColor: "transparent",
backgroundColor: `var(--bg-color, ${theme.colors.primaryStrong})`,
color: theme.colors.bgContainer
},
disabled: {
borderColor: theme.colors.textDisabled,
backgroundColor: theme.colors.bgDisabled
},
checkedDisabled: {
borderColor: "transparent",
backgroundColor: theme.colors.borderDisabled,
color: theme.colors.bgDisabled
}
});
var HvRadioIcon = (props) => {
const { className, classes: classesProp, checked, disabled, color } = useDefaultProps("HvRadioIcon", props);
const { classes, cx } = useClasses(classesProp, false);
return /* @__PURE__ */ jsx(SvgBase, {
viewBox: "0 0 16 16",
className: cx(classes.root, className, {
[classes.checked]: checked,
[classes.disabled]: disabled,
[classes.checkedDisabled]: checked && disabled
}),
style: mergeStyles({}, { "--bg-color": getColor(color) }),
children: checked && /* @__PURE__ */ jsx("circle", {
cx: "8",
cy: "8",
r: "4.5"
})
});
};
//#endregion
export { HvRadioIcon };