slate-angular 15.1.0-next.2 → 15.1.0-next.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,10 +13,10 @@ export class SlateLeavesComponent extends ViewContainer {
13
13
  }
14
14
  ngOnInit() {
15
15
  this.leaves = Text.decorations(this.context.text, this.context.decorations);
16
- this.leafContexts = this.getLeafCotexts();
16
+ this.leafContexts = this.getLeafContexts();
17
17
  this.initialized = true;
18
18
  }
19
- getLeafCotexts() {
19
+ getLeafContexts() {
20
20
  return this.leaves.map((leaf, index) => {
21
21
  return {
22
22
  leaf,
@@ -37,7 +37,7 @@ export class SlateLeavesComponent extends ViewContainer {
37
37
  if (previousValue.text !== currentValue.text || !isDecoratorRangeListEqual(previousValue.decorations, currentValue.decorations)) {
38
38
  this.leaves = Text.decorations(this.context.text, this.context.decorations);
39
39
  }
40
- this.leafContexts = this.getLeafCotexts();
40
+ this.leafContexts = this.getLeafContexts();
41
41
  }
42
42
  trackBy(index, item) {
43
43
  return index;
@@ -68,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
68
68
  type: ViewChildren,
69
69
  args: [SlateLeafComponent, { read: SlateLeafComponent }]
70
70
  }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL2xlYXZlcy9sZWF2ZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFLTCxZQUFZLEVBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUU3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFZbkUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGFBQWlDO0lBVjNFOztRQVdJLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0tBMkN2QjtJQWxDRyxRQUFRO1FBQ0osSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ25DLE9BQU87Z0JBQ0gsSUFBSTtnQkFDSixJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJO2dCQUN2QixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2dCQUMzQixLQUFLO2dCQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQzthQUNsRSxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLGFBQTRCO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ25CLE9BQU87U0FDVjtRQUNELE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxNQUFNLGFBQWEsR0FBcUIsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUM5RCxNQUFNLFlBQVksR0FBcUIsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUM1RCxJQUFJLGFBQWEsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQzdILElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQy9FO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSTtRQUNmLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7O2lIQTNDUSxvQkFBb0I7cUdBQXBCLG9CQUFvQiwwSEFPZixrQkFBa0IsMkJBQVUsa0JBQWtCLHlFQWZsRDs7Ozs7bUJBS0s7MkZBR04sb0JBQW9CO2tCQVZoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUU7Ozs7O21CQUtLO29CQUNmLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs4QkFNWSxPQUFPO3NCQUFmLEtBQUs7Z0JBR04saUJBQWlCO3NCQURoQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZHJlblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRleHQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBTbGF0ZUxlYWZDb250ZXh0LCBTbGF0ZVRleHRDb250ZXh0LCBTbGF0ZVZpZXdDb250ZXh0IH0gZnJvbSAnLi4vLi4vdmlldy9jb250ZXh0JztcbmltcG9ydCB7IFZpZXdDb250YWluZXIgfSBmcm9tICcuLi8uLi92aWV3L2NvbnRhaW5lcic7XG5pbXBvcnQgeyBTbGF0ZUxlYWZDb21wb25lbnQgfSBmcm9tICcuLi9sZWFmL2xlYWYuY29tcG9uZW50JztcbmltcG9ydCB7IGlzRGVjb3JhdG9yUmFuZ2VMaXN0RXF1YWwgfSBmcm9tICcuLi8uLi91dGlscy9yYW5nZS1saXN0JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzbGF0ZS1sZWF2ZXMnLFxuICAgIHRlbXBsYXRlOiBgPHNsYXRlLWxlYWZcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgIFt2aWV3Q29udGV4dF09XCJ2aWV3Q29udGV4dFwiXG4gICAgICAgIFt2aWV3Q29udGV4dF09XCJ2aWV3Q29udGV4dFwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBjb250ZXh0IG9mIGxlYWZDb250ZXh0czsgdHJhY2tCeTogdHJhY2tCeVwiXG4gICAgPjwvc2xhdGUtbGVhZj5gLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNsYXRlTGVhdmVzQ29tcG9uZW50IGV4dGVuZHMgVmlld0NvbnRhaW5lcjxTbGF0ZUxlYWZDb21wb25lbnQ+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICAgIGluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgbGVhZkNvbnRleHRzOiBTbGF0ZUxlYWZDb250ZXh0W107XG4gICAgbGVhdmVzOiBUZXh0W107XG5cbiAgICBASW5wdXQoKSBjb250ZXh0OiBTbGF0ZVRleHRDb250ZXh0O1xuXG4gICAgQFZpZXdDaGlsZHJlbihTbGF0ZUxlYWZDb21wb25lbnQsIHsgcmVhZDogU2xhdGVMZWFmQ29tcG9uZW50IH0pXG4gICAgY2hpbGRyZW5Db21wb25lbnQ6IFF1ZXJ5TGlzdDxTbGF0ZUxlYWZDb21wb25lbnQ+O1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMubGVhdmVzID0gVGV4dC5kZWNvcmF0aW9ucyh0aGlzLmNvbnRleHQudGV4dCwgdGhpcy5jb250ZXh0LmRlY29yYXRpb25zKTtcbiAgICAgICAgdGhpcy5sZWFmQ29udGV4dHMgPSB0aGlzLmdldExlYWZDb3RleHRzKCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGdldExlYWZDb3RleHRzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sZWF2ZXMubWFwKChsZWFmLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBsZWFmLFxuICAgICAgICAgICAgICAgIHRleHQ6IHRoaXMuY29udGV4dC50ZXh0LFxuICAgICAgICAgICAgICAgIHBhcmVudDogdGhpcy5jb250ZXh0LnBhcmVudCxcbiAgICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgICAgICBpc0xhc3Q6IHRoaXMuY29udGV4dC5pc0xhc3QgJiYgaW5kZXggPT09IHRoaXMubGVhdmVzLmxlbmd0aCAtIDFcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKHNpbXBsZUNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKCF0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29udGV4dCA9IHNpbXBsZUNoYW5nZXNbJ2NvbnRleHQnXTtcbiAgICAgICAgY29uc3QgcHJldmlvdXNWYWx1ZTogU2xhdGVUZXh0Q29udGV4dCA9IGNvbnRleHQucHJldmlvdXNWYWx1ZTtcbiAgICAgICAgY29uc3QgY3VycmVudFZhbHVlOiBTbGF0ZVRleHRDb250ZXh0ID0gY29udGV4dC5jdXJyZW50VmFsdWU7XG4gICAgICAgIGlmIChwcmV2aW91c1ZhbHVlLnRleHQgIT09IGN1cnJlbnRWYWx1ZS50ZXh0IHx8ICFpc0RlY29yYXRvclJhbmdlTGlzdEVxdWFsKHByZXZpb3VzVmFsdWUuZGVjb3JhdGlvbnMsIGN1cnJlbnRWYWx1ZS5kZWNvcmF0aW9ucykpIHtcbiAgICAgICAgICAgIHRoaXMubGVhdmVzID0gVGV4dC5kZWNvcmF0aW9ucyh0aGlzLmNvbnRleHQudGV4dCwgdGhpcy5jb250ZXh0LmRlY29yYXRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxlYWZDb250ZXh0cyA9IHRoaXMuZ2V0TGVhZkNvdGV4dHMoKTtcbiAgICB9XG5cbiAgICB0cmFja0J5KGluZGV4LCBpdGVtKSB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG59XG4iXX0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL2xlYXZlcy9sZWF2ZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFLTCxZQUFZLEVBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUU3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFZbkUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGFBQWlDO0lBVjNFOztRQVdJLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0tBMkN2QjtJQWxDRyxRQUFRO1FBQ0osSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ25DLE9BQU87Z0JBQ0gsSUFBSTtnQkFDSixJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJO2dCQUN2QixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2dCQUMzQixLQUFLO2dCQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQzthQUNsRSxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLGFBQTRCO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ25CLE9BQU87U0FDVjtRQUNELE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxNQUFNLGFBQWEsR0FBcUIsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUM5RCxNQUFNLFlBQVksR0FBcUIsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUM1RCxJQUFJLGFBQWEsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQzdILElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQy9FO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSTtRQUNmLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7O2lIQTNDUSxvQkFBb0I7cUdBQXBCLG9CQUFvQiwwSEFPZixrQkFBa0IsMkJBQVUsa0JBQWtCLHlFQWZsRDs7Ozs7bUJBS0s7MkZBR04sb0JBQW9CO2tCQVZoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUU7Ozs7O21CQUtLO29CQUNmLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs4QkFNWSxPQUFPO3NCQUFmLEtBQUs7Z0JBR04saUJBQWlCO3NCQURoQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZHJlblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRleHQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBTbGF0ZUxlYWZDb250ZXh0LCBTbGF0ZVRleHRDb250ZXh0LCBTbGF0ZVZpZXdDb250ZXh0IH0gZnJvbSAnLi4vLi4vdmlldy9jb250ZXh0JztcbmltcG9ydCB7IFZpZXdDb250YWluZXIgfSBmcm9tICcuLi8uLi92aWV3L2NvbnRhaW5lcic7XG5pbXBvcnQgeyBTbGF0ZUxlYWZDb21wb25lbnQgfSBmcm9tICcuLi9sZWFmL2xlYWYuY29tcG9uZW50JztcbmltcG9ydCB7IGlzRGVjb3JhdG9yUmFuZ2VMaXN0RXF1YWwgfSBmcm9tICcuLi8uLi91dGlscy9yYW5nZS1saXN0JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzbGF0ZS1sZWF2ZXMnLFxuICAgIHRlbXBsYXRlOiBgPHNsYXRlLWxlYWZcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgIFt2aWV3Q29udGV4dF09XCJ2aWV3Q29udGV4dFwiXG4gICAgICAgIFt2aWV3Q29udGV4dF09XCJ2aWV3Q29udGV4dFwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBjb250ZXh0IG9mIGxlYWZDb250ZXh0czsgdHJhY2tCeTogdHJhY2tCeVwiXG4gICAgPjwvc2xhdGUtbGVhZj5gLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNsYXRlTGVhdmVzQ29tcG9uZW50IGV4dGVuZHMgVmlld0NvbnRhaW5lcjxTbGF0ZUxlYWZDb21wb25lbnQ+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICAgIGluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgbGVhZkNvbnRleHRzOiBTbGF0ZUxlYWZDb250ZXh0W107XG4gICAgbGVhdmVzOiBUZXh0W107XG5cbiAgICBASW5wdXQoKSBjb250ZXh0OiBTbGF0ZVRleHRDb250ZXh0O1xuXG4gICAgQFZpZXdDaGlsZHJlbihTbGF0ZUxlYWZDb21wb25lbnQsIHsgcmVhZDogU2xhdGVMZWFmQ29tcG9uZW50IH0pXG4gICAgY2hpbGRyZW5Db21wb25lbnQ6IFF1ZXJ5TGlzdDxTbGF0ZUxlYWZDb21wb25lbnQ+O1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMubGVhdmVzID0gVGV4dC5kZWNvcmF0aW9ucyh0aGlzLmNvbnRleHQudGV4dCwgdGhpcy5jb250ZXh0LmRlY29yYXRpb25zKTtcbiAgICAgICAgdGhpcy5sZWFmQ29udGV4dHMgPSB0aGlzLmdldExlYWZDb250ZXh0cygpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBnZXRMZWFmQ29udGV4dHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxlYXZlcy5tYXAoKGxlYWYsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGxlYWYsXG4gICAgICAgICAgICAgICAgdGV4dDogdGhpcy5jb250ZXh0LnRleHQsXG4gICAgICAgICAgICAgICAgcGFyZW50OiB0aGlzLmNvbnRleHQucGFyZW50LFxuICAgICAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgICAgIGlzTGFzdDogdGhpcy5jb250ZXh0LmlzTGFzdCAmJiBpbmRleCA9PT0gdGhpcy5sZWF2ZXMubGVuZ3RoIC0gMVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoc2ltcGxlQ2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoIXRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb250ZXh0ID0gc2ltcGxlQ2hhbmdlc1snY29udGV4dCddO1xuICAgICAgICBjb25zdCBwcmV2aW91c1ZhbHVlOiBTbGF0ZVRleHRDb250ZXh0ID0gY29udGV4dC5wcmV2aW91c1ZhbHVlO1xuICAgICAgICBjb25zdCBjdXJyZW50VmFsdWU6IFNsYXRlVGV4dENvbnRleHQgPSBjb250ZXh0LmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgaWYgKHByZXZpb3VzVmFsdWUudGV4dCAhPT0gY3VycmVudFZhbHVlLnRleHQgfHwgIWlzRGVjb3JhdG9yUmFuZ2VMaXN0RXF1YWwocHJldmlvdXNWYWx1ZS5kZWNvcmF0aW9ucywgY3VycmVudFZhbHVlLmRlY29yYXRpb25zKSkge1xuICAgICAgICAgICAgdGhpcy5sZWF2ZXMgPSBUZXh0LmRlY29yYXRpb25zKHRoaXMuY29udGV4dC50ZXh0LCB0aGlzLmNvbnRleHQuZGVjb3JhdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubGVhZkNvbnRleHRzID0gdGhpcy5nZXRMZWFmQ29udGV4dHMoKTtcbiAgICB9XG5cbiAgICB0cmFja0J5KGluZGV4LCBpdGVtKSB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG59XG4iXX0=
@@ -7,15 +7,63 @@ export class SlateDefaultStringComponent extends BaseComponent {
7
7
  this.elementRef = elementRef;
8
8
  this.cdr = cdr;
9
9
  }
10
+ beforeContextChange(value) {
11
+ if (this.context) {
12
+ if (this.context.type === 'lineBreakEmptyString') {
13
+ if (value.type === 'string') {
14
+ this.removeLineBreakEmptyStringDOM();
15
+ }
16
+ else {
17
+ this.textNode?.remove();
18
+ this.brNode?.remove();
19
+ }
20
+ }
21
+ if (this.context.type === 'string') {
22
+ if (value.type === 'lineBreakEmptyString') {
23
+ this.removeStringDOM();
24
+ }
25
+ }
26
+ }
27
+ }
10
28
  onContextChange() {
29
+ if (this.context.type === 'string') {
30
+ this.createStringDOM();
31
+ }
32
+ else if (this.context.type === 'lineBreakEmptyString') {
33
+ this.createLineBreakEmptyStringDOM();
34
+ }
35
+ }
36
+ createLineBreakEmptyStringDOM() {
37
+ this.nativeElement.setAttribute('data-slate-zero-width', 'n');
38
+ this.nativeElement.setAttribute('data-slate-length', `${this.context.elementStringLength}`);
39
+ this.textNode = document.createTextNode(`\uFEFF`);
40
+ this.brNode = document.createElement('br');
41
+ this.nativeElement.append(this.textNode, this.brNode);
42
+ }
43
+ removeLineBreakEmptyStringDOM() {
44
+ this.brNode?.remove();
45
+ // remove zero width character
46
+ const zeroWidthCharacterIndex = this.textNode?.textContent.indexOf(`\uFEFF`);
47
+ this.textNode?.deleteData(zeroWidthCharacterIndex, 1);
48
+ this.nativeElement.removeAttribute('data-slate-zero-width');
49
+ this.nativeElement.removeAttribute('data-slate-length');
50
+ }
51
+ createStringDOM() {
52
+ this.nativeElement.setAttribute('data-slate-string', 'true');
53
+ this.updateStringDOM();
54
+ }
55
+ updateStringDOM() {
11
56
  // Avoid breaking some browser default behaviors, such as spellCheck, android composition input state
12
57
  if (this.nativeElement.textContent !== this.context.text) {
13
58
  this.nativeElement.textContent = this.context.text;
14
59
  }
15
60
  }
61
+ removeStringDOM() {
62
+ this.nativeElement.removeAttribute('data-slate-string');
63
+ this.nativeElement.textContent = '';
64
+ }
16
65
  ngOnInit() {
17
66
  this.nativeElement.setAttribute('editable-text', '');
18
- this.nativeElement.setAttribute('data-slate-string', 'true');
19
67
  }
20
68
  }
21
69
  SlateDefaultStringComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SlateDefaultStringComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
@@ -28,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
28
76
  changeDetection: ChangeDetectionStrategy.OnPush
29
77
  }]
30
78
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zdHJpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvc3RyaW5nL2RlZmF1bHQtc3RyaW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLHVCQUF1QixFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUUxRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBT2hELE1BQU0sT0FBTywyQkFBNEIsU0FBUSxhQUFpQztJQUM5RSxZQUFtQixVQUEyQixFQUFTLEdBQXNCO1FBQ3pFLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFEUixlQUFVLEdBQVYsVUFBVSxDQUFpQjtRQUFTLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBRTdFLENBQUM7SUFFRCxlQUFlO1FBQ1gscUdBQXFHO1FBQ3JHLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDdEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7U0FDdEQ7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNqRSxDQUFDOzt3SEFmUSwyQkFBMkI7NEdBQTNCLDJCQUEyQix1RkFIMUIsRUFBRTsyRkFHSCwyQkFBMkI7a0JBTHZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBFbGVtZW50UmVmLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2xhdGVTdHJpbmdDb250ZXh0IH0gZnJvbSAnLi4vLi4vdmlldy9jb250ZXh0JztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi92aWV3L2Jhc2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NwYW5bc2xhdGVEZWZhdWx0U3RyaW5nXScsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNsYXRlRGVmYXVsdFN0cmluZ0NvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQ8U2xhdGVTdHJpbmdDb250ZXh0PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8YW55PiwgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcbiAgICB9XG5cbiAgICBvbkNvbnRleHRDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIC8vIEF2b2lkIGJyZWFraW5nIHNvbWUgYnJvd3NlciBkZWZhdWx0IGJlaGF2aW9ycywgc3VjaCBhcyBzcGVsbENoZWNrLCBhbmRyb2lkIGNvbXBvc2l0aW9uIGlucHV0IHN0YXRlXG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQgIT09IHRoaXMuY29udGV4dC50ZXh0KSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlzLmNvbnRleHQudGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdlZGl0YWJsZS10ZXh0JywgJycpO1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLXNsYXRlLXN0cmluZycsICd0cnVlJyk7XG4gICAgfVxufVxuIl19
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zdHJpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvc3RyaW5nL2RlZmF1bHQtc3RyaW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLHVCQUF1QixFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUUxRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBU2hELE1BQU0sT0FBTywyQkFDVCxTQUFRLGFBQWlDO0lBTXpDLFlBQW1CLFVBQTJCLEVBQVMsR0FBc0I7UUFDekUsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQURSLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBQVMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFFN0UsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQXlCO1FBQ3pDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssc0JBQXNCLEVBQUU7Z0JBQzlDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO2lCQUN4QztxQkFBTTtvQkFDSCxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO29CQUN4QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO2lCQUN6QjthQUNKO1lBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQ2hDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxzQkFBc0IsRUFBRTtvQkFDdkMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2lCQUMxQjthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUMxQjthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssc0JBQXNCLEVBQUU7WUFDckQsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7U0FDeEM7SUFDTCxDQUFDO0lBRUQsNkJBQTZCO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUM7UUFDNUYsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsNkJBQTZCO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDdEIsOEJBQThCO1FBQzlCLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZUFBZTtRQUNYLHFHQUFxRztRQUNyRyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1NBQ3REO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDOzt3SEF6RVEsMkJBQTJCOzRHQUEzQiwyQkFBMkIsdUZBSDFCLEVBQUU7MkZBR0gsMkJBQTJCO2tCQUx2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgRWxlbWVudFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNsYXRlU3RyaW5nQ29udGV4dCB9IGZyb20gJy4uLy4uL3ZpZXcvY29udGV4dCc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9iYXNlJztcbmltcG9ydCB7IEJlZm9yZUNvbnRleHRDaGFuZ2UgfSBmcm9tICcuLi8uLi92aWV3L2JlZm9yZS1jb250ZXh0LWNoYW5nZSc7XG5pbXBvcnQgeyBET01FbGVtZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvZG9tJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzcGFuW3NsYXRlRGVmYXVsdFN0cmluZ10nLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTbGF0ZURlZmF1bHRTdHJpbmdDb21wb25lbnRcbiAgICBleHRlbmRzIEJhc2VDb21wb25lbnQ8U2xhdGVTdHJpbmdDb250ZXh0PlxuICAgIGltcGxlbWVudHMgT25Jbml0LCBCZWZvcmVDb250ZXh0Q2hhbmdlPFNsYXRlU3RyaW5nQ29udGV4dD5cbntcbiAgICB0ZXh0Tm9kZT86IFRleHQ7XG4gICAgYnJOb2RlPzogRE9NRWxlbWVudDtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPGFueT4sIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XG4gICAgfVxuXG4gICAgYmVmb3JlQ29udGV4dENoYW5nZSh2YWx1ZTogU2xhdGVTdHJpbmdDb250ZXh0KSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRleHQudHlwZSA9PT0gJ2xpbmVCcmVha0VtcHR5U3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZS50eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUxpbmVCcmVha0VtcHR5U3RyaW5nRE9NKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0Tm9kZT8ucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnJOb2RlPy5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5jb250ZXh0LnR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlLnR5cGUgPT09ICdsaW5lQnJlYWtFbXB0eVN0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVTdHJpbmdET00oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNvbnRleHRDaGFuZ2UoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQudHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlU3RyaW5nRE9NKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jb250ZXh0LnR5cGUgPT09ICdsaW5lQnJlYWtFbXB0eVN0cmluZycpIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlTGluZUJyZWFrRW1wdHlTdHJpbmdET00oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNyZWF0ZUxpbmVCcmVha0VtcHR5U3RyaW5nRE9NKCkge1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLXNsYXRlLXplcm8td2lkdGgnLCAnbicpO1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLXNsYXRlLWxlbmd0aCcsIGAke3RoaXMuY29udGV4dC5lbGVtZW50U3RyaW5nTGVuZ3RofWApO1xuICAgICAgICB0aGlzLnRleHROb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYFxcdUZFRkZgKTtcbiAgICAgICAgdGhpcy5ick5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdicicpO1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuYXBwZW5kKHRoaXMudGV4dE5vZGUsIHRoaXMuYnJOb2RlKTtcbiAgICB9XG5cbiAgICByZW1vdmVMaW5lQnJlYWtFbXB0eVN0cmluZ0RPTSgpIHtcbiAgICAgICAgdGhpcy5ick5vZGU/LnJlbW92ZSgpO1xuICAgICAgICAvLyByZW1vdmUgemVybyB3aWR0aCBjaGFyYWN0ZXJcbiAgICAgICAgY29uc3QgemVyb1dpZHRoQ2hhcmFjdGVySW5kZXggPSB0aGlzLnRleHROb2RlPy50ZXh0Q29udGVudC5pbmRleE9mKGBcXHVGRUZGYCk7XG4gICAgICAgIHRoaXMudGV4dE5vZGU/LmRlbGV0ZURhdGEoemVyb1dpZHRoQ2hhcmFjdGVySW5kZXgsIDEpO1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXNsYXRlLXplcm8td2lkdGgnKTtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1zbGF0ZS1sZW5ndGgnKTtcbiAgICB9XG5cbiAgICBjcmVhdGVTdHJpbmdET00oKSB7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2xhdGUtc3RyaW5nJywgJ3RydWUnKTtcbiAgICAgICAgdGhpcy51cGRhdGVTdHJpbmdET00oKTtcbiAgICB9XG5cbiAgICB1cGRhdGVTdHJpbmdET00oKSB7XG4gICAgICAgIC8vIEF2b2lkIGJyZWFraW5nIHNvbWUgYnJvd3NlciBkZWZhdWx0IGJlaGF2aW9ycywgc3VjaCBhcyBzcGVsbENoZWNrLCBhbmRyb2lkIGNvbXBvc2l0aW9uIGlucHV0IHN0YXRlXG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQgIT09IHRoaXMuY29udGV4dC50ZXh0KSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlzLmNvbnRleHQudGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZVN0cmluZ0RPTSgpIHtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1zbGF0ZS1zdHJpbmcnKTtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50ID0gJyc7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2VkaXRhYmxlLXRleHQnLCAnJyk7XG4gICAgfVxufVxuIl19
@@ -22,40 +22,60 @@ export class SlateStringComponent extends ViewContainerItem {
22
22
  ngAfterViewInit() {
23
23
  this.elementRef.nativeElement.remove();
24
24
  }
25
- getViewType() {
25
+ // COMPAT: If this is the last text node in an empty block, render a zero-
26
+ // width space that will convert into a line break when copying and pasting
27
+ // to support expected plain text.
28
+ isLineBreakEmptyString() {
26
29
  const path = AngularEditor.findPath(this.viewContext.editor, this.context.text);
27
30
  const parentPath = Path.parent(path);
28
- // COMPAT: Render text inside void nodes with a zero-width space.
29
- // So the node can contain selection but the text is not visible.
30
- if (this.viewContext.editor.isVoid(this.context.parent)) {
31
- return this.viewContext.templateComponent.emptyStringTemplate;
32
- }
33
- // COMPAT: If this is the last text node in an empty block, render a zero-
34
- // width space that will convert into a line break when copying and pasting
35
- // to support expected plain text.
36
- if (this.context.leaf.text === '' &&
31
+ return (this.context.leaf.text === '' &&
37
32
  this.context.parent.children[this.context.parent.children.length - 1] === this.context.text &&
38
33
  !this.viewContext.editor.isInline(this.context.parent) &&
39
- Editor.string(this.viewContext.editor, parentPath) === '') {
40
- return this.viewContext.templateComponent.lineBreakEmptyStringTemplate;
34
+ Editor.string(this.viewContext.editor, parentPath) === '');
35
+ }
36
+ // COMPAT: If the text is empty, it's because it's on the edge of an inline
37
+ // node, so we render a zero-width space so that the selection can be
38
+ // inserted next to it still.
39
+ isEmptyText() {
40
+ return this.context.leaf.text === '';
41
+ }
42
+ // COMPAT: Browsers will collapse trailing new lines at the end of blocks,
43
+ // so we need to add an extra trailing new lines to prevent that.
44
+ isCompatibleString() {
45
+ return this.context.isLast && this.context.leaf.text.slice(-1) === '\n';
46
+ }
47
+ // COMPAT: Render text inside void nodes with a zero-width space.
48
+ // So the node can contain selection but the text is not visible.
49
+ isVoid() {
50
+ return this.viewContext.editor.isVoid(this.context.parent);
51
+ }
52
+ getViewType() {
53
+ if (this.isVoid()) {
54
+ return this.viewContext.templateComponent.voidStringTemplate;
55
+ }
56
+ if (this.isLineBreakEmptyString()) {
57
+ return SlateDefaultStringComponent;
41
58
  }
42
- // COMPAT: If the text is empty, it's because it's on the edge of an inline
43
- // node, so we render a zero-width space so that the selection can be
44
- // inserted next to it still.
45
- if (this.context.leaf.text === '') {
59
+ if (this.isEmptyText()) {
46
60
  return this.viewContext.templateComponent.emptyTextTemplate;
47
61
  }
48
- // COMPAT: Browsers will collapse trailing new lines at the end of blocks,
49
- // so we need to add an extra trailing new lines to prevent that.
50
- if (this.context.isLast && this.context.leaf.text.slice(-1) === '\n') {
51
- return this.viewContext.templateComponent.compatStringTemplate;
62
+ if (this.isCompatibleString()) {
63
+ return this.viewContext.templateComponent.compatibleStringTemplate;
52
64
  }
53
65
  return SlateDefaultStringComponent;
54
66
  }
67
+ getType() {
68
+ if (this.isLineBreakEmptyString()) {
69
+ return 'lineBreakEmptyString';
70
+ }
71
+ return 'string';
72
+ }
55
73
  getContext() {
74
+ const stringType = this.getType();
56
75
  return {
57
76
  text: this.context.leaf.text,
58
- elementStringLength: Node.string(this.context.parent).length
77
+ elementStringLength: Node.string(this.context.parent).length,
78
+ type: stringType
59
79
  };
60
80
  }
61
81
  memoizedContext(prev, next) {
@@ -74,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
74
94
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { context: [{
75
95
  type: Input
76
96
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL3N0cmluZy9zdHJpbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLHVCQUF1QixFQUEwRCxNQUFNLGVBQWUsQ0FBQztBQUMxSSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQU96RSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsaUJBQXFDO0lBRzNFLFlBQW9CLFVBQTJCLEVBQVksZ0JBQWtDO1FBQ3pGLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRFIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUFBWSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBRTdGLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbkIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELFdBQVc7UUFDUCxNQUFNLElBQUksR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyQyxpRUFBaUU7UUFDakUsaUVBQWlFO1FBQ2pFLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDckQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDO1NBQ2pFO1FBRUQsMEVBQTBFO1FBQzFFLDJFQUEyRTtRQUMzRSxrQ0FBa0M7UUFDbEMsSUFDSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssRUFBRTtZQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7WUFDM0YsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDdEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQzNEO1lBQ0UsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLDRCQUE0QixDQUFDO1NBQzFFO1FBRUQsMkVBQTJFO1FBQzNFLHFFQUFxRTtRQUNyRSw2QkFBNkI7UUFDN0IsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUFFO1lBQy9CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQztTQUMvRDtRQUVELDBFQUEwRTtRQUMxRSxpRUFBaUU7UUFDakUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2xFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQztTQUNsRTtRQUVELE9BQU8sMkJBQTJCLENBQUM7SUFDdkMsQ0FBQztJQUVELFVBQVU7UUFDTixPQUFPO1lBQ0gsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDNUIsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU07U0FDL0QsQ0FBQztJQUNOLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBd0IsRUFBRSxJQUF3QjtRQUM5RCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOztpSEFyRVEsb0JBQW9CO3FHQUFwQixvQkFBb0IscUlBSG5CLEVBQUU7MkZBR0gsb0JBQW9CO2tCQUxoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDtnSUFFWSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBPbkNoYW5nZXMsIEVsZW1lbnRSZWYsIFZpZXdDb250YWluZXJSZWYsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVkaXRvciwgUGF0aCwgTm9kZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFZpZXdDb250YWluZXJJdGVtIH0gZnJvbSAnLi4vLi4vdmlldy9jb250YWluZXItaXRlbSc7XG5pbXBvcnQgeyBTbGF0ZUxlYWZDb250ZXh0LCBTbGF0ZVN0cmluZ0NvbnRleHQgfSBmcm9tICcuLi8uLi92aWV3L2NvbnRleHQnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciB9IGZyb20gJy4uLy4uL3BsdWdpbnMvYW5ndWxhci1lZGl0b3InO1xuaW1wb3J0IHsgU2xhdGVEZWZhdWx0U3RyaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9kZWZhdWx0LXN0cmluZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NwYW5bc2xhdGVTdHJpbmddJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2xhdGVTdHJpbmdDb21wb25lbnQgZXh0ZW5kcyBWaWV3Q29udGFpbmVySXRlbTxTbGF0ZVN0cmluZ0NvbnRleHQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgpIGNvbnRleHQ6IFNsYXRlTGVhZkNvbnRleHQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8YW55PiwgcHJvdGVjdGVkIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgc3VwZXIodmlld0NvbnRhaW5lclJlZik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3JlYXRlVmlldygpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCkge1xuICAgICAgICBpZiAoIXRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZSgpO1xuICAgIH1cblxuICAgIGdldFZpZXdUeXBlKCkge1xuICAgICAgICBjb25zdCBwYXRoID0gQW5ndWxhckVkaXRvci5maW5kUGF0aCh0aGlzLnZpZXdDb250ZXh0LmVkaXRvciwgdGhpcy5jb250ZXh0LnRleHQpO1xuICAgICAgICBjb25zdCBwYXJlbnRQYXRoID0gUGF0aC5wYXJlbnQocGF0aCk7XG5cbiAgICAgICAgLy8gQ09NUEFUOiBSZW5kZXIgdGV4dCBpbnNpZGUgdm9pZCBub2RlcyB3aXRoIGEgemVyby13aWR0aCBzcGFjZS5cbiAgICAgICAgLy8gU28gdGhlIG5vZGUgY2FuIGNvbnRhaW4gc2VsZWN0aW9uIGJ1dCB0aGUgdGV4dCBpcyBub3QgdmlzaWJsZS5cbiAgICAgICAgaWYgKHRoaXMudmlld0NvbnRleHQuZWRpdG9yLmlzVm9pZCh0aGlzLmNvbnRleHQucGFyZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmlld0NvbnRleHQudGVtcGxhdGVDb21wb25lbnQuZW1wdHlTdHJpbmdUZW1wbGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENPTVBBVDogSWYgdGhpcyBpcyB0aGUgbGFzdCB0ZXh0IG5vZGUgaW4gYW4gZW1wdHkgYmxvY2ssIHJlbmRlciBhIHplcm8tXG4gICAgICAgIC8vIHdpZHRoIHNwYWNlIHRoYXQgd2lsbCBjb252ZXJ0IGludG8gYSBsaW5lIGJyZWFrIHdoZW4gY29weWluZyBhbmQgcGFzdGluZ1xuICAgICAgICAvLyB0byBzdXBwb3J0IGV4cGVjdGVkIHBsYWluIHRleHQuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC5sZWFmLnRleHQgPT09ICcnICYmXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQucGFyZW50LmNoaWxkcmVuW3RoaXMuY29udGV4dC5wYXJlbnQuY2hpbGRyZW4ubGVuZ3RoIC0gMV0gPT09IHRoaXMuY29udGV4dC50ZXh0ICYmXG4gICAgICAgICAgICAhdGhpcy52aWV3Q29udGV4dC5lZGl0b3IuaXNJbmxpbmUodGhpcy5jb250ZXh0LnBhcmVudCkgJiZcbiAgICAgICAgICAgIEVkaXRvci5zdHJpbmcodGhpcy52aWV3Q29udGV4dC5lZGl0b3IsIHBhcmVudFBhdGgpID09PSAnJ1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZpZXdDb250ZXh0LnRlbXBsYXRlQ29tcG9uZW50LmxpbmVCcmVha0VtcHR5U3RyaW5nVGVtcGxhdGU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDT01QQVQ6IElmIHRoZSB0ZXh0IGlzIGVtcHR5LCBpdCdzIGJlY2F1c2UgaXQncyBvbiB0aGUgZWRnZSBvZiBhbiBpbmxpbmVcbiAgICAgICAgLy8gbm9kZSwgc28gd2UgcmVuZGVyIGEgemVyby13aWR0aCBzcGFjZSBzbyB0aGF0IHRoZSBzZWxlY3Rpb24gY2FuIGJlXG4gICAgICAgIC8vIGluc2VydGVkIG5leHQgdG8gaXQgc3RpbGwuXG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQubGVhZi50ZXh0ID09PSAnJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmlld0NvbnRleHQudGVtcGxhdGVDb21wb25lbnQuZW1wdHlUZXh0VGVtcGxhdGU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDT01QQVQ6IEJyb3dzZXJzIHdpbGwgY29sbGFwc2UgdHJhaWxpbmcgbmV3IGxpbmVzIGF0IHRoZSBlbmQgb2YgYmxvY2tzLFxuICAgICAgICAvLyBzbyB3ZSBuZWVkIHRvIGFkZCBhbiBleHRyYSB0cmFpbGluZyBuZXcgbGluZXMgdG8gcHJldmVudCB0aGF0LlxuICAgICAgICBpZiAodGhpcy5jb250ZXh0LmlzTGFzdCAmJiB0aGlzLmNvbnRleHQubGVhZi50ZXh0LnNsaWNlKC0xKSA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZpZXdDb250ZXh0LnRlbXBsYXRlQ29tcG9uZW50LmNvbXBhdFN0cmluZ1RlbXBsYXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFNsYXRlRGVmYXVsdFN0cmluZ0NvbXBvbmVudDtcbiAgICB9XG5cbiAgICBnZXRDb250ZXh0KCk6IFNsYXRlU3RyaW5nQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0ZXh0OiB0aGlzLmNvbnRleHQubGVhZi50ZXh0LFxuICAgICAgICAgICAgZWxlbWVudFN0cmluZ0xlbmd0aDogTm9kZS5zdHJpbmcodGhpcy5jb250ZXh0LnBhcmVudCkubGVuZ3RoXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgbWVtb2l6ZWRDb250ZXh0KHByZXY6IFNsYXRlU3RyaW5nQ29udGV4dCwgbmV4dDogU2xhdGVTdHJpbmdDb250ZXh0KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iXX0=
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL3N0cmluZy9zdHJpbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLHVCQUF1QixFQUEwRCxNQUFNLGVBQWUsQ0FBQztBQUMxSSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQU96RSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsaUJBQXFDO0lBRzNFLFlBQW9CLFVBQTJCLEVBQVksZ0JBQWtDO1FBQ3pGLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRFIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUFBWSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBRTdGLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbkIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELDBFQUEwRTtJQUMxRSwyRUFBMkU7SUFDM0Usa0NBQWtDO0lBQ2xDLHNCQUFzQjtRQUNsQixNQUFNLElBQUksR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxPQUFPLENBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJO1lBQzNGLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ3RELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUM1RCxDQUFDO0lBQ04sQ0FBQztJQUVELDJFQUEyRTtJQUMzRSxxRUFBcUU7SUFDckUsNkJBQTZCO0lBQzdCLFdBQVc7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELDBFQUEwRTtJQUMxRSxpRUFBaUU7SUFDakUsa0JBQWtCO1FBQ2QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDO0lBQzVFLENBQUM7SUFFRCxpRUFBaUU7SUFDakUsaUVBQWlFO0lBQ2pFLE1BQU07UUFDRixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDZixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUM7U0FDaEU7UUFFRCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUFFO1lBQy9CLE9BQU8sMkJBQTJCLENBQUM7U0FDdEM7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUM7U0FDL0Q7UUFFRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFFO1lBQzNCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQztTQUN0RTtRQUVELE9BQU8sMkJBQTJCLENBQUM7SUFDdkMsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUFFO1lBQy9CLE9BQU8sc0JBQXNCLENBQUM7U0FDakM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVTtRQUNOLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsQyxPQUFPO1lBQ0gsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDNUIsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU07WUFDNUQsSUFBSSxFQUFFLFVBQVU7U0FDbkIsQ0FBQztJQUNOLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBd0IsRUFBRSxJQUF3QjtRQUM5RCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOztpSEE3RlEsb0JBQW9CO3FHQUFwQixvQkFBb0IscUlBSG5CLEVBQUU7MkZBR0gsb0JBQW9CO2tCQUxoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDtnSUFFWSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBPbkNoYW5nZXMsIEVsZW1lbnRSZWYsIFZpZXdDb250YWluZXJSZWYsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVkaXRvciwgUGF0aCwgTm9kZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFZpZXdDb250YWluZXJJdGVtIH0gZnJvbSAnLi4vLi4vdmlldy9jb250YWluZXItaXRlbSc7XG5pbXBvcnQgeyBTbGF0ZUxlYWZDb250ZXh0LCBTbGF0ZVN0cmluZ0NvbnRleHQgfSBmcm9tICcuLi8uLi92aWV3L2NvbnRleHQnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciB9IGZyb20gJy4uLy4uL3BsdWdpbnMvYW5ndWxhci1lZGl0b3InO1xuaW1wb3J0IHsgU2xhdGVEZWZhdWx0U3RyaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9kZWZhdWx0LXN0cmluZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NwYW5bc2xhdGVTdHJpbmddJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2xhdGVTdHJpbmdDb21wb25lbnQgZXh0ZW5kcyBWaWV3Q29udGFpbmVySXRlbTxTbGF0ZVN0cmluZ0NvbnRleHQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgpIGNvbnRleHQ6IFNsYXRlTGVhZkNvbnRleHQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8YW55PiwgcHJvdGVjdGVkIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgc3VwZXIodmlld0NvbnRhaW5lclJlZik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3JlYXRlVmlldygpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCkge1xuICAgICAgICBpZiAoIXRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZSgpO1xuICAgIH1cblxuICAgIC8vIENPTVBBVDogSWYgdGhpcyBpcyB0aGUgbGFzdCB0ZXh0IG5vZGUgaW4gYW4gZW1wdHkgYmxvY2ssIHJlbmRlciBhIHplcm8tXG4gICAgLy8gd2lkdGggc3BhY2UgdGhhdCB3aWxsIGNvbnZlcnQgaW50byBhIGxpbmUgYnJlYWsgd2hlbiBjb3B5aW5nIGFuZCBwYXN0aW5nXG4gICAgLy8gdG8gc3VwcG9ydCBleHBlY3RlZCBwbGFpbiB0ZXh0LlxuICAgIGlzTGluZUJyZWFrRW1wdHlTdHJpbmcoKSB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBBbmd1bGFyRWRpdG9yLmZpbmRQYXRoKHRoaXMudmlld0NvbnRleHQuZWRpdG9yLCB0aGlzLmNvbnRleHQudGV4dCk7XG4gICAgICAgIGNvbnN0IHBhcmVudFBhdGggPSBQYXRoLnBhcmVudChwYXRoKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC5sZWFmLnRleHQgPT09ICcnICYmXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQucGFyZW50LmNoaWxkcmVuW3RoaXMuY29udGV4dC5wYXJlbnQuY2hpbGRyZW4ubGVuZ3RoIC0gMV0gPT09IHRoaXMuY29udGV4dC50ZXh0ICYmXG4gICAgICAgICAgICAhdGhpcy52aWV3Q29udGV4dC5lZGl0b3IuaXNJbmxpbmUodGhpcy5jb250ZXh0LnBhcmVudCkgJiZcbiAgICAgICAgICAgIEVkaXRvci5zdHJpbmcodGhpcy52aWV3Q29udGV4dC5lZGl0b3IsIHBhcmVudFBhdGgpID09PSAnJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIENPTVBBVDogSWYgdGhlIHRleHQgaXMgZW1wdHksIGl0J3MgYmVjYXVzZSBpdCdzIG9uIHRoZSBlZGdlIG9mIGFuIGlubGluZVxuICAgIC8vIG5vZGUsIHNvIHdlIHJlbmRlciBhIHplcm8td2lkdGggc3BhY2Ugc28gdGhhdCB0aGUgc2VsZWN0aW9uIGNhbiBiZVxuICAgIC8vIGluc2VydGVkIG5leHQgdG8gaXQgc3RpbGwuXG4gICAgaXNFbXB0eVRleHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRleHQubGVhZi50ZXh0ID09PSAnJztcbiAgICB9XG5cbiAgICAvLyBDT01QQVQ6IEJyb3dzZXJzIHdpbGwgY29sbGFwc2UgdHJhaWxpbmcgbmV3IGxpbmVzIGF0IHRoZSBlbmQgb2YgYmxvY2tzLFxuICAgIC8vIHNvIHdlIG5lZWQgdG8gYWRkIGFuIGV4dHJhIHRyYWlsaW5nIG5ldyBsaW5lcyB0byBwcmV2ZW50IHRoYXQuXG4gICAgaXNDb21wYXRpYmxlU3RyaW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0LmlzTGFzdCAmJiB0aGlzLmNvbnRleHQubGVhZi50ZXh0LnNsaWNlKC0xKSA9PT0gJ1xcbic7XG4gICAgfVxuXG4gICAgLy8gQ09NUEFUOiBSZW5kZXIgdGV4dCBpbnNpZGUgdm9pZCBub2RlcyB3aXRoIGEgemVyby13aWR0aCBzcGFjZS5cbiAgICAvLyBTbyB0aGUgbm9kZSBjYW4gY29udGFpbiBzZWxlY3Rpb24gYnV0IHRoZSB0ZXh0IGlzIG5vdCB2aXNpYmxlLlxuICAgIGlzVm9pZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlld0NvbnRleHQuZWRpdG9yLmlzVm9pZCh0aGlzLmNvbnRleHQucGFyZW50KTtcbiAgICB9XG5cbiAgICBnZXRWaWV3VHlwZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNWb2lkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZpZXdDb250ZXh0LnRlbXBsYXRlQ29tcG9uZW50LnZvaWRTdHJpbmdUZW1wbGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzTGluZUJyZWFrRW1wdHlTdHJpbmcoKSkge1xuICAgICAgICAgICAgcmV0dXJuIFNsYXRlRGVmYXVsdFN0cmluZ0NvbXBvbmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzRW1wdHlUZXh0KCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZpZXdDb250ZXh0LnRlbXBsYXRlQ29tcG9uZW50LmVtcHR5VGV4dFRlbXBsYXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNDb21wYXRpYmxlU3RyaW5nKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZpZXdDb250ZXh0LnRlbXBsYXRlQ29tcG9uZW50LmNvbXBhdGlibGVTdHJpbmdUZW1wbGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBTbGF0ZURlZmF1bHRTdHJpbmdDb21wb25lbnQ7XG4gICAgfVxuXG4gICAgZ2V0VHlwZSgpOiBTbGF0ZVN0cmluZ0NvbnRleHRbJ3R5cGUnXSB7XG4gICAgICAgIGlmICh0aGlzLmlzTGluZUJyZWFrRW1wdHlTdHJpbmcoKSkge1xuICAgICAgICAgICAgcmV0dXJuICdsaW5lQnJlYWtFbXB0eVN0cmluZyc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICdzdHJpbmcnO1xuICAgIH1cblxuICAgIGdldENvbnRleHQoKTogU2xhdGVTdHJpbmdDb250ZXh0IHtcbiAgICAgICAgY29uc3Qgc3RyaW5nVHlwZSA9IHRoaXMuZ2V0VHlwZSgpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdGV4dDogdGhpcy5jb250ZXh0LmxlYWYudGV4dCxcbiAgICAgICAgICAgIGVsZW1lbnRTdHJpbmdMZW5ndGg6IE5vZGUuc3RyaW5nKHRoaXMuY29udGV4dC5wYXJlbnQpLmxlbmd0aCxcbiAgICAgICAgICAgIHR5cGU6IHN0cmluZ1R5cGVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBtZW1vaXplZENvbnRleHQocHJldjogU2xhdGVTdHJpbmdDb250ZXh0LCBuZXh0OiBTbGF0ZVN0cmluZ0NvbnRleHQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cbiJdfQ==
@@ -3,24 +3,18 @@ import * as i0 from "@angular/core";
3
3
  export class SlateStringTemplateComponent {
4
4
  }
5
5
  SlateStringTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SlateStringTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- SlateStringTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SlateStringTemplateComponent, selector: "slate-string-template", viewQueries: [{ propertyName: "compatStringTemplate", first: true, predicate: ["compatStringTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "emptyStringTemplate", first: true, predicate: ["emptyStringTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "emptyTextTemplate", first: true, predicate: ["emptyTextTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "lineBreakEmptyStringTemplate", first: true, predicate: ["lineBreakEmptyStringTemplate"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-template #compatStringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <!-- Compatible with Chinese input in Chrome with \\n -->\n <span editable-text data-slate-string=\"true\"\n >{{ context.text }}<span data-slate-zero-width>{{ '\\uFEFF' }}</span></span\n >\n</ng-template>\n<ng-template #emptyStringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-zero-width=\"z\" attr.data-slate-length=\"{{ context.elementStringLength }}\">{{ '\\uFEFF' }}</span>\n</ng-template>\n<ng-template #emptyTextTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-zero-width=\"z\" data-slate-length=\"0\">{{ '\\uFEFF' }}</span>\n</ng-template>\n<ng-template #lineBreakEmptyStringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-zero-width=\"n\" attr.data-slate-length=\"{{ context.elementStringLength }}\">{{ '\\uFEFF' }}<br /></span>\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
6
+ SlateStringTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SlateStringTemplateComponent, selector: "slate-string-template", viewQueries: [{ propertyName: "compatibleStringTemplate", first: true, predicate: ["compatibleStringTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "voidStringTemplate", first: true, predicate: ["voidStringTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "emptyTextTemplate", first: true, predicate: ["emptyTextTemplate"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-template #compatibleStringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <!-- Compatible with Chinese input in Chrome with \\n -->\n <span editable-text data-slate-string=\"true\"\n >{{ context.text }}<span data-slate-zero-width>{{ '\\uFEFF' }}</span></span\n >\n</ng-template>\n<ng-template #voidStringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-zero-width=\"z\" attr.data-slate-length=\"{{ context.elementStringLength }}\">{{ '\\uFEFF' }}</span>\n</ng-template>\n<ng-template #emptyTextTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-zero-width=\"z\" data-slate-length=\"0\">{{ '\\uFEFF' }}</span>\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
7
7
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SlateStringTemplateComponent, decorators: [{
8
8
  type: Component,
9
- args: [{ selector: 'slate-string-template', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #compatStringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <!-- Compatible with Chinese input in Chrome with \\n -->\n <span editable-text data-slate-string=\"true\"\n >{{ context.text }}<span data-slate-zero-width>{{ '\\uFEFF' }}</span></span\n >\n</ng-template>\n<ng-template #emptyStringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-zero-width=\"z\" attr.data-slate-length=\"{{ context.elementStringLength }}\">{{ '\\uFEFF' }}</span>\n</ng-template>\n<ng-template #emptyTextTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-zero-width=\"z\" data-slate-length=\"0\">{{ '\\uFEFF' }}</span>\n</ng-template>\n<ng-template #lineBreakEmptyStringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-zero-width=\"n\" attr.data-slate-length=\"{{ context.elementStringLength }}\">{{ '\\uFEFF' }}<br /></span>\n</ng-template>\n" }]
10
- }], propDecorators: { compatStringTemplate: [{
9
+ args: [{ selector: 'slate-string-template', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #compatibleStringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <!-- Compatible with Chinese input in Chrome with \\n -->\n <span editable-text data-slate-string=\"true\"\n >{{ context.text }}<span data-slate-zero-width>{{ '\\uFEFF' }}</span></span\n >\n</ng-template>\n<ng-template #voidStringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-zero-width=\"z\" attr.data-slate-length=\"{{ context.elementStringLength }}\">{{ '\\uFEFF' }}</span>\n</ng-template>\n<ng-template #emptyTextTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-zero-width=\"z\" data-slate-length=\"0\">{{ '\\uFEFF' }}</span>\n</ng-template>\n" }]
10
+ }], propDecorators: { compatibleStringTemplate: [{
11
11
  type: ViewChild,
12
- args: ['compatStringTemplate', { read: TemplateRef, static: true }]
13
- }], emptyStringTemplate: [{
12
+ args: ['compatibleStringTemplate', { read: TemplateRef, static: true }]
13
+ }], voidStringTemplate: [{
14
14
  type: ViewChild,
15
- args: ['emptyStringTemplate', { read: TemplateRef, static: true }]
15
+ args: ['voidStringTemplate', { read: TemplateRef, static: true }]
16
16
  }], emptyTextTemplate: [{
17
17
  type: ViewChild,
18
18
  args: ['emptyTextTemplate', { read: TemplateRef, static: true }]
19
- }], lineBreakEmptyStringTemplate: [{
20
- type: ViewChild,
21
- args: ['lineBreakEmptyStringTemplate', {
22
- read: TemplateRef,
23
- static: true
24
- }]
25
19
  }] } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvc3RyaW5nL3RlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL3N0cmluZy90ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNGLE1BQU0sT0FBTyw0QkFBNEI7O3lIQUE1Qiw0QkFBNEI7NkdBQTVCLDRCQUE0QixzS0FDTSxXQUFXLG1JQUdaLFdBQVcsK0hBR2IsV0FBVyxxSkFJekMsV0FBVywyQ0NsQnpCLHEvQkFlQTsyRkRSYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0ksdUJBQXVCLG1CQUVoQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUkvQyxvQkFBb0I7c0JBRG5CLFNBQVM7dUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXRFLG1CQUFtQjtzQkFEbEIsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJckUsaUJBQWlCO3NCQURoQixTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU9uRSw0QkFBNEI7c0JBSjNCLFNBQVM7dUJBQUMsOEJBQThCLEVBQUU7d0JBQ3ZDLElBQUksRUFBRSxXQUFXO3dCQUNqQixNQUFNLEVBQUUsSUFBSTtxQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdDaGlsZCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzbGF0ZS1zdHJpbmctdGVtcGxhdGUnLFxuICAgIHRlbXBsYXRlVXJsOiAndGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNsYXRlU3RyaW5nVGVtcGxhdGVDb21wb25lbnQge1xuICAgIEBWaWV3Q2hpbGQoJ2NvbXBhdFN0cmluZ1RlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gICAgY29tcGF0U3RyaW5nVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKCdlbXB0eVN0cmluZ1RlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gICAgZW1wdHlTdHJpbmdUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2VtcHR5VGV4dFRlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gICAgZW1wdHlUZXh0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKCdsaW5lQnJlYWtFbXB0eVN0cmluZ1RlbXBsYXRlJywge1xuICAgICAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICAgICAgc3RhdGljOiB0cnVlXG4gICAgfSlcbiAgICBsaW5lQnJlYWtFbXB0eVN0cmluZ1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xufVxuIiwiPG5nLXRlbXBsYXRlICNjb21wYXRTdHJpbmdUZW1wbGF0ZSBsZXQtY29udGV4dD1cImNvbnRleHRcIiBsZXQtdmlld0NvbnRleHQ9XCJ2aWV3Q29udGV4dFwiPlxuICA8IS0tIENvbXBhdGlibGUgd2l0aCBDaGluZXNlIGlucHV0IGluIENocm9tZSB3aXRoIFxcbiAtLT5cbiAgPHNwYW4gZWRpdGFibGUtdGV4dCBkYXRhLXNsYXRlLXN0cmluZz1cInRydWVcIlxuICAgID57eyBjb250ZXh0LnRleHQgfX08c3BhbiBkYXRhLXNsYXRlLXplcm8td2lkdGg+e3sgJ1xcdUZFRkYnIH19PC9zcGFuPjwvc3BhblxuICA+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNlbXB0eVN0cmluZ1RlbXBsYXRlIGxldC1jb250ZXh0PVwiY29udGV4dFwiIGxldC12aWV3Q29udGV4dD1cInZpZXdDb250ZXh0XCI+XG4gIDxzcGFuIGVkaXRhYmxlLXRleHQgZGF0YS1zbGF0ZS16ZXJvLXdpZHRoPVwielwiIGF0dHIuZGF0YS1zbGF0ZS1sZW5ndGg9XCJ7eyBjb250ZXh0LmVsZW1lbnRTdHJpbmdMZW5ndGggfX1cIj57eyAnXFx1RkVGRicgfX08L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNlbXB0eVRleHRUZW1wbGF0ZSBsZXQtY29udGV4dD1cImNvbnRleHRcIiBsZXQtdmlld0NvbnRleHQ9XCJ2aWV3Q29udGV4dFwiPlxuICA8c3BhbiBlZGl0YWJsZS10ZXh0IGRhdGEtc2xhdGUtemVyby13aWR0aD1cInpcIiBkYXRhLXNsYXRlLWxlbmd0aD1cIjBcIj57eyAnXFx1RkVGRicgfX08L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNsaW5lQnJlYWtFbXB0eVN0cmluZ1RlbXBsYXRlIGxldC1jb250ZXh0PVwiY29udGV4dFwiIGxldC12aWV3Q29udGV4dD1cInZpZXdDb250ZXh0XCI+XG4gIDxzcGFuIGVkaXRhYmxlLXRleHQgZGF0YS1zbGF0ZS16ZXJvLXdpZHRoPVwiblwiIGF0dHIuZGF0YS1zbGF0ZS1sZW5ndGg9XCJ7eyBjb250ZXh0LmVsZW1lbnRTdHJpbmdMZW5ndGggfX1cIj57eyAnXFx1RkVGRicgfX08YnIgLz48L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvc3RyaW5nL3RlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL3N0cmluZy90ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNGLE1BQU0sT0FBTyw0QkFBNEI7O3lIQUE1Qiw0QkFBNEI7NkdBQTVCLDRCQUE0Qiw4S0FDVSxXQUFXLGlJQUdqQixXQUFXLCtIQUdaLFdBQVcsMkNDZHZELHN2QkFZQTsyRkRMYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0ksdUJBQXVCLG1CQUVoQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUkvQyx3QkFBd0I7c0JBRHZCLFNBQVM7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTFFLGtCQUFrQjtzQkFEakIsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJcEUsaUJBQWlCO3NCQURoQixTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NsYXRlLXN0cmluZy10ZW1wbGF0ZScsXG4gICAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2xhdGVTdHJpbmdUZW1wbGF0ZUNvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZCgnY29tcGF0aWJsZVN0cmluZ1RlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gICAgY29tcGF0aWJsZVN0cmluZ1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQFZpZXdDaGlsZCgndm9pZFN0cmluZ1RlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gICAgdm9pZFN0cmluZ1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQFZpZXdDaGlsZCgnZW1wdHlUZXh0VGVtcGxhdGUnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgICBlbXB0eVRleHRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pjtcbn1cbiIsIjxuZy10ZW1wbGF0ZSAjY29tcGF0aWJsZVN0cmluZ1RlbXBsYXRlIGxldC1jb250ZXh0PVwiY29udGV4dFwiIGxldC12aWV3Q29udGV4dD1cInZpZXdDb250ZXh0XCI+XG4gIDwhLS0gQ29tcGF0aWJsZSB3aXRoIENoaW5lc2UgaW5wdXQgaW4gQ2hyb21lIHdpdGggXFxuIC0tPlxuICA8c3BhbiBlZGl0YWJsZS10ZXh0IGRhdGEtc2xhdGUtc3RyaW5nPVwidHJ1ZVwiXG4gICAgPnt7IGNvbnRleHQudGV4dCB9fTxzcGFuIGRhdGEtc2xhdGUtemVyby13aWR0aD57eyAnXFx1RkVGRicgfX08L3NwYW4+PC9zcGFuXG4gID5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI3ZvaWRTdHJpbmdUZW1wbGF0ZSBsZXQtY29udGV4dD1cImNvbnRleHRcIiBsZXQtdmlld0NvbnRleHQ9XCJ2aWV3Q29udGV4dFwiPlxuICA8c3BhbiBlZGl0YWJsZS10ZXh0IGRhdGEtc2xhdGUtemVyby13aWR0aD1cInpcIiBhdHRyLmRhdGEtc2xhdGUtbGVuZ3RoPVwie3sgY29udGV4dC5lbGVtZW50U3RyaW5nTGVuZ3RoIH19XCI+e3sgJ1xcdUZFRkYnIH19PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjZW1wdHlUZXh0VGVtcGxhdGUgbGV0LWNvbnRleHQ9XCJjb250ZXh0XCIgbGV0LXZpZXdDb250ZXh0PVwidmlld0NvbnRleHRcIj5cbiAgPHNwYW4gZWRpdGFibGUtdGV4dCBkYXRhLXNsYXRlLXplcm8td2lkdGg9XCJ6XCIgZGF0YS1zbGF0ZS1sZW5ndGg9XCIwXCI+e3sgJ1xcdUZFRkYnIH19PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy92aWV3L2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGVFbnRyeSwgUmFuZ2UsIEVsZW1lbnQsIEFuY2VzdG9yLCBUZXh0IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgU2xhdGVTdHJpbmdUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvc3RyaW5nL3RlbXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy9hbmd1bGFyLWVkaXRvcic7XG5pbXBvcnQgeyBWaWV3VHlwZSB9IGZyb20gJy4uL3R5cGVzL3ZpZXcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNsYXRlVmlld0NvbnRleHQ8VCBleHRlbmRzIEFuZ3VsYXJFZGl0b3IgPSBBbmd1bGFyRWRpdG9yPiB7XG4gICAgZWRpdG9yOiBUO1xuICAgIHRlbXBsYXRlQ29tcG9uZW50OiBTbGF0ZVN0cmluZ1RlbXBsYXRlQ29tcG9uZW50O1xuICAgIHRyYWNrQnk6IChlbGVtZW50OiBFbGVtZW50KSA9PiBhbnk7XG4gICAgcmVuZGVyRWxlbWVudD86IChlbGVtZW50OiBFbGVtZW50KSA9PiBWaWV3VHlwZTtcbiAgICByZW5kZXJMZWFmPzogKHRleHQ6IFRleHQpID0+IFZpZXdUeXBlO1xuICAgIHJlbmRlclRleHQ/OiAodGV4dDogVGV4dCkgPT4gVmlld1R5cGU7XG4gICAgaXNTdHJpY3REZWNvcmF0ZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbGF0ZUNoaWxkcmVuQ29udGV4dCB7XG4gICAgcGFyZW50OiBBbmNlc3RvcjtcbiAgICBzZWxlY3Rpb246IFJhbmdlO1xuICAgIGRlY29yYXRpb25zOiBSYW5nZVtdO1xuICAgIGRlY29yYXRlOiAoZW50cnk6IE5vZGVFbnRyeSkgPT4gUmFuZ2VbXTtcbiAgICByZWFkb25seTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbGF0ZUVsZW1lbnRDb250ZXh0PFQgZXh0ZW5kcyBFbGVtZW50ID0gRWxlbWVudD4ge1xuICAgIGVsZW1lbnQ6IFQ7XG4gICAgc2VsZWN0aW9uOiBSYW5nZSB8IG51bGw7XG4gICAgZGVjb3JhdGlvbnM6IFJhbmdlW107XG4gICAgYXR0cmlidXRlczogU2xhdGVFbGVtZW50QXR0cmlidXRlcztcbiAgICBkZWNvcmF0ZTogKGVudHJ5OiBOb2RlRW50cnkpID0+IFJhbmdlW107XG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVUZXh0Q29udGV4dCB7XG4gICAgdGV4dDogVGV4dDtcbiAgICBkZWNvcmF0aW9uczogUmFuZ2VbXTtcbiAgICBpc0xhc3Q6IGJvb2xlYW47XG4gICAgcGFyZW50OiBFbGVtZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNsYXRlTGVhZkNvbnRleHQge1xuICAgIGxlYWY6IFRleHQ7XG4gICAgdGV4dDogVGV4dDtcbiAgICBwYXJlbnQ6IEVsZW1lbnQ7XG4gICAgaXNMYXN0OiBib29sZWFuO1xuICAgIGluZGV4OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVFbGVtZW50QXR0cmlidXRlcyB7XG4gICAgJ2RhdGEtc2xhdGUtbm9kZSc6ICdlbGVtZW50JztcbiAgICAnZGF0YS1zbGF0ZS12b2lkJz86IGJvb2xlYW47XG4gICAgJ2RhdGEtc2xhdGUtaW5saW5lJz86IGJvb2xlYW47XG4gICAgY29udGVudGVkaXRhYmxlPzogYm9vbGVhbjtcbiAgICAnZGF0YS1zbGF0ZS1rZXknPzogc3RyaW5nO1xuICAgIGRpcj86ICdydGwnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNsYXRlU3RyaW5nQ29udGV4dCB7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGVsZW1lbnRTdHJpbmdMZW5ndGg6IG51bWJlcjtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy92aWV3L2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGVFbnRyeSwgUmFuZ2UsIEVsZW1lbnQsIEFuY2VzdG9yLCBUZXh0IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgU2xhdGVTdHJpbmdUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvc3RyaW5nL3RlbXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy9hbmd1bGFyLWVkaXRvcic7XG5pbXBvcnQgeyBWaWV3VHlwZSB9IGZyb20gJy4uL3R5cGVzL3ZpZXcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNsYXRlVmlld0NvbnRleHQ8VCBleHRlbmRzIEFuZ3VsYXJFZGl0b3IgPSBBbmd1bGFyRWRpdG9yPiB7XG4gICAgZWRpdG9yOiBUO1xuICAgIHRlbXBsYXRlQ29tcG9uZW50OiBTbGF0ZVN0cmluZ1RlbXBsYXRlQ29tcG9uZW50O1xuICAgIHRyYWNrQnk6IChlbGVtZW50OiBFbGVtZW50KSA9PiBhbnk7XG4gICAgcmVuZGVyRWxlbWVudD86IChlbGVtZW50OiBFbGVtZW50KSA9PiBWaWV3VHlwZTtcbiAgICByZW5kZXJMZWFmPzogKHRleHQ6IFRleHQpID0+IFZpZXdUeXBlO1xuICAgIHJlbmRlclRleHQ/OiAodGV4dDogVGV4dCkgPT4gVmlld1R5cGU7XG4gICAgaXNTdHJpY3REZWNvcmF0ZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbGF0ZUNoaWxkcmVuQ29udGV4dCB7XG4gICAgcGFyZW50OiBBbmNlc3RvcjtcbiAgICBzZWxlY3Rpb246IFJhbmdlO1xuICAgIGRlY29yYXRpb25zOiBSYW5nZVtdO1xuICAgIGRlY29yYXRlOiAoZW50cnk6IE5vZGVFbnRyeSkgPT4gUmFuZ2VbXTtcbiAgICByZWFkb25seTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbGF0ZUVsZW1lbnRDb250ZXh0PFQgZXh0ZW5kcyBFbGVtZW50ID0gRWxlbWVudD4ge1xuICAgIGVsZW1lbnQ6IFQ7XG4gICAgc2VsZWN0aW9uOiBSYW5nZSB8IG51bGw7XG4gICAgZGVjb3JhdGlvbnM6IFJhbmdlW107XG4gICAgYXR0cmlidXRlczogU2xhdGVFbGVtZW50QXR0cmlidXRlcztcbiAgICBkZWNvcmF0ZTogKGVudHJ5OiBOb2RlRW50cnkpID0+IFJhbmdlW107XG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVUZXh0Q29udGV4dCB7XG4gICAgdGV4dDogVGV4dDtcbiAgICBkZWNvcmF0aW9uczogUmFuZ2VbXTtcbiAgICBpc0xhc3Q6IGJvb2xlYW47XG4gICAgcGFyZW50OiBFbGVtZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNsYXRlTGVhZkNvbnRleHQge1xuICAgIGxlYWY6IFRleHQ7XG4gICAgdGV4dDogVGV4dDtcbiAgICBwYXJlbnQ6IEVsZW1lbnQ7XG4gICAgaXNMYXN0OiBib29sZWFuO1xuICAgIGluZGV4OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVFbGVtZW50QXR0cmlidXRlcyB7XG4gICAgJ2RhdGEtc2xhdGUtbm9kZSc6ICdlbGVtZW50JztcbiAgICAnZGF0YS1zbGF0ZS12b2lkJz86IGJvb2xlYW47XG4gICAgJ2RhdGEtc2xhdGUtaW5saW5lJz86IGJvb2xlYW47XG4gICAgY29udGVudGVkaXRhYmxlPzogYm9vbGVhbjtcbiAgICAnZGF0YS1zbGF0ZS1rZXknPzogc3RyaW5nO1xuICAgIGRpcj86ICdydGwnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNsYXRlU3RyaW5nQ29udGV4dCB7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGVsZW1lbnRTdHJpbmdMZW5ndGg6IG51bWJlcjtcbiAgICB0eXBlOiAnc3RyaW5nJyB8ICdsaW5lQnJlYWtFbXB0eVN0cmluZyc7XG59XG4iXX0=
@@ -1626,25 +1626,19 @@ function restoreDom(editor, execute) {
1626
1626
  class SlateStringTemplateComponent {
1627
1627
  }
1628
1628
  SlateStringTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SlateStringTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1629
- SlateStringTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SlateStringTemplateComponent, selector: "slate-string-template", viewQueries: [{ propertyName: "compatStringTemplate", first: true, predicate: ["compatStringTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "emptyStringTemplate", first: true, predicate: ["emptyStringTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "emptyTextTemplate", first: true, predicate: ["emptyTextTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "lineBreakEmptyStringTemplate", first: true, predicate: ["lineBreakEmptyStringTemplate"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-template #compatStringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <!-- Compatible with Chinese input in Chrome with \\n -->\n <span editable-text data-slate-string=\"true\"\n >{{ context.text }}<span data-slate-zero-width>{{ '\\uFEFF' }}</span></span\n >\n</ng-template>\n<ng-template #emptyStringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-zero-width=\"z\" attr.data-slate-length=\"{{ context.elementStringLength }}\">{{ '\\uFEFF' }}</span>\n</ng-template>\n<ng-template #emptyTextTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-zero-width=\"z\" data-slate-length=\"0\">{{ '\\uFEFF' }}</span>\n</ng-template>\n<ng-template #lineBreakEmptyStringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-zero-width=\"n\" attr.data-slate-length=\"{{ context.elementStringLength }}\">{{ '\\uFEFF' }}<br /></span>\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
1629
+ SlateStringTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SlateStringTemplateComponent, selector: "slate-string-template", viewQueries: [{ propertyName: "compatibleStringTemplate", first: true, predicate: ["compatibleStringTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "voidStringTemplate", first: true, predicate: ["voidStringTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "emptyTextTemplate", first: true, predicate: ["emptyTextTemplate"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-template #compatibleStringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <!-- Compatible with Chinese input in Chrome with \\n -->\n <span editable-text data-slate-string=\"true\"\n >{{ context.text }}<span data-slate-zero-width>{{ '\\uFEFF' }}</span></span\n >\n</ng-template>\n<ng-template #voidStringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-zero-width=\"z\" attr.data-slate-length=\"{{ context.elementStringLength }}\">{{ '\\uFEFF' }}</span>\n</ng-template>\n<ng-template #emptyTextTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-zero-width=\"z\" data-slate-length=\"0\">{{ '\\uFEFF' }}</span>\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
1630
1630
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SlateStringTemplateComponent, decorators: [{
1631
1631
  type: Component,
1632
- args: [{ selector: 'slate-string-template', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #compatStringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <!-- Compatible with Chinese input in Chrome with \\n -->\n <span editable-text data-slate-string=\"true\"\n >{{ context.text }}<span data-slate-zero-width>{{ '\\uFEFF' }}</span></span\n >\n</ng-template>\n<ng-template #emptyStringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-zero-width=\"z\" attr.data-slate-length=\"{{ context.elementStringLength }}\">{{ '\\uFEFF' }}</span>\n</ng-template>\n<ng-template #emptyTextTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-zero-width=\"z\" data-slate-length=\"0\">{{ '\\uFEFF' }}</span>\n</ng-template>\n<ng-template #lineBreakEmptyStringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-zero-width=\"n\" attr.data-slate-length=\"{{ context.elementStringLength }}\">{{ '\\uFEFF' }}<br /></span>\n</ng-template>\n" }]
1633
- }], propDecorators: { compatStringTemplate: [{
1632
+ args: [{ selector: 'slate-string-template', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #compatibleStringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <!-- Compatible with Chinese input in Chrome with \\n -->\n <span editable-text data-slate-string=\"true\"\n >{{ context.text }}<span data-slate-zero-width>{{ '\\uFEFF' }}</span></span\n >\n</ng-template>\n<ng-template #voidStringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-zero-width=\"z\" attr.data-slate-length=\"{{ context.elementStringLength }}\">{{ '\\uFEFF' }}</span>\n</ng-template>\n<ng-template #emptyTextTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-zero-width=\"z\" data-slate-length=\"0\">{{ '\\uFEFF' }}</span>\n</ng-template>\n" }]
1633
+ }], propDecorators: { compatibleStringTemplate: [{
1634
1634
  type: ViewChild,
1635
- args: ['compatStringTemplate', { read: TemplateRef, static: true }]
1636
- }], emptyStringTemplate: [{
1635
+ args: ['compatibleStringTemplate', { read: TemplateRef, static: true }]
1636
+ }], voidStringTemplate: [{
1637
1637
  type: ViewChild,
1638
- args: ['emptyStringTemplate', { read: TemplateRef, static: true }]
1638
+ args: ['voidStringTemplate', { read: TemplateRef, static: true }]
1639
1639
  }], emptyTextTemplate: [{
1640
1640
  type: ViewChild,
1641
1641
  args: ['emptyTextTemplate', { read: TemplateRef, static: true }]
1642
- }], lineBreakEmptyStringTemplate: [{
1643
- type: ViewChild,
1644
- args: ['lineBreakEmptyStringTemplate', {
1645
- read: TemplateRef,
1646
- static: true
1647
- }]
1648
1642
  }] } });
1649
1643
 
1650
1644
  class SlateBlockCardComponent {
@@ -2107,15 +2101,65 @@ class SlateDefaultStringComponent extends BaseComponent {
2107
2101
  this.elementRef = elementRef;
2108
2102
  this.cdr = cdr;
2109
2103
  }
2104
+ beforeContextChange(value) {
2105
+ var _a, _b;
2106
+ if (this.context) {
2107
+ if (this.context.type === 'lineBreakEmptyString') {
2108
+ if (value.type === 'string') {
2109
+ this.removeLineBreakEmptyStringDOM();
2110
+ }
2111
+ else {
2112
+ (_a = this.textNode) === null || _a === void 0 ? void 0 : _a.remove();
2113
+ (_b = this.brNode) === null || _b === void 0 ? void 0 : _b.remove();
2114
+ }
2115
+ }
2116
+ if (this.context.type === 'string') {
2117
+ if (value.type === 'lineBreakEmptyString') {
2118
+ this.removeStringDOM();
2119
+ }
2120
+ }
2121
+ }
2122
+ }
2110
2123
  onContextChange() {
2124
+ if (this.context.type === 'string') {
2125
+ this.createStringDOM();
2126
+ }
2127
+ else if (this.context.type === 'lineBreakEmptyString') {
2128
+ this.createLineBreakEmptyStringDOM();
2129
+ }
2130
+ }
2131
+ createLineBreakEmptyStringDOM() {
2132
+ this.nativeElement.setAttribute('data-slate-zero-width', 'n');
2133
+ this.nativeElement.setAttribute('data-slate-length', `${this.context.elementStringLength}`);
2134
+ this.textNode = document.createTextNode(`\uFEFF`);
2135
+ this.brNode = document.createElement('br');
2136
+ this.nativeElement.append(this.textNode, this.brNode);
2137
+ }
2138
+ removeLineBreakEmptyStringDOM() {
2139
+ var _a, _b, _c;
2140
+ (_a = this.brNode) === null || _a === void 0 ? void 0 : _a.remove();
2141
+ // remove zero width character
2142
+ const zeroWidthCharacterIndex = (_b = this.textNode) === null || _b === void 0 ? void 0 : _b.textContent.indexOf(`\uFEFF`);
2143
+ (_c = this.textNode) === null || _c === void 0 ? void 0 : _c.deleteData(zeroWidthCharacterIndex, 1);
2144
+ this.nativeElement.removeAttribute('data-slate-zero-width');
2145
+ this.nativeElement.removeAttribute('data-slate-length');
2146
+ }
2147
+ createStringDOM() {
2148
+ this.nativeElement.setAttribute('data-slate-string', 'true');
2149
+ this.updateStringDOM();
2150
+ }
2151
+ updateStringDOM() {
2111
2152
  // Avoid breaking some browser default behaviors, such as spellCheck, android composition input state
2112
2153
  if (this.nativeElement.textContent !== this.context.text) {
2113
2154
  this.nativeElement.textContent = this.context.text;
2114
2155
  }
2115
2156
  }
2157
+ removeStringDOM() {
2158
+ this.nativeElement.removeAttribute('data-slate-string');
2159
+ this.nativeElement.textContent = '';
2160
+ }
2116
2161
  ngOnInit() {
2117
2162
  this.nativeElement.setAttribute('editable-text', '');
2118
- this.nativeElement.setAttribute('data-slate-string', 'true');
2119
2163
  }
2120
2164
  }
2121
2165
  SlateDefaultStringComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SlateDefaultStringComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
@@ -2147,40 +2191,60 @@ class SlateStringComponent extends ViewContainerItem {
2147
2191
  ngAfterViewInit() {
2148
2192
  this.elementRef.nativeElement.remove();
2149
2193
  }
2150
- getViewType() {
2194
+ // COMPAT: If this is the last text node in an empty block, render a zero-
2195
+ // width space that will convert into a line break when copying and pasting
2196
+ // to support expected plain text.
2197
+ isLineBreakEmptyString() {
2151
2198
  const path = AngularEditor.findPath(this.viewContext.editor, this.context.text);
2152
2199
  const parentPath = Path.parent(path);
2153
- // COMPAT: Render text inside void nodes with a zero-width space.
2154
- // So the node can contain selection but the text is not visible.
2155
- if (this.viewContext.editor.isVoid(this.context.parent)) {
2156
- return this.viewContext.templateComponent.emptyStringTemplate;
2157
- }
2158
- // COMPAT: If this is the last text node in an empty block, render a zero-
2159
- // width space that will convert into a line break when copying and pasting
2160
- // to support expected plain text.
2161
- if (this.context.leaf.text === '' &&
2200
+ return (this.context.leaf.text === '' &&
2162
2201
  this.context.parent.children[this.context.parent.children.length - 1] === this.context.text &&
2163
2202
  !this.viewContext.editor.isInline(this.context.parent) &&
2164
- Editor.string(this.viewContext.editor, parentPath) === '') {
2165
- return this.viewContext.templateComponent.lineBreakEmptyStringTemplate;
2203
+ Editor.string(this.viewContext.editor, parentPath) === '');
2204
+ }
2205
+ // COMPAT: If the text is empty, it's because it's on the edge of an inline
2206
+ // node, so we render a zero-width space so that the selection can be
2207
+ // inserted next to it still.
2208
+ isEmptyText() {
2209
+ return this.context.leaf.text === '';
2210
+ }
2211
+ // COMPAT: Browsers will collapse trailing new lines at the end of blocks,
2212
+ // so we need to add an extra trailing new lines to prevent that.
2213
+ isCompatibleString() {
2214
+ return this.context.isLast && this.context.leaf.text.slice(-1) === '\n';
2215
+ }
2216
+ // COMPAT: Render text inside void nodes with a zero-width space.
2217
+ // So the node can contain selection but the text is not visible.
2218
+ isVoid() {
2219
+ return this.viewContext.editor.isVoid(this.context.parent);
2220
+ }
2221
+ getViewType() {
2222
+ if (this.isVoid()) {
2223
+ return this.viewContext.templateComponent.voidStringTemplate;
2224
+ }
2225
+ if (this.isLineBreakEmptyString()) {
2226
+ return SlateDefaultStringComponent;
2166
2227
  }
2167
- // COMPAT: If the text is empty, it's because it's on the edge of an inline
2168
- // node, so we render a zero-width space so that the selection can be
2169
- // inserted next to it still.
2170
- if (this.context.leaf.text === '') {
2228
+ if (this.isEmptyText()) {
2171
2229
  return this.viewContext.templateComponent.emptyTextTemplate;
2172
2230
  }
2173
- // COMPAT: Browsers will collapse trailing new lines at the end of blocks,
2174
- // so we need to add an extra trailing new lines to prevent that.
2175
- if (this.context.isLast && this.context.leaf.text.slice(-1) === '\n') {
2176
- return this.viewContext.templateComponent.compatStringTemplate;
2231
+ if (this.isCompatibleString()) {
2232
+ return this.viewContext.templateComponent.compatibleStringTemplate;
2177
2233
  }
2178
2234
  return SlateDefaultStringComponent;
2179
2235
  }
2236
+ getType() {
2237
+ if (this.isLineBreakEmptyString()) {
2238
+ return 'lineBreakEmptyString';
2239
+ }
2240
+ return 'string';
2241
+ }
2180
2242
  getContext() {
2243
+ const stringType = this.getType();
2181
2244
  return {
2182
2245
  text: this.context.leaf.text,
2183
- elementStringLength: Node.string(this.context.parent).length
2246
+ elementStringLength: Node.string(this.context.parent).length,
2247
+ type: stringType
2184
2248
  };
2185
2249
  }
2186
2250
  memoizedContext(prev, next) {
@@ -2264,10 +2328,10 @@ class SlateLeavesComponent extends ViewContainer {
2264
2328
  }
2265
2329
  ngOnInit() {
2266
2330
  this.leaves = Text$1.decorations(this.context.text, this.context.decorations);
2267
- this.leafContexts = this.getLeafCotexts();
2331
+ this.leafContexts = this.getLeafContexts();
2268
2332
  this.initialized = true;
2269
2333
  }
2270
- getLeafCotexts() {
2334
+ getLeafContexts() {
2271
2335
  return this.leaves.map((leaf, index) => {
2272
2336
  return {
2273
2337
  leaf,
@@ -2288,7 +2352,7 @@ class SlateLeavesComponent extends ViewContainer {
2288
2352
  if (previousValue.text !== currentValue.text || !isDecoratorRangeListEqual(previousValue.decorations, currentValue.decorations)) {
2289
2353
  this.leaves = Text$1.decorations(this.context.text, this.context.decorations);
2290
2354
  }
2291
- this.leafContexts = this.getLeafCotexts();
2355
+ this.leafContexts = this.getLeafContexts();
2292
2356
  }
2293
2357
  trackBy(index, item) {
2294
2358
  return index;
@@ -2633,7 +2697,7 @@ class SlateEditableComponent {
2633
2697
  this.initializeViewContext();
2634
2698
  this.initializeContext();
2635
2699
  // remove unused DOM, just keep templateComponent instance
2636
- this.templateElementRef.nativeElement.remove();
2700
+ // this.templateElementRef.nativeElement.remove();
2637
2701
  // add browser class
2638
2702
  let browserClass = IS_FIREFOX ? 'firefox' : IS_SAFARI ? 'safari' : '';
2639
2703
  browserClass && this.elementRef.nativeElement.classList.add(browserClass);
@@ -3831,5 +3895,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
3831
3895
  * Generated bundle index. Do not edit.
3832
3896
  */
3833
3897
 
3834
- export { AngularEditor, BaseComponent, BaseElementComponent, BaseLeafComponent, BaseTextComponent, DOMComment, DOMElement, DOMNode, DOMRange, DOMSelection, DOMStaticRange, DOMText, EDITOR_TO_ELEMENT, EDITOR_TO_ON_CHANGE, EDITOR_TO_PLACEHOLDER, EDITOR_TO_WINDOW, ELEMENT_TO_COMPONENT, ELEMENT_TO_NODE, FAKE_LEFT_BLOCK_CARD_OFFSET, FAKE_RIGHT_BLOCK_CARD_OFFSET, HAS_BEFORE_INPUT_SUPPORT, IS_ANDROID, IS_APPLE, IS_CHROME, IS_CHROME_LEGACY, IS_CLICKING, IS_DRAGGING, IS_EDGE_LEGACY, IS_FIREFOX, IS_FIREFOX_LEGACY, IS_FOCUSED, IS_IOS, IS_QQBROWSER, IS_READONLY, IS_SAFARI, IS_UC_MOBILE, IS_WECHATBROWSER, KEY_TO_ELEMENT, Key, NODE_TO_ELEMENT, NODE_TO_INDEX, NODE_TO_KEY, NODE_TO_PARENT, PLACEHOLDER_SYMBOL, SlateChildrenComponent, SlateDefaultStringComponent, SlateEditableComponent, SlateElementComponent, SlateErrorCode, SlateLeavesComponent, SlateModule, SlateStringComponent, check, getCardTargetAttribute, getClipboardData, getDefaultView, getEditableChild, getEditableChildAndIndex, getPlainText, getSlateFragmentAttribute, hasBeforeContextChange, hasBlockCard, hasBlockCardWithNode, hasShadowRoot, hotkeys, isCardCenterByTargetAttr, isCardLeft, isCardLeftByTargetAttr, isCardRightByTargetAttr, isComponentType, isDOMComment, isDOMElement, isDOMNode, isDOMSelection, isDOMText, isDecoratorRangeListEqual, isPlainTextOnlyPaste, isTemplateRef, isValid, normalize, normalizeDOMPoint, shallowCompare, withAngular };
3898
+ export { AngularEditor, BaseComponent, BaseElementComponent, BaseLeafComponent, BaseTextComponent, DOMComment, DOMElement, DOMNode, DOMRange, DOMSelection, DOMStaticRange, DOMText, EDITOR_TO_ELEMENT, EDITOR_TO_ON_CHANGE, EDITOR_TO_PLACEHOLDER, EDITOR_TO_WINDOW, ELEMENT_TO_COMPONENT, ELEMENT_TO_NODE, FAKE_LEFT_BLOCK_CARD_OFFSET, FAKE_RIGHT_BLOCK_CARD_OFFSET, HAS_BEFORE_INPUT_SUPPORT, IS_ANDROID, IS_APPLE, IS_CHROME, IS_CHROME_LEGACY, IS_CLICKING, IS_DRAGGING, IS_EDGE_LEGACY, IS_FIREFOX, IS_FIREFOX_LEGACY, IS_FOCUSED, IS_IOS, IS_QQBROWSER, IS_READONLY, IS_SAFARI, IS_UC_MOBILE, IS_WECHATBROWSER, KEY_TO_ELEMENT, Key, NODE_TO_ELEMENT, NODE_TO_INDEX, NODE_TO_KEY, NODE_TO_PARENT, PLACEHOLDER_SYMBOL, SlateChildrenComponent, SlateDefaultStringComponent, SlateEditableComponent, SlateElementComponent, SlateErrorCode, SlateLeavesComponent, SlateModule, SlateStringComponent, check, defaultScrollSelectionIntoView, getCardTargetAttribute, getClipboardData, getDefaultView, getEditableChild, getEditableChildAndIndex, getPlainText, getSlateFragmentAttribute, hasBeforeContextChange, hasBlockCard, hasBlockCardWithNode, hasShadowRoot, hotkeys, isCardCenterByTargetAttr, isCardLeft, isCardLeftByTargetAttr, isCardRightByTargetAttr, isComponentType, isDOMComment, isDOMElement, isDOMNode, isDOMSelection, isDOMText, isDecoratorRangeListEqual, isPlainTextOnlyPaste, isTemplateRef, isValid, normalize, normalizeDOMPoint, shallowCompare, withAngular };
3835
3899
  //# sourceMappingURL=slate-angular.mjs.map