slate-angular 1.9.1 → 13.0.0

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.
Files changed (65) hide show
  1. package/components/descendant/descendant.component.d.ts +2 -3
  2. package/{esm2015/components/block-card/block-card.component.js → esm2020/components/block-card/block-card.component.mjs} +5 -8
  3. package/{esm2015/components/children/children.component.js → esm2020/components/children/children.component.mjs} +3 -3
  4. package/esm2020/components/descendant/descendant.component.mjs +183 -0
  5. package/esm2020/components/editable/editable.component.mjs +1057 -0
  6. package/{esm2015/components/element/default-element.component.js → esm2020/components/element/default-element.component.mjs} +3 -3
  7. package/{esm2015/components/element/default-element.component.token.js → esm2020/components/element/default-element.component.token.mjs} +0 -0
  8. package/{esm2015/components/element/element.component.js → esm2020/components/element/element.component.mjs} +3 -3
  9. package/{esm2015/components/leaf/default-leaf.component.js → esm2020/components/leaf/default-leaf.component.mjs} +3 -3
  10. package/{esm2015/components/leaf/leaf.component.js → esm2020/components/leaf/leaf.component.mjs} +3 -3
  11. package/{esm2015/components/leaves/leaves.component.js → esm2020/components/leaves/leaves.component.mjs} +3 -3
  12. package/esm2020/components/string/string.component.mjs +73 -0
  13. package/esm2020/components/string/template.component.mjs +26 -0
  14. package/{esm2015/components/text/default-text.component.js → esm2020/components/text/default-text.component.mjs} +3 -3
  15. package/{esm2015/components/text/void-text.component.js → esm2020/components/text/void-text.component.mjs} +3 -3
  16. package/{esm2015/custom-event/BeforeInputEventPlugin.js → esm2020/custom-event/BeforeInputEventPlugin.mjs} +0 -0
  17. package/{esm2015/custom-event/DOMTopLevelEventTypes.js → esm2020/custom-event/DOMTopLevelEventTypes.mjs} +0 -0
  18. package/{esm2015/custom-event/FallbackCompositionState.js → esm2020/custom-event/FallbackCompositionState.mjs} +0 -0
  19. package/{esm2015/custom-event/before-input-polyfill.js → esm2020/custom-event/before-input-polyfill.mjs} +0 -0
  20. package/{esm2015/module.js → esm2020/module.mjs} +5 -6
  21. package/esm2020/plugins/angular-editor.mjs +565 -0
  22. package/esm2020/plugins/with-angular.mjs +214 -0
  23. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  24. package/{esm2015/slate-angular.js → esm2020/slate-angular.mjs} +0 -0
  25. package/{esm2015/types/error.js → esm2020/types/error.mjs} +0 -0
  26. package/{esm2015/types/feature.js → esm2020/types/feature.mjs} +0 -0
  27. package/{esm2015/types/index.js → esm2020/types/index.mjs} +1 -1
  28. package/{esm2015/types/view.js → esm2020/types/view.mjs} +0 -0
  29. package/esm2020/utils/block-card.mjs +25 -0
  30. package/{esm2015/utils/dom.js → esm2020/utils/dom.mjs} +0 -0
  31. package/esm2020/utils/environment.mjs +38 -0
  32. package/{esm2015/utils/global-normalize.js → esm2020/utils/global-normalize.mjs} +0 -0
  33. package/{esm2015/utils/hotkeys.js → esm2020/utils/hotkeys.mjs} +0 -0
  34. package/{esm2015/utils/index.js → esm2020/utils/index.mjs} +0 -0
  35. package/{esm2015/utils/key.js → esm2020/utils/key.mjs} +0 -0
  36. package/{esm2015/utils/lines.js → esm2020/utils/lines.mjs} +0 -0
  37. package/esm2020/utils/range-list.mjs +29 -0
  38. package/{esm2015/utils/view.js → esm2020/utils/view.mjs} +0 -0
  39. package/{esm2015/utils/weak-maps.js → esm2020/utils/weak-maps.mjs} +0 -0
  40. package/{esm2015/view/base.js → esm2020/view/base.mjs} +12 -12
  41. package/{esm2015/view/before-context-change.js → esm2020/view/before-context-change.mjs} +0 -0
  42. package/esm2020/view/container-item.mjs +102 -0
  43. package/{esm2015/view/container.js → esm2020/view/container.mjs} +3 -3
  44. package/{esm2015/view/context.js → esm2020/view/context.mjs} +0 -0
  45. package/fesm2015/{slate-angular.js → slate-angular.mjs} +88 -103
  46. package/fesm2015/slate-angular.mjs.map +1 -0
  47. package/fesm2020/slate-angular.mjs +3643 -0
  48. package/fesm2020/slate-angular.mjs.map +1 -0
  49. package/package.json +26 -6
  50. package/styles/index.scss +1 -1
  51. package/types/index.d.ts +1 -0
  52. package/view/container-item.d.ts +2 -3
  53. package/bundles/slate-angular.umd.js +0 -4296
  54. package/bundles/slate-angular.umd.js.map +0 -1
  55. package/esm2015/components/descendant/descendant.component.js +0 -179
  56. package/esm2015/components/editable/editable.component.js +0 -1063
  57. package/esm2015/components/string/string.component.js +0 -73
  58. package/esm2015/components/string/template.component.js +0 -30
  59. package/esm2015/plugins/angular-editor.js +0 -565
  60. package/esm2015/plugins/with-angular.js +0 -214
  61. package/esm2015/utils/block-card.js +0 -25
  62. package/esm2015/utils/environment.js +0 -36
  63. package/esm2015/utils/range-list.js +0 -30
  64. package/esm2015/view/container-item.js +0 -105
  65. package/fesm2015/slate-angular.js.map +0 -1
