slate-angular 1.9.3 → 13.0.2
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.
- package/components/descendant/descendant.component.d.ts +2 -3
- package/{esm2015/components/block-card/block-card.component.js → esm2020/components/block-card/block-card.component.mjs} +5 -8
- package/{esm2015/components/children/children.component.js → esm2020/components/children/children.component.mjs} +3 -3
- package/esm2020/components/descendant/descendant.component.mjs +183 -0
- package/esm2020/components/editable/editable.component.mjs +1057 -0
- package/{esm2015/components/element/default-element.component.js → esm2020/components/element/default-element.component.mjs} +3 -3
- package/{esm2015/components/element/default-element.component.token.js → esm2020/components/element/default-element.component.token.mjs} +0 -0
- package/{esm2015/components/element/element.component.js → esm2020/components/element/element.component.mjs} +3 -3
- package/{esm2015/components/leaf/default-leaf.component.js → esm2020/components/leaf/default-leaf.component.mjs} +3 -3
- package/{esm2015/components/leaf/leaf.component.js → esm2020/components/leaf/leaf.component.mjs} +3 -3
- package/{esm2015/components/leaves/leaves.component.js → esm2020/components/leaves/leaves.component.mjs} +3 -3
- package/esm2020/components/string/string.component.mjs +73 -0
- package/esm2020/components/string/template.component.mjs +26 -0
- package/{esm2015/components/text/default-text.component.js → esm2020/components/text/default-text.component.mjs} +3 -3
- package/{esm2015/components/text/void-text.component.js → esm2020/components/text/void-text.component.mjs} +3 -3
- package/{esm2015/custom-event/BeforeInputEventPlugin.js → esm2020/custom-event/BeforeInputEventPlugin.mjs} +0 -0
- package/{esm2015/custom-event/DOMTopLevelEventTypes.js → esm2020/custom-event/DOMTopLevelEventTypes.mjs} +0 -0
- package/{esm2015/custom-event/FallbackCompositionState.js → esm2020/custom-event/FallbackCompositionState.mjs} +0 -0
- package/{esm2015/custom-event/before-input-polyfill.js → esm2020/custom-event/before-input-polyfill.mjs} +0 -0
- package/{esm2015/module.js → esm2020/module.mjs} +5 -6
- package/esm2020/plugins/angular-editor.mjs +565 -0
- package/{esm2015/plugins/with-angular.js → esm2020/plugins/with-angular.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/{esm2015/slate-angular.js → esm2020/slate-angular.mjs} +0 -0
- package/{esm2015/types/error.js → esm2020/types/error.mjs} +0 -0
- package/{esm2015/types/feature.js → esm2020/types/feature.mjs} +0 -0
- package/{esm2015/types/index.js → esm2020/types/index.mjs} +1 -1
- package/{esm2015/types/view.js → esm2020/types/view.mjs} +0 -0
- package/esm2020/utils/block-card.mjs +25 -0
- package/{esm2015/utils/dom.js → esm2020/utils/dom.mjs} +0 -0
- package/{esm2015/utils/environment.js → esm2020/utils/environment.mjs} +0 -0
- package/{esm2015/utils/global-normalize.js → esm2020/utils/global-normalize.mjs} +0 -0
- package/{esm2015/utils/hotkeys.js → esm2020/utils/hotkeys.mjs} +0 -0
- package/{esm2015/utils/index.js → esm2020/utils/index.mjs} +0 -0
- package/{esm2015/utils/key.js → esm2020/utils/key.mjs} +0 -0
- package/{esm2015/utils/lines.js → esm2020/utils/lines.mjs} +0 -0
- package/esm2020/utils/range-list.mjs +29 -0
- package/{esm2015/utils/view.js → esm2020/utils/view.mjs} +0 -0
- package/{esm2015/utils/weak-maps.js → esm2020/utils/weak-maps.mjs} +0 -0
- package/{esm2015/view/base.js → esm2020/view/base.mjs} +12 -12
- package/{esm2015/view/before-context-change.js → esm2020/view/before-context-change.mjs} +0 -0
- package/esm2020/view/container-item.mjs +102 -0
- package/{esm2015/view/container.js → esm2020/view/container.mjs} +3 -3
- package/{esm2015/view/context.js → esm2020/view/context.mjs} +0 -0
- package/fesm2015/{slate-angular.js → slate-angular.mjs} +83 -100
- package/fesm2015/slate-angular.mjs.map +1 -0
- package/fesm2020/slate-angular.mjs +3643 -0
- package/fesm2020/slate-angular.mjs.map +1 -0
- package/package.json +30 -6
- package/styles/index.scss +1 -1
- package/types/index.d.ts +1 -0
- package/view/container-item.d.ts +2 -3
- package/bundles/slate-angular.umd.js +0 -4298
- package/bundles/slate-angular.umd.js.map +0 -1
- package/esm2015/components/descendant/descendant.component.js +0 -179
- package/esm2015/components/editable/editable.component.js +0 -1063
- package/esm2015/components/string/string.component.js +0 -73
- package/esm2015/components/string/template.component.js +0 -30
- package/esm2015/plugins/angular-editor.js +0 -565
- package/esm2015/utils/block-card.js +0 -25
- package/esm2015/utils/range-list.js +0 -30
- package/esm2015/view/container-item.js +0 -105
- 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==
|