1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
import { Node, mergeAttributes, nodeInputRule } from '@tiptap/core';
export default Node.create({
name: 'wordBreak',
inline: true,
group: 'inline',
selectable: false,
atom: true,
defaultOptions: {
HTMLAttributes: {
class: 'gl-display-inline-flex gl-px-1 gl-bg-blue-100 gl-rounded-base gl-font-sm',
},
},
parseHTML() {
return [{ tag: 'wbr' }];
},
renderHTML({ HTMLAttributes }) {
return ['span', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), '-'];
},
addInputRules() {
const inputRegex = /^<wbr>$/;
return [nodeInputRule({ find: inputRegex, type: this.type })];
},
});
|