@ones-editor/editor 0.0.3-beta.1 → 0.0.3-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/@ones-editor/block-menu/src/block-menu/index.d.ts +1 -1
  2. package/@ones-editor/block-menu/src/block-menu/items/index.d.ts +2 -1
  3. package/@ones-editor/block-menu/src/block-menu/items/insert-block-items/index.d.ts +1 -1
  4. package/@ones-editor/block-menu/src/block-menu/items/text-styles/text-style-item.d.ts +16 -3
  5. package/@ones-editor/block-menu/src/locale/en-us.d.ts +5 -0
  6. package/@ones-editor/block-menu/src/locale/zh-cn.d.ts +5 -0
  7. package/@ones-editor/comments/src/comment-item/index.d.ts +1 -0
  8. package/@ones-editor/comments/src/comment-item/mini-comment-item/index.d.ts +1 -0
  9. package/@ones-editor/comments/src/comment-item/mini-comment-item/mini-comment-item.d.ts +7 -0
  10. package/@ones-editor/comments/src/comments/comments.d.ts +6 -1
  11. package/@ones-editor/comments/src/comments-helper/get-comments-from-doc.d.ts +3 -1
  12. package/@ones-editor/comments/src/comments-helper/get-mini-comment-from-doc.d.ts +7 -0
  13. package/@ones-editor/comments/src/comments-helper/utils.d.ts +2 -1
  14. package/@ones-editor/comments/src/comments-list/comments-list.d.ts +11 -5
  15. package/@ones-editor/comments/src/comments-list/group-item.d.ts +0 -3
  16. package/@ones-editor/comments/src/comments-list/group-list.d.ts +1 -1
  17. package/@ones-editor/comments/src/comments-list/handler.d.ts +0 -1
  18. package/@ones-editor/comments/src/comments-list/index.d.ts +1 -0
  19. package/@ones-editor/comments/src/comments-list/list-base.d.ts +3 -2
  20. package/@ones-editor/comments/src/comments-list/mini-comment/group-item.d.ts +16 -0
  21. package/@ones-editor/comments/src/comments-list/mini-comment/group-list.d.ts +16 -0
  22. package/@ones-editor/comments/src/comments-list/mini-comment/index.d.ts +1 -0
  23. package/@ones-editor/comments/src/comments-list/mini-comment/mini-comments-list.d.ts +28 -0
  24. package/@ones-editor/comments/src/constant/index.d.ts +0 -1
  25. package/@ones-editor/comments/src/types.d.ts +12 -0
  26. package/@ones-editor/core/src/core/types.d.ts +3 -0
  27. package/@ones-editor/list-block/src/list-notify.d.ts +2 -0
  28. package/@ones-editor/list-block/src/mindmap/index.d.ts +2 -0
  29. package/@ones-editor/table-block/src/table-block/border-bar/table-border-bar.d.ts +1 -0
  30. package/@ones-editor/table-block/src/table-block/border-bar/table-row-column-toolbar.d.ts +1 -0
  31. package/@ones-editor/table-block/src/table-block/close-toolbar.d.ts +2 -0
  32. package/@ones-editor/tsconfig.tsbuildinfo +1 -1
  33. package/@ones-editor/ui/src/icons/index.d.ts +1 -14
  34. package/@ones-editor/ui/src/index.d.ts +3 -1
  35. package/@ones-editor/ui-base/src/command-bar/command-bar.d.ts +1 -1
  36. package/@ones-editor/ui-base/src/icons/index.d.ts +35 -12
  37. package/@ones-editor/ui-base/src/index.d.ts +1 -0
  38. package/@ones-editor/{ui/src/quick-menu/item-shortcuts.d.ts → ui-base/src/item-shortcuts/index.d.ts} +0 -0
  39. package/@ones-editor/ui-base/src/locale/en-us.d.ts +3 -0
  40. package/@ones-editor/ui-base/src/locale/zh-cn.d.ts +3 -0
  41. package/dist/index.js +359 -29062
  42. package/package.json +1 -1
