elemental
Version:
React UI Framework
36 lines (33 loc) • 1.27 kB
JavaScript
;
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
);
}
});