new MediaChoice approach for setting conditional css properties
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import * as _ from 'lodash';
|
||||
import { darken } from 'polished';
|
||||
|
||||
import { media } from '../../style/media';
|
||||
import { MediaChoice, stylesForMedia } from '../../style/media';
|
||||
import { ColorOption, styled } from '../../style/theme';
|
||||
import { cssRuleIfExists } from '../../style/util';
|
||||
|
||||
@@ -12,8 +12,8 @@ export interface ContainerProps {
|
||||
right?: string;
|
||||
bottom?: string;
|
||||
left?: string;
|
||||
width?: string;
|
||||
height?: string;
|
||||
width?: MediaChoice;
|
||||
height?: MediaChoice;
|
||||
maxWidth?: string;
|
||||
margin?: string;
|
||||
marginTop?: string;
|
||||
@@ -36,22 +36,8 @@ export interface ContainerProps {
|
||||
overflow?: string;
|
||||
darkenOnHover?: boolean;
|
||||
flexGrow?: string | number;
|
||||
|
||||
smallWidth?: string;
|
||||
smallHeight?: string;
|
||||
}
|
||||
|
||||
const mediaStyles = (props: ContainerProps) => {
|
||||
if (!_.some([props.smallWidth, props.smallHeight])) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return media.small`
|
||||
width: ${props.smallWidth || props.width || 'auto'}
|
||||
height: ${props.smallHeight || props.height || 'auto'}
|
||||
`;
|
||||
};
|
||||
|
||||
// TODO Dont commit flex grow
|
||||
export const Container =
|
||||
styled.div <
|
||||
@@ -84,7 +70,8 @@ export const Container =
|
||||
${props => cssRuleIfExists(props, 'cursor')}
|
||||
${props => cssRuleIfExists(props, 'overflow')}
|
||||
${props => (props.hasBoxShadow ? `box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1)` : '')};
|
||||
${props => mediaStyles(props)}
|
||||
${props => stylesForMedia('width', props.width || 'auto')}
|
||||
${props => stylesForMedia('height', props.height || 'auto')}
|
||||
background-color: ${props => (props.backgroundColor ? props.theme[props.backgroundColor] : 'none')};
|
||||
border-color: ${props => (props.borderColor ? props.theme[props.borderColor] : 'none')};
|
||||
&:hover {
|
||||
|
Reference in New Issue
Block a user