@ones-editor/editor 2.1.6 → 2.1.7-beta.10

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 (202) hide show
  1. package/@ones-editor/block-menu/src/block-menu-button/menu-button/index.d.ts +1 -1
  2. package/@ones-editor/block-padding/src/index.d.ts +1 -1
  3. package/@ones-editor/callout-block/src/callout-block/callout-quick-menu-item-filter.d.ts +3 -4
  4. package/@ones-editor/callout-block/src/index.d.ts +1 -0
  5. package/@ones-editor/comments/src/comments-helper/old-version-comment.d.ts +16 -0
  6. package/@ones-editor/comments/src/index.d.ts +5 -1
  7. package/@ones-editor/comments/src/text-comments/comments-command-provider.d.ts +4 -3
  8. package/@ones-editor/core/src/core/blocks/common/block-properties.d.ts +9 -9
  9. package/@ones-editor/core/src/core/blocks/common/execute-block-command.d.ts +2 -2
  10. package/@ones-editor/core/src/core/blocks/complex-blocks/child-blocks.d.ts +2 -1
  11. package/@ones-editor/core/src/core/blocks/complex-blocks/complex-block-helper.d.ts +2 -1
  12. package/@ones-editor/core/src/core/blocks/text-blocks/base/child.d.ts +2 -7
  13. package/@ones-editor/core/src/core/command-providers/abstract-providers.d.ts +25 -0
  14. package/@ones-editor/core/src/core/command-providers/block-attributes.d.ts +14 -0
  15. package/@ones-editor/core/src/core/command-providers/commands/index.d.ts +2 -0
  16. package/@ones-editor/core/src/core/command-providers/commands/inject-source.d.ts +3 -0
  17. package/@ones-editor/core/src/core/command-providers/commands/merge-commands.d.ts +4 -0
  18. package/@ones-editor/core/src/core/command-providers/commands/range-commands.d.ts +2 -5
  19. package/@ones-editor/core/src/core/command-providers/editor-command-providers.d.ts +5 -14
  20. package/@ones-editor/core/src/core/command-providers/index.d.ts +3 -1
  21. package/@ones-editor/core/src/core/composition/editor-input.d.ts +1 -1
  22. package/@ones-editor/core/src/core/containers/root-container.d.ts +2 -2
  23. package/@ones-editor/core/src/core/doc/doc.d.ts +3 -0
  24. package/@ones-editor/core/src/core/doc/rich-text/text-style.d.ts +2 -0
  25. package/@ones-editor/core/src/core/editor/actions/clear-selected-contents.d.ts +2 -2
  26. package/@ones-editor/core/src/core/selection/actions/index.d.ts +2 -1
  27. package/@ones-editor/core/src/core/selection/index.d.ts +1 -0
  28. package/@ones-editor/core/src/core/selection/select-handler.d.ts +3 -3
  29. package/@ones-editor/core/src/core/types.d.ts +40 -28
  30. package/@ones-editor/core/src/helper/hovering-block.d.ts +2 -2
  31. package/@ones-editor/core/src/utils/dom.d.ts +3 -0
  32. package/@ones-editor/core/src/utils/drag-drop.d.ts +8 -3
  33. package/@ones-editor/embed-block-helper/src/block-properties/embed-block-properties.d.ts +6 -5
  34. package/@ones-editor/file/src/locale/en-us.d.ts +1 -0
  35. package/@ones-editor/file/src/locale/ja-jp.d.ts +1 -0
  36. package/@ones-editor/file/src/locale/zh-cn.d.ts +1 -0
  37. package/@ones-editor/graph-embed/src/helper/graph-block-commands.d.ts +5 -19
  38. package/@ones-editor/image-embed/src/hovering-toolbar/index.d.ts +12 -1
  39. package/@ones-editor/image-embed/src/splitter-resizer/index.d.ts +3 -3
  40. package/@ones-editor/input-handlers/src/i18n/en-us.d.ts +1 -0
  41. package/@ones-editor/input-handlers/src/i18n/ja-jp.d.ts +1 -0
  42. package/@ones-editor/input-handlers/src/i18n/zh-cn.d.ts +1 -0
  43. package/@ones-editor/layout-block/src/command-filter.d.ts +6 -0
  44. package/@ones-editor/layout-block/src/index.d.ts +1 -0
  45. package/@ones-editor/list-block/src/index.d.ts +2 -1
  46. package/@ones-editor/main-toolbar/package.json +7 -0
  47. package/@ones-editor/main-toolbar/src/index.d.ts +18 -0
  48. package/@ones-editor/main-toolbar/src/items/comment.d.ts +8 -0
  49. package/@ones-editor/main-toolbar/src/items/find.d.ts +8 -0
  50. package/@ones-editor/main-toolbar/src/items/font-style.d.ts +40 -0
  51. package/@ones-editor/main-toolbar/src/items/image.d.ts +8 -0
  52. package/@ones-editor/main-toolbar/src/items/index.d.ts +16 -0
  53. package/@ones-editor/main-toolbar/src/items/insert.d.ts +12 -0
  54. package/@ones-editor/main-toolbar/src/items/link.d.ts +11 -0
  55. package/@ones-editor/main-toolbar/src/items/list.d.ts +29 -0
  56. package/@ones-editor/main-toolbar/src/items/paragraph.d.ts +14 -0
  57. package/@ones-editor/main-toolbar/src/items/quote.d.ts +11 -0
  58. package/@ones-editor/main-toolbar/src/items/separator.d.ts +7 -0
  59. package/@ones-editor/main-toolbar/src/items/text-align.d.ts +21 -0
  60. package/@ones-editor/main-toolbar/src/items/text-color.d.ts +48 -0
  61. package/@ones-editor/main-toolbar/src/items/undo.d.ts +18 -0
  62. package/@ones-editor/main-toolbar/src/locale/en-us.d.ts +9 -0
  63. package/@ones-editor/main-toolbar/src/locale/index.d.ts +1 -0
  64. package/@ones-editor/main-toolbar/src/locale/ja-jp.d.ts +9 -0
  65. package/@ones-editor/main-toolbar/src/locale/zh-cn.d.ts +9 -0
  66. package/@ones-editor/main-toolbar/src/types.d.ts +5 -0
  67. package/@ones-editor/media-embed/src/core/hovering-toolbar/index.d.ts +12 -1
  68. package/@ones-editor/media-embed/src/utils/dom.d.ts +2 -0
  69. package/@ones-editor/mention/src/locale/en-us.d.ts +3 -0
  70. package/@ones-editor/mention/src/locale/ja-jp.d.ts +3 -0
  71. package/@ones-editor/mention/src/locale/zh-cn.d.ts +3 -0
  72. package/@ones-editor/mention/src/mention.d.ts +15 -0
  73. package/@ones-editor/mobile-helper/src/cursor-toolbar.d.ts +14 -0
  74. package/@ones-editor/mobile-helper/src/fixed-toolbar/active-observer.d.ts +11 -0
  75. package/@ones-editor/mobile-helper/src/fixed-toolbar/fixed-providers.d.ts +6 -0
  76. package/@ones-editor/mobile-helper/src/fixed-toolbar/index.d.ts +21 -0
  77. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/align-dropdown.d.ts +9 -0
  78. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/group.d.ts +7 -0
  79. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/insert-menu.d.ts +15 -0
  80. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/insert.d.ts +8 -0
  81. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/paragraph.d.ts +9 -0
  82. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/tab-provider.d.ts +10 -0
  83. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/text-dropdown.d.ts +9 -0
  84. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/turn-into.d.ts +8 -0
  85. package/@ones-editor/mobile-helper/src/fixed-toolbar/toolbar-handler.d.ts +11 -0
  86. package/@ones-editor/mobile-helper/src/index.d.ts +10 -1
  87. package/@ones-editor/mobile-helper/src/locale/en-us.d.ts +9 -0
  88. package/@ones-editor/mobile-helper/src/locale/index.d.ts +1 -0
  89. package/@ones-editor/mobile-helper/src/locale/ja-jp.d.ts +9 -0
  90. package/@ones-editor/mobile-helper/src/locale/zh-cn.d.ts +9 -0
  91. package/@ones-editor/mobile-helper/src/selection-gripper/index.d.ts +19 -0
  92. package/@ones-editor/mobile-helper/src/selection-gripper/select-handle.d.ts +3 -0
  93. package/@ones-editor/sharedb-doc/src/doc/sharedb-client-base.d.ts +24 -0
  94. package/@ones-editor/sharedb-doc/src/doc/sharedb-client.d.ts +4 -1
  95. package/@ones-editor/sharedb-doc/src/doc/sharedb-doc.d.ts +1 -0
  96. package/@ones-editor/sharedb-doc/src/doc/sharedb-local-doc.d.ts +17 -0
  97. package/@ones-editor/sharedb-doc/src/index.d.ts +8 -1
  98. package/@ones-editor/sharedb-doc/src/types.d.ts +3 -1
  99. package/@ones-editor/table-block/src/commands/index.d.ts +2 -0
  100. package/@ones-editor/table-block/src/commands/table-block-commands.d.ts +4 -3
  101. package/@ones-editor/table-block/src/commands/table-command-provider.d.ts +12 -0
  102. package/@ones-editor/table-block/src/index.d.ts +6 -2
  103. package/@ones-editor/table-block/src/locale/en-us.d.ts +5 -0
  104. package/@ones-editor/table-block/src/locale/ja-jp.d.ts +5 -0
  105. package/@ones-editor/table-block/src/locale/zh-cn.d.ts +5 -0
  106. package/@ones-editor/table-block/src/table-block/cell-menu/table-cell-dom.d.ts +6 -0
  107. package/@ones-editor/table-block/src/table-block/table-resize/resize-drag-drop.d.ts +4 -4
  108. package/@ones-editor/text-commands/src/index.d.ts +1 -2
  109. package/@ones-editor/tsconfig.tsbuildinfo +1 -1
  110. package/@ones-editor/ui/src/block-menu/block-command-providers.d.ts +8 -0
  111. package/@ones-editor/{block-menu → ui}/src/block-menu/index.d.ts +3 -1
  112. package/@ones-editor/ui/src/box-helper/standard-box-commands.d.ts +10 -0
  113. package/@ones-editor/ui/src/box-helper/standard-box-provider.d.ts +9 -0
  114. package/@ones-editor/ui/src/index.d.ts +32 -8
  115. package/@ones-editor/ui/src/locale/en-us.d.ts +5 -0
  116. package/@ones-editor/ui/src/locale/ja-jp.d.ts +5 -0
  117. package/@ones-editor/ui/src/locale/zh-cn.d.ts +5 -0
  118. package/@ones-editor/ui/src/providers/align-dropdown.d.ts +10 -0
  119. package/@ones-editor/ui/src/providers/align.d.ts +11 -0
  120. package/@ones-editor/ui/src/providers/block-hook-provider.d.ts +16 -0
  121. package/@ones-editor/ui/src/providers/clipboard-provider.d.ts +19 -0
  122. package/@ones-editor/ui/src/providers/color-provider.d.ts +18 -0
  123. package/@ones-editor/ui/src/providers/edit-link-provider.d.ts +6 -0
  124. package/@ones-editor/ui/src/providers/heading.d.ts +13 -0
  125. package/@ones-editor/ui/src/providers/inline-code-provider.d.ts +10 -0
  126. package/@ones-editor/ui/src/providers/inline-style-provider.d.ts +10 -0
  127. package/@ones-editor/ui/src/providers/insert-above.d.ts +9 -0
  128. package/@ones-editor/ui/src/providers/insert-after.d.ts +9 -0
  129. package/@ones-editor/ui/src/providers/insert-box-provider.d.ts +12 -0
  130. package/@ones-editor/ui/src/providers/insert-group.d.ts +7 -0
  131. package/@ones-editor/ui/src/providers/insert-menu.d.ts +16 -0
  132. package/@ones-editor/ui/src/providers/link.d.ts +12 -0
  133. package/@ones-editor/ui/src/providers/list.d.ts +13 -0
  134. package/@ones-editor/ui/src/providers/mobile-link-provider.d.ts +10 -0
  135. package/@ones-editor/ui/src/providers/paragraph.d.ts +9 -0
  136. package/@ones-editor/ui/src/providers/proxy-provider.d.ts +9 -0
  137. package/@ones-editor/ui/src/providers/quoted.d.ts +10 -0
  138. package/@ones-editor/ui/src/providers/script-with-dropdown.d.ts +9 -0
  139. package/@ones-editor/ui/src/providers/text-command-provider.d.ts +16 -0
  140. package/@ones-editor/ui/src/providers/text-fixed-provider.d.ts +16 -0
  141. package/@ones-editor/ui/src/providers/text-script-provider.d.ts +10 -0
  142. package/@ones-editor/ui/src/providers/text-styles.d.ts +9 -0
  143. package/@ones-editor/ui/src/providers/turn-into.d.ts +9 -0
  144. package/@ones-editor/ui/src/providers/utils/add-section.d.ts +2 -0
  145. package/@ones-editor/ui/src/{quick-menu → providers/utils}/basic-commands.d.ts +1 -2
  146. package/@ones-editor/ui/src/providers/utils/clipboard.d.ts +6 -0
  147. package/@ones-editor/ui/src/providers/utils/index.d.ts +2 -0
  148. package/@ones-editor/ui/src/providers/utils/inject-block-options.d.ts +8 -0
  149. package/@ones-editor/ui/src/providers/utils/text-commands.d.ts +3 -0
  150. package/@ones-editor/{text-commands/src → ui/src/providers/utils}/text-styles.d.ts +3 -1
  151. package/@ones-editor/ui/src/quick-menu/index.d.ts +7 -19
  152. package/@ones-editor/ui/src/quick-menu/quick-command-providers.d.ts +8 -0
  153. package/@ones-editor/ui/src/quick-menu/types.d.ts +2 -5
  154. package/@ones-editor/ui/src/readonly-toolbar/add-comment-to-old-doc.d.ts +23 -0
  155. package/@ones-editor/ui/src/readonly-toolbar/index.d.ts +29 -0
  156. package/@ones-editor/ui/src/readonly-toolbar/types.d.ts +12 -0
  157. package/@ones-editor/ui/src/toolbar/link-commands.d.ts +11 -0
  158. package/@ones-editor/ui/src/toolbar/text-commands.d.ts +2 -2
  159. package/@ones-editor/ui/src/toolbar/toolbar-handler.d.ts +3 -0
  160. package/@ones-editor/ui/src/utils/hide-toolbar.d.ts +2 -0
  161. package/@ones-editor/ui-base/src/auto-suggest/auto-suggest-menu.d.ts +2 -1
  162. package/@ones-editor/ui-base/src/auto-suggest/auto-suggest.d.ts +1 -1
  163. package/@ones-editor/ui-base/src/color-button/color-button.d.ts +1 -0
  164. package/@ones-editor/ui-base/src/color-button/text-color-item.d.ts +9 -2
  165. package/@ones-editor/ui-base/src/color-palette/color-palette.d.ts +1 -1
  166. package/@ones-editor/ui-base/src/command-bar/command-bar.d.ts +3 -2
  167. package/@ones-editor/ui-base/src/command-bar/fixed-toolbar.d.ts +3 -1
  168. package/@ones-editor/ui-base/src/command-bar/init-toolbar-item.d.ts +1 -0
  169. package/@ones-editor/ui-base/src/command-bar/types.d.ts +4 -1
  170. package/@ones-editor/ui-base/src/icons/index.d.ts +5 -1
  171. package/@ones-editor/ui-base/src/index.d.ts +2 -0
  172. package/@ones-editor/ui-base/src/input/create-input.d.ts +23 -3
  173. package/@ones-editor/ui-base/src/locale/en-us.d.ts +1 -0
  174. package/@ones-editor/ui-base/src/locale/ja-jp.d.ts +1 -0
  175. package/@ones-editor/ui-base/src/locale/zh-cn.d.ts +1 -0
  176. package/@ones-editor/ui-base/src/mobile-command-bar/init-menu-item.d.ts +3 -0
  177. package/@ones-editor/ui-base/src/mobile-command-bar/mobile-bottom-menu.d.ts +23 -0
  178. package/@ones-editor/ui-base/src/popup/popup.d.ts +1 -1
  179. package/@ones-editor/{ui → ui-base}/src/text-button/index.d.ts +1 -1
  180. package/dist/auto-new-line.d.ts +7 -0
  181. package/dist/comments/local-doc-comments-provider.d.ts +2 -1
  182. package/dist/index.d.ts +65 -4
  183. package/dist/index.js +30469 -25792
  184. package/dist/types.d.ts +14 -2
  185. package/package.json +1 -1
  186. package/@ones-editor/block-menu/src/block-menu/items/block-command-items.d.ts +0 -3
  187. package/@ones-editor/block-menu/src/block-menu/items/index.d.ts +0 -5
  188. package/@ones-editor/block-menu/src/block-menu/items/insert-block-items/index.d.ts +0 -5
  189. package/@ones-editor/block-menu/src/block-menu/items/text-styles/text-style-item.d.ts +0 -30
  190. package/@ones-editor/block-menu/src/block-menu/items/types.d.ts +0 -5
  191. package/@ones-editor/text-commands/src/text-command-provider.d.ts +0 -24
  192. package/@ones-editor/text-commands/src/text-commands.d.ts +0 -4
  193. package/@ones-editor/ui/src/quick-menu/basic-menu-items.d.ts +0 -16
  194. package/@ones-editor/ui/src/quick-menu/inline-box-items.d.ts +0 -8
  195. package/@ones-editor/ui/src/quick-menu/insert-empty-block.d.ts +0 -4
  196. package/@ones-editor/ui/src/quick-menu/order.d.ts +0 -1
  197. package/@ones-editor/ui/src/quick-menu/quick-menu-items.d.ts +0 -9
  198. package/@ones-editor/ui/src/toolbar/commands/align.d.ts +0 -10
  199. package/@ones-editor/ui/src/toolbar/commands/paragraph.d.ts +0 -11
  200. package/@ones-editor/ui/src/toolbar/commands/turn-into.d.ts +0 -10
  201. package/@ones-editor/ui/src/toolbar/merge-commands.d.ts +0 -2
  202. /package/@ones-editor/{block-menu → ui}/src/block-menu/standard-block-actions/hook.d.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  import { BlockElement, OnesEditor } from '../../../../../@ones-editor/core';
