@hitachivantara/uikit-react-core
Version:
Core React components for the NEXT Design System.
66 lines (65 loc) • 2.16 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 icons = require("../../icons.cjs");
const setId = require("../../utils/setId.cjs");
const context = require("../context.cjs");
const WarningText_styles = require("./WarningText.styles.cjs");
const HvWarningText = (props) => {
const {
children,
adornment: adornmentProp,
isVisible: isVisibleProp,
classes: classesProp,
className,
id: idProp,
disabled: disabledProp,
disableGutter,
disableBorder,
disableAdornment,
hideText,
...others
} = uikitReactUtils.useDefaultProps("HvWarningText", props);
const { classes, cx } = WarningText_styles.useClasses(classesProp);
const context$1 = React.useContext(context.HvFormElementContext);
const disabled = disabledProp ?? context$1.disabled;
const visible = isVisibleProp ?? context$1.status === "invalid";
const id = idProp ?? setId.setId(context$1.id, "error");
const showWarning = visible && !disabled;
const adornment = adornmentProp || /* @__PURE__ */ jsxRuntime.jsx(icons.HvIcon, { name: "Fail", size: "xs", className: classes.defaultIcon });
return /* @__PURE__ */ jsxRuntime.jsxs(
"div",
{
className: cx(
classes.root,
{
[classes.show]: showWarning,
[classes.topBorder]: !disableBorder
},
className
),
children: [
!disableAdornment && adornment,
/* @__PURE__ */ jsxRuntime.jsx(
"span",
{
id,
className: cx(classes.warningText, {
[classes.topGutter]: !disableGutter,
[classes.hideText]: hideText
}),
role: "status",
"aria-live": "polite",
"aria-relevant": "additions text",
...others,
children: showWarning && children
}
)
]
}
);
};
exports.warningTextClasses = WarningText_styles.staticClasses;
exports.HvWarningText = HvWarningText;