@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
@@ -1,5 +1,5 @@
1
1
  import { BlockElement, OnesEditor } from '../../../../../../@ones-editor/core';
2
2
  import type { GetAllQuickMenuItemsOptions } from '../../../../../../@ones-editor/ui';
3
3
  import type { BlockMenuItem } from '../types';
4
- export declare function getAllInsertBlockItems(editor: OnesEditor, source: 'insert-block' | 'insert-block-before', options: GetAllQuickMenuItemsOptions): BlockMenuItem[];
4
+ export declare function getAllInsertBlockItems(editor: OnesEditor, block: BlockElement, source: 'insert-block' | 'insert-block-before', options: GetAllQuickMenuItemsOptions): BlockMenuItem[];
5
5
  export declare function executeInsertBlockCommand(editor: OnesEditor, block: BlockElement, item: BlockMenuItem, insertAbove?: boolean): Promise<BlockElement | null> | undefined;
@@ -1,2 +1,2 @@
1
1
  import { OnesEditor } from '../../../../../@ones-editor/core';
2
- export declare function elementToDataUrl(editor: OnesEditor, element: HTMLElement): Promise<string>;
2
+ export declare function elementToDataUrl(editor: OnesEditor, element: HTMLElement, marginIncluded?: boolean): Promise<string>;
@@ -1,19 +1,8 @@
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 {
1
+ import { OnesEditor } from '../../../../@ones-editor/core';
2
+ import OnesEditorBlockMenuButton from './menu-button';
3
+ export default class OnesEditorBlockMenuButtons {
5
4
  private editor;
6
- buttonElement: HTMLButtonElement;
7
- emptyBlockMenu: EmptyBlockMenu;
8
- blockMenu: BlockMenu;
9
- private dragHandler;
5
+ rootButton: OnesEditorBlockMenuButton;
10
6
  constructor(editor: OnesEditor);
11
7
  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;
19
8
  }
@@ -0,0 +1,23 @@
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 {
5
+ private editor;
6
+ buttonElement: HTMLButtonElement;
7
+ emptyBlockMenu: EmptyBlockMenu;
8
+ blockMenu: BlockMenu;
9
+ private dragHandler;
10
+ constructor(editor: OnesEditor);
11
+ destroy(): void;
12
+ handleHoverBlock: (hoverBlock: BlockElement | null, oldBlock: BlockElement | null, target: EventTarget | null, oldTarget: EventTarget | null) => void;
13
+ showRootButton(hoverBlock: BlockElement): void;
14
+ showParentButton(hoverBlock: BlockElement): boolean;
15
+ removeParentButton: () => void;
16
+ addButtonToView(block: BlockElement): void;
17
+ handleButtonClick: () => void;
18
+ updatePlaceholder: (block: BlockElement) => void;
19
+ handleChanged: () => void;
20
+ createButton(): HTMLButtonElement;
21
+ setButtonType(type: 'move' | 'insert'): void;
22
+ updateButton(block: BlockElement): void;
23
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "@ones-editor/callout-block",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "private": true,
6
+ "main": "./src/index.ts",
7
+ "devDependencies": {
8
+ "@types/lodash.isequal": "^4.5.7"
9
+ },
10
+ "types": "src/index.d.ts"
11
+ }
@@ -0,0 +1,3 @@
1
+ import type { OnesEditor, BlockPath, BlockElement } from '../../../../@ones-editor/core';
2
+ import type { DocCalloutBlockData } from './types';
3
+ export declare function createCalloutBlockContent(editor: OnesEditor, path: BlockPath, blockElement: BlockElement, blockData: DocCalloutBlockData): import("@ones-editor/core").BlockContentElement;
@@ -0,0 +1,2 @@
1
+ import { DocCalloutBlockData } from './types';
2
+ export declare function isCalloutBlockData(v: unknown): v is DocCalloutBlockData;
@@ -0,0 +1,3 @@
1
+ import type { ComplexKindBlock } from '../../../../@ones-editor/core';
2
+ declare const CalloutBlock: ComplexKindBlock;
3
+ export { CalloutBlock, };
@@ -0,0 +1,8 @@
1
+ import { BlockConverter, ConverterInterceptor } from '../../../../@ones-editor/input-handlers';
2
+ import { OnesEditor, BlockElement, OnesEditorCustom } from '../../../../@ones-editor/core';
3
+ export declare class CalloutConverterInterceptor implements ConverterInterceptor, OnesEditorCustom {
4
+ constructor(editor: OnesEditor);
5
+ handler(editor: OnesEditor, block: BlockElement, converter: BlockConverter): boolean;
6
+ destroy(): void;
7
+ static init(editor: OnesEditor): CalloutConverterInterceptor;
8
+ }
@@ -0,0 +1,11 @@
1
+ import type { OnesEditorInputHandler, OnesEditor, OnesEditorCustom, DocObject } from '../../../../@ones-editor/core';
2
+ export declare class CalloutInputHandler implements OnesEditorInputHandler, OnesEditorCustom {
3
+ constructor(editor: OnesEditor);
4
+ private pasteHasForbidden;
5
+ private handleBackspaceEvent;
6
+ handleBeforeKeyDown(editor: OnesEditor, event: KeyboardEvent): boolean;
7
+ handleBeforePasteDoc(editor: OnesEditor, doc: DocObject): Promise<boolean>;
8
+ handleAfterPaste(): Promise<boolean>;
9
+ destroy(): void;
10
+ static init(editor: OnesEditor): void;
11
+ }
@@ -0,0 +1,9 @@
1
+ import { OnesEditor, OnesEditorCustom } from '../../../../@ones-editor/core';
2
+ import { CalloutBlockPayload } from './types';
3
+ export declare class CalloutLastUpdateData implements OnesEditorCustom {
4
+ private lastCalloutBlockPayload;
5
+ get(): CalloutBlockPayload;
6
+ update(payload: Partial<CalloutBlockPayload>): void;
7
+ destroy(): void;
8
+ static init(editor: OnesEditor): CalloutLastUpdateData;
9
+ }
@@ -0,0 +1,2 @@
1
+ import { BlockOptions } from '../../../../@ones-editor/core';
2
+ export declare function getOptions(): BlockOptions;
@@ -0,0 +1,2 @@
1
+ import type { OnesEditor, BlockElement, BlockProperties } from '../../../../@ones-editor/core';
2
+ export declare function getBlockProperties(editor: OnesEditor, blockElement: BlockElement): BlockProperties;
@@ -0,0 +1,8 @@
1
+ import { OnesEditor, OnesEditorCustom } from '../../../../@ones-editor/core';
2
+ import type { QuickMenuItem, QuickMenuItemFilter } from '../../../../@ones-editor/ui';
3
+ export declare class CalloutQuickMenuItemFilter implements QuickMenuItemFilter, OnesEditorCustom {
4
+ constructor(editor: OnesEditor);
5
+ filter(editor: OnesEditor, items: QuickMenuItem[], from: string): QuickMenuItem[];
6
+ destroy(): void;
7
+ static init(editor: OnesEditor): CalloutQuickMenuItemFilter;
8
+ }
@@ -0,0 +1,22 @@
1
+ import { BlockElement, CommandItem, OnesEditor, OnesEditorCustom } from '../../../../../@ones-editor/core';
2
+ import { ColorPaletteItem } from '../../../../../@ones-editor/ui-base';
3
+ import { ColorId } from '../types';
4
+ export declare class BgColorItem implements CommandItem, OnesEditorCustom {
5
+ private editor;
6
+ id: string;
7
+ name: string;
8
+ manualShowChildren: boolean;
9
+ dropdown: boolean;
10
+ childrenPlacement: "bottom-start";
11
+ private bgColorButton;
12
+ bgColorPaletteItem: ColorPaletteItem;
13
+ element: HTMLButtonElement;
14
+ children: CommandItem[];
15
+ private constructor();
16
+ private createPaletteButton;
17
+ private getBgColorFromBlock;
18
+ updateButtonColor(bgColor: ColorId): void;
19
+ updateItem(block: BlockElement): void;
20
+ destroy(): void;
21
+ static get(editor: OnesEditor): BgColorItem;
22
+ }
@@ -0,0 +1,4 @@
1
+ import { BlockElement, CommandItem, OnesEditor } from '../../../../../@ones-editor/core';
2
+ export declare const EMPTY_ICON = "";
3
+ export declare function createDeleteIconItem(editor: OnesEditor, block: BlockElement): CommandItem;
4
+ export declare function updateDeleteIconStatus(editor: OnesEditor, block: BlockElement): void;
@@ -0,0 +1,16 @@
1
+ import { BlockElement, CommandItem, OnesEditor } from '../../../../../@ones-editor/core';
2
+ import { CalloutBlockPayload } from '../types';
3
+ export type PresetId = `preset-${0 | 1}`;
4
+ type Preset = CalloutBlockPayload & {
5
+ name: string;
6
+ };
7
+ export declare function isPresetId(id: string): id is PresetId;
8
+ export declare function getPresetId(id: PresetId): string;
9
+ export declare function getPreset(id: PresetId): Preset;
10
+ export declare function getPresetIcon(id: string): string;
11
+ export declare function getPresetPayload(presetId: PresetId): {
12
+ backgroundColor: number;
13
+ icon: "preset-0" | "preset-1";
14
+ };
15
+ export declare function createPresetItem(presetId: PresetId, editor: OnesEditor, block: BlockElement): CommandItem;
16
+ export {};
@@ -0,0 +1,3 @@
1
+ import { OnesEditor, DocBlock, DocObject, BlockPath } from '../../../../@ones-editor/core';
2
+ export declare function toStandardDoc(editor: OnesEditor, blockData: DocBlock, doc: DocObject): Promise<DocObject>;
3
+ export declare function convertTo(editor: OnesEditor, blockData: DocBlock, doc: DocObject, type: 'text' | 'html' | 'markdown', path: BlockPath): string;
@@ -0,0 +1,4 @@
1
+ import { DocBlock } from '../../../../@ones-editor/core';
2
+ import { ColorId } from './types';
3
+ export declare function checkBlockAllowInCallout(block: DocBlock): boolean;
4
+ export declare function getHexBackgroundColor(backgroundColor: ColorId): string;
@@ -0,0 +1 @@
1
+ export { CalloutBlock } from './callout-block';
@@ -0,0 +1,9 @@
1
+ import { DocBlock } from '../../../../@ones-editor/core';
2
+ export type ColorId = number;
3
+ export interface DocCalloutBlockData extends DocBlock {
4
+ type: 'callout';
5
+ icon: string;
6
+ backgroundColor: ColorId;
7
+ children: string[];
8
+ }
9
+ export type CalloutBlockPayload = Pick<DocCalloutBlockData, 'icon' | 'backgroundColor'>;
@@ -0,0 +1,3 @@
1
+ import './index.scss';
2
+ import './locale';
3
+ export { CalloutBlock } from './callout-block';
@@ -0,0 +1,12 @@
1
+ declare const _default: {
2
+ callout: {
3
+ name: string;
4
+ command: {
5
+ presetInfo: string;
6
+ presetAlert: string;
7
+ clearEmoji: string;
8
+ background: string;
9
+ };
10
+ };
11
+ };
12
+ export default _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ declare const _default: {
2
+ callout: {
3
+ name: string;
4
+ command: {
5
+ presetInfo: string;
6
+ presetAlert: string;
7
+ clearEmoji: string;
8
+ background: string;
9
+ };
10
+ };
11
+ };
12
+ export default _default;
@@ -0,0 +1,12 @@
1
+ declare const _default: {
2
+ callout: {
3
+ name: string;
4
+ command: {
5
+ presetInfo: string;
6
+ presetAlert: string;
7
+ clearEmoji: string;
8
+ background: string;
9
+ };
10
+ };
11
+ };
12
+ export default _default;
@@ -23,4 +23,5 @@ export default class ContextMenuCommandItems {
23
23
  private secureEnvTips;
24
24
  private isFocusImageBlock;
25
25
  private isFocusImageTypeEmbed;
26
+ private isEmptyImageTypeEmbed;
26
27
  }
@@ -1,9 +1,10 @@
1
- import { OnesEditor, BlockElement, BlockPosition, ConvertBlockResult, SelectionRange, BlockStyles } from '../../types';
1
+ import { OnesEditor, BlockElement, BlockPosition, ConvertBlockResult, SelectionRange, BlockStyles, ContainerElement } 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;
7
8
  export declare function getBlockMinWidth(editor: OnesEditor, block: BlockElement): number | undefined;
8
9
  export declare function handleBlockElementUpdated(editor: OnesEditor, block: BlockElement, data: DocBlock): void;
9
10
  export declare function convertBlockFrom(editor: OnesEditor, block: BlockElement, type: string, options: {
@@ -1,3 +1,4 @@
1
- import { OnesEditor } from '../../types';
1
+ import { ContainerBlockOverrideInsertEmptyBlockInsideOptions, OnesEditor } from '../../types';
2
+ export declare function getContainerBlockOverrideOptions(editor: OnesEditor, containerID: string, blockType?: string): ContainerBlockOverrideInsertEmptyBlockInsideOptions | undefined;
2
3
  export declare function insertEmptyEmbedBlock(editor: OnesEditor, embedType: string, containerId: string, blockIndex: number, data?: Record<string, unknown>): Promise<import("../../types").BlockElement | null>;
3
- export declare function insertEmptyBlock(editor: OnesEditor, type: string, containerId: string, blockIndex: number, data?: Record<string, unknown>): Promise<import("../../types").BlockElement | null> | null;
4
+ export declare function insertEmptyBlock(editor: OnesEditor, type: string, containerId: string, blockIndex: number, data?: Record<string, unknown>, item?: Record<string, unknown>): Promise<import("../../types").BlockElement | null> | null;
@@ -1,3 +1,4 @@
1
1
  import { BlockElement } from '../../../types';
2
+ export declare function isColumnsBlock(block: BlockElement): boolean;
2
3
  export declare function isEmbedBlock(block: BlockElement): boolean;
3
4
  export declare function getEmbedType(block: BlockElement): string;
@@ -1,3 +1,4 @@
1
1
  import EmbedBlock from './embed-block';
2
2
  export * from './common';
3
+ export * from './helper';
3
4
  export { EmbedBlock };
@@ -25,12 +25,12 @@ export declare class EditorInput implements OnesEditorInput {
25
25
  editor: OnesEditor;
26
26
  composing: boolean;
27
27
  callbacks: EditorInputCallbacks;
28
- inputElement: HTMLInputElement;
28
+ inputElement: HTMLTextAreaElement;
29
29
  constructor(editor: OnesEditor, callbacks: EditorInputCallbacks);
30
30
  private isInCommandBar;
31
31
  destroy(): void;
32
- getInput(): HTMLInputElement;
33
- focus(): void;
32
+ getInput(): HTMLTextAreaElement;
33
+ focus(options?: FocusOptions): void;
34
34
  isInDisableScrollMask(target: Node): boolean;
35
35
  handleWindowBlur: () => void;
36
36
  handleWindowFocus: () => void;
@@ -1,5 +1,8 @@
1
- import { BlockElement, ContainerElement } from '../types';
2
- export declare function getChildBlocks(container: ContainerElement): BlockElement[];
1
+ import { BlockElement, ContainerElement, OnesEditor } from '../types';
2
+ export declare function getChildBlocks(container: ContainerElement, traverseChild?: {
3
+ condition: (block: BlockElement) => boolean;
4
+ editor: OnesEditor;
5
+ }): BlockElement[];
3
6
  export declare function getFirstChildBlock(container: ContainerElement): BlockElement;
4
7
  export declare function getLastChildBlock(container: ContainerElement): BlockElement;
5
8
  export declare function getChildBlockCount(container: ContainerElement): number;
@@ -4,3 +4,4 @@ export declare function getContainerById(editor: OnesEditor, containerId: string
4
4
  export declare function getExistsContainerById(editor: OnesEditor, containerId: string): ContainerElement | null;
5
5
  export declare function getContainerBlocksElement(container: ContainerElement): ContainerBlocksElement;
6
6
  export declare function getContainerToolsElement(container: ContainerElement): ContainerToolsElement;
7
+ export declare function isContainerBlocksElement(element: Element): element is ContainerBlocksElement;
@@ -1,3 +1,3 @@
1
- import { DocBlock, OnesEditorDoc } from './doc';
2
- export declare function createContainer(doc: OnesEditorDoc, blocks: DocBlock[]): string;
1
+ import { DocBlock, DocObject, OnesEditorDoc } from './doc';
2
+ export declare function createContainer(doc: OnesEditorDoc, docsOrDocObject: DocBlock[] | DocObject): string;
3
3
  export declare function createEmptyContainer(doc: OnesEditorDoc, text?: string): string;
@@ -244,7 +244,7 @@ export interface OnesEditorDoc extends OnesEditorDocServer {
244
244
  recognizeLink?: (link: string) => Promise<RecognizeLinkResult>;
245
245
  beginBatchUpdate: () => number;
246
246
  endBatchUpdate: () => number;
247
- triggerReAuth?: () => void;
247
+ triggerReAuth?: (auto?: boolean) => void;
248
248
  }
249
249
  export interface OnesEditorDocHistoryData {
250
250
  user: {
@@ -1,4 +1,4 @@
1
1
  import { DocObject } from '../../../doc';
2
2
  import { BlockElement, CloneBlockResultInfo, ContainerElement, OnesEditor } from '../../../types';
3
3
  export declare function editorInsertDoc(editor: OnesEditor, block: BlockElement, offset: number, insertedDoc: DocObject, cloneDocResult?: CloneBlockResultInfo): void;
4
- export declare function editorInsertDocAt(editor: OnesEditor, container: ContainerElement, blockIndex: number, insertedDoc: DocObject, cloneDocResult?: CloneBlockResultInfo): BlockElement[];
4
+ export declare function editorInsertDocAt(editor: OnesEditor, container: ContainerElement, blockIndex: number, _docToInsert: DocObject, cloneDocResult?: CloneBlockResultInfo): BlockElement[];
@@ -42,7 +42,7 @@ export default class EditorDoc extends EventCallbacks<OnesEditorDocCallbacks> im
42
42
  broadcastMessage(data: unknown): void;
43
43
  getUser(): import("../doc").OnesEditorUser;
44
44
  getRemoteUsers(): import("../doc").OnesEditorRemoteUsers;
45
- triggerReAuth(): void | undefined;
45
+ triggerReAuth(auto?: boolean): void;
46
46
  destroy(): void;
47
47
  getServerMeta(): OnesEditorDocServerMeta;
48
48
  reset(doc: OnesEditorDoc): void;
@@ -1,2 +1,3 @@
1
+ import type { DocBlockDelta } from '../doc';
1
2
  import { OnesEditor } from '../types';
2
- export declare function onBlockDataChanged(editor: OnesEditor, containerId: string, blockIndex: number): void;
3
+ export declare function onBlockDataChanged(editor: OnesEditor, containerId: string, blockIndex: number, delta?: DocBlockDelta): void;
@@ -1,5 +1,5 @@
1
1
  import { TypedEmitter } from 'tiny-typed-emitter';
2
- import { DocBlock, DocBlockAttributes, DocBlocks, DocBlockText, DocBlockTextAttributes, DocBox, DocEmbedBlock, DocEmbedData, DocInsertion, DocObject, InsertBlockOptions, OnesEditorDoc, OnesEditorDocRange, UpdateBlockOptions } from './doc';
2
+ import { DocBlock, DocBlockAttributes, DocBlockDelta, DocBlocks, DocBlockText, DocBlockTextAttributes, DocBox, DocEmbedBlock, DocEmbedData, DocInsertion, DocObject, InsertBlockOptions, OnesEditorDoc, OnesEditorDocRange, UpdateBlockOptions } from './doc';
3
3
  export type ContainerElement = HTMLDivElement & {
4
4
  __neverUse: 'ContainerElement';
5
5
  };
@@ -87,6 +87,7 @@ export interface EmbedOptions {
87
87
  }
88
88
  export interface Embed {
89
89
  embedType: string;
90
+ adjustableMinHeight?: number;
90
91
  createEmbedContent: (editor: OnesEditor, content: BlockContentElement, block: DocEmbedBlock, path: BlockPath, container: ContainerElement, blockElement: BlockElement) => void;
91
92
  convertTo?: (editor: OnesEditor, blockData: DocEmbedBlock, doc: DocObject, type: 'text' | 'html' | 'markdown') => string;
92
93
  getBlockProperties?: (editor: OnesEditor, block: BlockElement) => BlockProperties;
@@ -94,7 +95,7 @@ export interface Embed {
94
95
  handleDeleteBlock?: (editor: OnesEditor, block: BlockElement, local: boolean, options: DeleteBlockEventOptions) => void;
95
96
  handleUpdateBlock?: (editor: OnesEditor, block: BlockElement, blockData: DocEmbedBlock) => boolean;
96
97
  handleDropOver?: (editor: OnesEditor, block: BlockElement, dragData: DragObject | DataTransferItemList | null, x: number, y: number) => DropInsertPos | undefined;
97
- handleDrop?: (editor: OnesEditor, block: BlockElement, dragData: DragObject | File[], insertPos: DropInsertPos, options: DropOptions) => boolean | undefined;
98
+ handleDrop?: (editor: OnesEditor, block: BlockElement, dragData: DragObject | File[], insertPos: DropInsertResolvedPos, options: DropOptions) => boolean | undefined;
98
99
  convertFrom?: (editor: OnesEditor, srcBlock: BlockElement, options: {
99
100
  offset: number;
100
101
  data?: DocBlockAttributes;
@@ -118,6 +119,7 @@ export interface Closeable {
118
119
  click: (item: CommandItem, target: HTMLElement) => void;
119
120
  }
120
121
  export type CommandItemChildrenPlacement = 'auto' | 'top' | 'left' | 'right' | 'bottom' | 'auto-start' | 'auto-end' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'right-start' | 'right-end' | 'left-start' | 'left-end';
122
+ export type CommandItemMenuType = 'inline' | 'sibling';
121
123
  export interface CommandItem {
122
124
  id: string;
123
125
  name: string;
@@ -147,6 +149,14 @@ export interface CommandItem {
147
149
  hideGroupItem?: boolean;
148
150
  setCloseable?: (closeable: Closeable) => void;
149
151
  beforePopup?: (parent: unknown) => void;
152
+ /**
153
+ * defaults to true
154
+ */
155
+ shouldShown?: (currentBlock: BlockElement | undefined, menuType: CommandItemMenuType) => boolean;
156
+ /**
157
+ * defaults to true
158
+ */
159
+ clickToClose?: boolean;
150
160
  }
151
161
  export interface BlockCommandItem extends CommandItem {
152
162
  blockId: string;
@@ -172,10 +182,47 @@ export interface BlockProperties {
172
182
  blockCommands?: Record<string, BlockCommands>;
173
183
  abstract?: string;
174
184
  }
185
+ export interface DropHandler {
186
+ handleDrop: (editor: OnesEditor, dragData: BlockElement | File[], targetContainer: ContainerElement, blockIndex: number) => boolean | undefined;
187
+ }
188
+ export interface CombineToCreateOptions {
189
+ /**
190
+ * @returns sideway: 两侧合并(左右 indicator)
191
+ *
192
+ * body: 中间合并(target block 激活)(暂未实现)
193
+ */
194
+ combinable: (editor: OnesEditor, source: BlockElement, target: BlockElement) => undefined | 'sideway' | 'body';
195
+ onCombine: (editor: OnesEditor, source: BlockElement, target: BlockElement, position: CombineDropInsertPos['pos'], dragObject: DragObject | null, handlers: DropHandler[]) => BlockElement | undefined;
196
+ }
197
+ export type ContainerBlockOverrideInsertEmptyBlockInsideOptionsDict = Record<string, ContainerBlockOverrideInsertEmptyBlockInsideOptions>;
198
+ export type ContainerBlockOverrideInsertEmptyBlockInsideOptions = {
199
+ item?: CommandItem;
200
+ data?: Record<string, unknown>;
201
+ };
175
202
  export interface BlockOptions {
176
203
  name: string;
177
204
  insertBlockCommandItems?: CommandItem[];
205
+ overrideInertEmptyBlockInsideOptions?: ContainerBlockOverrideInsertEmptyBlockInsideOptionsDict;
178
206
  handleInsertEmptyBlock?: (editor: OnesEditor, options: InsertEmptyBlockOptions) => Promise<BlockElement | null>;
207
+ isMenuButtonBaseContainer?: (container: ContainerElement) => boolean;
208
+ combineToCreate?: CombineToCreateOptions;
209
+ /**
210
+ * defaults to true.
211
+ *
212
+ * 'without-margin': include margin for dragging preview computing.
213
+ */
214
+ draggingPreview?: boolean | 'margin-included';
215
+ innerToc?: boolean;
216
+ blockMenu?: {
217
+ showComment?: boolean;
218
+ showLocker?: boolean;
219
+ };
220
+ findPreviewElement?: (editor: OnesEditor, complexBlock: BlockElement) => HTMLElement;
221
+ headingCollapsable?: boolean;
222
+ /**
223
+ * 拖拽时,是否显示缩略图容器自带的阴影,默认为 false
224
+ */
225
+ previewNoShadow?: boolean;
179
226
  }
180
227
  export interface StandardDragObject {
181
228
  type: 'block';
@@ -193,10 +240,18 @@ export interface CustomDragObject {
193
240
  }
194
241
  export type DragObject = StandardDragObject | CustomDragObject;
195
242
  export interface CustomDropInsertPos {
243
+ type: 'custom';
196
244
  rect: DOMRect;
197
245
  data: unknown;
246
+ targetBlock?: BlockElement;
198
247
  }
199
- export type DropInsertPos = 'before' | 'after' | CustomDropInsertPos;
248
+ export type CombineDropInsertPos = {
249
+ type: 'combine';
250
+ pos: 'left' | 'right';
251
+ onCombine: CombineToCreateOptions['onCombine'];
252
+ };
253
+ export type DropInsertPos = 'before' | 'after' | CombineDropInsertPos | CustomDropInsertPos | 'before-container' | 'after-container';
254
+ export type DropInsertResolvedPos = Exclude<DropInsertPos, 'before-container' | 'after-container'>;
200
255
  export interface DropOptions {
201
256
  isSourceBlock: boolean;
202
257
  targetBlock: BlockElement;
@@ -217,9 +272,9 @@ export interface Block {
217
272
  handleBlockElementUpdated?: (editor: OnesEditor, block: BlockElement, blockData: DocBlock) => void;
218
273
  handleContainerResized?: (editor: OnesEditor, block: BlockElement) => void;
219
274
  handleDeleteBlock?: (editor: OnesEditor, block: BlockElement, local: boolean, options: DeleteBlockEventOptions) => void;
220
- handleUpdateBlock?: (editor: OnesEditor, block: BlockElement, blockData: DocBlock) => boolean;
275
+ handleUpdateBlock?: (editor: OnesEditor, block: BlockElement, blockData: DocBlock, delta?: DocBlockDelta) => boolean;
221
276
  handleDropOver?: (editor: OnesEditor, block: BlockElement, dragData: DragObject | DataTransferItemList | null, x: number, y: number) => DropInsertPos | false | undefined;
222
- handleDrop?: (editor: OnesEditor, block: BlockElement, dragData: DragObject | File[], insertPos: DropInsertPos, options: DropOptions) => boolean | undefined;
277
+ handleDrop?: (editor: OnesEditor, block: BlockElement, dragData: DragObject | File[], insertPos: DropInsertResolvedPos, options: DropOptions) => boolean | ContainerElement | undefined;
223
278
  getClientRects?: (editor: OnesEditor, block: BlockElement, range: SelectionRange) => DOMRect[];
224
279
  getMinWidth?: (editor: OnesEditor, block: BlockElement) => number | undefined;
225
280
  convertFrom?: (editor: OnesEditor, srcBlock: BlockElement, options: {
@@ -230,7 +285,7 @@ export interface Block {
230
285
  convertTo?: (editor: OnesEditor, blockData: DocBlock, doc: DocObject, type: 'text' | 'html' | 'markdown', path: BlockPath) => string;
231
286
  toStandardDoc?: (editor: OnesEditor, blockData: DocBlock, doc: DocObject) => Promise<DocObject | undefined>;
232
287
  getBlockStyles?: (editor: OnesEditor, block: BlockElement) => BlockStyles;
233
- blockToDoc?: (srcDoc: DocObject, srcBlockData: DocBlock, childBlockConverter: (srcDoc: DocObject, srcBlockData: DocBlock) => DocObject) => DocObject;
288
+ blockToDoc?: (srcDoc: DocObject, srcBlockData: DocBlock, childBlockConverter: (srcDoc: DocObject, srcBlockData: DocBlock) => DocObject, cloneDocResult?: CloneBlockResultInfo) => DocObject;
234
289
  getResources?: (editor: OnesEditor, data: DocBlock) => string[] | null;
235
290
  replaceResources?: (data: DocBlock, resources: Map<string, string>) => void;
236
291
  }
@@ -258,6 +313,7 @@ export interface ComplexKindBlock extends Block {
258
313
  getTextToolbarReferenceClient?: (editor: OnesEditor, complexBlock: BlockElement) => DOMRect | undefined;
259
314
  isChildContainerVisible?: (editor: OnesEditor, complexBlock: BlockElement, childContainer: ContainerElement) => boolean;
260
315
  showChildContainer?: (editor: OnesEditor, complexBlock: BlockElement, childContainer: ContainerElement) => void;
316
+ beforeInsertDoc?: (editor: OnesEditor, container: ContainerElement, insertDoc: DocObject) => DocObject | undefined;
261
317
  }
262
318
  export interface SelectedBlock {
263
319
  block: BlockElement;
@@ -446,7 +502,7 @@ export declare class OnesEditorCustomDataWrapper<T> {
446
502
  getEditor(): OnesEditor;
447
503
  destroy(): void;
448
504
  }
449
- export type OnesEditorCustomCreator = (editor: OnesEditor) => OnesEditorCustom;
505
+ export type OnesEditorCustomCreator<T extends OnesEditorCustom = OnesEditorCustom> = (editor: OnesEditor) => T;
450
506
  export interface CloneBlockResultInfo {
451
507
  containerIdMap: Map<string, string>;
452
508
  blockIdMap: Map<string, string>;
@@ -487,7 +543,7 @@ export interface OnesEditor extends TypedEmitter<OnesEditorEvents> {
487
543
  readonly settingsProvider: OnesEditorSettingsProvider;
488
544
  version: string;
489
545
  readonly: boolean;
490
- addCustom: <T extends OnesEditorCustom>(name: string, creator: OnesEditorCustomCreator) => T;
546
+ addCustom: <T extends OnesEditorCustom>(name: string, creator: OnesEditorCustomCreator<T>) => T;
491
547
  getCustom: <T extends OnesEditorCustom>(name: string) => T;
492
548
  replaceCustom: <T extends OnesEditorCustom>(name: string, newCustom: T) => T;
493
549
  findCustom: <T extends OnesEditorCustom>(name: string) => T | null;
@@ -499,7 +555,7 @@ export interface OnesEditor extends TypedEmitter<OnesEditorEvents> {
499
555
  createBox: (blockContent: BlockContentElement, box: DocBox) => BoxElement;
500
556
  createInsertion: (blockContent: BlockContentElement, insertion: DocInsertion) => InsertionElement;
501
557
  destroy: () => void;
502
- focus: () => void;
558
+ focus: (options?: FocusOptions) => void;
503
559
  focusToBlock: (block: BlockElement, options?: {
504
560
  tryFocusToChildSimpleBlock?: boolean;
505
561
  }) => void;
@@ -583,7 +639,7 @@ export type PasteOptions = {
583
639
  toPlainText?: boolean;
584
640
  };
585
641
  export interface OnesEditorInput {
586
- readonly inputElement: HTMLInputElement;
642
+ readonly inputElement: HTMLTextAreaElement;
587
643
  destroy: () => void;
588
644
  focus: () => void;
589
645
  handleDocumentSelectionChange: () => void;
@@ -16,6 +16,8 @@ declare class UndoManager implements OnesEditorUndoManager, EditorDocLocalAction
16
16
  private endGroup;
17
17
  hasGroup(): boolean;
18
18
  runInGroup<T>(action: () => T): T;
19
+ private verifyPos;
20
+ private checkRange;
19
21
  undo(): boolean;
20
22
  redo(): boolean;
21
23
  canUndo(): boolean;
@@ -1,8 +1,9 @@
1
1
  import { TypedEmitter } from 'tiny-typed-emitter';
2
- import { TextBlockContentChild } from '../core/blocks/text-blocks/base/child';
2
+ import type { TextBlockContentChild } from '../core/blocks/text-blocks/base/child';
3
3
  import { BlockElement, OnesEditor, OnesEditorCustom } from '../core/types';
4
4
  export interface OnesEditorHoveringBlockEvents {
5
5
  change: (block: BlockElement | null, old: BlockElement | null, event: MouseEvent) => void;
6
+ targetChange: (block: BlockElement | null, old: BlockElement | null, target: EventTarget | null, oldTarget: EventTarget | null) => void;
6
7
  childChange: (block: BlockElement | null, child: TextBlockContentChild | null, old: TextBlockContentChild | null, event: MouseEvent) => void;
7
8
  }
8
9
  export interface OnesEditorHoveringBlockFilter extends OnesEditorCustom {
@@ -14,6 +15,7 @@ export interface OnesEditorHoveringBlockFinder extends OnesEditorCustom {
14
15
  export default class OnesEditorHoveringBlock extends TypedEmitter<OnesEditorHoveringBlockEvents> {
15
16
  private editor;
16
17
  private hoveringBlock;
18
+ private hoveringElem;
17
19
  private hoveringTextChild;
18
20
  private filters;
19
21
  private finders;
@@ -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;
@@ -14,6 +14,7 @@ declare const langs: {
14
14
  };
15
15
  common: {
16
16
  cancel: string;
17
+ downloadAsImage: string;
17
18
  };
18
19
  docx: {
19
20
  imageExportFailed: string;
@@ -33,6 +34,7 @@ declare const langs: {
33
34
  };
34
35
  common: {
35
36
  cancel: string;
37
+ downloadAsImage: string;
36
38
  };
37
39
  docx: {
38
40
  imageExportFailed: string;
@@ -52,6 +54,7 @@ declare const langs: {
52
54
  };
53
55
  common: {
54
56
  cancel: string;
57
+ downloadAsImage: string;
55
58
  };
56
59
  docx: {
57
60
  imageExportFailed: string;