slate-angular 18.0.1 → 19.0.0-next.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 (63) hide show
  1. package/fesm2022/slate-angular.mjs +120 -130
  2. package/fesm2022/slate-angular.mjs.map +1 -1
  3. package/package.json +1 -3
  4. package/view/base.d.ts +4 -4
  5. package/view/container-item.d.ts +1 -1
  6. package/view/container.d.ts +1 -1
  7. package/esm2022/components/block-card/block-card.component.mjs +0 -33
  8. package/esm2022/components/children/children-outlet.component.mjs +0 -22
  9. package/esm2022/components/children/children.component.mjs +0 -23
  10. package/esm2022/components/editable/editable.component.mjs +0 -1266
  11. package/esm2022/components/element/default-element.component.mjs +0 -19
  12. package/esm2022/components/element/default-element.component.token.mjs +0 -3
  13. package/esm2022/components/element/element.component.mjs +0 -19
  14. package/esm2022/components/leaf/default-leaf.component.mjs +0 -30
  15. package/esm2022/components/leaf/token.mjs +0 -3
  16. package/esm2022/components/leaves/leaves.component.mjs +0 -25
  17. package/esm2022/components/string/default-string.component.mjs +0 -75
  18. package/esm2022/components/string/string.component.mjs +0 -108
  19. package/esm2022/components/string/template.component.mjs +0 -20
  20. package/esm2022/components/text/default-text.component.mjs +0 -22
  21. package/esm2022/components/text/token.mjs +0 -4
  22. package/esm2022/components/text/void-text.component.mjs +0 -32
  23. package/esm2022/custom-event/BeforeInputEventPlugin.mjs +0 -251
  24. package/esm2022/custom-event/DOMTopLevelEventTypes.mjs +0 -13
  25. package/esm2022/custom-event/FallbackCompositionState.mjs +0 -62
  26. package/esm2022/custom-event/before-input-polyfill.mjs +0 -13
  27. package/esm2022/module.mjs +0 -69
  28. package/esm2022/plugins/angular-editor.mjs +0 -610
  29. package/esm2022/plugins/with-angular.mjs +0 -217
  30. package/esm2022/public-api.mjs +0 -20
  31. package/esm2022/slate-angular.mjs +0 -5
  32. package/esm2022/types/clipboard.mjs +0 -2
  33. package/esm2022/types/error.mjs +0 -12
  34. package/esm2022/types/feature.mjs +0 -2
  35. package/esm2022/types/index.mjs +0 -5
  36. package/esm2022/types/view.mjs +0 -2
  37. package/esm2022/utils/block-card.mjs +0 -25
  38. package/esm2022/utils/clipboard/clipboard.mjs +0 -78
  39. package/esm2022/utils/clipboard/common.mjs +0 -42
  40. package/esm2022/utils/clipboard/data-transfer.mjs +0 -44
  41. package/esm2022/utils/clipboard/index.mjs +0 -5
  42. package/esm2022/utils/clipboard/navigator-clipboard.mjs +0 -59
  43. package/esm2022/utils/constants.mjs +0 -2
  44. package/esm2022/utils/dom.mjs +0 -165
  45. package/esm2022/utils/environment.mjs +0 -34
  46. package/esm2022/utils/global-normalize.mjs +0 -11
  47. package/esm2022/utils/hotkeys.mjs +0 -99
  48. package/esm2022/utils/index.mjs +0 -12
  49. package/esm2022/utils/key.mjs +0 -14
  50. package/esm2022/utils/lines.mjs +0 -46
  51. package/esm2022/utils/range-list.mjs +0 -29
  52. package/esm2022/utils/restore-dom.mjs +0 -33
  53. package/esm2022/utils/throttle.mjs +0 -18
  54. package/esm2022/utils/view.mjs +0 -8
  55. package/esm2022/utils/weak-maps.mjs +0 -40
  56. package/esm2022/view/base.mjs +0 -273
  57. package/esm2022/view/container-item.mjs +0 -108
  58. package/esm2022/view/container.mjs +0 -22
  59. package/esm2022/view/context-change.mjs +0 -13
  60. package/esm2022/view/context.mjs +0 -2
  61. package/esm2022/view/render/leaves-render.mjs +0 -107
  62. package/esm2022/view/render/list-render.mjs +0 -302
  63. package/esm2022/view/render/utils.mjs +0 -110
