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

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,57 @@ 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
+ this.removeLineBreakEmptyStringDOM();
14
+ }
15
+ if (this.context.type === 'string') {
16
+ if (value.type === 'lineBreakEmptyString') {
17
+ this.removeStringDOM();
18
+ }
19
+ }
20
+ }
21
+ }
10
22
  onContextChange() {
23
+ if (this.context.type === 'string') {
24
+ this.createStringDOM();
25
+ }
26
+ else if (this.context.type === 'lineBreakEmptyString') {
27
+ this.createLineBreakEmptyStringDOM();
28
+ }
29
+ }
30
+ createLineBreakEmptyStringDOM() {
31
+ this.nativeElement.setAttribute('data-slate-zero-width', 'n');
32
+ this.nativeElement.setAttribute('data-slate-length', `${this.context.elementStringLength}`);
33
+ this.textNode = document.createTextNode(`\uFEFF`);
34
+ this.brNode = document.createElement('br');
35
+ this.nativeElement.append(this.textNode, this.brNode);
36
+ }
37
+ removeLineBreakEmptyStringDOM() {
38
+ this.brNode?.remove();
39
+ // remove zero width character
40
+ const zeroWidthCharacterIndex = this.textNode?.textContent.indexOf(`\uFEFF`);
41
+ this.textNode?.deleteData(zeroWidthCharacterIndex, 1);
42
+ this.nativeElement.removeAttribute('data-slate-zero-width');
43
+ this.nativeElement.removeAttribute('data-slate-length');
44
+ }
45
+ createStringDOM() {
46
+ this.nativeElement.setAttribute('data-slate-string', 'true');
47
+ this.updateStringDOM();
48
+ }
49
+ updateStringDOM() {
11
50
  // Avoid breaking some browser default behaviors, such as spellCheck, android composition input state
12
51
  if (this.nativeElement.textContent !== this.context.text) {
13
52
  this.nativeElement.textContent = this.context.text;
14
53
  }
15
54
  }
55
+ removeStringDOM() {
56
+ this.nativeElement.removeAttribute('data-slate-string');
57
+ this.nativeElement.textContent = '';
58
+ }
16
59
  ngOnInit() {
17
60
  this.nativeElement.setAttribute('editable-text', '');
18
- this.nativeElement.setAttribute('data-slate-string', 'true');
19
61
  }
20
62
  }
21
63
  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 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
28
70
  changeDetection: ChangeDetectionStrategy.OnPush
29
71
  }]
