@ones-editor/editor 2.3.1-beta.1 → 2.3.1

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 (89) hide show
  1. package/@ones-editor/comments/src/types.d.ts +5 -0
  2. package/@ones-editor/core/src/core/types.d.ts +2 -3
  3. package/@ones-editor/core/src/utils/dom.d.ts +1 -0
  4. package/@ones-editor/embed-block-helper/src/block-resizer/index.d.ts +6 -1
  5. package/@ones-editor/exclusive-block/src/index.d.ts +2 -0
  6. package/@ones-editor/graph-embed/src/command.d.ts +9 -0
  7. package/@ones-editor/graph-embed/src/config/index.d.ts +9 -1
  8. package/@ones-editor/graph-embed/src/flowchart/flowchart-embed.d.ts +1 -1
  9. package/@ones-editor/graph-embed/src/flowchart/flowchart-helper.d.ts +2 -1
  10. package/@ones-editor/graph-embed/src/flowchart/flowchart.d.ts +11 -3
  11. package/@ones-editor/graph-embed/src/helper/graph-base.d.ts +29 -23
  12. package/@ones-editor/graph-embed/src/helper/graph-block-commands.d.ts +3 -4
  13. package/@ones-editor/graph-embed/src/helper/graph-dom/code-editor.d.ts +4 -0
  14. package/@ones-editor/graph-embed/src/helper/graph-dom/draw-dom.d.ts +16 -0
  15. package/@ones-editor/graph-embed/src/helper/graph-dom/layout-dom.d.ts +25 -0
  16. package/@ones-editor/graph-embed/src/helper/graph-dom/view-select.d.ts +22 -0
  17. package/@ones-editor/graph-embed/src/helper/graph-exclusive-handler.d.ts +13 -0
  18. package/@ones-editor/graph-embed/src/helper/graph-quick-commands.d.ts +3 -0
  19. package/@ones-editor/graph-embed/src/helper/utils.d.ts +4 -0
  20. package/@ones-editor/graph-embed/src/index.d.ts +3 -2
  21. package/@ones-editor/graph-embed/src/lang/en-us.d.ts +11 -6
  22. package/@ones-editor/graph-embed/src/lang/ja-jp.d.ts +11 -6
  23. package/@ones-editor/graph-embed/src/lang/zh-cn.d.ts +11 -6
  24. package/@ones-editor/graph-embed/src/mermaid/mermaid-embed.d.ts +1 -1
  25. package/@ones-editor/graph-embed/src/mermaid/mermaid-helper.d.ts +1 -0
  26. package/@ones-editor/graph-embed/src/mermaid/mermaid.d.ts +12 -4
  27. package/@ones-editor/graph-embed/src/plantuml/plantuml-embed.d.ts +1 -1
  28. package/@ones-editor/graph-embed/src/plantuml/plantuml-helper.d.ts +2 -1
  29. package/@ones-editor/graph-embed/src/plantuml/plantuml.d.ts +11 -3
  30. package/@ones-editor/graph-embed/src/types.d.ts +41 -0
  31. package/@ones-editor/image-embed/src/types.d.ts +0 -1
  32. package/@ones-editor/table-block/src/commands/select-column.d.ts +1 -0
  33. package/@ones-editor/table-block/src/commands/select-rows.d.ts +1 -0
  34. package/@ones-editor/tsconfig.tsbuildinfo +1 -1
  35. package/@ones-editor/ui/src/providers/insert-menu.d.ts +2 -2
  36. package/@ones-editor/ui/src/providers/utils/add-section.d.ts +9 -0
  37. package/@ones-editor/ui/src/providers/utils/index.d.ts +2 -0
  38. package/@ones-editor/ui/src/quick-menu/index.d.ts +2 -1
  39. package/@ones-editor/ui/src/quick-menu/quick-command-providers.d.ts +3 -3
  40. package/@ones-editor/ui/src/quick-menu/types.d.ts +2 -2
  41. package/@ones-editor/ui-base/src/auto-suggest/auto-suggest-menu.d.ts +3 -0
  42. package/@ones-editor/ui-base/src/auto-suggest/auto-suggest.d.ts +2 -0
  43. package/dist/custom/image-preview-handler.d.ts +11 -0
  44. package/dist/index.d.ts +1 -1
  45. package/dist/index.js +4379 -3648
  46. package/dist/types.d.ts +1 -0
  47. package/package.json +1 -7
  48. package/@ones-editor/graph-embed/assets/index.d.ts +0 -2
  49. package/@ones-editor/graph-embed/types/index.d.ts +0 -16
  50. package/@ones-editor/server-tools/package.json +0 -22
  51. package/@ones-editor/server-tools/src/fake-browser.d.ts +0 -1
  52. package/@ones-editor/server-tools/src/from-markdown/index.d.ts +0 -1
  53. package/@ones-editor/server-tools/src/index.d.ts +0 -2
  54. package/@ones-editor/server-tools/src/to-markdown/blocks/code.d.ts +0 -3
  55. package/@ones-editor/server-tools/src/to-markdown/blocks/index.d.ts +0 -12
  56. package/@ones-editor/server-tools/src/to-markdown/blocks/list.d.ts +0 -14
  57. package/@ones-editor/server-tools/src/to-markdown/blocks/table.d.ts +0 -3
  58. package/@ones-editor/server-tools/src/to-markdown/blocks/text.d.ts +0 -4
  59. package/@ones-editor/server-tools/src/to-markdown/boxes/br.d.ts +0 -1
  60. package/@ones-editor/server-tools/src/to-markdown/boxes/date.d.ts +0 -2
  61. package/@ones-editor/server-tools/src/to-markdown/boxes/file.d.ts +0 -11
  62. package/@ones-editor/server-tools/src/to-markdown/boxes/index.d.ts +0 -16
  63. package/@ones-editor/server-tools/src/to-markdown/boxes/known-link.d.ts +0 -11
  64. package/@ones-editor/server-tools/src/to-markdown/boxes/mathjax.d.ts +0 -2
  65. package/@ones-editor/server-tools/src/to-markdown/boxes/mention.d.ts +0 -7
  66. package/@ones-editor/server-tools/src/to-markdown/boxes/task-link.d.ts +0 -2
  67. package/@ones-editor/server-tools/src/to-markdown/convert-block.d.ts +0 -3
  68. package/@ones-editor/server-tools/src/to-markdown/convert-box.d.ts +0 -3
  69. package/@ones-editor/server-tools/src/to-markdown/embeds/drawio.d.ts +0 -2
  70. package/@ones-editor/server-tools/src/to-markdown/embeds/file-list.d.ts +0 -5
  71. package/@ones-editor/server-tools/src/to-markdown/embeds/file.d.ts +0 -2
  72. package/@ones-editor/server-tools/src/to-markdown/embeds/flowchart.d.ts +0 -2
  73. package/@ones-editor/server-tools/src/to-markdown/embeds/hr.d.ts +0 -1
  74. package/@ones-editor/server-tools/src/to-markdown/embeds/image.d.ts +0 -18
  75. package/@ones-editor/server-tools/src/to-markdown/embeds/index.d.ts +0 -3
  76. package/@ones-editor/server-tools/src/to-markdown/embeds/mathjax.d.ts +0 -2
  77. package/@ones-editor/server-tools/src/to-markdown/embeds/media.d.ts +0 -2
  78. package/@ones-editor/server-tools/src/to-markdown/embeds/mermaid.d.ts +0 -2
  79. package/@ones-editor/server-tools/src/to-markdown/embeds/plantuml.d.ts +0 -2
  80. package/@ones-editor/server-tools/src/to-markdown/embeds/sub-pages.d.ts +0 -2
  81. package/@ones-editor/server-tools/src/to-markdown/embeds/task-list.d.ts +0 -7
  82. package/@ones-editor/server-tools/src/to-markdown/embeds/toc.d.ts +0 -2
  83. package/@ones-editor/server-tools/src/to-markdown/embeds/webpage.d.ts +0 -5
  84. package/@ones-editor/server-tools/src/to-markdown/embeds/xmind.d.ts +0 -8
  85. package/@ones-editor/server-tools/src/to-markdown/index.d.ts +0 -1
  86. package/@ones-editor/server-tools/src/to-markdown/types.d.ts +0 -7
  87. package/@ones-editor/server-tools/src/tools.d.ts +0 -1
  88. package/@ones-editor/server-tools/src/utils/editor-doc.d.ts +0 -22
  89. package/@ones-editor/server-tools/src/utils/object.d.ts +0 -1
