# All files / src/form Legend.tsx

100% Statements 38/38
100% Branches 1/1
100% Functions 1/1
100% Lines 38/38

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    391x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    4x
    4x
    4x
    4x
    4x
    4x
    4x
    4x
    4x
    4x
    4x
    4x
    4x
    1x
     import { cnb } from "cnbuilder";
    import { forwardRef } from "react";
    import { cssUtils } from "../cssUtils.js";
    import { Typography, type TypographyProps } from "../typography/Typography.js";

    /**
     * @remarks \@since 6.0.0
     */
    export interface LegendProps extends TypographyProps {
      /**
       * @defaultValue `false`
       */
      srOnly?: boolean;
    }

    /**
     * **Server Component**
     *
     * This should be used within a `Fieldset` to apply a label.
     *
     * @remarks \@since 6.0.0
     */
    export const Legend = forwardRef<HTMLLegendElement, LegendProps>(
      function Legend(props, ref) {
        const { srOnly = false, className, children, ...remaining } = props;

        return (
          <Typography
            {...remaining}
            as="legend"
            ref={ref}
            className={cnb("rmd-legend", cssUtils({ srOnly }), className)}
          >
            {children}
          </Typography>
        );
      }
    );