@uiw/react-codemirror
Version:
CodeMirror component for React.
151 lines (132 loc) • 4.91 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _exportNames = {};
exports.default = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireWildcard(require("react"));
var _useCodeMirror2 = require("./useCodeMirror");
Object.keys(_useCodeMirror2).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _useCodeMirror2[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _useCodeMirror2[key];
}
});
});
var _jsxRuntime = require("react/jsx-runtime");
var _view = require("@codemirror/view");
Object.keys(_view).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _view[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _view[key];
}
});
});
var _basicSetup = require("@codemirror/basic-setup");
Object.keys(_basicSetup).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _basicSetup[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _basicSetup[key];
}
});
});
var _state = require("@codemirror/state");
Object.keys(_state).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _state[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _state[key];
}
});
});
var _excluded = ["className", "value", "selection", "extensions", "onChange", "onUpdate", "autoFocus", "theme", "height", "minHeight", "maxHeight", "width", "minWidth", "maxWidth", "basicSetup", "placeholder", "indentWithTab", "editable"];
var ReactCodeMirror = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
var className = props.className,
value = props.value,
selection = props.selection,
_props$extensions = props.extensions,
extensions = _props$extensions === void 0 ? [] : _props$extensions,
onChange = props.onChange,
onUpdate = props.onUpdate,
autoFocus = props.autoFocus,
_props$theme = props.theme,
theme = _props$theme === void 0 ? 'light' : _props$theme,
height = props.height,
minHeight = props.minHeight,
maxHeight = props.maxHeight,
width = props.width,
minWidth = props.minWidth,
maxWidth = props.maxWidth,
basicSetup = props.basicSetup,
placeholder = props.placeholder,
indentWithTab = props.indentWithTab,
editable = props.editable,
other = (0, _objectWithoutProperties2.default)(props, _excluded);
var editor = (0, _react.useRef)(null);
var _useCodeMirror = (0, _useCodeMirror2.useCodeMirror)({
container: editor.current,
value: value,
autoFocus: autoFocus,
theme: theme,
height: height,
minHeight: minHeight,
maxHeight: maxHeight,
width: width,
minWidth: minWidth,
maxWidth: maxWidth,
basicSetup: basicSetup,
placeholder: placeholder,
indentWithTab: indentWithTab,
editable: editable,
selection: selection,
onChange: onChange,
onUpdate: onUpdate,
extensions: extensions
}),
state = _useCodeMirror.state,
view = _useCodeMirror.view,
container = _useCodeMirror.container,
setContainer = _useCodeMirror.setContainer;
(0, _react.useImperativeHandle)(ref, function () {
return {
editor: container,
state: state,
view: view
};
});
(0, _react.useEffect)(function () {
setContainer(editor.current);
return function () {
if (view) {
view.destroy();
}
}; // eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", (0, _objectSpread2.default)({
ref: editor,
className: "cm-theme-".concat(theme).concat(className ? " ".concat(className) : '')
}, other));
});
ReactCodeMirror.displayName = 'CodeMirror';
var _default = ReactCodeMirror;
exports.default = _default;
//# sourceMappingURL=index.js.map