@ones-editor/editor 1.1.20-beta.12 → 1.1.20-beta.14

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 (42) hide show
  1. package/@ones-editor/block-menu/src/block-menu-button/index.d.ts +15 -5
  2. package/@ones-editor/core/src/core/blocks/common/block-wrapper.d.ts +1 -2
  3. package/@ones-editor/core/src/core/composition/editor-input.d.ts +1 -0
  4. package/@ones-editor/core/src/core/containers/container.d.ts +1 -0
  5. package/@ones-editor/core/src/core/types.d.ts +2 -26
  6. package/@ones-editor/drop-target/src/drop-indicator.d.ts +2 -3
  7. package/@ones-editor/drop-target/src/drop-target.d.ts +1 -2
  8. package/@ones-editor/drop-target/src/find-drop-target.d.ts +1 -1
  9. package/@ones-editor/image-embed/src/drag-drop/handle-drop-over.d.ts +4 -1
  10. package/@ones-editor/image-embed/src/drag-drop/handle-drop.d.ts +0 -1
  11. package/@ones-editor/image-embed/src/image-object.d.ts +0 -1
  12. package/@ones-editor/image-embed/src/index.d.ts +1 -4
  13. package/@ones-editor/image-embed/src/types.d.ts +0 -1
  14. package/@ones-editor/to-docx/src/doc2other/core.d.ts +0 -2
  15. package/@ones-editor/tsconfig.tsbuildinfo +1 -1
  16. package/@ones-editor/ui/src/quick-menu/index.d.ts +0 -4
  17. package/@ones-editor/ui-base/src/icons/index.d.ts +1 -3
  18. package/@ones-editor/ui-base/src/popup/popup.d.ts +0 -1
  19. package/dist/index.js +202 -212
  20. package/package.json +1 -1
  21. package/@ones-editor/block-menu/src/block-menu-button/menu-button/index.d.ts +0 -32
  22. package/@ones-editor/image-embed/src/hovering-toolbar/index.d.ts +0 -22
  23. package/@ones-editor/layout-block/package.json +0 -8
  24. package/@ones-editor/layout-block/src/block-drop.d.ts +0 -3
  25. package/@ones-editor/layout-block/src/child-containers.d.ts +0 -3
  26. package/@ones-editor/layout-block/src/column-resizer/index.d.ts +0 -2
  27. package/@ones-editor/layout-block/src/columns-options.d.ts +0 -2
  28. package/@ones-editor/layout-block/src/constants.d.ts +0 -29
  29. package/@ones-editor/layout-block/src/index.d.ts +0 -4
  30. package/@ones-editor/layout-block/src/layout-creator/index.d.ts +0 -27
  31. package/@ones-editor/layout-block/src/layout-operations.d.ts +0 -11
  32. package/@ones-editor/layout-block/src/locale/en-us.d.ts +0 -8
  33. package/@ones-editor/layout-block/src/locale/index.d.ts +0 -1
  34. package/@ones-editor/layout-block/src/locale/ja-jp.d.ts +0 -8
  35. package/@ones-editor/layout-block/src/locale/zh-cn.d.ts +0 -8
  36. package/@ones-editor/layout-block/src/percent-bar.d.ts +0 -3
  37. package/@ones-editor/layout-block/src/selection.d.ts +0 -5
  38. package/@ones-editor/layout-block/src/toolbar.d.ts +0 -35
  39. package/@ones-editor/layout-block/src/types.d.ts +0 -31
  40. package/@ones-editor/layout-block/src/utils.d.ts +0 -2
  41. package/@ones-editor/media-embed/src/core/hovering-toolbar/index.d.ts +0 -22
  42. package/@ones-editor/to-docx/src/doc2other/layout.d.ts +0 -10
