@worktile/theia 17.2.0 → 17.2.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.
@@ -6,9 +6,11 @@ import { ThyPopoverModule } from 'ngx-tethys/popover';
6
6
  import { THY_TOOLTIP_DEFAULT_CONFIG_PROVIDER, ThyTooltipModule } from 'ngx-tethys/tooltip';
7
7
  import { ElementKinds } from '../../constants';
8
8
  import { TheEditorComponent } from '../../editor.component';
9
+ import { TheEditorModule } from '../../editor.module';
9
10
  import { theTethysIconRegistryFaker } from '../faker/tethys-icon-faker';
10
11
  import * as i0 from "@angular/core";
11
12
  import * as i1 from "@angular/forms";
13
+ import * as i2 from "../../editor.component";
12
14
  export class BasicTest {
13
15
  constructor() {
14
16
  this.value = [
@@ -33,7 +35,7 @@ export class BasicTest {
33
35
  provide: ThyIconRegistry,
34
36
  useClass: theTethysIconRegistryFaker
35
37
  }
36
- ], viewQueries: [{ propertyName: "editorComponent", first: true, predicate: TheEditorComponent, descendants: true, static: true }], ngImport: i0, template: `<the-editor [(ngModel)]="value" [thePlugins]="plugins" (theEditorCreated)="editorCreate($event)"></the-editor>`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ThyPopoverModule }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "component", type: TheEditorComponent, selector: "the-editor, theEditor", inputs: ["theOptions", "thePlugins", "theGlobalToolbar", "theDecorate", "theOnError"], outputs: ["theOnSave", "theOnDOMEvent", "theEditorCreated", "theUploadingStatus"] }] }); }
38
+ ], viewQueries: [{ propertyName: "editorComponent", first: true, predicate: TheEditorComponent, descendants: true, static: true }], ngImport: i0, template: `<the-editor [(ngModel)]="value" [thePlugins]="plugins" (theEditorCreated)="editorCreate($event)"></the-editor>`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ThyPopoverModule }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "ngmodule", type: TheEditorModule }, { kind: "component", type: i2.TheEditorComponent, selector: "the-editor, theEditor", inputs: ["theOptions", "thePlugins", "theGlobalToolbar", "theDecorate", "theOnError"], outputs: ["theOnSave", "theOnDOMEvent", "theEditorCreated", "theUploadingStatus"] }] }); }
37
39
  }
