@intility/bifrost-react
Version:
React library for Intility's design system, Bifrost.
33 lines (32 loc) • 1.16 kB
JavaScript
"use client";
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { forwardRef } from "react";
import classNames from "classnames";
import { faBan } from "@fortawesome/free-solid-svg-icons/faBan";
import Icon from "../Icon/Icon.js";
import useLocale from "../../hooks/useLocale.js";
const Label = /*#__PURE__*/ forwardRef(({ className, children, required, optional, disabled, ...props }, ref)=>{
const locale = useLocale();
return /*#__PURE__*/ _jsxs("label", {
...props,
ref: ref,
className: classNames(className, "bf-label"),
children: [
children,
(required || optional) && children && !disabled && /*#__PURE__*/ _jsxs("span", {
className: "bf-label-required",
children: [
"(",
required ? locale.required : locale.optional,
")"
]
}),
disabled && /*#__PURE__*/ _jsx(Icon, {
icon: faBan,
className: "bf-input-disabled-icon"
})
]
});
});
Label.displayName = "Label";
export default Label;