UNPKG

wix-style-react

Version:
62 lines (60 loc) 1.99 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _TouchBackend = _interopRequireDefault(require("./TouchBackend")); var _reactDnd = require("react-dnd"); var _jsxFileName = "/home/builduser/work/a9c1ac8876d5057c/packages/wix-style-react/dist/cjs/DragDropContextProvider/DragDropContextProvider.js"; var defaultManager; function getDefaultManager(backend) { if (!defaultManager) { defaultManager = (0, _reactDnd.createDndContext)(backend, {}, { enableMouseEvents: true }).dragDropManager; } return defaultManager; } // https://github.com/react-dnd/react-dnd/issues/186#issuecomment-110333064 class DragDropContextProvider extends _react.default.Component { // we add `manager` to instance to allow to manipulate d&d in tests getManager() { return this.context.dragDropManager || getDefaultManager(this.props.backend); } getChildContext() { return { dragDropManager: this.getManager() }; } render() { var { backend, children } = this.props; return /*#__PURE__*/_react.default.createElement(_reactDnd.DndProvider, { manager: this.getManager(backend), __self: this, __source: { fileName: _jsxFileName, lineNumber: 57, columnNumber: 7 } }, children); } } DragDropContextProvider.propTypes = { children: _propTypes.default.node, backend: _propTypes.default.func }; DragDropContextProvider.defaultProps = { backend: _TouchBackend.default }; DragDropContextProvider.contextTypes = { dragDropManager: _propTypes.default.object }; DragDropContextProvider.childContextTypes = { dragDropManager: _propTypes.default.object }; var _default = exports.default = DragDropContextProvider; //# sourceMappingURL=DragDropContextProvider.js.map