diff options
author | Steve Klebanoff <steve.klebanoff@gmail.com> | 2018-11-07 06:05:49 +0800 |
---|---|---|
committer | Steve Klebanoff <steve.klebanoff@gmail.com> | 2018-11-07 06:05:49 +0800 |
commit | 006a13448fc5d79aa8f6d04ac3f471e430dcfa89 (patch) | |
tree | 8a8e3bbe73704b81529fa3ff550f3a227030d7c5 /packages/instant/src/components/ui/flex.tsx | |
parent | 88c7d907fa97f7918b82df8c1759b43c28c7273b (diff) | |
download | dexon-sol-tools-006a13448fc5d79aa8f6d04ac3f471e430dcfa89.tar dexon-sol-tools-006a13448fc5d79aa8f6d04ac3f471e430dcfa89.tar.gz dexon-sol-tools-006a13448fc5d79aa8f6d04ac3f471e430dcfa89.tar.bz2 dexon-sol-tools-006a13448fc5d79aa8f6d04ac3f471e430dcfa89.tar.lz dexon-sol-tools-006a13448fc5d79aa8f6d04ac3f471e430dcfa89.tar.xz dexon-sol-tools-006a13448fc5d79aa8f6d04ac3f471e430dcfa89.tar.zst dexon-sol-tools-006a13448fc5d79aa8f6d04ac3f471e430dcfa89.zip |
new MediaChoice approach for setting conditional css properties
Diffstat (limited to 'packages/instant/src/components/ui/flex.tsx')
-rw-r--r-- | packages/instant/src/components/ui/flex.tsx | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/packages/instant/src/components/ui/flex.tsx b/packages/instant/src/components/ui/flex.tsx index f85d45e36..c3d643a79 100644 --- a/packages/instant/src/components/ui/flex.tsx +++ b/packages/instant/src/components/ui/flex.tsx @@ -1,6 +1,6 @@ import * as _ from 'lodash'; -import { media } from '../../style/media'; +import { MediaChoice, stylesForMedia } from '../../style/media'; import { ColorOption, styled } from '../../style/theme'; import { cssRuleIfExists } from '../../style/util'; @@ -9,27 +9,13 @@ export interface FlexProps { flexWrap?: 'wrap' | 'nowrap'; justify?: 'flex-start' | 'center' | 'space-around' | 'space-between' | 'space-evenly' | 'flex-end'; align?: 'flex-start' | 'center' | 'space-around' | 'space-between' | 'space-evenly' | 'flex-end'; - width?: string; - height?: string; + width?: MediaChoice; + height?: MediaChoice; backgroundColor?: ColorOption; inline?: boolean; flexGrow?: number | string; - - smallWidth?: string; - smallHeight?: string; } -const mediaStyles = (props: FlexProps) => { - if (!_.some([props.smallWidth, props.smallHeight])) { - return ''; - } - - return media.small` - width: ${props.smallWidth || props.width || 'auto'} - height: ${props.smallHeight || props.height || 'auto'} - `; -}; - export const Flex = styled.div < FlexProps > @@ -43,7 +29,8 @@ export const Flex = ${props => cssRuleIfExists(props, 'width')} ${props => cssRuleIfExists(props, 'height')} background-color: ${props => (props.backgroundColor ? props.theme[props.backgroundColor] : 'none')}; - ${props => mediaStyles(props)} + ${props => stylesForMedia('width', props.width || 'auto')} + ${props => stylesForMedia('height', props.height || 'auto')} `; Flex.defaultProps = { |