@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.
- package/components/column-resize/overlay-handle.component.d.ts +3 -3
- package/components/conversion-hint/conversion-hint.component.d.ts +1 -1
- package/editor.module.d.ts +7 -0
- package/esm2022/components/column-resize/overlay-handle.component.mjs +5 -5
- package/esm2022/components/conversion-hint/conversion-hint.component.mjs +6 -6
- package/esm2022/editor.component.mjs +2 -4
- package/esm2022/editor.module.mjs +18 -0
- package/esm2022/plugins/color/toolbar-item.component.mjs +9 -4
- package/esm2022/plugins/deserialize/deserialize-md.plugin.mjs +17 -11
- package/esm2022/plugins/table/components/table.component.mjs +2 -2
- package/esm2022/plugins/table/table.editor.mjs +2 -2
- package/esm2022/plugins/table/table.plugin.mjs +12 -2
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/test/basic/basic.component.mjs +5 -3
- package/esm2022/transforms/index.mjs +2 -3
- package/fesm2022/worktile-theia.mjs +172 -147
- package/fesm2022/worktile-theia.mjs.map +1 -1
- package/interfaces/editor.d.ts +1 -1
- package/package.json +2 -2
- package/plugins/color/toolbar-item.component.d.ts +5 -1
- package/plugins/deserialize/deserialize-md.plugin.d.ts +2 -0
- package/plugins/table/components/table.component.d.ts +1 -1
- package/public-api.d.ts +1 -0
- package/transforms/index.d.ts +1 -2
- package/esm2022/transforms/close-conversion-hint.mjs +0 -8
- package/transforms/close-conversion-hint.d.ts +0 -2
|
@@ -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,
|
|
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,
|
|
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,
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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(>|\>)(.*)/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.
|
|
7538
|
+
this.createCloseTimer();
|
|
7418
7539
|
}
|
|
7419
7540
|
}
|
|
7420
7541
|
ngOnInit() {
|
|
7421
|
-
this.
|
|
7542
|
+
this.createCloseTimer();
|
|
7422
7543
|
}
|
|
7423
7544
|
ngOnDestroy() {
|
|
7424
7545
|
this.clearCloseTimer();
|
|
7425
7546
|
}
|
|
7426
|
-
|
|
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.
|
|
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(>|\>)(.*)/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,
|
|
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
|