UNPKG

@6thquake/react-material

Version:

React components that implement Google's Material Design.

91 lines (66 loc) 3.06 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); function withForm(WrappedComponent, OriginComponent) { var FormComponent = /*#__PURE__*/ function (_Component) { (0, _inherits2.default)(FormComponent, _Component); function FormComponent() { var _getPrototypeOf2; var _this; (0, _classCallCheck2.default)(this, FormComponent); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(FormComponent)).call.apply(_getPrototypeOf2, [this].concat(args))); _this.isForm = function () { return !!_this.context.formsy; }; return _this; } (0, _createClass2.default)(FormComponent, [{ key: "render", value: function render() { var _this$props = this.props, forwardedRef = _this$props.forwardedRef, rest = (0, _objectWithoutProperties2.default)(_this$props, ["forwardedRef"]); var isForm = this.isForm(); if (isForm) { return _react.default.createElement(WrappedComponent, (0, _extends2.default)({}, rest, { ref: forwardedRef })); } return _react.default.createElement(OriginComponent, (0, _extends2.default)({}, rest, { ref: forwardedRef })); } }]); return FormComponent; }(_react.Component); var name = OriginComponent.displayName || OriginComponent.name || (typeof OriginComponent === 'string' ? OriginComponent : 'Component'); FormComponent.displayName = "formHOC-".concat(name); FormComponent.contextTypes = { formsy: _propTypes.default.object }; return _react.default.forwardRef(function (props, ref) { return _react.default.createElement(FormComponent, (0, _extends2.default)({}, props, { forwardedRef: ref })); }); } var _default = withForm; exports.default = _default;