| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | import Text from './text';import Parchment from 'parchment';class Inline extends Parchment.Inline {  static compare(self, other) {    let selfIndex = Inline.order.indexOf(self);    let otherIndex = Inline.order.indexOf(other);    if (selfIndex >= 0 || otherIndex >= 0) {      return selfIndex - otherIndex;    } else if (self === other) {      return 0;    } else if (self < other) {      return -1;    } else {      return 1;    }  }  formatAt(index, length, name, value) {    if (Inline.compare(this.statics.blotName, name) < 0 && Parchment.query(name, Parchment.Scope.BLOT)) {      let blot = this.isolate(index, length);      if (value) {        blot.wrap(name, value);      }    } else {      super.formatAt(index, length, name, value);    }  }  optimize(context) {    super.optimize(context);    if (this.parent instanceof Inline &&        Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {      let parent = this.parent.isolate(this.offset(), this.length());      this.moveChildren(parent);      parent.wrap(this);    }  }}Inline.allowedChildren = [Inline, Parchment.Embed, Text];// Lower index means deeper in the DOM tree, since not found (-1) is for embedsInline.order = [  'cursor', 'inline',   // Must be lower  'underline', 'strike', 'italic', 'bold', 'script',  'link', 'code'        // Must be higher];export default Inline;
 |