diff options
author | fragosti <francesco.agosti93@gmail.com> | 2018-10-05 09:57:40 +0800 |
---|---|---|
committer | fragosti <francesco.agosti93@gmail.com> | 2018-10-05 09:57:40 +0800 |
commit | c5084f023ac0356660b9480f9e1f477001a61284 (patch) | |
tree | b635b3d086ad0a18445d336b82abb06a62b8e87d /packages/instant/src/components/ui | |
parent | bf0437324d3499dbb516e85a4eb1fbdceb91707c (diff) | |
download | dexon-sol-tools-c5084f023ac0356660b9480f9e1f477001a61284.tar dexon-sol-tools-c5084f023ac0356660b9480f9e1f477001a61284.tar.gz dexon-sol-tools-c5084f023ac0356660b9480f9e1f477001a61284.tar.bz2 dexon-sol-tools-c5084f023ac0356660b9480f9e1f477001a61284.tar.lz dexon-sol-tools-c5084f023ac0356660b9480f9e1f477001a61284.tar.xz dexon-sol-tools-c5084f023ac0356660b9480f9e1f477001a61284.tar.zst dexon-sol-tools-c5084f023ac0356660b9480f9e1f477001a61284.zip |
Add Input and AmountInput component
Diffstat (limited to 'packages/instant/src/components/ui')
-rw-r--r-- | packages/instant/src/components/ui/container.tsx | 2 | ||||
-rw-r--r-- | packages/instant/src/components/ui/index.ts | 1 | ||||
-rw-r--r-- | packages/instant/src/components/ui/input.tsx | 42 |
3 files changed, 45 insertions, 0 deletions
diff --git a/packages/instant/src/components/ui/container.tsx b/packages/instant/src/components/ui/container.tsx index 64b5d4129..c45f6e5e9 100644 --- a/packages/instant/src/components/ui/container.tsx +++ b/packages/instant/src/components/ui/container.tsx @@ -22,6 +22,7 @@ export interface ContainerProps { border?: string; borderColor?: ColorOption; borderTop?: string; + borderBottom?: string; className?: string; backgroundColor?: ColorOption; hasBoxShadow?: boolean; @@ -50,6 +51,7 @@ export const Container = styled(PlainContainer)` ${props => cssRuleIfExists(props, 'border-radius')} ${props => cssRuleIfExists(props, 'border')} ${props => cssRuleIfExists(props, 'border-top')} + ${props => cssRuleIfExists(props, 'border-bottom')} ${props => (props.hasBoxShadow ? `box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1)` : '')}; background-color: ${props => (props.backgroundColor ? props.theme[props.backgroundColor] : 'none')}; border-color: ${props => (props.borderColor ? props.theme[props.borderColor] : 'none')}; diff --git a/packages/instant/src/components/ui/index.ts b/packages/instant/src/components/ui/index.ts index dca63b65c..bf5f6c700 100644 --- a/packages/instant/src/components/ui/index.ts +++ b/packages/instant/src/components/ui/index.ts @@ -2,3 +2,4 @@ export { Text, Title } from './text'; export { Button } from './button'; export { Flex } from './flex'; export { Container } from './container'; +export { Input } from './input'; diff --git a/packages/instant/src/components/ui/input.tsx b/packages/instant/src/components/ui/input.tsx new file mode 100644 index 000000000..fc4fed14e --- /dev/null +++ b/packages/instant/src/components/ui/input.tsx @@ -0,0 +1,42 @@ +import * as React from 'react'; + +import { ColorOption, styled } from '../../style/theme'; + +import { Container, Flex, Text } from '../ui'; + +export interface InputProps { + className?: string; + value?: string; + width?: string; + fontSize?: string; + fontColor?: ColorOption; + placeholder?: string; + onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void; +} + +const PlainInput: React.StatelessComponent<InputProps> = ({ value, className, placeholder, onChange }) => ( + <input className={className} value={value} onChange={onChange} placeholder={placeholder} /> +); + +export const Input = styled(PlainInput)` + font-size: ${props => props.fontSize}; + width: ${props => props.width}; + padding: 0.1em 0em; + font-family: 'Inter UI'; + color: ${props => props.theme[props.fontColor || 'white']}; + background: transparent; + outline: none; + border: none; + &::placeholder { + color: ${props => props.theme[props.fontColor || 'white']}; + opacity: 0.5; + } +`; + +Input.defaultProps = { + width: 'auto', + fontColor: ColorOption.white, + fontSize: '12px', +}; + +Input.displayName = 'Input'; |