@@ -10,7 +10,7 @@ export default class BlockMenu {
10
10
  handleShow: () => void;
11
11
  handleItemClick: (bar: unknown, item: CommandItem) => void;
12
12
  setBlock(block: BlockElement): void;
13
- close(): void;
13
+ close: () => void;
14
14
  get isVisible(): boolean;
15
15
  destroy(): void;
16
16
  }
@@ -1,4 +1,5 @@
1
1
  import { BlockElement, OnesEditor } from '../../../../../@ones-editor/core';
2
+ import { TextStyleItemOptions } from './text-styles/text-style-item';
2
3
  import { BlockMenuItem } from './types';
3
- export declare function getBlockMenuItems(editor: OnesEditor, block: BlockElement): BlockMenuItem[];
4
+ export declare function getBlockMenuItems(editor: OnesEditor, block: BlockElement, options: TextStyleItemOptions): BlockMenuItem[];
4
5
  export declare function handleBlockMenuItemClick(editor: OnesEditor, block: BlockElement, item: BlockMenuItem): void;
@@ -1,4 +1,4 @@
1
1
  import { BlockElement, OnesEditor } from '../../../../../../@ones-editor/core';
2
2
  import { BlockMenuItem } from '../types';
3
3
  export declare function getAllInsertBlockItems(editor: OnesEditor): BlockMenuItem[];
4
- export declare function executeInsertBlockCommand(editor: OnesEditor, block: BlockElement, item: BlockMenuItem): Promise<BlockElement | null> | undefined;
4
+ export declare function executeInsertBlockCommand(editor: OnesEditor, block: BlockElement, item: BlockMenuItem, insertAbove?: boolean): Promise<BlockElement | null> | undefined;
@@ -1,13 +1,26 @@
1
- import { BlockElement, OnesEditor } from '../../../../../../@ones-editor/core';
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;
6
+ align?: 'left' | 'center' | 'right';
7
+ checkbox?: 'checked' | 'unchecked';
8
+ ordered?: boolean;
9
+ }
10
+ export type TextStyleItemOptions = {
11
+ onAfterStyleItemClick?: () => void;
12
+ };
3
13
  export default class TextStyleItem implements BlockMenuItem {
4
14
  private block;
15
+ private options;
5
16
  source: string;
6
17
  id: string;
7
18
  name: string;
8
19
  element: HTMLElement;
9
- constructor(editor: OnesEditor, block: BlockElement);
20
+ constructor(editor: OnesEditor, block: BlockElement, options: TextStyleItemOptions);
10
21
  createItemElement(editor: OnesEditor, block: BlockElement): HTMLDivElement;
11
- createItem(id: string, icon: string, parent: HTMLElement): void;
22
+ private createHeadingItemElement;
23
+ private createListItemElement;
24
+ createItem(id: string, icon: string, parent: HTMLElement, active?: boolean): void;
12
25
  handleClick: (editor: OnesEditor, event: Event) => void;
13
26
  }
@@ -8,8 +8,13 @@ declare const _default: {
8
8
  actions: string;
9
9
  thirdParty: string;
10
10
  };
11
+ command: {
12
+ insertAbove: string;
13
+ insertAfter: string;
14
+ };
11
15
  button: {
12
16
  searchPlaceholder: string;
17
+ tips: string;
13
18
  };
14
19
  };
15
20
  };
@@ -8,8 +8,13 @@ declare const _default: {
8
8
  actions: string;
9
9
  thirdParty: string;
10
10
  };
11
+ command: {
12
+ insertAbove: string;
13
+ insertAfter: string;
14
+ };
11
15
  button: {
12
16
  searchPlaceholder: string;
17
+ tips: string;
13
18
  };
14
19
  };
15
20
  };
@@ -1 +1,2 @@
1
1
  export { CommentItem } from './comment-item';
2
+ export { MiniCommentItem } from './mini-comment-item';
@@ -0,0 +1 @@
1
+ export { MiniCommentItem } from './mini-comment-item';
@@ -0,0 +1,7 @@
1
+ import './mini-comment-item.scss';
2
+ export declare class MiniCommentItem {
3
+ private root;
4
+ private countElement;
5
+ constructor(id: string, parent: HTMLElement);
6
+ updateCount: (count: number | string) => void;
7
+ }
@@ -1,11 +1,16 @@
1
1
  import { OnesEditor } from '../../../../@ones-editor/core';
