@ones-editor/editor 2.0.8-beta.1 → 2.1.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 (146) hide show
  1. package/@ones-editor/block-menu/src/block-menu/items/insert-block-items/index.d.ts +1 -1
  2. package/@ones-editor/block-menu/src/block-menu-button/drag-preview/element-to-data-url.d.ts +1 -1
  3. package/@ones-editor/block-menu/src/block-menu-button/index.d.ts +4 -15
  4. package/@ones-editor/block-menu/src/block-menu-button/menu-button/index.d.ts +23 -0
  5. package/@ones-editor/callout-block/package.json +11 -0
  6. package/@ones-editor/callout-block/src/callout-block/callout-block-content.d.ts +3 -0
  7. package/@ones-editor/callout-block/src/callout-block/callout-block-doc.d.ts +2 -0
  8. package/@ones-editor/callout-block/src/callout-block/callout-block.d.ts +3 -0
  9. package/@ones-editor/callout-block/src/callout-block/callout-converter-interceptor.d.ts +8 -0
  10. package/@ones-editor/callout-block/src/callout-block/callout-input-handler.d.ts +11 -0
  11. package/@ones-editor/callout-block/src/callout-block/callout-last-callout-payload.d.ts +9 -0
  12. package/@ones-editor/callout-block/src/callout-block/callout-options.d.ts +2 -0
  13. package/@ones-editor/callout-block/src/callout-block/callout-properties.d.ts +2 -0
  14. package/@ones-editor/callout-block/src/callout-block/callout-quick-menu-item-filter.d.ts +8 -0
  15. package/@ones-editor/callout-block/src/callout-block/command-items/bg-color-item.d.ts +22 -0
  16. package/@ones-editor/callout-block/src/callout-block/command-items/delete-icon-item.d.ts +4 -0
  17. package/@ones-editor/callout-block/src/callout-block/command-items/preset-item.d.ts +16 -0
  18. package/@ones-editor/callout-block/src/callout-block/converter.d.ts +3 -0
  19. package/@ones-editor/callout-block/src/callout-block/helper.d.ts +4 -0
  20. package/@ones-editor/callout-block/src/callout-block/index.d.ts +1 -0
  21. package/@ones-editor/callout-block/src/callout-block/types.d.ts +9 -0
  22. package/@ones-editor/callout-block/src/index.d.ts +3 -0
  23. package/@ones-editor/callout-block/src/locale/en-us.d.ts +12 -0
  24. package/@ones-editor/callout-block/src/locale/index.d.ts +1 -0
  25. package/@ones-editor/callout-block/src/locale/ja-jp.d.ts +12 -0
  26. package/@ones-editor/callout-block/src/locale/zh-cn.d.ts +12 -0
  27. package/@ones-editor/context-menu/src/helper/command-items.d.ts +1 -0
  28. package/@ones-editor/core/src/core/blocks/common/block-wrapper.d.ts +2 -1
  29. package/@ones-editor/core/src/core/blocks/common/insert-empty-block.d.ts +3 -2
  30. package/@ones-editor/core/src/core/blocks/embed-blocks/embed-block/common.d.ts +1 -0
  31. package/@ones-editor/core/src/core/blocks/embed-blocks/embed-block/index.d.ts +1 -0
  32. package/@ones-editor/core/src/core/composition/editor-input.d.ts +3 -3
  33. package/@ones-editor/core/src/core/containers/children.d.ts +5 -2
  34. package/@ones-editor/core/src/core/containers/element.d.ts +1 -0
  35. package/@ones-editor/core/src/core/doc/container.d.ts +2 -2
  36. package/@ones-editor/core/src/core/doc/doc.d.ts +1 -1
  37. package/@ones-editor/core/src/core/editor/actions/insert-doc/insert-doc.d.ts +1 -1
  38. package/@ones-editor/core/src/core/editor-doc/editor-doc.d.ts +1 -1
  39. package/@ones-editor/core/src/core/editor-doc/handle-block-data-changed.d.ts +2 -1
  40. package/@ones-editor/core/src/core/types.d.ts +66 -10
  41. package/@ones-editor/core/src/core/undo-manager/undo-manager.d.ts +2 -0
  42. package/@ones-editor/core/src/helper/hovering-block.d.ts +3 -1
  43. package/@ones-editor/core/src/i18n/en-us.d.ts +1 -0
  44. package/@ones-editor/core/src/i18n/i18n.d.ts +3 -0
  45. package/@ones-editor/core/src/i18n/ja-jp.d.ts +1 -0
  46. package/@ones-editor/core/src/i18n/zh-cn.d.ts +1 -0
  47. package/@ones-editor/core/src/utils/clipboard.d.ts +6 -4
  48. package/@ones-editor/core/src/utils/data-url.d.ts +1 -0
  49. package/@ones-editor/drop-target/src/drop-indicator.d.ts +5 -4
  50. package/@ones-editor/drop-target/src/drop-target.d.ts +2 -1
  51. package/@ones-editor/drop-target/src/find-drop-target.d.ts +1 -1
  52. package/@ones-editor/drop-target/src/index.d.ts +2 -1
  53. package/@ones-editor/embed-block-helper/src/block-resizer/index.d.ts +2 -0
  54. package/@ones-editor/file/src/file-embed/card/index.d.ts +1 -1
  55. package/@ones-editor/file/src/types.d.ts +1 -0
  56. package/@ones-editor/graph-embed/src/config/index.d.ts +1 -0
  57. package/@ones-editor/graph-embed/src/helper/graph-base.d.ts +1 -1
  58. package/@ones-editor/graph-embed/src/helper/graph-block-commands.d.ts +3 -1
  59. package/@ones-editor/heading-collapse/src/heading-collapse-button/heading-utils.d.ts +2 -1
  60. package/@ones-editor/heading-collapse/src/index.d.ts +1 -0
  61. package/@ones-editor/image-embed/src/drag-drop/handle-drop-over.d.ts +1 -4
  62. package/@ones-editor/image-embed/src/drag-drop/handle-drop.d.ts +3 -2
  63. package/@ones-editor/image-embed/src/hovering-toolbar/index.d.ts +22 -0
  64. package/@ones-editor/image-embed/src/image-dom/download-image.d.ts +2 -0
  65. package/@ones-editor/image-embed/src/image-object.d.ts +3 -0
  66. package/@ones-editor/image-embed/src/index.d.ts +5 -1
  67. package/@ones-editor/image-embed/src/types.d.ts +1 -0
  68. package/@ones-editor/input-handlers/src/index.d.ts +4 -1
  69. package/@ones-editor/input-handlers/src/markdown-shortcuts/converter-interceptors.d.ts +12 -0
  70. package/@ones-editor/input-handlers/src/markdown-shortcuts/match-block-convert.d.ts +9 -1
  71. package/@ones-editor/{column-block → layout-block}/package.json +1 -1
  72. package/@ones-editor/layout-block/src/block-drop.d.ts +3 -0
  73. package/@ones-editor/layout-block/src/caption.d.ts +8 -0
  74. package/@ones-editor/layout-block/src/child-containers.d.ts +3 -0
  75. package/@ones-editor/layout-block/src/column-resizer/index.d.ts +2 -0
  76. package/@ones-editor/layout-block/src/constants.d.ts +32 -0
  77. package/@ones-editor/layout-block/src/index.d.ts +6 -0
  78. package/@ones-editor/layout-block/src/layout-creator/index.d.ts +27 -0
  79. package/@ones-editor/layout-block/src/layout-operations.d.ts +11 -0
  80. package/@ones-editor/layout-block/src/locale/en-us.d.ts +10 -0
  81. package/@ones-editor/layout-block/src/locale/index.d.ts +1 -0
  82. package/@ones-editor/layout-block/src/locale/ja-jp.d.ts +10 -0
  83. package/@ones-editor/layout-block/src/locale/zh-cn.d.ts +10 -0
  84. package/@ones-editor/layout-block/src/options.d.ts +2 -0
  85. package/@ones-editor/layout-block/src/percent-bar.d.ts +3 -0
  86. package/@ones-editor/layout-block/src/selection.d.ts +5 -0
  87. package/@ones-editor/layout-block/src/toolbar.d.ts +33 -0
  88. package/@ones-editor/layout-block/src/types.d.ts +17 -0
  89. package/@ones-editor/layout-block/src/utils.d.ts +6 -0
  90. package/@ones-editor/media-embed/src/core/hovering-toolbar/index.d.ts +22 -0
  91. package/@ones-editor/misc/src/image.d.ts +2 -1
  92. package/@ones-editor/misc/src/re-auth/index.d.ts +7 -2
  93. package/@ones-editor/misc/src/re-auth/locale/en-us.d.ts +1 -0
  94. package/@ones-editor/misc/src/re-auth/locale/ja-jp.d.ts +1 -0
  95. package/@ones-editor/misc/src/re-auth/locale/zh-cn.d.ts +1 -0
  96. package/@ones-editor/misc/src/re-auth/ui/toolbar.d.ts +2 -0
  97. package/@ones-editor/paste-special/src/paste-special-handler.d.ts +1 -0
  98. package/@ones-editor/sharedb-doc/src/doc/auth-connection.d.ts +2 -0
  99. package/@ones-editor/sharedb-doc/src/doc/sharedb-client.d.ts +1 -1
  100. package/@ones-editor/sharedb-doc/src/doc/sharedb-doc.d.ts +1 -1
  101. package/@ones-editor/table-block/src/index.d.ts +1 -0
  102. package/@ones-editor/table-block/src/table-block/doc-table-grid.d.ts +1 -0
  103. package/@ones-editor/table-block/src/table-block/table-creator/index.d.ts +1 -1
  104. package/@ones-editor/table-block/src/table-block/table-grid.d.ts +1 -0
  105. package/@ones-editor/to-docx/src/doc2other/colors.d.ts +7 -1
  106. package/@ones-editor/to-docx/src/doc2other/core.d.ts +2 -0
  107. package/@ones-editor/to-docx/src/doc2other/layout.d.ts +10 -0
  108. package/@ones-editor/toc/src/build-toc.d.ts +1 -0
  109. package/@ones-editor/tsconfig.tsbuildinfo +1 -1
  110. package/@ones-editor/ui/src/index.d.ts +2 -2
  111. package/@ones-editor/ui/src/quick-menu/basic-menu-items.d.ts +1 -1
  112. package/@ones-editor/ui/src/quick-menu/index.d.ts +9 -2
  113. package/@ones-editor/ui/src/quick-menu/quick-menu-items.d.ts +4 -2
  114. package/@ones-editor/ui/src/quick-menu/types.d.ts +5 -0
  115. package/@ones-editor/ui/src/toolbar/toolbar-handler.d.ts +2 -0
  116. package/@ones-editor/ui-base/src/color-palette/color-palette.d.ts +2 -1
  117. package/@ones-editor/ui-base/src/color-palette/create-palette.d.ts +8 -0
  118. package/@ones-editor/ui-base/src/color-palette/index.d.ts +2 -2
  119. package/@ones-editor/ui-base/src/command-bar/command-bar.d.ts +2 -2
  120. package/@ones-editor/ui-base/src/command-bar/types.d.ts +2 -0
  121. package/@ones-editor/ui-base/src/emoji-item/emoji-item.d.ts +19 -0
  122. package/@ones-editor/ui-base/src/emoji-item/index.d.ts +2 -0
  123. package/@ones-editor/ui-base/src/emoji-palette/emoji-content.d.ts +21 -0
  124. package/@ones-editor/ui-base/src/emoji-palette/emoji-data.d.ts +60 -0
  125. package/@ones-editor/ui-base/src/emoji-palette/emoji-navigation.d.ts +16 -0
  126. package/@ones-editor/ui-base/src/emoji-palette/emoji-search.d.ts +11 -0
  127. package/@ones-editor/ui-base/src/emoji-palette/index.d.ts +23 -0
  128. package/@ones-editor/ui-base/src/emoji-palette/types.d.ts +0 -0
  129. package/@ones-editor/ui-base/src/icons/index.d.ts +20 -1
  130. package/@ones-editor/ui-base/src/index.d.ts +1 -0
  131. package/@ones-editor/ui-base/src/input/create-input.d.ts +1 -0
  132. package/@ones-editor/ui-base/src/locale/en-us.d.ts +20 -0
  133. package/@ones-editor/ui-base/src/locale/ja-jp.d.ts +20 -0
  134. package/@ones-editor/ui-base/src/locale/zh-cn.d.ts +20 -0
  135. package/dist/index.d.ts +2 -1
  136. package/dist/index.js +128613 -842
  137. package/dist/lang/en-us.d.ts +1 -0
  138. package/dist/lang/ja-jp.d.ts +1 -0
  139. package/dist/lang/zh-cn.d.ts +1 -0
  140. package/dist/types.d.ts +2 -1
  141. package/package.json +3 -3
  142. package/@ones-editor/column-block/src/child-containers.d.ts +0 -2
  143. package/@ones-editor/column-block/src/columns-options.d.ts +0 -2
  144. package/@ones-editor/column-block/src/columns-properties.d.ts +0 -15
  145. package/@ones-editor/column-block/src/index.d.ts +0 -4
  146. package/@ones-editor/column-block/src/types.d.ts +0 -11