@@ -1,73 +0,0 @@
1
- import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
2
- import { Editor, Path, Node } from 'slate';
3
- import { ViewContainerItem } from '../../view/container-item';
4
- import { AngularEditor } from '../../plugins/angular-editor';
5
- import * as i0 from "@angular/core";
6
- export class SlateStringComponent extends ViewContainerItem {
7
- constructor(elementRef, viewContainerRef) {
8
- super(viewContainerRef, null);
9
- this.elementRef = elementRef;
10
- this.viewContainerRef = viewContainerRef;
11
- }
12
- ngOnInit() {
13
- this.createView();
14
- }
15
- ngOnChanges() {
16
- if (!this.initialized) {
17
- return;
18
- }
19
- this.updateView();
20
- }
21
- ngAfterViewInit() {
22
- this.elementRef.nativeElement.remove();
23
- }
24
- getViewType() {
25
- const path = AngularEditor.findPath(this.viewContext.editor, this.context.text);
26
- const parentPath = Path.parent(path);
27
- // COMPAT: Render text inside void nodes with a zero-width space.
28
- // So the node can contain selection but the text is not visible.
29
- if (this.viewContext.editor.isVoid(this.context.parent)) {
30
- return this.viewContext.templateComponent.emptyStringTemplate;
31
- }
32
- // COMPAT: If this is the last text node in an empty block, render a zero-
33
- // width space that will convert into a line break when copying and pasting
34
- // to support expected plain text.
35
- if (this.context.leaf.text === '' &&
36
- this.context.parent.children[this.context.parent.children.length - 1] === this.context.text &&
37
- !this.viewContext.editor.isInline(this.context.parent) &&
38
- Editor.string(this.viewContext.editor, parentPath) === '') {
39
- return this.viewContext.templateComponent.lineBreakEmptyStringTemplate;
40
- }
41
- // COMPAT: If the text is empty, it's because it's on the edge of an inline
42
- // node, so we render a zero-width space so that the selection can be
43
- // inserted next to it still.
44
- if (this.context.leaf.text === '') {
45
- return this.viewContext.templateComponent.emptyTextTemplate;
46
- }
47
- // COMPAT: Browsers will collapse trailing new lines at the end of blocks,
48
- // so we need to add an extra trailing new lines to prevent that.
49
- if (this.context.isLast && this.context.leaf.text.slice(-1) === '\n') {
50
- return this.viewContext.templateComponent.compatStringTemplate;
51
- }
52
- return this.viewContext.templateComponent.stringTemplate;
53
- }
54
- getContext() {
55
- return { text: this.context.leaf.text, elementStringLength: Node.string(this.context.parent).length };
56
- }
57
- memoizedContext(prev, next) {
58
- return false;
59
- }
60
- }
61
- SlateStringComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SlateStringComponent, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
62
- SlateStringComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: SlateStringComponent, selector: "span[slateString]", inputs: { context: "context" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SlateStringComponent, decorators: [{
64
- type: Component,
65
- args: [{
66
- selector: 'span[slateString]',
67
- template: '',
68
- changeDetection: ChangeDetectionStrategy.OnPush
69
- }]
70
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { context: [{
71
- type: Input
72
- }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL3N0cmluZy9zdHJpbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsS0FBSyxFQUNMLHVCQUF1QixFQUsxQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQU83RCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsaUJBQXFDO0lBRzNFLFlBQW9CLFVBQTJCLEVBQVksZ0JBQWtDO1FBQ3pGLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQURkLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBQVkscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUU1RixDQUFDO0lBRUYsUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ25CLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxXQUFXO1FBQ1AsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckMsaUVBQWlFO1FBQ2pFLGlFQUFpRTtRQUNqRSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3JELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQztTQUNqRTtRQUVELDBFQUEwRTtRQUMxRSwyRUFBMkU7UUFDM0Usa0NBQWtDO1FBQ2xDLElBQ0ksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJO1lBQzNGLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ3RELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUMzRDtZQUNFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyw0QkFBNEIsQ0FBQztTQUMxRTtRQUVELDJFQUEyRTtRQUMzRSxxRUFBcUU7UUFDckUsNkJBQTZCO1FBQzdCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEVBQUUsRUFBRTtZQUMvQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUM7U0FDL0Q7UUFFRCwwRUFBMEU7UUFDMUUsaUVBQWlFO1FBQ2pFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNsRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUM7U0FDbEU7UUFFRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDO0lBQzdELENBQUM7SUFFRCxVQUFVO1FBQ04sT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzFHLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBd0IsRUFBRSxJQUF3QjtRQUM5RCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOztpSEFsRVEsb0JBQW9CO3FHQUFwQixvQkFBb0IscUlBSG5CLEVBQUU7MkZBR0gsb0JBQW9CO2tCQUxoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDtnSUFFWSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBPbkluaXQsXG4gICAgSW5wdXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgT25DaGFuZ2VzLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBBZnRlclZpZXdJbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWRpdG9yLCBQYXRoLCBOb2RlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVmlld0NvbnRhaW5lckl0ZW0gfSBmcm9tICcuLi8uLi92aWV3L2NvbnRhaW5lci1pdGVtJztcbmltcG9ydCB7IFNsYXRlTGVhZkNvbnRleHQsIFNsYXRlU3RyaW5nQ29udGV4dCB9IGZyb20gJy4uLy4uL3ZpZXcvY29udGV4dCc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnLi4vLi4vcGx1Z2lucy9hbmd1bGFyLWVkaXRvcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc3BhbltzbGF0ZVN0cmluZ10nLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTbGF0ZVN0cmluZ0NvbXBvbmVudCBleHRlbmRzIFZpZXdDb250YWluZXJJdGVtPFNsYXRlU3RyaW5nQ29udGV4dD4gaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KCkgY29udGV4dDogU2xhdGVMZWFmQ29udGV4dDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxhbnk+LCBwcm90ZWN0ZWQgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBzdXBlcih2aWV3Q29udGFpbmVyUmVmLCBudWxsKTtcbiAgICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3JlYXRlVmlldygpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCkge1xuICAgICAgICBpZiAoIXRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZSgpO1xuICAgIH1cblxuICAgIGdldFZpZXdUeXBlKCkge1xuICAgICAgICBjb25zdCBwYXRoID0gQW5ndWxhckVkaXRvci5maW5kUGF0aCh0aGlzLnZpZXdDb250ZXh0LmVkaXRvciwgdGhpcy5jb250ZXh0LnRleHQpO1xuICAgICAgICBjb25zdCBwYXJlbnRQYXRoID0gUGF0aC5wYXJlbnQocGF0aCk7XG5cbiAgICAgICAgLy8gQ09NUEFUOiBSZW5kZXIgdGV4dCBpbnNpZGUgdm9pZCBub2RlcyB3aXRoIGEgemVyby13aWR0aCBzcGFjZS5cbiAgICAgICAgLy8gU28gdGhlIG5vZGUgY2FuIGNvbnRhaW4gc2VsZWN0aW9uIGJ1dCB0aGUgdGV4dCBpcyBub3QgdmlzaWJsZS5cbiAgICAgICAgaWYgKHRoaXMudmlld0NvbnRleHQuZWRpdG9yLmlzVm9pZCh0aGlzLmNvbnRleHQucGFyZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmlld0NvbnRleHQudGVtcGxhdGVDb21wb25lbnQuZW1wdHlTdHJpbmdUZW1wbGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENPTVBBVDogSWYgdGhpcyBpcyB0aGUgbGFzdCB0ZXh0IG5vZGUgaW4gYW4gZW1wdHkgYmxvY2ssIHJlbmRlciBhIHplcm8tXG4gICAgICAgIC8vIHdpZHRoIHNwYWNlIHRoYXQgd2lsbCBjb252ZXJ0IGludG8gYSBsaW5lIGJyZWFrIHdoZW4gY29weWluZyBhbmQgcGFzdGluZ1xuICAgICAgICAvLyB0byBzdXBwb3J0IGV4cGVjdGVkIHBsYWluIHRleHQuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC5sZWFmLnRleHQgPT09ICcnICYmXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQucGFyZW50LmNoaWxkcmVuW3RoaXMuY29udGV4dC5wYXJlbnQuY2hpbGRyZW4ubGVuZ3RoIC0gMV0gPT09IHRoaXMuY29udGV4dC50ZXh0ICYmXG4gICAgICAgICAgICAhdGhpcy52aWV3Q29udGV4dC5lZGl0b3IuaXNJbmxpbmUodGhpcy5jb250ZXh0LnBhcmVudCkgJiZcbiAgICAgICAgICAgIEVkaXRvci5zdHJpbmcodGhpcy52aWV3Q29udGV4dC5lZGl0b3IsIHBhcmVudFBhdGgpID09PSAnJ1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZpZXdDb250ZXh0LnRlbXBsYXRlQ29tcG9uZW50LmxpbmVCcmVha0VtcHR5U3RyaW5nVGVtcGxhdGU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDT01QQVQ6IElmIHRoZSB0ZXh0IGlzIGVtcHR5LCBpdCdzIGJlY2F1c2UgaXQncyBvbiB0aGUgZWRnZSBvZiBhbiBpbmxpbmVcbiAgICAgICAgLy8gbm9kZSwgc28gd2UgcmVuZGVyIGEgemVyby13aWR0aCBzcGFjZSBzbyB0aGF0IHRoZSBzZWxlY3Rpb24gY2FuIGJlXG4gICAgICAgIC8vIGluc2VydGVkIG5leHQgdG8gaXQgc3RpbGwuXG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQubGVhZi50ZXh0ID09PSAnJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmlld0NvbnRleHQudGVtcGxhdGVDb21wb25lbnQuZW1wdHlUZXh0VGVtcGxhdGU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDT01QQVQ6IEJyb3dzZXJzIHdpbGwgY29sbGFwc2UgdHJhaWxpbmcgbmV3IGxpbmVzIGF0IHRoZSBlbmQgb2YgYmxvY2tzLFxuICAgICAgICAvLyBzbyB3ZSBuZWVkIHRvIGFkZCBhbiBleHRyYSB0cmFpbGluZyBuZXcgbGluZXMgdG8gcHJldmVudCB0aGF0LlxuICAgICAgICBpZiAodGhpcy5jb250ZXh0LmlzTGFzdCAmJiB0aGlzLmNvbnRleHQubGVhZi50ZXh0LnNsaWNlKC0xKSA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZpZXdDb250ZXh0LnRlbXBsYXRlQ29tcG9uZW50LmNvbXBhdFN0cmluZ1RlbXBsYXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudmlld0NvbnRleHQudGVtcGxhdGVDb21wb25lbnQuc3RyaW5nVGVtcGxhdGU7XG4gICAgfVxuXG4gICAgZ2V0Q29udGV4dCgpOiBTbGF0ZVN0cmluZ0NvbnRleHQge1xuICAgICAgICByZXR1cm4geyB0ZXh0OiB0aGlzLmNvbnRleHQubGVhZi50ZXh0LCBlbGVtZW50U3RyaW5nTGVuZ3RoOiBOb2RlLnN0cmluZyh0aGlzLmNvbnRleHQucGFyZW50KS5sZW5ndGggfTtcbiAgICB9XG5cbiAgICBtZW1vaXplZENvbnRleHQocHJldjogU2xhdGVTdHJpbmdDb250ZXh0LCBuZXh0OiBTbGF0ZVN0cmluZ0NvbnRleHQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { Component, ChangeDetectionStrategy, ViewChild, TemplateRef } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class SlateStringTemplateComponent {
4
- }
5
- SlateStringTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SlateStringTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- SlateStringTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: SlateStringTemplateComponent, selector: "slate-string-template", viewQueries: [{ propertyName: "stringTemplate", first: true, predicate: ["stringTemplate"], descendants: true, read: TemplateRef, static: true }, { 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 #stringTemplate let-context=\"context\" let-viewContext=\"viewContext\">\n <span editable-text data-slate-string=\"true\">{{ context.text }}</span>\n</ng-template>\n<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\">{{ context.text }}<span data-slate-zero-width>{{'\\uFEFF'}}</span></span>\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'\n }}<br /></span>\n</ng-template>", changeDetection: i0.ChangeDetectionStrategy.OnPush });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SlateStringTemplateComponent, decorators: [{
8
- type: Component,
9
- args: [{
10
- selector: 'slate-string-template',
11
- templateUrl: 'template.component.html',
12
- changeDetection: ChangeDetectionStrategy.OnPush
13
- }]
14
- }], propDecorators: { stringTemplate: [{
15
- type: ViewChild,
16
- args: ['stringTemplate', { read: TemplateRef, static: true }]
17
- }], compatStringTemplate: [{
18
- type: ViewChild,
19
- args: ['compatStringTemplate', { read: TemplateRef, static: true }]
20
- }], emptyStringTemplate: [{
21
- type: ViewChild,
22
- args: ['emptyStringTemplate', { read: TemplateRef, static: true }]
23
- }], emptyTextTemplate: [{
24
- type: ViewChild,
25
- args: ['emptyTextTemplate', { read: TemplateRef, static: true }]
26
- }], lineBreakEmptyStringTemplate: [{
27
- type: ViewChild,
28
- args: ['lineBreakEmptyStringTemplate', { read: TemplateRef, static: true }]
29
- }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvc3RyaW5nL3RlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL3N0cmluZy90ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNkLE1BQU0sZUFBZSxDQUFDOztBQU92QixNQUFNLE9BQU8sNEJBQTRCOzt5SEFBNUIsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsMEpBQ0EsV0FBVyxxSUFHTCxXQUFXLG1JQUdaLFdBQVcsK0hBR2IsV0FBVyxxSkFHQSxXQUFXLDJDQ3pCbEUsK3FDQWdCYzsyRkRKRCw0QkFBNEI7a0JBTHhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsV0FBVyxFQUFFLHlCQUF5QjtvQkFDdEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzhCQUdHLGNBQWM7c0JBRGIsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJaEUsb0JBQW9CO3NCQURuQixTQUFTO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl0RSxtQkFBbUI7c0JBRGxCLFNBQVM7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXJFLGlCQUFpQjtzQkFEaEIsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJbkUsNEJBQTRCO3NCQUQzQixTQUFTO3VCQUFDLDhCQUE4QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgVmlld0NoaWxkLFxuICAgIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NsYXRlLXN0cmluZy10ZW1wbGF0ZScsXG4gICAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2xhdGVTdHJpbmdUZW1wbGF0ZUNvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZCgnc3RyaW5nVGVtcGxhdGUnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgICBzdHJpbmdUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2NvbXBhdFN0cmluZ1RlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gICAgY29tcGF0U3RyaW5nVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKCdlbXB0eVN0cmluZ1RlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gICAgZW1wdHlTdHJpbmdUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2VtcHR5VGV4dFRlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gICAgZW1wdHlUZXh0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKCdsaW5lQnJlYWtFbXB0eVN0cmluZ1RlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gICAgbGluZUJyZWFrRW1wdHlTdHJpbmdUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pjtcbn1cbiIsIjxuZy10ZW1wbGF0ZSAjc3RyaW5nVGVtcGxhdGUgbGV0LWNvbnRleHQ9XCJjb250ZXh0XCIgbGV0LXZpZXdDb250ZXh0PVwidmlld0NvbnRleHRcIj5cbiAgICA8c3BhbiBlZGl0YWJsZS10ZXh0IGRhdGEtc2xhdGUtc3RyaW5nPVwidHJ1ZVwiPnt7IGNvbnRleHQudGV4dCB9fTwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2NvbXBhdFN0cmluZ1RlbXBsYXRlIGxldC1jb250ZXh0PVwiY29udGV4dFwiIGxldC12aWV3Q29udGV4dD1cInZpZXdDb250ZXh0XCI+XG4gICAgPCEtLSBDb21wYXRpYmxlIHdpdGggQ2hpbmVzZSBpbnB1dCBpbiBDaHJvbWUgd2l0aCBcXG4gLS0+XG4gICAgPHNwYW4gZWRpdGFibGUtdGV4dCBkYXRhLXNsYXRlLXN0cmluZz1cInRydWVcIj57eyBjb250ZXh0LnRleHQgfX08c3BhbiBkYXRhLXNsYXRlLXplcm8td2lkdGg+e3snXFx1RkVGRid9fTwvc3Bhbj48L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNlbXB0eVN0cmluZ1RlbXBsYXRlIGxldC1jb250ZXh0PVwiY29udGV4dFwiIGxldC12aWV3Q29udGV4dD1cInZpZXdDb250ZXh0XCI+XG4gICAgPHNwYW4gZWRpdGFibGUtdGV4dCBkYXRhLXNsYXRlLXplcm8td2lkdGg9XCJ6XCIgYXR0ci5kYXRhLXNsYXRlLWxlbmd0aD1cInt7IGNvbnRleHQuZWxlbWVudFN0cmluZ0xlbmd0aCB9fVwiPnt7ICdcXHVGRUZGJyB9fTwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2VtcHR5VGV4dFRlbXBsYXRlIGxldC1jb250ZXh0PVwiY29udGV4dFwiIGxldC12aWV3Q29udGV4dD1cInZpZXdDb250ZXh0XCI+XG4gICAgPHNwYW4gZWRpdGFibGUtdGV4dCBkYXRhLXNsYXRlLXplcm8td2lkdGg9XCJ6XCIgZGF0YS1zbGF0ZS1sZW5ndGg9XCIwXCI+e3sgJ1xcdUZFRkYnIH19PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjbGluZUJyZWFrRW1wdHlTdHJpbmdUZW1wbGF0ZSBsZXQtY29udGV4dD1cImNvbnRleHRcIiBsZXQtdmlld0NvbnRleHQ9XCJ2aWV3Q29udGV4dFwiPlxuICAgIDxzcGFuIGVkaXRhYmxlLXRleHQgZGF0YS1zbGF0ZS16ZXJvLXdpZHRoPVwiblwiIGF0dHIuZGF0YS1zbGF0ZS1sZW5ndGg9XCJ7eyBjb250ZXh0LmVsZW1lbnRTdHJpbmdMZW5ndGggfX1cIj57eyAnXFx1RkVGRidcbiAgICAgICAgfX08YnIgLz48L3NwYW4+XG48L25nLXRlbXBsYXRlPiJdfQ==