UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

55 lines (54 loc) 1.81 kB
"use strict"; 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;