'use strict';

var _extends = Object.assign || function (target) {
	for (var i = 1; i < arguments.length; i++) {
		var source = arguments[i];for (var key in source) {
			if (Object.prototype.hasOwnProperty.call(source, key)) {
				target[key] = source[key];
			}
		}
	}return target;
};

var React = require('react');
var blacklist = require('blacklist');
var classNames = require('classnames');

module.exports = React.createClass({
	displayName: 'FormLabel',
	propTypes: {
		className: React.PropTypes.string,
		htmlFor: React.PropTypes.string,
		id: React.PropTypes.string,
		style: React.PropTypes.object,
		verticalAlign: React.PropTypes.oneOf(['baseline', 'bottom', 'inherit', 'initial', 'middle', 'sub', 'super', 'text-bottom', 'text-top', 'top'])
	},
	render: function render() {
		// classes
		var className = classNames('FormLabel', this.props.className);
		// props
		var props = blacklist(this.props, 'htmlFor', 'id', 'className', 'style');
		// style
		var style;
		if (this.props.verticalAlign) {
			style = {
				verticalAlign: this.props.verticalAlign
			};
		}
		return React.createElement('label', _extends({ className: className, htmlFor: this.props.htmlFor || this.props.id, style: style || this.props.style }, props), this.props.children);
	}
});