import * as React from "react";
import nextId from "react-id-generator";
import { cx } from "@emotion/css";
import { InputAppearance } from "../shared/types/inputAppearance";
import {
tintText,
visuallyHidden,
flex,
margin
} from "../shared/styles/styleUtils";
import { getLabelStyle } from "../shared/styles/formStyles";
import {
themeError,
greyLightDarken2
} from "../design-tokens/build/js/designTokens";
import Tooltip from "../tooltip/components/Tooltip";
import { Icon } from "../icon";
import { SystemIcons as SI } from "../icons/dist/system-icons-enum";
const trigger = (
);
const reqStar = *;
export interface RenderLabelProps {
appearance?: string;
hidden?: boolean;
id?: string;
label?: React.ReactNode;
required?: boolean;
tooltipContent?: React.ReactNode;
}
export const renderLabel = ({
appearance,
hidden,
label,
id = nextId(),
required,
tooltipContent
}: RenderLabelProps) => {
const hasError = appearance === InputAppearance.Error;
const labelClassName = hidden ? cx(visuallyHidden) : getLabelStyle(hasError);
const labelNode = (
);
if (!tooltipContent) {
return labelNode;
}
return (
{labelNode}
{tooltipContent ? (
{tooltipContent}
) : null}
);
};