@@ -1,9 +1,19 @@
1
- import { OnesEditor } from '../../../../@ones-editor/core';
2
- import OnesEditorBlockMenuButton from './menu-button';
3
- export default class OnesEditorBlockMenuButtons {
1
+ import { BlockElement, OnesEditor } from '../../../../@ones-editor/core';
2
+ import EmptyBlockMenu from '../empty-block-menu';
3
+ import BlockMenu from '../block-menu';
4
+ export default class OnesEditorBlockMenuButton {
4
5
  private editor;
5
- rootButton: OnesEditorBlockMenuButton;
6
- private parentButton;
6
+ buttonElement: HTMLButtonElement;
7
+ emptyBlockMenu: EmptyBlockMenu;
8
+ blockMenu: BlockMenu;
9
+ private dragHandler;
7
10
  constructor(editor: OnesEditor);
8
11
  destroy(): void;
12
+ handleHoverBlock: (hoverBlock: BlockElement | null, oldBlock: BlockElement | null, event: MouseEvent) => void;
13
+ handleButtonClick: () => void;
14
+ updatePlaceholder: (block: BlockElement) => void;
15
+ handleChanged: () => void;
16
+ createButton(): HTMLButtonElement;
17
+ setButtonType(type: 'move' | 'insert'): void;
18
+ updateButton(block: BlockElement): void;
9
19
  }
@@ -1,10 +1,9 @@
1
- import { OnesEditor, BlockElement, BlockPosition, ConvertBlockResult, SelectionRange, BlockStyles, ContainerElement } from '../../types';
1
+ import { OnesEditor, BlockElement, BlockPosition, ConvertBlockResult, SelectionRange, BlockStyles } from '../../types';
2
2
  import { DocBlock, DocBlockAttributes } from '../../doc';
3
3
  export declare function getBlockTextLength(editor: OnesEditor, block: BlockElement): number;
4
4
  export declare function clearAllSelection(editor: OnesEditor): void;
5
5
  export declare function updateBlockSelection(editor: OnesEditor, block: BlockElement, from: BlockPosition, to: BlockPosition): void;
6
6
  export declare function getRootBlock(block: BlockElement): BlockElement;
7
- export declare function getClosestContainerByCondition(_block: BlockElement, condition: (container: ContainerElement) => boolean): BlockElement | undefined;
8
7
  export declare function getBlockMinWidth(editor: OnesEditor, block: BlockElement): number | undefined;
9
8
  export declare function handleBlockElementUpdated(editor: OnesEditor, block: BlockElement, data: DocBlock): void;
10
9
  export declare function convertBlockFrom(editor: OnesEditor, block: BlockElement, type: string, options: {
@@ -33,6 +33,7 @@ export declare class EditorInput implements OnesEditorInput {
33
33
  focus(): void;
34
34
  isInDisableScrollMask(target: HTMLElement): boolean;
35
35
  handleWindowBlur: () => void;
36
+ handleWindowFocus: () => void;
36
37
  handleDocumentClick: (event: MouseEvent) => void;
37
38
  handleDocumentSelectionChange: () => void;
38
39
  handleEditorSelectionChanged: () => void;
@@ -5,3 +5,4 @@ export declare function isRootContainer(container: ContainerElement): boolean;
5
5
  export declare function isChildContainer(container: ContainerElement): boolean;
6
6
  export declare function getContainerId(container: ContainerElement): string;
7
7
  export declare function getContainerBlocks(container: ContainerElement, doc: OnesEditorDoc): DocBlock[];
8
+ export declare function generateEditorContainerId(containerId: string): string;
@@ -109,7 +109,6 @@ export interface ConvertBlockResult {
109
109
  }
110
110
  export interface DeleteBlockEventOptions {
111
111
  child: boolean;
112
- data?: unknown;
113
112
  }
114
113
  export type CommandItemType = 'normal' | 'separator' | 'section';
115
114
  export type CommandItemState = 'disabled' | 'checked' | 'selected';
@@ -148,7 +147,6 @@ export interface CommandItem {
148
147
  hideGroupItem?: boolean;
149
148
  setCloseable?: (closeable: Closeable) => void;
150
149
  beforePopup?: (parent: unknown) => void;
151
- shouldShown?: (currentBlock: BlockElement) => boolean;
152
150
  }
153
151
  export interface BlockCommandItem extends CommandItem {
154
152
  blockId: string;
@@ -174,25 +172,10 @@ export interface BlockProperties {
174
172
  blockCommands?: Record<string, BlockCommands>;
175
173
  abstract?: string;
176
174
  }
177
- export interface CombineToCreateOptions {
178
- /**
179
- * @returns sideway 两侧合并(左右 indicator),body 中间合并(target block 激活)(暂未实现)
180
- */
181
- combinable: (source: BlockElement, target: BlockElement) => undefined | 'sideway' | 'body';
182
- onCombine: (editor: OnesEditor, source: BlockElement, target: BlockElement, position: CombineDropInsertPos['pos'], dragObject: DragObject | null) => BlockElement | undefined;
183
- }
184
175
  export interface BlockOptions {
185
176
  name: string;
186
177
  insertBlockCommandItems?: CommandItem[];
187
178
  handleInsertEmptyBlock?: (editor: OnesEditor, options: InsertEmptyBlockOptions) => Promise<BlockElement | null>;
188
- /**
189
- * 当前 hover 的元素是否可以展示左侧更多按钮
190
- * @param editor 编辑器实例
191
- * @param hoverBlock hover 元素
192
- * @returns true -> 展示,false -> 不展示
193
- */
194
- isMenuButtonBaseContainer?: (container: ContainerElement) => boolean;
195
- combineToCreate?: CombineToCreateOptions;
196
179
  }
197
180
  export interface StandardDragObject {
198
181
  type: 'block';
@@ -210,17 +193,10 @@ export interface CustomDragObject {
210
193
  }
211
194
  export type DragObject = StandardDragObject | CustomDragObject;
212
195
  export interface CustomDropInsertPos {
213
- type: 'custom';
214
196
  rect: DOMRect;
215
197
  data: unknown;
216
- targetBlock?: BlockElement;
217
198
  }
218
- export type CombineDropInsertPos = {
219
- type: 'combine';
220
- pos: 'left' | 'right';
221
- onCombine: CombineToCreateOptions['onCombine'];
222
- };
223
- export type DropInsertPos = 'before' | 'after' | CombineDropInsertPos | CustomDropInsertPos;
199
+ export type DropInsertPos = 'before' | 'after' | CustomDropInsertPos;
224
200
  export interface DropOptions {
225
201
  isSourceBlock: boolean;
226
202
  targetBlock: BlockElement;
@@ -550,7 +526,7 @@ export interface OnesEditor extends TypedEmitter<OnesEditorEvents> {
550
526
  clearSelectedContents: () => void;
551
527
  insertBlock: (containerId: string, blockIndex: number, blockData: DocBlock, newRange?: OnesEditorDocRange, options?: InsertBlockOptions) => BlockElement;
552
528
  insertEmbed: (containerId: string, blockIndex: number, embedType: string, embedData: DocEmbedData, newRange?: OnesEditorDocRange, attributes?: DocBlockAttributes) => BlockElement;
553
- deleteBlock: (block: BlockElement, newRange?: OnesEditorDocRange, data?: unknown) => void;
529
+ deleteBlock: (block: BlockElement, newRange?: OnesEditorDocRange) => void;
554
530
  getTextPosition: () => BlockTextPosition;
555
531
  getBlockString: (block: BlockElement, options?: {
556
532
  boxReplacement: string;
@@ -1,4 +1,4 @@
1
- import { BlockContentElement, BlockElement, DropInsertPos, OnesEditor } from '../../../@ones-editor/core';
1
+ import { BlockElement, DropInsertPos, OnesEditor } from '../../../@ones-editor/core';
2
2
  export declare const INDICATOR_SIZE = 2;
3
3
  interface DropTarget {
4
4
  block: BlockElement;
@@ -9,10 +9,9 @@ export default class DropIndicator {
9
9
  private indicator;
10
10
  target: DropTarget | null;
11
11
  constructor(editor: OnesEditor);
12
- createIndicator(): void;
13
12
  show(block: BlockElement, insertPos: DropInsertPos): void;
14
13
  hide(): void;
15
14
  private getIndicatorRect;
16
- getViewRect(block: BlockElement | BlockContentElement): DOMRect;
15
+ getViewRect(block: BlockElement): DOMRect;
17
16
  }
18
17
  export {};
@@ -1,4 +1,4 @@
1
- import { BlockElement, CombineToCreateOptions, ContainerElement, OnesEditor } from '../../../@ones-editor/core';
1
+ import { BlockElement, 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,7 +12,6 @@ export default class OnesEditorDropTarget {
12
12
  dropEffect: 'move' | 'none';
13
13
  } | undefined;
14
14
  handlers: DropHandler[];
15
- combineToCreate: CombineToCreateOptions[];
16
15
  constructor(editor: OnesEditor);
17
16
  destroy(): void;
18
17
  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,4 +1,7 @@
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): ImageDragInsertPos;
3
+ export declare function getDragInsertPos(editor: OnesEditor, block: BlockElement, images: HTMLElement[], x: number, y?: number): {
4
+ rect: DOMRect;
5
+ data: number;
6
+ };
4
7
  export declare function handleDropOver(editor: OnesEditor, block: BlockElement, dragObject: DragObject | DataTransferItemList | null, x: number, y: number): ImageDragInsertPos | undefined;
@@ -1,3 +1,2 @@
1
1
  import { BlockElement, DragObject, DropInsertPos, DropOptions, OnesEditor } from '../../../../@ones-editor/core';
2
- export declare function deleteImageFromBlock(editor: OnesEditor, block: BlockElement, index: number): void;
3
2
  export declare function handleDrop(editor: OnesEditor, block: BlockElement, dragData: DragObject | File[], insertPos: DropInsertPos, options: DropOptions): boolean | undefined;
@@ -10,7 +10,6 @@ export declare class ImageObject implements ImageObjectBase {
10
10
  private resizing;
11
11
  private parentContainerResizerObserver;
12
12
  private autoFix;
13
- focusTimes: number;
14
13
  constructor(editor: OnesEditor, blockData: DocEmbedBlock);
15
14
  destroy(): void;
16
15
  setAutoFix(autoFix: boolean): void;
@@ -1,15 +1,12 @@
1
1
  import { Embed } from '../../../@ones-editor/core';
2
- import { toImageEmbedData } from './image-data';
3
2
  import { ImageObject } from './image-object';
4
3
  import './image-embed-style.scss';
5
- import { deleteImageFromBlock } from './drag-drop/handle-drop';
6
4
  import './locale';
7
5
  import { getImageContainersByBlock } from './image-dom/helper';
8
6
  import EmptyImageConverterInputHandler from './empty-image-converter';
9
7
  import { ImagePasteHandler } from './paste-handler';
10
- import type { ImageDragObject } from './drag-drop/types';
11
8
  export * from './shortcuts';
12
9
  export * from './types';
13
- export { ImageObject, ImagePasteHandler, getImageContainersByBlock, toImageEmbedData, deleteImageFromBlock, ImageDragObject };
10
+ export { ImageObject, ImagePasteHandler, getImageContainersByBlock };
14
11
  declare const ImageEmbed: Embed;
15
12
  export { ImageEmbed, EmptyImageConverterInputHandler };
@@ -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,6 +1,5 @@
1
1
  import { DocBlock, DocObject } from '../../../../@ones-editor/core';
2
2
  import { CalcCell } from './table';
3
- import { CalcCol } from './layout';
4
3
  import { BlockObject, CodeObject, ExportState, GetDocByBlockFunc, GetTextsByBoxFunc, MD5Func } from './types';
5
4
  /**
6
5
  * 生成docx/html blocks的接口
@@ -21,7 +20,6 @@ export interface BlocksGenerator {
21
20
  addTableMatrix(colsWidth: number[], matrix: CalcCell[][], data: DocObject): Promise<void>;
22
21
  addVirtualBlock(blockId: string, data: DocObject, maxWidth: number): Promise<void>;
23
22
  addEmptyParagraph(): void;
24
- addLayoutMatrix(colsWidth: number[], matrix: CalcCol[], data: DocObject): Promise<void>;
25
23
  }
26
24
  export declare function convertBlocksOfDoc(parent: string, // 父节点,暂时只有list block需要这个
27
25
  blocks: DocBlock[], data: DocObject, // 协作笔记里的block数组