react-lightning-design-components
Version:
Salesforce Lightning Design System components built with React 16
137 lines (100 loc) • 9.28 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Option = undefined;
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 _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Select = function (_Component) {
(0, _inherits3.default)(Select, _Component);
function Select(props) {
(0, _classCallCheck3.default)(this, Select);
var _this = (0, _possibleConstructorReturn3.default)(this, (Select.__proto__ || (0, _getPrototypeOf2.default)(Select)).call(this, props));
_this.state = { id: 'form-element-' + (0, _uuid2.default)() };
return _this;
}
(0, _createClass3.default)(Select, [{
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(Select, (0, _extends3.default)({}, props, { id: id }))
);
}
var className = props.className,
children = props.children,
pprops = (0, _objectWithoutProperties3.default)(props, ['className', 'children']);
var selectClassNames = (0, _classnames2.default)(className, 'slds-select');
return _react2.default.createElement(
'select',
(0, _extends3.default)({
id: id,
className: selectClassNames,
onChange: this.onChange.bind(this)
}, pprops),
children
);
}
}]);
return Select;
}(_react.Component);
exports.default = Select;
Select.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.any,
defaultValue: _propTypes2.default.any,
placeholder: _propTypes2.default.string,
onChange: _propTypes2.default.func,
tooltip: _propTypes2.default.element
};
var Option = exports.Option = function Option(props) {
return _react2.default.createElement('option', props);
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL1NlbGVjdC5qcyJdLCJuYW1lcyI6WyJTZWxlY3QiLCJwcm9wcyIsInN0YXRlIiwiaWQiLCJlIiwidmFsdWUiLCJ0YXJnZXQiLCJvbkNoYW5nZSIsImxhYmVsIiwicmVxdWlyZWQiLCJlcnJvciIsInRvb2x0aXAiLCJmb3JtRWxlbVByb3BzIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJwcHJvcHMiLCJzZWxlY3RDbGFzc05hbWVzIiwiYmluZCIsInByb3BUeXBlcyIsInN0cmluZyIsImJvb2wiLCJvbmVPZlR5cGUiLCJzaGFwZSIsIm1lc3NhZ2UiLCJhbnkiLCJkZWZhdWx0VmFsdWUiLCJwbGFjZWhvbGRlciIsImZ1bmMiLCJlbGVtZW50IiwiT3B0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7OztJQUdxQkEsTTs7O0FBQ25CLGtCQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUEsc0lBQ1hBLEtBRFc7O0FBRWpCLFVBQUtDLEtBQUwsR0FBYSxFQUFFQyxzQkFBb0IscUJBQXRCLEVBQWI7QUFGaUI7QUFHbEI7Ozs7NkJBRVFDLEMsRUFBRztBQUNWLFVBQU1DLFFBQVFELEVBQUVFLE1BQUYsQ0FBU0QsS0FBdkI7QUFDQSxVQUFJLEtBQUtKLEtBQUwsQ0FBV00sUUFBZixFQUF5QjtBQUN2QixhQUFLTixLQUFMLENBQVdNLFFBQVgsQ0FBb0JILENBQXBCLEVBQXVCQyxLQUF2QjtBQUNEO0FBQ0Y7Ozs2QkFFUTtBQUNQLFVBQU1GLEtBQUssS0FBS0YsS0FBTCxDQUFXRSxFQUFYLElBQWlCLEtBQUtELEtBQUwsQ0FBV0MsRUFBdkM7QUFETyxtQkFFK0MsS0FBS0YsS0FGcEQ7QUFBQSxVQUVDTyxLQUZELFVBRUNBLEtBRkQ7QUFBQSxVQUVRQyxRQUZSLFVBRVFBLFFBRlI7QUFBQSxVQUVrQkMsS0FGbEIsVUFFa0JBLEtBRmxCO0FBQUEsVUFFeUJDLE9BRnpCLFVBRXlCQSxPQUZ6QjtBQUFBLFVBRXFDVixLQUZyQzs7QUFHUCxVQUFJTyxTQUFTQyxRQUFULElBQXFCQyxLQUF6QixFQUFnQztBQUM5QixZQUFNRSxnQkFBZ0IsRUFBRVQsTUFBRixFQUFNSyxZQUFOLEVBQWFDLGtCQUFiLEVBQXVCQyxZQUF2QixFQUE4QkMsZ0JBQTlCLEVBQXRCO0FBQ0EsZUFDRTtBQUFBO0FBQWtCQyx1QkFBbEI7QUFDRSx3Q0FBQyxNQUFELDZCQUFrQlgsS0FBbEIsSUFBeUJFLE1BQXpCO0FBREYsU0FERjtBQUtEO0FBVk0sVUFXQ1UsU0FYRCxHQVdvQ1osS0FYcEMsQ0FXQ1ksU0FYRDtBQUFBLFVBV1lDLFFBWFosR0FXb0NiLEtBWHBDLENBV1lhLFFBWFo7QUFBQSxVQVd5QkMsTUFYekIsMENBV29DZCxLQVhwQzs7QUFZUCxVQUFNZSxtQkFBbUIsMEJBQVdILFNBQVgsRUFBc0IsYUFBdEIsQ0FBekI7QUFDQSxhQUNFO0FBQUE7QUFBQTtBQUNFLGNBQUtWLEVBRFA7QUFFRSxxQkFBWWEsZ0JBRmQ7QUFHRSxvQkFBVyxLQUFLVCxRQUFMLENBQWNVLElBQWQsQ0FBbUIsSUFBbkI7QUFIYixXQUlPRixNQUpQO0FBTUlEO0FBTkosT0FERjtBQVVEOzs7OztrQkFwQ2tCZCxNOzs7QUF3Q3JCQSxPQUFPa0IsU0FBUCxHQUFtQjtBQUNqQmYsTUFBSSxvQkFBVWdCLE1BREc7QUFFakJOLGFBQVcsb0JBQVVNLE1BRko7QUFHakJYLFNBQU8sb0JBQVVXLE1BSEE7QUFJakJWLFlBQVUsb0JBQVVXLElBSkg7QUFLakJWLFNBQU8sb0JBQVVXLFNBQVYsQ0FBb0IsQ0FDekIsb0JBQVVELElBRGUsRUFFekIsb0JBQVVELE1BRmUsRUFHekIsb0JBQVVHLEtBQVYsQ0FBZ0I7QUFDZEMsYUFBUyxvQkFBVUo7QUFETCxHQUFoQixDQUh5QixDQUFwQixDQUxVO0FBWWpCZCxTQUFPLG9CQUFVbUIsR0FaQTtBQWFqQkMsZ0JBQWMsb0JBQVVELEdBYlA7QUFjakJFLGVBQWEsb0JBQVVQLE1BZE47QUFlakJaLFlBQVUsb0JBQVVvQixJQWZIO0FBZ0JqQmhCLFdBQVMsb0JBQVVpQjtBQWhCRixDQUFuQjs7QUFtQk8sSUFBTUMsMEJBQVMsU0FBVEEsTUFBUyxDQUFDNUIsS0FBRDtBQUFBLFNBQ3BCLHdDQUFhQSxLQUFiLENBRG9CO0FBQUEsQ0FBZiIsImZpbGUiOiJTZWxlY3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgdXVpZCBmcm9tICd1dWlkJztcbmltcG9ydCBGb3JtRWxlbWVudCBmcm9tICcuL0Zvcm1FbGVtZW50JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2VsZWN0IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHsgaWQ6IGBmb3JtLWVsZW1lbnQtJHt1dWlkKCl9YCB9O1xuICB9XG5cbiAgb25DaGFuZ2UoZSkge1xuICAgIGNvbnN0IHZhbHVlID0gZS50YXJnZXQudmFsdWU7XG4gICAgaWYgKHRoaXMucHJvcHMub25DaGFuZ2UpIHtcbiAgICAgIHRoaXMucHJvcHMub25DaGFuZ2UoZSwgdmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBpZCA9IHRoaXMucHJvcHMuaWQgfHwgdGhpcy5zdGF0ZS5pZDtcbiAgICBjb25zdCB7IGxhYmVsLCByZXF1aXJlZCwgZXJyb3IsIHRvb2x0aXAsIC4uLnByb3BzIH0gPSB0aGlzLnByb3BzO1xuICAgIGlmIChsYWJlbCB8fCByZXF1aXJlZCB8fCBlcnJvcikge1xuICAgICAgY29uc3QgZm9ybUVsZW1Qcm9wcyA9IHsgaWQsIGxhYmVsLCByZXF1aXJlZCwgZXJyb3IsIHRvb2x0aXAgfTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGb3JtRWxlbWVudCB7IC4uLmZvcm1FbGVtUHJvcHMgfT5cbiAgICAgICAgICA8U2VsZWN0IHsgLi4ueyAuLi5wcm9wcywgaWQgfSB9IC8+XG4gICAgICAgIDwvRm9ybUVsZW1lbnQ+XG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCB7IGNsYXNzTmFtZSwgY2hpbGRyZW4sIC4uLnBwcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3Qgc2VsZWN0Q2xhc3NOYW1lcyA9IGNsYXNzbmFtZXMoY2xhc3NOYW1lLCAnc2xkcy1zZWxlY3QnKTtcbiAgICByZXR1cm4gKFxuICAgICAgPHNlbGVjdFxuICAgICAgICBpZD17IGlkIH1cbiAgICAgICAgY2xhc3NOYW1lPXsgc2VsZWN0Q2xhc3NOYW1lcyB9XG4gICAgICAgIG9uQ2hhbmdlPXsgdGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpIH1cbiAgICAgICAgeyAuLi5wcHJvcHMgfVxuICAgICAgPlxuICAgICAgICB7IGNoaWxkcmVuIH1cbiAgICAgIDwvc2VsZWN0PlxuICAgICk7XG4gIH1cblxufVxuXG5TZWxlY3QucHJvcFR5cGVzID0ge1xuICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgcmVxdWlyZWQ6IFByb3BUeXBlcy5ib29sLFxuICBlcnJvcjogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgUHJvcFR5cGVzLmJvb2wsXG4gICAgUHJvcFR5cGVzLnN0cmluZyxcbiAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgbWVzc2FnZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB9KSxcbiAgXSksXG4gIHZhbHVlOiBQcm9wVHlwZXMuYW55LFxuICBkZWZhdWx0VmFsdWU6IFByb3BUeXBlcy5hbnksXG4gIHBsYWNlaG9sZGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gIHRvb2x0aXA6IFByb3BUeXBlcy5lbGVtZW50LFxufTtcblxuZXhwb3J0IGNvbnN0IE9wdGlvbiA9IChwcm9wcykgPT4gKFxuICA8b3B0aW9uIHsgLi4ucHJvcHMgfSAvPlxuKTtcbiJdfQ==