@ones-editor/editor 0.0.3-beta.7 → 0.0.3-beta.71

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 (207) hide show
  1. package/@ones-editor/auto-link/package.json +8 -0
  2. package/@ones-editor/auto-link/src/index.d.ts +3 -0
  3. package/@ones-editor/block-locker/src/hook.d.ts +1 -0
  4. package/@ones-editor/block-locker/src/i18n/en-US.d.ts +8 -0
  5. package/@ones-editor/block-locker/src/i18n/index.d.ts +1 -0
  6. package/@ones-editor/block-locker/src/i18n/zh-CN.d.ts +8 -0
  7. package/@ones-editor/block-locker/src/index.d.ts +4 -1
  8. package/@ones-editor/block-locker/src/paste-handler.d.ts +4 -0
  9. package/@ones-editor/block-menu/src/block-menu/items/block-command-items.d.ts +1 -1
  10. package/@ones-editor/block-menu/src/block-menu/items/insert-block-items/index.d.ts +1 -1
  11. package/@ones-editor/block-menu/src/block-menu-button/drag-drop/find-preview-element.d.ts +1 -1
  12. package/@ones-editor/block-menu/src/block-menu-button/drag-preview/index.d.ts +1 -1
  13. package/@ones-editor/code-block/src/code-block/caption/caption-input-handler.d.ts +2 -2
  14. package/@ones-editor/code-block/src/code-block/child-container.d.ts +2 -2
  15. package/@ones-editor/code-block/src/code-block/code-caret.d.ts +7 -0
  16. package/@ones-editor/code-block/src/code-block/code-copy.d.ts +4 -0
  17. package/@ones-editor/code-block/src/code-block/create-empty-code.d.ts +2 -2
  18. package/@ones-editor/code-block/src/code-block/index.d.ts +3 -1
  19. package/@ones-editor/code-block/src/code-block/settings/index.d.ts +3 -0
  20. package/@ones-editor/comments/src/actions/add-comment-to-block.d.ts +3 -2
  21. package/@ones-editor/comments/src/actions/add-comment-to-text-block.d.ts +2 -1
  22. package/@ones-editor/comments/src/actions/editor-add-comment.d.ts +2 -0
  23. package/@ones-editor/comments/src/comment-item/comment-item.d.ts +1 -0
  24. package/@ones-editor/comments/src/comments/comments.d.ts +5 -4
  25. package/@ones-editor/comments/src/comments-helper/utils.d.ts +1 -1
  26. package/@ones-editor/comments/src/comments-list/arrange-items.d.ts +1 -1
  27. package/@ones-editor/comments/src/comments-list/comments-list.d.ts +2 -10
  28. package/@ones-editor/comments/src/comments-list/group-item.d.ts +1 -0
  29. package/@ones-editor/comments/src/comments-list/group-list.d.ts +1 -1
  30. package/@ones-editor/comments/src/comments-list/mini-comment/mini-comments-list.d.ts +1 -4
  31. package/@ones-editor/comments/src/comments-list/mobile-comments-list/mobile-comments-list.d.ts +2 -2
  32. package/@ones-editor/comments/src/index.d.ts +1 -0
  33. package/@ones-editor/comments/src/types.d.ts +11 -4
  34. package/@ones-editor/core/src/core/blocks/block-anchor/create-block-anchor.d.ts +1 -0
  35. package/@ones-editor/core/src/core/blocks/common/block-dom.d.ts +1 -0
  36. package/@ones-editor/core/src/core/blocks/text-blocks/index.d.ts +1 -0
  37. package/@ones-editor/core/src/core/blocks/text-blocks/text-block/to-markdown.d.ts +3 -0
  38. package/@ones-editor/core/src/core/blocks/text-blocks/text-block/to-plain-html.d.ts +3 -0
  39. package/@ones-editor/core/src/core/blocks/text-blocks/text-block/to-plain-text.d.ts +3 -0
  40. package/@ones-editor/core/src/core/composition/clipboard/copy.d.ts +3 -2
  41. package/@ones-editor/core/src/core/composition/editor-input.d.ts +3 -0
  42. package/@ones-editor/core/src/core/composition/index.d.ts +1 -1
  43. package/@ones-editor/core/src/core/converter/block-to-html.d.ts +2 -2
  44. package/@ones-editor/core/src/core/converter/block-to-markdown.d.ts +2 -2
  45. package/@ones-editor/core/src/core/converter/block-to-text.d.ts +2 -2
  46. package/@ones-editor/core/src/core/doc/doc.d.ts +6 -2
  47. package/@ones-editor/core/src/core/doc/to-plain-text.d.ts +1 -0
  48. package/@ones-editor/core/src/core/editor/actions/auto-insert-block.d.ts +2 -2
  49. package/@ones-editor/core/src/core/editor/actions/break-text-block.d.ts +2 -0
  50. package/@ones-editor/core/src/core/editor/actions/delete-block-text.d.ts +2 -2
  51. package/@ones-editor/core/src/core/editor/actions/focus-to-end.d.ts +0 -1
  52. package/@ones-editor/core/src/core/editor/actions/insert-block.d.ts +2 -2
  53. package/@ones-editor/core/src/core/editor/actions/insert-text.d.ts +2 -2
  54. package/@ones-editor/core/src/core/editor-doc/editor-doc.d.ts +5 -3
  55. package/@ones-editor/core/src/core/index.d.ts +1 -0
  56. package/@ones-editor/core/src/core/input-handler/input-handler.d.ts +3 -0
  57. package/@ones-editor/core/src/core/input-handler/remove-quoted.d.ts +2 -0
  58. package/@ones-editor/core/src/core/selection/actions/index.d.ts +2 -2
  59. package/@ones-editor/core/src/core/selection/actions/select-all.d.ts +3 -1
  60. package/@ones-editor/core/src/core/selection/actions/select-block.d.ts +2 -0
  61. package/@ones-editor/core/src/core/selection/actions/word-offset.d.ts +1 -1
  62. package/@ones-editor/core/src/core/selection/editor-selection.d.ts +3 -2
  63. package/@ones-editor/core/src/core/selection/index.d.ts +1 -0
  64. package/@ones-editor/core/src/core/selection/range/simple-range.d.ts +2 -1
  65. package/@ones-editor/core/src/core/settings/index.d.ts +3 -3
  66. package/@ones-editor/core/src/core/types.d.ts +29 -18
  67. package/@ones-editor/core/src/i18n/i18n.d.ts +36 -0
  68. package/@ones-editor/core/src/local-doc/index.d.ts +6 -2
  69. package/@ones-editor/core/src/utils/dom-scroll.d.ts +3 -1
  70. package/@ones-editor/core/src/utils/dom.d.ts +2 -0
  71. package/@ones-editor/core/src/utils/file.d.ts +1 -0
  72. package/@ones-editor/core/src/utils/logger/index.d.ts +9 -0
  73. package/@ones-editor/drawio-embed/src/helper/index.d.ts +3 -3
  74. package/@ones-editor/drawio-embed/types/index.d.ts +2 -2
  75. package/@ones-editor/drop-target/src/drop-indicator.d.ts +1 -0
  76. package/@ones-editor/drop-target/src/drop-target.d.ts +1 -1
  77. package/@ones-editor/drop-target/src/handlers/drag-file.d.ts +8 -0
  78. package/@ones-editor/e2e/cypress/support/commands.d.ts +6 -0
  79. package/@ones-editor/e2e/src/block-menu/case.d.ts +17 -0
  80. package/@ones-editor/e2e/src/block-menu/menu.cy.d.ts +1 -0
  81. package/@ones-editor/e2e/src/data.d.ts +32 -7
  82. package/@ones-editor/embed-block-helper/src/block-properties/embed-block-properties.d.ts +2 -1
  83. package/@ones-editor/exclusive-block/package.json +6 -0
  84. package/@ones-editor/exclusive-block/src/exclusive-block-hook.d.ts +6 -0
  85. package/@ones-editor/exclusive-block/src/exclusive-block.d.ts +22 -0
  86. package/@ones-editor/exclusive-block/src/exclusive-dom.d.ts +5 -0
  87. package/@ones-editor/exclusive-block/src/handle-remote-exclusive-message.d.ts +3 -0
  88. package/@ones-editor/exclusive-block/src/index.d.ts +5 -0
  89. package/@ones-editor/exclusive-block/src/types.d.ts +7 -0
  90. package/@ones-editor/graph-embed/src/helper/graph-base.d.ts +3 -2
  91. package/@ones-editor/graph-embed/src/helper/graph-block-commands.d.ts +3 -2
  92. package/@ones-editor/heading-collapse/src/heading-collapse-button/drop-handler.d.ts +1 -1
  93. package/@ones-editor/image-embed/package.json +2 -1
  94. package/@ones-editor/image-embed/src/drag-drop/drag-handler.d.ts +4 -0
  95. package/@ones-editor/image-embed/src/drag-drop/handle-drop-over.d.ts +5 -1
  96. package/@ones-editor/image-embed/src/drag-drop/handle-drop.d.ts +1 -1
  97. package/@ones-editor/image-embed/src/empty-image-converter.d.ts +5 -0
  98. package/@ones-editor/image-embed/src/index.d.ts +2 -1
  99. package/@ones-editor/input-handlers/src/enforce-with-document-title/types.d.ts +1 -0
  100. package/@ones-editor/input-handlers/src/i18n/en-us.d.ts +1 -0
  101. package/@ones-editor/input-handlers/src/i18n/zh-cn.d.ts +1 -0
  102. package/@ones-editor/input-handlers/src/markdown-shortcuts/table-converter.d.ts +2 -0
  103. package/@ones-editor/list-block/src/converter/convert-list-to.d.ts +2 -0
  104. package/@ones-editor/list-block/src/converter/convert-to-list.d.ts +14 -0
  105. package/@ones-editor/list-block/src/converter/index.d.ts +2 -14
  106. package/@ones-editor/list-block/src/drop/index.d.ts +1 -1
  107. package/@ones-editor/list-block/src/index.d.ts +3 -2
  108. package/@ones-editor/list-block/src/level/change-multi-levels.d.ts +2 -0
  109. package/@ones-editor/list-block/src/level/decrease-level.d.ts +1 -0
  110. package/@ones-editor/list-block/src/mindmap/index.d.ts +1 -1
  111. package/@ones-editor/list-block/src/mindmap/to-mindmap/index.d.ts +1 -1
  112. package/@ones-editor/list-block/src/types.d.ts +2 -1
  113. package/@ones-editor/list-block/src/utils/list-brother.d.ts +3 -1
  114. package/@ones-editor/markdown-to-doc/src/markdown-to-doc.d.ts +1 -0
  115. package/@ones-editor/markdown-to-doc/src/tokens/block-tokens/latex.d.ts +4 -0
  116. package/@ones-editor/markdown-to-doc/src/tokens/block-tokens/paragraph.d.ts +1 -0
  117. package/@ones-editor/mathjax/package.json +3 -0
  118. package/@ones-editor/mathjax/src/index.d.ts +2 -1
  119. package/@ones-editor/mathjax/src/mathjax-box/convert-mathjax.d.ts +5 -0
  120. package/@ones-editor/mathjax/src/mathjax-box/mathjax-editor.d.ts +2 -2
  121. package/@ones-editor/media-embed/src/core/media-embed.d.ts +3 -1
  122. package/@ones-editor/mention/src/block-mention.d.ts +1 -1
  123. package/@ones-editor/mention/src/dom/mention-button.d.ts +1 -1
  124. package/@ones-editor/mention/src/mention.d.ts +1 -0
  125. package/@ones-editor/mobile-helper/package.json +9 -0
  126. package/@ones-editor/mobile-helper/src/index.d.ts +11 -0
  127. package/@ones-editor/paste-handler/src/paste-handler.d.ts +1 -1
  128. package/@ones-editor/paste-special/src/paste-special-handler.d.ts +2 -2
  129. package/@ones-editor/scroll-container/src/dom-utils.d.ts +9 -0
  130. package/@ones-editor/scroll-container/src/index.d.ts +8 -18
  131. package/@ones-editor/scroll-container/src/observer/container-resize-observer.d.ts +2 -1
  132. package/@ones-editor/scroll-container/src/observer/locating-resize-observer.d.ts +13 -0
  133. package/@ones-editor/scroll-container/src/scroll-listener.d.ts +3 -0
  134. package/@ones-editor/scroll-container/src/types.d.ts +1 -0
  135. package/@ones-editor/sharedb-doc/src/doc/auth-connection.d.ts +3 -3
  136. package/@ones-editor/sharedb-doc/src/doc/sharedb-client.d.ts +3 -3
  137. package/@ones-editor/sharedb-doc/src/doc/sharedb-doc.d.ts +6 -1
  138. package/@ones-editor/sharedb-doc/src/index.d.ts +1 -0
  139. package/@ones-editor/sharedb-doc/src/types.d.ts +3 -2
  140. package/@ones-editor/table-block/src/constant/index.d.ts +1 -0
  141. package/@ones-editor/table-block/src/locale/en-us.d.ts +5 -0
  142. package/@ones-editor/table-block/src/locale/zh-cn.d.ts +5 -0
  143. package/@ones-editor/table-block/src/table-block/border-bar/table-row-column-toolbar.d.ts +1 -0
  144. package/@ones-editor/table-block/src/table-block/convert-table-to.d.ts +2 -0
  145. package/@ones-editor/table-block/src/table-block/doc-table-data.d.ts +1 -1
  146. package/@ones-editor/table-block/src/table-block/selection-range.d.ts +2 -1
  147. package/@ones-editor/table-block/src/table-block/table-creator/index.d.ts +1 -1
  148. package/@ones-editor/table-block/src/table-block/table-resize/resize-gripper.d.ts +1 -1
  149. package/@ones-editor/table-block/src/table-block/table-scroll-events.d.ts +1 -0
  150. package/@ones-editor/table-block/src/types.d.ts +2 -0
  151. package/@ones-editor/templates/package.json +9 -0
  152. package/@ones-editor/templates/src/index.d.ts +4 -0
  153. package/@ones-editor/templates/src/locale/en-us.d.ts +9 -0
  154. package/@ones-editor/templates/src/locale/index.d.ts +1 -0
  155. package/@ones-editor/templates/src/locale/zh-cn.d.ts +9 -0
  156. package/@ones-editor/templates/src/templates/select-template.d.ts +7 -0
  157. package/@ones-editor/templates/src/templates/types.d.ts +14 -0
  158. package/@ones-editor/text-commands/src/locale/en-us.d.ts +1 -0
  159. package/@ones-editor/text-commands/src/locale/zh-cn.d.ts +1 -0
  160. package/@ones-editor/text-commands/src/text-command-provider.d.ts +1 -0
  161. package/@ones-editor/toc/src/heading-scroll/index.d.ts +22 -0
  162. package/@ones-editor/toc/src/heading-scroll/utils.d.ts +7 -0
  163. package/@ones-editor/toc/src/index.d.ts +1 -0
  164. package/@ones-editor/tsconfig.tsbuildinfo +1 -1
  165. package/@ones-editor/ui/src/index.d.ts +3 -3
  166. package/@ones-editor/ui/src/locale/en-us.d.ts +2 -0
  167. package/@ones-editor/ui/src/locale/zh-cn.d.ts +2 -0
  168. package/@ones-editor/ui/src/quick-menu/basic-commands.d.ts +5 -0
  169. package/@ones-editor/ui/src/quick-menu/basic-menu-items.d.ts +10 -10
  170. package/@ones-editor/ui/src/quick-menu/index.d.ts +6 -0
  171. package/@ones-editor/ui/src/quick-menu/inline-box-items.d.ts +8 -14
  172. package/@ones-editor/ui/src/toolbar/box-only.d.ts +2 -0
  173. package/@ones-editor/ui/src/toolbar/commands/paragraph.d.ts +1 -0
  174. package/@ones-editor/ui/src/toolbar/toolbar-handler.d.ts +3 -1
  175. package/@ones-editor/ui/src/tooltips/index.d.ts +4 -0
  176. package/@ones-editor/ui-base/src/auto-suggest/auto-suggest-menu.d.ts +2 -1
  177. package/@ones-editor/ui-base/src/auto-suggest/auto-suggest.d.ts +4 -1
  178. package/@ones-editor/ui-base/src/auto-suggest/index.d.ts +2 -1
  179. package/@ones-editor/ui-base/src/auto-suggest/should-focus-to-editor.d.ts +2 -0
  180. package/@ones-editor/ui-base/src/command-bar/command-bar.d.ts +4 -1
  181. package/@ones-editor/ui-base/src/command-bar/types.d.ts +6 -0
  182. package/@ones-editor/ui-base/src/dialog/index.d.ts +1 -0
  183. package/@ones-editor/ui-base/src/dialog/manual-close-dialog.d.ts +1 -1
  184. package/@ones-editor/ui-base/src/dialog/types.d.ts +4 -0
  185. package/@ones-editor/ui-base/src/index.d.ts +1 -0
  186. package/@ones-editor/ui-base/src/input/create-input.d.ts +1 -0
  187. package/@ones-editor/ui-base/src/item-shortcuts/index.d.ts +1 -0
  188. package/@ones-editor/ui-base/src/list/drop-down-filterable-list.d.ts +2 -2
  189. package/@ones-editor/ui-base/src/locale/en-us.d.ts +1 -0
  190. package/@ones-editor/ui-base/src/locale/zh-cn.d.ts +1 -0
  191. package/@ones-editor/versions/src/types.d.ts +1 -0
  192. package/@ones-editor/versions/src/version-dialog/index.d.ts +3 -1
  193. package/@ones-editor/webpage-embed/src/ui/dialog.d.ts +2 -2
  194. package/@ones-editor/webpage-embed/src/webpage-embed/webpage-items.d.ts +2 -0
  195. package/dist/comments/create-comment-editor.d.ts +4 -7
  196. package/dist/comments/local-doc-comments-provider.d.ts +18 -0
  197. package/dist/comments/{comments-provider.d.ts → sharedb-doc-comments-provider.d.ts} +3 -6
  198. package/dist/index.d.ts +15 -3
  199. package/dist/index.js +240 -285
  200. package/dist/lang/en-us.d.ts +14 -0
  201. package/dist/lang/index.d.ts +1 -0
  202. package/dist/lang/zh-cn.d.ts +14 -0
  203. package/dist/types.d.ts +24 -2
  204. package/package.json +3 -1
  205. package/@ones-editor/e2e/src/block-menu/menu-list.cy.d.ts +0 -0
  206. package/@ones-editor/list-block/src/command/covert-to-list.d.ts +0 -3
  207. /package/@ones-editor/block-menu/src/block-menu-button/{drag-drop → drag-preview}/element-to-data-url.d.ts +0 -0
