react-lightning-design-components
Version:
Salesforce Lightning Design System components built with React 16
152 lines (113 loc) • 10.4 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
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 _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
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 FieldSet = function FieldSet(_ref) {
var className = _ref.className,
label = _ref.label,
children = _ref.children,
props = (0, _objectWithoutProperties3.default)(_ref, ['className', 'label', 'children']);
var fsClassNames = (0, _classnames2.default)(className, 'slds-form--compound');
return _react2.default.createElement(
'fieldset',
(0, _extends3.default)({ className: fsClassNames }, props),
label ? _react2.default.createElement(
'legend',
{ className: 'slds-form-element__label' },
label
) : null,
_react2.default.createElement(
'div',
{ className: 'form-element__group' },
children
)
);
};
FieldSet.propTypes = {
className: _propTypes2.default.string,
label: _propTypes2.default.string,
children: _propTypes2.default.node
};
FieldSet.isFormElement = true;
var Row = function (_Component) {
(0, _inherits3.default)(Row, _Component);
function Row() {
(0, _classCallCheck3.default)(this, Row);
return (0, _possibleConstructorReturn3.default)(this, (Row.__proto__ || (0, _getPrototypeOf2.default)(Row)).apply(this, arguments));
}
(0, _createClass3.default)(Row, [{
key: 'renderChild',
value: function renderChild(totalCols, child) {
var klass = child.type;
if (!klass.isFormElement) {
var _child$props = child.props,
_child$props$id = _child$props.id,
id = _child$props$id === undefined ? 'form-element-' + (0, _uuid2.default)() : _child$props$id,
label = _child$props.label,
required = _child$props.required,
error = _child$props.error,
cols = _child$props.cols,
tooltip = _child$props.tooltip;
var formElemProps = { id: id, label: label, required: required, error: error, totalCols: totalCols, cols: cols, tooltip: tooltip };
return _react2.default.createElement(
_FormElement2.default,
formElemProps,
_react2.default.cloneElement(child, {
id: id, label: undefined, required: undefined, error: undefined
})
);
}
return _react2.default.cloneElement(child, { totalCols: totalCols });
}
}, {
key: 'render',
value: function render() {
var _props = this.props,
className = _props.className,
cols = _props.cols,
children = _props.children;
var totalCols = cols || _react2.default.Children.count(children);
var rowClassNames = (0, _classnames2.default)(className, 'slds-form-element__row');
return _react2.default.createElement(
'div',
{ className: rowClassNames },
_react2.default.Children.map(children, this.renderChild.bind(this, totalCols))
);
}
}]);
return Row;
}(_react.Component);
Row.propTypes = {
className: _propTypes2.default.string,
cols: _propTypes2.default.number,
children: _propTypes2.default.node
};
Row.isFormElement = true;
FieldSet.Row = Row;
exports.default = FieldSet;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL0ZpZWxkU2V0LmpzIl0sIm5hbWVzIjpbIkZpZWxkU2V0IiwiY2xhc3NOYW1lIiwibGFiZWwiLCJjaGlsZHJlbiIsInByb3BzIiwiZnNDbGFzc05hbWVzIiwicHJvcFR5cGVzIiwic3RyaW5nIiwibm9kZSIsImlzRm9ybUVsZW1lbnQiLCJSb3ciLCJ0b3RhbENvbHMiLCJjaGlsZCIsImtsYXNzIiwidHlwZSIsImlkIiwicmVxdWlyZWQiLCJlcnJvciIsImNvbHMiLCJ0b29sdGlwIiwiZm9ybUVsZW1Qcm9wcyIsImNsb25lRWxlbWVudCIsInVuZGVmaW5lZCIsIkNoaWxkcmVuIiwiY291bnQiLCJyb3dDbGFzc05hbWVzIiwibWFwIiwicmVuZGVyQ2hpbGQiLCJiaW5kIiwibnVtYmVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7O0FBR0EsSUFBTUEsV0FBVyxTQUFYQSxRQUFXLE9BQThDO0FBQUEsTUFBM0NDLFNBQTJDLFFBQTNDQSxTQUEyQztBQUFBLE1BQWhDQyxLQUFnQyxRQUFoQ0EsS0FBZ0M7QUFBQSxNQUF6QkMsUUFBeUIsUUFBekJBLFFBQXlCO0FBQUEsTUFBWkMsS0FBWTs7QUFDN0QsTUFBTUMsZUFBZSwwQkFBV0osU0FBWCxFQUFzQixxQkFBdEIsQ0FBckI7QUFDQSxTQUNFO0FBQUE7QUFBQSw2QkFBVSxXQUFZSSxZQUF0QixJQUEwQ0QsS0FBMUM7QUFFSUYsWUFDRTtBQUFBO0FBQUEsUUFBUSxXQUFVLDBCQUFsQjtBQUErQ0E7QUFBL0MsS0FERixHQUVFLElBSk47QUFNRTtBQUFBO0FBQUEsUUFBSyxXQUFVLHFCQUFmO0FBQ0lDO0FBREo7QUFORixHQURGO0FBWUQsQ0FkRDs7QUFnQkFILFNBQVNNLFNBQVQsR0FBcUI7QUFDbkJMLGFBQVcsb0JBQVVNLE1BREY7QUFFbkJMLFNBQU8sb0JBQVVLLE1BRkU7QUFHbkJKLFlBQVUsb0JBQVVLO0FBSEQsQ0FBckI7O0FBTUFSLFNBQVNTLGFBQVQsR0FBeUIsSUFBekI7O0lBR01DLEc7Ozs7Ozs7Ozs7Z0NBQ1FDLFMsRUFBV0MsSyxFQUFPO0FBQzVCLFVBQU1DLFFBQVFELE1BQU1FLElBQXBCO0FBQ0EsVUFBSSxDQUFDRCxNQUFNSixhQUFYLEVBQTBCO0FBQUEsMkJBR3BCRyxNQUFNUixLQUhjO0FBQUEsMkNBRXRCVyxFQUZzQjtBQUFBLFlBRXRCQSxFQUZzQixxREFFRCxxQkFGQztBQUFBLFlBRVNiLEtBRlQsZ0JBRVNBLEtBRlQ7QUFBQSxZQUVnQmMsUUFGaEIsZ0JBRWdCQSxRQUZoQjtBQUFBLFlBRTBCQyxLQUYxQixnQkFFMEJBLEtBRjFCO0FBQUEsWUFFaUNDLElBRmpDLGdCQUVpQ0EsSUFGakM7QUFBQSxZQUV1Q0MsT0FGdkMsZ0JBRXVDQSxPQUZ2Qzs7QUFJeEIsWUFBTUMsZ0JBQWdCLEVBQUVMLE1BQUYsRUFBTWIsWUFBTixFQUFhYyxrQkFBYixFQUF1QkMsWUFBdkIsRUFBOEJOLG9CQUE5QixFQUF5Q08sVUFBekMsRUFBK0NDLGdCQUEvQyxFQUF0QjtBQUNBLGVBQ0U7QUFBQTtBQUFrQkMsdUJBQWxCO0FBQ0ksMEJBQU1DLFlBQU4sQ0FBbUJULEtBQW5CLEVBQTBCO0FBQzFCRyxrQkFEMEIsRUFDdEJiLE9BQU9vQixTQURlLEVBQ0pOLFVBQVVNLFNBRE4sRUFDaUJMLE9BQU9LO0FBRHhCLFdBQTFCO0FBREosU0FERjtBQU9EO0FBQ0QsYUFBTyxnQkFBTUQsWUFBTixDQUFtQlQsS0FBbkIsRUFBMEIsRUFBRUQsb0JBQUYsRUFBMUIsQ0FBUDtBQUNEOzs7NkJBRVE7QUFBQSxtQkFDK0IsS0FBS1AsS0FEcEM7QUFBQSxVQUNDSCxTQURELFVBQ0NBLFNBREQ7QUFBQSxVQUNZaUIsSUFEWixVQUNZQSxJQURaO0FBQUEsVUFDa0JmLFFBRGxCLFVBQ2tCQSxRQURsQjs7QUFFUCxVQUFNUSxZQUFZTyxRQUFRLGdCQUFNSyxRQUFOLENBQWVDLEtBQWYsQ0FBcUJyQixRQUFyQixDQUExQjtBQUNBLFVBQU1zQixnQkFBZ0IsMEJBQVd4QixTQUFYLEVBQXNCLHdCQUF0QixDQUF0QjtBQUNBLGFBQ0U7QUFBQTtBQUFBLFVBQUssV0FBWXdCLGFBQWpCO0FBQ0ksd0JBQU1GLFFBQU4sQ0FBZUcsR0FBZixDQUFtQnZCLFFBQW5CLEVBQTZCLEtBQUt3QixXQUFMLENBQWlCQyxJQUFqQixDQUFzQixJQUF0QixFQUE0QmpCLFNBQTVCLENBQTdCO0FBREosT0FERjtBQUtEOzs7OztBQUdIRCxJQUFJSixTQUFKLEdBQWdCO0FBQ2RMLGFBQVcsb0JBQVVNLE1BRFA7QUFFZFcsUUFBTSxvQkFBVVcsTUFGRjtBQUdkMUIsWUFBVSxvQkFBVUs7QUFITixDQUFoQjs7QUFNQUUsSUFBSUQsYUFBSixHQUFvQixJQUFwQjs7QUFFQVQsU0FBU1UsR0FBVCxHQUFlQSxHQUFmOztrQkFFZVYsUSIsImZpbGUiOiJGaWVsZFNldC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB1dWlkIGZyb20gJ3V1aWQnO1xuaW1wb3J0IEZvcm1FbGVtZW50IGZyb20gJy4vRm9ybUVsZW1lbnQnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuXG5jb25zdCBGaWVsZFNldCA9ICh7IGNsYXNzTmFtZSwgbGFiZWwsIGNoaWxkcmVuLCAuLi5wcm9wcyB9KSA9PiB7XG4gIGNvbnN0IGZzQ2xhc3NOYW1lcyA9IGNsYXNzbmFtZXMoY2xhc3NOYW1lLCAnc2xkcy1mb3JtLS1jb21wb3VuZCcpO1xuICByZXR1cm4gKFxuICAgIDxmaWVsZHNldCBjbGFzc05hbWU9eyBmc0NsYXNzTmFtZXMgfSB7IC4uLnByb3BzIH0+XG4gICAgICB7XG4gICAgICAgIGxhYmVsID9cbiAgICAgICAgICA8bGVnZW5kIGNsYXNzTmFtZT0nc2xkcy1mb3JtLWVsZW1lbnRfX2xhYmVsJz57IGxhYmVsIH08L2xlZ2VuZD4gOlxuICAgICAgICAgIG51bGxcbiAgICAgIH1cbiAgICAgIDxkaXYgY2xhc3NOYW1lPSdmb3JtLWVsZW1lbnRfX2dyb3VwJz5cbiAgICAgICAgeyBjaGlsZHJlbiB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2ZpZWxkc2V0PlxuICApO1xufTtcblxuRmllbGRTZXQucHJvcFR5cGVzID0ge1xuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG59O1xuXG5GaWVsZFNldC5pc0Zvcm1FbGVtZW50ID0gdHJ1ZTtcblxuXG5jbGFzcyBSb3cgZXh0ZW5kcyBDb21wb25lbnQge1xuICByZW5kZXJDaGlsZCh0b3RhbENvbHMsIGNoaWxkKSB7XG4gICAgY29uc3Qga2xhc3MgPSBjaGlsZC50eXBlO1xuICAgIGlmICgha2xhc3MuaXNGb3JtRWxlbWVudCkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBpZCA9IGBmb3JtLWVsZW1lbnQtJHt1dWlkKCl9YCwgbGFiZWwsIHJlcXVpcmVkLCBlcnJvciwgY29scywgdG9vbHRpcCxcbiAgICAgIH0gPSBjaGlsZC5wcm9wcztcbiAgICAgIGNvbnN0IGZvcm1FbGVtUHJvcHMgPSB7IGlkLCBsYWJlbCwgcmVxdWlyZWQsIGVycm9yLCB0b3RhbENvbHMsIGNvbHMsIHRvb2x0aXAgfTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGb3JtRWxlbWVudCB7IC4uLmZvcm1FbGVtUHJvcHMgfT5cbiAgICAgICAgICB7IFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgaWQsIGxhYmVsOiB1bmRlZmluZWQsIHJlcXVpcmVkOiB1bmRlZmluZWQsIGVycm9yOiB1bmRlZmluZWQsXG4gICAgICAgICAgfSkgfVxuICAgICAgICA8L0Zvcm1FbGVtZW50PlxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwgeyB0b3RhbENvbHMgfSk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUsIGNvbHMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHRvdGFsQ29scyA9IGNvbHMgfHwgUmVhY3QuQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pO1xuICAgIGNvbnN0IHJvd0NsYXNzTmFtZXMgPSBjbGFzc25hbWVzKGNsYXNzTmFtZSwgJ3NsZHMtZm9ybS1lbGVtZW50X19yb3cnKTtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9eyByb3dDbGFzc05hbWVzIH0+XG4gICAgICAgIHsgUmVhY3QuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCB0aGlzLnJlbmRlckNoaWxkLmJpbmQodGhpcywgdG90YWxDb2xzKSkgfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5Sb3cucHJvcFR5cGVzID0ge1xuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGNvbHM6IFByb3BUeXBlcy5udW1iZXIsXG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbn07XG5cblJvdy5pc0Zvcm1FbGVtZW50ID0gdHJ1ZTtcblxuRmllbGRTZXQuUm93ID0gUm93O1xuXG5leHBvcnQgZGVmYXVsdCBGaWVsZFNldDtcbiJdfQ==