@edtr-io/plugin-text
Version:
65 lines (53 loc) • 1.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isValueEmpty = isValueEmpty;
exports.createTextPlugin = exports.textState = exports.defaultNode = void 0;
var _editor = require("./editor");
var _core = require("@edtr-io/core");
var _slate = require("slate");
var _editorUi = require("@edtr-io/editor-ui");
var defaultNode = 'paragraph';
exports.defaultNode = defaultNode;
var textState = _core.StateType.scalar({
document: {
nodes: [{
object: 'block',
type: defaultNode,
nodes: [{
object: 'text',
leaves: [{
object: 'leaf',
text: ''
}]
}]
}]
}
});
exports.textState = textState;
var createTextPlugin = function createTextPlugin(options) {
return {
Component: (0, _editor.createTextEditor)(options),
state: textState,
icon: (0, _editorUi.createIcon)(_editorUi.faParagraph),
title: 'Text',
description: 'Schreibe Text und Matheformeln und formatiere sie.',
onKeyDown: function onKeyDown(e) {
if (e.key === 'Backspace' || e.key === 'Delete') {
// let editor handle backspace and delete
// this will remove the plugin if its empty
return true;
}
return false;
},
isEmpty: function isEmpty(state) {
return isValueEmpty(_slate.Value.fromJSON(state));
}
};
};
exports.createTextPlugin = createTextPlugin;
function isValueEmpty(value) {
return value.document.text === '' && value.document.nodes.size === 1 && value.document.getTexts().size === 1;
}
//# sourceMappingURL=index.js.map