30
72
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zdHJpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvc3RyaW5nL2RlZmF1bHQtc3RyaW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLHVCQUF1QixFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUUxRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBT2hELE1BQU0sT0FBTywyQkFBNEIsU0FBUSxhQUFpQztJQUM5RSxZQUFtQixVQUEyQixFQUFTLEdBQXNCO1FBQ3pFLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFEUixlQUFVLEdBQVYsVUFBVSxDQUFpQjtRQUFTLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBRTdFLENBQUM7SUFFRCxlQUFlO1FBQ1gscUdBQXFHO1FBQ3JHLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDdEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7U0FDdEQ7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNqRSxDQUFDOzt3SEFmUSwyQkFBMkI7NEdBQTNCLDJCQUEyQix1RkFIMUIsRUFBRTsyRkFHSCwyQkFBMkI7a0JBTHZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBFbGVtZW50UmVmLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2xhdGVTdHJpbmdDb250ZXh0IH0gZnJvbSAnLi4vLi4vdmlldy9jb250ZXh0JztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi92aWV3L2Jhc2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NwYW5bc2xhdGVEZWZhdWx0U3RyaW5nXScsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNsYXRlRGVmYXVsdFN0cmluZ0NvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQ8U2xhdGVTdHJpbmdDb250ZXh0PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8YW55PiwgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcbiAgICB9XG5cbiAgICBvbkNvbnRleHRDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIC8vIEF2b2lkIGJyZWFraW5nIHNvbWUgYnJvd3NlciBkZWZhdWx0IGJlaGF2aW9ycywgc3VjaCBhcyBzcGVsbENoZWNrLCBhbmRyb2lkIGNvbXBvc2l0aW9uIGlucHV0IHN0YXRlXG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQgIT09IHRoaXMuY29udGV4dC50ZXh0KSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlzLmNvbnRleHQudGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdlZGl0YWJsZS10ZXh0JywgJycpO1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLXNsYXRlLXN0cmluZycsICd0cnVlJyk7XG4gICAgfVxufVxuIl19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zdHJpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvc3RyaW5nL2RlZmF1bHQtc3RyaW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLHVCQUF1QixFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUUxRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBU2hELE1BQU0sT0FBTywyQkFDVCxTQUFRLGFBQWlDO0lBTXpDLFlBQW1CLFVBQTJCLEVBQVMsR0FBc0I7UUFDekUsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQURSLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBQVMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFFN0UsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQXlCO1FBQ3pDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssc0JBQXNCLEVBQUU7Z0JBQzlDLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO2FBQ3hDO1lBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQ2hDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxzQkFBc0IsRUFBRTtvQkFDdkMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2lCQUMxQjthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUMxQjthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssc0JBQXNCLEVBQUU7WUFDckQsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7U0FDeEM7SUFDTCxDQUFDO0lBRUQsNkJBQTZCO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUM7UUFDNUYsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsNkJBQTZCO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDdEIsOEJBQThCO1FBQzlCLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZUFBZTtRQUNYLHFHQUFxRztRQUNyRyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1NBQ3REO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDOzt3SEFwRVEsMkJBQTJCOzRHQUEzQiwyQkFBMkIsdUZBSDFCLEVBQUU7MkZBR0gsMkJBQTJCO2tCQUx2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgRWxlbWVudFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNsYXRlU3RyaW5nQ29udGV4dCB9IGZyb20gJy4uLy4uL3ZpZXcvY29udGV4dCc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9iYXNlJztcbmltcG9ydCB7IEJlZm9yZUNvbnRleHRDaGFuZ2UgfSBmcm9tICcuLi8uLi92aWV3L2JlZm9yZS1jb250ZXh0LWNoYW5nZSc7XG5pbXBvcnQgeyBET01FbGVtZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvZG9tJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzcGFuW3NsYXRlRGVmYXVsdFN0cmluZ10nLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTbGF0ZURlZmF1bHRTdHJpbmdDb21wb25lbnRcbiAgICBleHRlbmRzIEJhc2VDb21wb25lbnQ8U2xhdGVTdHJpbmdDb250ZXh0PlxuICAgIGltcGxlbWVudHMgT25Jbml0LCBCZWZvcmVDb250ZXh0Q2hhbmdlPFNsYXRlU3RyaW5nQ29udGV4dD5cbntcbiAgICB0ZXh0Tm9kZT86IFRleHQ7XG4gICAgYnJOb2RlPzogRE9NRWxlbWVudDtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPGFueT4sIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XG4gICAgfVxuXG4gICAgYmVmb3JlQ29udGV4dENoYW5nZSh2YWx1ZTogU2xhdGVTdHJpbmdDb250ZXh0KSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRleHQudHlwZSA9PT0gJ2xpbmVCcmVha0VtcHR5U3RyaW5nJykge1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlTGluZUJyZWFrRW1wdHlTdHJpbmdET00oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRleHQudHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUudHlwZSA9PT0gJ2xpbmVCcmVha0VtcHR5U3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVN0cmluZ0RPTSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ29udGV4dENoYW5nZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dC50eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVTdHJpbmdET00oKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbnRleHQudHlwZSA9PT0gJ2xpbmVCcmVha0VtcHR5U3RyaW5nJykge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVMaW5lQnJlYWtFbXB0eVN0cmluZ0RPTSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY3JlYXRlTGluZUJyZWFrRW1wdHlTdHJpbmdET00oKSB7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2xhdGUtemVyby13aWR0aCcsICduJyk7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2xhdGUtbGVuZ3RoJywgYCR7dGhpcy5jb250ZXh0LmVsZW1lbnRTdHJpbmdMZW5ndGh9YCk7XG4gICAgICAgIHRoaXMudGV4dE5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShgXFx1RkVGRmApO1xuICAgICAgICB0aGlzLmJyTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2JyJyk7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5hcHBlbmQodGhpcy50ZXh0Tm9kZSwgdGhpcy5ick5vZGUpO1xuICAgIH1cblxuICAgIHJlbW92ZUxpbmVCcmVha0VtcHR5U3RyaW5nRE9NKCkge1xuICAgICAgICB0aGlzLmJyTm9kZT8ucmVtb3ZlKCk7XG4gICAgICAgIC8vIHJlbW92ZSB6ZXJvIHdpZHRoIGNoYXJhY3RlclxuICAgICAgICBjb25zdCB6ZXJvV2lkdGhDaGFyYWN0ZXJJbmRleCA9IHRoaXMudGV4dE5vZGU/LnRleHRDb250ZW50LmluZGV4T2YoYFxcdUZFRkZgKTtcbiAgICAgICAgdGhpcy50ZXh0Tm9kZT8uZGVsZXRlRGF0YSh6ZXJvV2lkdGhDaGFyYWN0ZXJJbmRleCwgMSk7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtc2xhdGUtemVyby13aWR0aCcpO1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXNsYXRlLWxlbmd0aCcpO1xuICAgIH1cblxuICAgIGNyZWF0ZVN0cmluZ0RPTSgpIHtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1zbGF0ZS1zdHJpbmcnLCAndHJ1ZScpO1xuICAgICAgICB0aGlzLnVwZGF0ZVN0cmluZ0RPTSgpO1xuICAgIH1cblxuICAgIHVwZGF0ZVN0cmluZ0RPTSgpIHtcbiAgICAgICAgLy8gQXZvaWQgYnJlYWtpbmcgc29tZSBicm93c2VyIGRlZmF1bHQgYmVoYXZpb3JzLCBzdWNoIGFzIHNwZWxsQ2hlY2ssIGFuZHJvaWQgY29tcG9zaXRpb24gaW5wdXQgc3RhdGVcbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudCAhPT0gdGhpcy5jb250ZXh0LnRleHQpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudCA9IHRoaXMuY29udGV4dC50ZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVtb3ZlU3RyaW5nRE9NKCkge1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXNsYXRlLXN0cmluZycpO1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQgPSAnJztcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnZWRpdGFibGUtdGV4dCcsICcnKTtcbiAgICB9XG59XG4iXX0=
@@ -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,58 @@ class SlateDefaultStringComponent extends BaseComponent {
2107
2101
  this.elementRef = elementRef;
2108
2102
  this.cdr = cdr;
2109
2103
  }
