UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

89 lines (88 loc) 2.59 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const jsxRuntime = require("react/jsx-runtime"); const React = require("react"); const MuiRadio = require("@mui/material/Radio"); const uikitReactUtils = require("@hitachivantara/uikit-react-utils"); const BaseRadio_styles = require("./BaseRadio.styles.cjs"); const RadioIcon = require("./RadioIcon.cjs"); const _interopDefault = (e) => e && e.__esModule ? e : { default: e }; const MuiRadio__default = /* @__PURE__ */ _interopDefault(MuiRadio); const HvBaseRadio = React.forwardRef( function HvBaseRadio2(props, ref) { const { classes: classesProp, className, value = "on", required, readOnly, disabled, checked, defaultChecked, onChange, semantic, inputProps, color, onFocusVisible, onBlur, ...others } = uikitReactUtils.useDefaultProps("HvBaseRadio", props); const { classes, cx } = BaseRadio_styles.useClasses(classesProp); const [focusVisible, setFocusVisible] = React.useState(false); const onFocusVisibleCallback = React.useCallback( (evt) => { setFocusVisible(true); onFocusVisible?.(evt); }, [onFocusVisible] ); const onBlurCallback = React.useCallback( (evt) => { setFocusVisible(false); onBlur?.(evt); }, [onBlur] ); const onLocalChange = React.useCallback( (evt) => { if (readOnly) { return; } onChange?.(evt, evt.target.checked, value); }, [onChange, readOnly, value] ); return /* @__PURE__ */ jsxRuntime.jsx( MuiRadio__default.default, { ref, className: cx( classes.root, { [classes.disabled]: disabled, [classes.focusVisible]: focusVisible, [classes.checked]: checked, [classes.semantic]: semantic }, className ), icon: /* @__PURE__ */ jsxRuntime.jsx(RadioIcon.HvRadioIcon, { disabled }), checkedIcon: /* @__PURE__ */ jsxRuntime.jsx(RadioIcon.HvRadioIcon, { checked: true, disabled, color }), color: "default", disabled, required, readOnly, onChange: onLocalChange, value, checked, defaultChecked, inputProps, onFocusVisible: onFocusVisibleCallback, onBlur: onBlurCallback, ...others } ); } ); exports.baseRadioClasses = BaseRadio_styles.staticClasses; exports.HvBaseRadio = HvBaseRadio;