aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/text-field
diff options
context:
space:
mode:
authorFrankie <frankie.diamond@gmail.com>2018-05-13 01:02:39 +0800
committerGitHub <noreply@github.com>2018-05-13 01:02:39 +0800
commit6bd1b21d3b8f74c44214f814c3fe1c8770ab9e2d (patch)
tree8df5a7134f0cd0cc1beeed287b182b00354c188a /ui/app/components/text-field
parent76ab5c04fae20dc0fd2798ad8a336a0364032aff (diff)
parent0301b33a48fea3c345e2e49fa53693856770a254 (diff)
downloadtangerine-wallet-browser-6bd1b21d3b8f74c44214f814c3fe1c8770ab9e2d.tar
tangerine-wallet-browser-6bd1b21d3b8f74c44214f814c3fe1c8770ab9e2d.tar.gz
tangerine-wallet-browser-6bd1b21d3b8f74c44214f814c3fe1c8770ab9e2d.tar.bz2
tangerine-wallet-browser-6bd1b21d3b8f74c44214f814c3fe1c8770ab9e2d.tar.lz
tangerine-wallet-browser-6bd1b21d3b8f74c44214f814c3fe1c8770ab9e2d.tar.xz
tangerine-wallet-browser-6bd1b21d3b8f74c44214f814c3fe1c8770ab9e2d.tar.zst
tangerine-wallet-browser-6bd1b21d3b8f74c44214f814c3fe1c8770ab9e2d.zip
Merge pull request #4190 from MetaMask/i3614-unlock
Add new unlock screen design
Diffstat (limited to 'ui/app/components/text-field')
-rw-r--r--ui/app/components/text-field/index.js2
-rw-r--r--ui/app/components/text-field/text-field.component.js54
-rw-r--r--ui/app/components/text-field/text-field.stories.js24
3 files changed, 80 insertions, 0 deletions
diff --git a/ui/app/components/text-field/index.js b/ui/app/components/text-field/index.js
new file mode 100644
index 000000000..171caf7a4
--- /dev/null
+++ b/ui/app/components/text-field/index.js
@@ -0,0 +1,2 @@
+import TextField from './text-field.component'
+module.exports = TextField
diff --git a/ui/app/components/text-field/text-field.component.js b/ui/app/components/text-field/text-field.component.js
new file mode 100644
index 000000000..4a02f76d8
--- /dev/null
+++ b/ui/app/components/text-field/text-field.component.js
@@ -0,0 +1,54 @@
+import React from 'react'
+import PropTypes from 'prop-types'
+import { withStyles } from 'material-ui/styles'
+import { default as MaterialTextField } from 'material-ui/TextField'
+
+const styles = {
+ cssLabel: {
+ '&$cssFocused': {
+ color: '#aeaeae',
+ },
+ fontWeight: '400',
+ color: '#aeaeae',
+ },
+ cssFocused: {},
+ cssUnderline: {
+ '&:after': {
+ backgroundColor: '#f7861c',
+ },
+ },
+}
+
+const TextField = props => {
+ const { error, classes, ...textFieldProps } = props
+
+ return (
+ <MaterialTextField
+ error={Boolean(error)}
+ helperText={error}
+ InputLabelProps={{
+ FormLabelClasses: {
+ root: classes.cssLabel,
+ focused: classes.cssFocused,
+ },
+ }}
+ InputProps={{
+ classes: {
+ underline: classes.cssUnderline,
+ },
+ }}
+ {...textFieldProps}
+ />
+ )
+}
+
+TextField.defaultProps = {
+ error: null,
+}
+
+TextField.propTypes = {
+ error: PropTypes.string,
+ classes: PropTypes.object,
+}
+
+export default withStyles(styles)(TextField)
diff --git a/ui/app/components/text-field/text-field.stories.js b/ui/app/components/text-field/text-field.stories.js
new file mode 100644
index 000000000..ee3e5faaf
--- /dev/null
+++ b/ui/app/components/text-field/text-field.stories.js
@@ -0,0 +1,24 @@
+import React from 'react'
+import { storiesOf } from '@storybook/react'
+import TextField from './'
+
+storiesOf('TextField', module)
+ .add('text', () =>
+ <TextField
+ label="Text"
+ type="text"
+ />
+ )
+ .add('password', () =>
+ <TextField
+ label="Password"
+ type="password"
+ />
+ )
+ .add('error', () =>
+ <TextField
+ type="text"
+ label="Name"
+ error="Invalid value"
+ />
+ )