@ones-editor/editor 2.1.8-beta.5 → 2.1.8-beta.7

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 (209) 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 +3 -5
  12. package/@ones-editor/core/src/core/blocks/text-blocks/base/child.d.ts +1 -7
  13. package/@ones-editor/core/src/core/blocks/text-blocks/base/line-breaks.d.ts +1 -2
  14. package/@ones-editor/core/src/core/blocks/text-blocks/base/range.d.ts +1 -2
  15. package/@ones-editor/core/src/core/blocks/text-blocks/base/text-offset.d.ts +1 -2
  16. package/@ones-editor/core/src/core/command-providers/abstract-providers.d.ts +25 -0
  17. package/@ones-editor/core/src/core/command-providers/block-attributes.d.ts +16 -0
  18. package/@ones-editor/core/src/core/command-providers/commands/index.d.ts +2 -0
  19. package/@ones-editor/core/src/core/command-providers/commands/inject-source.d.ts +3 -0
  20. package/@ones-editor/core/src/core/command-providers/commands/merge-commands.d.ts +4 -0
  21. package/@ones-editor/core/src/core/command-providers/commands/range-commands.d.ts +2 -5
  22. package/@ones-editor/core/src/core/command-providers/editor-command-providers.d.ts +5 -14
  23. package/@ones-editor/core/src/core/command-providers/index.d.ts +3 -1
  24. package/@ones-editor/core/src/core/composition/editor-input.d.ts +1 -1
  25. package/@ones-editor/core/src/core/containers/root-container.d.ts +3 -2
  26. package/@ones-editor/core/src/core/doc/doc.d.ts +3 -0
  27. package/@ones-editor/core/src/core/doc/rich-text/text-style.d.ts +2 -0
  28. package/@ones-editor/core/src/core/editor/actions/clear-selected-contents.d.ts +2 -2
  29. package/@ones-editor/core/src/core/editor/editor-dom/editor-dom.d.ts +1 -0
  30. package/@ones-editor/core/src/core/editor/index.d.ts +1 -1
  31. package/@ones-editor/core/src/core/insertions/editor-insertions.d.ts +1 -0
  32. package/@ones-editor/core/src/core/selection/actions/index.d.ts +2 -1
  33. package/@ones-editor/core/src/core/selection/adjust-selection-pos.d.ts +5 -1
  34. package/@ones-editor/core/src/core/selection/index.d.ts +1 -0
  35. package/@ones-editor/core/src/core/selection/select-handler.d.ts +3 -3
  36. package/@ones-editor/core/src/core/types.d.ts +51 -28
  37. package/@ones-editor/core/src/core/undo-manager/actions/action.d.ts +5 -1
  38. package/@ones-editor/core/src/core/undo-manager/actions/block-action.d.ts +1 -0
  39. package/@ones-editor/core/src/core/undo-manager/actions/update-block-data-action.d.ts +1 -0
  40. package/@ones-editor/core/src/helper/hovering-block.d.ts +3 -4
  41. package/@ones-editor/core/src/utils/animate-scroll.d.ts +2 -0
  42. package/@ones-editor/core/src/utils/dom.d.ts +4 -1
  43. package/@ones-editor/core/src/utils/drag-drop.d.ts +8 -3
  44. package/@ones-editor/embed-block-helper/src/block-properties/embed-block-properties.d.ts +6 -5
  45. package/@ones-editor/excalidraw/package.json +4 -0
  46. package/@ones-editor/file/src/locale/en-us.d.ts +1 -0
  47. package/@ones-editor/file/src/locale/ja-jp.d.ts +1 -0
  48. package/@ones-editor/file/src/locale/zh-cn.d.ts +1 -0
  49. package/@ones-editor/graph-embed/src/helper/graph-block-commands.d.ts +5 -19
  50. package/@ones-editor/image-embed/src/hovering-toolbar/index.d.ts +12 -1
  51. package/@ones-editor/image-embed/src/image-object.d.ts +1 -0
  52. package/@ones-editor/image-embed/src/splitter-resizer/index.d.ts +3 -3
  53. package/@ones-editor/input-handlers/src/i18n/en-us.d.ts +1 -0
  54. package/@ones-editor/input-handlers/src/i18n/ja-jp.d.ts +1 -0
  55. package/@ones-editor/input-handlers/src/i18n/zh-cn.d.ts +1 -0
  56. package/@ones-editor/layout-block/src/command-filter.d.ts +6 -0
  57. package/@ones-editor/layout-block/src/index.d.ts +1 -0
  58. package/@ones-editor/list-block/src/index.d.ts +2 -1
  59. package/@ones-editor/media-embed/src/core/hovering-toolbar/index.d.ts +12 -1
  60. package/@ones-editor/media-embed/src/utils/dom.d.ts +2 -0
  61. package/@ones-editor/mention/src/locale/en-us.d.ts +3 -0
  62. package/@ones-editor/mention/src/locale/ja-jp.d.ts +3 -0
  63. package/@ones-editor/mention/src/locale/zh-cn.d.ts +3 -0
  64. package/@ones-editor/mention/src/mention.d.ts +24 -1
  65. package/@ones-editor/mobile-helper/src/cursor-toolbar.d.ts +15 -0
  66. package/@ones-editor/mobile-helper/src/embed-mask.d.ts +10 -0
  67. package/@ones-editor/mobile-helper/src/fixed-toolbar/active-observer.d.ts +11 -0
  68. package/@ones-editor/mobile-helper/src/fixed-toolbar/fixed-providers.d.ts +6 -0
  69. package/@ones-editor/mobile-helper/src/fixed-toolbar/index.d.ts +18 -0
  70. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/align-dropdown.d.ts +9 -0
  71. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/group.d.ts +7 -0
  72. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/insert-menu.d.ts +13 -0
  73. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/insert.d.ts +8 -0
  74. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/paragraph.d.ts +9 -0
  75. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/tab-provider.d.ts +10 -0
  76. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/text-dropdown.d.ts +9 -0
  77. package/@ones-editor/mobile-helper/src/fixed-toolbar/providers/turn-into.d.ts +8 -0
  78. package/@ones-editor/mobile-helper/src/fixed-toolbar/toolbar-handler.d.ts +15 -0
  79. package/@ones-editor/mobile-helper/src/index.d.ts +14 -2
  80. package/@ones-editor/mobile-helper/src/locale/en-us.d.ts +9 -0
  81. package/@ones-editor/mobile-helper/src/locale/ja-jp.d.ts +9 -0
  82. package/@ones-editor/mobile-helper/src/locale/zh-cn.d.ts +9 -0
  83. package/@ones-editor/mobile-helper/src/selection-gripper/index.d.ts +19 -0
  84. package/@ones-editor/mobile-helper/src/selection-gripper/select-handle.d.ts +3 -0
  85. package/@ones-editor/scroll-container/src/utils.d.ts +1 -1
  86. package/@ones-editor/sharedb-doc/src/index.d.ts +3 -0
  87. package/@ones-editor/table-block/src/commands/index.d.ts +2 -0
  88. package/@ones-editor/table-block/src/commands/mobile-command-provider.d.ts +12 -0
  89. package/@ones-editor/table-block/src/commands/table-block-commands.d.ts +4 -3
  90. package/@ones-editor/table-block/src/index.d.ts +2 -1
  91. package/@ones-editor/table-block/src/locale/en-us.d.ts +5 -0
  92. package/@ones-editor/table-block/src/locale/ja-jp.d.ts +5 -0
  93. package/@ones-editor/table-block/src/locale/zh-cn.d.ts +5 -0
  94. package/@ones-editor/table-block/src/table-block/cell-menu/table-cell-dom.d.ts +6 -0
  95. package/@ones-editor/table-block/src/table-block/table-resize/resize-drag-drop.d.ts +4 -4
  96. package/@ones-editor/text-commands/src/index.d.ts +1 -3
  97. package/@ones-editor/to-docx/src/doc2other/core.d.ts +1 -1
  98. package/@ones-editor/to-docx/src/doc2other/table.d.ts +1 -0
  99. package/@ones-editor/tsconfig.tsbuildinfo +1 -1
  100. package/@ones-editor/ui/src/block-menu/block-command-providers.d.ts +8 -0
  101. package/@ones-editor/{block-menu → ui}/src/block-menu/index.d.ts +3 -1
  102. package/@ones-editor/ui/src/box-helper/standard-box-commands.d.ts +10 -0
  103. package/@ones-editor/ui/src/box-helper/standard-box-provider.d.ts +9 -0
  104. package/@ones-editor/ui/src/index.d.ts +34 -9
  105. package/@ones-editor/ui/src/link-popup/mobile-link-popup.d.ts +22 -0
  106. package/@ones-editor/ui/src/link-popup/types.d.ts +34 -0
  107. package/@ones-editor/ui/src/link-popup/web-link-popup.d.ts +19 -0
  108. package/@ones-editor/ui/src/locale/en-us.d.ts +14 -0
  109. package/@ones-editor/ui/src/locale/ja-jp.d.ts +14 -0
  110. package/@ones-editor/ui/src/locale/zh-cn.d.ts +14 -0
  111. package/@ones-editor/ui/src/providers/align-dropdown.d.ts +10 -0
  112. package/@ones-editor/ui/src/providers/align.d.ts +11 -0
  113. package/@ones-editor/ui/src/providers/block-hook-provider.d.ts +16 -0
  114. package/@ones-editor/ui/src/providers/clipboard-provider.d.ts +20 -0
  115. package/@ones-editor/ui/src/providers/color-provider.d.ts +18 -0
  116. package/@ones-editor/ui/src/providers/edit-link-provider.d.ts +6 -0
  117. package/@ones-editor/ui/src/providers/heading.d.ts +13 -0
  118. package/@ones-editor/ui/src/providers/inline-code-provider.d.ts +10 -0
  119. package/@ones-editor/ui/src/providers/inline-style-provider.d.ts +10 -0
  120. package/@ones-editor/ui/src/providers/insert-above.d.ts +9 -0
  121. package/@ones-editor/ui/src/providers/insert-after.d.ts +9 -0
  122. package/@ones-editor/ui/src/providers/insert-box-provider.d.ts +12 -0
  123. package/@ones-editor/ui/src/providers/insert-group.d.ts +7 -0
  124. package/@ones-editor/ui/src/providers/insert-menu.d.ts +16 -0
  125. package/@ones-editor/ui/src/providers/link.d.ts +12 -0
  126. package/@ones-editor/ui/src/providers/list.d.ts +13 -0
  127. package/@ones-editor/ui/src/providers/mobile-link-provider.d.ts +13 -0
  128. package/@ones-editor/ui/src/providers/paragraph.d.ts +9 -0
  129. package/@ones-editor/ui/src/providers/proxy-provider.d.ts +9 -0
  130. package/@ones-editor/ui/src/providers/quoted.d.ts +10 -0
  131. package/@ones-editor/ui/src/providers/script-with-dropdown.d.ts +9 -0
  132. package/@ones-editor/ui/src/providers/selection-provider.d.ts +9 -0
  133. package/@ones-editor/ui/src/providers/text-command-provider.d.ts +16 -0
  134. package/@ones-editor/ui/src/providers/text-fixed-provider.d.ts +16 -0
  135. package/@ones-editor/ui/src/providers/text-script-provider.d.ts +10 -0
  136. package/@ones-editor/ui/src/providers/text-styles.d.ts +9 -0
  137. package/@ones-editor/ui/src/providers/turn-into.d.ts +9 -0
  138. package/@ones-editor/ui/src/providers/utils/add-section.d.ts +2 -0
  139. package/@ones-editor/ui/src/{quick-menu → providers/utils}/basic-commands.d.ts +1 -2
  140. package/@ones-editor/ui/src/providers/utils/clipboard.d.ts +6 -0
  141. package/@ones-editor/ui/src/providers/utils/index.d.ts +2 -0
  142. package/@ones-editor/ui/src/providers/utils/inject-block-options.d.ts +8 -0
  143. package/@ones-editor/ui/src/providers/utils/text-styles.d.ts +6 -0
  144. package/@ones-editor/ui/src/quick-menu/index.d.ts +7 -19
  145. package/@ones-editor/ui/src/quick-menu/quick-command-providers.d.ts +8 -0
  146. package/@ones-editor/ui/src/quick-menu/types.d.ts +2 -5
  147. package/@ones-editor/ui/src/readonly-toolbar/add-comment-to-old-doc.d.ts +22 -0
  148. package/@ones-editor/ui/src/readonly-toolbar/index.d.ts +29 -0
  149. package/@ones-editor/ui/src/readonly-toolbar/types.d.ts +12 -0
  150. package/@ones-editor/ui/src/toolbar/link-commands.d.ts +11 -0
  151. package/@ones-editor/ui/src/toolbar/text-commands.d.ts +2 -2
  152. package/@ones-editor/ui/src/toolbar/toolbar-handler.d.ts +2 -1
  153. package/@ones-editor/ui/src/utils/hide-toolbar.d.ts +2 -0
  154. package/@ones-editor/ui-base/src/auto-suggest/auto-suggest-menu.d.ts +4 -1
  155. package/@ones-editor/ui-base/src/auto-suggest/auto-suggest.d.ts +3 -1
  156. package/@ones-editor/ui-base/src/color-button/text-color-item.d.ts +14 -7
  157. package/@ones-editor/ui-base/src/color-palette/color-palette.d.ts +7 -1
  158. package/@ones-editor/ui-base/src/color-palette/index.d.ts +3 -3
  159. package/@ones-editor/ui-base/src/command-bar/command-bar.d.ts +4 -2
  160. package/@ones-editor/ui-base/src/command-bar/fixed-toolbar.d.ts +2 -1
  161. package/@ones-editor/ui-base/src/command-bar/init-toolbar-item.d.ts +1 -0
  162. package/@ones-editor/ui-base/src/command-bar/manual-command-bar.d.ts +1 -0
  163. package/@ones-editor/ui-base/src/command-bar/types.d.ts +7 -2
  164. package/@ones-editor/ui-base/src/dialog/manual-close-dialog.d.ts +1 -1
  165. package/@ones-editor/ui-base/src/icons/index.d.ts +5 -1
  166. package/@ones-editor/ui-base/src/index.d.ts +3 -0
  167. package/@ones-editor/ui-base/src/input/create-input.d.ts +24 -3
  168. package/@ones-editor/ui-base/src/locale/en-us.d.ts +1 -0
  169. package/@ones-editor/ui-base/src/locale/ja-jp.d.ts +1 -0
  170. package/@ones-editor/ui-base/src/locale/zh-cn.d.ts +1 -0
  171. package/@ones-editor/ui-base/src/mobile-command-bar/init-menu-item.d.ts +3 -0
  172. package/@ones-editor/ui-base/src/mobile-command-bar/mobile-bottom-menu.d.ts +21 -0
  173. package/@ones-editor/ui-base/src/mobile-command-bar/scroll-into-view.d.ts +3 -0
  174. package/@ones-editor/ui-base/src/popup/popup.d.ts +1 -1
  175. package/@ones-editor/{ui → ui-base}/src/text-button/index.d.ts +1 -1
  176. package/@ones-editor/versions/src/history-doc/history-doc.d.ts +2 -2
  177. package/@ones-editor/versions/src/utils/index.d.ts +0 -1
  178. package/@ones-editor/versions/src/version-dialog/index.d.ts +0 -1
  179. package/dist/auto-new-line.d.ts +7 -0
  180. package/dist/comments/local-doc-comments-provider.d.ts +2 -1
  181. package/dist/index.d.ts +7 -3
  182. package/dist/index.js +26946 -22950
  183. package/dist/lang/en-us.d.ts +1 -1
  184. package/dist/lang/ja-jp.d.ts +1 -1
  185. package/dist/lang/zh-cn.d.ts +1 -1
  186. package/dist/types.d.ts +5 -2
  187. package/package.json +1 -1
  188. package/@ones-editor/block-menu/src/block-menu/items/block-command-items.d.ts +0 -3
  189. package/@ones-editor/block-menu/src/block-menu/items/index.d.ts +0 -5
  190. package/@ones-editor/block-menu/src/block-menu/items/insert-block-items/index.d.ts +0 -5
  191. package/@ones-editor/block-menu/src/block-menu/items/text-styles/text-style-item.d.ts +0 -30
  192. package/@ones-editor/block-menu/src/block-menu/items/types.d.ts +0 -5
  193. package/@ones-editor/text-commands/src/locale/en-us.d.ts +0 -13
  194. package/@ones-editor/text-commands/src/locale/ja-jp.d.ts +0 -13
  195. package/@ones-editor/text-commands/src/locale/zh-cn.d.ts +0 -13
  196. package/@ones-editor/text-commands/src/text-command-provider.d.ts +0 -24
  197. package/@ones-editor/text-commands/src/text-commands.d.ts +0 -4
  198. package/@ones-editor/text-commands/src/text-styles.d.ts +0 -4
  199. package/@ones-editor/ui/src/quick-menu/basic-menu-items.d.ts +0 -16
  200. package/@ones-editor/ui/src/quick-menu/inline-box-items.d.ts +0 -8
  201. package/@ones-editor/ui/src/quick-menu/insert-empty-block.d.ts +0 -4
  202. package/@ones-editor/ui/src/quick-menu/order.d.ts +0 -1
  203. package/@ones-editor/ui/src/quick-menu/quick-menu-items.d.ts +0 -9
  204. package/@ones-editor/ui/src/toolbar/commands/align.d.ts +0 -10
  205. package/@ones-editor/ui/src/toolbar/commands/paragraph.d.ts +0 -11
  206. package/@ones-editor/ui/src/toolbar/commands/turn-into.d.ts +0 -10
  207. package/@ones-editor/ui/src/toolbar/merge-commands.d.ts +0 -2
  208. /package/@ones-editor/{text-commands → mobile-helper}/src/locale/index.d.ts +0 -0
  209. /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,5 @@
