grommet/grommet

View on GitHub
src/js/components/Layer/propTypes.js

Summary

Maintainability
C
1 day
Test Coverage
import PropTypes from 'prop-types';
import { backgroundDoc } from '../../utils/general-prop-types';

const PAD_SIZES = ['xxsmall', 'xsmall', 'small', 'medium', 'large'];

let PropType = {};
if (process.env.NODE_ENV !== 'production') {
  PropType = {
    animate: PropTypes.bool,
    animation: PropTypes.oneOfType([
      PropTypes.oneOf(['slide', 'fadeIn', 'none']),
      PropTypes.bool,
    ]),
    background: backgroundDoc,
    full: PropTypes.oneOfType([
      PropTypes.bool,
      PropTypes.oneOf(['vertical', 'horizontal']),
    ]),
    margin: PropTypes.oneOfType([
      PropTypes.oneOf(['none', ...PAD_SIZES]),
      PropTypes.shape({
        bottom: PropTypes.oneOfType([
          PropTypes.oneOf(PAD_SIZES),
          PropTypes.string,
        ]),
        end: PropTypes.oneOfType([
          PropTypes.oneOf(PAD_SIZES),
          PropTypes.string,
        ]),
        horizontal: PropTypes.oneOfType([
          PropTypes.oneOf(PAD_SIZES),
          PropTypes.string,
        ]),
        left: PropTypes.oneOfType([
          PropTypes.oneOf(PAD_SIZES),
          PropTypes.string,
        ]),
        right: PropTypes.oneOfType([
          PropTypes.oneOf(PAD_SIZES),
          PropTypes.string,
        ]),
        start: PropTypes.oneOfType([
          PropTypes.oneOf(PAD_SIZES),
          PropTypes.string,
        ]),
        top: PropTypes.oneOfType([
          PropTypes.oneOf(PAD_SIZES),
          PropTypes.string,
        ]),
        vertical: PropTypes.oneOfType([
          PropTypes.oneOf(PAD_SIZES),
          PropTypes.string,
        ]),
      }),
      PropTypes.string,
    ]),
    modal: PropTypes.bool,
    onClickOutside: PropTypes.func,
    onEsc: PropTypes.func,
    plain: PropTypes.bool,
    position: PropTypes.oneOf([
      'bottom',
      'bottom-left',
      'bottom-right',
      'center',
      'end',
      'hidden',
      'left',
      'right',
      'start',
      'top',
      'top-left',
      'top-right',
    ]),
    responsive: PropTypes.bool,
    target: PropTypes.object,
  };
}
export const LayerPropTypes = PropType;