UNPKG

@6thquake/react-material

Version:

React components that implement Google's Material Design.

144 lines (111 loc) 5.19 kB
"use strict"; 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 _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 = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _dndCore = require("dnd-core"); var _invariant = _interopRequireDefault(require("invariant")); var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics")); var _reactDndHtml5Backend = _interopRequireDefault(require("react-dnd-html5-backend")); /** * @ignore - do not document. */ function checkDecoratorArguments(functionName, signature) { if (process.env.NODE_ENV !== 'production') { for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { args[_key - 2] = arguments[_key]; } for (var _i = 0, _args = args; _i < _args.length; _i++) { var arg = _args[_i]; if (arg && arg.prototype && arg.prototype.render) { // tslint:disable-next-line no-console console.error('You seem to be applying the arguments in the wrong order. ' + "It should be ".concat(functionName, "(").concat(signature, ")(Component), not the other way around. ") + 'Read more: http://react-dnd.github.io/react-dnd/docs-troubleshooting.html#you-seem-to-be-applying-the-arguments-in-the-wrong-order'); return; } } } } var CHILD_CONTEXT_TYPES = { dragDropManager: _propTypes.default.object.isRequired }; var defaultManager; function createChildContext(backend, context) { if (!defaultManager) { defaultManager = (0, _dndCore.createDragDropManager)(backend || _reactDndHtml5Backend.default, context); } return { dragDropManager: defaultManager }; } function DragDropContext(backendFactory, context) { checkDecoratorArguments('DragDropContext', 'backend', backendFactory); // eslint-disable-line prefer-rest-params var childContext = createChildContext(backendFactory, context); return function decorateContext(DecoratedComponent) { var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component'; var DragDropContextContainer = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(DragDropContextContainer, _React$Component); function DragDropContextContainer() { var _getPrototypeOf2; var _this; (0, _classCallCheck2.default)(this, DragDropContextContainer); for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } _this = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(DragDropContextContainer)).call.apply(_getPrototypeOf2, [this].concat(args))); _this.child = null; return _this; } (0, _createClass2.default)(DragDropContextContainer, [{ key: "getChildContext", value: function getChildContext() { return childContext; } }, { key: "getDecoratedComponentInstance", value: function getDecoratedComponentInstance() { (0, _invariant.default)(this.child, 'In order to access an instance of the decorated component it can not be a stateless component.'); return this.child; } }, { key: "getManager", value: function getManager() { return childContext.dragDropManager; } }, { key: "render", value: function render() { var _this2 = this; return _react.default.createElement(DecoratedComponent, (0, _extends2.default)({}, this.props, { ref: function ref(child) { return _this2.child = child; } })); } }]); return DragDropContextContainer; }(_react.default.Component); DragDropContextContainer.DecoratedComponent = DecoratedComponent; DragDropContextContainer.displayName = "DragDropContext(".concat(displayName, ")"); DragDropContextContainer.childContextTypes = CHILD_CONTEXT_TYPES; return (0, _hoistNonReactStatics.default)(DragDropContextContainer, DecoratedComponent); }; } var withDragAndDrop = function withDragAndDrop() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return function (Component) { return DragDropContext(options.backend || _reactDndHtml5Backend.default)(Component); }; }; var _default = withDragAndDrop; exports.default = _default;