Files
archived-linsa/web/components/minimal-tiptap/extensions/selection/selection.ts
Aslam 711fe35e1a feat: feedback (#156)
* minimal tiptap

* wip

* img edit block

* wip

* fix
2024-09-10 13:58:58 +03:00

37 lines
833 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