react-lightning-design-components
Version:
Salesforce Lightning Design System components built with React 16
153 lines (114 loc) • 11.6 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _uuid = require('uuid');
var _uuid2 = _interopRequireDefault(_uuid);
var _FormElement = require('./FormElement');
var _FormElement2 = _interopRequireDefault(_FormElement);
var _reactTextareaAutosize = require('react-textarea-autosize');
var _reactTextareaAutosize2 = _interopRequireDefault(_reactTextareaAutosize);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _util = require('./util');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Textarea = function (_Component) {
(0, _inherits3.default)(Textarea, _Component);
function Textarea(props) {
(0, _classCallCheck3.default)(this, Textarea);
var _this = (0, _possibleConstructorReturn3.default)(this, (Textarea.__proto__ || (0, _getPrototypeOf2.default)(Textarea)).call(this, props));
_this.state = { id: 'form-element-' + (0, _uuid2.default)() };
_this.onChange = _this.onChange.bind(_this);
return _this;
}
(0, _createClass3.default)(Textarea, [{
key: 'onChange',
value: function onChange(e) {
var value = e.target.value;
if (this.props.onChange) {
this.props.onChange(e, value);
}
}
}, {
key: 'render',
value: function render() {
var id = this.props.id || this.state.id;
var _props = this.props,
label = _props.label,
required = _props.required,
error = _props.error,
tooltip = _props.tooltip,
props = (0, _objectWithoutProperties3.default)(_props, ['label', 'required', 'error', 'tooltip']);
if (label || required || error) {
var formElemProps = { id: id, label: label, required: required, error: error, tooltip: tooltip };
return _react2.default.createElement(
_FormElement2.default,
formElemProps,
_react2.default.createElement(Textarea, (0, _extends3.default)({}, props, { id: id }))
);
}
var className = props.className,
pprops = (0, _objectWithoutProperties3.default)(props, ['className']);
delete pprops.initialValue;
delete pprops.onUpdate;
delete pprops.valid;
delete pprops.invalid;
delete pprops.dirty;
delete pprops.pristine;
delete pprops.active;
delete pprops.touched;
delete pprops.visited;
delete pprops.defaultValue;
delete pprops.autosize;
var taClassNames = (0, _classnames2.default)(className, 'slds-input');
var ieDraggbleFix = _util.isIE || _util.isEdge ? { onMouseDown: function onMouseDown(e) {
return e.target.focus();
} } : {};
return props.autosize ? _react2.default.createElement(_reactTextareaAutosize2.default, (0, _extends3.default)({
id: id,
className: taClassNames,
onChange: this.onChange
}, pprops, ieDraggbleFix)) : _react2.default.createElement('textarea', (0, _extends3.default)({
id: id,
className: taClassNames,
onChange: this.onChange
}, pprops, ieDraggbleFix));
}
}]);
return Textarea;
}(_react.Component);
exports.default = Textarea;
Textarea.propTypes = {
id: _propTypes2.default.string,
className: _propTypes2.default.string,
label: _propTypes2.default.string,
required: _propTypes2.default.bool,
error: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.string, _propTypes2.default.shape({
message: _propTypes2.default.string
})]),
value: _propTypes2.default.string,
defaultValue: _propTypes2.default.string,
placeholder: _propTypes2.default.string,
onChange: _propTypes2.default.func,
autosize: _propTypes2.default.bool,
tooltip: _propTypes2.default.element
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL1RleHRhcmVhLmpzIl0sIm5hbWVzIjpbIlRleHRhcmVhIiwicHJvcHMiLCJzdGF0ZSIsImlkIiwib25DaGFuZ2UiLCJiaW5kIiwiZSIsInZhbHVlIiwidGFyZ2V0IiwibGFiZWwiLCJyZXF1aXJlZCIsImVycm9yIiwidG9vbHRpcCIsImZvcm1FbGVtUHJvcHMiLCJjbGFzc05hbWUiLCJwcHJvcHMiLCJpbml0aWFsVmFsdWUiLCJvblVwZGF0ZSIsInZhbGlkIiwiaW52YWxpZCIsImRpcnR5IiwicHJpc3RpbmUiLCJhY3RpdmUiLCJ0b3VjaGVkIiwidmlzaXRlZCIsImRlZmF1bHRWYWx1ZSIsImF1dG9zaXplIiwidGFDbGFzc05hbWVzIiwiaWVEcmFnZ2JsZUZpeCIsIm9uTW91c2VEb3duIiwiZm9jdXMiLCJwcm9wVHlwZXMiLCJzdHJpbmciLCJib29sIiwib25lT2ZUeXBlIiwic2hhcGUiLCJtZXNzYWdlIiwicGxhY2Vob2xkZXIiLCJmdW5jIiwiZWxlbWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0lBRXFCQSxROzs7QUFDbkIsb0JBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQSwwSUFDWEEsS0FEVzs7QUFFakIsVUFBS0MsS0FBTCxHQUFhLEVBQUVDLHNCQUFvQixxQkFBdEIsRUFBYjtBQUNBLFVBQUtDLFFBQUwsR0FBZ0IsTUFBS0EsUUFBTCxDQUFjQyxJQUFkLE9BQWhCO0FBSGlCO0FBSWxCOzs7OzZCQUVRQyxDLEVBQUc7QUFDVixVQUFNQyxRQUFRRCxFQUFFRSxNQUFGLENBQVNELEtBQXZCO0FBQ0EsVUFBSSxLQUFLTixLQUFMLENBQVdHLFFBQWYsRUFBeUI7QUFDdkIsYUFBS0gsS0FBTCxDQUFXRyxRQUFYLENBQW9CRSxDQUFwQixFQUF1QkMsS0FBdkI7QUFDRDtBQUNGOzs7NkJBRVE7QUFDUCxVQUFNSixLQUFLLEtBQUtGLEtBQUwsQ0FBV0UsRUFBWCxJQUFpQixLQUFLRCxLQUFMLENBQVdDLEVBQXZDO0FBRE8sbUJBRStDLEtBQUtGLEtBRnBEO0FBQUEsVUFFQ1EsS0FGRCxVQUVDQSxLQUZEO0FBQUEsVUFFUUMsUUFGUixVQUVRQSxRQUZSO0FBQUEsVUFFa0JDLEtBRmxCLFVBRWtCQSxLQUZsQjtBQUFBLFVBRXlCQyxPQUZ6QixVQUV5QkEsT0FGekI7QUFBQSxVQUVxQ1gsS0FGckM7O0FBR1AsVUFBSVEsU0FBU0MsUUFBVCxJQUFxQkMsS0FBekIsRUFBZ0M7QUFDOUIsWUFBTUUsZ0JBQWdCLEVBQUVWLE1BQUYsRUFBTU0sWUFBTixFQUFhQyxrQkFBYixFQUF1QkMsWUFBdkIsRUFBOEJDLGdCQUE5QixFQUF0QjtBQUNBLGVBQ0U7QUFBQTtBQUFrQkMsdUJBQWxCO0FBQ0Usd0NBQUMsUUFBRCw2QkFBb0JaLEtBQXBCLElBQTJCRSxNQUEzQjtBQURGLFNBREY7QUFLRDtBQVZNLFVBV0NXLFNBWEQsR0FXMEJiLEtBWDFCLENBV0NhLFNBWEQ7QUFBQSxVQVdlQyxNQVhmLDBDQVcwQmQsS0FYMUI7O0FBWVAsYUFBT2MsT0FBT0MsWUFBZDtBQUNBLGFBQU9ELE9BQU9FLFFBQWQ7QUFDQSxhQUFPRixPQUFPRyxLQUFkO0FBQ0EsYUFBT0gsT0FBT0ksT0FBZDtBQUNBLGFBQU9KLE9BQU9LLEtBQWQ7QUFDQSxhQUFPTCxPQUFPTSxRQUFkO0FBQ0EsYUFBT04sT0FBT08sTUFBZDtBQUNBLGFBQU9QLE9BQU9RLE9BQWQ7QUFDQSxhQUFPUixPQUFPUyxPQUFkO0FBQ0EsYUFBT1QsT0FBT1UsWUFBZDtBQUNBLGFBQU9WLE9BQU9XLFFBQWQ7QUFDQSxVQUFNQyxlQUFlLDBCQUFXYixTQUFYLEVBQXNCLFlBQXRCLENBQXJCO0FBQ0EsVUFBTWMsZ0JBQWlCLDBCQUFELEdBQW1CLEVBQUVDLGFBQWE7QUFBQSxpQkFBS3ZCLEVBQUVFLE1BQUYsQ0FBU3NCLEtBQVQsRUFBTDtBQUFBLFNBQWYsRUFBbkIsR0FBNEQsRUFBbEY7QUFDQSxhQUFPN0IsTUFBTXlCLFFBQU4sR0FDSjtBQUNDLFlBQUt2QixFQUROO0FBRUMsbUJBQVl3QixZQUZiO0FBR0Msa0JBQVcsS0FBS3ZCO0FBSGpCLFNBSU1XLE1BSk4sRUFLTWEsYUFMTixFQURJLEdBUUo7QUFDQyxZQUFLekIsRUFETjtBQUVDLG1CQUFZd0IsWUFGYjtBQUdDLGtCQUFXLEtBQUt2QjtBQUhqQixTQUlNVyxNQUpOLEVBS01hLGFBTE4sRUFSSDtBQWVEOzs7OztrQkF0RGtCNUIsUTs7O0FBeURyQkEsU0FBUytCLFNBQVQsR0FBcUI7QUFDbkI1QixNQUFJLG9CQUFVNkIsTUFESztBQUVuQmxCLGFBQVcsb0JBQVVrQixNQUZGO0FBR25CdkIsU0FBTyxvQkFBVXVCLE1BSEU7QUFJbkJ0QixZQUFVLG9CQUFVdUIsSUFKRDtBQUtuQnRCLFNBQU8sb0JBQVV1QixTQUFWLENBQW9CLENBQ3pCLG9CQUFVRCxJQURlLEVBRXpCLG9CQUFVRCxNQUZlLEVBR3pCLG9CQUFVRyxLQUFWLENBQWdCO0FBQ2RDLGFBQVMsb0JBQVVKO0FBREwsR0FBaEIsQ0FIeUIsQ0FBcEIsQ0FMWTtBQVluQnpCLFNBQU8sb0JBQVV5QixNQVpFO0FBYW5CUCxnQkFBYyxvQkFBVU8sTUFiTDtBQWNuQkssZUFBYSxvQkFBVUwsTUFkSjtBQWVuQjVCLFlBQVUsb0JBQVVrQyxJQWZEO0FBZ0JuQlosWUFBVSxvQkFBVU8sSUFoQkQ7QUFpQm5CckIsV0FBUyxvQkFBVTJCO0FBakJBLENBQXJCIiwiZmlsZSI6IlRleHRhcmVhLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHV1aWQgZnJvbSAndXVpZCc7XG5pbXBvcnQgRm9ybUVsZW1lbnQgZnJvbSAnLi9Gb3JtRWxlbWVudCc7XG5pbXBvcnQgVGV4dGFyZWFBdXRvc2l6ZSBmcm9tICdyZWFjdC10ZXh0YXJlYS1hdXRvc2l6ZSc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgaXNJRSwgaXNFZGdlIH0gZnJvbSAnLi91dGlsJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGV4dGFyZWEgZXh0ZW5kcyBDb21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnN0YXRlID0geyBpZDogYGZvcm0tZWxlbWVudC0ke3V1aWQoKX1gIH07XG4gICAgdGhpcy5vbkNoYW5nZSA9IHRoaXMub25DaGFuZ2UuYmluZCh0aGlzKTtcbiAgfVxuXG4gIG9uQ2hhbmdlKGUpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGUudGFyZ2V0LnZhbHVlO1xuICAgIGlmICh0aGlzLnByb3BzLm9uQ2hhbmdlKSB7XG4gICAgICB0aGlzLnByb3BzLm9uQ2hhbmdlKGUsIHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgaWQgPSB0aGlzLnByb3BzLmlkIHx8IHRoaXMuc3RhdGUuaWQ7XG4gICAgY29uc3QgeyBsYWJlbCwgcmVxdWlyZWQsIGVycm9yLCB0b29sdGlwLCAuLi5wcm9wcyB9ID0gdGhpcy5wcm9wcztcbiAgICBpZiAobGFiZWwgfHwgcmVxdWlyZWQgfHwgZXJyb3IpIHtcbiAgICAgIGNvbnN0IGZvcm1FbGVtUHJvcHMgPSB7IGlkLCBsYWJlbCwgcmVxdWlyZWQsIGVycm9yLCB0b29sdGlwIH07XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8Rm9ybUVsZW1lbnQgeyAuLi5mb3JtRWxlbVByb3BzIH0+XG4gICAgICAgICAgPFRleHRhcmVhIHsgLi4ueyAuLi5wcm9wcywgaWQgfSB9IC8+XG4gICAgICAgIDwvRm9ybUVsZW1lbnQ+XG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCB7IGNsYXNzTmFtZSwgLi4ucHByb3BzIH0gPSBwcm9wcztcbiAgICBkZWxldGUgcHByb3BzLmluaXRpYWxWYWx1ZTtcbiAgICBkZWxldGUgcHByb3BzLm9uVXBkYXRlO1xuICAgIGRlbGV0ZSBwcHJvcHMudmFsaWQ7XG4gICAgZGVsZXRlIHBwcm9wcy5pbnZhbGlkO1xuICAgIGRlbGV0ZSBwcHJvcHMuZGlydHk7XG4gICAgZGVsZXRlIHBwcm9wcy5wcmlzdGluZTtcbiAgICBkZWxldGUgcHByb3BzLmFjdGl2ZTtcbiAgICBkZWxldGUgcHByb3BzLnRvdWNoZWQ7XG4gICAgZGVsZXRlIHBwcm9wcy52aXNpdGVkO1xuICAgIGRlbGV0ZSBwcHJvcHMuZGVmYXVsdFZhbHVlO1xuICAgIGRlbGV0ZSBwcHJvcHMuYXV0b3NpemU7XG4gICAgY29uc3QgdGFDbGFzc05hbWVzID0gY2xhc3NuYW1lcyhjbGFzc05hbWUsICdzbGRzLWlucHV0Jyk7XG4gICAgY29uc3QgaWVEcmFnZ2JsZUZpeCA9IChpc0lFIHx8IGlzRWRnZSkgPyB7IG9uTW91c2VEb3duOiBlID0+IGUudGFyZ2V0LmZvY3VzKCkgfSA6IHt9O1xuICAgIHJldHVybiBwcm9wcy5hdXRvc2l6ZSA/XG4gICAgICAoPFRleHRhcmVhQXV0b3NpemVcbiAgICAgICAgaWQ9eyBpZCB9XG4gICAgICAgIGNsYXNzTmFtZT17IHRhQ2xhc3NOYW1lcyB9XG4gICAgICAgIG9uQ2hhbmdlPXsgdGhpcy5vbkNoYW5nZSB9XG4gICAgICAgIHsgLi4ucHByb3BzIH1cbiAgICAgICAgeyAuLi5pZURyYWdnYmxlRml4IH1cbiAgICAgIC8+KSA6XG4gICAgICAoPHRleHRhcmVhXG4gICAgICAgIGlkPXsgaWQgfVxuICAgICAgICBjbGFzc05hbWU9eyB0YUNsYXNzTmFtZXMgfVxuICAgICAgICBvbkNoYW5nZT17IHRoaXMub25DaGFuZ2UgfVxuICAgICAgICB7IC4uLnBwcm9wcyB9XG4gICAgICAgIHsgLi4uaWVEcmFnZ2JsZUZpeCB9XG4gICAgICAvPik7XG4gIH1cbn1cblxuVGV4dGFyZWEucHJvcFR5cGVzID0ge1xuICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgcmVxdWlyZWQ6IFByb3BUeXBlcy5ib29sLFxuICBlcnJvcjogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgUHJvcFR5cGVzLmJvb2wsXG4gICAgUHJvcFR5cGVzLnN0cmluZyxcbiAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgbWVzc2FnZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB9KSxcbiAgXSksXG4gIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBkZWZhdWx0VmFsdWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHBsYWNlaG9sZGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gIGF1dG9zaXplOiBQcm9wVHlwZXMuYm9vbCxcbiAgdG9vbHRpcDogUHJvcFR5cGVzLmVsZW1lbnQsXG59O1xuIl19