@ones-editor/editor 0.0.3-beta.4 → 0.0.3-beta.40

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 (151) hide show
  1. package/@ones-editor/block-locker/src/i18n/en-US.d.ts +8 -0
  2. package/@ones-editor/block-locker/src/i18n/index.d.ts +1 -0
  3. package/@ones-editor/block-locker/src/i18n/zh-CN.d.ts +8 -0
  4. package/@ones-editor/block-locker/src/index.d.ts +2 -0
  5. package/@ones-editor/block-menu/src/block-menu/index.d.ts +1 -0
  6. package/@ones-editor/block-menu/src/block-menu/items/text-styles/text-style-item.d.ts +4 -3
  7. package/@ones-editor/comments/src/actions/add-comment-to-block.d.ts +3 -2
  8. package/@ones-editor/comments/src/actions/add-comment-to-text-block.d.ts +2 -1
  9. package/@ones-editor/comments/src/actions/editor-add-comment.d.ts +2 -0
  10. package/@ones-editor/comments/src/block-hook/index.d.ts +3 -1
  11. package/@ones-editor/comments/src/comment-editor/index.d.ts +3 -5
  12. package/@ones-editor/comments/src/comment-input-handler/index.d.ts +2 -10
  13. package/@ones-editor/comments/src/comment-input-handler/input-handler.d.ts +11 -0
  14. package/@ones-editor/comments/src/comment-input-handler/quick-reply-input-handler.d.ts +7 -0
  15. package/@ones-editor/comments/src/comment-item/comment-item.d.ts +2 -0
  16. package/@ones-editor/comments/src/comment-item/index.d.ts +1 -0
  17. package/@ones-editor/comments/src/comment-item/mobile-comment-item/index.d.ts +1 -0
  18. package/@ones-editor/comments/src/comment-item/mobile-comment-item/mobile-comment-item.d.ts +18 -0
  19. package/@ones-editor/comments/src/comments/comments.d.ts +11 -7
  20. package/@ones-editor/comments/src/comments-button/index.d.ts +3 -1
  21. package/@ones-editor/comments/src/comments-helper/utils.d.ts +2 -1
  22. package/@ones-editor/comments/src/comments-list/comments-list.d.ts +1 -9
  23. package/@ones-editor/comments/src/comments-list/group-item.d.ts +1 -0
  24. package/@ones-editor/comments/src/comments-list/group-list.d.ts +0 -1
  25. package/@ones-editor/comments/src/comments-list/index.d.ts +1 -0
  26. package/@ones-editor/comments/src/comments-list/mini-comment/mini-comments-list.d.ts +1 -5
  27. package/@ones-editor/comments/src/comments-list/mobile-comments-list/children-list.d.ts +17 -0
  28. package/@ones-editor/comments/src/comments-list/mobile-comments-list/group-item.d.ts +30 -0
  29. package/@ones-editor/comments/src/comments-list/mobile-comments-list/group-list.d.ts +29 -0
  30. package/@ones-editor/comments/src/comments-list/mobile-comments-list/index.d.ts +1 -0
  31. package/@ones-editor/comments/src/comments-list/mobile-comments-list/mobile-comments-list.d.ts +28 -0
  32. package/@ones-editor/comments/src/constant/index.d.ts +1 -1
  33. package/@ones-editor/comments/src/index.d.ts +1 -1
  34. package/@ones-editor/comments/src/locale/en-us.d.ts +1 -0
  35. package/@ones-editor/comments/src/locale/ja-jp.d.ts +1 -0
  36. package/@ones-editor/comments/src/locale/zh-cn.d.ts +1 -0
  37. package/@ones-editor/comments/src/text-comments/comments-command-provider.d.ts +3 -1
  38. package/@ones-editor/comments/src/types.d.ts +11 -17
  39. package/@ones-editor/core/src/core/converter/block-to-doc.d.ts +1 -1
  40. package/@ones-editor/core/src/core/converter/selected-block-to-doc.d.ts +3 -1
  41. package/@ones-editor/core/src/core/doc/doc.d.ts +6 -2
  42. package/@ones-editor/core/src/core/doc/rich-text/insert-text.d.ts +2 -1
  43. package/@ones-editor/core/src/core/editor/actions/auto-insert-block.d.ts +2 -2
  44. package/@ones-editor/core/src/core/editor/actions/break-text-block.d.ts +2 -0
  45. package/@ones-editor/core/src/core/editor/actions/delete-block-text.d.ts +2 -2
  46. package/@ones-editor/core/src/core/editor/actions/insert-block.d.ts +2 -2
  47. package/@ones-editor/core/src/core/editor/actions/insert-text.d.ts +2 -2
  48. package/@ones-editor/core/src/core/editor/editor-dom/dom-events.d.ts +3 -3
  49. package/@ones-editor/core/src/core/editor-doc/editor-doc.d.ts +4 -3
  50. package/@ones-editor/core/src/core/input-handler/remove-quoted.d.ts +2 -0
  51. package/@ones-editor/core/src/core/selection/editor-selection.d.ts +2 -2
  52. package/@ones-editor/core/src/core/types.d.ts +28 -12
  53. package/@ones-editor/core/src/i18n/i18n.d.ts +36 -0
  54. package/@ones-editor/core/src/local-doc/index.d.ts +6 -2
  55. package/@ones-editor/core/src/utils/file.d.ts +3 -0
  56. package/@ones-editor/core/src/utils/logger/index.d.ts +1 -0
  57. package/@ones-editor/drawio-embed/src/helper/default-style.d.ts +1 -0
  58. package/@ones-editor/drop-target/src/drop-indicator.d.ts +1 -0
  59. package/@ones-editor/drop-target/src/drop-target.d.ts +1 -1
  60. package/@ones-editor/drop-target/src/handlers/drag-file.d.ts +8 -0
  61. package/@ones-editor/e2e/cypress/support/commands.d.ts +25 -0
  62. package/@ones-editor/e2e/cypress/support/e2e.d.ts +1 -0
  63. package/@ones-editor/e2e/cypress.config.d.ts +3 -0
  64. package/@ones-editor/e2e/package.json +13 -0
  65. package/@ones-editor/e2e/src/block-menu/case.d.ts +17 -0
  66. package/@ones-editor/e2e/src/block-menu/menu.cy.d.ts +1 -0
  67. package/@ones-editor/e2e/src/data.d.ts +131 -0
  68. package/@ones-editor/e2e/src/input-handlers/case.d.ts +10 -0
  69. package/@ones-editor/e2e/src/input-handlers/shortcut.cy.d.ts +1 -0
  70. package/@ones-editor/e2e/src/list-block/case.d.ts +8 -0
  71. package/@ones-editor/e2e/src/list-block/list.cy.d.ts +1 -0
  72. package/@ones-editor/e2e/src/toc/case.d.ts +5 -0
  73. package/@ones-editor/e2e/src/toc/toc.cy.d.ts +1 -0
  74. package/@ones-editor/embed-block-helper/src/block-properties/embed-block-properties.d.ts +1 -0
  75. package/@ones-editor/file/package.json +8 -0
  76. package/@ones-editor/file/src/file-box/index.d.ts +4 -0
  77. package/@ones-editor/file/src/file-embed/card/file-icon.d.ts +1 -0
  78. package/@ones-editor/file/src/file-embed/card/index.d.ts +6 -0
  79. package/@ones-editor/file/src/file-embed/download-file.d.ts +2 -0
  80. package/@ones-editor/file/src/file-embed/index.d.ts +4 -0
  81. package/@ones-editor/file/src/index.d.ts +3 -0
  82. package/@ones-editor/file/src/types.d.ts +22 -0
  83. package/@ones-editor/find-dialog/src/find-dialog.d.ts +0 -1
  84. package/@ones-editor/heading-collapse/src/doc-event/index.d.ts +1 -1
  85. package/@ones-editor/heading-collapse/src/heading-collapse-button/drop-handler.d.ts +1 -1
  86. package/@ones-editor/image-embed/src/drag-drop/handle-drop-over.d.ts +5 -1
  87. package/@ones-editor/image-embed/src/drag-drop/handle-drop.d.ts +1 -1
  88. package/@ones-editor/image-embed/src/empty-image-converter.d.ts +5 -0
  89. package/@ones-editor/image-embed/src/index.d.ts +2 -1
  90. package/@ones-editor/input-handlers/src/enforce-with-document-title/types.d.ts +1 -0
  91. package/@ones-editor/input-handlers/src/i18n/en-us.d.ts +1 -0
  92. package/@ones-editor/input-handlers/src/i18n/zh-cn.d.ts +1 -0
  93. package/@ones-editor/input-handlers/src/markdown-shortcuts/table-converter.d.ts +2 -0
  94. package/@ones-editor/list-block/src/drop/index.d.ts +1 -1
  95. package/@ones-editor/list-block/src/lang/en-us.d.ts +3 -0
  96. package/@ones-editor/list-block/src/lang/zh-cn.d.ts +3 -0
  97. package/@ones-editor/mathjax/package.json +3 -0
  98. package/@ones-editor/mathjax/src/index.d.ts +2 -1
  99. package/@ones-editor/mathjax/src/mathjax-box/convert-mathjax.d.ts +5 -0
  100. package/@ones-editor/mathjax/src/mathjax-box/mathjax-editor.d.ts +2 -2
  101. package/@ones-editor/mention/src/block-mention.d.ts +10 -0
  102. package/@ones-editor/mention/src/dom/mention-button.d.ts +2 -0
  103. package/@ones-editor/mention/src/index.d.ts +2 -1
  104. package/@ones-editor/scroll-container/src/index.d.ts +6 -18
  105. package/@ones-editor/scroll-container/src/observer/locating-resize-observer.d.ts +12 -0
  106. package/@ones-editor/scroll-container/src/scroll-listener.d.ts +1 -0
  107. package/@ones-editor/sharedb-doc/src/doc/auth-connection.d.ts +3 -3
  108. package/@ones-editor/sharedb-doc/src/doc/sharedb-client.d.ts +3 -3
  109. package/@ones-editor/sharedb-doc/src/doc/sharedb-doc.d.ts +6 -1
  110. package/@ones-editor/sharedb-doc/src/index.d.ts +1 -0
  111. package/@ones-editor/sharedb-doc/src/types.d.ts +3 -2
  112. package/@ones-editor/table-block/src/table-block/doc-table-data.d.ts +1 -1
  113. package/@ones-editor/table-block/src/table-block/table-resize/resize-gripper.d.ts +1 -1
  114. package/@ones-editor/templates/package.json +9 -0
  115. package/@ones-editor/templates/src/index.d.ts +4 -0
  116. package/@ones-editor/templates/src/locale/en-us.d.ts +9 -0
  117. package/@ones-editor/templates/src/locale/index.d.ts +1 -0
  118. package/@ones-editor/templates/src/locale/zh-cn.d.ts +9 -0
  119. package/@ones-editor/templates/src/templates/select-template.d.ts +7 -0
  120. package/@ones-editor/templates/src/templates/types.d.ts +14 -0
  121. package/@ones-editor/toc/src/heading-scroll/index.d.ts +22 -0
  122. package/@ones-editor/toc/src/heading-scroll/utils.d.ts +7 -0
  123. package/@ones-editor/toc/src/index.d.ts +1 -0
  124. package/@ones-editor/tsconfig.tsbuildinfo +1 -1
  125. package/@ones-editor/ui/src/index.d.ts +3 -1
  126. package/@ones-editor/ui/src/quick-menu/basic-menu-items.d.ts +2 -4
  127. package/@ones-editor/ui/src/quick-menu/index.d.ts +1 -6
  128. package/@ones-editor/ui/src/quick-menu/insert-empty-block.d.ts +4 -2
  129. package/@ones-editor/ui/src/quick-menu/types.d.ts +24 -1
  130. package/@ones-editor/ui/src/toolbar/toolbar-handler.d.ts +0 -1
  131. package/@ones-editor/ui/src/tooltips/index.d.ts +4 -0
  132. package/@ones-editor/ui-base/src/auto-suggest/auto-suggest-menu.d.ts +1 -0
  133. package/@ones-editor/ui-base/src/auto-suggest/should-focus-to-editor.d.ts +2 -0
  134. package/@ones-editor/ui-base/src/command-bar/command-bar.d.ts +2 -1
  135. package/@ones-editor/ui-base/src/command-bar/types.d.ts +5 -0
  136. package/@ones-editor/ui-base/src/dialog/index.d.ts +1 -0
  137. package/@ones-editor/ui-base/src/dialog/manual-close-dialog.d.ts +2 -1
  138. package/@ones-editor/ui-base/src/dialog/types.d.ts +4 -0
  139. package/@ones-editor/ui-base/src/icons/index.d.ts +2 -1
  140. package/@ones-editor/versions/src/types.d.ts +1 -0
  141. package/@ones-editor/versions/src/version-dialog/index.d.ts +3 -1
  142. package/dist/comments/create-comment-editor.d.ts +4 -10
  143. package/dist/comments/local-doc-comments-provider.d.ts +18 -0
  144. package/dist/comments/{comments-provider.d.ts → sharedb-doc-comments-provider.d.ts} +4 -7
  145. package/dist/index.d.ts +12 -3
  146. package/dist/index.js +338 -219
  147. package/dist/lang/en-us.d.ts +13 -0
  148. package/dist/lang/index.d.ts +1 -0
  149. package/dist/lang/zh-cn.d.ts +13 -0
  150. package/dist/types.d.ts +22 -4
  151. package/package.json +5 -1
