All files / app/assets/javascripts/content_editor/extensions word_break.js

100% Statements 5/5
100% Branches 0/0
100% Functions 4/4
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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 30 31 32                    186x               92x       5x       92x   92x      
import { Node, mergeAttributes, nodeInputRule } from '@tiptap/core';
 
export default Node.create({
  name: 'wordBreak',
  inline: true,
  group: 'inline',
  selectable: false,
  atom: true,
 
  addOptions() {
    return {
      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 })];
  },
});