2
- import CommentsList from '../comments-list';
2
+ import CommentsList, { MiniCommentsList } from '../comments-list';
3
3
  import { OnesEditorCommentsProvider } from '../types';
4
4
  export default class OnesEditorComments {
5
5
  private editor;
6
6
  private provider;
7
7
  private list;
8
+ private miniList;
8
9
  constructor(editor: OnesEditor, provider: OnesEditorCommentsProvider);
9
10
  destroy(): void;
11
+ private handleCommentClose;
12
+ private handleMiniCommentClose;
13
+ private handleMiniCommentItemClick;
10
14
  createCommentsList(): CommentsList;
15
+ createCommentMiniList(): MiniCommentsList;
11
16
  }
@@ -1,3 +1,5 @@
1
- import { OnesEditor } from '../../../../@ones-editor/core';
1
+ import { OnesEditor, OnesEditorComment } from '../../../../@ones-editor/core';
2
2
  import { CommentWithChildren, OnesEditorCommentsProvider } from '../types';
3
3
  export declare function getCommentsGroupFromDoc(editor: OnesEditor, commentsProvider: OnesEditorCommentsProvider): CommentWithChildren[];
4
+ export declare function flattenCommentGroup(comment: CommentWithChildren): OnesEditorComment[];
5
+ export declare function getCommentsCountInDoc(editor: OnesEditor, commentsProvider: OnesEditorCommentsProvider): number;
@@ -0,0 +1,7 @@
1
+ import { OnesEditor } from '../../../../@ones-editor/core';
2
+ import { OnesEditorCommentsProvider } from '../types';
3
+ export declare function getMiniCommentsGroupFromDoc(editor: OnesEditor, commentsProvider: OnesEditorCommentsProvider): {
4
+ firstComment: import("@ones-editor/core").OnesEditorComment;
5
+ commentIds: import("../types").CommentIds;
6
+ blockId: string;
7
+ }[];
@@ -1,4 +1,4 @@
1
- import { OnesEditorComment } from '../../../../@ones-editor/core';
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
4
  export declare function getCommentItemCountInGroupItem(groupItemRoot: HTMLElement): number;