2
+ import { BlockMenu } from '../../../../../@ones-editor/ui';
2
3
  import EmptyBlockMenu from '../../empty-block-menu';
3
- import BlockMenu from '../../block-menu';
4
4
  export default class OnesEditorBlockMenuButton {
5
5
  private editor;
6
6
  buttonElement: HTMLButtonElement;
@@ -7,4 +7,4 @@ declare const BlockPaddingShortcuts: {
7
7
  Backspace: typeof handleBackspace;
8
8
  };
9
9
  export * from './utils';
10
- export { BlockPaddingRender, BlockPaddingShortcuts, };
10
+ export { BlockPaddingRender, BlockPaddingShortcuts, handleShiftTab, handleTab, };
@@ -1,8 +1,7 @@
1
- import { OnesEditor, OnesEditorCustom } from '../../../../@ones-editor/core';
2
- import type { QuickMenuItem, QuickMenuItemFilter } from '../../../../@ones-editor/ui';
3
- export declare class CalloutQuickMenuItemFilter implements QuickMenuItemFilter, OnesEditorCustom {
1
+ import { CommandFilter, CommandItemWithSource, OnesEditor, OnesEditorCustom, SelectionRange } from '../../../../@ones-editor/core';
2
+ export declare class CalloutQuickMenuItemFilter implements CommandFilter, OnesEditorCustom {
4
3
  constructor(editor: OnesEditor);
5
- filter(editor: OnesEditor, items: QuickMenuItem[], from: string): QuickMenuItem[];
4
+ filter(editor: OnesEditor, range: SelectionRange, items: CommandItemWithSource[], source: string[]): CommandItemWithSource[];
6
5
  destroy(): void;
7
6
  static init(editor: OnesEditor): CalloutQuickMenuItemFilter;
8
7
  }
@@ -1,3 +1,4 @@
1
1
  import './index.scss';
2
2
  import './locale';
3
3
  export { CalloutBlock } from './callout-block';
4
+ export { CalloutQuickMenuItemFilter } from './callout-block/callout-quick-menu-item-filter';
@@ -0,0 +1,16 @@
1
+ import { DocObject, OnesEditor, OnesEditorComment, OnesEditorDocRange, SelectionRange } from '../../../../@ones-editor/core';
2
+ export interface AddCommentToOldVersionBody {
3
+ avatarUrl: string;
4
+ containerId: string;
5
+ rangeType: 'simple' | 'complex';
6
+ range: OnesEditorDocRange;
7
+ selectedContainers: string[];
8
+ commentId?: string;
9
+ commentGroupId?: string;
10
+ comment: DocObject;
11
+ abstract?: string;
12
+ }
13
+ export declare function addCommentToOldVersion(editor: OnesEditor, version: number, range: SelectionRange, comment: OnesEditorComment, commentDoc: DocObject): Promise<void>;
14
+ export declare function replyCommentToOldVersion(editor: OnesEditor, version: number, comment: OnesEditorComment, commentDoc: DocObject): Promise<unknown>;
15
+ export declare function updateCommentToOldDoc(editor: OnesEditor, version: number, commentId: string, commentDoc: DocObject): Promise<unknown>;
16
+ export declare function deleteCommentFromOldDoc(editor: OnesEditor, version: number, commentId: string): Promise<unknown>;
@@ -1,11 +1,15 @@
1
1
  import { OnesEditorComments } from './comments';
2
2
  import './style.scss';
3
+ import CommentsCommandProvider from './text-comments/comments-command-provider';
3
4
  import './locale';
4
5
  export * from './types';
5
6
  export { OnesEditorCommentsRender } from './comments-render';
6
7
  export { OnesEditorCommentPlaceholderHandler } from './comment-placeholder-handler';
7
- export { OnesEditorComments };
8
+ export { OnesEditorComments, CommentsCommandProvider };
8
9
  export type { CommentItem } from './comment-item';
9
10
  export type { CommentGroupItem } from './comments-list/group-item';
10
11
  export { removeCommentFromBlock } from './actions/remove-comment-from-block';
12
+ export { addCommentToTextBlocks } from './actions/add-comment-to-text-block';
13
+ export { addCommentToBlock } from './actions/add-comment-to-block';
11
14
  export { editorAddComment } from './actions/editor-add-comment';
15
+ export * from './comments-helper/old-version-comment';
@@ -1,12 +1,13 @@
1
- import { BlockCommandItem, BlockCommandItemWithSource, BlockElement, CommandParams, CommandResult, OnesEditor, OnesEditorCommandProvider, SelectionRange } from '../../../../@ones-editor/core';
1
+ import { BlockElement, CommandItem, CommandItemWithSource, CommandParams, CommandResult, OnesEditor, OnesEditorCommandProvider, SelectionRange } from '../../../../@ones-editor/core';
2
2
  import { OnesEditorCommentsProvider } from '../types';
3
3
  import type { OnesEditorComments } from '../comments';
4
4
  export default class CommentsCommandProvider implements OnesEditorCommandProvider {
5
5
  private provider;
6
6
  private editorComments;
7
7
  id: string;
8
+ groupIndex: number;
8
9
  constructor(provider: OnesEditorCommentsProvider, editorComments: OnesEditorComments);
9
- getAvailableCommands(editor: OnesEditor, block: BlockElement, range: SelectionRange): BlockCommandItem[];
10
+ getAvailableCommands(editor: OnesEditor, block: BlockElement, range: SelectionRange, params?: CommandParams): CommandItem[];
10
11
  hideToolbar(editor: OnesEditor): void;
11
- executeRangeCommand(editor: OnesEditor, range: SelectionRange, command: BlockCommandItemWithSource, params: CommandParams, result: CommandResult): boolean;
12
+ executeRangeCommand(editor: OnesEditor, range: SelectionRange, command: CommandItemWithSource, params: CommandParams, result?: CommandResult): boolean;
12
13
  }
@@ -1,10 +1,10 @@
1
- import { BlockCommands, BlockElement, OnesEditor } from '../../types';
1
+ import { BlockCommands, BlockElement, BoxCommands, OnesEditor, TextBlockContentChild } from '../../types';
2
2
  export declare function getBlockProperties(editor: OnesEditor, block: BlockElement): import("../../types").BlockProperties | undefined;
3
- export declare function getBlockCommandsWithHook(editor: OnesEditor, block: BlockElement): Record<string, BlockCommands>;
4
- export declare function getSpecialBlockCommands(editor: OnesEditor, blockElement: BlockElement, group: string): {
5
- element: import("../../types").BlockContentElement;
6
- commands: import("../../types").CommandItem[];
7
- } | {
8
- element: null;
9
- commands: never[];
10
- };
3
+ export declare function getBlockCommandsWithHook(editor: OnesEditor, block: BlockElement, child: TextBlockContentChild | null): Record<string, BlockCommands>;
4
+ interface SpecialBlockCommands {
5
+ element: HTMLElement | null;
6
+ blockCommands: BlockCommands[];
7
+ boxCommands: BoxCommands[];
8
+ }
9
+ export declare function getSpecialBlockCommands(editor: OnesEditor, blockElement: BlockElement, child: TextBlockContentChild | null, group: string): SpecialBlockCommands;
10
+ export {};
@@ -1,3 +1,3 @@
1
- import { BlockCommandItemWithSource, BlockElement, CommandItem, OnesEditor } from '../../types';
1
+ import { BlockElement, CommandItem, CommandItemWithSource, OnesEditor } from '../../types';
2
2
  export declare function executeEmbedBlockCommand(editor: OnesEditor, block: BlockElement, commandGroup: string, item: CommandItem): unknown;
3
- export declare function executeBlockCommand(editor: OnesEditor, block: BlockElement, commandGroup: string, item: BlockCommandItemWithSource): unknown;
3
+ export declare function executeBlockCommand(editor: OnesEditor, block: BlockElement, commandGroup: string, item: CommandItemWithSource): unknown;
@@ -1,7 +1,8 @@
1
- import { BlockElement, OnesEditor, SelectedBlock } from '../../types';
1
+ import { BlockElement, OnesEditor, SelectedBlock, SelectionRange } from '../../types';
2
2
  export type GetAllChildBlocksOptions = {
3
3
  simpleBlockOnly?: boolean;
4
4
  visibleOnly?: boolean;
5
+ range?: SelectionRange;
5
6
  };
6
7
  export declare function getAllChildBlocks(editor: OnesEditor, options?: GetAllChildBlocksOptions): BlockElement[];
7
8
  export declare function getAllSelectedBlocks(editor: OnesEditor, options?: GetAllChildBlocksOptions): SelectedBlock[];
@@ -1,4 +1,4 @@
1
- import { OnesEditor, BlockElement, BlockPosition, ContainerElement, ComplexBlockPosition, GetChildContainerOptions } from '../../types';
1
+ import { OnesEditor, BlockElement, BlockPosition, ContainerElement, ComplexBlockPosition, GetChildContainerOptions, ComplexSelectionRange } from '../../types';
2
2
  export declare function complexBlockGetAllChildContainers(editor: OnesEditor, block: BlockElement, options?: GetChildContainerOptions): ContainerElement[];
3
3
  export declare function complexBlockGetSelectedContainers(editor: OnesEditor, block: BlockElement, start: BlockPosition, end: BlockPosition): ContainerElement[];
4
4
  export declare function isFirstChildBlockInComplexBlock(editor: OnesEditor, childBlock: BlockElement): boolean;
@@ -13,3 +13,4 @@ export declare function complexBlockAdjustSelectionPos(editor: OnesEditor, compl
13
13
  anchor: ComplexBlockPosition;
14
14
  focus: ComplexBlockPosition;
15
15
  };
16
+ export declare function isFullSelectedOneComplexBlock(editor: OnesEditor, complexRange?: ComplexSelectionRange): boolean;
@@ -1,10 +1,5 @@
1
- import { BlockElement, BoxElement, InsertionElement } from '../../../types';
2
- export type TextBlockContentTextChild = HTMLSpanElement & {
3
- __neverUse: 'TextBlockContentTextChild';
4
- };
5
- export type TextBlockContentInsertionChild = InsertionElement;
6
- export type TextBlockContentBoxChild = BoxElement;
7
- export type TextBlockContentChild = TextBlockContentTextChild | TextBlockContentBoxChild | TextBlockContentInsertionChild;
1
+ import { BlockElement, TextBlockContentTextChild, TextBlockContentBoxChild, TextBlockContentInsertionChild, TextBlockContentChild } from '../../../types';
2
+ export type { TextBlockContentTextChild, TextBlockContentBoxChild, TextBlockContentInsertionChild, TextBlockContentChild };
8
3
  export type TextBlockContentChildren = TextBlockContentChild[];
9
4
  export type TextBlockContentChildType = 'text' | 'box' | 'insertion';
10
5
  export declare function isTextBlockContentChild(elem: Element): boolean;
@@ -0,0 +1,25 @@
1
+ import { OnesEditor, OnesEditorCommandProviders, OnesEditorCommandProvider, SelectionRange, CommandParams, CommandItemWithSource, CommandFilterId, CommandFilter, CommandResult, BlockElement } from '../types';
2
+ type RangeCommandResult = {
3
+ [index: string]: CommandResult;
4
+ };
5
+ export declare abstract class AbstractProvider implements OnesEditorCommandProviders {
6
+ protected editor: OnesEditor;
7
+ abstract id: string;
8
+ commandProviders: OnesEditorCommandProvider[];
9
+ commandFilters: Map<string | number | symbol, CommandFilter>;
10
+ constructor(editor: OnesEditor);
11
+ addFilter(id: CommandFilterId, filter: CommandFilter): void;
12
+ registerCommandProvider: (provider: OnesEditorCommandProvider) => void;
13
+ getCommandProviders: () => OnesEditorCommandProvider[];
14
+ getCommandProvider: (id: string) => OnesEditorCommandProvider;
15
+ filterItems: (range: SelectionRange, items: CommandItemWithSource[]) => CommandItemWithSource[];
16
+ getCommands(range: SelectionRange): CommandItemWithSource[];
17
+ executeBlockCommand: (editor: OnesEditor, block: BlockElement, range: SelectionRange, command: CommandItemWithSource, params: CommandParams, result: RangeCommandResult) => boolean;
18
+ executeRangeCommand: (range: SelectionRange, command: CommandItemWithSource, params: CommandParams) => {
19
+ [index: string]: CommandResult;
20
+ };
21
+ executeCommand(range: SelectionRange, command: CommandItemWithSource, params: CommandParams): {
22
+ [index: string]: CommandResult;
23
+ };
24
+ }
25
+ export {};
@@ -0,0 +1,14 @@
1
+ import { DocBlockTextAttributes } from '../doc';
2
+ import { CommandParams, OnesEditor, OnesEditorCustom } from '../types';
3
+ export default class BlockAttributesHandler implements OnesEditorCustom {
4
+ private editor;
5
+ private textBlockAttributes;
6
+ private activeBlockAttributes;
7
+ constructor(editor: OnesEditor);
8
+ clear: () => void;
9
+ destroy(): void;
10
+ getEmptyBlockTextAttributes(blockId: string): DocBlockTextAttributes | undefined;
11
+ setActiveBlockAttributes: (attributes: CommandParams) => void;
12
+ setEmptyBlockTextAttributes: (blockId: string, attributes: CommandParams) => void;
13
+ setActiveAttribute: (attribute: string, value: unknown) => void;
14
+ }
@@ -1,2 +1,4 @@
1
1
  export * from './intersection-commands';
2
2
  export * from './range-commands';
3
+ export * from './merge-commands';
4
+ export * from './inject-source';
@@ -0,0 +1,3 @@
1
+ import { CommandItemWithSource } from '../../types';
2
+ export declare const injectSource: (commands: CommandItemWithSource[], source?: string[]) => void;
3
+ export declare const getSourceList: (source: string) => string[];
@@ -0,0 +1,4 @@
1
+ import { CommandItem } from '../../types';
2
+ export declare function mergeCommands(blockCommands: CommandItem[]): CommandItem[];
3
+ export declare const flatCommands: (allCommands: Map<number, CommandItem[]>, sort?: boolean) => CommandItem[];
4
+ export declare const groupEachCommand: (allCommands: CommandItem[]) => CommandItem[];
@@ -1,5 +1,2 @@
1
- import { BlockCommandItemWithSource, CommandParams, CommandResult, SelectionRange } from '../../types';
2
- export declare function getRangeCommands(range: SelectionRange, source: string): BlockCommandItemWithSource[];
3
- export declare function executeRangeCommand(range: SelectionRange, command: BlockCommandItemWithSource, params: CommandParams): {
4
- [index: string]: CommandResult;
5
- };
1
+ import { CommandItemWithSource, BlockElement, OnesEditor, SelectionRange, OnesEditorCommandProvider } from '../../types';
2
+ export declare function getBlockCommands(providers: OnesEditorCommandProvider[], editor: OnesEditor, block: BlockElement, range: SelectionRange, source: string): CommandItemWithSource[];
@@ -1,15 +1,6 @@
1
- import { DocBlockTextAttributes } from '../doc';
2
- import { OnesEditor, OnesEditorCommandProviders, OnesEditorCommandProvider, SelectionRange, CommandParams, BlockCommandItemWithSource } from '../types';
3
- export default class EditorCommandProviders implements OnesEditorCommandProviders {
4
- private editor;
5
- private providers;
6
- constructor(editor: OnesEditor);
7
- registerCommandProvider(provider: OnesEditorCommandProvider): void;
8
- getCommandProviders(): OnesEditorCommandProvider[];
9
- getCommandProvider(id: string): OnesEditorCommandProvider;
10
- getCommands(range: SelectionRange, source: string): BlockCommandItemWithSource[];
11
- executeCommand(range: SelectionRange, command: BlockCommandItemWithSource, params: CommandParams): {
12
- [index: string]: import("../types").CommandResult;
13
- };
14
- getEmptyBlockTextAttributes(editor: OnesEditor, blockId: string): DocBlockTextAttributes | undefined;
1
+ import { CommandItemWithSource, OnesEditorCommandProviders, SelectionRange } from '../types';
2
+ import { AbstractProvider } from './abstract-providers';
3
+ export default class EditorCommandProviders extends AbstractProvider implements OnesEditorCommandProviders {
4
+ id: string;
5
+ getCommands(range: SelectionRange): CommandItemWithSource[];
15
6
  }
@@ -1,3 +1,5 @@
1
1
  import EditorCommandProviders from './editor-command-providers';
2
+ import BlockAttributesHandler from './block-attributes';
3
+ import { AbstractProvider } from './abstract-providers';
2
4
  export * from './commands';
3
- export { EditorCommandProviders };
5
+ export { EditorCommandProviders, BlockAttributesHandler, AbstractProvider };
@@ -34,7 +34,7 @@ export declare class EditorInput implements OnesEditorInput {
34
34
  isInDisableScrollMask(target: Node): boolean;
35
35
  handleWindowBlur: () => void;
36
36
  handleWindowFocus: () => void;
37
- handleDocumentClick: (event: MouseEvent) => void;
37
+ handleDocumentClick: (event: MouseEvent | TouchEvent) => void;
38
38
  handleDocumentSelectionChange: () => void;
39
39
  handleEditorSelectionChanged: () => void;
40
40
  handleReadonlyChanged: () => void;
@@ -15,9 +15,9 @@ export declare class RootContainer {
15
15
  handleClick: (event: MouseEvent) => void;
16
16
  handleBlockClick: (event: MouseEvent, block: BlockElement, elem: Element) => void;
17
17
  handleDblClick: (event: MouseEvent) => void;
18
- handleMouseDown: (event: MouseEvent) => void;
18
+ handleMouseDown: (event: TouchEvent | MouseEvent) => void;
19
19
  handleMouseMove: (event: MouseEvent) => void;
20
- handleMouseUp: (event: MouseEvent) => void;
20
+ handleMouseUp: (event: MouseEvent | TouchEvent) => void;
21
21
  handleCaptureClick: (event: MouseEvent) => void;
22
22
  handleCaptureDbClick: (event: MouseEvent) => void;
23
23
  reload(): void;
@@ -110,10 +110,12 @@ export interface OnesEditorDocComplexBlockPos {
110
110
  }
111
111
  export type OnesEditorDocBlockPos = OnesEditorDocSimpleBlockPos | OnesEditorDocComplexBlockPos;
112
112
  export interface OnesEditorDocSimpleRange {
113
+ reverse?: boolean;
113
114
  anchor: OnesEditorDocSimpleBlockPos;
114
115
  focus: OnesEditorDocSimpleBlockPos;
115
116
  }
116
117
  export interface OnesEditorDocComplexRange {
118
+ reverse?: boolean;
117
119
  anchor: OnesEditorDocComplexBlockPos;
118
120
  focus: OnesEditorDocComplexBlockPos;
119
121
  }
@@ -202,6 +204,7 @@ export interface OnesEditorDocServerMeta {
202
204
  serverId?: string;
203
205
  docId?: string;
204
206
  appId?: string;
207
+ apiServer?: string;
205
208
  }
206
209
  export interface RecognizeLinkResult {
207
210
  type?: 'iframe' | 'video' | 'audio' | 'image';
@@ -14,6 +14,8 @@ export declare function rangeRemoveAttribute(offset: number, length: number, tex
14
14
  export declare function getAttributesAt(text: DocBlockText, offset: number): DocBlockTextAttributes | undefined;
15
15
  export type DocBlockTextProcessor = (op: DocBlockTextOp) => DocBlockTextOp;
16
16
  export declare function rangeTransformText(offset: number, length: number, text: DocBlockText, processor: DocBlockTextProcessor): DocBlockText;
17
+ export declare function deleteColor(op: DocBlockTextOp, type: 'color' | 'backgroundColor'): void;
18
+ export declare function addColor(op: DocBlockTextOp, type: 'color' | 'backgroundColor', value: number): void;
17
19
  export declare function rangeSetTextColor(offset: number, length: number, docText: DocBlockText, type: 'color' | 'backgroundColor', value: number | null): DocBlockText;
18
20
  export declare function getColorFromAttributes(attributes?: DocBlockTextAttributes): [number | null, number | null];
19
21
  export declare function setColorToAttributes(attributes: DocBlockTextAttributes, type: 'color' | 'backgroundColor', value: number | null): void;
@@ -1,2 +1,2 @@
1
- import { OnesEditor } from '../../types';
2
- export declare function editorClearSelectedContents(editor: OnesEditor): void;
1
+ import { OnesEditor, SelectionRange } from '../../types';
2
+ export declare function editorClearSelectedContents(editor: OnesEditor, selectionRange?: SelectionRange): void;
@@ -23,4 +23,5 @@ import { editorMovePageDown } from './move-page-down';
23
23
  import { editorSelectPageUp } from './select-page-up';
24
24
  import { editorSelectPageDown } from './select-page-down';
25
25
  import { editorSelectAll, editorSelectContainer, isContainerSelectedAllChildBlocks } from './select-all';
26
- export { editorMoveLeft, editorMoveRight, editorMoveUp, editorMoveDown, editorSelectDown, editorSelectUp, editorSelectLeft, editorSelectRight, editorMoveWordLeft, editorMoveWordEnd, editorSelectWordLeft, editorSelectWordEnd, editorMoveHome, editorMoveEnd, editorSelectHome, editorSelectEnd, editorMovePageUp, editorMovePageDown, editorSelectPageUp, editorSelectPageDown, editorSelectLineHome, editorSelectLineEnd, editorMoveLineHome, editorMoveLineEnd, editorSelectAll, editorSelectContainer, isContainerSelectedAllChildBlocks, };
26
+ import { editorSelectWord } from './select-word';
27
+ export { editorMoveLeft, editorMoveRight, editorMoveUp, editorMoveDown, editorSelectDown, editorSelectUp, editorSelectLeft, editorSelectRight, editorSelectWord, editorMoveWordLeft, editorMoveWordEnd, editorSelectWordLeft, editorSelectWordEnd, editorMoveHome, editorMoveEnd, editorSelectHome, editorSelectEnd, editorMovePageUp, editorMovePageDown, editorSelectPageUp, editorSelectPageDown, editorSelectLineHome, editorSelectLineEnd, editorMoveLineHome, editorMoveLineEnd, editorSelectAll, editorSelectContainer, isContainerSelectedAllChildBlocks, };
@@ -1,3 +1,4 @@
1
1
  export * from './editor-position';
2
2
  export * from './range';
3
3
  export * from './range-from-point';
4
+ export * from './adjust-selection-pos';
@@ -4,16 +4,16 @@ export declare class EditorSelectionHandler implements OnesEditorSelectionHandle
4
4
  editor: OnesEditor;
5
5
  startPos: BlockPosition | null;
6
6
  lastCaretRect: DOMRect;
7
- mouseDownEvent: MouseEvent | null;
7
+ mouseDownEvent: TouchEvent | MouseEvent | null;
8
8
  autoScroll: AutoScroll | null;
9
9
  constructor(editor: OnesEditor);
10
10
  isSelecting(): boolean;
11
11
  stopSelection(): void;
12
- handleMouseDown: (event: MouseEvent, options: {
12
+ handleMouseDown: (event: MouseEvent | TouchEvent, options: {
13
13
  autoScroll: boolean;
14
14
  }) => void;
15
15
  handleMouseMove: (event: MouseEvent) => void;
16
- handleMouseUp: (event: MouseEvent) => void;
16
+ handleMouseUp: (event: MouseEvent | TouchEvent) => void;
17
17
  handleDblClick(event: MouseEvent): void;
18
18
  handleTripleClick(event: MouseEvent): void;
19
19
  }
@@ -1,5 +1,11 @@
1
1
  import { TypedEmitter } from 'tiny-typed-emitter';
2
2
  import { DocBlock, DocBlockAttributes, DocBlockDelta, DocBlocks, DocBlockText, DocBlockTextAttributes, DocBox, DocEmbedBlock, DocEmbedData, DocInsertion, DocObject, InsertBlockOptions, OnesEditorDoc, OnesEditorDocRange, UpdateBlockOptions } from './doc';
3
+ export type TextBlockContentTextChild = HTMLSpanElement & {
4
+ __neverUse: 'TextBlockContentTextChild';
5
+ };
6
+ export type TextBlockContentInsertionChild = InsertionElement;
7
+ export type TextBlockContentBoxChild = BoxElement;
8
+ export type TextBlockContentChild = TextBlockContentTextChild | TextBlockContentBoxChild | TextBlockContentInsertionChild;
3
9
  export type ContainerElement = HTMLDivElement & {
4
10
  __neverUse: 'ContainerElement';
5
11
  };
@@ -52,6 +58,7 @@ export type BlockPosition = SimpleBlockPosition | ComplexBlockPosition;
52
58
  export interface BoxCommands {
53
59
  group: string;
54
60
  commands: CommandItem[];
61
+ startGroup?: boolean;
55
62
  executeCommand: (editor: OnesEditor, block: BlockElement, box: BoxElement, item: CommandItem) => unknown;
56
63
  }
57
64
  export interface BoxProperties {
@@ -119,7 +126,6 @@ export interface Closeable {
119
126
  click: (item: CommandItem, target: HTMLElement) => void;
120
127
  }
121
128
  export type CommandItemChildrenPlacement = 'auto' | 'top' | 'left' | 'right' | 'bottom' | 'auto-start' | 'auto-end' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'right-start' | 'right-end' | 'left-start' | 'left-end';
122
- export type CommandItemMenuType = 'inline' | 'sibling';
123
129
  export interface CommandItem {
124
130
  id: string;
125
131
  name: string;
@@ -130,13 +136,15 @@ export interface CommandItem {
130
136
  type?: CommandItemType;
131
137
  element?: HTMLElement | ((item: CommandItem) => HTMLElement);
132
138
  icon?: string;
133
- childrenType?: 'menu' | 'toolbar';
139
+ childrenType?: 'menu' | 'toolbar' | 'mobile-bottom-menu';
134
140
  children?: CommandItem[];
135
141
  childrenMenuId?: string;
136
142
  data?: unknown;
137
143
  group?: string;
138
144
  groupOrder?: number;
139
145
  dropdown?: boolean;
146
+ dropSplit?: boolean;
147
+ splitTooltip?: string;
140
148
  manualShowChildren?: boolean;
141
149
  childrenPlacement?: CommandItemChildrenPlacement;
142
150
  childrenOffset?: [number, number];
@@ -145,25 +153,17 @@ export interface CommandItem {
145
153
  defaultCheckedChildren?: string[];
146
154
  ellipsisTooltip?: string;
147
155
  disableTooltip?: boolean;
156
+ tooltipPlacement?: CommandItemChildrenPlacement;
148
157
  disableReason?: string;
149
158
  hideGroupItem?: boolean;
150
159
  setCloseable?: (closeable: Closeable) => void;
151
160
  beforePopup?: (parent: unknown) => void;
152
- /**
153
- * defaults to true
154
- */
155
- shouldShown?: (currentBlock: BlockElement | undefined, menuType: CommandItemMenuType) => boolean;
161
+ switchable?: boolean;
156
162
  /**
157
163
  * defaults to true
158
164
  */
159
165
  clickToClose?: boolean;
160
166
  }
161
- export interface BlockCommandItem extends CommandItem {
162
- blockId: string;
163
- blockType: string;
164
- blockKind: BlockKind;
165
- groupIndex: number;
166
- }
167
167
  export type StyleType = boolean | string | number;
168
168
  export type BlockStyles = {
169
169
  [index: string]: StyleType;
@@ -174,9 +174,11 @@ export type BlockPathComponent = {
174
174
  };
175
175
  export type BlockPath = BlockPathComponent[];
176
176
  export interface BlockCommands {
177
+ element?: HTMLElement;
177
178
  group: string;
178
179
  commands: CommandItem[];
179
- executeCommand: (editor: OnesEditor, block: BlockElement, item: CommandItem) => unknown;
180
+ startGroup?: boolean;
181
+ executeCommand: (editor: OnesEditor, block: BlockElement, item: CommandItem, child: TextBlockContentChild | null) => unknown;
180
182
  }
181
183
  export interface BlockProperties {
182
184
  blockCommands?: Record<string, BlockCommands>;
@@ -659,11 +661,11 @@ export interface OnesEditorInput {
659
661
  export interface OnesEditorSelectionHandler {
660
662
  isSelecting: () => boolean;
661
663
  stopSelection: () => void;
662
- handleMouseDown: (event: MouseEvent, options: {
664
+ handleMouseDown: (event: MouseEvent | TouchEvent, options: {
663
665
  autoScroll: boolean;
664
666
  }) => void;
665
667
  handleMouseMove: (event: MouseEvent) => void;
666
- handleMouseUp: (event: MouseEvent) => void;
668
+ handleMouseUp: (event: MouseEvent | TouchEvent) => void;
667
669
  handleDblClick: (event: MouseEvent) => void;
668
670
  handleTripleClick: (event: MouseEvent) => void;
669
671
  }
@@ -714,32 +716,42 @@ export interface OnesEditorInsertions {
714
716
  }
715
717
  export type CommandParams = {
716
718
  [index: string]: unknown;
719
+ } & {
720
+ source?: string[];
717
721
  };
718
722
  export type CommandResult = {
719
723
  [index: string]: unknown;
720
724
  };
721
725
  export interface OnesEditorCommandProvider {
722
726
  id: string;
723
- getAvailableCommands: (editor: OnesEditor, block: BlockElement, range: SelectionRange) => BlockCommandItem[];
724
- executeCommand?: (editor: OnesEditor, block: BlockElement, range: SelectionRange, item: BlockCommandItem, params: CommandParams, result: CommandResult) => boolean;
725
- filterCommands?: (editor: OnesEditor, block: BlockElement, range: SelectionRange, commands: BlockCommandItemWithSource[]) => BlockCommandItemWithSource[] | undefined;
726
- beforeExecuteCommand?: (editor: OnesEditor, block: BlockElement, range: SelectionRange, item: BlockCommandItem, params: CommandParams) => boolean | undefined;
727
- afterExecuteCommand?: (editor: OnesEditor, block: BlockElement, range: SelectionRange, item: BlockCommandItem, params: CommandParams, result: CommandResult) => void;
728
- getEmptyBlockTextAttributes?: (editor: OnesEditor, blockId: string) => DocBlockTextAttributes | undefined;
729
- executeRangeCommand?: (editor: OnesEditor, range: SelectionRange, command: BlockCommandItemWithSource, params: CommandParams, result: CommandResult) => boolean;
730
- }
731
- export interface BlockCommandItemWithSource extends BlockCommandItem {
727
+ groupIndex?: number;
728
+ getAvailableCommands: (editor: OnesEditor, block: BlockElement, range: SelectionRange, params?: CommandParams) => CommandItem[];
729
+ getInsertCommands?: (editor: OnesEditor, containerId: string) => CommandItem[];
730
+ executeInsertCommand?: (editor: OnesEditor, containerId: string, blockIndex: number, item: CommandItem, params: CommandParams, result?: CommandResult) => boolean;
731
+ executeRangeCommand?: (editor: OnesEditor, range: SelectionRange, command: CommandItemWithSource, params: CommandParams, result?: CommandResult) => boolean;
732
+ executeCommand?: (editor: OnesEditor, block: BlockElement, range: SelectionRange, item: CommandItem, params: CommandParams, result?: CommandResult) => boolean;
733
+ filterCommands?: (editor: OnesEditor, block: BlockElement, range: SelectionRange, commands: CommandItemWithSource[]) => CommandItemWithSource[] | undefined;
734
+ beforeExecuteCommand?: (editor: OnesEditor, block: BlockElement, range: SelectionRange, item: CommandItem, params: CommandParams) => boolean | undefined;
735
+ afterExecuteCommand?: (editor: OnesEditor, block: BlockElement, range: SelectionRange, item: CommandItem, params: CommandParams, result: CommandResult) => void;
736
+ }
737
+ export interface CommandItemWithSource extends CommandItem {
732
738
  source: string;
733
739
  }
740
+ export interface CommandFilter {
741
+ filter: (editor: OnesEditor, range: SelectionRange, items: CommandItemWithSource[], source: string[]) => CommandItemWithSource[];
742
+ }
743
+ export type CommandFilterId = keyof any;
734
744
  export interface OnesEditorCommandProviders {
745
+ commandFilters?: Map<CommandFilterId, CommandFilter>;
746
+ addFilter?: (id: CommandFilterId, filter: CommandFilter) => void;
747
+ filterItems?: (range: SelectionRange, items: CommandItemWithSource[]) => CommandItemWithSource[];
735
748
  registerCommandProvider: (provider: OnesEditorCommandProvider) => void;
736
749
  getCommandProviders: () => OnesEditorCommandProvider[];
737
750
  getCommandProvider: (id: string) => OnesEditorCommandProvider;
738
- getCommands: (range: SelectionRange, source: string) => BlockCommandItemWithSource[];
739
- executeCommand: (range: SelectionRange, item: BlockCommandItemWithSource, params: CommandParams) => {
751
+ getCommands: (range: SelectionRange) => CommandItemWithSource[];
752
+ executeCommand: (range: SelectionRange, item: CommandItemWithSource, params: CommandParams) => {
740
753
  [index: string]: CommandResult;
741
754
  };
742
- getEmptyBlockTextAttributes: (editor: OnesEditor, blockId: string) => DocBlockTextAttributes | undefined;
743
755
  }
744
756
  export interface EditorDocLocalActionCallbacks {
745
757
  onBeforeUpdateBlockText: (containerId: string, blockId: string, oldText: DocBlockText, newText: DocBlockText, newRange: OnesEditorDocRange) => void;
@@ -753,5 +765,5 @@ export interface OnesEditorBlockHook {
753
765
  create?: (editor: OnesEditor, path: BlockPath, container: ContainerElement, blockElement: BlockElement, blockData: DocBlock) => void;
754
766
  update?: (editor: OnesEditor, path: BlockPath, container: ContainerElement, blockElement: BlockElement, blockData: DocBlock) => void;
755
767
  writable?: (editor: OnesEditor, blockElement: BlockElement | BlockElement[]) => boolean | undefined;
756
- commands?: (editor: OnesEditor, blockElement: BlockElement) => BlockCommands;
768
+ commands?: (editor: OnesEditor, blockElement: BlockElement, child: TextBlockContentChild | null) => BlockCommands | undefined;
757
769
  }
@@ -15,8 +15,8 @@ export interface OnesEditorHoveringBlockFinder extends OnesEditorCustom {
15
15
  export default class OnesEditorHoveringBlock extends TypedEmitter<OnesEditorHoveringBlockEvents> {
16
16
  private editor;
17
17
  private hoveringBlock;
18
- private hoveringElem;
19
- private hoveringTextChild;
18
+ hoveringElem: EventTarget | null;
19
+ hoveringTextChild: TextBlockContentChild | null;
20
20
  private filters;
21
21
  private finders;
22
22
  constructor(editor: OnesEditor);
@@ -37,4 +37,7 @@ export declare function bindKeyDownEvent(input: HTMLInputElement | HTMLTextAreaE
37
37
  export declare function getElementFromPoint(x: number, y: number, options?: {
38
38
  noFilter: boolean;
39
39
  }): Element;
40
+ export declare function ensureIsMobileEvent(events: MouseEvent | TouchEvent): events is TouchEvent;
41
+ export declare function createMouseEventFromTouchEvent(event: TouchEvent, type: 'mousedown' | 'mousemove' | 'mouseup' | 'click'): MouseEvent;
42
+ export declare function bindTouchEnd(elem: HTMLElement | Document, callback: (e: any) => void): void;
40
43
  export {};
@@ -1,6 +1,6 @@
1
- export type DragStartHandler<T> = (drag: DragDrop<T>, event: MouseEvent, elem: HTMLElement) => void;
2
- export type DraggingHandler<T> = (drag: DragDrop<T>, event: MouseEvent, elem: HTMLElement, deltaX: number, deltaY: number) => void;
3
- export type DragEndHandler<T> = (drag: DragDrop<T>, event: MouseEvent, elem: HTMLElement, deltaX: number, deltaY: number) => void;
1
+ export type DragStartHandler<T> = (drag: DragDrop<T>, event: MouseEvent | TouchEvent, elem: HTMLElement) => void;
2
+ export type DraggingHandler<T> = (drag: DragDrop<T>, event: MouseEvent | TouchEvent, elem: HTMLElement, deltaX: number, deltaY: number) => void;
3
+ export type DragEndHandler<T> = (drag: DragDrop<T>, event: MouseEvent | TouchEvent, elem: HTMLElement, deltaX: number, deltaY: number) => void;
4
4
  export interface DragDropOptions<T> {
5
5
  elem: HTMLElement;
6
6
  onDragStart: DragStartHandler<T>;
@@ -10,6 +10,7 @@ export interface DragDropOptions<T> {
10
10
  minThreshold?: number;
11
11
  cursor?: string;
12
12
  mouseDownEvent?: MouseEvent;
13
+ mobile?: boolean;
13
14
  }
14
15
  export declare const MIN_DISTANCE_THRESHOLD = 3;
15
16
  export declare class DragDrop<T> {
@@ -37,5 +38,9 @@ export declare class DragDrop<T> {
37
38
  private onDragging;
38
39
  private onDragEnd;
39
40
  destroy(): void;
41
+ static getEventPosition(event: MouseEvent | TouchEvent): {
42
+ x: number;
43
+ y: number;
44
+ };
40
45
  }
41
46
  export declare function registerDragDrop<T>(options: DragDropOptions<T>): DragDrop<T>;
@@ -1,12 +1,13 @@
1
1
  import { BlockCommands, BlockElement, CommandItem, OnesEditor } from '../../../../@ones-editor/core';
2
- export type PresetCommandId = 'edit' | 'add-comment';
3
- export interface StandardEmbedBlockProperties<T = PresetCommandId> {
2
+ export type CommandId = 'edit' | 'add-comment' | 'separator';
3
+ export interface StandardEmbedBlockProperties<T = CommandId> {
4
4
  presetIds?: T[];
5
- extCommands?: CommandItem[];
5
+ extIds?: T[];
6
+ extCommands?: CommandItem[] | ((editor: OnesEditor, block: BlockElement) => CommandItem[]);
6
7
  handleExecuteCommand?: (editor: OnesEditor, block: BlockElement, item: CommandItem) => boolean;
7
8
  }
8
9
  export declare function addCommentToBlock(editor: OnesEditor, block: BlockElement): boolean;
9
- export declare class StandardEmbedBlockCommands<T = PresetCommandId> implements BlockCommands {
10
+ export declare class StandardEmbedBlockCommands<T = CommandId> implements BlockCommands {
10
11
  protected editor: OnesEditor;
11
12
  protected block: BlockElement;
12
13
  protected properties?: StandardEmbedBlockProperties<T> | undefined;
@@ -18,6 +19,6 @@ export declare class StandardEmbedBlockCommands<T = PresetCommandId> implements
18
19
  }
19
20
  export declare function getStandardEmbedBlockProperties(editor: OnesEditor, block: BlockElement, properties?: StandardEmbedBlockProperties): {
20
21
  blockCommands: {
21
- 'hovering-toolbar': StandardEmbedBlockCommands<PresetCommandId>;
22
+ 'hovering-toolbar': StandardEmbedBlockCommands<CommandId>;
22
23
  };
23
24
  };
@@ -6,6 +6,7 @@ declare const _default: {
6
6
  toLink: string;
7
7
  toCard: string;
8
8
  comment: string;
9
+ preview: string;
9
10
  };
10
11
  };
11
12
  };
@@ -6,6 +6,7 @@ declare const _default: {
6
6
  toLink: string;
7
7
  toCard: string;
8
8
  comment: string;
9
+ preview: string;
9
10
  };
10
11
  };
11
12
  };
@@ -6,6 +6,7 @@ declare const _default: {
6
6
  toLink: string;
7
7
  toCard: string;
8
8
  comment: string;
9
+ preview: string;
9
10
  };
10
11
  };
11
12
  };