@@ -1,2 +1,4 @@
1
- import { OnesEditor } from '../../types';
1
+ import { ContainerElement, OnesEditor, SimpleSelectionRange } from '../../types';
2
+ export declare function isContainerSelectedAllChildBlocks(container: ContainerElement, range: SimpleSelectionRange): boolean;
2
3
  export declare function editorSelectAll(editor: OnesEditor): boolean;
4
+ export declare function editorSelectContainer(editor: OnesEditor, container: ContainerElement): void;
@@ -0,0 +1,2 @@
1
+ import { OnesEditor } from '../../types';
2
+ export declare function editorSelectBlock(editor: OnesEditor): void;
@@ -1,3 +1,3 @@
1
1
  import { OnesEditor, SimpleBlockPosition } from '../../types';
2
2
  export declare function editorGetWordLeftPos(editor: OnesEditor, type: 'move' | 'select'): SimpleBlockPosition | null;
3
- export declare function editorGetWordEndPos(editor: OnesEditor, type: 'move' | 'select'): SimpleBlockPosition | null;
3
+ export declare function editorGetWordRightPos(editor: OnesEditor, type: 'move' | 'select'): SimpleBlockPosition | null;
@@ -1,5 +1,5 @@
1
1
  import { EditorCaret } from '../blocks/text-blocks/caret/editor-caret';
