import type { ReactNode, Ref } from "react"; import { HelpCircle } from "@untitledui/icons"; import type { LabelProps as AriaLabelProps } from "react-aria-components"; import { Label as AriaLabel } from "react-aria-components"; import { Tooltip, TooltipTrigger } from "@/components/base/tooltip/tooltip"; import { cx } from "@/utils/cx"; interface LabelProps extends AriaLabelProps { children: ReactNode; isInvalid?: boolean; isRequired?: boolean; tooltip?: string; tooltipDescription?: string; ref?: Ref; } export const Label = ({ isInvalid, isRequired, tooltip, tooltipDescription, className, ...props }: LabelProps) => { return ( // or // data-label="true" {...props} className={cx("flex cursor-default items-center gap-0.5 text-sm font-medium text-secondary", className)} > {props.children} * {tooltip && ( )} ); }; Label.displayName = "Label";