diff options
author | fragosti <francesco.agosti93@gmail.com> | 2018-10-05 05:04:56 +0800 |
---|---|---|
committer | fragosti <francesco.agosti93@gmail.com> | 2018-10-05 05:04:56 +0800 |
commit | 85c34b17aa074e67ed9263094cc0ee75a8f00e60 (patch) | |
tree | d2db68e31811d47f9092a051474073b07bfe260e /packages/instant/src/components/ui/flex.tsx | |
parent | 4b8348da8cc50ef0da6e6b2bb7d276f1246437cf (diff) | |
download | dexon-0x-contracts-85c34b17aa074e67ed9263094cc0ee75a8f00e60.tar.gz dexon-0x-contracts-85c34b17aa074e67ed9263094cc0ee75a8f00e60.tar.zst dexon-0x-contracts-85c34b17aa074e67ed9263094cc0ee75a8f00e60.zip |
Add Flex and Container component
Diffstat (limited to 'packages/instant/src/components/ui/flex.tsx')
-rw-r--r-- | packages/instant/src/components/ui/flex.tsx | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/packages/instant/src/components/ui/flex.tsx b/packages/instant/src/components/ui/flex.tsx new file mode 100644 index 000000000..544d9fe23 --- /dev/null +++ b/packages/instant/src/components/ui/flex.tsx @@ -0,0 +1,34 @@ +import * as React from 'react'; + +import { ColorOption, styled } from '../../style/theme'; + +export interface FlexProps { + direction: 'row' | 'column'; + 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'; + backgroundColor?: ColorOption; + className?: string; +} + +const PlainFlex: React.StatelessComponent<FlexProps> = ({ children, className }) => ( + <div className={className}>{children}</div> +); + +export const Flex = styled(PlainFlex)` + display: flex; + direction: ${props => props.direction}; + flex-wrap: ${props => props.flexWrap}; + justify-content: ${props => props.justify}; + align-items: ${props => props.align}; + background-color: ${props => (props.backgroundColor ? props.theme[props.backgroundColor] : 'none')}; +`; + +Flex.defaultProps = { + direction: 'row', + flexWrap: 'nowrap', + justify: 'center', + align: 'center', +}; + +Flex.displayName = 'Flex'; |