@@ -7,3 +7,4 @@ export declare function addGroupActionToElement(element: HTMLElement, action: st
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
+ export declare function getBlockIdByGroupId(editor: OnesEditor, commentId: string): string | null;
@@ -1,7 +1,12 @@
1
1
  import { OnesEditor } from '../../../../@ones-editor/core';
2
+ import { TypedEmitter } from 'tiny-typed-emitter';
2
3
  import { OnesEditorCommentsEvents, OnesEditorCommentsProvider } from '../types';
3
4
  import CommentGroupList from './group-list';
4
- export default class CommentsList implements OnesEditorCommentsEvents {
5
+ interface CommentsListEvents {
6
+ onCommentListClose: () => void;
7
+ onSelectComment: () => void;
8
+ }
9
+ export default class CommentsList extends TypedEmitter<CommentsListEvents> implements OnesEditorCommentsEvents {
5
10
  private editor;
6
11
  private commentsProvider;
7
12
  private root;
@@ -18,13 +23,14 @@ export default class CommentsList implements OnesEditorCommentsEvents {
18
23
  header: HTMLDivElement;
19
24
  count: HTMLSpanElement;
20
25
  closeButton: HTMLButtonElement;
21
- openButton: HTMLButtonElement;
22
26
  };
23
27
  createList(): CommentGroupList;
24
- openMiniComment: () => void;
25
- hideMiniComment: () => void;
28
+ handleCloseButtonClick: () => void;
29
+ handleSelectionOnComment: () => void;
26
30
  updateCommentCount: () => void;
27
31
  handleActiveItemChanged: () => void;
28
32
  handleItemLayoutUpdated: () => void;
29
- handleItemCountClick: () => void;
33
+ show(groupId?: string): void;
34
+ hide(): void;
30
35
  }
36
+ export {};
@@ -14,7 +14,6 @@ export declare class CommentGroupItem extends TypedEmitter<CommentGroupItemEvent
14
14
  comment: CommentWithChildren;
15
15
  private groupList;
16
16
  root: HTMLDivElement;
17
- private commentCountElement;
18
17
  private header;
19
18
  private mainItem;
20
19
  childrenList: CommentChildrenList;
@@ -24,12 +23,10 @@ export declare class CommentGroupItem extends TypedEmitter<CommentGroupItemEvent
24
23
  get commentCount(): number;
25
24
  private createRoot;
26
25
  private createQuickReply;
27
- private createCountElement;
28
26
  private createHeader;
29
27
  private createItem;
30
28
  private createChildrenList;
31
29
  findCommentItem(commentId: string | null): CommentItem | null | undefined;
32
- updateCommentItemCount: () => void;
33
30
  updateLastCommentItem: () => void;
34
31
  updateSwitchButton: () => void;
35
32
  handleCreateComment(comment: OnesEditorComment): CommentItem;
@@ -8,6 +8,7 @@ export interface CommentGroupListEvents {
8
8
  itemLayoutUpdated: () => void;
9
9
  itemCountClicked: () => void;
10
10
  selectionOnComment: () => void;
11
+ commentCountChanged: () => void;
11
12
  }
12
13
  export default class CommentGroupList extends ListBase<CommentWithChildren, CommentGroupItem, unknown, CommentGroupListEvents> {
13
14
  groupItemHandlers: CommentGroupItemHandlers;
@@ -32,6 +33,5 @@ export default class CommentGroupList extends ListBase<CommentWithChildren, Comm
32
33
  handleDocChanged: () => void;
33
34
  handleItemResize: () => void;
34
35
  updateGroupItemSwitch: () => void;
35
- updateAllGroupItemCount: () => void;
36
36
  private updateComments;
37
37
  }
@@ -15,7 +15,6 @@ export declare class CommentGroupItemHandlers {
15
15
  private handleCommentItemMore;
16
16
  private handleCommentItemOk;
17
17
  private handleCommentItemCancel;
18
- private handleCommentItemCountClick;
19
18
  handleCommentItemEdit: (commentItem: CommentItem) => void;
20
19
  handleCommentItemDelete: (commentItem: CommentItem) => void;
21
20
  execute: (element: HTMLElement, groupItem: CommentGroupItem, commentId: string | null, itemIndex: number) => void;
@@ -1,2 +1,3 @@
1
1
  import CommentsList from './comments-list';
2
+ export { MiniCommentsList } from './mini-comment';
2
3
  export default CommentsList;
@@ -1,7 +1,7 @@
1
1
  import { TypedEmitter, ListenerSignature, DefaultListener } from 'tiny-typed-emitter';
2
- import { OnesEditor, OnesEditorComment } from '../../../../@ones-editor/core';
2
+ import { OnesEditor } from '../../../../@ones-editor/core';
3
3
  import { OnesEditorCommentsProvider, ItemBase } from '../types';
4
- export default abstract class ListBase<TData extends OnesEditorComment, TItem extends ItemBase, ListOptions = unknown, TEvents extends ListenerSignature<TEvents> = DefaultListener> extends TypedEmitter<TEvents> {
4
+ export default abstract class ListBase<TData, TItem extends ItemBase, ListOptions = unknown, TEvents extends ListenerSignature<TEvents> = DefaultListener> extends TypedEmitter<TEvents> {
5
5
  protected editor: OnesEditor;
6
6
  protected commentsProvider: OnesEditorCommentsProvider;
7
7
  protected container: HTMLElement;
@@ -10,6 +10,7 @@ export default abstract class ListBase<TData extends OnesEditorComment, TItem ex
10
10
  constructor(editor: OnesEditor, commentsProvider: OnesEditorCommentsProvider, container: HTMLElement, data: TData[], options: ListOptions);
11
11
  get items(): TItem[];
12
12
  private createList;
13
+ protected reloadList(data: TData[]): void;
13
14
  insertItem(data: TData): TItem | null;
14
15
  deleteItem(commentId: string): boolean;
15
16
  findItemIndex(commentId: string): number;
@@ -0,0 +1,16 @@
1
+ import { OnesEditor, OnesEditorComment } from '../../../../../@ones-editor/core';
2
+ import { MiniCommentGroup } from '../../types';
3
+ export declare class MiniGroupItem {
4
+ private editor;
5
+ private commentGroup;
6
+ root: HTMLElement;
7
+ blockId: string;
8
+ comment: OnesEditorComment;
9
+ private miniCommentItem;
10
+ constructor(editor: OnesEditor, commentGroup: MiniCommentGroup);
11
+ private getBlockId;
12
+ private updateCommentItemCount;
13
+ get commentCount(): number;
14
+ alignToBlock(): void;
15
+ destroy(): void;
16
+ }
@@ -0,0 +1,16 @@
1
+ import { OnesEditor, OnesEditorComment } from '../../../../../@ones-editor/core';
2
+ import { MiniCommentGroup, OnesEditorCommentsProvider } from '../../types';
3
+ import ListBase from '../list-base';
4
+ import { MiniGroupItem } from './group-item';
5
+ export declare class MiniGroupList extends ListBase<MiniCommentGroup, MiniGroupItem, unknown> {
6
+ protected editor: OnesEditor;
7
+ protected commentsProvider: OnesEditorCommentsProvider;
8
+ constructor(editor: OnesEditor, commentsProvider: OnesEditorCommentsProvider, parent: HTMLElement);
9
+ protected createItem(data: MiniCommentGroup): MiniGroupItem;
10
+ protected findInsertPos(): number;
11
+ private handleDocChanged;
12
+ private updateMiniCommentsGroup;
13
+ handleCreateComment(comment: OnesEditorComment, local: boolean): void;
14
+ handleDeleteComment(commentId: string): void;
15
+ destroy(): void;
16
+ }
@@ -0,0 +1 @@
1
+ export { MiniCommentsList } from './mini-comments-list';
@@ -0,0 +1,28 @@
1
+ import { OnesEditor } from '../../../../../@ones-editor/core';
2
+ import { TypedEmitter } from 'tiny-typed-emitter';
3
+ import { OnesEditorCommentsEvents, OnesEditorCommentsProvider } from '../..';
4
+ import { MiniGroupList } from './group-list';
5
+ import './style.scss';
6
+ interface MiniCommentsListEvents {
7
+ onMiniCommentClose: () => void;
8
+ onItemClick: (groupId: string) => void;
9
+ }
10
+ export declare class MiniCommentsList extends TypedEmitter<MiniCommentsListEvents> implements OnesEditorCommentsEvents {
11
+ private editor;
12
+ private commentsProvider;
13
+ list: MiniGroupList;
14
+ root: HTMLElement;
15
+ header: HTMLElement;
16
+ constructor(editor: OnesEditor, commentsProvider: OnesEditorCommentsProvider);
17
+ onCreateComment(commentId: string, local: boolean): void;
18
+ onDeleteComment(commentId: string, local: boolean): void;
19
+ onUpdateComment(commentId: string, local: boolean): void;
20
+ private createHeader;
21
+ private createList;
22
+ private handleListContainerClick;
23
+ private closeMiniComment;
24
+ show(): void;
25
+ hide(): void;
26
+ destroy(): void;
27
+ }
28
+ export {};
@@ -7,7 +7,6 @@ export declare enum GroupItemActions {
7
7
  CommentItemCancel = "comment-item-cancel",
8
8
  CommentItemDelete = "comment-item-delete",
9
9
  CommentItemEdit = "comment-item-edit",
10
- CommentItemCountClick = "comment-item-count-click",
11
10
  QuickReply = "quick-reply",
12
11
  QuickReplyOk = "quick-reply-ok",
13
12
  QuickReplyCancel = "quick-reply-cancel"
@@ -47,3 +47,15 @@ export interface ItemBase {
47
47
  comment: OnesEditorComment;
48
48
  destroy: () => void;
49
49
  }
50
+ export type BlockId = string;
51
+ export type CommentIds = Set<string>;
52
+ export type MiniCommentGroupsMap = Map<BlockId, {
53
+ firstComment: OnesEditorComment;
54
+ commentIds: CommentIds;
55
+ }>;
56
+ export interface MiniCommentGroup {
57
+ blockId: BlockId;
58
+ firstComment: OnesEditorComment;
59
+ commentIds: CommentIds;
60
+ }
61
+ export type MiniCommentGroups = MiniCommentGroup[];
@@ -113,6 +113,7 @@ export interface CommandItem {
113
113
  icon?: string;
114
114
  childrenType?: 'menu' | 'toolbar';
115
115
  children?: CommandItem[];
116
+ childrenMenuId?: string;
116
117
  data?: unknown;
117
118
  group?: string;
118
119
  groupOrder?: number;
@@ -188,6 +189,7 @@ export interface Block {
188
189
  clearSelection: (editor: OnesEditor) => void;
189
190
  getBlockProperties?: (editor: OnesEditor, block: BlockElement) => BlockProperties;
190
191
  getOptions?: (editor: OnesEditor) => BlockOptions;
192
+ notify?: (editor: OnesEditor, command: string, params?: unknown) => void;
191
193
  handleBlockElementUpdated?: (editor: OnesEditor, block: BlockElement, blockData: DocBlock) => void;
192
194
  handleContainerResized?: (editor: OnesEditor, block: BlockElement) => void;
193
195
  handleDeleteBlock?: (editor: OnesEditor, block: BlockElement, local: boolean, options: DeleteBlockEventOptions) => void;
@@ -445,6 +447,7 @@ export interface OnesEditor extends TypedEmitter<OnesEditorEvents> {
445
447
  getCustom: <T extends OnesEditorCustom>(name: string) => T;
446
448
  replaceCustom: <T extends OnesEditorCustom>(name: string, newCustom: T) => T;
447
449
  findCustom: <T extends OnesEditorCustom>(name: string) => T | null;
450
+ findCustomByType: <T extends OnesEditorCustom>(className: new (editor: OnesEditor) => T) => T | null;
448
451
  destroyCustom: (name: string) => void;
449
452
  getComponentOptions: <T>(name: string) => T | null;
450
453
  registerLocalEvents: (events: EditorDocLocalActionCallbacks) => void;
@@ -0,0 +1,2 @@
1
+ import { OnesEditor } from '../../../@ones-editor/core';
2
+ export declare function notify(editor: OnesEditor, command: string, params?: unknown): void;
@@ -5,9 +5,11 @@ export default class OnesEditorListMindmap implements OnesEditorCustom {
5
5
  toMindmapButton: HTMLButtonElement;
6
6
  currentBlock: BlockElement | null;
7
7
  constructor(editor: OnesEditor);
8
+ static get(editor: OnesEditor): OnesEditorListMindmap | null;
8
9
  destroy(): void;
9
10
  handleHoveringBlock: (block: BlockElement | null) => void;
10
11
  handleMouseEnter: () => void;
11
12
  handleMouseLeave: () => void;
12
13
  handleClick: () => void;
14
+ hide(): void;
13
15
  }
@@ -5,6 +5,7 @@ export declare class TableBorderBar {
5
5
  private toolbar;
6
6
  private resizeObserver;
7
7
  constructor(editor: OnesEditor, tableBlock: BlockElement);
8
+ close(): void;
8
9
  destroy(): void;
9
10
  update(): void;
10
11
  handleReadonlyChanged: (editor: OnesEditor) => void;
@@ -5,6 +5,7 @@ export default class TableRowColumnToolbar {
5
5
  private tableBlock;
6
6
  toolbar: ManualToolbar;
7
7
  constructor(editor: OnesEditor, tableBlock: BlockElement);
8
+ close(): void;
8
9
  update(): void;
9
10
  destroy(): void;
10
11
  handleSelectionChange: (bar: AbstractCommandBar, id: string) => void;
@@ -0,0 +1,2 @@
1
+ import { OnesEditor } from '../../../../@ones-editor/core';
2
+ export declare function closeToolbar(editor: OnesEditor): void;