@@ -0,0 +1,8 @@
1
+ declare const _default: {
2
+ locker: {
3
+ lock: string;
4
+ unlock: string;
5
+ lockedBy: string;
6
+ };
7
+ };
8
+ export default _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ declare const _default: {
2
+ locker: {
3
+ lock: string;
4
+ unlock: string;
5
+ lockedBy: string;
6
+ };
7
+ };
8
+ export default _default;
@@ -1,3 +1,5 @@
1
1
  import BlockLockerHook from './hook';
2
2
  import './style.scss';
3
+ import './i18n';
4
+ export * from './helper';
3
5
  export { BlockLockerHook };
@@ -8,6 +8,7 @@ export default class BlockMenu {
8
8
  show(target: HTMLElement): void;
9
9
  isInMenu(eventTarget: EventTarget | null): boolean;
10
10
  handleShow: () => void;
11
+ handleClose: () => void;
11
12
  handleItemClick: (bar: unknown, item: CommandItem) => void;
12
13
  setBlock(block: BlockElement): void;
13
14
  close: () => void;
@@ -1,8 +1,8 @@
1
1
  import { BlockElement, OnesEditor, DocBlock } from '../../../../../../@ones-editor/core';
2
2
  import { BlockMenuItem } from '../types';
3
- export interface BlockData extends DocBlock {
4
- 'style-heading'?: string;
5
- 'style-blockquote'?: string;
3
+ export interface ParagraphBlockAttribute extends DocBlock {
4
+ 'heading'?: number;
5
+ quoted?: boolean;
6
6
  align?: 'left' | 'center' | 'right';
7
7
  checkbox?: 'checked' | 'unchecked';
8
8
  ordered?: boolean;
@@ -11,6 +11,7 @@ export type TextStyleItemOptions = {
11
11
  onAfterStyleItemClick?: () => void;
12
12
  };
13
13
  export default class TextStyleItem implements BlockMenuItem {
14
+ private editor;
14
15
  private block;
15
16
  private options;
16
17
  source: string;
@@ -1,3 +1,4 @@
1
- import { BlockElement, OnesEditor } from '../../../../@ones-editor/core';
1
+ import { BlockElement, OnesEditor, OnesEditorComment } from '../../../../@ones-editor/core';
2
2
  import { OnesEditorCommentsProvider } from '../types';
3
- export declare function addCommentToBlock(editor: OnesEditor, block: BlockElement, provider: OnesEditorCommentsProvider): import("@ones-editor/core").OnesEditorComment;
3
+ export declare function updateCommentToBlock(editor: OnesEditor, block: BlockElement, comment: OnesEditorComment): void;
4
+ export declare function addCommentToBlock(editor: OnesEditor, block: BlockElement, provider: OnesEditorCommentsProvider): OnesEditorComment;
@@ -1,3 +1,4 @@
1
- import { OnesEditor, OnesEditorComment, SelectionRange } from '../../../../@ones-editor/core';
1
+ import { OnesEditor, OnesEditorComment, SelectedBlock, SelectionRange } from '../../../../@ones-editor/core';
2
2
  import { OnesEditorCommentsProvider } from '../types';
3
+ export declare function addCommentToSelectedTextBlock(editor: OnesEditor, selectedBlock: SelectedBlock, comment: OnesEditorComment): void;
3
4
  export declare function addCommentToTextBlocks(editor: OnesEditor, range: SelectionRange, provider: OnesEditorCommentsProvider): OnesEditorComment;
@@ -0,0 +1,2 @@
1
+ import { OnesEditor } from '../../../../@ones-editor/core';
2
+ export declare function editorAddComment(editor: OnesEditor): void;
@@ -1,8 +1,10 @@
1
1
  import { BlockCommands, BlockElement, CommandItem, OnesEditor, OnesEditorBlockHook } from '../../../../@ones-editor/core';
2
+ import type { OnesEditorComments } from '../comments';
2
3
  import { OnesEditorCommentsProvider } from '../types';
3
4
  export default class CommentBlockHook implements OnesEditorBlockHook {
4
5
  private provider;
5
- constructor(provider: OnesEditorCommentsProvider);
6
+ private editorComments;
7
+ constructor(provider: OnesEditorCommentsProvider, editorComments: OnesEditorComments);
6
8
  commands(editor: OnesEditor, blockElement: BlockElement): BlockCommands;
7
9
  executeCommand: (editor: OnesEditor, block: BlockElement, item: CommandItem) => void;
8
10
  }
@@ -1,14 +1,13 @@
1
1
  import type { OnesEditor, DocObject } from '../../../../@ones-editor/core';
2
- import { CreateCommentEditorOption, OnesEditorCommentsProvider } from '../types';
2
+ import { OnesEditorCommentsProvider } from '../types';
3
3
  import './index.scss';
4
4
  export declare class CommentEditor {
5
5
  private mainEditor;
6
6
  private commentsProvider;
7
- private createOptions;
7
+ private doc;
8
8
  root: HTMLDivElement;
9
9
  private components;
10
- constructor(mainEditor: OnesEditor, commentsProvider: OnesEditorCommentsProvider, createOptions: CreateCommentEditorOption);
11
- private get editorDoc();
10
+ constructor(mainEditor: OnesEditor, commentsProvider: OnesEditorCommentsProvider, doc: DocObject);
12
11
  private createEditor;
13
12
  get editor(): OnesEditor;
14
13
  private handleEditorBlur;
@@ -17,7 +16,6 @@ export declare class CommentEditor {
17
16
  private inactiveEditor;
18
17
  handleInsertImg: () => Promise<void>;
19
18
  handleReadonlyChange: (editor: OnesEditor) => void;
20
- reloadDoc: () => void;
21
19
  setDoc: (doc: DocObject) => void;
22
20
  getDoc: () => DocObject;
23
21
  isEmpty: () => boolean;
@@ -1,10 +1,2 @@
1
- import type { OnesEditor, OnesEditorInputHandler } from '../../../../@ones-editor/core';
2
- import { OnesEditorCommentsProvider, CreateCommentEditorOption } from '../types';
3
- export declare class OnesEditorCommentInputHandler implements OnesEditorInputHandler {
4
- private commentsProvider;
5
- private createCommentEditorOptions;
6
- constructor(commentsProvider: OnesEditorCommentsProvider, createCommentEditorOptions: CreateCommentEditorOption);
7
- private handleQuickReplyEnter;
8
- private handleCommentItemEnter;
9
- handleBeforeKeyDown: (editor: OnesEditor, event: KeyboardEvent) => boolean;
10
- }
1
+ export { QuickReplyEditorInputHandler } from './quick-reply-input-handler';
2
+ export { CommentEditorInputHandler } from './input-handler';
@@ -0,0 +1,11 @@
1
+ import type { OnesEditor, OnesEditorInputHandler } from '../../../../@ones-editor/core';
2
+ import { OnesEditorCommentsProvider } from '../types';
3
+ import type { CommentGroupItem } from '../comments-list/group-item';
4
+ import type { CommentItem } from '../comment-item';
5
+ export declare class CommentEditorInputHandler implements OnesEditorInputHandler {
6
+ private commentsProvider;
7
+ private groupItem;
8
+ private commentItem;
9
+ constructor(commentsProvider: OnesEditorCommentsProvider, groupItem: CommentGroupItem, commentItem: CommentItem);
10
+ handleBeforeKeyDown: (editor: OnesEditor, event: KeyboardEvent) => boolean;
11
+ }
@@ -0,0 +1,7 @@
1
+ import type { OnesEditor, OnesEditorInputHandler } from '../../../../@ones-editor/core';
2
+ import type { CommentGroupItem } from '../comments-list/group-item';
3
+ export declare class QuickReplyEditorInputHandler implements OnesEditorInputHandler {
4
+ private groupItem;
5
+ constructor(groupItem: CommentGroupItem);
6
+ handleBeforeKeyDown: (editor: OnesEditor, event: KeyboardEvent) => boolean;
7
+ }
@@ -20,6 +20,7 @@ export declare class CommentItem {
20
20
  constructor(options: CommentItemOptions);
21
21
  private get commentOptions();
22
22
  get comment(): OnesEditorComment;
23
+ get doc(): import("@ones-editor/core").DocObject;
23
24
  private createRoot;
24
25
  private createMoreMenu;
25
26
  private createItem;
@@ -33,6 +34,7 @@ export declare class CommentItem {
33
34
  getCommentEditor: () => CommentEditor;
34
35
  reloadDoc(): void;
35
36
  edit(): void;
37
+ handleReadonlyChanged: (editor: OnesEditor) => void;
36
38
  destroy(): void;
37
39
  }
38
40
  export {};
@@ -1,2 +1,3 @@
1
1
  export { CommentItem } from './comment-item';
2
+ export { MobileCommentItem } from './mobile-comment-item';
2
3
  export { MiniCommentItem } from './mini-comment-item';
@@ -0,0 +1 @@
1
+ export { MobileCommentItem } from './mobile-comment-item';
@@ -0,0 +1,18 @@
1
+ import { OnesEditorComment, OnesEditor } from '../../../../../@ones-editor/core';
2
+ import { CommentEditor } from '../../comment-editor';
3
+ import { OnesEditorCommentsProvider } from '../../types';
4
+ import './mobile-comment-item.scss';
5
+ export declare class MobileCommentItem {
6
+ private editor;
7
+ private commentsProvider;
8
+ comment: OnesEditorComment;
9
+ root: HTMLDivElement;
10
+ private components;
11
+ constructor(editor: OnesEditor, commentsProvider: OnesEditorCommentsProvider, comment: OnesEditorComment);
12
+ private get doc();
13
+ createItem(): {
14
+ mobileCommentEditor: CommentEditor;
15
+ };
16
+ reloadDoc: () => void;
17
+ destroy(): void;
18
+ }
@@ -1,16 +1,20 @@
1
1
  import { OnesEditor } from '../../../../@ones-editor/core';
2
- import CommentsList, { MiniCommentsList } from '../comments-list';
3
2
  import { OnesEditorCommentsProvider } from '../types';
4
3
  export default class OnesEditorComments {
5
4
  private editor;
6
5
  private provider;
7
- private list;
8
- private miniList;
6
+ private commentList;
7
+ private mobileCommentList;
8
+ private miniCommentList;
9
9
  constructor(editor: OnesEditor, provider: OnesEditorCommentsProvider);
10
+ private get commentOptions();
11
+ get commentProvider(): OnesEditorCommentsProvider;
12
+ get isMobile(): boolean;
13
+ private getCommentRoot;
10
14
  destroy(): void;
11
- private handleCommentClose;
12
- private handleMiniCommentClose;
15
+ private showComment;
16
+ showCommentList: (groupId?: string) => void;
17
+ private handleCommentListClose;
18
+ private handleOnSelectComment;
13
19
  private handleMiniCommentItemClick;
14
- createCommentsList(): CommentsList;
15
- createCommentMiniList(): MiniCommentsList;
16
20
  }
@@ -1,11 +1,13 @@
1
1
  import { BlockElement, OnesEditor } from '../../../../@ones-editor/core';
2
2
  import { OnesEditorCommentsProvider } from '../types';
3
+ import type OnesEditorComments from '../comments/comments';
3
4
  export default class BlockCommentButton {
4
5
  private editor;
5
6
  private commentProvider;
7
+ private editorComments;
6
8
  private buttonElement;
7
9
  private currentBlockId;
8
- constructor(editor: OnesEditor, commentProvider: OnesEditorCommentsProvider);
10
+ constructor(editor: OnesEditor, commentProvider: OnesEditorCommentsProvider, editorComments: OnesEditorComments);
9
11
  destroy(): void;
10
12
  handleDocumentMouseMove: (event: MouseEvent) => void;
11
13
  handleButtonClick: (event: MouseEvent) => void;
@@ -1,10 +1,11 @@
1
1
  import { OnesEditorComment, OnesEditor } from '../../../../@ones-editor/core';
2
2
  export declare function isChildComment(comment: OnesEditorComment): boolean;
3
3
  export declare function getCommentsRoot(): HTMLDivElement;
4
- export declare function getCommentItemCountInGroupItem(groupItemRoot: HTMLElement): number;
4
+ export declare function getCommentItemCountInGroupItem(groupItemRoot: HTMLElement, commentItemCls?: string): number;
5
5
  export declare function getClosestCommentItemId(element: HTMLElement): string | null;
6
6
  export declare function addGroupActionToElement(element: HTMLElement, action: string): void;
7
7
  export declare function getClosestGroupItemActionElement(element: HTMLElement): HTMLElement;
8
8
  export declare function getActionFromActionElement(actionElement: HTMLElement): string;
9
9
  export declare function isDisabledActionElement(actionElement: HTMLElement): boolean;
10
10
  export declare function getBlockIdByGroupId(editor: OnesEditor, commentId: string): string | null;
11
+ export declare function getAllCommentInCommentElement(element: HTMLElement): string[];
@@ -3,29 +3,21 @@ import { TypedEmitter } from 'tiny-typed-emitter';
3
3
  import { OnesEditorCommentsEvents, OnesEditorCommentsProvider } from '../types';
4
4
  import CommentGroupList from './group-list';
5
5
  interface CommentsListEvents {
6
- onCommentListClose: () => void;
7
6
  onSelectComment: () => void;
8
7
  }
9
8
  export default class CommentsList extends TypedEmitter<CommentsListEvents> implements OnesEditorCommentsEvents {
10
9
  private editor;
11
10
  private commentsProvider;
12
11
  private root;
13
- private header;
14
12
  private groupsContainer;
15
13
  private list;
16
- constructor(editor: OnesEditor, commentsProvider: OnesEditorCommentsProvider);
14
+ constructor(editor: OnesEditor, commentsProvider: OnesEditorCommentsProvider, parent: HTMLElement);
17
15
  private get commentOptions();
18
16
  destroy(): void;
19
17
  onCreateComment(commentId: string, local: boolean): void;
20
18
  onDeleteComment(commentId: string, local: boolean): void;
21
19
  onUpdateComment(commentId: string, local: boolean): void;
22
- createHeader(): {
23
- header: HTMLDivElement;
24
- count: HTMLSpanElement;
25
- closeButton: HTMLButtonElement;
26
- };
27
20
  createList(): CommentGroupList;
28
- handleCloseButtonClick: () => void;
29
21
  handleSelectionOnComment: () => void;
30
22
  updateCommentCount: () => void;
31
23
  handleActiveItemChanged: () => void;
@@ -33,6 +33,7 @@ export declare class CommentGroupItem extends TypedEmitter<CommentGroupItemEvent
33
33
  handleUpdateChildComment(comment: OnesEditorComment): void;
34
34
  handleUpdateMainComment(comment: OnesEditorComment): void;
35
35
  deleteMainComment(commentId: OnesEditorComment['id']): void;
36
+ handleReadonlyChanged: (editor: OnesEditor) => void;
36
37
  edit(): void;
37
38
  destroy(): void;
38
39
  private handleResize;
@@ -6,7 +6,6 @@ import { CommentGroupItemHandlers } from './handler';
6
6
  export interface CommentGroupListEvents {
7
7
  activeItemChanged: (index: number) => void;
8
8
  itemLayoutUpdated: () => void;
9
- itemCountClicked: () => void;
10
9
  selectionOnComment: () => void;
11
10
  commentCountChanged: () => void;
12
11
  }
@@ -1,3 +1,4 @@
1
1
  import CommentsList from './comments-list';
2
+ export { MobileCommentsList } from './mobile-comments-list';
2
3
  export { MiniCommentsList } from './mini-comment';
3
4
  export default CommentsList;
@@ -2,7 +2,6 @@ import { OnesEditor } from '../../../../../@ones-editor/core';
2
2
  import { TypedEmitter } from 'tiny-typed-emitter';
3
3
  import { OnesEditorCommentsEvents, OnesEditorCommentsProvider } from '../..';
4
4
  import { MiniGroupList } from './group-list';
5
- import './style.scss';
6
5
  interface MiniCommentsListEvents {
7
6
  onMiniCommentClose: () => void;
8
7
  onItemClick: (groupId: string) => void;
@@ -12,15 +11,12 @@ export declare class MiniCommentsList extends TypedEmitter<MiniCommentsListEvent
12
11
  private commentsProvider;
13
12
  list: MiniGroupList;
14
13
  root: HTMLElement;
15
- header: HTMLElement;
16
- constructor(editor: OnesEditor, commentsProvider: OnesEditorCommentsProvider);
14
+ constructor(editor: OnesEditor, commentsProvider: OnesEditorCommentsProvider, parent: HTMLElement);
17
15
  onCreateComment(commentId: string, local: boolean): void;
18
16
  onDeleteComment(commentId: string, local: boolean): void;
19
17
  onUpdateComment(commentId: string, local: boolean): void;
20
- private createHeader;
21
18
  private createList;
22
19
  private handleListContainerClick;
23
- private closeMiniComment;
24
20
  show(): void;
25
21
  hide(): void;
26
22
  destroy(): void;
@@ -0,0 +1,17 @@
1
+ import type { OnesEditor, OnesEditorComment } from '../../../../../@ones-editor/core';
2
+ import { MobileCommentItem } from '../../comment-item';
3
+ import ListBase from '../list-base';
4
+ import { OnesEditorCommentsProvider } from '../../types';
5
+ interface MobileCommentChildrenListOptions {
6
+ editor: OnesEditor;
7
+ commentsProvider: OnesEditorCommentsProvider;
8
+ parent: HTMLElement;
9
+ comments: OnesEditorComment[];
10
+ }
11
+ export declare class MobileCommentChildrenList extends ListBase<OnesEditorComment, MobileCommentItem, unknown> {
12
+ constructor({ editor, parent, commentsProvider, comments }: MobileCommentChildrenListOptions);
13
+ protected findInsertPos(): number;
14
+ createItem(data: OnesEditorComment): MobileCommentItem;
15
+ destroy(): void;
16
+ }
17
+ export {};
@@ -0,0 +1,30 @@
1
+ import { TypedEmitter } from 'tiny-typed-emitter';
2
+ import { OnesEditor, OnesEditorComment } from '../../../../../@ones-editor/core';
3
+ import type { CommentWithChildren, OnesEditorCommentsProvider } from '../../types';
4
+ import { MobileCommentChildrenList } from './children-list';
5
+ interface MobileGroupItemEvents {
6
+ onSwitchGroup: (groupId: CommentWithChildren['groupId'], scrollTime: number) => void;
7
+ onReachBottom: () => void;
8
+ onReachTop: () => void;
9
+ }
10
+ export declare class MobileGroupItem extends TypedEmitter<MobileGroupItemEvents> {
11
+ private editor;
12
+ private commentsProvider;
13
+ comment: CommentWithChildren;
14
+ root: HTMLElement;
15
+ childrenList: MobileCommentChildrenList;
16
+ private mainItem;
17
+ private scroller;
18
+ constructor(editor: OnesEditor, commentsProvider: OnesEditorCommentsProvider, comment: CommentWithChildren);
19
+ createRoot: () => HTMLDivElement;
20
+ private createMainItem;
21
+ private createChildrenList;
22
+ get commentCount(): number;
23
+ private handleTouchEnd;
24
+ refreshScroller: () => void;
25
+ handleUpdateChildComment(comment: OnesEditorComment): void;
26
+ handleUpdateMainComment(comment: OnesEditorComment): void;
27
+ deleteMainComment(commentId: OnesEditorComment['id']): void;
28
+ destroy(): void;
29
+ }
30
+ export {};
@@ -0,0 +1,29 @@
1
+ import { OnesEditor, OnesEditorComment } from '../../../../../@ones-editor/core';
2
+ import type { CommentWithChildren, OnesEditorCommentsProvider } from '../../types';
3
+ import ListBase from '../list-base';
4
+ import { MobileGroupItem } from './group-item';
5
+ interface MobileCommentGroupListEvents {
6
+ onReachBottom: () => void;
7
+ onReachTop: () => void;
8
+ }
9
+ export declare class MobileGroupList extends ListBase<CommentWithChildren, MobileGroupItem, unknown, MobileCommentGroupListEvents> {
10
+ private scroller;
11
+ constructor(editor: OnesEditor, commentsProvider: OnesEditorCommentsProvider, parent: HTMLElement, scrollElement: HTMLElement);
12
+ createItem(data: CommentWithChildren): MobileGroupItem;
13
+ insertItem(data: CommentWithChildren): MobileGroupItem | null;
14
+ deleteItem: (commonId: CommentWithChildren['id']) => boolean;
15
+ private setupGroupItem;
16
+ protected findInsertPos(data: CommentWithChildren): number;
17
+ private handleReachBottom;
18
+ private handleReachTop;
19
+ private scrollToGroup;
20
+ setActiveItem(groupId: CommentWithChildren['groupId']): void;
21
+ findGroupItem: (groupId: string) => MobileGroupItem | undefined;
22
+ handleCreateComment(comment: OnesEditorComment, local: boolean): void;
23
+ handleDeleteComment(commentId: string): void;
24
+ handleUpdateComment(comment: OnesEditorComment): void;
25
+ handleDocChanged: () => void;
26
+ private updateComments;
27
+ destroy(): void;
28
+ }
29
+ export {};
@@ -0,0 +1 @@
1
+ export { MobileCommentsList } from './mobile-comments-list';
@@ -0,0 +1,28 @@
1
+ import { OnesEditor } from '../../../../../@ones-editor/core';
2
+ import { TypedEmitter } from 'tiny-typed-emitter';
3
+ import type { OnesEditorCommentsEvents, OnesEditorCommentsProvider } from '../../types';
4
+ interface MobileCommentsListEvents {
5
+ onCommentListClose: () => void;
6
+ }
7
+ export declare class MobileCommentsList extends TypedEmitter<MobileCommentsListEvents> implements OnesEditorCommentsEvents {
8
+ private editor;
9
+ private commentsProvider;
10
+ private root;
11
+ private list;
12
+ private mask;
13
+ private pullInfoContainer;
14
+ constructor(editor: OnesEditor, commentsProvider: OnesEditorCommentsProvider, parent: HTMLElement);
15
+ onCreateComment(commentId: string, local: boolean): void;
16
+ onDeleteComment(commentId: string, local: boolean): void;
17
+ onUpdateComment(commentId: string, local: boolean): void;
18
+ private handleRootClick;
19
+ private createPullInfo;
20
+ private showPullInfo;
21
+ private hidePullInfo;
22
+ private handleReachBottom;
23
+ private handleReachTop;
24
+ show: (groupId?: string) => void;
25
+ hide: () => void;
26
+ destroy(): void;
27
+ }
28
+ export {};
@@ -14,4 +14,4 @@ export declare enum GroupItemActions {
14
14
  export declare const GROUP_ITEM_ACTION_MARK = "group-item-action";
15
15
  export declare const LAST_COMMENT_ITEM_MARK = "last-comment-item";
16
16
  export declare const DISABLED_ACTION_CLS = "disabled";
17
- export declare const HIDDEN_CLS = "hidden";
17
+ export declare const SWITCH_SCROLL_TIME = 500;
@@ -3,9 +3,9 @@ import './style.scss';
3
3
  import './locale';
4
4
  export * from './types';
5
5
  export { OnesEditorCommentsRender } from './comments-render';
6
- export { OnesEditorCommentInputHandler } from './comment-input-handler';
7
6
  export { OnesEditorCommentPlaceholderHandler } from './comment-placeholder-handler';
8
7
  export { OnesEditorComments };
9
8
  export type { CommentItem } from './comment-item';
10
9
  export type { CommentGroupItem } from './comments-list/group-item';
11
10
  export { removeCommentFromBlock } from './actions/remove-comment-from-block';
11
+ export { editorAddComment } from './actions/editor-add-comment';
@@ -16,6 +16,7 @@ declare const _default: {
16
16
  isFirst: string;
17
17
  isLast: string;
18
18
  more: string;
19
+ comment: string;
19
20
  };
20
21
  };
21
22
  export default _default;
@@ -15,6 +15,7 @@ declare const _default: {
15
15
  replyTitle: string;
16
16
  isFirst: string;
17
17
  isLast: string;
18
+ comment: string;
18
19
  };
19
20
  };
20
21
  export default _default;
@@ -15,6 +15,7 @@ declare const _default: {
15
15
  replyTitle: string;
16
16
  isFirst: string;
17
17
  isLast: string;
18
+ comment: string;
18
19
  };
19
20
  };
20
21
  export default _default;
@@ -1,9 +1,11 @@
1
1
  import { BlockCommandItem, BlockCommandItemWithSource, BlockElement, CommandParams, CommandResult, OnesEditor, OnesEditorCommandProvider, SelectionRange } from '../../../../@ones-editor/core';
2
2
  import { OnesEditorCommentsProvider } from '../types';
3
+ import type { OnesEditorComments } from '../comments';
3
4
  export default class CommentsCommandProvider implements OnesEditorCommandProvider {
4
5
  private provider;
6
+ private editorComments;
5
7
  id: string;
6
- constructor(provider: OnesEditorCommentsProvider);
8
+ constructor(provider: OnesEditorCommentsProvider, editorComments: OnesEditorComments);
7
9
  getAvailableCommands(editor: OnesEditor, block: BlockElement, range: SelectionRange): BlockCommandItem[];
8
10
  executeRangeCommand(editor: OnesEditor, range: SelectionRange, command: BlockCommandItemWithSource, params: CommandParams, result: CommandResult): boolean;
9
11
  }
@@ -1,34 +1,28 @@
1
1
  import { DocObject, LocalDoc, OnesEditor, OnesEditorComment } from '../../../@ones-editor/core';
2
- import { AuthMessage } from '../../../@ones-editor/sharedb-doc';
3
- import type { CommentGroupItem } from './comments-list/group-item';
4
- import type { CommentItem } from './comment-item';
5
2
  export type CommentData = {
6
3
  [p in string]: unknown;
7
4
  };
5
+ export interface OnesEditorCommentController {
6
+ showCommentList: () => void;
7
+ }
8
+ export type CommentRootType = keyof Pick<OnesEditorCommentOptions, 'container' | 'miniContainer' | 'mobileContainer'>;
8
9
  export interface OnesEditorCommentOptions {
9
- hideHeader?: boolean;
10
+ controller: OnesEditorCommentController;
11
+ container?: HTMLElement;
12
+ miniContainer?: HTMLElement;
13
+ mobileContainer?: HTMLElement;
10
14
  disableReply?: boolean;
11
15
  disableEdit?: boolean;
16
+ pullThreshold?: number;
12
17
  onUpdateLayout?: (editor: OnesEditor, data: CommentData) => void;
18
+ onCommentCountChange?: (count: number) => void;
13
19
  }
14
20
  export interface OnesEditorCommentsEvents {
15
21
  onCreateComment: (commentId: string, local: boolean) => void;
16
22
  onDeleteComment: (commentId: string, local: boolean) => void;
17
23
  onUpdateComment: (commentId: string, local: boolean) => void;
18
24
  }
19
- export type CreateQuickReplyEditorOption = {
20
- type: 'quick-reply';
21
- groupItem: CommentGroupItem;
22
- };
23
- export type CreateCommentItemEditorOption = {
24
- type: 'comment-item';
25
- commentItem: CommentItem;
26
- groupItem: CommentGroupItem;
27
- comment: OnesEditorComment;
28
- };
29
- export type CreateCommentEditorOption = CreateQuickReplyEditorOption | CreateCommentItemEditorOption;
30
25
  export interface OnesEditorCommentsProvider {
31
- getAuth: () => AuthMessage;
32
26
  getComments: () => OnesEditorComment[];
33
27
  getComment: (id: string) => OnesEditorComment;
34
28
  getCommentDoc: (commentId: string) => DocObject;
@@ -37,7 +31,7 @@ export interface OnesEditorCommentsProvider {
37
31
  localUpdateComment: (comment: OnesEditorComment, doc: DocObject) => void;
38
32
  addListener: (callback: OnesEditorCommentsEvents) => void;
39
33
  removeListener: (callback: OnesEditorCommentsEvents) => void;
40
- createCommentEditor: (parent: HTMLElement, doc: LocalDoc, op: CreateCommentEditorOption) => OnesEditor;
34
+ createCommentEditor: (parent: HTMLElement, doc: LocalDoc) => OnesEditor;
41
35
  }
42
36
  export interface CommentWithChildren extends OnesEditorComment {
43
37
  children: OnesEditorComment[];
@@ -1,3 +1,3 @@
1
1
  import { DocObject } from '../doc';
2
2
  import { BlockElement, OnesEditor } from '../types';
3
- export declare function blockToDoc(editor: OnesEditor, block: BlockElement): DocObject;
3
+ export declare function blockToDoc(editor: OnesEditor, block: BlockElement, ignoreLockInfo?: boolean): DocObject;
@@ -1,3 +1,5 @@
1
1
  import { DocObject } from '../doc';
2
2
  import { OnesEditor, SelectedBlock } from '../types';
3
- export declare function selectedBlockToDoc(editor: OnesEditor, selectedBlock: SelectedBlock): DocObject;
3
+ export declare function selectedBlockToDoc(editor: OnesEditor, selectedBlock: SelectedBlock, options?: {
4
+ ignoreLockInfo: boolean;
5
+ }): DocObject;
@@ -179,15 +179,19 @@ export interface RecognizeLinkResult {
179
179
  providerName?: string;
180
180
  url: string;
181
181
  }
182
+ export interface InsertBlockOptions {
183
+ noScroll?: boolean;
184
+ }
185
+ export type UpdateBlockOptions = InsertBlockOptions;
182
186
  export interface OnesEditorDoc {
183
187
  registerCallback: (callbacks: OnesEditorDocCallbacks) => void;
184
188
  unregisterCallback: (callbacks: OnesEditorDocCallbacks) => void;
185
189
  toJSON: () => DocObject;
186
190
  getContainerBlocks: (containerId: string) => DocBlock[];
187
191
  getBlockData: (containerId: string, blockIndex: number) => DocBlock;
188
- localUpdateBlockText: (containerId: string, blockIndex: number, actions: DocBlockTextActions) => DocBlockText;
192
+ localUpdateBlockText: (containerId: string, blockIndex: number, actions: DocBlockTextActions, options?: UpdateBlockOptions) => DocBlockText;
189
193
  localUpdateBlockData: (containerId: string, blockIndex: number, delta: DocBlockDelta, newRange: OnesEditorDocRange) => DocBlock;
190
- localInsertBlock: (containerId: string, blockIndex: number, data: DocBlock, newRange: OnesEditorDocRange) => DocBlock;
194
+ localInsertBlock: (containerId: string, blockIndex: number, data: DocBlock, newRange: OnesEditorDocRange, options?: InsertBlockOptions) => DocBlock;
191
195
  localDeleteBlock: (containerId: string, blockIndex: number, newRange: OnesEditorDocRange) => DocBlock;
192
196
  localInsertChildContainer: (containerId: string, blocks: DocBlock[]) => void;
193
197
  localDeleteChildContainers: (containerIds: string[]) => void;
@@ -1,3 +1,4 @@
1
- import { DocBlockText, DocBlockTextActions, DocBlockTextAttributes } from '../doc';
1
+ import { DocBlockText, DocBlockTextActions, DocBlockTextAttributes, DocBox, DocBlockTextOp } from '../doc';
2
2
  export declare function insertText(richText: DocBlockText, offset: number, text: string | DocBlockText, attributes: DocBlockTextAttributes | null): DocBlockText;
3
+ export declare function createBoxOp(boxData: DocBox): DocBlockTextOp;
3
4
  export declare function createInsertOps(offset: number, text: string | DocBlockText, attributes: DocBlockTextAttributes | null): DocBlockTextActions;
@@ -1,3 +1,3 @@
1
- import { DocBlock, OnesEditorDocRange } from '../../doc';
1
+ import { InsertBlockOptions, DocBlock, OnesEditorDocRange } from '../../doc';
2
2
  import { OnesEditor } from '../../types';
3
- export declare function editorAutoInsertBlock(editor: OnesEditor, blockData: DocBlock, containerId?: string, blockIndex?: number, newRange?: OnesEditorDocRange): import("../../types").BlockElement;
3
+ export declare function editorAutoInsertBlock(editor: OnesEditor, blockData: DocBlock, containerId?: string, blockIndex?: number, newRange?: OnesEditorDocRange, insertBlockOptions?: InsertBlockOptions): import("../../types").BlockElement;
@@ -1,6 +1,8 @@
1
1
  import { BlockElement, BreakTextOptions, OnesEditor } from '../../types';
2
+ import { DocBlockAttributes } from '../../doc';
2
3
  export interface BreakTextBlockResult {
3
4
  block: BlockElement;
4
5
  newBlock: BlockElement;
5
6
  }
7
+ export declare function copyBlockAttributes(editor: OnesEditor, block: BlockElement): DocBlockAttributes;
6
8
  export declare function editorBreakTextBlock(editor: OnesEditor, block: BlockElement, offset: number, options?: BreakTextOptions): BreakTextBlockResult;