@ebl-vue/editorjs 2.31.8

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 (69) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +244 -0
  3. package/dist/editorjs.mjs +11242 -0
  4. package/dist/editorjs.umd.js +51 -0
  5. package/dist/vendor.LICENSE.txt +462 -0
  6. package/package.json +80 -0
  7. package/types/api/block.d.ts +87 -0
  8. package/types/api/blocks.d.ts +160 -0
  9. package/types/api/caret.d.ts +67 -0
  10. package/types/api/events.d.ts +28 -0
  11. package/types/api/i18n.d.ts +11 -0
  12. package/types/api/index.d.ts +17 -0
  13. package/types/api/inline-toolbar.d.ts +15 -0
  14. package/types/api/listeners.d.ts +32 -0
  15. package/types/api/notifier.d.ts +14 -0
  16. package/types/api/readonly.d.ts +17 -0
  17. package/types/api/sanitizer.d.ts +14 -0
  18. package/types/api/saver.d.ts +13 -0
  19. package/types/api/selection.d.ts +41 -0
  20. package/types/api/styles.d.ts +44 -0
  21. package/types/api/toolbar.d.ts +26 -0
  22. package/types/api/tools.d.ts +11 -0
  23. package/types/api/tooltip.d.ts +30 -0
  24. package/types/api/ui.d.ts +24 -0
  25. package/types/block-tunes/block-tune-data.d.ts +1 -0
  26. package/types/block-tunes/block-tune.d.ts +70 -0
  27. package/types/block-tunes/index.d.ts +1 -0
  28. package/types/configs/conversion-config.ts +26 -0
  29. package/types/configs/editor-config.d.ts +118 -0
  30. package/types/configs/i18n-config.d.ts +16 -0
  31. package/types/configs/i18n-dictionary.d.ts +93 -0
  32. package/types/configs/index.d.ts +7 -0
  33. package/types/configs/log-levels.d.ts +9 -0
  34. package/types/configs/paste-config.d.ts +38 -0
  35. package/types/configs/sanitizer-config.d.ts +43 -0
  36. package/types/data-formats/block-data.d.ts +23 -0
  37. package/types/data-formats/block-id.ts +4 -0
  38. package/types/data-formats/index.d.ts +2 -0
  39. package/types/data-formats/output-data.d.ts +46 -0
  40. package/types/events/block/Base.ts +11 -0
  41. package/types/events/block/BlockAdded.ts +21 -0
  42. package/types/events/block/BlockChanged.ts +21 -0
  43. package/types/events/block/BlockMoved.ts +26 -0
  44. package/types/events/block/BlockRemoved.ts +21 -0
  45. package/types/events/block/index.ts +44 -0
  46. package/types/index.d.ts +190 -0
  47. package/types/tools/adapters/base-tool-adapter.d.ts +76 -0
  48. package/types/tools/adapters/block-tool-adapter.d.ts +78 -0
  49. package/types/tools/adapters/block-tune-adapter.d.ts +14 -0
  50. package/types/tools/adapters/inline-tool-adapter.d.ts +15 -0
  51. package/types/tools/adapters/tool-factory.d.ts +5 -0
  52. package/types/tools/adapters/tool-type.ts +18 -0
  53. package/types/tools/adapters/tools-collection.d.ts +34 -0
  54. package/types/tools/block-tool-data.d.ts +5 -0
  55. package/types/tools/block-tool.d.ts +121 -0
  56. package/types/tools/hook-events.d.ts +23 -0
  57. package/types/tools/index.d.ts +16 -0
  58. package/types/tools/inline-tool.d.ts +66 -0
  59. package/types/tools/menu-config.d.ts +54 -0
  60. package/types/tools/paste-events.d.ts +52 -0
  61. package/types/tools/tool-config.d.ts +4 -0
  62. package/types/tools/tool-settings.d.ts +91 -0
  63. package/types/tools/tool.d.ts +60 -0
  64. package/types/utils/popover/hint.d.ts +29 -0
  65. package/types/utils/popover/index.d.ts +5 -0
  66. package/types/utils/popover/popover-event.ts +15 -0
  67. package/types/utils/popover/popover-item-type.ts +13 -0
  68. package/types/utils/popover/popover-item.d.ts +248 -0
  69. package/types/utils/popover/popover.d.ts +101 -0
