@intility/bifrost-react
Version:
React library for Intility's design system, Bifrost.
163 lines (162 loc) • 4 kB
JavaScript
"use client";
import { c as _c } from "react-compiler-runtime";
import { forwardRef } from "react";
import classnames from "classnames";
import { faLock } from "@fortawesome/free-solid-svg-icons/faLock";
import useLocale from "../../hooks/useLocale.js";
import Icon from "../Icon/Icon.js";
import Description from "../Description/Description.js";
import Feedback from "../Feedback/Feedback.js";
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
const FieldGroup = /*#__PURE__*/forwardRef((t0, ref) => {
const $ = _c(39);
let children;
let className;
let description;
let feedback;
let label;
let props;
let t1;
let t2;
let t3;
let t4;
let t5;
if ($[0] !== t0) {
({
children,
className,
label,
description,
feedback,
state: t1,
required: t2,
optional: t3,
disabled: t4,
readOnly: t5,
...props
} = t0);
$[0] = t0;
$[1] = children;
$[2] = className;
$[3] = description;
$[4] = feedback;
$[5] = label;
$[6] = props;
$[7] = t1;
$[8] = t2;
$[9] = t3;
$[10] = t4;
$[11] = t5;
} else {
children = $[1];
className = $[2];
description = $[3];
feedback = $[4];
label = $[5];
props = $[6];
t1 = $[7];
t2 = $[8];
t3 = $[9];
t4 = $[10];
t5 = $[11];
}
const state = t1 === undefined ? "default" : t1;
const required = t2 === undefined ? false : t2;
const optional = t3 === undefined ? false : t3;
const disabled = t4 === undefined ? false : t4;
const readOnly = t5 === undefined ? false : t5;
const locale = useLocale();
let t6;
if ($[12] !== disabled || $[13] !== label || $[14] !== locale || $[15] !== optional || $[16] !== readOnly || $[17] !== required) {
t6 = label && /*#__PURE__*/_jsxs("legend", {
className: "bf-label bf-fieldgroup-legend",
children: [label, (required || optional) && /*#__PURE__*/_jsxs("span", {
className: "bf-label-required",
children: ["(", required ? locale.required : locale.optional, ")"]
}), (disabled || readOnly) && /*#__PURE__*/_jsx(Icon, {
icon: faLock,
className: "bf-input-disabled-icon"
})]
});
$[12] = disabled;
$[13] = label;
$[14] = locale;
$[15] = optional;
$[16] = readOnly;
$[17] = required;
$[18] = t6;
} else {
t6 = $[18];
}
let t7;
if ($[19] !== description) {
t7 = /*#__PURE__*/_jsx(Description, {
children: description
});
$[19] = description;
$[20] = t7;
} else {
t7 = $[20];
}
const t8 = state === "alert";
let t9;
if ($[21] !== className || $[22] !== disabled || $[23] !== readOnly || $[24] !== t8) {
t9 = classnames(className, "bf-fieldgroup", {
"bf-fieldgroup-alert": t8,
"bf-fieldgroup-disabled": disabled,
"bf-fieldgroup-readonly": readOnly
});
$[21] = className;
$[22] = disabled;
$[23] = readOnly;
$[24] = t8;
$[25] = t9;
} else {
t9 = $[25];
}
let t10;
if ($[26] !== children || $[27] !== props || $[28] !== ref || $[29] !== t9) {
t10 = /*#__PURE__*/_jsx("div", {
className: t9,
...props,
ref: ref,
children: children
});
$[26] = children;
$[27] = props;
$[28] = ref;
$[29] = t9;
$[30] = t10;
} else {
t10 = $[30];
}
let t11;
if ($[31] !== feedback) {
t11 = /*#__PURE__*/_jsx(Feedback, {
children: feedback
});
$[31] = feedback;
$[32] = t11;
} else {
t11 = $[32];
}
let t12;
if ($[33] !== disabled || $[34] !== t10 || $[35] !== t11 || $[36] !== t6 || $[37] !== t7) {
t12 = /*#__PURE__*/_jsxs("fieldset", {
className: "bf-fieldset",
disabled: disabled,
children: [t6, t7, t10, t11]
});
$[33] = disabled;
$[34] = t10;
$[35] = t11;
$[36] = t6;
$[37] = t7;
$[38] = t12;
} else {
t12 = $[38];
}
return t12;
});
FieldGroup.displayName = "FieldGroup";
export default FieldGroup;