import React, { forwardRef } from "react"; import type { OverridableComponent } from "../utils-external"; import { cl } from "../utils/helpers"; import { TypoProps } from "./types"; import { typoClassNames } from "./util"; export interface ErrorMessageProps extends Pick, React.HTMLAttributes { /** * medium: 18px, small: 16px. * @default "medium" */ size?: "medium" | "small"; /** * Error text. */ children: React.ReactNode; /** * Render a triangular warning icon. */ showIcon?: boolean; } /** * Part of a set of components for displaying text with consistent typography. * * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/typography) * @see 🏷️ {@link ErrorMessageProps} * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support * * @example * ```jsx * * Du må fylle ut: Oppgi årsaken til at du har ventet mer enn 6 måneder med å søke om refusjon * * ``` */ export const ErrorMessage: OverridableComponent< ErrorMessageProps, HTMLParagraphElement > = forwardRef( ( { children, className, size, spacing, as: Component = "p", showIcon = false, ...rest }, ref, ) => { return ( {showIcon && ( )} {children} ); }, ); export default ErrorMessage;