@ones-editor/editor 2.0.8-beta.3 → 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 (133) 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/editor/actions/insert-doc/insert-doc.d.ts +1 -1
  37. package/@ones-editor/core/src/core/editor-doc/handle-block-data-changed.d.ts +2 -1
  38. package/@ones-editor/core/src/core/types.d.ts +66 -10
  39. package/@ones-editor/core/src/helper/hovering-block.d.ts +3 -1
  40. package/@ones-editor/core/src/i18n/en-us.d.ts +1 -0
  41. package/@ones-editor/core/src/i18n/i18n.d.ts +3 -0
  42. package/@ones-editor/core/src/i18n/ja-jp.d.ts +1 -0
  43. package/@ones-editor/core/src/i18n/zh-cn.d.ts +1 -0
  44. package/@ones-editor/core/src/utils/data-url.d.ts +1 -0
  45. package/@ones-editor/drop-target/src/drop-indicator.d.ts +5 -4
  46. package/@ones-editor/drop-target/src/drop-target.d.ts +2 -1
  47. package/@ones-editor/drop-target/src/find-drop-target.d.ts +1 -1
  48. package/@ones-editor/drop-target/src/index.d.ts +2 -1
  49. package/@ones-editor/embed-block-helper/src/block-resizer/index.d.ts +2 -0
  50. package/@ones-editor/file/src/file-embed/card/index.d.ts +1 -1
  51. package/@ones-editor/file/src/types.d.ts +1 -0
  52. package/@ones-editor/graph-embed/src/config/index.d.ts +1 -0
  53. package/@ones-editor/graph-embed/src/helper/graph-base.d.ts +1 -1
  54. package/@ones-editor/graph-embed/src/helper/graph-block-commands.d.ts +3 -1
  55. package/@ones-editor/heading-collapse/src/heading-collapse-button/heading-utils.d.ts +2 -1
  56. package/@ones-editor/heading-collapse/src/index.d.ts +1 -0
  57. package/@ones-editor/image-embed/src/drag-drop/handle-drop-over.d.ts +1 -4
  58. package/@ones-editor/image-embed/src/drag-drop/handle-drop.d.ts +3 -2
  59. package/@ones-editor/image-embed/src/hovering-toolbar/index.d.ts +22 -0
  60. package/@ones-editor/image-embed/src/image-dom/download-image.d.ts +2 -0
  61. package/@ones-editor/image-embed/src/image-object.d.ts +3 -0
  62. package/@ones-editor/image-embed/src/index.d.ts +5 -1
  63. package/@ones-editor/image-embed/src/types.d.ts +1 -0
  64. package/@ones-editor/input-handlers/src/index.d.ts +4 -1
  65. package/@ones-editor/input-handlers/src/markdown-shortcuts/converter-interceptors.d.ts +12 -0
  66. package/@ones-editor/input-handlers/src/markdown-shortcuts/match-block-convert.d.ts +9 -1
  67. package/@ones-editor/{column-block → layout-block}/package.json +1 -1
  68. package/@ones-editor/layout-block/src/block-drop.d.ts +3 -0
  69. package/@ones-editor/layout-block/src/caption.d.ts +8 -0
  70. package/@ones-editor/layout-block/src/child-containers.d.ts +3 -0
  71. package/@ones-editor/layout-block/src/column-resizer/index.d.ts +2 -0
  72. package/@ones-editor/layout-block/src/constants.d.ts +32 -0
  73. package/@ones-editor/layout-block/src/index.d.ts +6 -0
  74. package/@ones-editor/layout-block/src/layout-creator/index.d.ts +27 -0
  75. package/@ones-editor/layout-block/src/layout-operations.d.ts +11 -0
  76. package/@ones-editor/layout-block/src/locale/en-us.d.ts +10 -0
  77. package/@ones-editor/layout-block/src/locale/index.d.ts +1 -0
  78. package/@ones-editor/layout-block/src/locale/ja-jp.d.ts +10 -0
  79. package/@ones-editor/layout-block/src/locale/zh-cn.d.ts +10 -0
  80. package/@ones-editor/layout-block/src/options.d.ts +2 -0
  81. package/@ones-editor/layout-block/src/percent-bar.d.ts +3 -0
  82. package/@ones-editor/layout-block/src/selection.d.ts +5 -0
  83. package/@ones-editor/layout-block/src/toolbar.d.ts +33 -0
  84. package/@ones-editor/layout-block/src/types.d.ts +17 -0
  85. package/@ones-editor/layout-block/src/utils.d.ts +6 -0
  86. package/@ones-editor/media-embed/src/core/hovering-toolbar/index.d.ts +22 -0
  87. package/@ones-editor/misc/src/image.d.ts +2 -1
  88. package/@ones-editor/paste-special/src/paste-special-handler.d.ts +1 -0
  89. package/@ones-editor/table-block/src/index.d.ts +1 -0
  90. package/@ones-editor/table-block/src/table-block/doc-table-grid.d.ts +1 -0
  91. package/@ones-editor/table-block/src/table-block/table-creator/index.d.ts +1 -1
  92. package/@ones-editor/table-block/src/table-block/table-grid.d.ts +1 -0
  93. package/@ones-editor/to-docx/src/doc2other/colors.d.ts +7 -1
  94. package/@ones-editor/to-docx/src/doc2other/core.d.ts +2 -0
  95. package/@ones-editor/to-docx/src/doc2other/layout.d.ts +10 -0
  96. package/@ones-editor/toc/src/build-toc.d.ts +1 -0
  97. package/@ones-editor/tsconfig.tsbuildinfo +1 -1
  98. package/@ones-editor/ui/src/index.d.ts +2 -2
  99. package/@ones-editor/ui/src/quick-menu/basic-menu-items.d.ts +1 -1
  100. package/@ones-editor/ui/src/quick-menu/index.d.ts +9 -2
  101. package/@ones-editor/ui/src/quick-menu/quick-menu-items.d.ts +4 -2
  102. package/@ones-editor/ui/src/quick-menu/types.d.ts +5 -0
  103. package/@ones-editor/ui/src/toolbar/toolbar-handler.d.ts +2 -0
  104. package/@ones-editor/ui-base/src/color-palette/color-palette.d.ts +2 -1
  105. package/@ones-editor/ui-base/src/color-palette/create-palette.d.ts +8 -0
  106. package/@ones-editor/ui-base/src/color-palette/index.d.ts +2 -2
  107. package/@ones-editor/ui-base/src/command-bar/types.d.ts +1 -0
  108. package/@ones-editor/ui-base/src/emoji-item/emoji-item.d.ts +19 -0
  109. package/@ones-editor/ui-base/src/emoji-item/index.d.ts +2 -0
  110. package/@ones-editor/ui-base/src/emoji-palette/emoji-content.d.ts +21 -0
  111. package/@ones-editor/ui-base/src/emoji-palette/emoji-data.d.ts +60 -0
  112. package/@ones-editor/ui-base/src/emoji-palette/emoji-navigation.d.ts +16 -0
  113. package/@ones-editor/ui-base/src/emoji-palette/emoji-search.d.ts +11 -0
  114. package/@ones-editor/ui-base/src/emoji-palette/index.d.ts +23 -0
  115. package/@ones-editor/ui-base/src/emoji-palette/types.d.ts +0 -0
  116. package/@ones-editor/ui-base/src/icons/index.d.ts +20 -1
  117. package/@ones-editor/ui-base/src/index.d.ts +1 -0
  118. package/@ones-editor/ui-base/src/input/create-input.d.ts +1 -0
  119. package/@ones-editor/ui-base/src/locale/en-us.d.ts +20 -0
  120. package/@ones-editor/ui-base/src/locale/ja-jp.d.ts +20 -0
  121. package/@ones-editor/ui-base/src/locale/zh-cn.d.ts +20 -0
  122. package/dist/index.d.ts +2 -1
  123. package/dist/index.js +53732 -3287
  124. package/dist/lang/en-us.d.ts +1 -0
  125. package/dist/lang/ja-jp.d.ts +1 -0
  126. package/dist/lang/zh-cn.d.ts +1 -0
  127. package/dist/types.d.ts +2 -0
  128. package/package.json +3 -3
  129. package/@ones-editor/column-block/src/child-containers.d.ts +0 -2
  130. package/@ones-editor/column-block/src/columns-options.d.ts +0 -2
  131. package/@ones-editor/column-block/src/columns-properties.d.ts +0 -15
  132. package/@ones-editor/column-block/src/index.d.ts +0 -4
  133. package/@ones-editor/column-block/src/types.d.ts +0 -11
