@hitachivantara/uikit-react-core
Version:
Core React components for the NEXT Design System.
55 lines (54 loc) • 1.81 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const jsxRuntime = require("react/jsx-runtime");
const React = require("react");
const uikitReactUtils = require("@hitachivantara/uikit-react-utils");
const context = require("../context.cjs");
const Adornment_styles = require("./Adornment.styles.cjs");
const ButtonBase = require("../../ButtonBase/ButtonBase.cjs");
const HvAdornment = React.forwardRef(function HvAdornment2(props, ref) {
const {
classes: classesProp,
className,
icon,
showWhen,
onClick,
isVisible,
tabIndex,
...others
} = uikitReactUtils.useDefaultProps("HvAdornment", props);
const { classes, cx } = Adornment_styles.useClasses(classesProp);
const { status, disabled } = React.useContext(context.HvFormElementContext);
const { input } = React.useContext(context.HvFormElementDescriptorsContext);
const displayIcon = isVisible ?? (showWhen == null || status === showWhen);
const Component = onClick ? ButtonBase.HvButtonBase : "div";
return /* @__PURE__ */ jsxRuntime.jsx(
Component,
{
ref,
"aria-hidden": tabIndex == null || tabIndex < 0 ? true : void 0,
className: cx(
classes.root,
classes.adornment,
classes.icon,
onClick ? classes.adornmentButton : classes.adornmentIcon,
{
[classes.hideIcon]: !displayIcon,
[classes.disabled]: disabled
},
className
),
...onClick && {
disabled,
tabIndex: tabIndex ?? -1,
"aria-controls": input?.[0]?.id,
onClick,
onMouseDown: (event) => event.preventDefault()
},
...others,
children: icon
}
);
});
exports.adornmentClasses = Adornment_styles.staticClasses;
exports.HvAdornment = HvAdornment;