UNPKG

backpack-ui

Version:

Lonely Planet's Components

111 lines (74 loc) 2.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require("react"); var _react2 = _interopRequireDefault(_react); var _radium = require("radium"); var _radium2 = _interopRequireDefault(_radium); var _styles = require("./styles"); var _styles2 = _interopRequireDefault(_styles); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function TextArea(_ref) { var id = _ref.id; var label = _ref.label; var name = _ref.name; var value = _ref.value; var placeholder = _ref.placeholder; var required = _ref.required; var rows = _ref.rows; var cols = _ref.cols; var size = _ref.size; var theme = _ref.theme; var onChange = _ref.onChange; var style = [_styles2.default.base]; style.push(_styles2.default.element.textarea.base); if (size) { style.push(_styles2.default.size[size]); style.push(_styles2.default.element.textarea.size[size]); } if (theme) { style.push(_styles2.default.theme[theme]); style.push(_styles2.default.element.textarea.theme[theme]); } return _react2.default.createElement("textarea", { style: style, id: id, name: name || id, defaultValue: value, placeholder: placeholder, rows: rows, cols: cols, required: required, onChange: onChange, "aria-label": label, title: label }); } TextArea.propTypes = { id: _react2.default.PropTypes.string.isRequired, label: _react2.default.PropTypes.string.isRequired, name: _react2.default.PropTypes.string, value: _react2.default.PropTypes.string, placeholder: _react2.default.PropTypes.string, required: _react2.default.PropTypes.bool, rows: _react2.default.PropTypes.number, cols: _react2.default.PropTypes.number, size: _react2.default.PropTypes.oneOf(["tiny", "small", "medium", "large", "huge"]), theme: _react2.default.PropTypes.oneOf(["base", "light", "dark"]), onChange: _react2.default.PropTypes.func }; TextArea.defaultProps = { id: "", label: "", name: "", value: "", placeholder: "", required: false, rows: 10, cols: 0, size: "medium", theme: "base", onChange: null }; exports.default = (0, _radium2.default)(TextArea);