2
- import { OnesEditorSelection, BlockElement, BlockPosition, SelectionRange, OnesEditor, ChangeSelectionOptions, DeleteBlockEventOptions } from '../types';
2
+ import { OnesEditorSelection, BlockElement, BlockPosition, SelectionRange, OnesEditor, DeleteBlockEventOptions, ChangeSelectionOptions } from '../types';
3
3
  export declare class EditorSelection implements OnesEditorSelection {
4
4
  readonly editor: OnesEditor;
5
5
  readonly caret: EditorCaret;
@@ -16,7 +16,7 @@ export declare class EditorSelection implements OnesEditorSelection {
16
16
  getEndBlock(): BlockElement;
17
17
  selectBlock(block: BlockElement, start: number, end?: number): void;
18
18
  setSelection(anchor: BlockPosition, focus?: BlockPosition, options?: ChangeSelectionOptions): SelectionRange;
19
- setRange(range: SelectionRange): SelectionRange;
19
+ setRange(range: SelectionRange, options?: ChangeSelectionOptions): SelectionRange;
20
20
  updateSelection(): void;
21
21
  getFocusedPos(): BlockPosition;
22
22
  getAnchorPos(): BlockPosition;
@@ -29,6 +29,7 @@ export declare class EditorSelection implements OnesEditorSelection {
29
29
  private verifyPos;
30
30
  private updateFocusedBlock;
31
31
  verify(): void;
32
+ to(type: 'text' | 'markdown' | 'html'): string;
32
33
  private removeAllBlockFocusedClass;
33
34
  private setBlockFocused;
34
35
  }
@@ -1,2 +1,3 @@
1
1
  export * from './editor-position';
2
2
  export * from './range';
3
+ export * from './range-from-point';
@@ -1,5 +1,5 @@
1
1
  import { OnesEditorDocRange } from '../../doc';
2
- import { OnesEditor, SelectionRange, SelectedBlock, ContainerElement } from '../../types';
2
+ import { OnesEditor, SelectionRange, SelectedBlock, ContainerElement, SimpleSelectionRange } from '../../types';
3
3
  import { EditorSimpleBlockPosition } from '../editor-position';
4
4
  interface SimpleRangeOptions {
5
5
  anchor: EditorSimpleBlockPosition;
@@ -26,5 +26,6 @@ export default class EditorSimpleSelectionRange implements SelectionRange {
26
26
  getFocusedPos(): EditorSimpleBlockPosition;
27
27
  clone(): EditorSimpleSelectionRange;
28
28
  toDocRange(): OnesEditorDocRange;
29
+ static from(editor: OnesEditor, other: SimpleSelectionRange): EditorSimpleSelectionRange;
29
30
  }
30
31
  export {};
@@ -3,7 +3,7 @@ export default class DefaultSettingsProvider implements OnesEditorSettingsProvid
3
3
  private editor;
4
4
  constructor(editor: OnesEditor);
5
5
  getKey(key: string): string;
6
- getItem(key: string): Promise<string | null>;
7
- setItem(key: string, value: string | null): Promise<void>;
8
- removeItem(key: string): Promise<void>;
6
+ getItem(key: string): string | null;
7
+ setItem(key: string, value: string | null): void;
8
+ removeItem(key: string): void;
9
9
  }
@@ -1,5 +1,5 @@
1
1
  import { TypedEmitter } from 'tiny-typed-emitter';
2
- import { DocBlock, DocBlockAttributes, DocBlocks, DocBlockText, DocBlockTextAttributes, DocBox, DocEmbedBlock, DocEmbedData, DocInsertion, DocObject, OnesEditorDoc, OnesEditorDocRange } from './doc';
2
+ import { DocBlock, DocBlockAttributes, DocBlocks, DocBlockText, DocBlockTextAttributes, DocBox, DocEmbedBlock, DocEmbedData, DocInsertion, DocObject, InsertBlockOptions, OnesEditorDoc, OnesEditorDocRange } from './doc';
3
3
  export type ContainerElement = HTMLDivElement & {
4
4
  __neverUse: 'ContainerElement';
5
5
  };
@@ -61,6 +61,7 @@ export interface Box {
61
61
  boxType: string;
62
62
  updateBoxContent: (editor: OnesEditor, boxElement: BoxElement, boxContent: BoxContentElement, boxData: DocBox) => void;
63
63
  convertFrom?: (editor: OnesEditor, text: string) => DocBox | null;
64
+ convertTo?: (editor: OnesEditor, boxData: DocBox, doc: DocObject, type: 'text' | 'html' | 'markdown') => string;
64
65
  handleClickBox?: (editor: OnesEditor, box: BoxElement, event: MouseEvent) => void;
65
66
  toStandardText?: (editor: OnesEditor, box: DocBox) => Promise<DocBlockText | undefined>;
66
67
  getBoxProperties?: (editor: OnesEditor, boxElement: BoxElement) => BoxProperties;
@@ -88,12 +89,13 @@ export interface Embed {
88
89
  getOptions?: (editor: OnesEditor) => EmbedOptions;
89
90
  handleDeleteBlock?: (editor: OnesEditor, block: BlockElement, local: boolean, options: DeleteBlockEventOptions) => void;
90
91
  handleUpdateBlock?: (editor: OnesEditor, block: BlockElement, blockData: DocEmbedBlock) => boolean;
91
- handleDropOver?: (editor: OnesEditor, block: BlockElement, dragObject: DragObject, x: number, y: number) => DropInsertPos | undefined;
92
- handleDrop?: (editor: OnesEditor, block: BlockElement, dragObject: DragObject, insertPos: DropInsertPos, options: DropOptions) => boolean | undefined;
92
+ handleDropOver?: (editor: OnesEditor, block: BlockElement, dragData: DragObject | null, x: number, y: number) => DropInsertPos | undefined;
93
+ handleDrop?: (editor: OnesEditor, block: BlockElement, dragData: DragObject | File[], insertPos: DropInsertPos, options: DropOptions) => boolean | undefined;
93
94
  convertFrom?: (editor: OnesEditor, srcBlock: BlockElement, options: {
94
95
  offset: number;
95
96
  data?: DocBlockAttributes;
96
97
  }) => ConvertBlockResult | null;
98
+ toStandardDoc?: (editor: OnesEditor, blockData: DocBlock, doc: DocObject, path: BlockPath) => Promise<DocObject | undefined>;
97
99
  }
98
100
  export interface ConvertBlockResult {
99
101
  blockData: DocBlock;
@@ -118,7 +120,7 @@ export interface CommandItem {
118
120
  value?: string;
119
121
  order?: number;
120
122
  type?: CommandItemType;
121
- element?: HTMLElement;
123
+ element?: HTMLElement | ((item: CommandItem) => HTMLElement);
122
124
  icon?: string;
123
125
  childrenType?: 'menu' | 'toolbar';
124
126
  children?: CommandItem[];
@@ -130,7 +132,9 @@ export interface CommandItem {
130
132
  manualShowChildren?: boolean;
131
133
  childrenPlacement?: CommandItemChildrenPlacement;
132
134
  childrenOffset?: [number, number];
133
- shortcut?: string;
135
+ subText?: string;
136
+ defaultCheckedChildren?: string[];
137
+ disableTooltip?: boolean;
134
138
  setCloseable?: (closeable: Closeable) => void;
135
139
  beforePopup?: (parent: unknown) => void;
136
140
  }
@@ -204,8 +208,8 @@ export interface Block {
204
208
  handleContainerResized?: (editor: OnesEditor, block: BlockElement) => void;
205
209
  handleDeleteBlock?: (editor: OnesEditor, block: BlockElement, local: boolean, options: DeleteBlockEventOptions) => void;
206
210
  handleUpdateBlock?: (editor: OnesEditor, block: BlockElement, blockData: DocBlock) => boolean;
207
- handleDropOver?: (editor: OnesEditor, block: BlockElement, dragObject: DragObject, x: number, y: number) => DropInsertPos | undefined;
208
- handleDrop?: (editor: OnesEditor, block: BlockElement, dragObject: DragObject, insertPos: DropInsertPos, options: DropOptions) => boolean | undefined;
211
+ handleDropOver?: (editor: OnesEditor, block: BlockElement, dragData: DragObject | null, x: number, y: number) => DropInsertPos | false | undefined;
212
+ handleDrop?: (editor: OnesEditor, block: BlockElement, dragData: DragObject | File[], insertPos: DropInsertPos, options: DropOptions) => boolean | undefined;
209
213
  getClientRects?: (editor: OnesEditor, block: BlockElement, range: SelectionRange) => DOMRect[];
210
214
  getMinWidth?: (editor: OnesEditor, block: BlockElement) => number | undefined;
211
215
  convertFrom?: (editor: OnesEditor, srcBlock: BlockElement, options: {
@@ -213,7 +217,7 @@ export interface Block {
213
217
  data?: DocBlockAttributes;
214
218
  }) => ConvertBlockResult | null;
215
219
  selectionToDoc?: (editor: OnesEditor, selectedBlock: SelectedBlock) => DocObject;
216
- convertTo?: (editor: OnesEditor, blockData: DocBlock, doc: DocObject, type: 'text' | 'html' | 'markdown') => string;
220
+ convertTo?: (editor: OnesEditor, blockData: DocBlock, doc: DocObject, type: 'text' | 'html' | 'markdown', path: BlockPath) => string;
217
221
  toStandardDoc?: (editor: OnesEditor, blockData: DocBlock, doc: DocObject) => Promise<DocObject | undefined>;
218
222
  getBlockStyles?: (editor: OnesEditor, block: BlockElement) => BlockStyles;
219
223
  blockToDoc?: (srcDoc: DocObject, srcBlockData: DocBlock, childBlockConverter: (srcDoc: DocObject, srcBlockData: DocBlock) => DocObject) => DocObject;
@@ -344,9 +348,10 @@ export interface OnesEditorDataConverters {
344
348
  export interface BreakTextOptions {
345
349
  forceInsertAfter?: boolean;
346
350
  newBlockData?: DocBlock;
351
+ copyBlockAttributes?: boolean;
347
352
  }
348
353
  export interface OnesEditorEvents {
349
- 'docChanged': (editor: OnesEditor) => void;
354
+ 'docChanged': (editor: OnesEditor, local: boolean) => void;
350
355
  'readonlyChanged': (editor: OnesEditor) => void;
351
356
  'selectionChanged': (editor: OnesEditor) => void;
352
357
  'focusBlockChanged': (editor: OnesEditor, newBlock: BlockElement | null, oldBlock: BlockElement | null) => void;
@@ -361,9 +366,9 @@ export interface OnesEditorEvents {
361
366
  'focus': (editor: OnesEditor) => void;
362
367
  }
363
368
  export interface OnesEditorSettingsProvider {
364
- getItem: (key: string) => Promise<string | null>;
365
- setItem: (key: string, value: string | null) => Promise<void>;
366
- removeItem: (key: string) => Promise<void>;
369
+ getItem: (key: string) => string | null;
370
+ setItem: (key: string, value: string | null) => void;
371
+ removeItem: (key: string) => void;
367
372
  }
368
373
  export interface OnesEditorOptionalOptions {
369
374
  shortcuts?: ShortcutRecords[];
@@ -425,6 +430,7 @@ export interface OnesEditorDomEvents extends OnesEditorCustom {
425
430
  removeEventListener: (element: Element | Document | Window | null, eventName: string | null, eventHandler: (editor: OnesEditor, event: Event) => void) => void;
426
431
  removeAllListeners: (element: Element | Document | Window, eventName?: string) => void;
427
432
  }
433
+ export type InsertTextOptions = InsertBlockOptions;
428
434
  export interface OnesEditor extends TypedEmitter<OnesEditorEvents> {
429
435
  readonly parent: HTMLElement;
430
436
  readonly rootElement: HTMLDivElement;
@@ -489,7 +495,7 @@ export interface OnesEditor extends TypedEmitter<OnesEditorEvents> {
489
495
  contains: (node: Node) => boolean;
490
496
  getSelectedText: () => string;
491
497
  clearSelectedContents: () => void;
492
- insertBlock: (containerId: string, blockIndex: number, blockData: DocBlock, newRange?: OnesEditorDocRange) => BlockElement;
498
+ insertBlock: (containerId: string, blockIndex: number, blockData: DocBlock, newRange?: OnesEditorDocRange, options?: InsertBlockOptions) => BlockElement;
493
499
  insertEmbed: (containerId: string, blockIndex: number, embedType: string, embedData: DocEmbedData, newRange?: OnesEditorDocRange) => BlockElement;
494
500
  deleteBlock: (block: BlockElement, newRange?: OnesEditorDocRange) => void;
495
501
  getTextPosition: () => BlockTextPosition;
@@ -500,8 +506,8 @@ export interface OnesEditor extends TypedEmitter<OnesEditorEvents> {
500
506
  getBlockText: (block: BlockElement) => DocBlockText;
501
507
  setBlockText: (block: BlockElement, text: DocBlockText) => void;
502
508
  getBoxData: (box: BoxElement) => DocBox;
503
- deleteTextFromBlock: (block: BlockElement, offset: number, count: number) => number;
504
- insertTextToBlock: (block: BlockElement, offset: number, text: string | DocBlockText) => DocBlockText;
509
+ deleteTextFromBlock: (block: BlockElement, offset: number, count: number, options?: InsertTextOptions) => number;
510
+ insertTextToBlock: (block: BlockElement, offset: number, text: string | DocBlockText, options?: InsertTextOptions) => DocBlockText;
505
511
  insertBoxToBlock: (block: BlockElement, offset: number, boxData: DocBox) => DocBlockText;
506
512
  mergeTextBlock: (block1: BlockElement, block2: BlockElement, options?: {
507
513
  focus?: boolean;
@@ -509,6 +515,7 @@ export interface OnesEditor extends TypedEmitter<OnesEditorEvents> {
509
515
  breakTextBlock: (block: BlockElement, offset: number, options?: BreakTextOptions) => BlockElement;
510
516
  insertTextBlock: (text?: string | DocBlockText, containerId?: string, blockIndex?: number, options?: {
511
517
  newRange?: OnesEditorDocRange;
518
+ insertBlockOptions?: InsertBlockOptions;
512
519
  }) => BlockElement;
513
520
  insertDoc: (block: BlockElement, offset: number, doc: DocObject, cloneDocResult?: CloneBlockResultInfo) => void;
514
521
  insertDocAt: (container: ContainerElement, blockIndex: number, doc: DocObject, cloneDocResult?: CloneBlockResultInfo) => BlockElement[];
@@ -530,7 +537,7 @@ export interface OnesEditorSelection {
530
537
  readonly startBlock: BlockElement;
531
538
  readonly endBlock: BlockElement;
532
539
  setSelection: (anchor: BlockPosition, focus?: BlockPosition, options?: ChangeSelectionOptions) => SelectionRange;
533
- setRange: (range: SelectionRange) => SelectionRange;
540
+ setRange: (range: SelectionRange, options?: ChangeSelectionOptions) => SelectionRange;
534
541
  selectBlock: (block: BlockElement, start: number, end?: number) => void;
535
542
  updateSelection: (old: SelectionRange | null) => void;
536
543
  updateLastCaretRect: () => void;
@@ -538,6 +545,7 @@ export interface OnesEditorSelection {
538
545
  getAnchorPos: () => BlockPosition;
539
546
  getFocusedPos: () => BlockPosition;
540
547
  scrollIntoView: () => void;
548
+ to: (type: 'text' | 'markdown' | 'html') => string;
541
549
  }
542
550
  export type RemoteChangeType = 'UpdateBlockText' | 'UpdateBlockData' | 'InsertBlock' | 'DeleteBlock' | 'InsertChildContainer' | 'DeleteChildContainer';
543
551
  export interface OnesEditorInput {
@@ -551,6 +559,7 @@ export interface OnesEditorInput {
551
559
  handleKeyDown: (event: KeyboardEvent) => void;
552
560
  handleChanged: (action: OnesEditorUndoAction) => void;
553
561
  handleRemoteChanged: (type: RemoteChangeType) => void;
562
+ handlePasteText: (text: string) => void;
554
563
  addHandler: (handler: OnesEditorInputHandler) => void;
555
564
  removeHandler: (handler: OnesEditorInputHandler) => void;
556
565
  defaultInsertText: (editor: OnesEditor, containerId: string, blockIndex: number, offset: number, text: string) => void;
@@ -574,8 +583,9 @@ export interface OnesEditorInputHandler {
574
583
  handleAfterInsertText?: (editor: OnesEditor, containerId: string, blockIndex: number, offset: number, text: string) => boolean;
575
584
  handleBeforeKeyDown?: (editor: OnesEditor, event: KeyboardEvent) => boolean;
576
585
  handleAfterKeyDown?: (editor: OnesEditor, event: KeyboardEvent) => boolean;
577
- handleBeforePaste?: (editor: OnesEditor, event: ClipboardEvent, doc: OnesEditorDocs) => Promise<boolean>;
578
- handleAfterPaste?: (editor: OnesEditor, event: ClipboardEvent, doc: OnesEditorDocs) => Promise<boolean>;
586
+ handleBeforeCopy?: (editor: OnesEditor, event: ClipboardEvent, doc: DocObject) => DocObject | boolean | undefined;
587
+ handleBeforePaste?: (editor: OnesEditor, event: ClipboardEvent | null, doc: OnesEditorDocs) => Promise<boolean>;
588
+ handleAfterPaste?: (editor: OnesEditor, event: ClipboardEvent | null, doc: OnesEditorDocs) => Promise<boolean>;
579
589
  handleBeforePasteDoc?: (editor: OnesEditor, doc: DocObject) => Promise<boolean>;
580
590
  handleAfterPasteDoc?: (editor: OnesEditor, doc: DocObject) => Promise<boolean>;
581
591
  handleChanged?: (editor: OnesEditor, action: OnesEditorUndoAction) => void;
@@ -589,6 +599,7 @@ export interface OnesEditorBlocks {
589
599
  getBlockClass: (type: string) => Block;
590
600
  createBlock: (path: BlockPath, container: ContainerElement, block: DocBlock) => BlockElement;
591
601
  forEach: (callback: (blockClass: Block) => void) => void;
602
+ hasBlock: (type: string) => boolean;
592
603
  }
593
604
  export interface OnesEditorEmbeds {
594
605
  registerEmbedClass: (embedClass: Embed) => void;
@@ -1,3 +1,39 @@
1
+ declare const langs: {
2
+ 'en-US': {
3
+ name: string;
4
+ date: {
5
+ dateFromFuture: string;
6
+ dateJustNow: string;
7
+ dateYesterday: string;
8
+ dateMinutesAgo: string;
9
+ date1HourAgo: string;
10
+ dateHoursAgo: string;
11
+ dateDaysAgo: string;
12
+ dateWeeksAgo: string;
13
+ };
14
+ common: {
15
+ cancel: string;
16
+ };
17
+ };
18
+ 'zh-CN': {
19
+ name: string;
20
+ date: {
21
+ dateFromFuture: string;
22
+ dateJustNow: string;
23
+ dateYesterday: string;
24
+ dateMinutesAgo: string;
25
+ date1HourAgo: string;
26
+ dateHoursAgo: string;
27
+ dateDaysAgo: string;
28
+ dateWeeksAgo: string;
29
+ };
30
+ common: {
31
+ cancel: string;
32
+ };
33
+ };
34
+ };
1
35
  export declare function setLang(lang?: string | null | undefined): void;
2
36
  export declare function mergeLang(l: any): void;
3
37
  export declare function t(key: string, args?: Record<string, string>): string;
38
+ export type LANGS = keyof typeof langs;
39
+ export {};
@@ -1,9 +1,12 @@
1
- import { DocBlock, DocBlockDelta, DocBlockText, DocBlockTextActions, DocObject, OnesEditorDoc, OnesEditorDocCallbacks, OnesEditorUser, UploadResourceOptions, UploadResourceResult } from '../core/doc';
1
+ import { DocBlock, DocBlockDelta, DocBlockText, OnesEditorDocServerMeta, DocBlockTextActions, DocObject, OnesEditorDoc, OnesEditorDocCallbacks, OnesEditorUser, UploadResourceOptions, UploadResourceResult } from '../core/doc';
2
2
  import { EventCallbacks } from '../utils';
3
3
  import { RemoteUsers } from '../users';
4
4
  export declare class LocalDoc extends EventCallbacks<OnesEditorDocCallbacks> implements OnesEditorDoc {
5
5
  doc: DocObject;
6
- constructor(doc?: DocObject);
6
+ serviceUrl: string;
7
+ constructor(doc: DocObject | null, options?: {
8
+ serverUrl?: string;
9
+ });
7
10
  beginBatchUpdate(): number;
8
11
  endBatchUpdate(): number;
9
12
  toJSON(): DocObject;
@@ -20,6 +23,7 @@ export declare class LocalDoc extends EventCallbacks<OnesEditorDocCallbacks> imp
20
23
  buildResourceUrl(src: string): string;
21
24
  request<T>(url: string, opt?: any): Promise<T>;
22
25
  broadcastMessage(data: unknown): void;
26
+ getServerMeta(): OnesEditorDocServerMeta;
23
27
  getUser(): OnesEditorUser;
24
28
  getRemoteUsers(): RemoteUsers;
25
29
  setDoc(doc: DocObject): void;
@@ -1,3 +1,5 @@
1
- export declare function getScrollContainer(element: HTMLElement): HTMLElement;
1
+ export declare function getScrollContainer(element: HTMLElement, options?: {
2
+ horizontal?: boolean;
3
+ }): HTMLElement;
2
4
  export declare function disablePageScroll(id: string): void;
3
5
  export declare function enablePageScroll(id: string): void;
@@ -26,4 +26,6 @@ export declare function getElementOffset(el: Element): {
26
26
  left: number;
27
27
  };
28
28
  export declare function findTarget(event: Event, cssSelector: string): Element | null;
29
+ export declare function findEventTargetBlock(event: Event): Element | null;
30
+ export declare function isElementVisible(element: Element | null): boolean;
29
31
  export {};
@@ -4,6 +4,7 @@ interface SelectFileOptions {
4
4
  export declare function selectFile<T extends SelectFileOptions = SelectFileOptions>(accept: string, options?: T): Promise<T extends {
5
5
  multiple: true;
6
6
  } ? File[] : File>;
7
+ export declare function isDraggingFiles(v: unknown): v is File[];
7
8
  export declare function getFileExt(file: string): string;
8
9
  export declare function requestDownload(downloadUrl: string, fileName?: string): void;
9
10
  export {};
@@ -1,7 +1,16 @@
1
+ export declare enum LogLevel {
2
+ DEBUG = "DEBUG",
3
+ INFO = "INFO ",
4
+ WARN = "WARN ",
5
+ ERROR = "ERROR"
6
+ }
1
7
  export declare class Logger {
2
8
  private category;
3
9
  private times;
10
+ static debugMode: boolean;
11
+ static level: LogLevel;
4
12
  constructor(category: string);
13
+ shouldLog(level: LogLevel): boolean;
5
14
  private _log;
6
15
  log(msg: string | object, context?: string): void;
7
16
  debug(msg: string | object, context?: string): void;
@@ -1,4 +1,4 @@
1
- import type { OnesEditor, BlockContentElement } from '../../../../@ones-editor/core';
1
+ import type { OnesEditor, BlockElement } from '../../../../@ones-editor/core';
2
2
  import { type EmbedElement, DrawIoData, GraphDataType, XmlData, XmlSvgData, SrcData, DrawIoOptions } from '../../types';
3
3
  import '../../types/window.d';
4
4
  export declare function getDrawioOptions(editor: OnesEditor): DrawIoOptions;
@@ -11,8 +11,8 @@ export declare function initializeDrawioIframe(editor: OnesEditor): Promise<{
11
11
  drawioIframe: HTMLIFrameElement;
12
12
  exit: () => void;
13
13
  }>;
14
- export declare function contactWithIframe(editor: OnesEditor, block: BlockContentElement, drawIoData: DrawIoData, iframe: HTMLIFrameElement, loaded: () => void, exit: () => void, isInitializationCompleted: boolean): void;
15
- export declare function editGraph(editor: OnesEditor, block: BlockContentElement, data: DrawIoData, isInitializationCompleted: boolean): Promise<void>;
14
+ export declare function contactWithIframe(editor: OnesEditor, block: BlockElement, drawIoData: DrawIoData, iframe: HTMLIFrameElement, loaded: () => void, exit: () => void, isInitializationCompleted: boolean): void;
15
+ export declare function editGraph(editor: OnesEditor, block: BlockElement, data: DrawIoData, isInitializationCompleted: boolean): Promise<void>;
16
16
  export declare function initDrawIo(editor: OnesEditor): Promise<void>;
17
17
  export declare function removeDrawioEmptyStatus(el: HTMLElement): void;
18
18
  export declare function addDrawioEmptyStatus(el: HTMLElement): void;
@@ -1,4 +1,4 @@
1
- import { type OnesEditor, BlockContentElement } from '@ones-editor/core';
1
+ import { type OnesEditor, BlockElement } from '@ones-editor/core';
2
2
  export type WithNull<T> = T | null;
3
3
  export type EmbedElement = HTMLElement & {
4
4
  __neverUse: 'EmbedElement';
@@ -34,6 +34,6 @@ export interface DrawIoOptions {
34
34
  onError?: (editor: OnesEditor, error: Error) => void;
35
35
  onCreateDrawIoFrame?: (editor: OnesEditor) => Promise<HTMLIFrameElement>;
36
36
  onCloseDrawIoFrame?: (editor: OnesEditor, iframe: HTMLIFrameElement) => boolean;
37
- onBeginInitDrawIo?: (editor: OnesEditor, block: BlockContentElement) => void;
37
+ onBeginInitDrawIo?: (editor: OnesEditor, block: BlockElement) => void;
38
38
  };
39
39
  }
@@ -1,4 +1,5 @@
1
1
  import { BlockElement, DropInsertPos, OnesEditor } from '../../../@ones-editor/core';
2
+ export declare const INDICATOR_SIZE = 2;
2
3
  interface DropTarget {
3
4
  block: BlockElement;
4
5
  insertPos: DropInsertPos;
@@ -1,7 +1,7 @@
1
1
  import { BlockElement, ContainerElement, OnesEditor } from '../../../@ones-editor/core';
2
2
  import DropIndicator from './drop-indicator';
3
3
  export interface DropHandler {
4
- handleDrop: (editor: OnesEditor, draggedBlock: BlockElement, targetContainer: ContainerElement, blockIndex: number) => boolean | undefined;
4
+ handleDrop: (editor: OnesEditor, dragData: BlockElement | File[], targetContainer: ContainerElement, blockIndex: number) => boolean | undefined;
5
5
  }
6
6
  export default class OnesEditorDropTarget {
7
7
  private editor;
@@ -0,0 +1,8 @@
1
+ import { OnesEditor, ContainerElement, BlockElement } from '../../../../@ones-editor/core';
2
+ import type { DropHandler } from '../drop-target';
3
+ export declare class DropFileHandler implements DropHandler {
4
+ private editor;
5
+ constructor(editor: OnesEditor);
6
+ private getEmbedClassByFile;
7
+ handleDrop: (editor: OnesEditor, dragData: BlockElement | File[], targetContainer: ContainerElement, blockIndex: number) => boolean;
8
+ }
@@ -8,6 +8,12 @@ declare namespace Cypress {
8
8
  getBlockContentByBlockId: (blockId: string) => Chainable<Element>;
9
9
  cacheBlock: (blockType: string, block: BlockCache) => Chainable<JQuery>;
10
10
  createHeadingByShortcut: (blockId: string, level: number, title: string) => Chainable<Element>;
11
+ getMenuItemByDataId: (dataId: string) => Chainable<Element>;
12
+ clickBlockMenuButton: (dataId: string) => Chainable<JQuery>;
13
+ getBlockMenuButton: (dataId: string) => Chainable<JQuery>;
14
+ checkTextStyle: (blockId: string, checkSpanIndex: number, expectedClassValue: string, expectedTextValue: string) => Chainable<JQuery>;
15
+ checkTextColer: (blockId: string, checkSpanIndex: number, expectedClassValue: string, expectBlockAttr: string, expectBlockAttrValue: string, expectedTextValue: string) => Chainable<JQuery>;
16
+ checkHeadingStyle: (blockId: string, expectBlockAttr: string, expectBlockAttrValue: string) => Chainable<JQuery>;
11
17
  }
12
18
  }
13
19
  interface BlockCache {
@@ -0,0 +1,17 @@
1
+ import { BaseAssertion } from '../data';
2
+ declare class Item {
3
+ id: string;
4
+ name: string;
5
+ shortcut: string;
6
+ constructor(id: string, name: string, shortcut: string);
7
+ }
8
+ export declare const items: Map<string, Item>;
9
+ export declare class BlockMenuCase {
10
+ /**
11
+ * howToOpen : clickToOpen | shortcutToOpen:default
12
+ * @returns null
13
+ */
14
+ checkBlockMenuItem: (howToOpen: string, block: string) => () => void;
15
+ checkBlockMenuButton: (button: string, assertData: BaseAssertion) => () => void;
16
+ }
17
+ export {};
@@ -0,0 +1 @@
1
+ import 'cypress-real-events';
@@ -6,20 +6,35 @@ export declare class BlockCache {
6
6
  getLastBlockId(blockType: string): string;
7
7
  setTitleBlockId(blockId: string): void;
8
8
  }
9
- export declare class TestTextStyleData {
10
- inputStr: string;
11
- checkSpanIndex: number;
12
- expectedClassValue: string;
13
- expectedTextValue: string;
14
- constructor(inputStr: string, checkSpanIndex: number, expectedClassValue: string, expectedTextValue: string);
9
+ export declare class BaseAssertion {
15
10
  }
16
- export declare class TestHeadingStyleData {
11
+ export declare class TestHeadingStyleData extends BaseAssertion {
17
12
  key: string;
18
13
  inputStr: string;
19
14
  expected: string;
20
15
  expectedPlaceholder: string;
21
16
  constructor(key: string, inputStr: string, expected: string, expectedPlaceholder: string);
22
17
  }
18
+ export declare class CheckBlockData extends BaseAssertion {
19
+ expectBlockAttr: string;
20
+ expectBlockAttrValue: string;
21
+ constructor(expectBlockAttr: string, expectBlockAttrValue: string);
22
+ }
23
+ export declare class CheckTextStyleData extends BaseAssertion {
24
+ checkSpanIndex: number;
25
+ expectedClassValue: string;
26
+ expectedTextValue: string;
27
+ constructor(checkSpanIndex: number, expectedClassValue: string, expectedTextValue: string);
28
+ }
29
+ export declare class TestTextStyleData extends CheckTextStyleData {
30
+ inputStr: string;
31
+ constructor(inputStr: string, checkSpanIndex: number, expectedClassValue: string, expectedTextValue: string);
32
+ }
33
+ export declare class CheckTextColerData extends CheckTextStyleData {
34
+ attr: string;
35
+ attrValue: string;
36
+ constructor(attr: string, attrValue: string, checkSpanIndex: number, expectedClassValue: string, expectedTextValue: string);
37
+ }
23
38
  export declare const docTestBlockStyle = "block-style";
24
39
  export declare const blockCache: BlockCache;
25
40
  export declare const TEXT_BLOCK_ATTRIBUTE: {
@@ -41,11 +56,21 @@ export declare const TEXT_BLOCK_ATTRIBUTE: {
41
56
  STYLE_QUOTE: {
42
57
  QUOTECLASSNAME: string;
43
58
  };
59
+ STYLE_ALIGN: {
60
+ ALIGN: string;
61
+ };
62
+ STYLE_COLER: {
63
+ TC_COLER: string;
64
+ BC_CLOER: string;
65
+ };
44
66
  STYLE_TEXT: {
45
67
  BoldStyleClass: string;
68
+ BoldAndItalicStyleClass: string;
46
69
  ItalicStyleClass: string;
47
70
  CodeStyleClass: string;
48
71
  StrikeThrough: string;
72
+ SubscriptCLass: string;
73
+ SuperscriptClass: string;
49
74
  };
50
75
  };
51
76
  export declare const LIST_BLOCK_ATTRIBUTE: {
@@ -8,10 +8,11 @@ export interface StandardEmbedBlockProperties<T = PresetCommandId> {
8
8
  export declare function addCommentToBlock(editor: OnesEditor, block: BlockElement): boolean;
9
9
  export declare class StandardEmbedBlockCommands<T = PresetCommandId> implements BlockCommands {
10
10
  protected editor: OnesEditor;
11
+ protected block: BlockElement;
11
12
  protected properties?: StandardEmbedBlockProperties<T> | undefined;
12
13
  group: string;
14
+ constructor(editor: OnesEditor, block: BlockElement, properties?: StandardEmbedBlockProperties<T> | undefined);
13
15
  _commands: CommandItem[];
14
- constructor(editor: OnesEditor, properties?: StandardEmbedBlockProperties<T> | undefined);
15
16
  get commands(): CommandItem[];
16
17
  executeCommand(editor: OnesEditor, block: BlockElement, item: CommandItem): void;
17
18
  }
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "@ones-editor/exclusive-block",
3
+ "version": "0.0.1",
4
+ "main": "src/index.ts",
5
+ "types": "src/index.d.ts"
6
+ }
@@ -0,0 +1,6 @@
1
+ import { BlockElement, BlockPath, ContainerElement, DocBlock, OnesEditor, OnesEditorBlockHook } from '../../../@ones-editor/core';
2
+ export default class BlockExclusiveHook implements OnesEditorBlockHook {
3
+ writable(editor: OnesEditor, blockElement: BlockElement): boolean | undefined;
4
+ create(editor: OnesEditor, path: BlockPath, container: ContainerElement, blockElement: BlockElement, blockData: DocBlock): void;
5
+ update(editor: OnesEditor, path: BlockPath, container: ContainerElement, blockElement: BlockElement, blockData: DocBlock): void;
6
+ }
@@ -0,0 +1,22 @@
1
+ import { BlockElement, OnesEditor, OnesEditorCustom, OnesEditorDocCallbacks, OnesEditorUser } from '../../../@ones-editor/core';
2
+ import { ExclusiveBlockMessage } from './types';
3
+ export declare class OnesEditorExclusiveBlock implements OnesEditorCustom, OnesEditorDocCallbacks {
4
+ private editor;
5
+ exclusiveBlockIds: Set<string>;
6
+ exclusiveBlockTimer: number;
7
+ remoteExclusiveBlockIds: Map<string, ExclusiveBlockMessage>;
8
+ constructor(editor: OnesEditor);
9
+ destroy(): void;
10
+ onCustomMessage(msg: unknown): void;
11
+ handleUserChanged: (users: OnesEditorUser[]) => void;
12
+ getExclusiveMessage(blockId: string): ExclusiveBlockMessage | undefined;
13
+ broadcastExclusiveBlockMessage(blocks: BlockElement[], exclusive: boolean): void;
14
+ exclusiveBlock(block: BlockElement): void;
15
+ unexclusiveBlock(block: BlockElement): void;
16
+ startExclusiveBlockTimer(): void;
17
+ stopExclusiveBlockTimer(): void;
18
+ static get(editor: OnesEditor): OnesEditorExclusiveBlock;
19
+ static register(editor: OnesEditor): OnesEditorExclusiveBlock;
20
+ }
21
+ export declare function exclusiveBlock(editor: OnesEditor, block: BlockElement): void;
22
+ export declare function unexclusiveBlock(editor: OnesEditor, block: BlockElement): void;
@@ -0,0 +1,5 @@
1
+ import { BlockElement, OnesEditor } from '../../../@ones-editor/core';
2
+ export declare function addExclusiveStyle(block: BlockElement, userId: string, displayName: string): void;
3
+ export declare function removeExclusiveStyle(block: BlockElement): void;
4
+ export declare function updateBlockExclusive(editor: OnesEditor, block: BlockElement, exclusive: boolean, userId: string, displayName: string): void;
5
+ export declare function isExclusiveBlock(block: BlockElement): boolean;
@@ -0,0 +1,3 @@
1
+ import { OnesEditor } from '../../../@ones-editor/core';
2
+ import { ExclusiveBlockMessage } from './types';
3
+ export declare function handleRemoteBlockExclusiveMessage(editor: OnesEditor, message: ExclusiveBlockMessage): void;
@@ -0,0 +1,5 @@
1
+ import { OnesEditorExclusiveBlock } from './exclusive-block';
2
+ import BlockExclusiveHook from './exclusive-block-hook';
3
+ import './exclusive-block-styles.scss';
4
+ export { exclusiveBlock, unexclusiveBlock } from './exclusive-block';
5
+ export { BlockExclusiveHook, OnesEditorExclusiveBlock };
@@ -0,0 +1,7 @@
1
+ export interface ExclusiveBlockMessage {
2
+ type: 'exclusiveBlock';
3
+ userId: string;
4
+ displayName: string;
5
+ blockIds: string[];
6
+ exclusive: boolean;
7
+ }
@@ -1,11 +1,12 @@
1
1
  import { BlockProperties } from '../../../../@ones-editor/core';
2
- import type { OnesEditor, BlockContentElement, DocEmbedBlock, Logger } from '../../../../@ones-editor/core';
2
+ import type { OnesEditor, BlockContentElement, DocEmbedBlock, BlockElement, Logger } from '../../../../@ones-editor/core';
3
3
  import type { GraphType, GraphEmbedBlockProperties } from './graph-block-commands';
4
4
  export default abstract class GraphBase {
5
5
  private graphType;
6
6
  private codeEmbedDataKey;
7
7
  protected editor: OnesEditor;
8
8
  logger: Logger;
9
+ editing: boolean;
9
10
  constructor(editor: OnesEditor, graphType: GraphType, codeEmbedDataKey: string);
10
11
  protected abstract code2ObjectUrl(code: string): Promise<string>;
11
12
  protected abstract code2ResourceId(code: string): Promise<string>;
@@ -18,6 +19,6 @@ export default abstract class GraphBase {
18
19
  protected updateImage(embed: HTMLDivElement, code: string | undefined, url: string | undefined | null, err: Error | null): Promise<void>;
19
20
  protected updateClasses(embed: HTMLDivElement, code: string | undefined, err: Error | null): void;
20
21
  editGraph(content: BlockContentElement): void;
21
- getBlockProperties(properties?: GraphEmbedBlockProperties): BlockProperties;
22
+ getBlockProperties(block: BlockElement, properties?: GraphEmbedBlockProperties): BlockProperties;
22
23
  private hasChanged;
23
24
  }