1
- import { OnesEditor, BlockElement, BlockPosition, ContainerElement, ComplexBlockPosition, GetChildContainerOptions } from '../../types';
1
+ import { OnesEditor, BlockElement, BlockPosition, ContainerElement, GetChildContainerOptions, ComplexSelectionRange } from '../../types';
2
+ export declare const logger: import("../../../utils").Logger;
2
3
  export declare function complexBlockGetAllChildContainers(editor: OnesEditor, block: BlockElement, options?: GetChildContainerOptions): ContainerElement[];
3
4
  export declare function complexBlockGetSelectedContainers(editor: OnesEditor, block: BlockElement, start: BlockPosition, end: BlockPosition): ContainerElement[];
4
5
  export declare function isFirstChildBlockInComplexBlock(editor: OnesEditor, childBlock: BlockElement): boolean;
@@ -9,7 +10,4 @@ export declare function findPrevSimpleBlockBeforeChildContainer(editor: OnesEdit
9
10
  export declare function complexBlockGetTopChildContainers(editor: OnesEditor, complexBlock: BlockElement): ContainerElement[];
10
11
  export declare function complexBlockGetBottomChildContainers(editor: OnesEditor, complexBlock: BlockElement): ContainerElement[];
11
12
  export declare function complexBlockFindNearestChildBlock(editor: OnesEditor, complexBlock: BlockElement, x: number, y: number): BlockElement;
12
- export declare function complexBlockAdjustSelectionPos(editor: OnesEditor, complexBlock: BlockElement, anchor: ComplexBlockPosition, focus: ComplexBlockPosition): {
13
- anchor: ComplexBlockPosition;
14
- focus: ComplexBlockPosition;
15
- };
13
+ export declare function isFullSelectedOneComplexBlock(editor: OnesEditor, complexRange?: ComplexSelectionRange): boolean;
@@ -1,10 +1,4 @@
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, TextBlockContentChild } from '../../../types';
8
2
  export type TextBlockContentChildren = TextBlockContentChild[];