@@ -1,19 +0,0 @@
1
- import { Component, ChangeDetectionStrategy } from '@angular/core';
2
- import { BaseElementComponent } from '../../view/base';
3
- import { SlateChildren } from '../children/children.component';
4
- import * as i0 from "@angular/core";
5
- export class SlateDefaultElement extends BaseElementComponent {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SlateDefaultElement, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: SlateDefaultElement, isStandalone: true, selector: "div[slateDefaultElement]", usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SlateDefaultElement, decorators: [{
10
- type: Component,
11
- args: [{
12
- selector: 'div[slateDefaultElement]',
13
- template: ``,
14
- changeDetection: ChangeDetectionStrategy.OnPush,
15
- standalone: true,
16
- imports: [SlateChildren]
17
- }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL2VsZW1lbnQvZGVmYXVsdC1lbGVtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFTL0QsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG9CQUFvQjs4R0FBaEQsbUJBQW1CO2tHQUFuQixtQkFBbUIsMkdBTGxCLEVBQUU7OzJGQUtILG1CQUFtQjtrQkFQL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3ZpZXcvYmFzZSc7XG5pbXBvcnQgeyBTbGF0ZUNoaWxkcmVuIH0gZnJvbSAnLi4vY2hpbGRyZW4vY2hpbGRyZW4uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkaXZbc2xhdGVEZWZhdWx0RWxlbWVudF0nLFxuICAgIHRlbXBsYXRlOiBgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtTbGF0ZUNoaWxkcmVuXVxufSlcbmV4cG9ydCBjbGFzcyBTbGF0ZURlZmF1bHRFbGVtZW50IGV4dGVuZHMgQmFzZUVsZW1lbnRDb21wb25lbnQge31cbiJdfQ==
@@ -1,3 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export const SLATE_DEFAULT_ELEMENT_COMPONENT_TOKEN = new InjectionToken('slate-default-element-token');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1lbGVtZW50LmNvbXBvbmVudC50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL2VsZW1lbnQvZGVmYXVsdC1lbGVtZW50LmNvbXBvbmVudC50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSS9DLE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLElBQUksY0FBYyxDQUFzQyw2QkFBNkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICcuLi8uLi90eXBlcy92aWV3JztcbmltcG9ydCB7IEJhc2VFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9iYXNlJztcblxuZXhwb3J0IGNvbnN0IFNMQVRFX0RFRkFVTFRfRUxFTUVOVF9DT01QT05FTlRfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29tcG9uZW50VHlwZTxCYXNlRWxlbWVudENvbXBvbmVudD4+KCdzbGF0ZS1kZWZhdWx0LWVsZW1lbnQtdG9rZW4nKTtcbiJdfQ==
@@ -1,19 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { BaseElementComponent } from '../../view/base';
3
- import { SlateChildren } from '../children/children.component';
4
- import * as i0 from "@angular/core";
5
- export class SlateElement extends BaseElementComponent {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SlateElement, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: SlateElement, isStandalone: true, selector: "[slateElement]", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SlateElement, decorators: [{
10
- type: Component,
11
- args: [{
12
- selector: '[slateElement]',
13
- template: '<ng-content></ng-content>',
14
- changeDetection: ChangeDetectionStrategy.OnPush,
15
- standalone: true,
16
- imports: [SlateChildren]
17
- }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29tcG9uZW50cy9lbGVtZW50L2VsZW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQVMvRCxNQUFNLE9BQU8sWUFBYSxTQUFRLG9CQUFvQjs4R0FBekMsWUFBWTtrR0FBWixZQUFZLGlHQUxYLDJCQUEyQjs7MkZBSzVCLFlBQVk7a0JBUHhCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi92aWV3L2Jhc2UnO1xuaW1wb3J0IHsgU2xhdGVDaGlsZHJlbiB9IGZyb20gJy4uL2NoaWxkcmVuL2NoaWxkcmVuLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnW3NsYXRlRWxlbWVudF0nLFxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbU2xhdGVDaGlsZHJlbl1cbn0pXG5leHBvcnQgY2xhc3MgU2xhdGVFbGVtZW50IGV4dGVuZHMgQmFzZUVsZW1lbnRDb21wb25lbnQge31cbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { BaseLeafComponent } from '../../view/base';
3
- import { SlateString } from '../string/string.component';
4
- import * as i0 from "@angular/core";
5
- export class SlateDefaultLeaf extends BaseLeafComponent {
6
- onContextChange() {
7
- super.onContextChange();
8
- this.renderPlaceholder();
9
- }
10
- ngOnDestroy() {
11
- // Because the placeholder span is not in the current component, it is destroyed along with the current component
12
- this.destroyPlaceholder();
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SlateDefaultLeaf, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: SlateDefaultLeaf, isStandalone: true, selector: "span[slateDefaultLeaf]", host: { attributes: { "data-slate-leaf": "true" } }, usesInheritance: true, ngImport: i0, template: `<span slateString [context]="context" [viewContext]="viewContext"><span></span></span>`, isInline: true, dependencies: [{ kind: "component", type: SlateString, selector: "span[slateString]", inputs: ["context"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SlateDefaultLeaf, decorators: [{
18
- type: Component,
19
- args: [{
20
- selector: 'span[slateDefaultLeaf]',
21
- template: `<span slateString [context]="context" [viewContext]="viewContext"><span></span></span>`,
22
- changeDetection: ChangeDetectionStrategy.OnPush,
23
- host: {
24
- 'data-slate-leaf': 'true'
25
- },
26
- standalone: true,
27
- imports: [SlateString]
28
- }]
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1sZWFmLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL2xlYWYvZGVmYXVsdC1sZWFmLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFZekQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGlCQUFpQjtJQUNuRCxlQUFlO1FBQ1gsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFDRCxXQUFXO1FBQ1AsaUhBQWlIO1FBQ2pILElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7OEdBUlEsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsOEpBUmYsd0ZBQXdGLDREQU14RixXQUFXOzsyRkFFWixnQkFBZ0I7a0JBVjVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFLHdGQUF3RjtvQkFDbEcsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDRixpQkFBaUIsRUFBRSxNQUFNO3FCQUM1QjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUxlYWZDb21wb25lbnQgfSBmcm9tICcuLi8uLi92aWV3L2Jhc2UnO1xuaW1wb3J0IHsgU2xhdGVTdHJpbmcgfSBmcm9tICcuLi9zdHJpbmcvc3RyaW5nLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc3BhbltzbGF0ZURlZmF1bHRMZWFmXScsXG4gICAgdGVtcGxhdGU6IGA8c3BhbiBzbGF0ZVN0cmluZyBbY29udGV4dF09XCJjb250ZXh0XCIgW3ZpZXdDb250ZXh0XT1cInZpZXdDb250ZXh0XCI+PHNwYW4+PC9zcGFuPjwvc3Bhbj5gLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2RhdGEtc2xhdGUtbGVhZic6ICd0cnVlJ1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbU2xhdGVTdHJpbmddXG59KVxuZXhwb3J0IGNsYXNzIFNsYXRlRGVmYXVsdExlYWYgZXh0ZW5kcyBCYXNlTGVhZkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgb25Db250ZXh0Q2hhbmdlKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5vbkNvbnRleHRDaGFuZ2UoKTtcbiAgICAgICAgdGhpcy5yZW5kZXJQbGFjZWhvbGRlcigpO1xuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gQmVjYXVzZSB0aGUgcGxhY2Vob2xkZXIgc3BhbiBpcyBub3QgaW4gdGhlIGN1cnJlbnQgY29tcG9uZW50LCBpdCBpcyBkZXN0cm95ZWQgYWxvbmcgd2l0aCB0aGUgY3VycmVudCBjb21wb25lbnRcbiAgICAgICAgdGhpcy5kZXN0cm95UGxhY2Vob2xkZXIoKTtcbiAgICB9XG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export const SLATE_DEFAULT_LEAF_COMPONENT_TOKEN = new InjectionToken('slate-default-leaf-token');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29tcG9uZW50cy9sZWFmL3Rva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0MsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsSUFBSSxjQUFjLENBQW1DLDBCQUEwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJy4uLy4uL3R5cGVzL3ZpZXcnO1xuaW1wb3J0IHsgQmFzZUxlYWZDb21wb25lbnQgfSBmcm9tICcuLi8uLi92aWV3L2Jhc2UnO1xuXG5leHBvcnQgY29uc3QgU0xBVEVfREVGQVVMVF9MRUFGX0NPTVBPTkVOVF9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb21wb25lbnRUeXBlPEJhc2VMZWFmQ29tcG9uZW50Pj4oJ3NsYXRlLWRlZmF1bHQtbGVhZi10b2tlbicpO1xuIl19
@@ -1,25 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { ViewContainer } from '../../view/container';
3
- import { NgFor } from '@angular/common';
4
- import * as i0 from "@angular/core";
5
- export class SlateLeaves extends ViewContainer {
6
- constructor() {
7
- super(...arguments);
8
- this.initialized = false;
9
- }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SlateLeaves, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: SlateLeaves, isStandalone: true, selector: "slate-leaves", inputs: { context: "context" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SlateLeaves, decorators: [{
14
- type: Component,
15
- args: [{
16
- selector: 'slate-leaves',
17
- template: ``,
18
- changeDetection: ChangeDetectionStrategy.OnPush,
19
- standalone: true,
20
- imports: [NgFor]
21
- }]
22
- }], propDecorators: { context: [{
23
- type: Input
24
- }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL2xlYXZlcy9sZWF2ZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFNUixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVN4QyxNQUFNLE9BQU8sV0FBWSxTQUFRLGFBQWtCO0lBUG5EOztRQVFJLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0tBS3ZCOzhHQU5ZLFdBQVc7a0dBQVgsV0FBVywrSEFMVixFQUFFOzsyRkFLSCxXQUFXO2tCQVB2QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztpQkFDbkI7OEJBTVksT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZHJlblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRleHQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBTbGF0ZUxlYWZDb250ZXh0LCBTbGF0ZVRleHRDb250ZXh0IH0gZnJvbSAnLi4vLi4vdmlldy9jb250ZXh0JztcbmltcG9ydCB7IFZpZXdDb250YWluZXIgfSBmcm9tICcuLi8uLi92aWV3L2NvbnRhaW5lcic7XG5pbXBvcnQgeyBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2xhdGUtbGVhdmVzJyxcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdGb3JdXG59KVxuZXhwb3J0IGNsYXNzIFNsYXRlTGVhdmVzIGV4dGVuZHMgVmlld0NvbnRhaW5lcjxhbnk+IHtcbiAgICBpbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIGxlYWZDb250ZXh0czogU2xhdGVMZWFmQ29udGV4dFtdO1xuICAgIGxlYXZlczogVGV4dFtdO1xuXG4gICAgQElucHV0KCkgY29udGV4dDogU2xhdGVUZXh0Q29udGV4dDtcbn1cbiJdfQ==
@@ -1,75 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { BaseComponent } from '../../view/base';
3
- import * as i0 from "@angular/core";
4
- export class SlateDefaultString extends BaseComponent {
5
- beforeContextChange(value) {
6
- if (this.context) {
7
- if (this.context.type === 'lineBreakEmptyString') {
8
- if (value.type === 'string') {
9
- this.removeLineBreakEmptyStringDOM();
10
- }
11
- else {
12
- this.textNode?.remove();
13
- this.brNode?.remove();
14
- }
15
- }
16
- if (this.context.type === 'string') {
17
- if (value.type === 'lineBreakEmptyString') {
18
- this.removeStringDOM();
19
- }
20
- }
21
- }
22
- }
23
- onContextChange() {
24
- if (this.context.type === 'string') {
25
- this.createStringDOM();
26
- }
27
- else if (this.context.type === 'lineBreakEmptyString') {
28
- this.createLineBreakEmptyStringDOM();
29
- }
30
- }
31
- createLineBreakEmptyStringDOM() {
32
- this.nativeElement.setAttribute('data-slate-zero-width', 'n');
33
- this.nativeElement.setAttribute('data-slate-length', `${this.context.elementStringLength}`);
34
- this.textNode = document.createTextNode(`\uFEFF`);
35
- this.brNode = document.createElement('br');
36
- this.nativeElement.append(this.textNode, this.brNode);
37
- }
38
- removeLineBreakEmptyStringDOM() {
39
- this.brNode?.remove();
40
- // remove zero width character
41
- const zeroWidthCharacterIndex = this.textNode?.textContent.indexOf(`\uFEFF`);
42
- this.textNode?.deleteData(zeroWidthCharacterIndex, 1);
43
- this.nativeElement.removeAttribute('data-slate-zero-width');
44
- this.nativeElement.removeAttribute('data-slate-length');
45
- }
46
- createStringDOM() {
47
- this.nativeElement.setAttribute('data-slate-string', 'true');
48
- this.updateStringDOM();
49
- }
50
- updateStringDOM() {
51
- // Avoid breaking some browser default behaviors, such as spellCheck, android composition input state
52
- if (this.nativeElement.textContent !== this.context.text) {
53
- this.nativeElement.textContent = this.context.text;
54
- }
55
- }
56
- removeStringDOM() {
57
- this.nativeElement.removeAttribute('data-slate-string');
58
- this.nativeElement.textContent = '';
59
- }
60
- ngOnInit() {
61
- this.nativeElement.setAttribute('editable-text', '');
62
- }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SlateDefaultString, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
64
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: SlateDefaultString, isStandalone: true, selector: "span[slateDefaultString]", usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
65
- }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SlateDefaultString, decorators: [{
67
- type: Component,
68
- args: [{
69
- selector: 'span[slateDefaultString]',
70
- template: '',
71
- changeDetection: ChangeDetectionStrategy.OnPush,
72
- standalone: true
73
- }]
74
- }] });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zdHJpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvc3RyaW5nL2RlZmF1bHQtc3RyaW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFVaEQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGFBQWlDO0lBSXJFLG1CQUFtQixDQUFDLEtBQXlCO1FBQ3pDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxzQkFBc0IsRUFBRSxDQUFDO2dCQUMvQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7b0JBQzFCLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO2dCQUN6QyxDQUFDO3FCQUFNLENBQUM7b0JBQ0osSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztvQkFDeEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDMUIsQ0FBQztZQUNMLENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssc0JBQXNCLEVBQUUsQ0FBQztvQkFDeEMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUMzQixDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzNCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLHNCQUFzQixFQUFFLENBQUM7WUFDdEQsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFDekMsQ0FBQztJQUNMLENBQUM7SUFFRCw2QkFBNkI7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztRQUM1RixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCw2QkFBNkI7UUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN0Qiw4QkFBOEI7UUFDOUIsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxlQUFlO1FBQ1gscUdBQXFHO1FBQ3JHLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUN2RCxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDOzhHQWxFUSxrQkFBa0I7a0dBQWxCLGtCQUFrQiwyR0FKakIsRUFBRTs7MkZBSUgsa0JBQWtCO2tCQU45QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPTUVsZW1lbnQgfSBmcm9tICcuLi8uLi91dGlscy9kb20nO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3ZpZXcvYmFzZSc7XG5pbXBvcnQgeyBTbGF0ZVN0cmluZ0NvbnRleHQgfSBmcm9tICcuLi8uLi92aWV3L2NvbnRleHQnO1xuaW1wb3J0IHsgQmVmb3JlQ29udGV4dENoYW5nZSB9IGZyb20gJy4uLy4uL3ZpZXcvY29udGV4dC1jaGFuZ2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NwYW5bc2xhdGVEZWZhdWx0U3RyaW5nXScsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgU2xhdGVEZWZhdWx0U3RyaW5nIGV4dGVuZHMgQmFzZUNvbXBvbmVudDxTbGF0ZVN0cmluZ0NvbnRleHQ+IGltcGxlbWVudHMgT25Jbml0LCBCZWZvcmVDb250ZXh0Q2hhbmdlPFNsYXRlU3RyaW5nQ29udGV4dD4ge1xuICAgIHRleHROb2RlPzogVGV4dDtcbiAgICBick5vZGU/OiBET01FbGVtZW50O1xuXG4gICAgYmVmb3JlQ29udGV4dENoYW5nZSh2YWx1ZTogU2xhdGVTdHJpbmdDb250ZXh0KSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRleHQudHlwZSA9PT0gJ2xpbmVCcmVha0VtcHR5U3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZS50eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUxpbmVCcmVha0VtcHR5U3RyaW5nRE9NKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0Tm9kZT8ucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnJOb2RlPy5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5jb250ZXh0LnR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlLnR5cGUgPT09ICdsaW5lQnJlYWtFbXB0eVN0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVTdHJpbmdET00oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNvbnRleHRDaGFuZ2UoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQudHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlU3RyaW5nRE9NKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jb250ZXh0LnR5cGUgPT09ICdsaW5lQnJlYWtFbXB0eVN0cmluZycpIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlTGluZUJyZWFrRW1wdHlTdHJpbmdET00oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNyZWF0ZUxpbmVCcmVha0VtcHR5U3RyaW5nRE9NKCkge1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLXNsYXRlLXplcm8td2lkdGgnLCAnbicpO1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLXNsYXRlLWxlbmd0aCcsIGAke3RoaXMuY29udGV4dC5lbGVtZW50U3RyaW5nTGVuZ3RofWApO1xuICAgICAgICB0aGlzLnRleHROb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYFxcdUZFRkZgKTtcbiAgICAgICAgdGhpcy5ick5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdicicpO1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuYXBwZW5kKHRoaXMudGV4dE5vZGUsIHRoaXMuYnJOb2RlKTtcbiAgICB9XG5cbiAgICByZW1vdmVMaW5lQnJlYWtFbXB0eVN0cmluZ0RPTSgpIHtcbiAgICAgICAgdGhpcy5ick5vZGU/LnJlbW92ZSgpO1xuICAgICAgICAvLyByZW1vdmUgemVybyB3aWR0aCBjaGFyYWN0ZXJcbiAgICAgICAgY29uc3QgemVyb1dpZHRoQ2hhcmFjdGVySW5kZXggPSB0aGlzLnRleHROb2RlPy50ZXh0Q29udGVudC5pbmRleE9mKGBcXHVGRUZGYCk7XG4gICAgICAgIHRoaXMudGV4dE5vZGU/LmRlbGV0ZURhdGEoemVyb1dpZHRoQ2hhcmFjdGVySW5kZXgsIDEpO1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXNsYXRlLXplcm8td2lkdGgnKTtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1zbGF0ZS1sZW5ndGgnKTtcbiAgICB9XG5cbiAgICBjcmVhdGVTdHJpbmdET00oKSB7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2xhdGUtc3RyaW5nJywgJ3RydWUnKTtcbiAgICAgICAgdGhpcy51cGRhdGVTdHJpbmdET00oKTtcbiAgICB9XG5cbiAgICB1cGRhdGVTdHJpbmdET00oKSB7XG4gICAgICAgIC8vIEF2b2lkIGJyZWFraW5nIHNvbWUgYnJvd3NlciBkZWZhdWx0IGJlaGF2aW9ycywgc3VjaCBhcyBzcGVsbENoZWNrLCBhbmRyb2lkIGNvbXBvc2l0aW9uIGlucHV0IHN0YXRlXG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQgIT09IHRoaXMuY29udGV4dC50ZXh0KSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlzLmNvbnRleHQudGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZVN0cmluZ0RPTSgpIHtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1zbGF0ZS1zdHJpbmcnKTtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50ID0gJyc7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2VkaXRhYmxlLXRleHQnLCAnJyk7XG4gICAgfVxufVxuIl19
@@ -1,108 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ElementRef, inject, Input, ViewContainerRef } from '@angular/core';
2
- import { Node, Text } from 'slate';
3
- import { ViewContainerItem } from '../../view/container-item';
4
- import { SlateDefaultString } from './default-string.component';
5
- import * as i0 from "@angular/core";
6
- export class SlateString extends ViewContainerItem {
7
- constructor() {
8
- super(...arguments);
9
- this.elementRef = inject(ElementRef);
10
- this.viewContainerRef = inject(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
- // COMPAT: If this is the last text node in an empty block, render a zero-
25
- // width space that will convert into a line break when copying and pasting
26
- // to support expected plain text.
27
- isLineBreakEmptyString() {
28
- return (this.context.leaf.text === '' &&
29
- this.context.parent.children[this.context.parent.children.length - 1] === this.context.text &&
30
- !this.viewContext.editor.isInline(this.context.parent) &&
31
- // [list-render] performance optimization: reduce the number of calls to the `Editor.string(editor, path)` method
32
- isEmpty(this.viewContext.editor, this.context.parent));
33
- }
34
- // COMPAT: If the text is empty, it's because it's on the edge of an inline
35
- // node, so we render a zero-width space so that the selection can be
36
- // inserted next to it still.
37
- isEmptyText() {
38
- return this.context.leaf.text === '';
39
- }
40
- // COMPAT: Browsers will collapse trailing new lines at the end of blocks,
41
- // so we need to add an extra trailing new lines to prevent that.
42
- isCompatibleString() {
43
- return this.context.isLast && this.context.leaf.text.slice(-1) === '\n';
44
- }
45
- // COMPAT: Render text inside void nodes with a zero-width space.
46
- // So the node can contain selection but the text is not visible.
47
- isVoid() {
48
- return this.viewContext.editor.isVoid(this.context.parent);
49
- }
50
- getViewType() {
51
- if (this.isVoid()) {
52
- return this.viewContext.templateComponent.voidStringTemplate;
53
- }
54
- if (this.isLineBreakEmptyString()) {
55
- return SlateDefaultString;
56
- }
57
- if (this.isEmptyText()) {
58
- return this.viewContext.templateComponent.emptyTextTemplate;
59
- }
60
- if (this.isCompatibleString()) {
61
- return this.viewContext.templateComponent.compatibleStringTemplate;
62
- }
63
- return SlateDefaultString;
64
- }
65
- getType() {
66
- if (this.isLineBreakEmptyString()) {
67
- return 'lineBreakEmptyString';
68
- }
69
- return 'string';
70
- }
71
- getContext() {
72
- const stringType = this.getType();
73
- return {
74
- text: this.context.leaf.text,
75
- elementStringLength: Node.string(this.context.parent).length,
76
- type: stringType
77
- };
78
- }
79
- memoizedContext(prev, next) {
80
- return false;
81
- }
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SlateString, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
83
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: SlateString, isStandalone: true, selector: "span[slateString]", inputs: { context: "context" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
84
- }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SlateString, decorators: [{
86
- type: Component,
87
- args: [{
88
- selector: 'span[slateString]',
89
- template: '',
90
- changeDetection: ChangeDetectionStrategy.OnPush,
91
- standalone: true
92
- }]
93
- }], propDecorators: { context: [{
94
- type: Input
95
- }] } });
96
- /**
97
- * TODO: remove when bump slate
98
- * copy from slate
99
- * @param editor
100
- * @param element
101
- * @returns
102
- */
103
- export const isEmpty = (editor, element) => {
104
- const { children } = element;
105
- const [first] = children;
106
- return children.length === 0 || (children.length === 1 && Text.isText(first) && first.text === '' && !editor.isVoid(element));
107
- };
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL3N0cmluZy9zdHJpbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUdMLGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNuQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFRaEUsTUFBTSxPQUFPLFdBQVksU0FBUSxpQkFBcUM7SUFOdEU7O1FBU2MsZUFBVSxHQUFHLE1BQU0sQ0FBTSxVQUFVLENBQUMsQ0FBQztRQUVyQyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQXdGekQ7SUF0RkcsUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsMEVBQTBFO0lBQzFFLDJFQUEyRTtJQUMzRSxrQ0FBa0M7SUFDbEMsc0JBQXNCO1FBQ2xCLE9BQU8sQ0FDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssRUFBRTtZQUM3QixJQUFJLENBQUMsT0FBTyxDQUFD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QUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ3ZDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDN0IsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLFFBQVEsQ0FBQztJQUN6QixPQUFPLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNsSSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGUsIFRleHQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBWaWV3Q29udGFpbmVySXRlbSB9IGZyb20gJy4uLy4uL3ZpZXcvY29udGFpbmVyLWl0ZW0nO1xuaW1wb3J0IHsgU2xhdGVMZWFmQ29udGV4dCwgU2xhdGVTdHJpbmdDb250ZXh0IH0gZnJvbSAnLi4vLi4vdmlldy9jb250ZXh0JztcbmltcG9ydCB7IFNsYXRlRGVmYXVsdFN0cmluZyB9IGZyb20gJy4vZGVmYXVsdC1zdHJpbmcuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzcGFuW3NsYXRlU3RyaW5nXScsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgU2xhdGVTdHJpbmcgZXh0ZW5kcyBWaWV3Q29udGFpbmVySXRlbTxTbGF0ZVN0cmluZ0NvbnRleHQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgpIGNvbnRleHQ6IFNsYXRlTGVhZkNvbnRleHQ7XG5cbiAgICBwcm90ZWN0ZWQgZWxlbWVudFJlZiA9IGluamVjdDxhbnk+KEVsZW1lbnRSZWYpO1xuXG4gICAgcHJvdGVjdGVkIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jcmVhdGVWaWV3KCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKSB7XG4gICAgICAgIGlmICghdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXBkYXRlVmlldygpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlKCk7XG4gICAgfVxuXG4gICAgLy8gQ09NUEFUOiBJZiB0aGlzIGlzIHRoZSBsYXN0IHRleHQgbm9kZSBpbiBhbiBlbXB0eSBibG9jaywgcmVuZGVyIGEgemVyby1cbiAgICAvLyB3aWR0aCBzcGFjZSB0aGF0IHdpbGwgY29udmVydCBpbnRvIGEgbGluZSBicmVhayB3aGVuIGNvcHlpbmcgYW5kIHBhc3RpbmdcbiAgICAvLyB0byBzdXBwb3J0IGV4cGVjdGVkIHBsYWluIHRleHQuXG4gICAgaXNMaW5lQnJlYWtFbXB0eVN0cmluZygpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC5sZWFmLnRleHQgPT09ICcnICYmXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQucGFyZW50LmNoaWxkcmVuW3RoaXMuY29udGV4dC5wYXJlbnQuY2hpbGRyZW4ubGVuZ3RoIC0gMV0gPT09IHRoaXMuY29udGV4dC50ZXh0ICYmXG4gICAgICAgICAgICAhdGhpcy52aWV3Q29udGV4dC5lZGl0b3IuaXNJbmxpbmUodGhpcy5jb250ZXh0LnBhcmVudCkgJiZcbiAgICAgICAgICAgIC8vIFtsaXN0LXJlbmRlcl0gcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uOiByZWR1Y2UgdGhlIG51bWJlciBvZiBjYWxscyB0byB0aGUgYEVkaXRvci5zdHJpbmcoZWRpdG9yLCBwYXRoKWAgbWV0aG9kXG4gICAgICAgICAgICBpc0VtcHR5KHRoaXMudmlld0NvbnRleHQuZWRpdG9yLCB0aGlzLmNvbnRleHQucGFyZW50KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIENPTVBBVDogSWYgdGhlIHRleHQgaXMgZW1wdHksIGl0J3MgYmVjYXVzZSBpdCdzIG9uIHRoZSBlZGdlIG9mIGFuIGlubGluZVxuICAgIC8vIG5vZGUsIHNvIHdlIHJlbmRlciBhIHplcm8td2lkdGggc3BhY2Ugc28gdGhhdCB0aGUgc2VsZWN0aW9uIGNhbiBiZVxuICAgIC8vIGluc2VydGVkIG5leHQgdG8gaXQgc3RpbGwuXG4gICAgaXNFbXB0eVRleHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRleHQubGVhZi50ZXh0ID09PSAnJztcbiAgICB9XG5cbiAgICAvLyBDT01QQVQ6IEJyb3dzZXJzIHdpbGwgY29sbGFwc2UgdHJhaWxpbmcgbmV3IGxpbmVzIGF0IHRoZSBlbmQgb2YgYmxvY2tzLFxuICAgIC8vIHNvIHdlIG5lZWQgdG8gYWRkIGFuIGV4dHJhIHRyYWlsaW5nIG5ldyBsaW5lcyB0byBwcmV2ZW50IHRoYXQuXG4gICAgaXNDb21wYXRpYmxlU3RyaW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0LmlzTGFzdCAmJiB0aGlzLmNvbnRleHQubGVhZi50ZXh0LnNsaWNlKC0xKSA9PT0gJ1xcbic7XG4gICAgfVxuXG4gICAgLy8gQ09NUEFUOiBSZW5kZXIgdGV4dCBpbnNpZGUgdm9pZCBub2RlcyB3aXRoIGEgemVyby13aWR0aCBzcGFjZS5cbiAgICAvLyBTbyB0aGUgbm9kZSBjYW4gY29udGFpbiBzZWxlY3Rpb24gYnV0IHRoZSB0ZXh0IGlzIG5vdCB2aXNpYmxlLlxuICAgIGlzVm9pZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlld0NvbnRleHQuZWRpdG9yLmlzVm9pZCh0aGlzLmNvbnRleHQucGFyZW50KTtcbiAgICB9XG5cbiAgICBnZXRWaWV3VHlwZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNWb2lkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZpZXdDb250ZXh0LnRlbXBsYXRlQ29tcG9uZW50LnZvaWRTdHJpbmdUZW1wbGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzTGluZUJyZWFrRW1wdHlTdHJpbmcoKSkge1xuICAgICAgICAgICAgcmV0dXJuIFNsYXRlRGVmYXVsdFN0cmluZztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzRW1wdHlUZXh0KCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZpZXdDb250ZXh0LnRlbXBsYXRlQ29tcG9uZW50LmVtcHR5VGV4dFRlbXBsYXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNDb21wYXRpYmxlU3RyaW5nKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZpZXdDb250ZXh0LnRlbXBsYXRlQ29tcG9uZW50LmNvbXBhdGlibGVTdHJpbmdUZW1wbGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBTbGF0ZURlZmF1bHRTdHJpbmc7XG4gICAgfVxuXG4gICAgZ2V0VHlwZSgpOiBTbGF0ZVN0cmluZ0NvbnRleHRbJ3R5cGUnXSB7XG4gICAgICAgIGlmICh0aGlzLmlzTGluZUJyZWFrRW1wdHlTdHJpbmcoKSkge1xuICAgICAgICAgICAgcmV0dXJuICdsaW5lQnJlYWtFbXB0eVN0cmluZyc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICdzdHJpbmcnO1xuICAgIH1cblxuICAgIGdldENvbnRleHQoKTogU2xhdGVTdHJpbmdDb250ZXh0IHtcbiAgICAgICAgY29uc3Qgc3RyaW5nVHlwZSA9IHRoaXMuZ2V0VHlwZSgpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdGV4dDogdGhpcy5jb250ZXh0LmxlYWYudGV4dCxcbiAgICAgICAgICAgIGVsZW1lbnRTdHJpbmdMZW5ndGg6IE5vZGUuc3RyaW5nKHRoaXMuY29udGV4dC5wYXJlbnQpLmxlbmd0aCxcbiAgICAgICAgICAgIHR5cGU6IHN0cmluZ1R5cGVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBtZW1vaXplZENvbnRleHQocHJldjogU2xhdGVTdHJpbmdDb250ZXh0LCBuZXh0OiBTbGF0ZVN0cmluZ0NvbnRleHQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuLyoqXG4gKiBUT0RPOiByZW1vdmUgd2hlbiBidW1wIHNsYXRlXG4gKiBjb3B5IGZyb20gc2xhdGVcbiAqIEBwYXJhbSBlZGl0b3JcbiAqIEBwYXJhbSBlbGVtZW50XG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgY29uc3QgaXNFbXB0eSA9IChlZGl0b3IsIGVsZW1lbnQpID0+IHtcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSBlbGVtZW50O1xuICAgIGNvbnN0IFtmaXJzdF0gPSBjaGlsZHJlbjtcbiAgICByZXR1cm4gY2hpbGRyZW4ubGVuZ3RoID09PSAwIHx8IChjaGlsZHJlbi5sZW5ndGggPT09IDEgJiYgVGV4dC5pc1RleHQoZmlyc3QpICYmIGZpcnN0LnRleHQgPT09ICcnICYmICFlZGl0b3IuaXNWb2lkKGVsZW1lbnQpKTtcbn07XG4iXX0=
@@ -1,20 +0,0 @@
1
- import { Component, ChangeDetectionStrategy, ViewChild, TemplateRef } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class SlateStringTemplate {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SlateStringTemplate, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: SlateStringTemplate, isStandalone: true, 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 }); }
6
- }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SlateStringTemplate, decorators: [{
8
- type: Component,
9
- args: [{ selector: 'slate-string-template', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, 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
- type: ViewChild,
12
- args: ['compatibleStringTemplate', { read: TemplateRef, static: true }]
13
- }], voidStringTemplate: [{
14
- type: ViewChild,
15
- args: ['voidStringTemplate', { read: TemplateRef, static: true }]
16
- }], emptyTextTemplate: [{
17
- type: ViewChild,
18
- args: ['emptyTextTemplate', { read: TemplateRef, static: true }]
19
- }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvc3RyaW5nL3RlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL3N0cmluZy90ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTNGLE1BQU0sT0FBTyxtQkFBbUI7OEdBQW5CLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGtNQUNtQixXQUFXLGlJQUdqQixXQUFXLCtIQUdaLFdBQVcsMkNDZnZELHN2QkFZQTs7MkZESmEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNJLHVCQUF1QixtQkFFaEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJOzhCQUloQix3QkFBd0I7c0JBRHZCLFNBQVM7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTFFLGtCQUFrQjtzQkFEakIsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJcEUsaUJBQWlCO3NCQURoQixTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NsYXRlLXN0cmluZy10ZW1wbGF0ZScsXG4gICAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBTbGF0ZVN0cmluZ1RlbXBsYXRlIHtcbiAgICBAVmlld0NoaWxkKCdjb21wYXRpYmxlU3RyaW5nVGVtcGxhdGUnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgICBjb21wYXRpYmxlU3RyaW5nVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKCd2b2lkU3RyaW5nVGVtcGxhdGUnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgICB2b2lkU3RyaW5nVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKCdlbXB0eVRleHRUZW1wbGF0ZScsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICAgIGVtcHR5VGV4dFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xufVxuIiwiPG5nLXRlbXBsYXRlICNjb21wYXRpYmxlU3RyaW5nVGVtcGxhdGUgbGV0LWNvbnRleHQ9XCJjb250ZXh0XCIgbGV0LXZpZXdDb250ZXh0PVwidmlld0NvbnRleHRcIj5cbiAgPCEtLSBDb21wYXRpYmxlIHdpdGggQ2hpbmVzZSBpbnB1dCBpbiBDaHJvbWUgd2l0aCBcXG4gLS0+XG4gIDxzcGFuIGVkaXRhYmxlLXRleHQgZGF0YS1zbGF0ZS1zdHJpbmc9XCJ0cnVlXCJcbiAgICA+e3sgY29udGV4dC50ZXh0IH19PHNwYW4gZGF0YS1zbGF0ZS16ZXJvLXdpZHRoPnt7ICdcXHVGRUZGJyB9fTwvc3Bhbj48L3NwYW5cbiAgPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjdm9pZFN0cmluZ1RlbXBsYXRlIGxldC1jb250ZXh0PVwiY29udGV4dFwiIGxldC12aWV3Q29udGV4dD1cInZpZXdDb250ZXh0XCI+XG4gIDxzcGFuIGVkaXRhYmxlLXRleHQgZGF0YS1zbGF0ZS16ZXJvLXdpZHRoPVwielwiIGF0dHIuZGF0YS1zbGF0ZS1sZW5ndGg9XCJ7eyBjb250ZXh0LmVsZW1lbnRTdHJpbmdMZW5ndGggfX1cIj57eyAnXFx1RkVGRicgfX08L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNlbXB0eVRleHRUZW1wbGF0ZSBsZXQtY29udGV4dD1cImNvbnRleHRcIiBsZXQtdmlld0NvbnRleHQ9XCJ2aWV3Q29udGV4dFwiPlxuICA8c3BhbiBlZGl0YWJsZS10ZXh0IGRhdGEtc2xhdGUtemVyby13aWR0aD1cInpcIiBkYXRhLXNsYXRlLWxlbmd0aD1cIjBcIj57eyAnXFx1RkVGRicgfX08L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,22 +0,0 @@
1
- import { Component, ChangeDetectionStrategy } from '@angular/core';
2
- import { BaseTextComponent } from '../../view/base';
3
- import { SlateLeaves } from '../leaves/leaves.component';
4
- import * as i0 from "@angular/core";
5
- export class SlateDefaultText extends BaseTextComponent {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SlateDefaultText, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: SlateDefaultText, isStandalone: true, selector: "span[slateDefaultText]", host: { attributes: { "data-slate-node": "text" } }, usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SlateDefaultText, decorators: [{
10
- type: Component,
11
- args: [{
12
- selector: 'span[slateDefaultText]',
13
- template: ``,
14
- changeDetection: ChangeDetectionStrategy.OnPush,
15
- host: {
16
- 'data-slate-node': 'text'
17
- },
18
- standalone: true,
19
- imports: [SlateLeaves]
20
- }]
21
- }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL3RleHQvZGVmYXVsdC10ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFZekQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGlCQUFpQjs4R0FBMUMsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsOEpBUmYsRUFBRTs7MkZBUUgsZ0JBQWdCO2tCQVY1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUU7d0JBQ0YsaUJBQWlCLEVBQUUsTUFBTTtxQkFDNUI7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlVGV4dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3ZpZXcvYmFzZSc7XG5pbXBvcnQgeyBTbGF0ZUxlYXZlcyB9IGZyb20gJy4uL2xlYXZlcy9sZWF2ZXMuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzcGFuW3NsYXRlRGVmYXVsdFRleHRdJyxcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICAnZGF0YS1zbGF0ZS1ub2RlJzogJ3RleHQnXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtTbGF0ZUxlYXZlc11cbn0pXG5leHBvcnQgY2xhc3MgU2xhdGVEZWZhdWx0VGV4dCBleHRlbmRzIEJhc2VUZXh0Q29tcG9uZW50IHt9XG4iXX0=
@@ -1,4 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export const SLATE_DEFAULT_TEXT_COMPONENT_TOKEN = new InjectionToken('slate-default-text-token');
3
- export const SLATE_DEFAULT_VOID_TEXT_COMPONENT_TOKEN = new InjectionToken('slate-default-void-text-token');
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29tcG9uZW50cy90ZXh0L3Rva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0MsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsSUFBSSxjQUFjLENBQW1DLDBCQUEwQixDQUFDLENBQUM7QUFFbkksTUFBTSxDQUFDLE1BQU0sdUNBQXVDLEdBQUcsSUFBSSxjQUFjLENBQ3JFLCtCQUErQixDQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICcuLi8uLi90eXBlcy92aWV3JztcbmltcG9ydCB7IEJhc2VUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9iYXNlJztcblxuZXhwb3J0IGNvbnN0IFNMQVRFX0RFRkFVTFRfVEVYVF9DT01QT05FTlRfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29tcG9uZW50VHlwZTxCYXNlVGV4dENvbXBvbmVudD4+KCdzbGF0ZS1kZWZhdWx0LXRleHQtdG9rZW4nKTtcblxuZXhwb3J0IGNvbnN0IFNMQVRFX0RFRkFVTFRfVk9JRF9URVhUX0NPTVBPTkVOVF9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb21wb25lbnRUeXBlPEJhc2VUZXh0Q29tcG9uZW50Pj4oXG4gICAgJ3NsYXRlLWRlZmF1bHQtdm9pZC10ZXh0LXRva2VuJ1xuKTtcbiJdfQ==
@@ -1,32 +0,0 @@
1
- import { Component, ChangeDetectionStrategy } from '@angular/core';
2
- import { BaseTextComponent } from '../../view/base';
3
- import { SlateLeaves } from '../leaves/leaves.component';
4
- import * as i0 from "@angular/core";
5
- export class SlateVoidText extends BaseTextComponent {
6
- ngOnInit() {
7
- super.ngOnInit();
8
- }
9
- ngOnChanges() {
10
- if (!this.initialized) {
11
- return;
12
- }
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SlateVoidText, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: SlateVoidText, isStandalone: true, selector: "span[slateVoidText]", host: { attributes: { "data-slate-spacer": "true", "data-slate-node": "text" }, classAttribute: "slate-spacer" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SlateVoidText, decorators: [{
18
- type: Component,
19
- args: [{
20
- selector: 'span[slateVoidText]',
21
- template: ``,
22
- changeDetection: ChangeDetectionStrategy.OnPush,
23
- host: {
24
- 'data-slate-spacer': 'true',
25
- class: 'slate-spacer',
26
- 'data-slate-node': 'text'
27
- },
28
- standalone: true,
29
- imports: [SlateLeaves]
30
- }]
31
- }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9pZC10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL3RleHQvdm9pZC10ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBY3pELE1BQU0sT0FBTyxhQUFjLFNBQVEsaUJBQWlCO0lBQ2hELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BCLE9BQU87UUFDWCxDQUFDO0lBQ0wsQ0FBQzs4R0FUUSxhQUFhO2tHQUFiLGFBQWEsNk9BVlosRUFBRTs7MkZBVUgsYUFBYTtrQkFaekIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsSUFBSSxFQUFFO3dCQUNGLG1CQUFtQixFQUFFLE1BQU07d0JBQzNCLEtBQUssRUFBRSxjQUFjO3dCQUNyQixpQkFBaUIsRUFBRSxNQUFNO3FCQUM1QjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIE9uSW5pdCwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlVGV4dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3ZpZXcvYmFzZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnLi4vLi4vcGx1Z2lucy9hbmd1bGFyLWVkaXRvcic7XG5pbXBvcnQgeyBTbGF0ZUxlYXZlcyB9IGZyb20gJy4uL2xlYXZlcy9sZWF2ZXMuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzcGFuW3NsYXRlVm9pZFRleHRdJyxcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICAnZGF0YS1zbGF0ZS1zcGFjZXInOiAndHJ1ZScsXG4gICAgICAgIGNsYXNzOiAnc2xhdGUtc3BhY2VyJyxcbiAgICAgICAgJ2RhdGEtc2xhdGUtbm9kZSc6ICd0ZXh0J1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbU2xhdGVMZWF2ZXNdXG59KVxuZXhwb3J0IGNsYXNzIFNsYXRlVm9pZFRleHQgZXh0ZW5kcyBCYXNlVGV4dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=