@ones-editor/editor 2.1.10 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) 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 +16 -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 +3 -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/editor/editor-dom/editor-dom.d.ts +1 -0
  27. package/@ones-editor/core/src/core/editor/index.d.ts +1 -1
  28. package/@ones-editor/core/src/core/selection/actions/index.d.ts +2 -1
  29. package/@ones-editor/core/src/core/selection/index.d.ts +1 -0
  30. package/@ones-editor/core/src/core/selection/select-handler.d.ts +3 -3
  31. package/@ones-editor/core/src/core/types.d.ts +47 -28
  32. package/@ones-editor/core/src/helper/hovering-block.d.ts +2 -2
  33. package/@ones-editor/core/src/utils/animate-scroll.d.ts +2 -0
  34. package/@ones-editor/core/src/utils/dom.d.ts +4 -1
  35. package/@ones-editor/core/src/utils/drag-drop.d.ts +8 -3
  36. package/@ones-editor/embed-block-helper/src/block-properties/embed-block-properties.d.ts +6 -5
  37. package/@ones-editor/file/src/locale/en-us.d.ts +1 -0
  38. package/@ones-editor/file/src/locale/ja-jp.d.ts +1 -0
  39. package/@ones-editor/file/src/locale/zh-cn.d.ts +1 -0
  40. package/@ones-editor/graph-embed/src/helper/graph-block-commands.d.ts +5 -19
  41. package/@ones-editor/image-embed/src/hovering-toolbar/index.d.ts +12 -1
  42. package/@ones-editor/image-embed/src/splitter-resizer/index.d.ts +3 -3
  43. package/@ones-editor/input-handlers/src/i18n/en-us.d.ts +1 -0
  44. package/@ones-editor/input-handlers/src/i18n/ja-jp.d.ts +1 -0
  45. package/@ones-editor/input-handlers/src/i18n/zh-cn.d.ts +1 -0
  46. package/@ones-editor/layout-block/src/command-filter.d.ts +6 -0
  47. package/@ones-editor/layout-block/src/index.d.ts +1 -0
  48. package/@ones-editor/list-block/src/index.d.ts +2 -1
  49. package/@ones-editor/media-embed/src/core/hovering-toolbar/index.d.ts +12 -1
  50. package/@ones-editor/media-embed/src/utils/dom.d.ts +2 -0
  51. package/@ones-editor/mention/src/locale/en-us.d.ts +3 -0
  52. package/@ones-editor/mention/src/locale/ja-jp.d.ts +3 -0
  53. package/@ones-editor/mention/src/locale/zh-cn.d.ts +3 -0
  54. package/@ones-editor/mention/src/mention.d.ts +24 -1
  55. package/@ones-editor/mobile-helper/src/cursor-toolbar.d.ts +15 -0
  56. package/@ones-editor/mobile-helper/src/embed-mask.d.ts +10 -0
  57. package/@ones-editor/mobile-helper/src/fixed-toolbar/active-observer.d.ts +11 -0
  58. package/@ones-editor/mobile-helper/src/fixed-toolbar/fixed-providers.d.ts +6 -0
  59. package/@ones-editor/mobile-helper/src/fixed-toolbar/index.d.ts +18 -0
  60. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/align-dropdown.d.ts +9 -0
  61. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/group.d.ts +7 -0
  62. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/insert-menu.d.ts +13 -0
  63. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/insert.d.ts +8 -0
  64. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/paragraph.d.ts +9 -0
  65. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/tab-provider.d.ts +10 -0
  66. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/text-dropdown.d.ts +9 -0
  67. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/turn-into.d.ts +8 -0
  68. package/@ones-editor/mobile-helper/src/fixed-toolbar/toolbar-handler.d.ts +15 -0
  69. package/@ones-editor/mobile-helper/src/index.d.ts +14 -2
  70. package/@ones-editor/mobile-helper/src/locale/en-us.d.ts +9 -0
  71. package/@ones-editor/mobile-helper/src/locale/ja-jp.d.ts +9 -0
  72. package/@ones-editor/mobile-helper/src/locale/zh-cn.d.ts +9 -0
  73. package/@ones-editor/mobile-helper/src/selection-gripper/index.d.ts +19 -0
  74. package/@ones-editor/mobile-helper/src/selection-gripper/select-handle.d.ts +3 -0
  75. package/@ones-editor/scroll-container/src/utils.d.ts +1 -1
  76. package/@ones-editor/sharedb-doc/src/index.d.ts +3 -0
  77. package/@ones-editor/table-block/src/commands/index.d.ts +2 -0
  78. package/@ones-editor/table-block/src/commands/mobile-command-provider.d.ts +12 -0
  79. package/@ones-editor/table-block/src/commands/table-block-commands.d.ts +4 -3
  80. package/@ones-editor/table-block/src/index.d.ts +2 -1
  81. package/@ones-editor/table-block/src/locale/en-us.d.ts +5 -0
  82. package/@ones-editor/table-block/src/locale/ja-jp.d.ts +5 -0
  83. package/@ones-editor/table-block/src/locale/zh-cn.d.ts +5 -0
  84. package/@ones-editor/table-block/src/table-block/cell-menu/table-cell-dom.d.ts +6 -0
  85. package/@ones-editor/table-block/src/table-block/table-resize/resize-drag-drop.d.ts +4 -4
  86. package/@ones-editor/text-commands/src/index.d.ts +1 -3
  87. package/@ones-editor/tsconfig.tsbuildinfo +1 -1
  88. package/@ones-editor/ui/src/block-menu/block-command-providers.d.ts +8 -0
  89. package/@ones-editor/{block-menu → ui}/src/block-menu/index.d.ts +3 -1
  90. package/@ones-editor/ui/src/box-helper/standard-box-commands.d.ts +10 -0
  91. package/@ones-editor/ui/src/box-helper/standard-box-provider.d.ts +9 -0
  92. package/@ones-editor/ui/src/index.d.ts +32 -8
  93. package/@ones-editor/ui/src/link-popup/mobile-link-popup.d.ts +22 -0
  94. package/@ones-editor/ui/src/link-popup/types.d.ts +34 -0
  95. package/@ones-editor/ui/src/link-popup/web-link-popup.d.ts +19 -0
  96. package/@ones-editor/ui/src/locale/en-us.d.ts +14 -0
  97. package/@ones-editor/ui/src/locale/ja-jp.d.ts +14 -0
  98. package/@ones-editor/ui/src/locale/zh-cn.d.ts +14 -0
  99. package/@ones-editor/ui/src/providers/align-dropdown.d.ts +10 -0
  100. package/@ones-editor/ui/src/providers/align.d.ts +11 -0
  101. package/@ones-editor/ui/src/providers/block-hook-provider.d.ts +16 -0
  102. package/@ones-editor/ui/src/providers/clipboard-provider.d.ts +20 -0
  103. package/@ones-editor/ui/src/providers/color-provider.d.ts +18 -0
  104. package/@ones-editor/ui/src/providers/edit-link-provider.d.ts +6 -0
  105. package/@ones-editor/ui/src/providers/heading.d.ts +13 -0
  106. package/@ones-editor/ui/src/providers/inline-code-provider.d.ts +10 -0
  107. package/@ones-editor/ui/src/providers/inline-style-provider.d.ts +10 -0
  108. package/@ones-editor/ui/src/providers/insert-above.d.ts +9 -0
  109. package/@ones-editor/ui/src/providers/insert-after.d.ts +9 -0
  110. package/@ones-editor/ui/src/providers/insert-box-provider.d.ts +12 -0
  111. package/@ones-editor/ui/src/providers/insert-group.d.ts +7 -0
  112. package/@ones-editor/ui/src/providers/insert-menu.d.ts +16 -0
  113. package/@ones-editor/ui/src/providers/link.d.ts +12 -0
  114. package/@ones-editor/ui/src/providers/list.d.ts +13 -0
  115. package/@ones-editor/ui/src/providers/mobile-link-provider.d.ts +13 -0
  116. package/@ones-editor/ui/src/providers/paragraph.d.ts +9 -0
  117. package/@ones-editor/ui/src/providers/proxy-provider.d.ts +9 -0
  118. package/@ones-editor/ui/src/providers/quoted.d.ts +10 -0
  119. package/@ones-editor/ui/src/providers/script-with-dropdown.d.ts +9 -0
  120. package/@ones-editor/ui/src/providers/selection-provider.d.ts +9 -0
  121. package/@ones-editor/ui/src/providers/text-command-provider.d.ts +16 -0
  122. package/@ones-editor/ui/src/providers/text-fixed-provider.d.ts +16 -0
  123. package/@ones-editor/ui/src/providers/text-script-provider.d.ts +10 -0
  124. package/@ones-editor/ui/src/providers/text-styles.d.ts +9 -0
  125. package/@ones-editor/ui/src/providers/turn-into.d.ts +9 -0
  126. package/@ones-editor/ui/src/providers/utils/add-section.d.ts +2 -0
  127. package/@ones-editor/ui/src/{quick-menu → providers/utils}/basic-commands.d.ts +1 -2
  128. package/@ones-editor/ui/src/providers/utils/clipboard.d.ts +6 -0
  129. package/@ones-editor/ui/src/providers/utils/index.d.ts +2 -0
  130. package/@ones-editor/ui/src/providers/utils/inject-block-options.d.ts +8 -0
  131. package/@ones-editor/ui/src/providers/utils/text-styles.d.ts +6 -0
  132. package/@ones-editor/ui/src/quick-menu/index.d.ts +7 -19
  133. package/@ones-editor/ui/src/quick-menu/quick-command-providers.d.ts +8 -0
  134. package/@ones-editor/ui/src/quick-menu/types.d.ts +2 -5
  135. package/@ones-editor/ui/src/readonly-toolbar/add-comment-to-old-doc.d.ts +22 -0
  136. package/@ones-editor/ui/src/readonly-toolbar/index.d.ts +29 -0
  137. package/@ones-editor/ui/src/readonly-toolbar/types.d.ts +12 -0
  138. package/@ones-editor/ui/src/toolbar/link-commands.d.ts +11 -0
  139. package/@ones-editor/ui/src/toolbar/text-commands.d.ts +2 -2
  140. package/@ones-editor/ui/src/toolbar/toolbar-handler.d.ts +2 -1
  141. package/@ones-editor/ui/src/utils/hide-toolbar.d.ts +2 -0
  142. package/@ones-editor/ui-base/src/auto-suggest/auto-suggest-menu.d.ts +4 -1
  143. package/@ones-editor/ui-base/src/auto-suggest/auto-suggest.d.ts +3 -1
  144. package/@ones-editor/ui-base/src/color-button/text-color-item.d.ts +1 -0
  145. package/@ones-editor/ui-base/src/command-bar/command-bar.d.ts +4 -2
  146. package/@ones-editor/ui-base/src/command-bar/fixed-toolbar.d.ts +2 -1
  147. package/@ones-editor/ui-base/src/command-bar/init-toolbar-item.d.ts +1 -0
  148. package/@ones-editor/ui-base/src/command-bar/manual-command-bar.d.ts +1 -0
  149. package/@ones-editor/ui-base/src/command-bar/types.d.ts +7 -2
  150. package/@ones-editor/ui-base/src/dialog/manual-close-dialog.d.ts +1 -1
  151. package/@ones-editor/ui-base/src/icons/index.d.ts +5 -1
  152. package/@ones-editor/ui-base/src/index.d.ts +3 -0
  153. package/@ones-editor/ui-base/src/input/create-input.d.ts +24 -3
  154. package/@ones-editor/ui-base/src/mobile-command-bar/init-menu-item.d.ts +3 -0
  155. package/@ones-editor/ui-base/src/mobile-command-bar/mobile-bottom-menu.d.ts +21 -0
  156. package/@ones-editor/ui-base/src/mobile-command-bar/scroll-into-view.d.ts +3 -0
  157. package/@ones-editor/ui-base/src/popup/popup.d.ts +1 -1
  158. package/@ones-editor/{ui → ui-base}/src/text-button/index.d.ts +1 -1
  159. package/dist/auto-new-line.d.ts +7 -0
  160. package/dist/comments/local-doc-comments-provider.d.ts +2 -1
  161. package/dist/index.d.ts +7 -3
  162. package/dist/index.js +27673 -23865
  163. package/dist/lang/en-us.d.ts +1 -1
  164. package/dist/lang/ja-jp.d.ts +1 -1
  165. package/dist/lang/zh-cn.d.ts +1 -1
  166. package/dist/types.d.ts +5 -2
  167. package/package.json +1 -1
  168. package/@ones-editor/block-menu/src/block-menu/items/block-command-items.d.ts +0 -3
  169. package/@ones-editor/block-menu/src/block-menu/items/index.d.ts +0 -5
  170. package/@ones-editor/block-menu/src/block-menu/items/insert-block-items/index.d.ts +0 -5
  171. package/@ones-editor/block-menu/src/block-menu/items/text-styles/text-style-item.d.ts +0 -30
  172. package/@ones-editor/block-menu/src/block-menu/items/types.d.ts +0 -5
  173. package/@ones-editor/text-commands/src/locale/en-us.d.ts +0 -13
  174. package/@ones-editor/text-commands/src/locale/ja-jp.d.ts +0 -13
  175. package/@ones-editor/text-commands/src/locale/zh-cn.d.ts +0 -13
  176. package/@ones-editor/text-commands/src/text-command-provider.d.ts +0 -24
  177. package/@ones-editor/text-commands/src/text-commands.d.ts +0 -4
  178. package/@ones-editor/text-commands/src/text-styles.d.ts +0 -4
  179. package/@ones-editor/ui/src/quick-menu/basic-menu-items.d.ts +0 -16
  180. package/@ones-editor/ui/src/quick-menu/inline-box-items.d.ts +0 -8
  181. package/@ones-editor/ui/src/quick-menu/insert-empty-block.d.ts +0 -4
  182. package/@ones-editor/ui/src/quick-menu/order.d.ts +0 -1
  183. package/@ones-editor/ui/src/quick-menu/quick-menu-items.d.ts +0 -9
  184. package/@ones-editor/ui/src/toolbar/commands/align.d.ts +0 -10
  185. package/@ones-editor/ui/src/toolbar/commands/paragraph.d.ts +0 -11
  186. package/@ones-editor/ui/src/toolbar/commands/turn-into.d.ts +0 -10
  187. package/@ones-editor/ui/src/toolbar/merge-commands.d.ts +0 -2
  188. /package/@ones-editor/{text-commands → mobile-helper}/src/locale/index.d.ts +0 -0
  189. /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,16 @@
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
+ private lastRange;
8
+ constructor(editor: OnesEditor);
9
+ clear: () => void;
10
+ handleSelectionChanged: () => void;
11
+ destroy(): void;
12
+ getEmptyBlockTextAttributes(blockId: string): DocBlockTextAttributes | undefined;
13
+ setActiveBlockAttributes: (attributes: CommandParams) => void;
14
+ setEmptyBlockTextAttributes: (blockId: string, attributes: CommandParams) => void;
15
+ setActiveAttribute: (attribute: string, value: unknown) => void;
16
+ }
@@ -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;
@@ -6,6 +6,7 @@ export declare class RootContainer {
6
6
  resizeObserver: ResizeObserver;
7
7
  private isMoved;
8
8
  private mouseDownEvent;
9
+ private dbClickRef;
9
10
  constructor(editor: OnesEditor, rootContainer: ContainerElement);
10
11
  private bindEvents;
11
12
  private unbindEvents;
@@ -15,9 +16,9 @@ export declare class RootContainer {
15
16
  handleClick: (event: MouseEvent) => void;
16
17
  handleBlockClick: (event: MouseEvent, block: BlockElement, elem: Element) => void;
17
18
  handleDblClick: (event: MouseEvent) => void;
18
- handleMouseDown: (event: MouseEvent) => void;
19
+ handleMouseDown: (event: TouchEvent | MouseEvent) => void;
19
20
  handleMouseMove: (event: MouseEvent) => void;
20
- handleMouseUp: (event: MouseEvent) => void;
21
+ handleMouseUp: (event: MouseEvent | TouchEvent) => void;
21
22
  handleCaptureClick: (event: MouseEvent) => void;
22
23
  handleCaptureDbClick: (event: MouseEvent) => void;
23
24
  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;
@@ -7,5 +7,6 @@ export declare function isBlockPositionVisible(editor: OnesEditor, pos: SimpleBl
7
7
  export declare function scrollIntoView(editor: OnesEditor, target: HTMLElement, options?: {
8
8
  animation?: boolean;
9
9
  verticalOffset?: number;
10
+ elementToScroll?: HTMLElement;
10
11
  }): void;
11
12
  export declare function editorScrollIntoView(editor: OnesEditor): void;
@@ -1,3 +1,3 @@
1
1
  export * from './editor';
2
2
  export * from './actions';
3
- export { scrollIntoView } from './editor-dom';
3
+ export { scrollIntoView, editorScrollIntoView } from './editor-dom';
@@ -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,7 +136,7 @@ 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;
@@ -145,25 +151,17 @@ export interface CommandItem {
145
151
  defaultCheckedChildren?: string[];
146
152
  ellipsisTooltip?: string;
147
153
  disableTooltip?: boolean;
154
+ tooltipPlacement?: CommandItemChildrenPlacement;
148
155
  disableReason?: string;
149
156
  hideGroupItem?: boolean;
150
157
  setCloseable?: (closeable: Closeable) => void;
151
158
  beforePopup?: (parent: unknown) => void;
152
- /**
153
- * defaults to true
154
- */
155
- shouldShown?: (currentBlock: BlockElement | undefined, menuType: CommandItemMenuType) => boolean;
159
+ switchable?: boolean;
156
160
  /**
157
161
  * defaults to true
158
162
  */
159
163
  clickToClose?: boolean;
160
164
  }
161
- export interface BlockCommandItem extends CommandItem {
162
- blockId: string;
163
- blockType: string;
164
- blockKind: BlockKind;
165
- groupIndex: number;
166
- }
167
165
  export type StyleType = boolean | string | number;
168
166
  export type BlockStyles = {
169
167
  [index: string]: StyleType;
@@ -174,9 +172,11 @@ export type BlockPathComponent = {
174
172
  };
175
173
  export type BlockPath = BlockPathComponent[];
176
174
  export interface BlockCommands {
175
+ element?: HTMLElement;
177
176
  group: string;
178
177
  commands: CommandItem[];
179
- executeCommand: (editor: OnesEditor, block: BlockElement, item: CommandItem) => unknown;
178
+ startGroup?: boolean;
179
+ executeCommand: (editor: OnesEditor, block: BlockElement, item: CommandItem, child: TextBlockContentChild | null) => unknown;
180
180
  }
181
181
  export interface BlockProperties {
182
182
  blockCommands?: Record<string, BlockCommands>;
@@ -640,6 +640,7 @@ export type PasteOptions = {
640
640
  };
641
641
  export interface OnesEditorInput {
642
642
  readonly inputElement: HTMLTextAreaElement;
643
+ getInput: () => HTMLTextAreaElement;
643
644
  destroy: () => void;
644
645
  focus: () => void;
645
646
  handleDocumentSelectionChange: () => void;
@@ -659,11 +660,11 @@ export interface OnesEditorInput {
659
660
  export interface OnesEditorSelectionHandler {
660
661
  isSelecting: () => boolean;
661
662
  stopSelection: () => void;
662
- handleMouseDown: (event: MouseEvent, options: {
663
+ handleMouseDown: (event: MouseEvent | TouchEvent, options: {
663
664
  autoScroll: boolean;
664
665
  }) => void;
665
666
  handleMouseMove: (event: MouseEvent) => void;
666
- handleMouseUp: (event: MouseEvent) => void;
667
+ handleMouseUp: (event: MouseEvent | TouchEvent) => void;
667
668
  handleDblClick: (event: MouseEvent) => void;
668
669
  handleTripleClick: (event: MouseEvent) => void;
669
670
  }
@@ -714,32 +715,43 @@ export interface OnesEditorInsertions {
714
715
  }
715
716
  export type CommandParams = {
716
717
  [index: string]: unknown;
718
+ } & {
719
+ source?: string[];
720
+ isFilter?: boolean;
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: CommandItemWithSource, 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: CommandItemWithSource, 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: CommandItemWithSource, params: CommandParams) => boolean | undefined;
735
+ afterExecuteCommand?: (editor: OnesEditor, block: BlockElement, range: SelectionRange, item: CommandItemWithSource, 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,12 @@ 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;
769
+ }
770
+ export interface MobileClient {
771
+ getViewPortHeight: () => number;
772
+ getOffsetHeight: () => number;
773
+ virtualViewportHeight: number;
774
+ virtualViewportOffsetTop: number;
775
+ isAndroidApp: boolean;
757
776
  }
@@ -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);
@@ -10,6 +10,7 @@ export interface IUserOptions {
10
10
  verticalOffset?: number;
11
11
  disableHorizontal?: boolean;
12
12
  disableVertical?: boolean;
13
+ getClientHeight?: () => number;
13
14
  }
14
15
  export interface IOptions {
15
16
  cancelOnUserAction: boolean;
@@ -22,6 +23,7 @@ export interface IOptions {
22
23
  verticalOffset: number;
23
24
  disableHorizontal?: boolean;
24
25
  disableVertical?: boolean;
26
+ getClientHeight?: () => number;
25
27
  }
26
28
  declare function animateScrollTo(y: number, userOptions?: IUserOptions): Promise<boolean>;
27
29
  declare function animateScrollTo(coords: TCoords, userOptions?: IUserOptions): Promise<boolean>;
@@ -1,4 +1,4 @@
1
- import type { CSSStyles } from '../core/types';
1
+ import type { CSSStyles, OnesEditor } from '../core/types';
2
2
  export declare function addClass(dom: Element, ...className: Array<string>): void;
3
3
  export declare function hasClass(dom: Node | null, className: string): boolean;
4
4
  export declare function removeClass(dom: Element, ...className: Array<string>): void;
@@ -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 createMouseEventFromTouchEvent(event: TouchEvent, type: 'mousedown' | 'mousemove' | 'mouseup' | 'click'): MouseEvent;
41
+ export declare function ensureIsMobileEvent(events: MouseEvent | TouchEvent): events is TouchEvent;
42
+ export declare function bindDbClick(editor: OnesEditor, elem: HTMLElement, handler: (event: MouseEvent) => 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>;