@@ -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>;
@@ -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;
@@ -5,3 +5,4 @@ import './table-style.scss';
5
5
  import TableShortcuts from './table-block/table-shortcuts';
6
6
  export * from './types';
7
7
  export { TableBlock, TableBlockCommandProvider, TableShortcuts, includeBigTable };
8
+ export type { CreateTableData } from './table-block/table-creator';
@@ -5,6 +5,7 @@ export interface DocTableCellData {
5
5
  col: number;
6
6
  colSpan: number;
7
7
  rowSpan: number;
8
+ background?: string;
8
9
  virtual?: boolean;
9
10
  }
10
11
  export declare class DocTableRow {
@@ -1,5 +1,5 @@
1
1
  import { Closeable, CommandItem, InsertEmptyBlockOptions, OnesEditor } from '../../../../../@ones-editor/core';
2
- interface CreateTableData {
2
+ export interface CreateTableData {
3
3
  colCount?: number;
4
4
  rowCount?: number;
5
5
  }
@@ -6,6 +6,7 @@ export declare class TableCell implements DocTableCellData {
6
6
  col: number;
7
7
  colSpan: number;
8
8
  rowSpan: number;
9
+ background?: string;
9
10
  virtual?: boolean;
10
11
  table: HTMLTableElement;
11
12
  constructor(table: HTMLTableElement, cellData: DocTableCellData);
@@ -6,10 +6,16 @@ export declare function styleColorToColor(color: string | undefined): "d83931" |
6
6
  * @param color
7
7
  * @returns
8
8
  */
9
- export declare function styleBackgroundColorToHighlight(color: string | undefined): "yellow" | "magenta" | "green" | "blue" | "lightGray" | "red" | "darkGreen" | "darkMagenta" | "darkGray" | undefined;
9
+ export declare function styleBackgroundColorToHighlight(color: string | undefined): "green" | "red" | "blue" | "yellow" | "magenta" | "lightGray" | "darkGreen" | "darkMagenta" | "darkGray" | undefined;
10
10
  export declare function styleBackgroundColorToHex(color: string | undefined): "fbbab6" | "ffdcb0" | "fff7a0" | "ceefc5" | "d1ddfb" | "d9cbf8" | "eaeaea" | "fe837c" | "ffbd6a" | "ffe662" | "a8f393" | "98b5ff" | "b394f8" | "b1b1b1" | undefined;
11
11
  /**
12
12
  * 将rgb(rrr,ggg,bbb)格式的颜色转为RRGGBB格式
13
13
  * #RRGGBB 转为 RRGGBB
14
14
  */
15
15
  export declare function colorToHex(color: any): string | undefined;
16
+ /**
17
+ * 判断是否是合法的 Hex 格式颜色值
18
+ * @param color
19
+ * @returns
20
+ */
21
+ export declare function isValidHexColor(color: string): boolean;
@@ -1,5 +1,6 @@
1
1
  import { DocBlock, DocObject } from '../../../../@ones-editor/core';
2
2
  import { CalcCell } from './table';
3
+ import { CalcCol } from './layout';
3
4
  import { BlockObject, CodeObject, ExportState, GetDocByBlockFunc, GetTextsByBoxFunc, MD5Func } from './types';
4
5
  /**
5
6
  * 生成docx/html blocks的接口
@@ -20,6 +21,7 @@ export interface BlocksGenerator {
20
21
  addTableMatrix(colsWidth: number[], matrix: CalcCell[][], data: DocObject): Promise<void>;
21
22
  addVirtualBlock(blockId: string, data: DocObject, maxWidth: number): Promise<void>;
22
23
  addEmptyParagraph(): void;
24
+ addLayoutMatrix(colsWidth: number[], matrix: CalcCol[], data: DocObject): Promise<void>;
23
25
  }
24
26
  export declare function convertBlocksOfDoc(parent: string, // 父节点,暂时只有list block需要这个
25
27
  blocks: DocBlock[], data: DocObject, // 协作笔记里的block数组
@@ -0,0 +1,10 @@
1
+ import { DocBlock } from '../../../../@ones-editor/core';
2
+ export interface CalcCol {
3
+ cellId: string | undefined;
4
+ originalWidth: number;
5
+ width: number;
6
+ }
7
+ /**
8
+ * 处理分栏数据结构:实际就是一行多列的表格数据
9
+ */
10
+ export declare function buildLayoutMatrix(block: DocBlock, maxWidth: number): CalcCol[];
@@ -13,4 +13,5 @@ export declare class OnesEditorToc {
13
13
  private appendBlock;
14
14
  private findParent;
15
15
  static buildToc(editor: OnesEditor, doc: DocObject): OnesEditorToc;
16
+ static isTocContainer(editor: OnesEditor, containerID: string): boolean;
16
17
  }