@hailin-zheng/editor-core 1.1.35 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/index-cjs.d.ts +1 -1
  2. package/index-cjs.js +3716 -3671
  3. package/index-cjs.js.map +1 -1
  4. package/index.d.ts +1 -1
  5. package/index.js +3713 -3669
  6. package/index.js.map +1 -1
  7. package/med_editor/{texteditor.d.ts → doc-editor.d.ts} +64 -35
  8. package/med_editor/doc-rule.d.ts +46 -0
  9. package/med_editor/editor-core.d.ts +17 -0
  10. package/med_editor/framework/common-util.d.ts +1 -0
  11. package/med_editor/framework/document-event.d.ts +2 -2
  12. package/med_editor/framework/document-input-cursor.d.ts +4 -12
  13. package/med_editor/framework/document-print-offscreen.d.ts +7 -4
  14. package/med_editor/framework/document-print.d.ts +4 -1
  15. package/med_editor/framework/document-svg.d.ts +20 -0
  16. package/med_editor/framework/editor-calendar-vnode.d.ts +38 -0
  17. package/med_editor/framework/element-define.d.ts +2 -0
  18. package/med_editor/framework/element-type-handler.d.ts +0 -5
  19. package/med_editor/framework/element-util.d.ts +6 -1
  20. package/med_editor/framework/impl/checkbox/checkbox-impl.d.ts +2 -1
  21. package/med_editor/framework/impl/comments/comment-content-impl.d.ts +4 -2
  22. package/med_editor/framework/impl/comments/comment-element-impl.d.ts +3 -3
  23. package/med_editor/framework/impl/comments/comments-container-impl.d.ts +2 -1
  24. package/med_editor/framework/impl/data-element/data-decorate-impl.d.ts +2 -1
  25. package/med_editor/framework/impl/data-element/data-element-base-impl.d.ts +3 -1
  26. package/med_editor/framework/impl/data-element/data-element-check-impl.d.ts +4 -3
  27. package/med_editor/framework/impl/data-element/data-element-date-impl.d.ts +1 -0
  28. package/med_editor/framework/impl/data-element/data-element-image-impl.d.ts +2 -1
  29. package/med_editor/framework/impl/document/doc-body-impl.d.ts +2 -1
  30. package/med_editor/framework/impl/document/doc-footer-impl.d.ts +2 -1
  31. package/med_editor/framework/impl/document/doc-header-impl.d.ts +2 -1
  32. package/med_editor/framework/impl/document/doc-impl.d.ts +4 -2
  33. package/med_editor/framework/impl/media-formula/menstrual-history.d.ts +2 -1
  34. package/med_editor/framework/impl/paragraph/p-impl.d.ts +3 -2
  35. package/med_editor/framework/impl/picture/image-impl.d.ts +2 -1
  36. package/med_editor/framework/impl/table/table-cell-impl.d.ts +7 -4
  37. package/med_editor/framework/impl/table/table-impl.d.ts +3 -1
  38. package/med_editor/framework/impl/text/text-impl.d.ts +2 -2
  39. package/med_editor/framework/impl/text/track-run-impl.d.ts +5 -1
  40. package/med_editor/framework/render-define.d.ts +33 -4
  41. package/package.json +1 -1
@@ -3,7 +3,7 @@ import { DocumentProps } from '../../element-props';
3
3
  import { RenderContextType } from "../../render-context";
4
4
  import { DocumentBodyElement } from "./doc-body-impl";
5
5
  import { DocumentHeaderElement } from "./doc-header-impl";
6
- import { BlockContainerRenderObject, ElementExportTypes, IRenderData, RenderObject } from "../../render-define";
6
+ import { BlockContainerRenderObject, IEditorVNodeOptions, IRenderData, RenderObject } from "../../render-define";
7
7
  import { DocumentFooterElement } from "./doc-footer-impl";
8
8
  import { CommsContainerElement } from "../comments/comments-container-impl";
9
9
  import { SelectionState } from "../../document-selection";
@@ -61,7 +61,9 @@ export declare class DocumentRenderObject extends BlockContainerRenderObject {
61
61
  y: number;
62
62
  }): void;
63
63
  clone(): RenderObject;
64
- export(type: ElementExportTypes): any;
64
+ private exportPageNumHTML;
65
+ exportHTML(event: IEditorVNodeOptions): any;
66
+ private exportPageCornerHTML;
65
67
  }
