create alignment props

This commit is contained in:
Rodrigo Antinarelli 2020-03-23 15:04:44 -03:00 committed by James A. Petts
parent 3e6fa5f03f
commit 8636e30f74

View File

@ -2,17 +2,33 @@ import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import classnames from 'classnames'; import classnames from 'classnames';
const TableCell = ({ children, className, isTableHead, size, style }) => { const TableCell = ({
const sizeClasses = { children,
className,
isTableHead,
size,
align,
style,
}) => {
const classes = {
align: {
left: 'text-left',
center: 'text-center',
right: 'text-right',
justify: 'text-justify',
},
size: {
small: 'flex-0.3', small: 'flex-0.3',
normal: 'flex-1', normal: 'flex-1',
},
}; };
return ( return (
<div <div
className={classnames( className={classnames(
'px-2 last:border-r-0 break-all', 'px-2 last:border-r-0 break-all',
sizeClasses[size], classes.size[size],
classes.align[align],
{ {
'border-r border-custom-violetPale': !isTableHead, 'border-r border-custom-violetPale': !isTableHead,
}, },
@ -30,6 +46,7 @@ TableCell.defaultProps = {
isTableHead: false, isTableHead: false,
size: 'normal', size: 'normal',
style: {}, style: {},
align: 'left',
}; };
TableCell.propTypes = { TableCell.propTypes = {
@ -38,6 +55,7 @@ TableCell.propTypes = {
className: PropTypes.string, className: PropTypes.string,
size: PropTypes.oneOf(['small', 'normal']), size: PropTypes.oneOf(['small', 'normal']),
style: PropTypes.object, style: PropTypes.object,
align: PropTypes.oneOf(['left', 'center', 'right', 'justify']),
}; };
export default TableCell; export default TableCell;