9
3
  export type TextBlockContentChildType = 'text' | 'box' | 'insertion';
10
4
  export declare function isTextBlockContentChild(elem: Element): boolean;
@@ -1,5 +1,4 @@
1
- import { BlockElement, SimpleBlockPosition } from '../../../types';
2
- import { TextBlockContentChild } from './child';
1
+ import { BlockElement, SimpleBlockPosition, TextBlockContentChild } from '../../../types';
3
2
  export interface LineBreakInfo {
4
3
  offset: number;
5
4
  type: 'betweenChild' | 'textBreakWord';
@@ -1,5 +1,4 @@
1
- import { BlockElement, BoxElement, InsertionElement } from '../../../types';
2
- import { TextBlockContentChild } from './child';
1
+ import { BlockElement, BoxElement, InsertionElement, TextBlockContentChild } from '../../../types';
3
2
  export interface BlockRangeInfo {
4
3
  child: TextBlockContentChild;
5
4
  container: Text | BoxElement | HTMLBRElement | InsertionElement;
@@ -1,5 +1,4 @@
1
- import { BlockElement } from '../../../types';
2
- import { TextBlockContentChild } from './child';
1
+ import { BlockElement, TextBlockContentChild } from '../../../types';
3
2
  export declare function getChildOffset(block: BlockElement, child: TextBlockContentChild): {
4
3
  start: number;
5
4
  end: number;
@@ -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';
@@ -6,5 +6,6 @@ export default class EditorInsertions {
6
6
  constructor(editor: OnesEditor);
7
7
  registerInsertionClass(insertionClass: Insertion): void;
8
8
  getInsertionClass(type: string): Insertion;
9
+ private createInsertionElement;
9
10
  createInsertion(blockContent: BlockContentElement, insertion: DocInsertion): InsertionElement;
10
11
  }
@@ -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,4 +1,4 @@
1
- import { BlockPosition, OnesEditor } from '../types';
1
+ import { BlockElement, BlockPosition, OnesEditor, ComplexBlockPosition } from '../types';
2
2
  import { EditorComplexBlockPosition, EditorSimpleBlockPosition } from './editor-position';
3
3
  type AdjustSelectionPosResult = {
4
4
  anchor: EditorSimpleBlockPosition;
@@ -7,5 +7,9 @@ type AdjustSelectionPosResult = {
7
7
  anchor: EditorComplexBlockPosition;
8
8
  focus: EditorComplexBlockPosition;
9
9
  };
10
+ export declare function complexBlockAdjustSelectionPos(editor: OnesEditor, complexBlock: BlockElement, anchor: ComplexBlockPosition, focus: ComplexBlockPosition): {
11
+ anchor: ComplexBlockPosition;
12
+ focus: ComplexBlockPosition;
13
+ };
10
14
  export declare function adjustSelectionPos(editor: OnesEditor, anchor: BlockPosition, focus: BlockPosition): AdjustSelectionPosResult | null;
11
15
  export {};
@@ -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>;
@@ -354,6 +356,8 @@ export interface OnesEditorUndoAction {
354
356
  redo: (editor: OnesEditor) => boolean;
355
357
  combinable: (other: OnesEditorUndoAction) => boolean;
356
358
  combine: (other: OnesEditorUndoAction) => void;
359
+ getTimeStamp: () => number;
360
+ getBatchActionId?: () => string | undefined;
357
361
  }
358
362
  export interface OnesEditorUndoManager {
359
363
  reset: () => void;
@@ -642,6 +646,7 @@ export type PasteOptions = {
642
646
  };
643
647
  export interface OnesEditorInput {
644
648
  readonly inputElement: HTMLTextAreaElement;
649
+ getInput: () => HTMLTextAreaElement;
645
650
  destroy: () => void;
646
651
  focus: () => void;
647
652
  handleDocumentSelectionChange: () => void;
@@ -661,11 +666,11 @@ export interface OnesEditorInput {
661
666
  export interface OnesEditorSelectionHandler {
662
667
  isSelecting: () => boolean;
663
668
  stopSelection: () => void;
664
- handleMouseDown: (event: MouseEvent, options: {
669
+ handleMouseDown: (event: MouseEvent | TouchEvent, options: {
665
670
  autoScroll: boolean;
666
671
  }) => void;
667
672
  handleMouseMove: (event: MouseEvent) => void;
668
- handleMouseUp: (event: MouseEvent) => void;
673
+ handleMouseUp: (event: MouseEvent | TouchEvent) => void;
669
674
  handleDblClick: (event: MouseEvent) => void;
670
675
  handleTripleClick: (event: MouseEvent) => void;
671
676
  }
@@ -716,32 +721,43 @@ export interface OnesEditorInsertions {
716
721
  }
717
722
  export type CommandParams = {
718
723
  [index: string]: unknown;
724
+ } & {
725
+ source?: string[];
726
+ isFilter?: boolean;
719
727
  };
720
728
  export type CommandResult = {
721
729
  [index: string]: unknown;
722
730
  };
723
731
  export interface OnesEditorCommandProvider {
724
732
  id: string;
725
- getAvailableCommands: (editor: OnesEditor, block: BlockElement, range: SelectionRange) => BlockCommandItem[];
726
- executeCommand?: (editor: OnesEditor, block: BlockElement, range: SelectionRange, item: BlockCommandItem, params: CommandParams, result: CommandResult) => boolean;
727
- filterCommands?: (editor: OnesEditor, block: BlockElement, range: SelectionRange, commands: BlockCommandItemWithSource[]) => BlockCommandItemWithSource[] | undefined;
728
- beforeExecuteCommand?: (editor: OnesEditor, block: BlockElement, range: SelectionRange, item: BlockCommandItem, params: CommandParams) => boolean | undefined;
729
- afterExecuteCommand?: (editor: OnesEditor, block: BlockElement, range: SelectionRange, item: BlockCommandItem, params: CommandParams, result: CommandResult) => void;
730
- getEmptyBlockTextAttributes?: (editor: OnesEditor, blockId: string) => DocBlockTextAttributes | undefined;
731
- executeRangeCommand?: (editor: OnesEditor, range: SelectionRange, command: BlockCommandItemWithSource, params: CommandParams, result: CommandResult) => boolean;
732
- }
733
- export interface BlockCommandItemWithSource extends BlockCommandItem {
733
+ groupIndex?: number;
734
+ getAvailableCommands: (editor: OnesEditor, block: BlockElement, range: SelectionRange, params?: CommandParams) => CommandItem[];
735
+ getInsertCommands?: (editor: OnesEditor, containerId: string) => CommandItem[];
736
+ executeInsertCommand?: (editor: OnesEditor, containerId: string, blockIndex: number, item: CommandItemWithSource, params: CommandParams, result?: CommandResult) => boolean;
737
+ executeRangeCommand?: (editor: OnesEditor, range: SelectionRange, command: CommandItemWithSource, params: CommandParams, result?: CommandResult) => boolean;
738
+ executeCommand?: (editor: OnesEditor, block: BlockElement, range: SelectionRange, item: CommandItemWithSource, params: CommandParams, result?: CommandResult) => boolean;
739
+ filterCommands?: (editor: OnesEditor, block: BlockElement, range: SelectionRange, commands: CommandItemWithSource[]) => CommandItemWithSource[] | undefined;
740
+ beforeExecuteCommand?: (editor: OnesEditor, block: BlockElement, range: SelectionRange, item: CommandItemWithSource, params: CommandParams) => boolean | undefined;
741
+ afterExecuteCommand?: (editor: OnesEditor, block: BlockElement, range: SelectionRange, item: CommandItemWithSource, params: CommandParams, result: CommandResult) => void;
742
+ }
743
+ export interface CommandItemWithSource extends CommandItem {
734
744
  source: string;
735
745
  }
746
+ export interface CommandFilter {
747
+ filter: (editor: OnesEditor, range: SelectionRange, items: CommandItemWithSource[], source: string[]) => CommandItemWithSource[];
748
+ }
749
+ export type CommandFilterId = keyof any;
736
750
  export interface OnesEditorCommandProviders {
751
+ commandFilters?: Map<CommandFilterId, CommandFilter>;
752
+ addFilter?: (id: CommandFilterId, filter: CommandFilter) => void;
753
+ filterItems?: (range: SelectionRange, items: CommandItemWithSource[]) => CommandItemWithSource[];
737
754
  registerCommandProvider: (provider: OnesEditorCommandProvider) => void;
738
755
  getCommandProviders: () => OnesEditorCommandProvider[];
739
756
  getCommandProvider: (id: string) => OnesEditorCommandProvider;
740
- getCommands: (range: SelectionRange, source: string) => BlockCommandItemWithSource[];
741
- executeCommand: (range: SelectionRange, item: BlockCommandItemWithSource, params: CommandParams) => {
757
+ getCommands: (range: SelectionRange) => CommandItemWithSource[];
758
+ executeCommand: (range: SelectionRange, item: CommandItemWithSource, params: CommandParams) => {
742
759
  [index: string]: CommandResult;
743
760
  };
744
- getEmptyBlockTextAttributes: (editor: OnesEditor, blockId: string) => DocBlockTextAttributes | undefined;
745
761
  }
746
762
  export interface EditorDocLocalActionCallbacks {
747
763
  onBeforeUpdateBlockText: (containerId: string, blockId: string, oldText: DocBlockText, newText: DocBlockText, newRange: OnesEditorDocRange) => void;
@@ -755,5 +771,12 @@ export interface OnesEditorBlockHook {
755
771
  create?: (editor: OnesEditor, path: BlockPath, container: ContainerElement, blockElement: BlockElement, blockData: DocBlock) => void;
756
772
  update?: (editor: OnesEditor, path: BlockPath, container: ContainerElement, blockElement: BlockElement, blockData: DocBlock) => void;
757
773
  writable?: (editor: OnesEditor, blockElement: BlockElement | BlockElement[]) => boolean | undefined;
758
- commands?: (editor: OnesEditor, blockElement: BlockElement) => BlockCommands;
774
+ commands?: (editor: OnesEditor, blockElement: BlockElement, child: TextBlockContentChild | null) => BlockCommands | undefined;
775
+ }
776
+ export interface MobileClient {
777
+ getViewPortHeight: () => number;
778
+ getOffsetHeight: () => number;
779
+ virtualViewportHeight: number;
780
+ virtualViewportOffsetTop: number;
781
+ isAndroidApp: boolean;
759
782
  }