2104
+ beforeContextChange(value) {
2105
+ if (this.context) {
2106
+ if (this.context.type === 'lineBreakEmptyString') {
2107
+ this.removeLineBreakEmptyStringDOM();
2108
+ }
2109
+ if (this.context.type === 'string') {
2110
+ if (value.type === 'lineBreakEmptyString') {
2111
+ this.removeStringDOM();
2112
+ }
2113
+ }
2114
+ }
2115
+ }
2110
2116
  onContextChange() {
2117
+ if (this.context.type === 'string') {
2118
+ this.createStringDOM();
2119
+ }
2120
+ else if (this.context.type === 'lineBreakEmptyString') {
2121
+ this.createLineBreakEmptyStringDOM();
2122
+ }
2123
+ }
2124
+ createLineBreakEmptyStringDOM() {
2125
+ this.nativeElement.setAttribute('data-slate-zero-width', 'n');
2126
+ this.nativeElement.setAttribute('data-slate-length', `${this.context.elementStringLength}`);
2127
+ this.textNode = document.createTextNode(`\uFEFF`);
2128
+ this.brNode = document.createElement('br');
2129
+ this.nativeElement.append(this.textNode, this.brNode);
2130
+ }
2131
+ removeLineBreakEmptyStringDOM() {
2132
+ var _a, _b, _c;
2133
+ (_a = this.brNode) === null || _a === void 0 ? void 0 : _a.remove();
2134
+ // remove zero width character
2135
+ const zeroWidthCharacterIndex = (_b = this.textNode) === null || _b === void 0 ? void 0 : _b.textContent.indexOf(`\uFEFF`);
2136
+ (_c = this.textNode) === null || _c === void 0 ? void 0 : _c.deleteData(zeroWidthCharacterIndex, 1);
2137
+ this.nativeElement.removeAttribute('data-slate-zero-width');
2138
+ this.nativeElement.removeAttribute('data-slate-length');
2139
+ }
2140
+ createStringDOM() {
2141
+ this.nativeElement.setAttribute('data-slate-string', 'true');
2142
+ this.updateStringDOM();
2143
+ }
2144
+ updateStringDOM() {
2111
2145
  // Avoid breaking some browser default behaviors, such as spellCheck, android composition input state
2112
2146
  if (this.nativeElement.textContent !== this.context.text) {
2113
2147
  this.nativeElement.textContent = this.context.text;
2114
2148
  }
2115
2149
  }
2150
+ removeStringDOM() {
2151
+ this.nativeElement.removeAttribute('data-slate-string');
2152
+ this.nativeElement.textContent = '';
2153
+ }
2116
2154
  ngOnInit() {
2117
2155
  this.nativeElement.setAttribute('editable-text', '');
2118
- this.nativeElement.setAttribute('data-slate-string', 'true');
2119
2156
  }
2120
2157
  }
