import React, { forwardRef } from "react"; import type { AkselColor } from "../types"; import type { OverridableComponent } from "../utils-external"; import { cl } from "../utils/helpers"; import { TypoProps } from "./types"; import { typoClassNames } from "./util"; export interface LabelProps extends Omit, React.LabelHTMLAttributes { /** * medium: 18px, small: 16px. * @default "medium" */ size?: "medium" | "small"; /** * Label text. */ children: React.ReactNode; /** * Overrides inherited color. * @default "neutral" * * @see 🏷️ {@link AkselColor} * @see [📝 Documentation](https://aksel.nav.no/grunnleggende/styling/farger-tokens) */ "data-color"?: AkselColor; } /** * Part of a set of components for displaying text with consistent typography. * * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/typography) * @see 🏷️ {@link LabelProps} * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support * * @example * ```jsx * * ``` */ export const Label: OverridableComponent = forwardRef( ( { className, size = "medium", as: Component = "label", spacing, visuallyHidden, textColor, ...rest }, ref, ) => { return ( ); }, ); export default Label;