Files
docmost/packages/editor-ext/src/lib/selection.ts
Philipinho fde6c9a2e3 Editor link components
* other minor fixes
2024-06-24 20:39:12 +01:00

37 lines
849 B
TypeScript

import { Extension } from "@tiptap/core";
import { Plugin, PluginKey } from "@tiptap/pm/state";
import { Decoration, DecorationSet } from "@tiptap/pm/view";
export const Selection = Extension.create({
name: "selection",
addProseMirrorPlugins() {
const { editor } = this;
return [
new Plugin({
key: new PluginKey("selection"),
props: {
decorations(state) {
if (state.selection.empty) {
return null;
}
if (editor.isFocused === true) {
return null;
}
return DecorationSet.create(state.doc, [
Decoration.inline(state.selection.from, state.selection.to, {
class: "selection",
}),
]);
},
},
}),
];
},
});
export default Selection;