66
68
  export declare class DocumentFactory extends ElementFactory<DocumentProps> {
67
69
  match(type: string): boolean;
@@ -1,6 +1,6 @@
1
1
  import { ViewOptions, Element, SerializeProps, ElementFactory, readElementProps, ICreateRenderData } from "../../element-define";
2
2
  import { DataEleMHProps } from "../../element-props";
3
- import { IRenderData, LeafRenderObject, RenderObject } from "../../render-define";
3
+ import { IEditorVNodeOptions, IRenderData, LeafRenderObject, RenderObject } from "../../render-define";
4
4
  import { DataElementLeaf } from "../data-element/data-element-base-impl";
5
5
  /**
6
6
  * 月经史
@@ -22,6 +22,7 @@ declare type MHLayoutType = {
22
22
  };
23
23
  export declare class DataRenderMH extends LeafRenderObject<DataElementMH> {
24
24
  render(e: IRenderData): void;
25
+ exportHTML(event: IEditorVNodeOptions): any;
25
26
  clone(): RenderObject<Element>;
26
27
  }
27
28
  export declare class DataElementMHFactory extends ElementFactory<DataEleMHProps> {
@@ -1,7 +1,7 @@
1
1
  import { BlockContentElement, Element, ElementFactory, readElementProps, SerializeProps, ViewOptions } from "../../element-define";
2
2
  import { ParagraphProps } from "../../element-props";
3
3
  import { RenderContextType } from "../../render-context";
4
- import { BlockLineRectRenderObject, IRenderData, MuiltBlockLineRenderObject, RenderObject } from "../../render-define";
4
+ import { BlockLineRectRenderObject, IEditorVNodeOptions, IRenderData, MuiltBlockLineRenderObject, RenderObject } from "../../render-define";
5
5
  export declare class ParagraphElement extends BlockContentElement<ParagraphProps> {
6
6
  constructor();
7
7
  /**
@@ -15,7 +15,7 @@ export declare class ParagraphElement extends BlockContentElement<ParagraphProps
15
15
  clone(data: boolean): Element;
16
16
  static createElement(): ParagraphElement;
17
17
  }
18
- export declare class ParagraphRenderObject extends MuiltBlockLineRenderObject {
18
+ export declare class ParagraphRenderObject extends MuiltBlockLineRenderObject<ParagraphElement> {
19
19
  render(e: IRenderData): void;
20
20
  /**
21
21
  * 绘制项目符号
@@ -36,4 +36,5 @@ export declare class ParagraphLineRectRenderObject extends BlockLineRectRenderOb
36
36
  startX: number;
37
37
  render(e: IRenderData): void;
38
38
  clone(): RenderObject;
39
+ exportHTML(event: IEditorVNodeOptions): any;
39
40
  }
@@ -1,6 +1,6 @@
1
1
  import { Element, ElementFactory, ImgLoadStatus, LeafElement, ResizeLeafRenderObject, SerializeProps, ViewOptions } from "../../element-define";
2
2
  import { PictureProps } from "../../element-props";
3
- import { IRenderData, LeafRenderObject, RenderObject } from "../../render-define";
3
+ import { IEditorVNodeOptions, IRenderData, LeafRenderObject, RenderObject } from "../../render-define";
4
4
  import { EditorContext } from "../../document-context";
5
5
  interface IResizeElement {
6
6
  resizeable: boolean;
@@ -20,6 +20,7 @@ export declare class PictureRenderObject extends ResizeLeafRenderObject {
20
20
  clone(): RenderObject;
21
21
  pagePaintCompleted(e: Omit<IRenderData, "nextRender">): void;
22
22
  private drawResizeCircle;
23
+ exportHTML(event: IEditorVNodeOptions): any;
23
24
  }
24
25
  export declare class PictureFactory extends ElementFactory<PictureProps> {
25
26
  match(type: string): boolean;
@@ -1,6 +1,6 @@
1
- import { BlockContainerElement, Element, ElementFactory, IBeginMeasureData, readElementProps, SerializeProps, ViewOptions } from "../../element-define";
1
+ import { BlockContainerElement, Element, ElementFactory, IBeginMeasureData, ICreateRenderData, readElementProps, SerializeProps, ViewOptions } from "../../element-define";
2
2
  import { TableCellProps } from "../../element-props";
3
- import { InlineMuiltBlockLineRenderObject, IRenderData, RenderObject } from "../../render-define";
3
+ import { IEditorVNodeOptions, InlineMuiltBlockLineRenderObject, IRenderData, RenderObject } from "../../render-define";
4
4
  export declare class TableCellElement extends BlockContainerElement<TableCellProps> {
5
5
  constructor();
6
6
  beginMeasure(data: IBeginMeasureData): void;
@@ -9,7 +9,7 @@ export declare class TableCellElement extends BlockContainerElement<TableCellPro
9
9
  * @returns
10
10
  */
11
11
  isNotBeMergedCell(): boolean;
12
- createRenderObject(): RenderObject | null;
12
+ createRenderObject(data: ICreateRenderData): RenderObject | null;
13
13
  serialize(options: ViewOptions): SerializeProps;
14
14
  clone(data: boolean): Element;
15
15
  getCellWidth(): {
@@ -18,7 +18,7 @@ export declare class TableCellElement extends BlockContainerElement<TableCellPro
18
18
  };
19
19
  static createCell(): TableCellElement;
20
20
  }
