[Ivan Diaz] - Add label to input

This commit is contained in:
Ivan Diaz 2015-10-14 20:05:21 -03:00
parent 08d6441bff
commit 60ef79f13a
4 changed files with 38 additions and 17 deletions

View File

@ -4,9 +4,9 @@ import React from 'react/addons';
import {Link} from 'react-router'; import {Link} from 'react-router';
import DocumentTitle from 'react-document-title'; import DocumentTitle from 'react-document-title';
import Button from 'core-components/button'; import Button from 'core-components/button';
import Input from 'core-components/input'; import Input from 'core-components/input';
import Widget from 'core-components/widget'; import Widget from 'core-components/widget';
var DemoPage = React.createClass({ var DemoPage = React.createClass({
@ -21,21 +21,27 @@ var DemoPage = React.createClass({
<Button type="primary">Sign up</Button> <Button type="primary">Sign up</Button>
) )
}, },
{
title: 'Widget',
render: (
<Widget>
<h2>Register here!</h2>
<Button type="primary">SIGN UP</Button>
</Widget>
)
},
{ {
title: 'Input', title: 'Input',
render: ( render: (
<Input placeholder="placeholder"/> <Input placeholder="placeholder"/>
) )
},
{
title: 'Input wrapped in a label',
render: (
<Input placeholder="placeholder" label="This is a label" />
)
},
{
title: 'Widget',
render: (
<Widget>
<h2>Register here!</h2>
<Button type="primary">SIGN UP</Button>
</Widget>
)
} }
], ],

View File

@ -44,11 +44,10 @@ var Form = React.createClass({
return props; return props;
}, },
getInputProps(child) { getInputProps({props, type}) {
var props = child.props;
var additionalProps = {}; var additionalProps = {};
if(child.type === Input) { if(type === Input) {
let inputName = props.name; let inputName = props.name;
this.validations[inputName] = props.validation; this.validations[inputName] = props.validation;

View File

@ -19,7 +19,10 @@ var Input = React.createClass({
render() { render() {
return ( return (
<input {...this.getProps()} /> <label className="input-label">
<span className="input-label--text">{this.props.label}</span>
<input {...this.getProps()} />
</label>
); );
}, },

View File

@ -13,4 +13,17 @@
outline: none; outline: none;
border-color: $primary-blue; border-color: $primary-blue;
} }
&-label {
position: relative;
&--text {
color: $primary-black;
font-size: 14px;
display: block;
position: absolute;
top: -26px;
left: 2px;
}
}
} }