@hitachivantara/uikit-react-core
Version:
Core React components for the NEXT Design System.
59 lines (58 loc) • 1.71 kB
JavaScript
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const jsxRuntime = require("react/jsx-runtime");
const uikitReactUtils = require("@hitachivantara/uikit-react-utils");
const uikitStyles = require("@hitachivantara/uikit-styles");
const InfoMessage = require("./InfoMessage/InfoMessage.cjs");
const Label = require("./Label/Label.cjs");
const { useClasses } = uikitReactUtils.createClasses("HvLabelContainer", {
root: {
display: "flex",
alignItems: "center",
gap: uikitStyles.theme.space.xs,
height: 24,
marginBottom: uikitStyles.theme.space.xxs
},
label: {},
description: {}
});
const HvLabelContainer = (props) => {
const {
label,
description,
inputId,
labelId,
descriptionId,
classes: classesProp,
labelProps,
descriptionProps,
children,
...others
} = uikitReactUtils.useDefaultProps("HvLabelContainer", props);
const { classes } = useClasses(classesProp, false);
if (label == null && description == null && children == null) return null;
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classes.root, ...others, children: [
label != null && /* @__PURE__ */ jsxRuntime.jsx(
Label.HvLabel,
{
id: labelId,
className: classes.label,
htmlFor: inputId,
label,
...labelProps
}
),
description != null && /* @__PURE__ */ jsxRuntime.jsx(
InfoMessage.HvInfoMessage,
{
disableGutter: true,
id: descriptionId,
className: classes.description,
...descriptionProps,
children: description
}
),
children
] });
};
exports.HvLabelContainer = HvLabelContainer;