21
- export declare class TableCellRenderObject extends InlineMuiltBlockLineRenderObject {
21
+ export declare class TableCellRenderObject extends InlineMuiltBlockLineRenderObject<TableCellElement> {
22
22
  render(e: IRenderData): void;
23
23
  /**
24
24
  * 绘制对角线
@@ -26,6 +26,9 @@ export declare class TableCellRenderObject extends InlineMuiltBlockLineRenderObj
26
26
  */
27
27
  private renderDiagonal;
28
28
  clone(): RenderObject;
29
+ exportHTML(event: IEditorVNodeOptions): any;
30
+ private createBgRect;
31
+ private createClipPath;
29
32
  }
30
33
  export declare class TableCellFactory extends ElementFactory<TableCellProps> {
31
34
  match(type: string): boolean;
@@ -1,6 +1,6 @@
1
1
  import { BlockContainerElement, Element, ElementFactory, IBeginMeasureData, ICreateRenderData, SerializeProps, ViewOptions } from "../../element-define";
2
2
  import { TableProps } from "../../element-props";
3
- import { IRenderData, MuiltBlockLineRenderObject, RenderObject } from "../../render-define";
3
+ import { IEditorVNodeOptions, IRenderData, MuiltBlockLineRenderObject, RenderObject } from "../../render-define";
4
4
  export declare class TableElement extends BlockContainerElement<TableProps> {
5
5
  private _actualColsProps;
6
6
  constructor();
@@ -31,7 +31,9 @@ export declare class TableElement extends BlockContainerElement<TableProps> {
31
31
  export declare class TableRenderObject extends MuiltBlockLineRenderObject<TableElement> {
32
32
  setRenderWidth(maxWidth: number): void;
33
33
  render(e: IRenderData): void;
34
+ private exportTableBorder;
34
35
  clone(): RenderObject;
36
+ exportHTML(event: IEditorVNodeOptions): any;
35
37
  }
36
38
  export declare class TableFactory extends ElementFactory<TableProps> {
37
39
  match(type: string): boolean;
@@ -1,5 +1,5 @@
1
1
  import { TextProps } from "../../element-props";
2
- import { ElementExportTypes, IRenderData, LeafRenderObject, RenderObject } from "../../render-define";
2
+ import { IEditorVNodeOptions, IRenderData, LeafRenderObject, RenderObject } from "../../render-define";
3
3
  import { LeafElement, ElementFactory, Element, SerializeProps, ViewOptions, ICreateRenderData } from "../../element-define";
4
4
  import { TextUnits } from "../../render-context";
5
5
  export declare class TextGroupElement extends LeafElement<TextProps> {
@@ -27,7 +27,7 @@ export declare class TextGroupRenderObject extends LeafRenderObject<TextGroupEle
27
27
  constructor(element: TextGroupElement);
28
28
  clone(): RenderObject;
29
29
  measure(): void;
30
- export(type: ElementExportTypes): any;
30
+ exportHTML(event: IEditorVNodeOptions): any;
31
31
  }
32
32
  export declare class TextGroupFactory extends ElementFactory<null> {
33
33
  match(type: string): boolean;
@@ -1,5 +1,5 @@
1
1
  import { InlineGroupElement, SerializeProps, ViewOptions, Element, ElementFactory, readElementProps, ICreateRenderData } from "../../element-define";
2
- import { InlineGroupRenderObject, IRenderData, RenderObject } from "../../render-define";
2
+ import { IEditorVNodeOptions, InlineGroupRenderObject, IRenderData, RenderObject } from "../../render-define";
3
3
  import { TrackRunProps } from "../../element-props";
4
4
  export declare enum TrackRunTypeEnum {
5
5
  Inserted = "ins-run",
@@ -7,6 +7,7 @@ export declare enum TrackRunTypeEnum {
7
7
  }
8
8
  declare type NullableType<T> = T | null;
9
9
  export declare class TrackRunElement extends InlineGroupElement<TrackRunProps> {
10
+ gotFocus: boolean;
10
11
  constructor(trackType: TrackRunTypeEnum);
11
12
  clone(data: boolean): Element;
12
13
  createRenderObject(data: ICreateRenderData): NullableType<RenderObject>;
@@ -16,6 +17,9 @@ export declare class TrackRunElement extends InlineGroupElement<TrackRunProps> {
16
17
  export declare class TrackRunRenderObject extends InlineGroupRenderObject<TrackRunElement> {
17
18
  constructor(ele: TrackRunElement);
18
19
  render(e: IRenderData): void;
20
+ exportHTML(event: IEditorVNodeOptions): any;
21
+ private createChangeTips;
22
+ private getTipsDate;
19
23
  clone(): RenderObject;
20
24
  }
21
25
  export declare class RunElementFactory extends ElementFactory<TrackRunProps> {
@@ -1,5 +1,5 @@
1
- import { Rect, Element, MarginProps, PaddingProps, Position } from './element-define';
2
- import { RenderContextType } from './render-context';
1
+ import { Rect, Element, MarginProps, PaddingProps, Position, ViewOptions } from './element-define';
2
+ import { RenderContext, RenderContextType } from './render-context';
3
3
  import { EditorContext } from "./document-context";
4
4
  /**
5
5
  * 定义组件的UI形式的渲染
@@ -32,7 +32,7 @@ export declare abstract class RenderObject<T extends Element = Element> {
32
32
  updateRenderHeight(innerRect: Rect | number): void;
33
33
  getIndex(): number;
34
34
  abstract render(e: IRenderData): void;
35
- export(type: ElementExportTypes): any;
35
+ exportHTML(event: IEditorVNodeOptions): any;
36
36
  }
37
37
  export declare type ElementExportTypes = 'svg';
38
38
  /**
@@ -94,7 +94,7 @@ export declare abstract class InlineBlockContainer extends MuiltBlockLineRenderO
94
94
  * 服务于table-cell
95
95
  * 可被多级拆分的元素
96
96
  */
97
- export declare abstract class InlineMuiltBlockLineRenderObject extends MuiltBlockLineRenderObject {
97
+ export declare abstract class InlineMuiltBlockLineRenderObject<T extends Element = Element> extends MuiltBlockLineRenderObject<T> {
98
98
  }
99
99
  /**
100
100
  * 最小不可分割单位的块级行框,例如 p-line
@@ -112,3 +112,32 @@ export interface IMeasureRenderStruct<T> {
112
112
  rect: Rect;
113
113
  render: T;
114
114
  }
115
+ export declare type EditorVNodeObject = {
116
+ sel: string;
117
+ data?: {
118
+ attrs?: {
119
+ [key: string]: any;
120
+ };
121
+ props?: {
122
+ [key: string]: any;
123
+ };
124
+ on?: {
125
+ [key: string]: Function;
126
+ };
127
+ [key: string]: any;
128
+ };
129
+ key?: string;
130
+ text?: string;
131
+ children?: Array<EditorVNodeObject | string>;
132
+ };
133
+ export declare type IEditorVNodeOptions = {
134
+ getChildNodes: (node: RenderObject) => EditorVNodeObject[] | EditorVNodeObject | null | undefined;
135
+ options: ViewOptions;
136
+ highlights: Array<EditorVNodeObject>;
137
+ relativePagePos: Position;
138
+ globalPos: Position;
139
+ renderCtx: RenderContext;
140
+ getCounter: (key: string) => number;
141
+ mode: 'print' | 'view';
142
+ addChangeTips: (tipVNode: EditorVNodeObject) => void;
143
+ };
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "author": "hailin-zheng",
5
5
  "private": false,
6
6
  "license": "ISC",
7
- "version": "1.1.35",
7
+ "version": "2.0.0",
8
8
  "scripts": {},
9
9
  "dependencies": {
10
10
  "bwip-js": "^3.0.5",