2121
2158
  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 +2184,60 @@ class SlateStringComponent extends ViewContainerItem {
2147
2184
  ngAfterViewInit() {
2148
2185
  this.elementRef.nativeElement.remove();
2149
2186
  }
2150
- getViewType() {
2187
+ // COMPAT: If this is the last text node in an empty block, render a zero-
2188
+ // width space that will convert into a line break when copying and pasting
2189
+ // to support expected plain text.
2190
+ isLineBreakEmptyString() {
2151
2191
  const path = AngularEditor.findPath(this.viewContext.editor, this.context.text);
2152
2192
  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 === '' &&
2193
+ return (this.context.leaf.text === '' &&
2162
2194
  this.context.parent.children[this.context.parent.children.length - 1] === this.context.text &&
2163
2195
  !this.viewContext.editor.isInline(this.context.parent) &&
2164
- Editor.string(this.viewContext.editor, parentPath) === '') {
2165
- return this.viewContext.templateComponent.lineBreakEmptyStringTemplate;
2196
+ Editor.string(this.viewContext.editor, parentPath) === '');
2197
+ }
2198
+ // COMPAT: If the text is empty, it's because it's on the edge of an inline
2199
+ // node, so we render a zero-width space so that the selection can be
2200
+ // inserted next to it still.
2201
+ isEmptyText() {
2202
+ return this.context.leaf.text === '';
2203
+ }
2204
+ // COMPAT: Browsers will collapse trailing new lines at the end of blocks,
2205
+ // so we need to add an extra trailing new lines to prevent that.
2206
+ isCompatibleString() {
2207
+ return this.context.isLast && this.context.leaf.text.slice(-1) === '\n';
2208
+ }
2209
+ // COMPAT: Render text inside void nodes with a zero-width space.
2210
+ // So the node can contain selection but the text is not visible.
2211
+ isVoid() {
2212
+ return this.viewContext.editor.isVoid(this.context.parent);
2213
+ }
2214
+ getViewType() {
2215
+ if (this.isVoid()) {
2216
+ return this.viewContext.templateComponent.voidStringTemplate;
2217
+ }
2218
+ if (this.isLineBreakEmptyString()) {
2219
+ return SlateDefaultStringComponent;
2166
2220
  }
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 === '') {
2221
+ if (this.isEmptyText()) {
2171
2222
  return this.viewContext.templateComponent.emptyTextTemplate;
2172
2223
  }
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;
2224
+ if (this.isCompatibleString()) {
2225
+ return this.viewContext.templateComponent.compatibleStringTemplate;
2177
2226
  }
2178
2227
  return SlateDefaultStringComponent;
2179
2228
  }
2229
+ getType() {
2230
+ if (this.isLineBreakEmptyString()) {
2231
+ return 'lineBreakEmptyString';
2232
+ }
2233
+ return 'string';
2234
+ }
2180
2235
  getContext() {
2236
+ const stringType = this.getType();
2181
2237
  return {
2182
2238
  text: this.context.leaf.text,
2183
- elementStringLength: Node.string(this.context.parent).length
2239
+ elementStringLength: Node.string(this.context.parent).length,
2240
+ type: stringType
2184
2241
  };
2185
2242
  }
2186
2243
  memoizedContext(prev, next) {
@@ -2264,10 +2321,10 @@ class SlateLeavesComponent extends ViewContainer {
2264
2321
  }
2265
2322
  ngOnInit() {
2266
2323
  this.leaves = Text$1.decorations(this.context.text, this.context.decorations);
2267
- this.leafContexts = this.getLeafCotexts();
2324
+ this.leafContexts = this.getLeafContexts();
2268
2325
  this.initialized = true;
2269
2326
  }
2270
- getLeafCotexts() {
2327
+ getLeafContexts() {
2271
2328
  return this.leaves.map((leaf, index) => {
2272
2329
  return {
2273
2330
  leaf,
@@ -2288,7 +2345,7 @@ class SlateLeavesComponent extends ViewContainer {
2288
2345
  if (previousValue.text !== currentValue.text || !isDecoratorRangeListEqual(previousValue.decorations, currentValue.decorations)) {
2289
2346
  this.leaves = Text$1.decorations(this.context.text, this.context.decorations);
2290
2347
  }
2291
- this.leafContexts = this.getLeafCotexts();
2348
+ this.leafContexts = this.getLeafContexts();
2292
2349
  }
2293
2350
  trackBy(index, item) {
2294
2351
  return index;
@@ -2633,7 +2690,7 @@ class SlateEditableComponent {
2633
2690
  this.initializeViewContext();
2634
2691
  this.initializeContext();
2635
2692
  // remove unused DOM, just keep templateComponent instance
2636
- this.templateElementRef.nativeElement.remove();
2693
+ // this.templateElementRef.nativeElement.remove();
2637
2694
  // add browser class
2638
2695
  let browserClass = IS_FIREFOX ? 'firefox' : IS_SAFARI ? 'safari' : '';
2639
2696
  browserClass && this.elementRef.nativeElement.classList.add(browserClass);