UNPKG

react-lightning-design-components

Version:

Salesforce Lightning Design System components built with React 16

125 lines (89 loc) 8.19 kB
'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 _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Form = function (_Component) { (0, _inherits3.default)(Form, _Component); function Form() { (0, _classCallCheck3.default)(this, Form); return (0, _possibleConstructorReturn3.default)(this, (Form.__proto__ || (0, _getPrototypeOf2.default)(Form)).apply(this, arguments)); } (0, _createClass3.default)(Form, [{ key: 'renderFormElement', value: function renderFormElement(element) { var klass = element.type; if (!klass.isFormElement) { var _element$props = element.props, _element$props$id = _element$props.id, id = _element$props$id === undefined ? 'form-element-' + (0, _uuid2.default)() : _element$props$id, label = _element$props.label, required = _element$props.required, error = _element$props.error, totalCols = _element$props.totalCols, cols = _element$props.cols, tooltip = _element$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(element, { id: id, label: undefined, required: undefined, error: undefined }) ); } return element; } }, { key: 'render', value: function render() { var _props = this.props, className = _props.className, type = _props.type, children = _props.children, props = (0, _objectWithoutProperties3.default)(_props, ['className', 'type', 'children']); var formClassNames = (0, _classnames2.default)(className, 'slds-form--' + type); return _react2.default.createElement( 'form', (0, _extends3.default)({ className: formClassNames }, props), _react2.default.Children.map(children, this.renderFormElement.bind(this)) ); } }]); return Form; }(_react.Component); exports.default = Form; var FORM_TYPES = ['stacked', 'horizontal', 'inline', 'compound']; Form.propTypes = { className: _propTypes2.default.string, type: _propTypes2.default.oneOf(FORM_TYPES), children: _propTypes2.default.node }; Form.defaultProps = { type: 'stacked' }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL0Zvcm0uanMiXSwibmFtZXMiOlsiRm9ybSIsImVsZW1lbnQiLCJrbGFzcyIsInR5cGUiLCJpc0Zvcm1FbGVtZW50IiwicHJvcHMiLCJpZCIsImxhYmVsIiwicmVxdWlyZWQiLCJlcnJvciIsInRvdGFsQ29scyIsImNvbHMiLCJ0b29sdGlwIiwiZm9ybUVsZW1Qcm9wcyIsImNsb25lRWxlbWVudCIsInVuZGVmaW5lZCIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwiZm9ybUNsYXNzTmFtZXMiLCJDaGlsZHJlbiIsIm1hcCIsInJlbmRlckZvcm1FbGVtZW50IiwiYmluZCIsIkZPUk1fVFlQRVMiLCJwcm9wVHlwZXMiLCJzdHJpbmciLCJvbmVPZiIsIm5vZGUiLCJkZWZhdWx0UHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7Ozs7SUFHcUJBLEk7Ozs7Ozs7Ozs7c0NBQ0RDLE8sRUFBUztBQUN6QixVQUFNQyxRQUFRRCxRQUFRRSxJQUF0QjtBQUNBLFVBQUksQ0FBQ0QsTUFBTUUsYUFBWCxFQUEwQjtBQUFBLDZCQUdwQkgsUUFBUUksS0FIWTtBQUFBLCtDQUV0QkMsRUFGc0I7QUFBQSxZQUV0QkEsRUFGc0IsdURBRUQscUJBRkM7QUFBQSxZQUVTQyxLQUZULGtCQUVTQSxLQUZUO0FBQUEsWUFFZ0JDLFFBRmhCLGtCQUVnQkEsUUFGaEI7QUFBQSxZQUUwQkMsS0FGMUIsa0JBRTBCQSxLQUYxQjtBQUFBLFlBRWlDQyxTQUZqQyxrQkFFaUNBLFNBRmpDO0FBQUEsWUFFNENDLElBRjVDLGtCQUU0Q0EsSUFGNUM7QUFBQSxZQUVrREMsT0FGbEQsa0JBRWtEQSxPQUZsRDs7QUFJeEIsWUFBTUMsZ0JBQWdCLEVBQUVQLE1BQUYsRUFBTUMsWUFBTixFQUFhQyxrQkFBYixFQUF1QkMsWUFBdkIsRUFBOEJDLG9CQUE5QixFQUF5Q0MsVUFBekMsRUFBK0NDLGdCQUEvQyxFQUF0QjtBQUNBLGVBQ0U7QUFBQTtBQUFrQkMsdUJBQWxCO0FBQ0ksMEJBQU1DLFlBQU4sQ0FBbUJiLE9BQW5CLEVBQTRCO0FBQzVCSyxrQkFENEIsRUFDeEJDLE9BQU9RLFNBRGlCLEVBQ05QLFVBQVVPLFNBREosRUFDZU4sT0FBT007QUFEdEIsV0FBNUI7QUFESixTQURGO0FBT0Q7QUFDRCxhQUFPZCxPQUFQO0FBQ0Q7Ozs2QkFFUTtBQUFBLG1CQUN5QyxLQUFLSSxLQUQ5QztBQUFBLFVBQ0NXLFNBREQsVUFDQ0EsU0FERDtBQUFBLFVBQ1liLElBRFosVUFDWUEsSUFEWjtBQUFBLFVBQ2tCYyxRQURsQixVQUNrQkEsUUFEbEI7QUFBQSxVQUMrQlosS0FEL0I7O0FBRVAsVUFBTWEsaUJBQWlCLDBCQUFXRixTQUFYLGtCQUFvQ2IsSUFBcEMsQ0FBdkI7QUFDQSxhQUNFO0FBQUE7QUFBQSxpQ0FBTSxXQUFZZSxjQUFsQixJQUF3Q2IsS0FBeEM7QUFDSSx3QkFBTWMsUUFBTixDQUFlQyxHQUFmLENBQW1CSCxRQUFuQixFQUE2QixLQUFLSSxpQkFBTCxDQUF1QkMsSUFBdkIsQ0FBNEIsSUFBNUIsQ0FBN0I7QUFESixPQURGO0FBS0Q7Ozs7O2tCQTNCa0J0QixJOzs7QUE4QnJCLElBQU11QixhQUFhLENBQUMsU0FBRCxFQUFZLFlBQVosRUFBMEIsUUFBMUIsRUFBb0MsVUFBcEMsQ0FBbkI7O0FBRUF2QixLQUFLd0IsU0FBTCxHQUFpQjtBQUNmUixhQUFXLG9CQUFVUyxNQUROO0FBRWZ0QixRQUFNLG9CQUFVdUIsS0FBVixDQUFnQkgsVUFBaEIsQ0FGUztBQUdmTixZQUFVLG9CQUFVVTtBQUhMLENBQWpCOztBQU1BM0IsS0FBSzRCLFlBQUwsR0FBb0I7QUFDbEJ6QixRQUFNO0FBRFksQ0FBcEIiLCJmaWxlIjoiRm9ybS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB1dWlkIGZyb20gJ3V1aWQnO1xuaW1wb3J0IEZvcm1FbGVtZW50IGZyb20gJy4vRm9ybUVsZW1lbnQnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGb3JtIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcmVuZGVyRm9ybUVsZW1lbnQoZWxlbWVudCkge1xuICAgIGNvbnN0IGtsYXNzID0gZWxlbWVudC50eXBlO1xuICAgIGlmICgha2xhc3MuaXNGb3JtRWxlbWVudCkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBpZCA9IGBmb3JtLWVsZW1lbnQtJHt1dWlkKCl9YCwgbGFiZWwsIHJlcXVpcmVkLCBlcnJvciwgdG90YWxDb2xzLCBjb2xzLCB0b29sdGlwLFxuICAgICAgfSA9IGVsZW1lbnQucHJvcHM7XG4gICAgICBjb25zdCBmb3JtRWxlbVByb3BzID0geyBpZCwgbGFiZWwsIHJlcXVpcmVkLCBlcnJvciwgdG90YWxDb2xzLCBjb2xzLCB0b29sdGlwIH07XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8Rm9ybUVsZW1lbnQgeyAuLi5mb3JtRWxlbVByb3BzIH0+XG4gICAgICAgICAgeyBSZWFjdC5jbG9uZUVsZW1lbnQoZWxlbWVudCwge1xuICAgICAgICAgICAgaWQsIGxhYmVsOiB1bmRlZmluZWQsIHJlcXVpcmVkOiB1bmRlZmluZWQsIGVycm9yOiB1bmRlZmluZWQsXG4gICAgICAgICAgfSkgfVxuICAgICAgICA8L0Zvcm1FbGVtZW50PlxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUsIHR5cGUsIGNoaWxkcmVuLCAuLi5wcm9wcyB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBmb3JtQ2xhc3NOYW1lcyA9IGNsYXNzbmFtZXMoY2xhc3NOYW1lLCBgc2xkcy1mb3JtLS0ke3R5cGV9YCk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxmb3JtIGNsYXNzTmFtZT17IGZvcm1DbGFzc05hbWVzIH0geyAuLi5wcm9wcyB9PlxuICAgICAgICB7IFJlYWN0LkNoaWxkcmVuLm1hcChjaGlsZHJlbiwgdGhpcy5yZW5kZXJGb3JtRWxlbWVudC5iaW5kKHRoaXMpKSB9XG4gICAgICA8L2Zvcm0+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBGT1JNX1RZUEVTID0gWydzdGFja2VkJywgJ2hvcml6b250YWwnLCAnaW5saW5lJywgJ2NvbXBvdW5kJ107XG5cbkZvcm0ucHJvcFR5cGVzID0ge1xuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHR5cGU6IFByb3BUeXBlcy5vbmVPZihGT1JNX1RZUEVTKSxcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxufTtcblxuRm9ybS5kZWZhdWx0UHJvcHMgPSB7XG4gIHR5cGU6ICdzdGFja2VkJyxcbn07XG4iXX0=