UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

52 lines (51 loc) 1.64 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const jsxRuntime = require("react/jsx-runtime"); const React = require("react"); const useOption = require("@mui/base/useOption"); const utils = require("@mui/material/utils"); const uikitReactUtils = require("@hitachivantara/uikit-react-utils"); const generic = require("../types/generic.cjs"); const focusUtils = require("../utils/focusUtils.cjs"); const ListItem = require("../ListContainer/ListItem/ListItem.cjs"); const { staticClasses, useClasses } = uikitReactUtils.createClasses("HvOption", { root: {}, highlighted: { ...focusUtils.outlineStyles } }); const HvOption = generic.fixedForwardRef(function HvOption2(props, ref) { const { classes: classesProp, className, disabled = false, label, value, children, ...others } = uikitReactUtils.useDefaultProps("HvOption", props); const { classes, cx } = useClasses(classesProp); const optionRef = React.useRef(null); const rootRef = utils.useForkRef(optionRef, ref); const computedLabel = label ?? (typeof children === "string" ? children : optionRef.current?.textContent?.trim()); const { getRootProps, selected, highlighted } = useOption.useOption({ disabled, label: computedLabel, rootRef, value }); return /* @__PURE__ */ jsxRuntime.jsx( ListItem.HvListItem, { ref, selected, className: cx(classes.root, className, { [classes.highlighted]: highlighted }), ...getRootProps(others), children } ); }); exports.HvOption = HvOption; exports.optionClasses = staticClasses;