// @flow
import PropTypes from 'prop-types';

export type Casing = 'uppercase' | 'lowercase';
export type Alignment = 'left' | 'center' | 'right';
export type Face = 'sans';
export type FontSize = 'f0' | 'f1' | 'f2' | 'f3' | 'f4' | 'f5' | 'f6' | 'f7';

export type TypographyProps = {
  align?: Alignment,
  face?: Face,
  bold?: boolean,
  italic?: boolean,
  underlined?: boolean,
  casing?: Casing,
  fontSize?: FontSize,
  tabular?: boolean,
};

export const typographyPropTypes = {
  align: PropTypes.oneOf(['left', 'center', 'right']),
  face: PropTypes.oneOf(['serif', 'sans', 'number']),
  bold: PropTypes.bool,
  italic: PropTypes.bool,
  underlined: PropTypes.bool,
  casing: PropTypes.oneOf(['uppercase', 'lowercase']),
  fontSize: PropTypes.oneOf(['f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7']),
  tabular: PropTypes.bool,
};
