react-lightning-design-components
Version:
Salesforce Lightning Design System components built with React 16
147 lines (115 loc) • 11.9 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _typeof2 = require('babel-runtime/helpers/typeof');
var _typeof3 = _interopRequireDefault(_typeof2);
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 _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var RadioGroup = function (_React$Component) {
(0, _inherits3.default)(RadioGroup, _React$Component);
function RadioGroup() {
(0, _classCallCheck3.default)(this, RadioGroup);
return (0, _possibleConstructorReturn3.default)(this, (RadioGroup.__proto__ || (0, _getPrototypeOf2.default)(RadioGroup)).apply(this, arguments));
}
(0, _createClass3.default)(RadioGroup, [{
key: 'onControlChange',
value: function onControlChange(value, e) {
if (this.props.onChange) {
this.props.onChange(e, value);
}
}
}, {
key: 'renderControl',
value: function renderControl(radio) {
return this.props.name ? _react2.default.cloneElement(radio, {
name: this.props.name,
onChange: this.onControlChange.bind(this, radio.props.value)
}) : radio;
}
}, {
key: 'render',
value: function render() {
var _props = this.props,
className = _props.className,
label = _props.label,
required = _props.required,
error = _props.error,
totalCols = _props.totalCols,
cols = _props.cols,
style = _props.style,
children = _props.children,
tooltip = _props.tooltip,
props = (0, _objectWithoutProperties3.default)(_props, ['className', 'label', 'required', 'error', 'totalCols', 'cols', 'style', 'children', 'tooltip']);
var grpClassNames = (0, _classnames2.default)(className, 'slds-form-element', {
'slds-has-error': error,
'slds-is-required': required
}, typeof totalCols === 'number' ? 'slds-size--' + (cols || 1) + '-of-' + totalCols : null);
var grpStyles = typeof totalCols === 'number' ? (0, _extends3.default)({ display: 'inline-block' }, style) : style;
var errorMessage = error ? typeof error === 'string' ? error : (typeof error === 'undefined' ? 'undefined' : (0, _typeof3.default)(error)) === 'object' ? error.message : undefined : undefined;
return _react2.default.createElement(
'fieldset',
(0, _extends3.default)({ className: grpClassNames, style: grpStyles }, props),
_react2.default.createElement(
'legend',
{ className: 'slds-form-element__label slds-form-element__label--top' },
label,
required ? _react2.default.createElement(
'abbr',
{ className: 'slds-required' },
'*'
) : undefined,
tooltip
),
_react2.default.createElement(
'div',
{ className: 'slds-form-element__control' },
_react2.default.Children.map(children, this.renderControl.bind(this)),
errorMessage ? _react2.default.createElement(
'div',
{ className: 'slds-form-element__help' },
errorMessage
) : undefined
)
);
}
}]);
return RadioGroup;
}(_react2.default.Component);
exports.default = RadioGroup;
RadioGroup.propTypes = {
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
})]),
name: _propTypes2.default.string,
onChange: _propTypes2.default.func,
totalCols: _propTypes2.default.number,
cols: _propTypes2.default.number,
style: _propTypes2.default.object,
children: _propTypes2.default.node,
tooltip: _propTypes2.default.element
};
RadioGroup.isFormElement = true;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL1JhZGlvR3JvdXAuanMiXSwibmFtZXMiOlsiUmFkaW9Hcm91cCIsInZhbHVlIiwiZSIsInByb3BzIiwib25DaGFuZ2UiLCJyYWRpbyIsIm5hbWUiLCJjbG9uZUVsZW1lbnQiLCJvbkNvbnRyb2xDaGFuZ2UiLCJiaW5kIiwiY2xhc3NOYW1lIiwibGFiZWwiLCJyZXF1aXJlZCIsImVycm9yIiwidG90YWxDb2xzIiwiY29scyIsInN0eWxlIiwiY2hpbGRyZW4iLCJ0b29sdGlwIiwiZ3JwQ2xhc3NOYW1lcyIsImdycFN0eWxlcyIsImRpc3BsYXkiLCJlcnJvck1lc3NhZ2UiLCJtZXNzYWdlIiwidW5kZWZpbmVkIiwiQ2hpbGRyZW4iLCJtYXAiLCJyZW5kZXJDb250cm9sIiwiQ29tcG9uZW50IiwicHJvcFR5cGVzIiwic3RyaW5nIiwiYm9vbCIsIm9uZU9mVHlwZSIsInNoYXBlIiwiZnVuYyIsIm51bWJlciIsIm9iamVjdCIsIm5vZGUiLCJlbGVtZW50IiwiaXNGb3JtRWxlbWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7OztBQUNBOzs7O0FBQ0E7Ozs7OztJQUdxQkEsVTs7Ozs7Ozs7OztvQ0FDSEMsSyxFQUFPQyxDLEVBQUc7QUFDeEIsVUFBSSxLQUFLQyxLQUFMLENBQVdDLFFBQWYsRUFBeUI7QUFDdkIsYUFBS0QsS0FBTCxDQUFXQyxRQUFYLENBQW9CRixDQUFwQixFQUF1QkQsS0FBdkI7QUFDRDtBQUNGOzs7a0NBRWFJLEssRUFBTztBQUNuQixhQUNFLEtBQUtGLEtBQUwsQ0FBV0csSUFBWCxHQUNFLGdCQUFNQyxZQUFOLENBQW1CRixLQUFuQixFQUEwQjtBQUN4QkMsY0FBTSxLQUFLSCxLQUFMLENBQVdHLElBRE87QUFFeEJGLGtCQUFVLEtBQUtJLGVBQUwsQ0FBcUJDLElBQXJCLENBQTBCLElBQTFCLEVBQWdDSixNQUFNRixLQUFOLENBQVlGLEtBQTVDO0FBRmMsT0FBMUIsQ0FERixHQUtFSSxLQU5KO0FBUUQ7Ozs2QkFFUTtBQUFBLG1CQUdILEtBQUtGLEtBSEY7QUFBQSxVQUVMTyxTQUZLLFVBRUxBLFNBRks7QUFBQSxVQUVNQyxLQUZOLFVBRU1BLEtBRk47QUFBQSxVQUVhQyxRQUZiLFVBRWFBLFFBRmI7QUFBQSxVQUV1QkMsS0FGdkIsVUFFdUJBLEtBRnZCO0FBQUEsVUFFOEJDLFNBRjlCLFVBRThCQSxTQUY5QjtBQUFBLFVBRXlDQyxJQUZ6QyxVQUV5Q0EsSUFGekM7QUFBQSxVQUUrQ0MsS0FGL0MsVUFFK0NBLEtBRi9DO0FBQUEsVUFFc0RDLFFBRnRELFVBRXNEQSxRQUZ0RDtBQUFBLFVBRWdFQyxPQUZoRSxVQUVnRUEsT0FGaEU7QUFBQSxVQUU0RWYsS0FGNUU7O0FBSVAsVUFBTWdCLGdCQUFnQiwwQkFDcEJULFNBRG9CLEVBRXBCLG1CQUZvQixFQUdwQjtBQUNFLDBCQUFrQkcsS0FEcEI7QUFFRSw0QkFBb0JEO0FBRnRCLE9BSG9CLEVBT3BCLE9BQU9FLFNBQVAsS0FBcUIsUUFBckIsb0JBQThDQyxRQUFRLENBQXRELGFBQThERCxTQUE5RCxHQUE0RSxJQVB4RCxDQUF0QjtBQVNBLFVBQU1NLFlBQVksT0FBT04sU0FBUCxLQUFxQixRQUFyQiw0QkFBa0NPLFNBQVMsY0FBM0MsSUFBOERMLEtBQTlELElBQXdFQSxLQUExRjtBQUNBLFVBQU1NLGVBQ0pULFFBQ0MsT0FBT0EsS0FBUCxLQUFpQixRQUFqQixHQUE0QkEsS0FBNUIsR0FDQSxRQUFPQSxLQUFQLHVEQUFPQSxLQUFQLE9BQWlCLFFBQWpCLEdBQTRCQSxNQUFNVSxPQUFsQyxHQUNBQyxTQUhELEdBSUFBLFNBTEY7QUFNQSxhQUNFO0FBQUE7QUFBQSxpQ0FBVSxXQUFZTCxhQUF0QixFQUFzQyxPQUFRQyxTQUE5QyxJQUErRGpCLEtBQS9EO0FBQ0U7QUFBQTtBQUFBLFlBQVEsV0FBVSx3REFBbEI7QUFDSVEsZUFESjtBQUdJQyxxQkFDRTtBQUFBO0FBQUEsY0FBTSxXQUFVLGVBQWhCO0FBQUE7QUFBQSxXQURGLEdBRUVZLFNBTE47QUFPSU47QUFQSixTQURGO0FBVUU7QUFBQTtBQUFBLFlBQUssV0FBVSw0QkFBZjtBQUNJLDBCQUFNTyxRQUFOLENBQWVDLEdBQWYsQ0FBbUJULFFBQW5CLEVBQTZCLEtBQUtVLGFBQUwsQ0FBbUJsQixJQUFuQixDQUF3QixJQUF4QixDQUE3QixDQURKO0FBR0lhLHlCQUNFO0FBQUE7QUFBQSxjQUFLLFdBQVUseUJBQWY7QUFBMkNBO0FBQTNDLFdBREYsR0FFRUU7QUFMTjtBQVZGLE9BREY7QUFxQkQ7OztFQTNEcUMsZ0JBQU1JLFM7O2tCQUF6QjVCLFU7OztBQStEckJBLFdBQVc2QixTQUFYLEdBQXVCO0FBQ3JCbkIsYUFBVyxvQkFBVW9CLE1BREE7QUFFckJuQixTQUFPLG9CQUFVbUIsTUFGSTtBQUdyQmxCLFlBQVUsb0JBQVVtQixJQUhDO0FBSXJCbEIsU0FBTyxvQkFBVW1CLFNBQVYsQ0FBb0IsQ0FDekIsb0JBQVVELElBRGUsRUFFekIsb0JBQVVELE1BRmUsRUFHekIsb0JBQVVHLEtBQVYsQ0FBZ0I7QUFDZFYsYUFBUyxvQkFBVU87QUFETCxHQUFoQixDQUh5QixDQUFwQixDQUpjO0FBV3JCeEIsUUFBTSxvQkFBVXdCLE1BWEs7QUFZckIxQixZQUFVLG9CQUFVOEIsSUFaQztBQWFyQnBCLGFBQVcsb0JBQVVxQixNQWJBO0FBY3JCcEIsUUFBTSxvQkFBVW9CLE1BZEs7QUFlckJuQixTQUFPLG9CQUFVb0IsTUFmSTtBQWdCckJuQixZQUFVLG9CQUFVb0IsSUFoQkM7QUFpQnJCbkIsV0FBUyxvQkFBVW9CO0FBakJFLENBQXZCOztBQW9CQXRDLFdBQVd1QyxhQUFYLEdBQTJCLElBQTNCIiwiZmlsZSI6IlJhZGlvR3JvdXAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhZGlvR3JvdXAgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBvbkNvbnRyb2xDaGFuZ2UodmFsdWUsIGUpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5vbkNoYW5nZSkge1xuICAgICAgdGhpcy5wcm9wcy5vbkNoYW5nZShlLCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyQ29udHJvbChyYWRpbykge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnByb3BzLm5hbWUgP1xuICAgICAgICBSZWFjdC5jbG9uZUVsZW1lbnQocmFkaW8sIHtcbiAgICAgICAgICBuYW1lOiB0aGlzLnByb3BzLm5hbWUsXG4gICAgICAgICAgb25DaGFuZ2U6IHRoaXMub25Db250cm9sQ2hhbmdlLmJpbmQodGhpcywgcmFkaW8ucHJvcHMudmFsdWUpLFxuICAgICAgICB9KSA6XG4gICAgICAgIHJhZGlvXG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBjbGFzc05hbWUsIGxhYmVsLCByZXF1aXJlZCwgZXJyb3IsIHRvdGFsQ29scywgY29scywgc3R5bGUsIGNoaWxkcmVuLCB0b29sdGlwLCAuLi5wcm9wcyxcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBncnBDbGFzc05hbWVzID0gY2xhc3NuYW1lcyhcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgICdzbGRzLWZvcm0tZWxlbWVudCcsXG4gICAgICB7XG4gICAgICAgICdzbGRzLWhhcy1lcnJvcic6IGVycm9yLFxuICAgICAgICAnc2xkcy1pcy1yZXF1aXJlZCc6IHJlcXVpcmVkLFxuICAgICAgfSxcbiAgICAgIHR5cGVvZiB0b3RhbENvbHMgPT09ICdudW1iZXInID8gYHNsZHMtc2l6ZS0tJHtjb2xzIHx8IDF9LW9mLSR7dG90YWxDb2xzfWAgOiBudWxsXG4gICAgKTtcbiAgICBjb25zdCBncnBTdHlsZXMgPSB0eXBlb2YgdG90YWxDb2xzID09PSAnbnVtYmVyJyA/IHsgZGlzcGxheTogJ2lubGluZS1ibG9jaycsIC4uLnN0eWxlIH0gOiBzdHlsZTtcbiAgICBjb25zdCBlcnJvck1lc3NhZ2UgPVxuICAgICAgZXJyb3IgP1xuICAgICAgKHR5cGVvZiBlcnJvciA9PT0gJ3N0cmluZycgPyBlcnJvciA6XG4gICAgICAgdHlwZW9mIGVycm9yID09PSAnb2JqZWN0JyA/IGVycm9yLm1lc3NhZ2UgOlxuICAgICAgIHVuZGVmaW5lZCkgOlxuICAgICAgdW5kZWZpbmVkO1xuICAgIHJldHVybiAoXG4gICAgICA8ZmllbGRzZXQgY2xhc3NOYW1lPXsgZ3JwQ2xhc3NOYW1lcyB9IHN0eWxlPXsgZ3JwU3R5bGVzIH0geyAuLi5wcm9wcyB9ID5cbiAgICAgICAgPGxlZ2VuZCBjbGFzc05hbWU9J3NsZHMtZm9ybS1lbGVtZW50X19sYWJlbCBzbGRzLWZvcm0tZWxlbWVudF9fbGFiZWwtLXRvcCc+XG4gICAgICAgICAgeyBsYWJlbCB9XG4gICAgICAgICAge1xuICAgICAgICAgICAgcmVxdWlyZWQgP1xuICAgICAgICAgICAgICA8YWJiciBjbGFzc05hbWU9J3NsZHMtcmVxdWlyZWQnPio8L2FiYnI+IDpcbiAgICAgICAgICAgICAgdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIHsgdG9vbHRpcCB9XG4gICAgICAgIDwvbGVnZW5kPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nc2xkcy1mb3JtLWVsZW1lbnRfX2NvbnRyb2wnPlxuICAgICAgICAgIHsgUmVhY3QuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCB0aGlzLnJlbmRlckNvbnRyb2wuYmluZCh0aGlzKSkgfVxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGVycm9yTWVzc2FnZSA/XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdzbGRzLWZvcm0tZWxlbWVudF9faGVscCc+eyBlcnJvck1lc3NhZ2UgfTwvZGl2PiA6XG4gICAgICAgICAgICAgIHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2ZpZWxkc2V0PlxuICAgICk7XG4gIH1cblxufVxuXG5SYWRpb0dyb3VwLnByb3BUeXBlcyA9IHtcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgcmVxdWlyZWQ6IFByb3BUeXBlcy5ib29sLFxuICBlcnJvcjogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgUHJvcFR5cGVzLmJvb2wsXG4gICAgUHJvcFR5cGVzLnN0cmluZyxcbiAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgbWVzc2FnZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB9KSxcbiAgXSksXG4gIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgdG90YWxDb2xzOiBQcm9wVHlwZXMubnVtYmVyLFxuICBjb2xzOiBQcm9wVHlwZXMubnVtYmVyLFxuICBzdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxuICB0b29sdGlwOiBQcm9wVHlwZXMuZWxlbWVudCxcbn07XG5cblJhZGlvR3JvdXAuaXNGb3JtRWxlbWVudCA9IHRydWU7XG4iXX0=
;