@@ -12,6 +12,7 @@ declare const _default: {
12
12
  };
13
13
  common: {
14
14
  cancel: string;
15
+ downloadAsImage: string;
15
16
  };
16
17
  docx: {
17
18
  imageExportFailed: string;
@@ -12,6 +12,7 @@ declare const _default: {
12
12
  };
13
13
  common: {
14
14
  cancel: string;
15
+ downloadAsImage: string;
15
16
  };
16
17
  docx: {
17
18
  imageExportFailed: string;
@@ -1,8 +1,10 @@
1
+ type ClipboardItemData = {
2
+ type: string;
3
+ data: string | Blob;
4
+ };
1
5
  export declare function setClipboardDataByEvent(items: {
2
6
  type: string;
3
7
  data: string;
4
8
  }[], event: ClipboardEvent): Promise<boolean>;
5
- export declare function setClipboardData(items: {
6
- type: string;
7
- data: string | Blob;
8
- }[]): Promise<boolean>;
9
+ export declare function setClipboardData(items: ClipboardItemData[]): Promise<boolean>;
10
+ export {};
@@ -1,2 +1,3 @@
1
1
  export declare function stringToDataUrl(data: string, type: string): Promise<string>;
2
2
  export declare function fileToDataUrl(file: File): Promise<string>;
3
+ export declare function blobToDataUrl(blob: Blob): Promise<string>;
@@ -1,17 +1,18 @@
1
- import { BlockElement, DropInsertPos, OnesEditor } from '../../../@ones-editor/core';
1
+ import { BlockContentElement, BlockElement, DropInsertResolvedPos, OnesEditor } from '../../../@ones-editor/core';
2
2
  export declare const INDICATOR_SIZE = 2;
3
3
  interface DropTarget {
4
4
  block: BlockElement;
5
- insertPos: DropInsertPos;
5
+ insertPos: DropInsertResolvedPos;
6
6
  }
7
7
  export default class DropIndicator {
8
8
  private editor;
9
9
  private indicator;
10
10
  target: DropTarget | null;
11
11
  constructor(editor: OnesEditor);
12
- show(block: BlockElement, insertPos: DropInsertPos): void;
12
+ createIndicator(): void;
13
+ show(block: BlockElement, insertPos: DropInsertResolvedPos): void;
13
14
  hide(): void;
14
15
  private getIndicatorRect;
15
- getViewRect(block: BlockElement): DOMRect;
16
+ getViewRect(block: BlockElement | BlockContentElement): DOMRect;
16
17
  }
17
18
  export {};
@@ -1,4 +1,4 @@
1
- import { BlockElement, ContainerElement, OnesEditor } from '../../../@ones-editor/core';
1
+ import { BlockElement, CombineToCreateOptions, ContainerElement, OnesEditor } from '../../../@ones-editor/core';
2
2
  import DropIndicator from './drop-indicator';
3
3
  export interface DropHandler {
4
4
  handleDrop: (editor: OnesEditor, dragData: BlockElement | File[], targetContainer: ContainerElement, blockIndex: number) => boolean | undefined;
@@ -12,6 +12,7 @@ export default class OnesEditorDropTarget {
12
12
  dropEffect: 'move' | 'none';
13
13
  } | undefined;
14
14
  handlers: DropHandler[];
15
+ combineToCreate: CombineToCreateOptions[];
15
16
  constructor(editor: OnesEditor);
16
17
  destroy(): void;
17
18
  addHandler(handler: DropHandler): void;
@@ -1,3 +1,3 @@
1
1
  import { BlockElement, OnesEditor } from '../../../@ones-editor/core';
2
- export declare function findTargetBlock(editor: OnesEditor, x: number, y: number): BlockElement | null;
2
+ export declare function findTargetBlock(editor: OnesEditor, x?: number, y?: number): BlockElement | null;
3
3
  export declare function canInsertAsSibling(editor: OnesEditor, block: BlockElement): boolean;
@@ -1,5 +1,6 @@
1
+ import { INDICATOR_SIZE } from './drop-indicator';
1
2
  import OnesEditorDropTarget from './drop-target';
2
3
  import type { DropHandler } from './drop-target';
3
4
  import { patchInsertFile } from './handlers/patch-insert-file';
4
5
  export * from './drag-object';
5
- export { OnesEditorDropTarget, DropHandler, patchInsertFile };
6
+ export { OnesEditorDropTarget, DropHandler, patchInsertFile, INDICATOR_SIZE };
@@ -2,8 +2,10 @@ import { BlockElement, OnesEditor } from '../../../../@ones-editor/core';
2
2
  import { BlockResizer } from '../../../../@ones-editor/block-resizer';
3
3
  export declare class EmbedBlockResizer {
4
4
  private editor;
5
+ private resizing;
5
6
  blockResizer: BlockResizer;
6
7
  constructor(editor: OnesEditor);
8
+ handleResized: () => void;
7
9
  handleResizing: (resizer: BlockResizer, rect: DOMRect) => void;
8
10
  destroy(): void;
9
11
  handleHoveringBlockChange: (block: BlockElement | null, old: BlockElement | null) => void;
@@ -2,5 +2,5 @@ import { OnesEditor, BlockContentElement } from '../../../../../@ones-editor/cor
2
2
  import { FileEmbedData } from '../../types';
3
3
  export declare function renderFileCard(editor: OnesEditor, content: BlockContentElement, data: FileEmbedData): Promise<{
4
4
  card: HTMLDivElement;
5
- downloadButton: HTMLButtonElement;
5
+ downloadButton: HTMLElement | undefined;
6
6
  }>;
@@ -18,6 +18,7 @@ export interface FileEmbedData extends DocEmbedData, FileData {
18
18
  }
19
19
  export interface FileOptions {
20
20
  onClick?: (editor: OnesEditor, elem: BlockElement | BoxElement, event: MouseEvent) => void;
21
+ canDownload?: boolean;
21
22
  onDownloadFile?: (editor: OnesEditor, data: FileData | FileBoxData, source: 'embed' | 'box') => void;
22
23
  renderFileCardIcon?: (editor: OnesEditor, blockData: FileEmbedData) => Promise<false | HTMLImageElement>;
23
24
  onGetFileDownloadUrl?: (editor: OnesEditor, data: FileBoxData | FileEmbedData) => Promise<string | undefined>;
@@ -1,3 +1,4 @@
1
1
  export declare const MERMAID_SCRIPTS = "https://cdn.jsdelivr.net/npm/mermaid@9.0.1/dist/mermaid.min.js";
2
2
  export declare const FLOWCHART_SCRIPTS: string[];
3
3
  export declare const PLANTUML_PRE = "https://www.plantuml.com/plantuml/svg";
4
+ export declare const GRAPH_MIN_HEIGHT = 200;
@@ -8,7 +8,7 @@ export default abstract class GraphBase {
8
8
  logger: Logger;
9
9
  editing: boolean;
10
10
  private graphEmbedContent;
11
- private status;
11
+ private _status;
12
12
  constructor(editor: OnesEditor, graphType: GraphType, codeEmbedDataKey: string);
13
13
  protected abstract code2ObjectUrl(code: string): Promise<string>;
14
14
  protected abstract code2ResourceId(code: string): Promise<string>;
@@ -1,5 +1,6 @@
1
+ import { BlockElement } from '../../../../@ones-editor/core';
1
2
  import { StandardEmbedBlockCommands } from '../../../../@ones-editor/embed-block-helper';
2
- import type { BlockElement, CommandItem, OnesEditor } from '../../../../@ones-editor/core';
3
+ import type { CommandItem, OnesEditor } from '../../../../@ones-editor/core';
3
4
  import type { StandardEmbedBlockProperties } from '../../../../@ones-editor/embed-block-helper';
4
5
  export type PresetCommandId = 'edit' | 'help';
5
6
  export type GraphType = 'mermaid' | 'flowchart' | 'plantuml';
@@ -12,6 +13,7 @@ declare class GraphBlockCommands extends StandardEmbedBlockCommands<PresetComman
12
13
  group: string;
13
14
  _commands: CommandItem[];
14
15
  constructor(editor: OnesEditor, block: BlockElement, graphType: GraphType, properties?: GraphEmbedBlockProperties | undefined);
16
+ get commands(): CommandItem[];
15
17
  executeCommand(editor: OnesEditor, block: BlockElement, item: CommandItem): void;
16
18
  }
17
19
  export declare function getGraphEmbedBlockProperties(editor: OnesEditor, block: BlockElement, type: 'mermaid' | 'flowchart' | 'plantuml', properties?: GraphEmbedBlockProperties): {
@@ -1,2 +1,3 @@
1
- import { BlockElement } from '../../../../@ones-editor/core';
1
+ import { BlockElement, OnesEditor } from '../../../../@ones-editor/core';
2
2
  export declare function isTitleBlock(block: BlockElement): boolean;
3
+ export declare function canShowCollapseButtons(editor: OnesEditor, hoverBlock: BlockElement | null): boolean;
@@ -3,3 +3,4 @@ import './style.scss';
3
3
  export * from './heading-collapse-button';
4
4
  export * from './keyboard';
5
5
  export * from './doc-event';
6
+ export { isHeadingCollapsed } from './doc-event/collapse-handler';
@@ -1,7 +1,4 @@
1
1
  import { BlockElement, DragObject, OnesEditor } from '../../../../@ones-editor/core';
2
2
  import { ImageDragInsertPos } from './types';
3
- export declare function getDragInsertPos(editor: OnesEditor, block: BlockElement, images: HTMLElement[], x: number, y?: number): {
4
- rect: DOMRect;
5
- data: number;
6
- };
3
+ export declare function getDragInsertPos(editor: OnesEditor, block: BlockElement, images: HTMLElement[], x: number, y?: number): ImageDragInsertPos;
7
4
  export declare function handleDropOver(editor: OnesEditor, block: BlockElement, dragObject: DragObject | DataTransferItemList | null, x: number, y: number): ImageDragInsertPos | undefined;
@@ -1,2 +1,3 @@
1
- import { BlockElement, DragObject, DropInsertPos, DropOptions, OnesEditor } from '../../../../@ones-editor/core';
2
- export declare function handleDrop(editor: OnesEditor, block: BlockElement, dragData: DragObject | File[], insertPos: DropInsertPos, options: DropOptions): boolean | undefined;
1
+ import { BlockElement, DragObject, DropInsertResolvedPos, DropOptions, OnesEditor } from '../../../../@ones-editor/core';
2
+ export declare function deleteImageFromBlock(editor: OnesEditor, block: BlockElement, index: number): void;
3
+ export declare function handleDrop(editor: OnesEditor, block: BlockElement, dragData: DragObject | File[], insertPos: DropInsertResolvedPos, options: DropOptions): boolean | undefined;
@@ -0,0 +1,22 @@
1
+ import { BlockCommands, BlockElement, CommandItem, OnesEditor } from '../../../../@ones-editor/core';
2
+ import type { CommandItemType } from '../../../../@ones-editor/core';
3
+ export default class ImageHoveringToolbarCommands implements BlockCommands {
4
+ protected editor: OnesEditor;
5
+ protected block: BlockElement;
6
+ group: string;
7
+ constructor(editor: OnesEditor, block: BlockElement);
8
+ _commands: ({
9
+ id: string;
10
+ name: string;
11
+ icon: string;
12
+ type?: undefined;
13
+ } | {
14
+ id: string;
15
+ name: string;
16
+ type: CommandItemType;
17
+ icon?: undefined;
18
+ })[];
19
+ private createIconItem;
20
+ get commands(): CommandItem[];
21
+ executeCommand(editor: OnesEditor, block: BlockElement, item: CommandItem): void;
22
+ }
@@ -1 +1,3 @@
1
+ import { BlockElement } from '../../../../@ones-editor/core';
1
2
  export declare function downloadImageToFile(src: string): Promise<File | null>;
3
+ export declare function downloadImage(block: BlockElement): void;
@@ -10,6 +10,9 @@ export declare class ImageObject implements ImageObjectBase {
10
10
  private resizing;
11
11
  private parentContainerResizerObserver;
12
12
  private autoFix;
13
+ focusTimes: number;
14
+ mouseStartX: number;
15
+ mouseStartY: number;
13
16
  constructor(editor: OnesEditor, blockData: DocEmbedBlock);
14
17
  destroy(): void;
15
18
  setAutoFix(autoFix: boolean): void;
@@ -1,12 +1,16 @@
1
1
  import { Embed } from '../../../@ones-editor/core';
2
+ import { toImageEmbedData } from './image-data';
2
3
  import { ImageObject } from './image-object';
3
4
  import './image-embed-style.scss';
5
+ import { deleteImageFromBlock } from './drag-drop/handle-drop';
4
6
  import './locale';
5
7
  import { getImageContainersByBlock } from './image-dom/helper';
6
8
  import EmptyImageConverterInputHandler from './empty-image-converter';
7
9
  import { ImagePasteHandler } from './paste-handler';
10
+ import type { ImageDragObject } from './drag-drop/types';
11
+ import { updateImageBlockSize } from './image-size';
8
12
  export * from './shortcuts';
9
13
  export * from './types';
10
- export { ImageObject, ImagePasteHandler, getImageContainersByBlock };
14
+ export { ImageObject, ImagePasteHandler, getImageContainersByBlock, toImageEmbedData, deleteImageFromBlock, ImageDragObject, updateImageBlockSize };
11
15
  declare const ImageEmbed: Embed;
12
16
  export { ImageEmbed, EmptyImageConverterInputHandler };
@@ -6,6 +6,7 @@ export interface ImageOptions {
6
6
  callbacks?: {
7
7
  onError?: (editor: OnesEditor, error: Error) => void;
8
8
  };
9
+ onPreview?: (editor: OnesEditor, event: MouseEvent) => void;
9
10
  }
10
11
  export interface ImageEmbedData extends DocEmbedData {
11
12
  src: string | string[];
@@ -1,4 +1,7 @@
1
1
  import { MarkdownInputHandler, converterIntercept } from './markdown-shortcuts';
2
+ import { MarkdownConverterInterceptors } from './markdown-shortcuts/converter-interceptors';
3
+ import type { ConverterInterceptor } from './markdown-shortcuts/converter-interceptors';
4
+ import type { BlockConverter } from './markdown-shortcuts/match-block-convert';
2
5
  import './i18n';
3
6
  export * from './enforce-with-document-title';
4
- export { MarkdownInputHandler, converterIntercept };
7
+ export { MarkdownInputHandler, converterIntercept, ConverterInterceptor, MarkdownConverterInterceptors, BlockConverter };
@@ -0,0 +1,12 @@
1
+ import { BlockElement, OnesEditor, OnesEditorCustom } from '../../../../@ones-editor/core';
2
+ import type { BlockConverter } from './match-block-convert';
3
+ export interface ConverterInterceptor {
4
+ handler: (editor: OnesEditor, block: BlockElement, converter: BlockConverter) => boolean;
5
+ }
6
+ export declare class MarkdownConverterInterceptors implements OnesEditorCustom {
7
+ private interceptors;
8
+ addInterceptor(interceptor: ConverterInterceptor): void;
9
+ runInterceptors(editor: OnesEditor, block: BlockElement, converter: BlockConverter): boolean;
10
+ destroy(): void;
11
+ static get(editor: OnesEditor): MarkdownConverterInterceptors;
12
+ }
@@ -1,3 +1,11 @@
1
- import { OnesEditor } from '../../../../@ones-editor/core';
1
+ import { DocBlockAttributes, OnesEditor } from '../../../../@ones-editor/core';
2
+ export type BlockConverter = {
3
+ reg: RegExp;
4
+ blockType: string;
5
+ data?: DocBlockAttributes;
6
+ };
7
+ export type BlockConverters = {
8
+ [index: string]: BlockConverter;
9
+ };
2
10
  export declare function converterIntercept(editor: OnesEditor, containerId: string, blockIndex: number, offset: number, type: 'enter' | 'space'): boolean;
3
11
  export declare function matchBlockConvert(editor: OnesEditor, containerId: string, blockIndex: number, offset: number, type: 'enter' | 'space'): boolean;
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "@ones-editor/columns-block",
2
+ "name": "@ones-editor/layout-block",
3
3
  "version": "1.0.0",
4
4
  "type": "module",
5
5
  "private": true,
@@ -0,0 +1,3 @@
1
+ import { LayoutKindBlock } from './types';
2
+ export declare const handleDrop: LayoutKindBlock['handleDrop'];
3
+ export declare const handleDropOver: LayoutKindBlock['handleDropOver'];
@@ -0,0 +1,8 @@
1
+ import { OnesEditorInputHandler, OnesEditorCustom, OnesEditor, OnesEditorDocs } from '../../../@ones-editor/core';
2
+ export declare class LayoutBlockCaptionInputHandler implements OnesEditorInputHandler, OnesEditorCustom {
3
+ private editor;
4
+ private skipForRootContainer;
5
+ constructor(editor: OnesEditor, skipForRootContainer?: boolean);
6
+ destroy(): void;
7
+ handleBeforePaste(editor: OnesEditor, event: ClipboardEvent | null, docs: OnesEditorDocs): Promise<boolean>;
8
+ }
@@ -0,0 +1,3 @@
1
+ import { BlockElement, ContainerElement, OnesEditor } from '../../../@ones-editor/core';
2
+ export declare function getChildContainers(editor: OnesEditor, block: BlockElement, from?: string, to?: string): ContainerElement[];
3
+ export declare function getChildSeparators(block: BlockElement): HTMLElement[];
@@ -0,0 +1,2 @@
1
+ import { OnesEditor } from '../../../../@ones-editor/core';
2
+ export default function initLayoutColumnWidthDragger(editor: OnesEditor): void;
@@ -0,0 +1,32 @@
1
+ /**
2
+ * 名称
3
+ */
4
+ export declare const LAYOUT_NAME = "LayoutBlock";
5
+ /**
6
+ * 快捷键
7
+ */
8
+ export declare const LAYOUT_SHORTCUT_ID = "insert-layout";
9
+ /**
10
+ * 快捷键提示
11
+ */
12
+ export declare const LAYOUT_SHORTCUT_SUBTEXT = "/column";
13
+ export declare const LAYOUT_BLOCK_TYPE = "layout";
14
+ /**
15
+ * 最大分栏数
16
+ */
17
+ export declare const MAX_LAYOUT_COLUMNS = 6;
18
+ /**
19
+ * 最小分栏数
20
+ */
21
+ export declare const MIN_LAYOUT_COLUMNS = 2;
22
+ /**
23
+ * 分栏最小宽度,百分比
24
+ */
25
+ export declare const MIN_LAYOUT_WIDTH_PERCENT = 0.08;
26
+ export declare const DROP_BLOCK_TYPE_BLACK_LIST: string[];
27
+ /**
28
+ * custom dom
29
+ */
30
+ export declare const LAYOUT_SEPARATOR_CLASS_NAME = "layout-separator";
31
+ export declare const LAYOUT_COLUMN_CONTAINER_CLASS_NAME = "layout-column-container";
32
+ export declare const LAYOUT_SEPARATOR_INDEX_ATTRIBUTE_KEY = "layoutSeparatorIndex";
@@ -0,0 +1,6 @@
1
+ import './locale';
2
+ import './layout-styles.scss';
3
+ import { LayoutKindBlock } from './types';
4
+ export declare const LayoutBlock: LayoutKindBlock;
5
+ export { isLayoutBlock } from './utils';
6
+ export * from './caption';
@@ -0,0 +1,27 @@
1
+ import { Closeable, CommandItem } from '../../../../@ones-editor/core';
2
+ import { CreateLayoutData } from '../types';
3
+ declare class LayoutCreatorItem implements CommandItem, CreateLayoutData {
4
+ id: string;
5
+ name: string;
6
+ colCount?: number | undefined;
7
+ classPrefix: {
8
+ container: string;
9
+ title: string;
10
+ column: string;
11
+ };
12
+ element: HTMLElement;
13
+ closeable: Closeable | null;
14
+ columnsArray: number[];
15
+ constructor();
16
+ setCloseable: (closeable: Closeable) => void;
17
+ destroy: () => void;
18
+ createLayoutCreatorElement(): HTMLDivElement;
19
+ handleCreatorClick: (event: MouseEvent) => void;
20
+ handleCreatorLeave: () => void;
21
+ handleLayoutCreatorColumnEnter: (event: MouseEvent) => void;
22
+ highlightLayoutCreatorColumn: (colIndex: number) => void;
23
+ setColumnClassByIndex: (column: HTMLElement | null, index: number, targetIndex: number) => void;
24
+ showCreateLayoutCount: (colIndex: number) => void;
25
+ }
26
+ export declare function getLayoutCreatorItem(): LayoutCreatorItem;
27
+ export {};
@@ -0,0 +1,11 @@
1
+ import { BlockElement, OnesEditor, InsertEmptyBlockOptions, BlockPathComponent, DocBlock } from '../../../@ones-editor/core';
2
+ export declare function handleInsertEmptyBlock(editor: OnesEditor, options: InsertEmptyBlockOptions): Promise<BlockElement>;
3
+ export declare function createLayout(editor: OnesEditor, col: number | (BlockElement | DocBlock)[], path: BlockPathComponent, dataOverriding?: (DocBlock | undefined)[]): BlockElement;
4
+ export declare function selectContainer(editor: OnesEditor, layoutBlockElement: BlockElement, startContainerID: string, endContainerID?: string): void;
5
+ export declare function reorderColumns(editor: OnesEditor, layoutBlock: BlockElement, sourceContainerID: string, position: number): void;
6
+ export declare function combineLayoutBlock(editor: OnesEditor, from: BlockElement, to: BlockElement, position?: number): void;
7
+ export declare function addColumn(editor: OnesEditor, targetBlock: BlockElement, options?: {
8
+ sourceBlock?: BlockElement;
9
+ position?: number;
10
+ }): import("@ones-editor/core").ContainerElement | undefined;
11
+ export declare function deleteColumn(editor: OnesEditor, columnContainerID: string, layoutBlock: BlockElement): void;
@@ -0,0 +1,10 @@
1
+ declare const _default: {
2
+ layout: {
3
+ title: string;
4
+ columnDrag: string;
5
+ insertColumn: string;
6
+ selectColumn: string;
7
+ currentCols: string;
8
+ };
9
+ };
10
+ export default _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ declare const _default: {
2
+ layout: {
3
+ title: string;
4
+ columnDrag: string;
5
+ insertColumn: string;
6
+ selectColumn: string;
7
+ currentCols: string;
8
+ };
9
+ };
10
+ export default _default;
@@ -0,0 +1,10 @@
1
+ declare const _default: {
2
+ layout: {
3
+ title: string;
4
+ columnDrag: string;
5
+ insertColumn: string;
6
+ selectColumn: string;
7
+ currentCols: string;
8
+ };
9
+ };
10
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import { LayoutKindBlock } from './types';
2
+ export declare const getLayoutOptions: Exclude<LayoutKindBlock['getOptions'], undefined>;
@@ -0,0 +1,3 @@
1
+ import { ContainerElement, OnesEditor } from '../../../@ones-editor/core';
2
+ import { LayoutDocBlock } from './types';
3
+ export declare function createPercentBar(editor: OnesEditor, container: ContainerElement, layoutData: LayoutDocBlock, index: number): void;
@@ -0,0 +1,5 @@
1
+ import { LayoutKindBlock } from './types';
2
+ export declare const updateSelection: LayoutKindBlock['updateSelection'];
3
+ export declare const clearSelection: LayoutKindBlock['clearSelection'];
4
+ export declare const getSelectedContainers: LayoutKindBlock['getSelectedContainers'];
5
+ export declare const getTextToolbarReferenceClient: LayoutKindBlock['getTextToolbarReferenceClient'];
@@ -0,0 +1,33 @@
1
+ import { OnesEditor, BlockElement, AutoScroll, OnesEditorCustom, ContainerElement } from '../../../@ones-editor/core';
2
+ import { Instance } from 'tippy.js';
3
+ export declare function createSeparatorContainer(editor: OnesEditor, blockElement: BlockElement, index: number): HTMLDivElement;
4
+ export declare function createActionBar(editor: OnesEditor, containerID: string, _blockElement: BlockElement, columnRemovable?: boolean): {
5
+ actionBarContainer: HTMLDivElement;
6
+ tippyInstance?: undefined;
7
+ } | {
8
+ actionBarContainer: HTMLDivElement;
9
+ tippyInstance: Instance<import("tippy.js").Props>;
10
+ };
11
+ export declare function elementToDataUrl(editor: OnesEditor, element: HTMLElement): Promise<string>;
12
+ export declare class OnesEditorCustomLayoutDragHandler implements OnesEditorCustom {
13
+ private editor;
14
+ activeLayoutBlock?: BlockElement;
15
+ columnContainer?: ContainerElement;
16
+ draggingContainer?: HTMLElement;
17
+ autoScroll?: AutoScroll;
18
+ startPosition?: {
19
+ x: number;
20
+ y: number;
21
+ };
22
+ get separators(): HTMLElement[] | undefined;
23
+ get draggingContainerIndex(): number | undefined;
24
+ constructor(editor: OnesEditor);
25
+ destroy(): void;
26
+ private handleMouseDown;
27
+ private previewShouldScale;
28
+ private initContainerPreview;
29
+ private handleDragStart;
30
+ private handleDrag;
31
+ private handleDragEnd;
32
+ private getClosetSeparator;
33
+ }
@@ -0,0 +1,17 @@
1
+ import { ComplexKindBlock, DocBlock, OnesEditor } from '../../../@ones-editor/core';
2
+ export interface LayoutDocBlock extends DocBlock {
3
+ children: string[];
4
+ colsWidth: number[];
5
+ }
6
+ export type LayoutKindBlock = ComplexKindBlock;
7
+ export type LayoutDropData = {
8
+ isValidColumnDragging: boolean;
9
+ position: number;
10
+ };
11
+ export interface CreateLayoutData {
12
+ colCount?: number;
13
+ }
14
+ export interface EditorConfigLayoutOptions {
15
+ onColumnCreated?: (editor: OnesEditor, count: number) => void;
16
+ onColumnWidthChange?: (editor: OnesEditor, count: number, index: number, colsWidth: number[]) => void;
17
+ }
@@ -0,0 +1,6 @@
1
+ import { BlockElement, ContainerElement, DocBlock, DocObject, OnesEditor } from '../../../@ones-editor/core';
2
+ export declare function isBlockElement(item: unknown): item is BlockElement;
3
+ export declare function isLayoutBlock(block: BlockElement): boolean;
4
+ export declare function flattenLayoutBlockIfExists(_docObject: DocObject, containerID?: string): DocBlock[];
5
+ export declare function currentCaptionInRootContainer(editor: OnesEditor): boolean;
6
+ export declare function getClosetLayoutContainer(block: BlockElement | undefined): ContainerElement | undefined;
@@ -0,0 +1,22 @@
1
+ import { BlockCommands, BlockElement, CommandItem, OnesEditor } from '../../../../../@ones-editor/core';
2
+ import type { CommandItemType } from '../../../../../@ones-editor/core';
3
+ export default class ImageHoveringToolbarCommands implements BlockCommands {
4
+ protected editor: OnesEditor;
5
+ protected block: BlockElement;
6
+ group: string;
7
+ constructor(editor: OnesEditor, block: BlockElement);
8
+ _commands: ({
9
+ id: string;
10
+ name: string;
11
+ icon: string;
12
+ type?: undefined;
13
+ } | {
14
+ id: string;
15
+ name: string;
16
+ type: CommandItemType;
17
+ icon?: undefined;
18
+ })[];
19
+ private createIconItem;
20
+ get commands(): CommandItem[];
21
+ executeCommand(editor: OnesEditor, block: BlockElement, item: CommandItem): void;
22
+ }
@@ -1,2 +1,3 @@
1
- export declare function convertImageSrcToPng(src: string): Promise<Blob>;
1
+ export declare function convertImageSrcToPng(src: string, backgroundColor?: string): Promise<Blob>;
2
2
  export declare function convertImageFileToPng(file: File): Promise<Blob>;
3
+ export declare function downloadImageAsPng(downloadUrl: string, prefix?: string, backgroundColor?: string): Promise<void>;
@@ -1,14 +1,19 @@
1
1
  import { TypedEmitter } from 'tiny-typed-emitter';
2
- import type { OnesEditor, OnesEditorCustom, OnesEditorDocCallbacks } from '../../../../@ones-editor/core';
2
+ import { OnesEditor, OnesEditorCustom, OnesEditorDocCallbacks } from '../../../../@ones-editor/core';
3
3
  import ReAuthToolbar from './ui/toolbar';
4
4
  import './locale';
5
5
  type EventCallback = (() => void) | undefined;
6
6
  declare const DOC_RE_AUTH_KEYS = "doc-re-auth-event";
7
- declare class DocReAuthCallbacks extends TypedEmitter implements OnesEditorCustom, OnesEditorDocCallbacks {
7
+ type ReAuthEvent = {
8
+ tokenExpired: () => void;
9
+ };
10
+ declare class DocReAuthCallbacks extends TypedEmitter<ReAuthEvent> implements OnesEditorCustom, OnesEditorDocCallbacks {
8
11
  private editor;
9
12
  private authErrorCallback;
10
13
  private authRecoverCallback;
14
+ reAuthToolbar: ReAuthToolbar;
11
15
  constructor(editor: OnesEditor);
16
+ handleReAuth: () => void;
12
17
  addAuthListen(event: 'authError' | 'authRecover', callback: EventCallback): void;
13
18
  removeListeners(): void;
14
19
  destroy: () => void;
@@ -1,6 +1,7 @@
1
1
  declare const _default: {
2
2
  authError: {
3
3
  tips: string;
4
+ successTips: string;
4
5
  };
5
6
  };
6
7
  export default _default;
@@ -1,6 +1,7 @@
1
1
  declare const _default: {
2
2
  authError: {
3
3
  tips: string;
4
+ successTips: string;
4
5
  };
5
6
  };
6
7
  export default _default;
@@ -1,6 +1,7 @@
1
1
  declare const _default: {
2
2
  authError: {
3
3
  tips: string;
4
+ successTips: string;
4
5
  };
5
6
  };
6
7
  export default _default;
@@ -4,7 +4,9 @@ export default class ReAuthToolbar {
4
4
  private editor;
5
5
  private isShown;
6
6
  private currentBlock;
7
+ private fixedToolbar;
7
8
  constructor(editor: OnesEditor);
8
9
  render(block: BlockElement, onExit?: () => void): void;
10
+ succeedRender: () => void;
9
11
  destroy(): void;
10
12
  }
@@ -6,6 +6,7 @@ export default class PasteSpecialHandler implements OnesEditorInputHandler {
6
6
  lastUndoAction: OnesEditorUndoAction | null;
7
7
  lastPos: BlockPosition | null;
8
8
  event: ClipboardEvent | null;
9
+ order: number;
9
10
  constructor(editor: OnesEditor);
10
11
  destroy(): void;
11
12
  handleChanged(editor: OnesEditor, action: OnesEditorUndoAction): void;