# All files / elements/forms/utils/ControlLabel component.js

100% Statements 5/5
100% Branches 0/0
100% Functions 1/1
100% Lines 5/5

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

    20x

    20x

    223x

    20x

    20x

     import React from 'react';
    import PropTypes from 'prop-types';
    import { removeSomeProps } from 'src/utils/componentHelpers';
    import {
      layoutProps,
      positionProps,
      spaceProps,
      typography,
    } from 'src/utils/styledHelpers';

    const propsToTrim = {
      ...layoutProps.propTypes,
      ...positionProps.propTypes,
      ...spaceProps.propTypes,
      ...typography.propTypes,
      activeColor: '',
      disabled: false,
      validationError: '',
    };

    export const ControlLabelComponent = ({ children, ...props }) => (
      // eslint-disable-next-line jsx-a11y/label-has-associated-control, jsx-a11y/label-has-for
      <label {...removeSomeProps(props, Object.keys(propsToTrim))}>
        {children}
      </label>
    );
    ControlLabelComponent.propTypes = {
      children: PropTypes.any,
    };

    ControlLabelComponent.defaultProps = {
      children: null,
    };