38
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: BasicTest, decorators: [{
39
41
  type: Component,
@@ -41,7 +43,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
41
43
  selector: 'basic-editor-component',
42
44
  template: `<the-editor [(ngModel)]="value" [thePlugins]="plugins" (theEditorCreated)="editorCreate($event)"></the-editor>`,
43
45
  standalone: true,
44
- imports: [NgClass, FormsModule, ThyPopoverModule, ThyTooltipModule, TheEditorComponent],
46
+ imports: [NgClass, FormsModule, ThyPopoverModule, ThyTooltipModule, TheEditorModule],
45
47
  providers: [
46
48
  THY_TOOLTIP_DEFAULT_CONFIG_PROVIDER,
47
49
  {
@@ -54,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
54
56
  type: ViewChild,
55
57
  args: [TheEditorComponent, { static: true }]
56
58
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3Rlc3QvYmFzaWMvYmFzaWMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBZXhFLE1BQU0sT0FBTyxTQUFTO0lBYnRCO1FBY0ksVUFBSyxHQUFjO1lBQ2Y7Z0JBQ0ksSUFBSSxFQUFFLFlBQVksQ0FBQyxTQUFTO2dCQUM1QixRQUFRLEVBQUU7b0JBQ047d0JBQ0ksSUFBSSxFQUFFLEVBQUU7cUJBQ1g7aUJBQ0o7YUFDSjtTQUNKLENBQUM7UUFFRixZQUFPLEdBQUcsRUFBRSxDQUFDO0tBVWhCO0lBSEcsWUFBWSxDQUFDLE1BQWlCO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3pCLENBQUM7OEdBckJRLFNBQVM7a0dBQVQsU0FBUyxxRUFSUDtZQUNQLG1DQUFtQztZQUNuQztnQkFDSSxPQUFPLEVBQUUsZUFBZTtnQkFDeEIsUUFBUSxFQUFFLDBCQUEwQjthQUN2QztTQUNKLDJFQWtCVSxrQkFBa0IsOERBM0JuQixnSEFBZ0gsMkRBRXZHLFdBQVcsOFZBQUUsZ0JBQWdCLDhCQUFFLGdCQUFnQiwrQkFBRSxrQkFBa0I7OzJGQVM3RSxTQUFTO2tCQWJyQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRSxnSEFBZ0g7b0JBQzFILFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDO29CQUN2RixTQUFTLEVBQUU7d0JBQ1AsbUNBQW1DO3dCQUNuQzs0QkFDSSxPQUFPLEVBQUUsZUFBZTs0QkFDeEIsUUFBUSxFQUFFLDBCQUEwQjt5QkFDdkM7cUJBQ0o7aUJBQ0o7OEJBa0JHLGVBQWU7c0JBRGQsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRoeUljb25SZWdpc3RyeSB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlQb3BvdmVyTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IFRIWV9UT09MVElQX0RFRkFVTFRfQ09ORklHX1BST1ZJREVSLCBUaHlUb29sdGlwTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy90b29sdGlwJztcbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVGhlRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVFZGl0b3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHRoZVRldGh5c0ljb25SZWdpc3RyeUZha2VyIH0gZnJvbSAnLi4vZmFrZXIvdGV0aHlzLWljb24tZmFrZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2Jhc2ljLWVkaXRvci1jb21wb25lbnQnLFxuICAgIHRlbXBsYXRlOiBgPHRoZS1lZGl0b3IgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIFt0aGVQbHVnaW5zXT1cInBsdWdpbnNcIiAodGhlRWRpdG9yQ3JlYXRlZCk9XCJlZGl0b3JDcmVhdGUoJGV2ZW50KVwiPjwvdGhlLWVkaXRvcj5gLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIEZvcm1zTW9kdWxlLCBUaHlQb3BvdmVyTW9kdWxlLCBUaHlUb29sdGlwTW9kdWxlLCBUaGVFZGl0b3JDb21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUSFlfVE9PTFRJUF9ERUZBVUxUX0NPTkZJR19QUk9WSURFUixcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVGh5SWNvblJlZ2lzdHJ5LFxuICAgICAgICAgICAgdXNlQ2xhc3M6IHRoZVRldGh5c0ljb25SZWdpc3RyeUZha2VyXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEJhc2ljVGVzdCB7XG4gICAgdmFsdWU6IEVsZW1lbnRbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLnBhcmFncmFwaCxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgIF07XG5cbiAgICBwbHVnaW5zID0gW107XG5cbiAgICBlZGl0b3I6IFRoZUVkaXRvcjtcblxuICAgIEBWaWV3Q2hpbGQoVGhlRWRpdG9yQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIGVkaXRvckNvbXBvbmVudDogVGhlRWRpdG9yQ29tcG9uZW50O1xuXG4gICAgZWRpdG9yQ3JlYXRlKGVkaXRvcjogVGhlRWRpdG9yKSB7XG4gICAgICAgIHRoaXMuZWRpdG9yID0gZWRpdG9yO1xuICAgIH1cbn1cbiJdfQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3Rlc3QvYmFzaWMvYmFzaWMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFleEUsTUFBTSxPQUFPLFNBQVM7SUFidEI7UUFjSSxVQUFLLEdBQWM7WUFDZjtnQkFDSSxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7Z0JBQzVCLFFBQVEsRUFBRTtvQkFDTjt3QkFDSSxJQUFJLEVBQUUsRUFBRTtxQkFDWDtpQkFDSjthQUNKO1NBQ0osQ0FBQztRQUVGLFlBQU8sR0FBRyxFQUFFLENBQUM7S0FVaEI7SUFIRyxZQUFZLENBQUMsTUFBaUI7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDekIsQ0FBQzs4R0FyQlEsU0FBUztrR0FBVCxTQUFTLHFFQVJQO1lBQ1AsbUNBQW1DO1lBQ25DO2dCQUNJLE9BQU8sRUFBRSxlQUFlO2dCQUN4QixRQUFRLEVBQUUsMEJBQTBCO2FBQ3ZDO1NBQ0osMkVBa0JVLGtCQUFrQiw4REEzQm5CLGdIQUFnSCwyREFFdkcsV0FBVyw4VkFBRSxnQkFBZ0IsOEJBQUUsZ0JBQWdCLDhCQUFFLGVBQWU7OzJGQVMxRSxTQUFTO2tCQWJyQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRSxnSEFBZ0g7b0JBQzFILFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGVBQWUsQ0FBQztvQkFDcEYsU0FBUyxFQUFFO3dCQUNQLG1DQUFtQzt3QkFDbkM7NEJBQ0ksT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFFBQVEsRUFBRSwwQkFBMEI7eUJBQ3ZDO3FCQUNKO2lCQUNKOzhCQWtCRyxlQUFlO3NCQURkLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUaHlJY29uUmVnaXN0cnkgfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5UG9wb3Zlck1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBUSFlfVE9PTFRJUF9ERUZBVUxUX0NPTkZJR19QUk9WSURFUiwgVGh5VG9vbHRpcE1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvdG9vbHRpcCc7XG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRoZUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlRWRpdG9yTW9kdWxlIH0gZnJvbSAnLi4vLi4vZWRpdG9yLm1vZHVsZSc7XG5pbXBvcnQgeyBUaGVFZGl0b3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHRoZVRldGh5c0ljb25SZWdpc3RyeUZha2VyIH0gZnJvbSAnLi4vZmFrZXIvdGV0aHlzLWljb24tZmFrZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2Jhc2ljLWVkaXRvci1jb21wb25lbnQnLFxuICAgIHRlbXBsYXRlOiBgPHRoZS1lZGl0b3IgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIFt0aGVQbHVnaW5zXT1cInBsdWdpbnNcIiAodGhlRWRpdG9yQ3JlYXRlZCk9XCJlZGl0b3JDcmVhdGUoJGV2ZW50KVwiPjwvdGhlLWVkaXRvcj5gLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIEZvcm1zTW9kdWxlLCBUaHlQb3BvdmVyTW9kdWxlLCBUaHlUb29sdGlwTW9kdWxlLCBUaGVFZGl0b3JNb2R1bGVdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUSFlfVE9PTFRJUF9ERUZBVUxUX0NPTkZJR19QUk9WSURFUixcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVGh5SWNvblJlZ2lzdHJ5LFxuICAgICAgICAgICAgdXNlQ2xhc3M6IHRoZVRldGh5c0ljb25SZWdpc3RyeUZha2VyXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEJhc2ljVGVzdCB7XG4gICAgdmFsdWU6IEVsZW1lbnRbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLnBhcmFncmFwaCxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgIF07XG5cbiAgICBwbHVnaW5zID0gW107XG5cbiAgICBlZGl0b3I6IFRoZUVkaXRvcjtcblxuICAgIEBWaWV3Q2hpbGQoVGhlRWRpdG9yQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIGVkaXRvckNvbXBvbmVudDogVGhlRWRpdG9yQ29tcG9uZW50O1xuXG4gICAgZWRpdG9yQ3JlYXRlKGVkaXRvcjogVGhlRWRpdG9yKSB7XG4gICAgICAgIHRoaXMuZWRpdG9yID0gZWRpdG9yO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,6 +1,5 @@
1
1
  import { applyDeepToNodes } from './apply-deep-to-nodes';
2
2
  import { clearMarks } from './clear-marks';
3
- import { closeConversionHint } from './close-conversion-hint';
4
3
  import { deleteElement } from './delete-element';
5
4
  import { deleteNodeByType } from './delete-node-by-type';
6
5
  import { handleContinualDeleteBackward } from './handle-continual-delete-backward';
@@ -16,5 +15,5 @@ import { setNode } from './set-node';
16
15
  import { setNodeByType } from './set-node-by-type';
17
16
  import { unWrap } from './un-wrap';
18
17
  import { unwrapNodesByType } from './unwrap-nodes-by-type';
19
- export { applyDeepToNodes, clearMarks, closeConversionHint, deleteElement, deleteNodeByType, handleContinualDeleteBackward, handleContinualInsertBreak, insertElements, insertParagraph, mergeDeepToNodes, moveChildren, onKeyDownResetBlockType, setEndSelection, setMarks, setNode, setNodeByType, unWrap, unwrapNodesByType };
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvdHJhbnNmb3Jtcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTNELE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLDZCQUE2QixFQUM3QiwwQkFBMEIsRUFDMUIsY0FBYyxFQUNkLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLHVCQUF1QixFQUN2QixlQUFlLEVBQ2YsUUFBUSxFQUNSLE9BQU8sRUFDUCxhQUFhLEVBQ2IsTUFBTSxFQUNOLGlCQUFpQixFQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXBwbHlEZWVwVG9Ob2RlcyB9IGZyb20gJy4vYXBwbHktZGVlcC10by1ub2Rlcyc7XG5pbXBvcnQgeyBjbGVhck1hcmtzIH0gZnJvbSAnLi9jbGVhci1tYXJrcyc7XG5pbXBvcnQgeyBjbG9zZUNvbnZlcnNpb25IaW50IH0gZnJvbSAnLi9jbG9zZS1jb252ZXJzaW9uLWhpbnQnO1xuaW1wb3J0IHsgZGVsZXRlRWxlbWVudCB9IGZyb20gJy4vZGVsZXRlLWVsZW1lbnQnO1xuaW1wb3J0IHsgZGVsZXRlTm9kZUJ5VHlwZSB9IGZyb20gJy4vZGVsZXRlLW5vZGUtYnktdHlwZSc7XG5pbXBvcnQgeyBoYW5kbGVDb250aW51YWxEZWxldGVCYWNrd2FyZCB9IGZyb20gJy4vaGFuZGxlLWNvbnRpbnVhbC1kZWxldGUtYmFja3dhcmQnO1xuaW1wb3J0IHsgaGFuZGxlQ29udGludWFsSW5zZXJ0QnJlYWsgfSBmcm9tICcuL2hhbmRsZS1jb250aW51YWwtaW5zZXJ0LWJyZWFrJztcbmltcG9ydCB7IGluc2VydEVsZW1lbnRzIH0gZnJvbSAnLi9pbnNlcnQtZWxlbWVudHMnO1xuaW1wb3J0IHsgaW5zZXJ0UGFyYWdyYXBoIH0gZnJvbSAnLi9pbnNlcnQtcGFyYWdyYXBoJztcbmltcG9ydCB7IG1lcmdlRGVlcFRvTm9kZXMgfSBmcm9tICcuL21lcmdlLWRlZXAtdG8tbm9kZXMnO1xuaW1wb3J0IHsgbW92ZUNoaWxkcmVuIH0gZnJvbSAnLi9tb3ZlLWNoaWxkcmVuJztcbmltcG9ydCB7IG9uS2V5RG93blJlc2V0QmxvY2tUeXBlIH0gZnJvbSAnLi9vbi1rZXlkb3duLXJlc2V0LWJsb2NrLXR5cGUnO1xuaW1wb3J0IHsgc2V0RW5kU2VsZWN0aW9uIH0gZnJvbSAnLi9zZXQtZW5kLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBzZXRNYXJrcyB9IGZyb20gJy4vc2V0LW1hcmtzJztcbmltcG9ydCB7IHNldE5vZGUgfSBmcm9tICcuL3NldC1ub2RlJztcbmltcG9ydCB7IHNldE5vZGVCeVR5cGUgfSBmcm9tICcuL3NldC1ub2RlLWJ5LXR5cGUnO1xuaW1wb3J0IHsgdW5XcmFwIH0gZnJvbSAnLi91bi13cmFwJztcbmltcG9ydCB7IHVud3JhcE5vZGVzQnlUeXBlIH0gZnJvbSAnLi91bndyYXAtbm9kZXMtYnktdHlwZSc7XG5cbmV4cG9ydCB7XG4gICAgYXBwbHlEZWVwVG9Ob2RlcyxcbiAgICBjbGVhck1hcmtzLFxuICAgIGNsb3NlQ29udmVyc2lvbkhpbnQsXG4gICAgZGVsZXRlRWxlbWVudCxcbiAgICBkZWxldGVOb2RlQnlUeXBlLFxuICAgIGhhbmRsZUNvbnRpbnVhbERlbGV0ZUJhY2t3YXJkLFxuICAgIGhhbmRsZUNvbnRpbnVhbEluc2VydEJyZWFrLFxuICAgIGluc2VydEVsZW1lbnRzLFxuICAgIGluc2VydFBhcmFncmFwaCxcbiAgICBtZXJnZURlZXBUb05vZGVzLFxuICAgIG1vdmVDaGlsZHJlbixcbiAgICBvbktleURvd25SZXNldEJsb2NrVHlwZSxcbiAgICBzZXRFbmRTZWxlY3Rpb24sXG4gICAgc2V0TWFya3MsXG4gICAgc2V0Tm9kZSxcbiAgICBzZXROb2RlQnlUeXBlLFxuICAgIHVuV3JhcCxcbiAgICB1bndyYXBOb2Rlc0J5VHlwZVxufTtcbiJdfQ==
18
+ export { applyDeepToNodes, clearMarks, deleteElement, deleteNodeByType, handleContinualDeleteBackward, handleContinualInsertBreak, insertElements, insertParagraph, mergeDeepToNodes, moveChildren, onKeyDownResetBlockType, setEndSelection, setMarks, setNode, setNodeByType, unWrap, unwrapNodesByType };
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvdHJhbnNmb3Jtcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTNELE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQixjQUFjLEVBQ2QsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osdUJBQXVCLEVBQ3ZCLGVBQWUsRUFDZixRQUFRLEVBQ1IsT0FBTyxFQUNQLGFBQWEsRUFDYixNQUFNLEVBQ04saUJBQWlCLEVBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhcHBseURlZXBUb05vZGVzIH0gZnJvbSAnLi9hcHBseS1kZWVwLXRvLW5vZGVzJztcbmltcG9ydCB7IGNsZWFyTWFya3MgfSBmcm9tICcuL2NsZWFyLW1hcmtzJztcbmltcG9ydCB7IGRlbGV0ZUVsZW1lbnQgfSBmcm9tICcuL2RlbGV0ZS1lbGVtZW50JztcbmltcG9ydCB7IGRlbGV0ZU5vZGVCeVR5cGUgfSBmcm9tICcuL2RlbGV0ZS1ub2RlLWJ5LXR5cGUnO1xuaW1wb3J0IHsgaGFuZGxlQ29udGludWFsRGVsZXRlQmFja3dhcmQgfSBmcm9tICcuL2hhbmRsZS1jb250aW51YWwtZGVsZXRlLWJhY2t3YXJkJztcbmltcG9ydCB7IGhhbmRsZUNvbnRpbnVhbEluc2VydEJyZWFrIH0gZnJvbSAnLi9oYW5kbGUtY29udGludWFsLWluc2VydC1icmVhayc7XG5pbXBvcnQgeyBpbnNlcnRFbGVtZW50cyB9IGZyb20gJy4vaW5zZXJ0LWVsZW1lbnRzJztcbmltcG9ydCB7IGluc2VydFBhcmFncmFwaCB9IGZyb20gJy4vaW5zZXJ0LXBhcmFncmFwaCc7XG5pbXBvcnQgeyBtZXJnZURlZXBUb05vZGVzIH0gZnJvbSAnLi9tZXJnZS1kZWVwLXRvLW5vZGVzJztcbmltcG9ydCB7IG1vdmVDaGlsZHJlbiB9IGZyb20gJy4vbW92ZS1jaGlsZHJlbic7XG5pbXBvcnQgeyBvbktleURvd25SZXNldEJsb2NrVHlwZSB9IGZyb20gJy4vb24ta2V5ZG93bi1yZXNldC1ibG9jay10eXBlJztcbmltcG9ydCB7IHNldEVuZFNlbGVjdGlvbiB9IGZyb20gJy4vc2V0LWVuZC1zZWxlY3Rpb24nO1xuaW1wb3J0IHsgc2V0TWFya3MgfSBmcm9tICcuL3NldC1tYXJrcyc7XG5pbXBvcnQgeyBzZXROb2RlIH0gZnJvbSAnLi9zZXQtbm9kZSc7XG5pbXBvcnQgeyBzZXROb2RlQnlUeXBlIH0gZnJvbSAnLi9zZXQtbm9kZS1ieS10eXBlJztcbmltcG9ydCB7IHVuV3JhcCB9IGZyb20gJy4vdW4td3JhcCc7XG5pbXBvcnQgeyB1bndyYXBOb2Rlc0J5VHlwZSB9IGZyb20gJy4vdW53cmFwLW5vZGVzLWJ5LXR5cGUnO1xuXG5leHBvcnQge1xuICAgIGFwcGx5RGVlcFRvTm9kZXMsXG4gICAgY2xlYXJNYXJrcyxcbiAgICBkZWxldGVFbGVtZW50LFxuICAgIGRlbGV0ZU5vZGVCeVR5cGUsXG4gICAgaGFuZGxlQ29udGludWFsRGVsZXRlQmFja3dhcmQsXG4gICAgaGFuZGxlQ29udGludWFsSW5zZXJ0QnJlYWssXG4gICAgaW5zZXJ0RWxlbWVudHMsXG4gICAgaW5zZXJ0UGFyYWdyYXBoLFxuICAgIG1lcmdlRGVlcFRvTm9kZXMsXG4gICAgbW92ZUNoaWxkcmVuLFxuICAgIG9uS2V5RG93blJlc2V0QmxvY2tUeXBlLFxuICAgIHNldEVuZFNlbGVjdGlvbixcbiAgICBzZXRNYXJrcyxcbiAgICBzZXROb2RlLFxuICAgIHNldE5vZGVCeVR5cGUsXG4gICAgdW5XcmFwLFxuICAgIHVud3JhcE5vZGVzQnlUeXBlXG59O1xuIl19
@@ -1,6 +1,6 @@
1
1
  import { NgIf, NgFor, NgStyle, NgTemplateOutlet, NgClass, DOCUMENT } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, Component, Directive, Input, HostBinding, ViewChild, HostListener, ViewContainerRef, Inject, TemplateRef, ChangeDetectionStrategy, Optional, SkipSelf, ContentChildren, forwardRef, EventEmitter, Output, Pipe, Injectable, ElementRef, ChangeDetectorRef, ViewChildren } from '@angular/core';
3
+ import { InjectionToken, Component, Directive, Input, HostBinding, ViewChild, HostListener, ViewContainerRef, Inject, TemplateRef, ChangeDetectionStrategy, Optional, SkipSelf, ContentChildren, forwardRef, EventEmitter, Output, Pipe, Injectable, ElementRef, ChangeDetectorRef, ViewChildren, NgModule } from '@angular/core';
4
4
  import { ThyDivider } from 'ngx-tethys/divider';
5
5
  import { Editor, Element, Span, Range, Path, Node, Point, Text, Transforms, Operation, createEditor } from 'slate';
6
6
  import { ThyAction, ThyActions } from 'ngx-tethys/action';
@@ -30,6 +30,7 @@ import { ThyInputSearch, ThyInputDirective } from 'ngx-tethys/input';
30
30
  import { isKeyHotkey } from 'is-hotkey';
31
31
  import isUrl from 'is-url';
32
32
  import { ThyAlert, ThyAlertActionItemDirective } from 'ngx-tethys/alert';
33
+ import { marked } from 'marked';
33
34
  import { ThyColorPickerDirective } from 'ngx-tethys/color-picker';
34
35
  import { ThyInputNumber } from 'ngx-tethys/input-number';
35
36
  import { ThyEnterDirective, ThyStopPropagationDirective, ThyAutofocusDirective } from 'ngx-tethys/shared';
@@ -42,7 +43,6 @@ import { CodeMirrorComponent, CodemirrorModule } from 'ng-codemirror';
42
43
  import { ThyResizableDirective, ThyResizeHandle } from 'ngx-tethys/resizable';
43
44
  import { ThySwitch } from 'ngx-tethys/switch';
44
45
  import * as i1$1 from 'ngx-tethys/notify';
45
- import { marked } from 'marked';
46
46
  import { ThyProgress } from 'ngx-tethys/progress';
47
47
  import { ThyUploadStatus } from 'ngx-tethys/upload';
48
48
  import { ThyButton } from 'ngx-tethys/button';
@@ -3730,13 +3730,6 @@ const clearMarks = (editor) => {
3730
3730
  }
3731
3731
  };
3732
3732
 
3733
- const closeConversionHint = (editor) => {
3734
- const hintRef = THE_EDITOR_CONVERSION_HINT_REF.get(editor);
3735
- if (hintRef) {
3736
- hintRef.close();
3737
- }
3738
- };
3739
-
3740
3733
  const deleteElement = (editor, element) => {
3741
3734
  const at = findPath(editor, element);
3742
3735
  Transforms.insertNodes(editor, createEmptyParagraph(), { at });
@@ -3915,7 +3908,6 @@ var index = /*#__PURE__*/Object.freeze({
3915
3908
  __proto__: null,
3916
3909
  applyDeepToNodes: applyDeepToNodes,
3917
3910
  clearMarks: clearMarks,
3918
- closeConversionHint: closeConversionHint,
3919
3911
  deleteElement: deleteElement,
3920
3912
  deleteNodeByType: deleteNodeByType,
3921
3913
  handleContinualDeleteBackward: handleContinualDeleteBackward,
@@ -5357,7 +5349,7 @@ const TableEditor = {
5357
5349
  },
5358
5350
  clearCellsContent(editor, cells) {
5359
5351
  if (!cells) {
5360
- cells = TableEditor.getSelectedCells(editor) || [];
5352
+ cells = editor.selections ? TableEditor.getSelectedCells(editor) || [] : [];
5361
5353
  }
5362
5354
  if (cells.length > 0) {
5363
5355
  const tablePosition = createTablePosition(editor);
@@ -7402,6 +7394,135 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
7402
7394
  args: ['inlineToolbar']
7403
7395
  }] } });
7404
7396
 
7397
+ const closeConversionHint = (editor) => {
7398
+ const hintRef = THE_EDITOR_CONVERSION_HINT_REF.get(editor);
7399
+ if (hintRef) {
7400
+ hintRef.close();
7401
+ }
7402
+ };
7403
+ const withDeserializeMd = (editor) => {
7404
+ const { insertData, onKeydown } = editor;
7405
+ editor.onKeydown = (event) => {
7406
+ closeConversionHint(editor);
7407
+ onKeydown(event);
7408
+ };
7409
+ editor.insertData = (data) => {
7410
+ const popover = editor.injector.get(ThyPopover);
7411
+ const viewContainerRef = editor.injector.get(ViewContainerRef);
7412
+ const cdr = editor.injector.get(ChangeDetectorRef);
7413
+ const plainFragment = data.getData('text/plain');
7414
+ const slateFragment = data.getData(`application/${CLIPBOARD_FORMAT_KEY}`);
7415
+ const oldRange = editor.selection;
7416
+ closeConversionHint(editor);
7417
+ if (plainFragment && isMarkdownSyntax(plainFragment) && !slateFragment) {
7418
+ setTimeout(() => {
7419
+ const overlay = editor.injector.get(Overlay);
7420
+ const bodyElement = document.body;
7421
+ const toolbarClass = getToolbarClass(editor);
7422
+ const toolbarElement = document.querySelector(`.${toolbarClass}`);
7423
+ const origin = toolbarElement ? toolbarElement : bodyElement;
7424
+ const placement = toolbarElement ? 'top' : 'topRight';
7425
+ const hintPopoverRef = popover.open(TheConversionHint, {
7426
+ initialState: {
7427
+ editor,
7428
+ conversion: () => {
7429
+ try {
7430
+ const html = marked(plainFragment.replace(/\n```/g, '\n\n```'), { gfm: true });
7431
+ const htmlDom = new DOMParser().parseFromString(html, 'text/html');
7432
+ const fragment = TheiaConverter.convertToTheia(Array.from(htmlDom.body.children));
7433
+ if (!isUnformatted(fragment)) {
7434
+ closeConversionHint(editor);
7435
+ editor.undo();
7436
+ setTimeout(() => {
7437
+ Transforms.select(editor, oldRange);
7438
+ // base 64 图片处理
7439
+ recursionNodes(fragment, (node) => {
7440
+ const isImage = Element.isElement(node) && node.type === ElementKinds.image;
7441
+ if (isImage) {
7442
+ const isBase64 = ImageEditor.isBase64(node?.originUrl);
7443
+ if (isBase64) {
7444
+ ImageEditor.handleBase64ImageElement(editor, node);
7445
+ }
7446
+ else {
7447
+ ImageEditor.handleExternalImageElement(editor, node);
7448
+ }
7449
+ }
7450
+ });
7451
+ Transforms.insertFragment(editor, fragment);
7452
+ AngularEditor.focus(editor);
7453
+ });
7454
+ return;
7455
+ }
7456
+ else {
7457
+ closeConversionHint(editor);
7458
+ }
7459
+ }
7460
+ catch (error) {
7461
+ closeConversionHint(editor);
7462
+ }
7463
+ }
7464
+ },
7465
+ origin,
7466
+ viewContainerRef,
7467
+ placement,
7468
+ offset: -100,
7469
+ minWidth: 0,
7470
+ hasBackdrop: false,
7471
+ backdropClosable: false,
7472
+ closeOnNavigation: false,
7473
+ outsideClosable: true,
7474
+ scrollStrategy: overlay.scrollStrategies.reposition()
7475
+ });
7476
+ THE_EDITOR_CONVERSION_HINT_REF.set(editor, hintPopoverRef);
7477
+ cdr.markForCheck();
7478
+ });
7479
+ }
7480
+ insertData(data);
7481
+ };
7482
+ return editor;
7483
+ };
7484
+ const createDeserializeMdPlugin = createPluginFactory({
7485
+ key: PluginKeys.deserializeMd,
7486
+ withOverrides: withDeserializeMd
7487
+ });
7488
+ const isUnformatted = (elements) => {
7489
+ return elements.every(element => element.type === ElementKinds.default &&
7490
+ element.children.every((node) => {
7491
+ return Text.isText(node) && Object.keys(node).length === 1;
7492
+ }));
7493
+ };
7494
+ const isMarkdownSyntax = content => {
7495
+ // https://github.com/Chalarangelo/parse-md-js/blob/master/parsemd.js
7496
+ const codeBlockRegex = /((\n\t)(.*))+/g;
7497
+ const inlineCodeRegex = /(`)(.*?)\1/g;
7498
+ const imageRegex = /!\[([^\[]+)\]\(([^\)]+)\)/g;
7499
+ const linkRegex = /\[([^\[]+)\]\(([^\)]+)\)/g;
7500
+ const headingRegex = /(#+\s*)(.*)/g;
7501
+ const boldItalicsRegex = /(\*{1,2})(\S+)\1/g;
7502
+ const strikethroughRegex = /(\~\~)(.*?)\1/g;
7503
+ const blockquoteRegex = /\n(&gt;|\>)(.*)/g;
7504
+ const horizontalRuleRegex = /\n((\-{3,})|(={3,}))/g;
7505
+ const unorderedListRegex = /(\n\s*(\-|\+)\s.*)+/g;
7506
+ const orderedListRegex = /(\n\s*([0-9]+\.)\s.*)+/g;
7507
+ const paragraphRegex = /\n+(?!<pre>)(?!<h)(?!<ul>)(?!<blockquote)(?!<hr)(?!\t)([^\n]+)\n/g;
7508
+ // from marked
7509
+ const table = /^\s*([^\s].*\|.*)\s{0,3}(?:\|\s*)?(:?-+:?\s*(?:\|\s*:?-+:?\s*)*)\|?(?:\s*((?:(?!|hr|heading|blockquote|code|fences|list|html).*(?:|$))*)*|$)/g;
7510
+ const regexps = [
7511
+ inlineCodeRegex,
7512
+ imageRegex,
7513
+ linkRegex,
7514
+ headingRegex,
7515
+ boldItalicsRegex,
7516
+ strikethroughRegex,
7517
+ blockquoteRegex,
7518
+ horizontalRuleRegex,
7519
+ unorderedListRegex,
7520
+ orderedListRegex,
7521
+ table
7522
+ ];
7523
+ return regexps.some(regexp => regexp.test(content));
7524
+ };
7525
+
7405
7526
  class TheConversionHint {
7406
7527
  constructor() {
7407
7528
  this.duration = 10000;
@@ -7414,16 +7535,16 @@ class TheConversionHint {
7414
7535
  }
7415
7536
  mouseleave() {
7416
7537
  if (this.pauseOnHover) {
7417
- this.creatCloseTimer();
7538
+ this.createCloseTimer();
7418
7539
  }
7419
7540
  }
7420
7541
  ngOnInit() {
7421
- this.creatCloseTimer();
7542
+ this.createCloseTimer();
7422
7543
  }
7423
7544
  ngOnDestroy() {
7424
7545
  this.clearCloseTimer();
7425
7546
  }
7426
- creatCloseTimer() {
7547
+ createCloseTimer() {
7427
7548
  this.closeTimer = setInterval(() => {
7428
7549
  clearInterval(this.closeTimer);
7429
7550
  closeConversionHint(this.editor);
@@ -7581,7 +7702,7 @@ class TheColumnResizeOverlayHandle {
7581
7702
  this._listenForMouseEvents();
7582
7703
  const overlayPane = this.elementRef.nativeElement.closest('.cdk-overlay-pane');
7583
7704
  // 解决鼠标 hover 在拖拽线上阻断浏览器滚动
7584
- fromEvent(overlayPane, 'wheel')
7705
+ fromEvent(overlayPane, 'wheel', { passive: true })
7585
7706
  .pipe(take(1))
7586
7707
  .subscribe(() => {
7587
7708
  overlayPane.style.pointerEvents = 'none';
@@ -8785,7 +8906,7 @@ class TheColorToolbarItem extends TheBaseToolbarItem {
8785
8906
  }
8786
8907
  }
8787
8908
  selectColor(event) {
8788
- const color = this.selectedColor || this.getDefaultColor();
8909
+ const color = this.getDefaultColor() || this.selectedColor;
8789
8910
  this.preventDefault(event);
8790
8911
  this.changeColor(color);
8791
8912
  }
@@ -8808,20 +8929,24 @@ class TheColorToolbarItem extends TheBaseToolbarItem {
8808
8929
  }
8809
8930
  ColorEditor.setColor(this.editor, this.selectedColor, this.toolbarItem.key);
8810
8931
  }
8932
+ colorPanelOpen(event) {
8933
+ this.panelOpenSelection = this.editor?.selection;
8934
+ }
8811
8935
  colorPanelClose() {
8812
8936
  this.pickerActive = false;
8813
8937
  setTimeout(() => {
8938
+ Transforms.select(this.editor, this.panelOpenSelection);
8814
8939
  AngularEditor.focus(this.editor);
8815
8940
  });
8816
8941
  }
8817
8942
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TheColorToolbarItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8818
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: TheColorToolbarItem, isStandalone: true, selector: "the-color-toolbar-item", host: { classAttribute: "the-color-toolbar-item" }, usesInheritance: true, ngImport: i0, template: "<thy-actions\n class=\"d-flex p-0\"\n thySize=\"zero\"\n thyTooltipPlacement=\"top\"\n [thyTooltip]=\"toolbarItem.name\"\n [ngClass]=\"{ 'thy-default-picker-active': pickerActive }\"\n>\n <a href=\"javascript:;\" class=\"color\" thyAction (mousedown)=\"selectColor($event)\">\n <thy-icon\n thyIconType=\"twotone\"\n [thyIconName]=\"toolbarItem.icon\"\n [thyTwotoneColor]=\"toolbarItem.key === 'color' ? lastTextColor : lastBackgroundColor\"\n (mousedown)=\"selectColor($event)\"\n ></thy-icon>\n </a>\n <a\n class=\"pl-0 pr-0 caret-down\"\n href=\"javascript:;\"\n thyAction\n thyColorPicker\n thyPlacement=\"bottomLeft\"\n [(ngModel)]=\"selectedColor\"\n (thyPanelOpen)=\"pickerActive = true\"\n (thyPanelClose)=\"colorPanelClose()\"\n (ngModelChange)=\"changeColor($event)\"\n (mousedown)=\"preventDefault($event)\"\n >\n <thy-icon class=\"link-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n </a>\n</thy-actions>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "component", type: ThyActions, selector: "thy-actions", inputs: ["thySize"] }, { kind: "directive", type: ThyColorPickerDirective, selector: "[thyColorPicker]", inputs: ["thyOffset", "thyHasBackdrop", "thyDefaultColor", "thyTransparentColorSelectable", "thyPresetColors", "thyPlacement", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyDisabled"], outputs: ["thyPanelOpen", "thyPanelClose"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }] }); }
8943
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: TheColorToolbarItem, isStandalone: true, selector: "the-color-toolbar-item", host: { classAttribute: "the-color-toolbar-item" }, usesInheritance: true, ngImport: i0, template: "<thy-actions\n class=\"d-flex p-0\"\n thySize=\"zero\"\n thyTooltipPlacement=\"top\"\n [thyTooltip]=\"toolbarItem.name\"\n [ngClass]=\"{ 'thy-default-picker-active': pickerActive }\"\n>\n <a href=\"javascript:;\" class=\"color\" thyAction (mousedown)=\"selectColor($event)\">\n <thy-icon\n thyIconType=\"twotone\"\n [thyIconName]=\"toolbarItem.icon\"\n [thyTwotoneColor]=\"toolbarItem.key === 'color' ? lastTextColor : lastBackgroundColor\"\n (mousedown)=\"selectColor($event)\"\n ></thy-icon>\n </a>\n <a\n class=\"pl-0 pr-0 caret-down\"\n href=\"javascript:;\"\n thyAction\n thyColorPicker\n thyPlacement=\"bottomLeft\"\n [(ngModel)]=\"selectedColor\"\n (thyPanelOpen)=\"pickerActive = true\"\n (thyPanelOpen)=\"colorPanelOpen($event)\"\n (thyPanelClose)=\"colorPanelClose()\"\n (ngModelChange)=\"changeColor($event)\"\n (mousedown)=\"preventDefault($event)\"\n >\n <thy-icon class=\"link-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n </a>\n</thy-actions>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "component", type: ThyActions, selector: "thy-actions", inputs: ["thySize"] }, { kind: "directive", type: ThyColorPickerDirective, selector: "[thyColorPicker]", inputs: ["thyOffset", "thyHasBackdrop", "thyDefaultColor", "thyTransparentColorSelectable", "thyPresetColors", "thyPlacement", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyDisabled"], outputs: ["thyPanelOpen", "thyPanelClose"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }] }); }
8819
8944
  }
8820
8945
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TheColorToolbarItem, decorators: [{
8821
8946
  type: Component,
8822
8947
  args: [{ selector: 'the-color-toolbar-item', host: {
8823
8948
  class: 'the-color-toolbar-item'
8824
- }, standalone: true, imports: [NgClass, FormsModule, ThyAction, ThyActions, ThyColorPickerDirective, ThyTooltipDirective, ThyIcon], template: "<thy-actions\n class=\"d-flex p-0\"\n thySize=\"zero\"\n thyTooltipPlacement=\"top\"\n [thyTooltip]=\"toolbarItem.name\"\n [ngClass]=\"{ 'thy-default-picker-active': pickerActive }\"\n>\n <a href=\"javascript:;\" class=\"color\" thyAction (mousedown)=\"selectColor($event)\">\n <thy-icon\n thyIconType=\"twotone\"\n [thyIconName]=\"toolbarItem.icon\"\n [thyTwotoneColor]=\"toolbarItem.key === 'color' ? lastTextColor : lastBackgroundColor\"\n (mousedown)=\"selectColor($event)\"\n ></thy-icon>\n </a>\n <a\n class=\"pl-0 pr-0 caret-down\"\n href=\"javascript:;\"\n thyAction\n thyColorPicker\n thyPlacement=\"bottomLeft\"\n [(ngModel)]=\"selectedColor\"\n (thyPanelOpen)=\"pickerActive = true\"\n (thyPanelClose)=\"colorPanelClose()\"\n (ngModelChange)=\"changeColor($event)\"\n (mousedown)=\"preventDefault($event)\"\n >\n <thy-icon class=\"link-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n </a>\n</thy-actions>\n" }]
8949
+ }, standalone: true, imports: [NgClass, FormsModule, ThyAction, ThyActions, ThyColorPickerDirective, ThyTooltipDirective, ThyIcon], template: "<thy-actions\n class=\"d-flex p-0\"\n thySize=\"zero\"\n thyTooltipPlacement=\"top\"\n [thyTooltip]=\"toolbarItem.name\"\n [ngClass]=\"{ 'thy-default-picker-active': pickerActive }\"\n>\n <a href=\"javascript:;\" class=\"color\" thyAction (mousedown)=\"selectColor($event)\">\n <thy-icon\n thyIconType=\"twotone\"\n [thyIconName]=\"toolbarItem.icon\"\n [thyTwotoneColor]=\"toolbarItem.key === 'color' ? lastTextColor : lastBackgroundColor\"\n (mousedown)=\"selectColor($event)\"\n ></thy-icon>\n </a>\n <a\n class=\"pl-0 pr-0 caret-down\"\n href=\"javascript:;\"\n thyAction\n thyColorPicker\n thyPlacement=\"bottomLeft\"\n [(ngModel)]=\"selectedColor\"\n (thyPanelOpen)=\"pickerActive = true\"\n (thyPanelOpen)=\"colorPanelOpen($event)\"\n (thyPanelClose)=\"colorPanelClose()\"\n (ngModelChange)=\"changeColor($event)\"\n (mousedown)=\"preventDefault($event)\"\n >\n <thy-icon class=\"link-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n </a>\n</thy-actions>\n" }]
8825
8950
  }], ctorParameters: () => [] });
8826
8951
 
8827
8952
  const createColorPlugin = createPluginFactory({
@@ -9565,128 +9690,6 @@ const createDeserializeHTMLPlugin = createPluginFactory({
9565
9690
  withOverrides: withDeserializeHTML
9566
9691
  });
9567
9692
 
9568
- const withDeserializeMd = (editor) => {
9569
- const { insertData, onKeydown } = editor;
9570
- editor.onKeydown = (event) => {
9571
- closeConversionHint(editor);
9572
- onKeydown(event);
9573
- };
9574
- editor.insertData = (data) => {
9575
- const popover = editor.injector.get(ThyPopover);
9576
- const viewContainerRef = editor.injector.get(ViewContainerRef);
9577
- const cdr = editor.injector.get(ChangeDetectorRef);
9578
- const plainFragment = data.getData('text/plain');
9579
- const slateFragment = data.getData(`application/${CLIPBOARD_FORMAT_KEY}`);
9580
- const oldRange = editor.selection;
9581
- closeConversionHint(editor);
9582
- if (plainFragment && isMarkdownStynx(plainFragment) && !slateFragment) {
9583
- setTimeout(() => {
9584
- const overlay = editor.injector.get(Overlay);
9585
- const bodyElement = document.body;
9586
- const toolbarClass = getToolbarClass(editor);
9587
- const toolbarElement = document.querySelector(`.${toolbarClass}`);
9588
- const origin = toolbarElement ? toolbarElement : bodyElement;
9589
- const placement = toolbarElement ? 'top' : 'topRight';
9590
- const hintPopverRef = popover.open(TheConversionHint, {
9591
- initialState: {
9592
- editor,
9593
- conversion: () => {
9594
- try {
9595
- const html = marked(plainFragment.replace(/\n```/g, '\n\n```'), { gfm: true });
9596
- const htmlDom = new DOMParser().parseFromString(html, 'text/html');
9597
- const fragment = TheiaConverter.convertToTheia(Array.from(htmlDom.body.children));
9598
- if (!isUnformatted(fragment)) {
9599
- closeConversionHint(editor);
9600
- editor.undo();
9601
- setTimeout(() => {
9602
- Transforms.select(editor, oldRange);
9603
- // base 64 图片处理
9604
- recursionNodes(fragment, (node) => {
9605
- const isImage = Element.isElement(node) && node.type === ElementKinds.image;
9606
- if (isImage) {
9607
- const isBase64 = ImageEditor.isBase64(node?.originUrl);
9608
- if (isBase64) {
9609
- ImageEditor.handleBase64ImageElement(editor, node);
9610
- }
9611
- else {
9612
- ImageEditor.handleExternalImageElement(editor, node);
9613
- }
9614
- }
9615
- });
9616
- Transforms.insertFragment(editor, fragment);
9617
- AngularEditor.focus(editor);
9618
- });
9619
- return;
9620
- }
9621
- else {
9622
- closeConversionHint(editor);
9623
- }
9624
- }
9625
- catch (error) {
9626
- closeConversionHint(editor);
9627
- }
9628
- }
9629
- },
9630
- origin,
9631
- viewContainerRef,
9632
- placement,
9633
- offset: -100,
9634
- minWidth: 0,
9635
- hasBackdrop: false,
9636
- backdropClosable: false,
9637
- closeOnNavigation: false,
9638
- scrollStrategy: overlay.scrollStrategies.reposition()
9639
- });
9640
- THE_EDITOR_CONVERSION_HINT_REF.set(editor, hintPopverRef);
9641
- cdr.markForCheck();
9642
- });
9643
- }
9644
- insertData(data);
9645
- };
9646
- return editor;
9647
- };
9648
- const createDeserializeMdPlugin = createPluginFactory({
9649
- key: PluginKeys.deserializeMd,
9650
- withOverrides: withDeserializeMd
9651
- });
9652
- const isUnformatted = (elements) => {
9653
- return elements.every(element => element.type === ElementKinds.default &&
9654
- element.children.every((node) => {
9655
- return Text.isText(node) && Object.keys(node).length === 1;
9656
- }));
9657
- };
9658
- const isMarkdownStynx = content => {
9659
- // https://github.com/Chalarangelo/parse-md-js/blob/master/parsemd.js
9660
- const codeBlockRegex = /((\n\t)(.*))+/g;
9661
- const inlineCodeRegex = /(`)(.*?)\1/g;
9662
- const imageRegex = /!\[([^\[]+)\]\(([^\)]+)\)/g;
9663
- const linkRegex = /\[([^\[]+)\]\(([^\)]+)\)/g;
9664
- const headingRegex = /(#+\s*)(.*)/g;
9665
- const boldItalicsRegex = /(\*{1,2})(\S+)\1/g;
9666
- const strikethroughRegex = /(\~\~)(.*?)\1/g;
9667
- const blockquoteRegex = /\n(&gt;|\>)(.*)/g;
9668
- const horizontalRuleRegex = /\n((\-{3,})|(={3,}))/g;
9669
- const unorderedListRegex = /(\n\s*(\-|\+)\s.*)+/g;
9670
- const orderedListRegex = /(\n\s*([0-9]+\.)\s.*)+/g;
9671
- const paragraphRegex = /\n+(?!<pre>)(?!<h)(?!<ul>)(?!<blockquote)(?!<hr)(?!\t)([^\n]+)\n/g;
9672
- // from marked
9673
- const table = /^\s*([^\s].*\|.*)\s{0,3}(?:\|\s*)?(:?-+:?\s*(?:\|\s*:?-+:?\s*)*)\|?(?:\s*((?:(?!|hr|heading|blockquote|code|fences|list|html).*(?:|$))*)*|$)/g;
9674
- const regexps = [
9675
- inlineCodeRegex,
9676
- imageRegex,
9677
- linkRegex,
9678
- headingRegex,
9679
- boldItalicsRegex,
9680
- strikethroughRegex,
9681
- blockquoteRegex,
9682
- horizontalRuleRegex,
9683
- unorderedListRegex,
9684
- orderedListRegex,
9685
- table
9686
- ];
9687
- return regexps.some(regexp => regexp.test(content));
9688
- };
9689
-
9690
9693
  const FontSizeEditor = {
9691
9694
  setFontSize(editor, size) {
9692
9695
  const contextService = editor.injector.get(TheContextService);
@@ -14778,7 +14781,7 @@ class TheTable extends TheBaseElement {
14778
14781
  }
14779
14782
  listenTableWrapperScroll() {
14780
14783
  let timer;
14781
- fromEvent(this.tableWrapper.nativeElement, 'wheel')
14784
+ fromEvent(this.tableWrapper.nativeElement, 'wheel', { passive: true })
14782
14785
  .pipe(takeUntil(this.destroy$))
14783
14786
  .subscribe(() => {
14784
14787
  // 处理标题行固定时的滚动跟随
@@ -15750,7 +15753,7 @@ const normalizeTable = (table) => {
15750
15753
  };
15751
15754
 
15752
15755
  const withTable = (editor) => {
15753
- const { deleteBackward, deleteForward, onKeydown, setFragmentData, insertData, normalizeNode, isBlockCard, renderElement, deleteCutData, isContainer, onChange, onClick } = editor;
15756
+ const { deleteBackward, deleteForward, onKeydown, setFragmentData, insertData, normalizeNode, isBlockCard, renderElement, deleteCutData, isContainer, onChange, onClick, mousedown } = editor;
15754
15757
  editor.deleteBackward = unit => {
15755
15758
  const opts = new TableOptions();
15756
15759
  if (!isSelectionInTable(opts, editor)) {
@@ -15801,6 +15804,16 @@ const withTable = (editor) => {
15801
15804
  }
15802
15805
  onClick(event);
15803
15806
  };
15807
+ editor.mousedown = (event) => {
15808
+ const hitElement = event.target;
15809
+ if (hitElement.classList.contains('the-table-wrapper')) {
15810
+ if (!TheEditor.isFocused(editor)) {
15811
+ TheEditor.focus(editor);
15812
+ }
15813
+ event.preventDefault();
15814
+ }
15815
+ mousedown(event);
15816
+ };
15804
15817
  editor.onKeydown = (event) => {
15805
15818
  const opts = new TableOptions();
15806
15819
  const isMoveUp = hotkeys.isMoveUp(event);
@@ -16990,7 +17003,6 @@ class TheEditorComponent {
16990
17003
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TheEditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.DestroyRef }, { token: i0.ElementRef }, { token: i0.Injector }, { token: i0.NgZone }, { token: i0.ViewContainerRef }, { token: TheContextService }, { token: i2$2.ThyIconRegistry }, { token: THE_PRESET_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
16991
17004
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: TheEditorComponent, isStandalone: true, selector: "the-editor, theEditor", inputs: { theOptions: "theOptions", thePlugins: "thePlugins", theGlobalToolbar: "theGlobalToolbar", theDecorate: "theDecorate", theOnError: "theOnError" }, outputs: { theOnSave: "theOnSave", theOnDOMEvent: "theOnDOMEvent", theEditorCreated: "theEditorCreated", theUploadingStatus: "theUploadingStatus" }, host: { properties: { "class.the-editor-readonly": "editor.options?.readonly", "class.the-mobile-editor": "isMobileMode" }, classAttribute: "the-editor" }, providers: [
16992
17005
  TheContextService,
16993
- THE_MODE_PROVIDER,
16994
17006
  {
16995
17007
  provide: TheToolbarGroupToken,
16996
17008
  useValue: TheToolbarGroup
@@ -17021,7 +17033,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
17021
17033
  ThyImageGroup
17022
17034
  ], providers: [
17023
17035
  TheContextService,
17024
- THE_MODE_PROVIDER,
17025
17036
  {
17026
17037
  provide: TheToolbarGroupToken,
17027
17038
  useValue: TheToolbarGroup
@@ -17066,6 +17077,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
17066
17077
  args: ['globalToolbar']
17067
17078
  }] } });
17068
17079
 
17080
+ class TheEditorModule {
17081
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TheEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17082
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: TheEditorModule, imports: [TheEditorComponent], exports: [TheEditorComponent] }); }
17083
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TheEditorModule, providers: [THE_MODE_PROVIDER], imports: [TheEditorComponent] }); }
17084
+ }
17085
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TheEditorModule, decorators: [{
17086
+ type: NgModule,
17087
+ args: [{
17088
+ imports: [TheEditorComponent],
17089
+ exports: [TheEditorComponent],
17090
+ providers: [THE_MODE_PROVIDER]
17091
+ }]
17092
+ }] });
17093
+
17069
17094
  class TheToolbarService {
17070
17095
  initialize(toolbarItems, global = DefaultGlobalToolbarDefinition, inline = DefaultInlineToolbarDefinition) {
17071
17096
  const toolbarDefinition = {
@@ -17158,7 +17183,7 @@ class BasicTest {
17158
17183
  provide: ThyIconRegistry,
17159
17184
  useClass: theTethysIconRegistryFaker
17160
17185
  }
17161
- ], viewQueries: [{ propertyName: "editorComponent", first: true, predicate: TheEditorComponent, descendants: true, static: true }], ngImport: i0, template: `<the-editor [(ngModel)]="value" [thePlugins]="plugins" (theEditorCreated)="editorCreate($event)"></the-editor>`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ThyPopoverModule }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "component", type: TheEditorComponent, selector: "the-editor, theEditor", inputs: ["theOptions", "thePlugins", "theGlobalToolbar", "theDecorate", "theOnError"], outputs: ["theOnSave", "theOnDOMEvent", "theEditorCreated", "theUploadingStatus"] }] }); }
17186
+ ], viewQueries: [{ propertyName: "editorComponent", first: true, predicate: TheEditorComponent, descendants: true, static: true }], ngImport: i0, template: `<the-editor [(ngModel)]="value" [thePlugins]="plugins" (theEditorCreated)="editorCreate($event)"></the-editor>`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ThyPopoverModule }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "ngmodule", type: TheEditorModule }, { kind: "component", type: TheEditorComponent, selector: "the-editor, theEditor", inputs: ["theOptions", "thePlugins", "theGlobalToolbar", "theDecorate", "theOnError"], outputs: ["theOnSave", "theOnDOMEvent", "theEditorCreated", "theUploadingStatus"] }] }); }
17162
17187
  }
17163
17188
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: BasicTest, decorators: [{
17164
17189
  type: Component,
@@ -17166,7 +17191,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
17166
17191
  selector: 'basic-editor-component',
17167
17192
  template: `<the-editor [(ngModel)]="value" [thePlugins]="plugins" (theEditorCreated)="editorCreate($event)"></the-editor>`,
17168
17193
  standalone: true,
17169
- imports: [NgClass, FormsModule, ThyPopoverModule, ThyTooltipModule, TheEditorComponent],
17194
+ imports: [NgClass, FormsModule, ThyPopoverModule, ThyTooltipModule, TheEditorModule],
17170
17195
  providers: [
17171
17196
  THY_TOOLTIP_DEFAULT_CONFIG_PROVIDER,
17172
17197
  {
@@ -17324,5 +17349,5 @@ const withTestPlugin = (plugins, initValue) => {
17324
17349
  * Generated bundle index. Do not edit.
17325
17350
  */
17326
17351
 
17327
- export { ALIGN_BLOCK_TYPES, A_TAG_REL_ATTR, AlignEditor, Alignment, BLOCK_DELETE_BACKWARD_TYPES, BasicTest, BlockquoteEditor, CLIPBOARD_FORMAT_KEY, CODEMIRROR_PADDING_TOP, CODE_MODES, CONTAINER_BLOCKS, CONTROL_KEY, CodeEditor, ColorEditor, ColumnResizeNotifierSource, ColumnResizingStore, DEFAULT_LANGUAGE, DEFAULT_SCROLL_CONTAINER, DISABLED_OPERATE_TYPES, DataTransferFaker, DefaultElementOptions, DefaultGlobalToolbarDefinition, DefaultInlineToolbarDefinition, DefaultPluginMenu, DropdownMode, ELEMENT_UNIQUE_ID, EditorPresetConfigFactoryMock, ElementKinds, ErrorCodes, FontSizeTypes, FontSizes, HEADING_TYPES, HeadingEditor, HoveredCellInfo, HrEditor, IS_MAC, ImageEditor, IndentEditor, Indents, InlineCodeEditor, LINK_DEFAULT_TEXT, LIST_BLOCK_TYPES, LayoutTypes, LinkEditor, ListEditor, MarkEditor, MarkProps, MarkTypes, MentionEditor, PICTURE_ACCEPTED_UPLOAD_MIME, PICTURE_ACCEPTED_UPLOAD_SIZE, PluginKeys, PluginMenuIcons, PluginMenuSvgs, Position, QuickInsertEditor, ResizeRef, SLA_TABLE_CELL_SELECTOR, SLA_TABLE_SELECTOR, STANDARD_HEADING_TYPES, ScrollDirection, SpecialBackgroundColor, TAB_SPACE, THE_EDITOR_BG_COLOR, THE_EDITOR_COLOR, THE_EDITOR_CONVERSION_HINT_REF, THE_EDITOR_ORIGIN_ANCHOR, THE_EDITOR_POPOVER_REF, THE_EDITOR_PREVIOUS_SELECTION, THE_EDITOR_UUID, THE_INLINE_TOOLBAR_TYPES, THE_LISTBOX_PARENT_GROUP_TOKEN, THE_LISTBOX_PARENT_OPTION_TOKEN, THE_LISTBOX_TOKEN, THE_MODE_PROVIDER, THE_MODE_TOKEN, THE_PLUGIN_MENU_REF, THE_PRESET_CONFIG_TOKEN, THE_UPLOAD_SERVICE_TOKEN, TableCellEventDispatcher, TableEditor, TableHeaderBackgroundColor, TablePosition, TheBaseElement, TheBaseSuggestion, TheBaseToolbarDropdown, TheBaseToolbarItem, TheColumnResizeDirective, TheColumnResizeOverlayHandle, TheContextMenu, TheContextService, TheConversionHint, TheDataMode, TheDefaultElement, TheEditor, TheEditorComponent, TheImage, TheInlineToolbar, TheListboxDirective, TheListboxGroupDirective, TheListboxOptionDirective, TheMode, TheModeConfig, ThePluginMenu, ThePluginMenuComponent, ThePluginMenuItemType, ThePreventDefaultDirective, index$1 as TheQueries, TheTableSelect, TheTemplate, TheText, TheToolbarComponent, TheToolbarDropdown, TheToolbarGroup, TheToolbarGroupToken, TheToolbarItem, TheToolbarService, index as TheTransforms, TodoItemEditor, ToolbarActionTypes, ToolbarAlignment, ToolbarItemType, ToolbarMoreGroup, VOID_BLOCK_TYPES, VerticalAlignEditor, VerticalAlignment, ZERO_WIDTH_CHAR, autoFocus, base64toBlob, bottomLeftPosition, buildPluginMenu, buildPluginMenuItemMap, calcPrintColumnWidth, calcSpanForColumn, calcSpanForRow, calculateHeaderRowHeight, calculateRowControls, coercePixelsFromCssValue, combinePlugins, copyNode, copyNodeForSafari, createCell, createEmptyContent, createEmptyParagraph, createMentionPlugin, createPluginFactory, createRow, createTable, createTablePosition, createTest1Plugin, createTestPlugin, createToolbar, createVerticalAlignPlugin, customPluginMock, customPluginMockKey, dataDeserialize, dataSerializing, deleteElementKey, errorImageUrlMock, extractFragment, filterTextFormat, fixBlockWithoutParagraph, fixBlockWithoutText, flattenDeepPlugins, getCellPositionsFromRange, getColsTotalWidth, getColumnsWidth, getDirtyElements, getEditorUUID, getElementClassByPrefix, getElementHeight, getElementWidth, getEndBlock, getGridColumns, getMode, getNextCell, getOriginCell, getPlugin, getPluginOptions, getPlugins, getRowsTotalHeight, getSelectCellNode, getSelectedCellPositions, getStartBlock, getTableByCell, getTableByRow, getToolbarClass, hasHeaderRow, headingOptions, htmlToTheia, idCreator, inValidTypes, initializeDefaultMenuIcons, insertDataByInvalidType, internalPlugins, isCleanEmptyParagraph, isColorIndicator, isColorInput, isColorPanel, isDirectionKeydown, isInside, isMobileMode, isPrintMode, isPureEmptyParagraph, isRangeInTable, isRectangularInTableCells, isSelectedAllCell, isSelectionInTable, isVirtualKey, matchOptions, mergeArray, mergeDeepPlugins, mergeElementOptions, mergeOptions, nestedStructureByKey, normalizeValue, originOptions, plainToTheia, pluginKey, pluginKey1, pluginsByKey, reSelection, recursionNodes, refocus, scrollIntoView, setEditorUUID, theTethysIconRegistryFaker, topLeftPosition, uniqueCellPosition, updatePopoverPosition, useElementStyle, withMention, withTestPlugin, withTheia };
17352
+ export { ALIGN_BLOCK_TYPES, A_TAG_REL_ATTR, AlignEditor, Alignment, BLOCK_DELETE_BACKWARD_TYPES, BasicTest, BlockquoteEditor, CLIPBOARD_FORMAT_KEY, CODEMIRROR_PADDING_TOP, CODE_MODES, CONTAINER_BLOCKS, CONTROL_KEY, CodeEditor, ColorEditor, ColumnResizeNotifierSource, ColumnResizingStore, DEFAULT_LANGUAGE, DEFAULT_SCROLL_CONTAINER, DISABLED_OPERATE_TYPES, DataTransferFaker, DefaultElementOptions, DefaultGlobalToolbarDefinition, DefaultInlineToolbarDefinition, DefaultPluginMenu, DropdownMode, ELEMENT_UNIQUE_ID, EditorPresetConfigFactoryMock, ElementKinds, ErrorCodes, FontSizeTypes, FontSizes, HEADING_TYPES, HeadingEditor, HoveredCellInfo, HrEditor, IS_MAC, ImageEditor, IndentEditor, Indents, InlineCodeEditor, LINK_DEFAULT_TEXT, LIST_BLOCK_TYPES, LayoutTypes, LinkEditor, ListEditor, MarkEditor, MarkProps, MarkTypes, MentionEditor, PICTURE_ACCEPTED_UPLOAD_MIME, PICTURE_ACCEPTED_UPLOAD_SIZE, PluginKeys, PluginMenuIcons, PluginMenuSvgs, Position, QuickInsertEditor, ResizeRef, SLA_TABLE_CELL_SELECTOR, SLA_TABLE_SELECTOR, STANDARD_HEADING_TYPES, ScrollDirection, SpecialBackgroundColor, TAB_SPACE, THE_EDITOR_BG_COLOR, THE_EDITOR_COLOR, THE_EDITOR_CONVERSION_HINT_REF, THE_EDITOR_ORIGIN_ANCHOR, THE_EDITOR_POPOVER_REF, THE_EDITOR_PREVIOUS_SELECTION, THE_EDITOR_UUID, THE_INLINE_TOOLBAR_TYPES, THE_LISTBOX_PARENT_GROUP_TOKEN, THE_LISTBOX_PARENT_OPTION_TOKEN, THE_LISTBOX_TOKEN, THE_MODE_PROVIDER, THE_MODE_TOKEN, THE_PLUGIN_MENU_REF, THE_PRESET_CONFIG_TOKEN, THE_UPLOAD_SERVICE_TOKEN, TableCellEventDispatcher, TableEditor, TableHeaderBackgroundColor, TablePosition, TheBaseElement, TheBaseSuggestion, TheBaseToolbarDropdown, TheBaseToolbarItem, TheColumnResizeDirective, TheColumnResizeOverlayHandle, TheContextMenu, TheContextService, TheConversionHint, TheDataMode, TheDefaultElement, TheEditor, TheEditorComponent, TheEditorModule, TheImage, TheInlineToolbar, TheListboxDirective, TheListboxGroupDirective, TheListboxOptionDirective, TheMode, TheModeConfig, ThePluginMenu, ThePluginMenuComponent, ThePluginMenuItemType, ThePreventDefaultDirective, index$1 as TheQueries, TheTableSelect, TheTemplate, TheText, TheToolbarComponent, TheToolbarDropdown, TheToolbarGroup, TheToolbarGroupToken, TheToolbarItem, TheToolbarService, index as TheTransforms, TodoItemEditor, ToolbarActionTypes, ToolbarAlignment, ToolbarItemType, ToolbarMoreGroup, VOID_BLOCK_TYPES, VerticalAlignEditor, VerticalAlignment, ZERO_WIDTH_CHAR, autoFocus, base64toBlob, bottomLeftPosition, buildPluginMenu, buildPluginMenuItemMap, calcPrintColumnWidth, calcSpanForColumn, calcSpanForRow, calculateHeaderRowHeight, calculateRowControls, coercePixelsFromCssValue, combinePlugins, copyNode, copyNodeForSafari, createCell, createEmptyContent, createEmptyParagraph, createMentionPlugin, createPluginFactory, createRow, createTable, createTablePosition, createTest1Plugin, createTestPlugin, createToolbar, createVerticalAlignPlugin, customPluginMock, customPluginMockKey, dataDeserialize, dataSerializing, deleteElementKey, errorImageUrlMock, extractFragment, filterTextFormat, fixBlockWithoutParagraph, fixBlockWithoutText, flattenDeepPlugins, getCellPositionsFromRange, getColsTotalWidth, getColumnsWidth, getDirtyElements, getEditorUUID, getElementClassByPrefix, getElementHeight, getElementWidth, getEndBlock, getGridColumns, getMode, getNextCell, getOriginCell, getPlugin, getPluginOptions, getPlugins, getRowsTotalHeight, getSelectCellNode, getSelectedCellPositions, getStartBlock, getTableByCell, getTableByRow, getToolbarClass, hasHeaderRow, headingOptions, htmlToTheia, idCreator, inValidTypes, initializeDefaultMenuIcons, insertDataByInvalidType, internalPlugins, isCleanEmptyParagraph, isColorIndicator, isColorInput, isColorPanel, isDirectionKeydown, isInside, isMobileMode, isPrintMode, isPureEmptyParagraph, isRangeInTable, isRectangularInTableCells, isSelectedAllCell, isSelectionInTable, isVirtualKey, matchOptions, mergeArray, mergeDeepPlugins, mergeElementOptions, mergeOptions, nestedStructureByKey, normalizeValue, originOptions, plainToTheia, pluginKey, pluginKey1, pluginsByKey, reSelection, recursionNodes, refocus, scrollIntoView, setEditorUUID, theTethysIconRegistryFaker, topLeftPosition, uniqueCellPosition, updatePopoverPosition, useElementStyle, withMention, withTestPlugin, withTheia };
17328
17353
  //# sourceMappingURL=worktile-theia.mjs.map