@@ -0,0 +1,190 @@
1
+ /**
2
+ * For export type there should be one entry point,
3
+ * so we export all types from this file
4
+ * ------------------------------------
5
+ */
6
+
7
+ import {
8
+ Dictionary,
9
+ DictValue,
10
+ EditorConfig,
11
+ I18nConfig,
12
+ I18nDictionary,
13
+ } from './configs';
14
+
15
+ import {
16
+ Blocks,
17
+ Caret,
18
+ Events,
19
+ InlineToolbar,
20
+ Listeners,
21
+ Notifier,
22
+ ReadOnly,
23
+ Sanitizer,
24
+ Saver,
25
+ Selection,
26
+ Styles,
27
+ Toolbar,
28
+ Tooltip,
29
+ I18n,
30
+ Ui,
31
+ Tools,
32
+ } from './api';
33
+
34
+ import { OutputData } from './data-formats';
35
+ import { BlockMutationEvent, BlockMutationEventMap, BlockMutationType } from './events/block';
36
+ import { BlockAddedMutationType, BlockAddedEvent } from './events/block/BlockAdded';
37
+ import { BlockChangedMutationType, BlockChangedEvent } from './events/block/BlockChanged';
38
+ import { BlockMovedMutationType, BlockMovedEvent } from './events/block/BlockMoved';
39
+ import { BlockRemovedMutationType, BlockRemovedEvent } from './events/block/BlockRemoved';
40
+
41
+ /**
42
+ * Interfaces used for development
43
+ */
44
+ export {
45
+ BaseTool,
46
+ BaseToolConstructable,
47
+ InlineTool,
48
+ InlineToolConstructable,
49
+ InlineToolConstructorOptions,
50
+ BlockToolConstructable,
51
+ BlockToolConstructorOptions,
52
+ BlockTool,
53
+ BlockToolData,
54
+ Tool,
55
+ ToolConstructable,
56
+ ToolboxConfig,
57
+ ToolboxConfigEntry,
58
+ ToolSettings,
59
+ ToolConfig,
60
+ PasteEvent,
61
+ PasteEventDetail,
62
+ PatternPasteEvent,
63
+ PatternPasteEventDetail,
64
+ HTMLPasteEvent,
65
+ HTMLPasteEventDetail,
66
+ FilePasteEvent,
67
+ FilePasteEventDetail,
68
+ } from './tools';
69
+ export {BlockTune, BlockTuneConstructable} from './block-tunes';
70
+ export {
71
+ EditorConfig,
72
+ SanitizerConfig,
73
+ SanitizerRule,
74
+ PasteConfig,
75
+ LogLevels,
76
+ ConversionConfig,
77
+ I18nDictionary,
78
+ Dictionary,
79
+ DictValue,
80
+ I18nConfig,
81
+ } from './configs';
82
+
83
+ export * from './utils/popover';
84
+
85
+ export { OutputData, OutputBlockData} from './data-formats/output-data';
86
+ export { BlockId } from './data-formats/block-id';
87
+ export { BlockAPI } from './api'
88
+ export {
89
+ BlockMutationType,
90
+ BlockMutationEvent,
91
+ BlockMutationEventMap,
92
+ BlockAddedMutationType,
93
+ BlockAddedEvent,
94
+ BlockRemovedMutationType,
95
+ BlockRemovedEvent,
96
+ BlockMovedMutationType,
97
+ BlockMovedEvent,
98
+ BlockChangedMutationType,
99
+ BlockChangedEvent,
100
+ }
101
+
102
+ /**
103
+ * We have a namespace API {@link ./api/index.d.ts} (APIMethods) but we can not use it as interface
104
+ * So we should create new interface for exporting API type
105
+ */
106
+ export interface API {
107
+ blocks: Blocks;
108
+ caret: Caret;
109
+ tools: Tools;
110
+ events: Events;
111
+ listeners: Listeners;
112
+ notifier: Notifier;
113
+ sanitizer: Sanitizer;
114
+ saver: Saver;
115
+ selection: Selection;
116
+ styles: Styles;
117
+ toolbar: Toolbar;
118
+ inlineToolbar: InlineToolbar;
119
+ tooltip: Tooltip;
120
+ i18n: I18n;
121
+ readOnly: ReadOnly;
122
+ ui: Ui;
123
+ }
124
+
125
+ /**
126
+ * Main Editor class
127
+ */
128
+ declare class EditorJS {
129
+ public static version: string;
130
+
131
+ public isReady: Promise<void>;
132
+
133
+ public blocks: Blocks;
134
+ public caret: Caret;
135
+ public sanitizer: Sanitizer;
136
+ public saver: Saver;
137
+ public selection: Selection;
138
+ public styles: Styles;
139
+ public toolbar: Toolbar;
140
+ public inlineToolbar: InlineToolbar;
141
+ public readOnly: ReadOnly;
142
+ constructor(configuration?: EditorConfig|string);
143
+
144
+ /**
145
+ * API shorthands
146
+ */
147
+
148
+ /**
149
+ * @see Saver.save
150
+ */
151
+ public save(): Promise<OutputData>;
152
+
153
+ /**
154
+ * @see Blocks.clear
155
+ */
156
+ public clear(): void;
157
+
158
+ /**
159
+ * @see Blocks.render
160
+ */
161
+ public render(data: OutputData): Promise<void>;
162
+
163
+ /**
164
+ * @see Caret.focus
165
+ */
166
+ public focus(atEnd?: boolean): boolean;
167
+
168
+ /**
169
+ * @see Events.on
170
+ */
171
+ public on(eventName: string, callback: (data?: any) => void): void;
172
+
173
+ /**
174
+ * @see Events.off
175
+ */
176
+ public off(eventName: string, callback: (data?: any) => void): void;
177
+
178
+ /**
179
+ * @see Events.emit
180
+ */
181
+ public emit(eventName: string, data: any): void;
182
+
183
+ /**
184
+ * Destroy Editor instance and related DOM elements
185
+ */
186
+ public destroy(): void;
187
+ }
188
+
189
+ export as namespace EditorJS;
190
+ export default EditorJS;
@@ -0,0 +1,76 @@
1
+ import { Tool, ToolSettings } from '..';
2
+ import type { SanitizerConfig } from '../..';
3
+
4
+ import { ToolType } from './tool-type';
5
+ import { InlineToolAdapter } from './inline-tool-adapter';
6
+ import { BlockToolAdapter } from './block-tool-adapter';
7
+ import { BlockTuneAdapter } from './block-tune-adapter';
8
+
9
+ export interface BaseToolAdapter<Type extends ToolType, ToolClass extends Tool> {
10
+ /**
11
+ * Tool type: Block, Inline or Tune
12
+ */
13
+ type: Type;
14
+
15
+ /**
16
+ * Tool name specified in EditorJS config
17
+ */
18
+ name: string;
19
+
20
+ /**
21
+ * Flag show is current Tool internal (bundled with EditorJS core) or not
22
+ */
23
+ readonly isInternal: boolean;
24
+
25
+ /**
26
+ * Flag show is current Tool default or not
27
+ */
28
+ readonly isDefault: boolean;
29
+
30
+ /**
31
+ * Returns Tool user configuration
32
+ */
33
+ settings: ToolSettings;
34
+
35
+ /**
36
+ * Calls Tool's reset method
37
+ */
38
+ reset(): void | Promise<void>;
39
+
40
+ /**
41
+ * Calls Tool's prepare method
42
+ */
43
+ prepare(): void | Promise<void>;
44
+
45
+ /**
46
+ * Returns shortcut for Tool (internal or specified by user)
47
+ */
48
+ shortcut: string | undefined;
49
+
50
+ /**
51
+ * Returns Tool's sanitizer configuration
52
+ */
53
+ sanitizeConfig: SanitizerConfig;
54
+
55
+ /**
56
+ * Returns true if Tools is inline
57
+ */
58
+ isInline(): this is InlineToolAdapter;
59
+
60
+ /**
61
+ * Returns true if Tools is block
62
+ */
63
+ isBlock(): this is BlockToolAdapter;
64
+
65
+ /**
66
+ * Returns true if Tools is tune
67
+ */
68
+ isTune(): this is BlockTuneAdapter;
69
+
70
+ /**
71
+ * Constructs new Tool instance from constructable blueprint
72
+ *
73
+ * @param args
74
+ */
75
+ create(...args: any[]): ToolClass;
76
+ }
@@ -0,0 +1,78 @@
1
+ import { ToolsCollection } from './tools-collection';
2
+ import { ToolType } from './tool-type';
3
+ import { InlineToolAdapter } from './inline-tool-adapter';
4
+ import { BlockTuneAdapter } from './block-tune-adapter';
5
+ import { BlockTool } from '../block-tool';
6
+ import { BlockToolData } from '../block-tool-data';
7
+ import { BlockAPI } from '../../api/block';
8
+ import { ToolboxConfigEntry } from '../tool-settings';
9
+ import { ConversionConfig } from '../../configs/conversion-config';
10
+ import { PasteConfig } from '../../configs/paste-config';
11
+ import { SanitizerConfig } from '../../configs/sanitizer-config';
12
+ import { BaseToolAdapter } from './base-tool-adapter';
13
+
14
+ interface BlockToolAdapter extends BaseToolAdapter<ToolType.Block, BlockTool>{
15
+ /**
16
+ * InlineTool collection for current Block Tool
17
+ */
18
+ inlineTools: ToolsCollection<InlineToolAdapter>;
19
+
20
+ /**
21
+ * BlockTune collection for current Block Tool
22
+ */
23
+ tunes: ToolsCollection<BlockTuneAdapter>;
24
+
25
+ /**
26
+ * Creates new Tool instance
27
+ * @param data - Tool data
28
+ * @param block - BlockAPI for current Block
29
+ * @param readOnly - True if Editor is in read-only mode
30
+ */
31
+ create(data: BlockToolData, block: BlockAPI, readOnly: boolean): BlockTool;
32
+
33
+ /**
34
+ * Returns true if read-only mode is supported by Tool
35
+ */
36
+ isReadOnlySupported: boolean;
37
+
38
+ /**
39
+ * Returns true if Tool supports linebreaks
40
+ */
41
+ isLineBreaksEnabled: boolean;
42
+
43
+ /**
44
+ * Returns Tool toolbox configuration (internal or user-specified)
45
+ */
46
+ toolbox: ToolboxConfigEntry[] | undefined;
47
+
48
+ /**
49
+ * Returns Tool conversion configuration
50
+ */
51
+ conversionConfig: ConversionConfig | undefined;
52
+
53
+ /**
54
+ * Returns enabled inline tools for Tool
55
+ */
56
+ enabledInlineTools: boolean | string[];
57
+
58
+ /**
59
+ * Returns enabled tunes for Tool
60
+ */
61
+ enabledBlockTunes: boolean | string[];
62
+
63
+ /**
64
+ * Returns Tool paste configuration
65
+ */
66
+ pasteConfig: PasteConfig;
67
+
68
+ /**
69
+ * Returns sanitize configuration for Block Tool including configs from related Inline Tools and Block Tunes
70
+ */
71
+ sanitizeConfig: SanitizerConfig;
72
+
73
+ /**
74
+ * Returns sanitizer configuration composed from sanitize config of Inline Tools enabled for Tool
75
+ */
76
+ baseSanitizeConfig: SanitizerConfig;
77
+ }
78
+
@@ -0,0 +1,14 @@
1
+ import { BlockAPI, BlockTune } from '../..';
2
+ import { BlockTuneData } from '../../block-tunes/block-tune-data';
3
+ import { BaseToolAdapter } from './base-tool-adapter';
4
+ import { ToolType } from './tool-type';
5
+
6
+ interface BlockTuneAdapter extends BaseToolAdapter<ToolType.Tune, BlockTune> {
7
+ /**
8
+ * Constructs new BlockTune instance from constructable
9
+ *
10
+ * @param data - Tune data
11
+ * @param block - Block API object
12
+ */
13
+ create(data: BlockTuneData, block: BlockAPI): BlockTune;
14
+ }
@@ -0,0 +1,15 @@
1
+ import { InlineTool as IInlineTool, InlineTool } from '../..';
2
+ import { BaseToolAdapter } from './base-tool-adapter';
3
+ import { ToolType } from './tool-type';
4
+
5
+ interface InlineToolAdapter extends BaseToolAdapter<ToolType.Inline, InlineTool> {
6
+ /**
7
+ * Returns title for Inline Tool if specified by user
8
+ */
9
+ title: string;
10
+
11
+ /**
12
+ * Constructs new InlineTool instance from constructable
13
+ */
14
+ create(): IInlineTool;
15
+ }
@@ -0,0 +1,5 @@
1
+ import { BlockToolAdapter } from './block-tool-adapter';
2
+ import { BlockTuneAdapter } from './block-tune-adapter';
3
+ import { InlineToolAdapter } from './inline-tool-adapter';
4
+
5
+ export type ToolFactory = BlockToolAdapter | InlineToolAdapter | BlockTuneAdapter;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * What kind of plugins developers can create
3
+ */
4
+ export enum ToolType {
5
+ /**
6
+ * Block tool
7
+ */
8
+ Block,
9
+ /**
10
+ * Inline tool
11
+ */
12
+ Inline,
13
+
14
+ /**
15
+ * Block tune
16
+ */
17
+ Tune,
18
+ }
@@ -0,0 +1,34 @@
1
+ import { BlockToolAdapter } from './block-tool-adapter';
2
+ import { BlockTuneAdapter } from './block-tune-adapter';
3
+ import { InlineToolAdapter } from './inline-tool-adapter';
4
+ import { ToolFactory } from './tool-factory';
5
+
6
+ /**
7
+ * Interface for a collection of tools.
8
+ */
9
+ export interface ToolsCollection<V extends ToolFactory = ToolFactory> {
10
+ /**
11
+ * Returns Block Tools collection
12
+ */
13
+ blockTools: ToolsCollection<BlockToolAdapter>;
14
+
15
+ /**
16
+ * Returns Inline Tools collection
17
+ */
18
+ inlineTools: ToolsCollection<InlineToolAdapter>;
19
+
20
+ /**
21
+ * Returns Block Tunes collection
22
+ */
23
+ blockTunes: ToolsCollection<BlockTuneAdapter>;
24
+
25
+ /**
26
+ * Returns internal Tools collection
27
+ */
28
+ internalTools: ToolsCollection<V>;
29
+
30
+ /**
31
+ * Returns Tools collection provided by user
32
+ */
33
+ externalTools: ToolsCollection<V>;
34
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Object returned by Tool's {@link BlockTool#save} method
3
+ * Specified by Tool developer, so leave it as object
4
+ */
5
+ export type BlockToolData<T extends object = any> = T;
@@ -0,0 +1,121 @@
1
+ import { ConversionConfig, PasteConfig, SanitizerConfig } from '../configs';
2
+ import { BlockToolData } from './block-tool-data';
3
+ import { BaseTool, BaseToolConstructable, BaseToolConstructorOptions } from './tool';
4
+ import { ToolConfig } from './tool-config';
5
+ import { API, BlockAPI, ToolboxConfig } from '../index';
6
+ import { PasteEvent } from './paste-events';
7
+ import { MoveEvent } from './hook-events';
8
+ import { MenuConfig } from './menu-config';
9
+
10
+ /**
11
+ * Describe Block Tool object
12
+ * @see {@link docs/tools.md}
13
+ */
14
+ export interface BlockTool extends BaseTool {
15
+ /**
16
+ * Sanitizer rules description
17
+ */
18
+ sanitize?: SanitizerConfig;
19
+
20
+ /**
21
+ * Process Tool's element in DOM and return raw data
22
+ * @param {HTMLElement} block - element created by {@link BlockTool#render} function
23
+ * @return {BlockToolData}
24
+ */
25
+ save(block: HTMLElement): BlockToolData;
26
+
27
+ /**
28
+ * Create Block's settings block
29
+ */
30
+ renderSettings?(): HTMLElement | MenuConfig;
31
+
32
+ /**
33
+ * Validate Block's data
34
+ * @param {BlockToolData} blockData
35
+ * @return {boolean}
36
+ */
37
+ validate?(blockData: BlockToolData): boolean;
38
+
39
+ /**
40
+ * Method that specified how to merge two Blocks with same type.
41
+ * Called by backspace at the beginning of the Block
42
+ * @param {BlockToolData} blockData
43
+ */
44
+ merge?(blockData: BlockToolData): void;
45
+
46
+ /**
47
+ * On paste callback. Fired when pasted content can be substituted by a Tool
48
+ * @param {PasteEvent} event
49
+ */
50
+ onPaste?(event: PasteEvent): void;
51
+
52
+ /**
53
+ * Cleanup resources used by your tool here
54
+ * Called when the editor is destroyed
55
+ */
56
+ destroy?(): void;
57
+
58
+ /**
59
+ * Lifecycle hooks
60
+ */
61
+
62
+ /**
63
+ * Called after block content added to the page
64
+ */
65
+ rendered?(): void;
66
+
67
+ /**
68
+ * Called each time block content is updated
69
+ */
70
+ updated?(): void;
71
+
72
+ /**
73
+ * Called after block removed from the page but before instance is deleted
74
+ */
75
+ removed?(): void;
76
+
77
+ /**
78
+ * Called after block was moved
79
+ */
80
+ moved?(event: MoveEvent): void;
81
+ }
82
+
83
+ /**
84
+ * Describe constructor parameters
85
+ */
86
+ export interface BlockToolConstructorOptions<D extends object = any, C extends object = any> extends BaseToolConstructorOptions<C> {
87
+ data: BlockToolData<D>;
88
+ block: BlockAPI;
89
+ readOnly: boolean;
90
+ }
91
+
92
+ export interface BlockToolConstructable extends BaseToolConstructable {
93
+ /**
94
+ * Tool's Toolbox settings
95
+ */
96
+ toolbox?: ToolboxConfig;
97
+
98
+ /**
99
+ * Paste substitutions configuration
100
+ */
101
+ pasteConfig?: PasteConfig | false;
102
+
103
+ /**
104
+ * Rules that specified how this Tool can be converted into/from another Tool
105
+ */
106
+ conversionConfig?: ConversionConfig;
107
+
108
+ /**
109
+ * Is Tool supports read-only mode, this property should return true
110
+ */
111
+ isReadOnlySupported?: boolean;
112
+
113
+ /**
114
+ * @constructor
115
+ *
116
+ * @param {BlockToolConstructorOptions} config - constructor parameters
117
+ *
118
+ * @return {BlockTool}
119
+ */
120
+ new(config: BlockToolConstructorOptions): BlockTool;
121
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Event detail for block relocation
3
+ */
4
+ export interface MoveEventDetail {
5
+ /**
6
+ * index the block was moved from
7
+ */
8
+ fromIndex: number;
9
+ /**
10
+ * index the block was moved to
11
+ */
12
+ toIndex: number;
13
+ }
14
+
15
+ /**
16
+ * Move event for block relocation
17
+ */
18
+ export interface MoveEvent extends CustomEvent {
19
+ /**
20
+ * Override detail property of CustomEvent by MoveEvent hook
21
+ */
22
+ readonly detail: MoveEventDetail;
23
+ }
@@ -0,0 +1,16 @@
1
+ import { BlockTool, BlockToolConstructable } from './block-tool';
2
+ import { InlineTool, InlineToolConstructable } from './inline-tool';
3
+ import { BlockTune, BlockTuneConstructable } from '../block-tunes';
4
+
5
+ export * from './block-tool';
6
+ export * from './block-tool-data';
7
+ export * from './inline-tool';
8
+ export * from './tool';
9
+ export * from './tool-config';
10
+ export * from './tool-settings';
11
+ export * from './paste-events';
12
+ export * from './hook-events';
13
+ export * from './menu-config';
14
+
15
+ export type Tool = BlockTool | InlineTool | BlockTune;
16
+ export type ToolConstructable = BlockToolConstructable | InlineToolConstructable | BlockTuneConstructable;
@@ -0,0 +1,66 @@
1
+ import {BaseTool, BaseToolConstructable} from './tool';
2
+ import {API, ToolConfig} from '../index';
3
+ import { MenuConfig } from './menu-config';
4
+ /**
5
+ * Base structure for the Inline Toolbar Tool
6
+ */
7
+ export interface InlineTool extends BaseTool<HTMLElement | MenuConfig> {
8
+ /**
9
+ * Shortcut for Tool
10
+ * @type {string}
11
+ */
12
+ shortcut?: string;
13
+
14
+ /**
15
+ * Method that accepts selected range and wrap it somehow
16
+ * @param range - selection's range. If no active selection, range is null
17
+ * @deprecated use {@link MenuConfig} item onActivate property instead
18
+ */
19
+ surround?(range: Range | null): void;
20
+
21
+ /**
22
+ * Get SelectionUtils and detect if Tool was applied
23
+ * For example, after that Tool can highlight button or show some details
24
+ * @param {Selection} selection - current Selection
25
+ * @deprecated use {@link MenuConfig} item isActive property instead
26
+ */
27
+ checkState?(selection: Selection): boolean;
28
+
29
+ /**
30
+ * Make additional element with actions
31
+ * For example, input for the 'link' tool or textarea for the 'comment' tool
32
+ * @deprecated use {@link MenuConfig} item children to set item actions instead
33
+ */
34
+ renderActions?(): HTMLElement;
35
+
36
+ /**
37
+ * Function called with Inline Toolbar closing
38
+ * @deprecated 2020 10/02 - The new instance will be created each time the button is rendered. So clear is not needed.
39
+ * Better to create the 'destroy' method in a future.
40
+ */
41
+ clear?(): void;
42
+ }
43
+
44
+
45
+ /**
46
+ * Describe constructor parameters
47
+ */
48
+ export interface InlineToolConstructorOptions {
49
+ api: API;
50
+ config?: ToolConfig;
51
+ }
52
+
53
+ export interface InlineToolConstructable extends BaseToolConstructable {
54
+ /**
55
+ * Constructor
56
+ *
57
+ * @param {InlineToolConstructorOptions} config - constructor parameters
58
+ */
59
+ new(config: InlineToolConstructorOptions): BaseTool;
60
+
61
+ /**
62
+ * Allows inline tool to be available in read-only mode
63
+ * Can be used, for example, by comments tool
64
+ */
65
+ isReadOnlySupported?: boolean;
66
+ }