@@ -1,4 +1,7 @@
1
1
  import { DocObject, LocalDoc, OnesEditor, OnesEditorComment } from '../../../@ones-editor/core';
2
+ type EditorEvents = {
3
+ onPreviewImage?: (editor: OnesEditor, img: HTMLImageElement) => void;
4
+ };
2
5
  export type CommentData = {
3
6
  [p in string]: unknown;
4
7
  };
@@ -18,6 +21,7 @@ export interface OnesEditorCommentOptions {
18
21
  onUpdateLayout?: (editor: OnesEditor, data: CommentData) => void;
19
22
  onCommentCountChange?: (count: number) => void;
20
23
  onCommentEditorClick?: (editor: OnesEditor, event: MouseEvent) => void;
24
+ events?: EditorEvents;
21
25
  componentsOptions?: {
22
26
  [index: string]: unknown;
23
27
  };
@@ -59,3 +63,4 @@ export interface MiniCommentGroup {
59
63
  commentIds: CommentIds;
60
64
  }
61
65
  export type MiniCommentGroups = MiniCommentGroup[];
66
+ export {};
@@ -93,7 +93,6 @@ export interface EmbedOptions {
93
93
  }
94
94
  export interface Embed {
95
95
  embedType: string;
96
- adjustableMinHeight?: number;
97
96
  createEmbedContent: (editor: OnesEditor, content: BlockContentElement, block: DocEmbedBlock, path: BlockPath, container: ContainerElement, blockElement: BlockElement) => void;
98
97
  convertTo?: (editor: OnesEditor, blockData: DocEmbedBlock, doc: DocObject, type: 'text' | 'html' | 'markdown') => string;
99
98
  getBlockProperties?: (editor: OnesEditor, block: BlockElement) => BlockProperties;
@@ -730,7 +729,7 @@ export interface OnesEditorCommandProvider {
730
729
  id: string;
731
730
  groupIndex?: number;
732
731
  getAvailableCommands: (editor: OnesEditor, block: BlockElement, range: SelectionRange, params?: CommandParams) => CommandItem[];
733
- getInsertCommands?: (editor: OnesEditor, containerId: string) => CommandItem[];
732
+ getInsertCommands?: (editor: OnesEditor, containerId: string, params?: CommandParams) => CommandItem[];
734
733
  executeInsertCommand?: (editor: OnesEditor, containerId: string, blockIndex: number, item: CommandItemWithSource, params: CommandParams, result?: CommandResult) => boolean;
735
734
  executeRangeCommand?: (editor: OnesEditor, range: SelectionRange, command: CommandItemWithSource, params: CommandParams, result?: CommandResult) => boolean;
736
735
  executeCommand?: (editor: OnesEditor, block: BlockElement, range: SelectionRange, item: CommandItemWithSource, params: CommandParams, result?: CommandResult) => boolean;
@@ -752,7 +751,7 @@ export interface OnesEditorCommandProviders {
752
751
  registerCommandProvider: (provider: OnesEditorCommandProvider) => void;
753
752
  getCommandProviders: () => OnesEditorCommandProvider[];
754
753
  getCommandProvider: (id: string) => OnesEditorCommandProvider;
755
- getCommands: (range: SelectionRange) => CommandItemWithSource[];
754
+ getCommands: (range: SelectionRange, params?: CommandParams) => CommandItemWithSource[];
756
755
  executeCommand: (range: SelectionRange, item: CommandItemWithSource, params: CommandParams) => {
757
756
  [index: string]: CommandResult;
758
757
  };
@@ -40,4 +40,5 @@ export declare function getElementFromPoint(x: number, y: number, options?: {
40
40
  export declare function createMouseEventFromTouchEvent(event: TouchEvent, type: 'mousedown' | 'mousemove' | 'mouseup' | 'click'): MouseEvent;
41
41
  export declare function ensureIsMobileEvent(events: MouseEvent | TouchEvent): events is TouchEvent;
42
42
  export declare function bindDbClick(editor: OnesEditor, elem: HTMLElement, handler: (event: MouseEvent) => void): () => void;
43
+ export declare function bindPreventSelect(elem: HTMLElement, callback?: (event: Event) => void): () => void;
43
44
  export {};
@@ -1,5 +1,9 @@
1
1
  import { BlockElement, OnesEditor } from '../../../../@ones-editor/core';
2
2
  import { BlockResizer } from '../../../../@ones-editor/block-resizer';
3
+ interface EmbedBlockResizerOptions {
4
+ maxHeight?: number;
5
+ minHeight?: number;
6
+ }
3
7
  export declare class EmbedBlockResizer {
4
8
  private editor;
5
9
  private resizing;
@@ -13,5 +17,6 @@ export declare class EmbedBlockResizer {
13
17
  tryEnableResizer(block: BlockElement): void;
14
18
  disableResizer(): void;
15
19
  static get(editor: OnesEditor): EmbedBlockResizer;
16
- static register(editor: OnesEditor, block: BlockElement): EmbedBlockResizer;
20
+ static register(editor: OnesEditor, block: BlockElement, options?: EmbedBlockResizerOptions): EmbedBlockResizer;
17
21
  }
22
+ export {};
@@ -2,6 +2,8 @@ import { OnesEditorExclusiveBlock } from './exclusive-block';
2
2
  import BlockExclusiveHook from './exclusive-block-hook';
3
3
  import './exclusive-block-styles.scss';
4
4
  import './locale';
5
+ import { ExclusiveBlockMessage } from './types';
6
+ export type { ExclusiveBlockMessage };
5
7
  export { isExclusiveBlock } from './exclusive-dom';
6
8
  export { exclusiveBlock, unexclusiveBlock } from './exclusive-block';
7
9
  export { BlockExclusiveHook, OnesEditorExclusiveBlock };
@@ -0,0 +1,9 @@
1
+ import { AddMenuCommand, QuickMenuCommandBetween, QuickMenuCommandInline, QuickMenuCommandParams, QuickMenuCommandProvider } from '../../../@ones-editor/ui';
2
+ import { CommandItem, OnesEditor } from '../../../@ones-editor/core';
3
+ export declare class GraphCommandProvider implements QuickMenuCommandProvider {
4
+ id: string;
5
+ name: string;
6
+ getCommands: (editor: OnesEditor, params?: QuickMenuCommandParams) => CommandItem[];
7
+ checkCommandId: (id: string) => boolean;
8
+ executeCommand: (editor: OnesEditor, item: CommandItem, params: QuickMenuCommandInline | QuickMenuCommandBetween | AddMenuCommand) => Promise<null>;
9
+ }
@@ -1,4 +1,12 @@
1
+ import { GraphType } from '../types';
1
2
  export declare const MERMAID_SCRIPTS = "https://cdn.jsdelivr.net/npm/mermaid@9.0.1/dist/mermaid.min.js";
2
3
  export declare const FLOWCHART_SCRIPTS: string[];
3
4
  export declare const PLANTUML_PRE = "https://www.plantuml.com/plantuml/svg";
4
- export declare const GRAPH_MIN_HEIGHT = 200;
5
+ export declare const GRAPH_MIN_HEIGHT = 150;
6
+ export declare const GRAPH_MAX_HEIGHT = 1000;
7
+ export declare const GRAPH_DEFAULT_HEIGHT = 300;
8
+ export declare const DEFAULT_FLEX = 0.5;
9
+ export declare const MIN_FLEX = 0.3;
10
+ export declare const IMAGE_CLASS_NAME = "graph-embed-image";
11
+ export declare const DRAG_RANGE = 10;
12
+ export declare const GraphDocumentUrl: Record<GraphType, string>;
@@ -1,4 +1,4 @@
1
- import type { Embed } from '../../../../@ones-editor/core';
1
+ import { Embed } from '../../../../@ones-editor/core';
2
2
  import '../lang';
3
3
  declare const FlowChartEmbed: Embed;
4
4
  export default FlowChartEmbed;
@@ -1,5 +1,6 @@
1
- import type { OnesEditor } from '../../../../@ones-editor/core';
1
+ import { OnesEditor } from '../../../../@ones-editor/core';
2
2
  import '../../types/window.d';
3
+ export declare const FLOWCHART_TYPE = "flowchart";
3
4
  export declare function flowchartCodeToSvgStr(editor: OnesEditor, flowDataCode: string): Promise<string>;
4
5
  export declare function flowchartCodeToObjectUrl(editor: OnesEditor, flowChartCode: string): Promise<string>;
5
6
  export declare function flowchartCodeToResourceId(editor: OnesEditor, flowChartCode: string): Promise<string>;
@@ -1,9 +1,17 @@
1
- import type { OnesEditor, DocEmbedBlock } from '../../../../@ones-editor/core';
1
+ import { OnesEditor, DocEmbedBlock, BlockElement } from '../../../../@ones-editor/core';
2
2
  import GraphBase from '../helper/graph-base';
3
+ import { StandardGraphData, GraphType } from '../types';
3
4
  export declare class FlowChartInstance extends GraphBase {
4
- constructor(editor: OnesEditor);
5
- static get(editor: OnesEditor, block: DocEmbedBlock): FlowChartInstance;
5
+ static graphType: GraphType;
6
+ protected graphType: GraphType;
7
+ static get(editor: OnesEditor, id: string): FlowChartInstance;
6
8
  protected code2ObjectUrl(code: string): Promise<string>;
7
9
  protected code2ResourceId(code: string): Promise<string>;
10
+ static createEmptyEmbedData: () => {
11
+ flowchartText: string;
12
+ src: string;
13
+ };
14
+ protected createGraphEmbedData: (block: BlockElement, data: Partial<StandardGraphData>) => import("@ones-editor/core").DocEmbedData;
15
+ protected getGraphData: (blockData: DocEmbedBlock) => StandardGraphData;
8
16
  destroy(): void;
9
17
  }
@@ -1,29 +1,35 @@
1
- import { BlockProperties } from '../../../../@ones-editor/core';
2
- import type { OnesEditor, BlockContentElement, DocEmbedBlock, BlockElement, Logger } from '../../../../@ones-editor/core';
3
- import type { GraphType, GraphEmbedBlockProperties } from './graph-block-commands';
1
+ import { OnesEditor, BlockContentElement, DocEmbedBlock, BlockElement, DocEmbedData, BlockProperties } from '../../../../@ones-editor/core';
2
+ import { StandardGraphData, GraphType } from '../types';
4
3
  export default abstract class GraphBase {
5
- private graphType;
6
- private codeEmbedDataKey;
7
4
  protected editor: OnesEditor;
8
- logger: Logger;
9
- editing: boolean;
10
- private graphEmbedContent;
11
- private _status;
12
- constructor(editor: OnesEditor, graphType: GraphType, codeEmbedDataKey: string);
5
+ protected abstract graphType: GraphType;
6
+ static graphType: GraphType;
7
+ static createEmptyEmbedData: () => Record<string, string>;
13
8
  protected abstract code2ObjectUrl(code: string): Promise<string>;
14
9
  protected abstract code2ResourceId(code: string): Promise<string>;
15
- protected i18nt(key: string, arg?: Record<string, string>): string;
16
- protected getContent(embed: HTMLDivElement): BlockContentElement;
17
- protected getEmbed(content: BlockContentElement): HTMLDivElement;
18
- protected uploadResource(svg: string): Promise<string | null>;
19
- createEmbedContent(content: BlockContentElement, block: DocEmbedBlock): void;
20
- updateEmbedContent(content: BlockContentElement, block: DocEmbedBlock): void;
21
- protected updateImage(embed: HTMLDivElement, code: string | undefined, url: string | undefined | null, err: Error | null): Promise<void>;
22
- protected errorBoundary(embed: HTMLDivElement, code: string | undefined, url: string | undefined | null, reason: 'imageLoadError' | 'grammarError', error?: Error): void;
23
- protected emptyContent(): void;
24
- protected updateSpecialClasses(embed: HTMLDivElement, code: string | undefined, err: Error | null): void;
25
- editGraph(content: BlockContentElement): void;
26
- getBlockProperties(block: BlockElement, properties?: GraphEmbedBlockProperties): BlockProperties;
10
+ protected abstract createGraphEmbedData(block: BlockElement, data: Partial<StandardGraphData>): DocEmbedData;
11
+ protected abstract getGraphData(blockData: DocEmbedBlock): StandardGraphData;
12
+ private layout?;
13
+ private viewSelect?;
14
+ private drawHandler?;
15
+ private get block();
16
+ constructor(editor: OnesEditor);
17
+ private handleExclusiveBlock;
18
+ private handleReadonlyChanged;
19
+ destroy(): void;
20
+ private updateLayoutData;
21
+ private handleInputChange;
22
+ private handleFlexChange;
23
+ private getRealView;
27
24
  private hasChanged;
28
- private removeStatusContent;
25
+ private handleBlockFocus;
26
+ private handleClick;
27
+ private handleSelectionChanged;
28
+ private handleInputFocusChange;
29
+ createEmbedContent(blockContent: BlockContentElement, blockData: DocEmbedBlock): void;
30
+ private updateHeight;
31
+ private updateLayout;
32
+ private updateDraw;
33
+ updateEmbedContent(content: BlockContentElement, block: DocEmbedBlock): Promise<void>;
34
+ getBlockProperties(block: BlockElement): BlockProperties;
29
35
  }
@@ -1,9 +1,8 @@
1
1
  import { BlockElement } from '../../../../@ones-editor/core';
2
2
  import type { OnesEditor } from '../../../../@ones-editor/core';
3
- import { CommandId, type StandardEmbedBlockProperties } from '../../../../@ones-editor/embed-block-helper';
4
- export type GraphType = 'mermaid' | 'flowchart' | 'plantuml';
5
- export type GraphEmbedBlockProperties = StandardEmbedBlockProperties;
6
- export declare function getGraphEmbedBlockProperties(editor: OnesEditor, block: BlockElement, type: 'mermaid' | 'flowchart' | 'plantuml', properties?: GraphEmbedBlockProperties): {
3
+ import { CommandId } from '../../../../@ones-editor/embed-block-helper';
4
+ import { GraphType, GraphEmbedBlockProperties } from '../types';
5
+ export declare function getGraphEmbedBlockProperties(editor: OnesEditor, block: BlockElement, type: GraphType, properties?: GraphEmbedBlockProperties): {
7
6
  abstract: string;
8
7
  blockCommands: {
9
8
  'hovering-toolbar': import("@ones-editor/embed-block-helper").StandardEmbedBlockCommands<CommandId>;
@@ -0,0 +1,4 @@
1
+ import { BlockElement } from '../../../../../@ones-editor/core';
2
+ export type OnChange = (codeValue: string) => void;
3
+ export declare const createCodeEditor: (parent: HTMLElement, codeValue: string, onChange: OnChange, onActiveChange: (focused: boolean) => void) => void;
4
+ export declare const getCodeEditor: (block: BlockElement) => HTMLTextAreaElement;
@@ -0,0 +1,16 @@
1
+ import { OnesEditor } from '../../../../../@ones-editor/core';
2
+ export declare class DrawHandler {
3
+ private editor;
4
+ private parent;
5
+ private image?;
6
+ constructor(editor: OnesEditor, parent: HTMLElement);
7
+ private bindImage;
8
+ private handleImageError;
9
+ private handleImageLoad;
10
+ private setStatus;
11
+ private get status();
12
+ createEmptyContent(): void;
13
+ createErrorContent: () => void;
14
+ updateDraw(src?: string): void;
15
+ destroy(): void;
16
+ }
@@ -0,0 +1,25 @@
1
+ import { DragDrop } from '../../../../../@ones-editor/core';
2
+ import { TypedEmitter } from 'tiny-typed-emitter';
3
+ interface GraphLayoutCallback {
4
+ 'flexChange': (flex: number) => void;
5
+ }
6
+ export declare class GraphLayout extends TypedEmitter<GraphLayoutCallback> {
7
+ private parent;
8
+ graphContent: HTMLElement;
9
+ constructor(parent: HTMLElement, leftEl: HTMLElement, rightEl: HTMLElement, flex: number);
10
+ bindMouseMove(): void;
11
+ unbindMouseMove(): void;
12
+ handleMouseMove: (event: MouseEvent) => void;
13
+ destroy(): void;
14
+ getLeftElement(): HTMLElement;
15
+ getRightElement(): HTMLElement;
16
+ handleDrag: (drag: DragDrop<unknown>, event: MouseEvent | TouchEvent) => void;
17
+ handleDragEnd: (drag: DragDrop<unknown>, event: MouseEvent | TouchEvent) => void;
18
+ private hideLeft;
19
+ private hideRight;
20
+ showRight(): void;
21
+ showLeft(): void;
22
+ showBoth(flex: number): void;
23
+ changeLayout(flex: number): void;
24
+ }
25
+ export {};
@@ -0,0 +1,22 @@
1
+ import { TypedEmitter } from 'tiny-typed-emitter';
2
+ export declare enum ViewId {
3
+ Both = "both",
4
+ Draw = "draw",
5
+ Code = "code",
6
+ Select = "select"
7
+ }
8
+ interface ViewSelectCallback {
9
+ 'viewChange': (viewSelect: ViewSelect) => void;
10
+ }
11
+ export declare class ViewSelect extends TypedEmitter<ViewSelectCallback> {
12
+ private fixedToolbar;
13
+ selectedView: ViewId;
14
+ constructor(parent: HTMLElement);
15
+ private handleSelected;
16
+ setSelectedView(view: ViewId): void;
17
+ disable(): void;
18
+ enable(): void;
19
+ private createItems;
20
+ destroy(): void;
21
+ }
22
+ export {};
@@ -0,0 +1,13 @@
1
+ import { OnesEditor, OnesEditorCustom, OnesEditorDocCallbacks } from '../../../../@ones-editor/core';
2
+ import { TypedEmitter } from 'tiny-typed-emitter';
3
+ type OnExclusiveBlock = (blockId: string, exclusive: boolean) => void;
4
+ export declare class GraphExclusiveHandler extends TypedEmitter<{
5
+ onExclusiveBlock: OnExclusiveBlock;
6
+ }> implements OnesEditorCustom, OnesEditorDocCallbacks {
7
+ private editor;
8
+ constructor(editor: OnesEditor);
9
+ destroy(): void;
10
+ onCustomMessage: (msg: unknown) => void;
11
+ static get(editor: OnesEditor): GraphExclusiveHandler;
12
+ }
13
+ export {};
@@ -0,0 +1,3 @@
1
+ import GraphBase from './graph-base';
2
+ import { GraphCommandItem } from '../types';
3
+ export declare const getCommands: (base: typeof GraphBase) => GraphCommandItem[];
@@ -0,0 +1,4 @@
1
+ export interface PromiseHelper {
2
+ isDelayComplete: boolean;
3
+ }
4
+ export declare const enhanceAsync: <T extends any[], R>(asyncFunction: (promiseHelper: PromiseHelper, ...args: T) => Promise<R>) => (this: any, ...args: T) => Promise<R>;
@@ -1,6 +1,7 @@
1
1
  import MermaidEmbed from './mermaid/mermaid-embed';
2
2
  import FlowChartEmbed from './flowchart/flowchart-embed';
3
3
  import PlantumlEmbed from './plantuml/plantuml-embed';
4
+ import { GraphCommandProvider } from './command';
4
5
  import './common.scss';
5
- export { MermaidEmbed, PlantumlEmbed, FlowChartEmbed, };
6
- export * from '../types';
6
+ export { MermaidEmbed, PlantumlEmbed, FlowChartEmbed, GraphCommandProvider, };
7
+ export * from './types';
@@ -1,13 +1,18 @@
1
1
  declare const _default: {
2
2
  graph: {
3
- invalid: string;
4
3
  empty: string;
5
- edit: string;
6
- comment: string;
7
- help: string;
4
+ readonlyEmpty: string;
8
5
  errorTips: string;
9
- errorSubTips: string;
10
- retry: string;
6
+ help: string;
7
+ plantuml: string;
8
+ mermaid: string;
9
+ flowchart: string;
10
+ command: {
11
+ name: string;
12
+ bothShow: string;
13
+ codeShow: string;
14
+ drawShow: string;
15
+ };
11
16
  };
12
17
  };
13
18
  export default _default;
@@ -1,13 +1,18 @@
1
1
  declare const _default: {
2
2
  graph: {
3
- invalid: string;
4
3
  empty: string;
5
- edit: string;
6
- comment: string;
7
- help: string;
4
+ readonlyEmpty: string;
8
5
  errorTips: string;
9
- errorSubTips: string;
10
- retry: string;
6
+ help: string;
7
+ plantuml: string;
8
+ mermaid: string;
9
+ flowchart: string;
10
+ command: {
11
+ name: string;
12
+ bothShow: string;
13
+ codeShow: string;
14
+ drawShow: string;
15
+ };
11
16
  };
12
17
  };
13
18
  export default _default;
@@ -1,13 +1,18 @@
1
1
  declare const _default: {
2
2
  graph: {
3
- invalid: string;
4
3
  empty: string;
5
- edit: string;
6
- comment: string;
7
- help: string;
4
+ readonlyEmpty: string;
8
5
  errorTips: string;
9
- errorSubTips: string;
10
- retry: string;
6
+ help: string;
7
+ plantuml: string;
8
+ mermaid: string;
9
+ flowchart: string;
10
+ command: {
11
+ name: string;
12
+ bothShow: string;
13
+ codeShow: string;
14
+ drawShow: string;
15
+ };
11
16
  };
12
17
  };
13
18
  export default _default;
@@ -1,4 +1,4 @@
1
- import type { Embed } from '../../../../@ones-editor/core';
1
+ import { Embed } from '../../../../@ones-editor/core';
2
2
  import '../lang';
3
3
  declare const MermaidEmbed: Embed;
4
4
  export default MermaidEmbed;
@@ -1,4 +1,5 @@
1
1
  import { OnesEditor } from '../../../../@ones-editor/core';
2
+ export declare const MERMAID_TYPE = "mermaid";
2
3
  export declare function mermaidCodeToSvg(editor: OnesEditor, code: string): Promise<string>;
3
4
  export declare function mermaidCodeToObjectUrl(editor: OnesEditor, code: string): Promise<string>;
4
5
  export declare function mermaidCodeToResourceId(editor: OnesEditor, code: string): Promise<string>;
@@ -1,9 +1,17 @@
1
- import type { OnesEditor, DocEmbedBlock } from '../../../../@ones-editor/core';
1
+ import { OnesEditor, DocEmbedBlock, BlockElement } from '../../../../@ones-editor/core';
2
2
  import GraphBase from '../helper/graph-base';
3
+ import { GraphType, StandardGraphData } from '../types';
3
4
  export declare class MermaidInstance extends GraphBase {
4
- constructor(editor: OnesEditor);
5
- static get(editor: OnesEditor, block: DocEmbedBlock): MermaidInstance;
5
+ static graphType: GraphType;
6
+ protected graphType: GraphType;
7
+ static get(editor: OnesEditor, id: string): MermaidInstance;
8
+ static destroyCustom(editor: OnesEditor, id: string): void;
6
9
  code2ObjectUrl(code: string): Promise<string>;
7
10
  code2ResourceId(code: string): Promise<string>;
8
- destroy(): void;
11
+ static createEmptyEmbedData: () => {
12
+ mermaidText: string;
13
+ src: string;
14
+ };
15
+ protected createGraphEmbedData: (block: BlockElement, data: Partial<StandardGraphData>) => import("@ones-editor/core").DocEmbedData;
16
+ protected getGraphData: (blockData: DocEmbedBlock) => StandardGraphData;
9
17
  }
@@ -1,4 +1,4 @@
1
- import type { Embed } from '../../../../@ones-editor/core';
1
+ import { Embed } from '../../../../@ones-editor/core';
2
2
  import '../lang';
3
3
  declare const PlantumlEmbed: Embed;
4
4
  export default PlantumlEmbed;
@@ -1,3 +1,4 @@
1
- import type { OnesEditor } from '../../../../@ones-editor/core';
1
+ import { OnesEditor } from '../../../../@ones-editor/core';
2
+ export declare const PLANTUML_TYPE = "plantuml";
2
3
  export declare function plantumlCodeToUrl(editor: OnesEditor, plantumlText: string): string;
3
4
  export declare function plantumlUrlToResourceId(editor: OnesEditor, url: string): Promise<string>;
@@ -1,9 +1,17 @@
1
- import type { OnesEditor, DocEmbedBlock } from '../../../../@ones-editor/core';
1
+ import { OnesEditor, DocEmbedBlock, BlockElement } from '../../../../@ones-editor/core';
2
2
  import GraphBase from '../helper/graph-base';
3
+ import { GraphType, StandardGraphData } from '../types';
3
4
  export declare class PlantumlInstance extends GraphBase {
4
- constructor(editor: OnesEditor);
5
- static get(editor: OnesEditor, block: DocEmbedBlock): PlantumlInstance;
5
+ static graphType: GraphType;
6
+ protected graphType: GraphType;
7
+ static get(editor: OnesEditor, id: string): PlantumlInstance;
6
8
  protected code2ObjectUrl(code: string): Promise<string>;
7
9
  protected code2ResourceId(code: string): Promise<string>;
10
+ static createEmptyEmbedData: () => {
11
+ plantumlText: string;
12
+ src: string;
13
+ };
14
+ protected createGraphEmbedData: (block: BlockElement, data: Partial<StandardGraphData>) => import("@ones-editor/core").DocEmbedData;
15
+ protected getGraphData: (blockData: DocEmbedBlock) => StandardGraphData;
8
16
  destroy(): void;
9
17
  }
@@ -0,0 +1,41 @@
1
+ import { CommandItem, OnesEditor } from '../../../@ones-editor/core';
2
+ import { StandardEmbedBlockProperties } from '../../../@ones-editor/embed-block-helper';
3
+ export type MermaidEmbedOptions = {
4
+ cdn?: {
5
+ mermaid?: string;
6
+ helpLink?: string;
7
+ };
8
+ };
9
+ export type FlowCharEmbedOptions = {
10
+ cdn?: {
11
+ flowchart?: string[];
12
+ helpLink?: string;
13
+ };
14
+ };
15
+ export type PlantumlEmbedOptions = {
16
+ cdn?: {
17
+ plantuml?: string;
18
+ helpLink?: string;
19
+ };
20
+ };
21
+ export interface GraphCommandItem extends CommandItem {
22
+ execute: (editor: OnesEditor, containerId: string, blockIndex: number) => void;
23
+ }
24
+ export interface StandardGraphData {
25
+ src: string;
26
+ code: string;
27
+ flex?: number;
28
+ height?: number;
29
+ view?: string;
30
+ }
31
+ export type GraphType = 'mermaid' | 'flowchart' | 'plantuml';
32
+ export type GraphEmbedBlockProperties = StandardEmbedBlockProperties;
33
+ export interface MermaidData extends Omit<StandardGraphData, 'code'> {
34
+ mermaidText: string;
35
+ }
36
+ export interface PlantumlData extends Omit<StandardGraphData, 'code'> {
37
+ plantumlText: string;
38
+ }
39
+ export interface FlowchartData extends Omit<StandardGraphData, 'code'> {
40
+ flowchartText: string;
41
+ }
@@ -6,7 +6,6 @@ export interface ImageOptions {
6
6
  callbacks?: {
7
7
  onError?: (editor: OnesEditor, error: Error) => void;
8
8
  };
9
- onPreview?: (editor: OnesEditor, event: MouseEvent) => void;
10
9
  }
11
10
  export interface ImageEmbedData extends DocEmbedData {
12
11
  src: string | string[];
@@ -1,4 +1,5 @@
1
1
  import { BlockElement, OnesEditor } from '../../../../@ones-editor/core';
2
2
  export declare function selectColumns(editor: OnesEditor, tableBlock: BlockElement, from: number, count: number, options?: {
3
3
  reverse: boolean;
4
+ noScroll?: boolean;
4
5
  }): void;
@@ -1,4 +1,5 @@
1
1
  import { BlockElement, OnesEditor } from '../../../../@ones-editor/core';
2
2
  export declare function selectRows(editor: OnesEditor, tableBlock: BlockElement, from: number, count: number, options?: {
3
3
  reverse: boolean;
4
+ noScroll?: boolean;
4
5
  }): void;