From 006a13448fc5d79aa8f6d04ac3f471e430dcfa89 Mon Sep 17 00:00:00 2001
From: Steve Klebanoff <steve.klebanoff@gmail.com>
Date: Tue, 6 Nov 2018 14:05:49 -0800
Subject: new MediaChoice approach for setting conditional css properties

---
 packages/instant/src/components/ui/container.tsx | 23 +++++------------------
 1 file changed, 5 insertions(+), 18 deletions(-)

(limited to 'packages/instant/src/components/ui/container.tsx')

diff --git a/packages/instant/src/components/ui/container.tsx b/packages/instant/src/components/ui/container.tsx
index 36d7cf2ec..0e518be88 100644
--- a/packages/instant/src/components/ui/container.tsx
+++ b/packages/instant/src/components/ui/container.tsx
@@ -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 {
-- 
cgit 

