UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

93 lines (92 loc) 2.85 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const jsxRuntime = require("react/jsx-runtime"); const React = require("react"); const MuiCheckbox = require("@mui/material/Checkbox"); const uikitReactUtils = require("@hitachivantara/uikit-react-utils"); const BaseCheckBox_styles = require("./BaseCheckBox.styles.cjs"); const CheckBoxIcon = require("./CheckBoxIcon.cjs"); const _interopDefault = (e) => e && e.__esModule ? e : { default: e }; const MuiCheckbox__default = /* @__PURE__ */ _interopDefault(MuiCheckbox); const HvBaseCheckBox = React.forwardRef(function HvBaseCheckBox2(props, ref) { const { classes: classesProp, className, inputProps, onChange, onFocusVisible, onBlur, checked, indeterminate, defaultChecked, value = "on", required = false, readOnly = false, disabled = false, semantic = false, color, style, ...others } = uikitReactUtils.useDefaultProps("HvBaseCheckBox", props); const { classes, cx } = BaseCheckBox_styles.useClasses(classesProp); const [focusVisible, setFocusVisible] = React.useState(false); const onChangeCallback = React.useCallback( (event) => { if (readOnly) { return; } onChange?.(event, event.target.checked, value); }, [onChange, readOnly, value] ); const onBlurCallback = React.useCallback( (event) => { setFocusVisible(false); onBlur?.(event); }, [onBlur] ); const onFocusVisibleCallback = React.useCallback( (event) => { setFocusVisible(true); onFocusVisible?.(event); }, [onFocusVisible] ); const params = { indeterminate, disabled, semantic, color }; return /* @__PURE__ */ jsxRuntime.jsx( MuiCheckbox__default.default, { ref, value, className: cx( classes.root, { [classes.focusVisible]: focusVisible, [classes.checked]: checked, [classes.indeterminate]: indeterminate, [classes.semantic]: semantic, [classes.disabled]: disabled }, className ), icon: /* @__PURE__ */ jsxRuntime.jsx(CheckBoxIcon.HvCheckBoxIcon, { ...params }), indeterminateIcon: /* @__PURE__ */ jsxRuntime.jsx(CheckBoxIcon.HvCheckBoxIcon, { variant: "indeterminate", ...params }), checkedIcon: /* @__PURE__ */ jsxRuntime.jsx(CheckBoxIcon.HvCheckBoxIcon, { variant: "checked", ...params }), disabled, required, readOnly, checked, defaultChecked, indeterminate, inputProps, onChange: onChangeCallback, onFocusVisible: onFocusVisibleCallback, onBlur: onBlurCallback, color: "default", ...others } ); }); exports.baseCheckBoxClasses = BaseCheckBox_styles.staticClasses; exports.HvBaseCheckBox = HvBaseCheckBox;