@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,54 @@
1
+ import { PopoverItemDefaultBaseParams, PopoverItemHtmlParams, PopoverItemSeparatorParams, WithChildren } from '../utils/popover';
2
+
3
+ /**
4
+ * Menu configuration format.
5
+ * Is used for defining Block Tunes Menu items via Block Tool's renderSettings(), Block Tune's render() and Inline Tool's render().
6
+ */
7
+ export type MenuConfig = MenuConfigItem | MenuConfigItem[];
8
+
9
+ /**
10
+ * Common parameters for all kinds of default Menu Config items: with or without confirmation
11
+ */
12
+ type MenuConfigDefaultBaseParams = PopoverItemDefaultBaseParams & {
13
+ /**
14
+ * Displayed text.
15
+ * Alias for title property
16
+ *
17
+ * @deprecated - use title property instead
18
+ */
19
+ label?: string
20
+ };
21
+
22
+ /**
23
+ * Menu Config item with confirmation
24
+ */
25
+ type MenuConfigItemDefaultWithConfirmationParams = Omit<MenuConfigDefaultBaseParams, 'onActivate'> & {
26
+ /**
27
+ * Items with confirmation should not have onActivate handler
28
+ */
29
+ onActivate?: never;
30
+
31
+ /**
32
+ * Menu Config item parameters that should be applied on item activation.
33
+ * May be used to ask user for confirmation before executing item activation handler.
34
+ */
35
+ confirmation: MenuConfigDefaultBaseParams;
36
+
37
+ }
38
+
39
+ /**
40
+ * Default, non-separator and non-html Menu Config items type
41
+ */
42
+ type MenuConfigItemDefaultParams =
43
+ MenuConfigItemDefaultWithConfirmationParams |
44
+ MenuConfigDefaultBaseParams |
45
+ WithChildren<MenuConfigDefaultBaseParams>;
46
+
47
+ /**
48
+ * Single Menu Config item
49
+ */
50
+ type MenuConfigItem =
51
+ MenuConfigItemDefaultParams |
52
+ PopoverItemSeparatorParams |
53
+ PopoverItemHtmlParams |
54
+ WithChildren<PopoverItemHtmlParams>;
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Event detail for tag substitution on paste
3
+ */
4
+ export interface HTMLPasteEventDetail {
5
+ /**
6
+ * Pasted element
7
+ */
8
+ data: HTMLElement;
9
+ }
10
+
11
+ /**
12
+ * Paste event for tag substitution
13
+ */
14
+ export interface HTMLPasteEvent extends CustomEvent {
15
+ readonly detail: HTMLPasteEventDetail;
16
+ }
17
+
18
+ /**
19
+ * Event detail for file substitution on paste
20
+ */
21
+ export interface FilePasteEventDetail {
22
+ /**
23
+ * Pasted file
24
+ */
25
+ file: File;
26
+ }
27
+
28
+ export interface FilePasteEvent extends CustomEvent {
29
+ readonly detail: FilePasteEventDetail;
30
+ }
31
+
32
+ /**
33
+ * Event detail for pattern substitution on paste
34
+ */
35
+ export interface PatternPasteEventDetail {
36
+ /**
37
+ * Pattern key
38
+ */
39
+ key: string;
40
+
41
+ /**
42
+ * Pasted string
43
+ */
44
+ data: string;
45
+ }
46
+
47
+ export interface PatternPasteEvent extends CustomEvent {
48
+ readonly detail: PatternPasteEventDetail;
49
+ }
50
+
51
+ export type PasteEvent = HTMLPasteEvent | FilePasteEvent | PatternPasteEvent;
52
+ export type PasteEventDetail = HTMLPasteEventDetail | FilePasteEventDetail | PatternPasteEventDetail;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Tool configuration object. Specified by Tool developer, so leave it as object
3
+ */
4
+ export type ToolConfig<T extends object = any> = T;
@@ -0,0 +1,91 @@
1
+ import { ToolConfig } from './tool-config';
2
+ import { ToolConstructable, BlockToolData, MenuConfig, MenuConfigItem } from './index';
3
+
4
+ /**
5
+ * Tool may specify its toolbox configuration
6
+ * It may include several entries as well
7
+ */
8
+ export type ToolboxConfig = ToolboxConfigEntry | ToolboxConfigEntry[];
9
+
10
+ /**
11
+ * Tool's Toolbox settings
12
+ */
13
+ export interface ToolboxConfigEntry {
14
+ /**
15
+ * Tool title for Toolbox
16
+ */
17
+ title?: string;
18
+
19
+ /**
20
+ * HTML string with an icon for Toolbox
21
+ */
22
+ icon?: string;
23
+
24
+ /**
25
+ * May contain overrides for tool default data
26
+ */
27
+ data?: BlockToolData
28
+ }
29
+
30
+ /**
31
+ * Object passed to the Tool's constructor by {@link EditorConfig#tools}
32
+ *
33
+ * @template Config - the structure describing a config object supported by the tool
34
+ */
35
+ export interface ExternalToolSettings<Config extends object = any> {
36
+
37
+ /**
38
+ * Tool's class
39
+ */
40
+ class: ToolConstructable;
41
+
42
+ /**
43
+ * User configuration object that will be passed to the Tool's constructor
44
+ */
45
+ config?: ToolConfig<Config>;
46
+
47
+ /**
48
+ * Is need to show Inline Toolbar.
49
+ * Can accept array of Tools for InlineToolbar or boolean.
50
+ */
51
+ inlineToolbar?: boolean | string[];
52
+
53
+ /**
54
+ * BlockTunes for Tool
55
+ * Can accept array of tune names or boolean.
56
+ */
57
+ tunes?: boolean | string[];
58
+
59
+ /**
60
+ * Define shortcut that will render Tool
61
+ */
62
+ shortcut?: string;
63
+
64
+ /**
65
+ * Tool's Toolbox settings
66
+ * It will be hidden from Toolbox when false is specified.
67
+ */
68
+ toolbox?: ToolboxConfig | false;
69
+ }
70
+
71
+ /**
72
+ * Tool's tunes configuration.
73
+ * @deprecated use {@link MenuConfig} type instead
74
+ */
75
+ export type TunesMenuConfig = MenuConfig;
76
+
77
+ /**
78
+ * Single Tunes Menu Config item
79
+ * @deprecated use {@link MenuConfigItem} type instead
80
+ */
81
+ export type TunesMenuConfigItem = MenuConfigItem;
82
+
83
+ /**
84
+ * For internal Tools 'class' property is optional
85
+ */
86
+ export type InternalToolSettings<Config extends object = any> = Omit<ExternalToolSettings<Config>, 'class'> & Partial<Pick<ExternalToolSettings<Config>, 'class'>>;
87
+
88
+ /**
89
+ * Union of external and internal Tools settings
90
+ */
91
+ export type ToolSettings<Config extends object = any> = InternalToolSettings<Config> | ExternalToolSettings<Config>;
@@ -0,0 +1,60 @@
1
+ import {API} from '../index';
2
+ import {ToolConfig} from './tool-config';
3
+ import {SanitizerConfig} from '../configs';
4
+ import {MenuConfig} from './menu-config';
5
+
6
+ /**
7
+ * Abstract interface of all Tools
8
+ */
9
+ export interface BaseTool<RenderReturnType = HTMLElement> {
10
+ /**
11
+ * Tool`s render method
12
+ *
13
+ * For Inline Tools may return either HTMLElement (deprecated) or {@link MenuConfig}
14
+ * @see https://editorjs.io/menu-config
15
+ *
16
+ * For Block Tools returns tool`s wrapper html element
17
+ */
18
+ render(): RenderReturnType | Promise<RenderReturnType>;
19
+ }
20
+
21
+ export interface BaseToolConstructorOptions<C extends object = any> {
22
+ /**
23
+ * Editor.js API
24
+ */
25
+ api: API;
26
+
27
+ /**
28
+ * Tool configuration
29
+ */
30
+ config?: ToolConfig<C>;
31
+ }
32
+
33
+ export interface BaseToolConstructable {
34
+ /**
35
+ * Define Tool type as Inline
36
+ */
37
+ isInline?: boolean;
38
+
39
+ /**
40
+ * Tool`s sanitizer configuration
41
+ */
42
+ sanitize?: SanitizerConfig;
43
+
44
+ /**
45
+ * Title of Inline Tool.
46
+ * @deprecated use {@link MenuConfig} item title instead
47
+ */
48
+ title?: string;
49
+
50
+ /**
51
+ * Tool`s prepare method. Can be async
52
+ * @param data
53
+ */
54
+ prepare?(data: {toolName: string, config: ToolConfig}): void | Promise<void>;
55
+
56
+ /**
57
+ * Tool`s reset method to clean up anything set by prepare. Can be async
58
+ */
59
+ reset?(): void | Promise<void>;
60
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Hint parameters
3
+ */
4
+ export interface HintParams {
5
+ /**
6
+ * Title of the hint
7
+ */
8
+ title: string;
9
+
10
+ /**
11
+ * Secondary text to be displayed below the title
12
+ */
13
+ description?: string;
14
+
15
+ /**
16
+ * Horizontal alignment of the hint content. Default is 'start'
17
+ */
18
+ alignment?: HintTextAlignment;
19
+ }
20
+
21
+ /**
22
+ * Possible hint positions
23
+ */
24
+ export type HintPosition = 'top' | 'bottom' | 'left' | 'right';
25
+
26
+ /**
27
+ * Horizontal alignment of the hint content
28
+ */
29
+ export type HintTextAlignment = 'start' | 'center';
@@ -0,0 +1,5 @@
1
+ export type * from './hint';
2
+ export type * from './popover-item';
3
+ export * from './popover-item-type';
4
+ export type * from './popover';
5
+ export * from './popover-event';
@@ -0,0 +1,15 @@
1
+
2
+ /**
3
+ * Event that can be triggered by the Popover
4
+ */
5
+ export enum PopoverEvent {
6
+ /**
7
+ * When popover closes
8
+ */
9
+ Closed = 'closed',
10
+
11
+ /**
12
+ * When it closes because item with 'closeOnActivate' property set was clicked
13
+ */
14
+ ClosedOnActivate = 'closed-on-activate',
15
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Popover item types
3
+ */
4
+ export enum PopoverItemType {
5
+ /** Regular item with icon, title and other properties */
6
+ Default = 'default',
7
+
8
+ /** Gray line used to separate items from each other */
9
+ Separator = 'separator',
10
+
11
+ /** Item with custom html content */
12
+ Html = 'html'
13
+ }
@@ -0,0 +1,248 @@
1
+ import { HintParams, HintPosition, HintTextAlignment } from "./hint";
2
+ import { PopoverItemType } from "./popover-item-type";
3
+
4
+ export { PopoverItemType } from './popover-item-type';
5
+
6
+ /**
7
+ * Represents popover item children configuration
8
+ */
9
+ export interface PopoverItemChildren {
10
+ /**
11
+ * True if children items should be searchable
12
+ */
13
+ searchable?: boolean;
14
+
15
+ /**
16
+ * True if popover with children should be displayed instantly and not after item click/hover.
17
+ * False by default.
18
+ * Now is used only in the inline popover.
19
+ */
20
+ isOpen?: boolean;
21
+
22
+ /**
23
+ * False if keyboard navigation should be disabled in the children popover.
24
+ * True by default
25
+ */
26
+ isFlippable?: boolean;
27
+
28
+ /**
29
+ * Items of nested popover that should be open on the current item hover/click (depending on platform)
30
+ */
31
+ items?: PopoverItemParams[];
32
+
33
+ /**
34
+ * Called once children popover is opened
35
+ */
36
+ onOpen?: () => void;
37
+
38
+ /**
39
+ * Called once children popover is closed
40
+ */
41
+ onClose?: () => void;
42
+ }
43
+
44
+ /**
45
+ * Adds children property to the item
46
+ */
47
+ export type WithChildren<T> = Omit<T, 'onActivate'> & {
48
+ /**
49
+ * Popover item children configuration
50
+ */
51
+ children: PopoverItemChildren;
52
+
53
+ /**
54
+ * Items with children should not have onActivate handler
55
+ */
56
+ onActivate?: never;
57
+ };
58
+
59
+ /**
60
+ * Represents popover item with confirmation.
61
+ */
62
+ export type PopoverItemDefaultWithConfirmationParams = Omit<PopoverItemDefaultBaseParams, 'onActivate'> & {
63
+ /**
64
+ * Popover item parameters that should be applied on item activation.
65
+ * May be used to ask user for confirmation before executing popover item activation handler.
66
+ */
67
+ confirmation: PopoverItemDefaultBaseParams;
68
+
69
+ /**
70
+ * Items with confirmation should not have onActivate handler
71
+ */
72
+ onActivate?: never;
73
+ };
74
+
75
+ /**
76
+ * Represents popover item separator.
77
+ * Special item type that is used to separate items in the popover.
78
+ */
79
+ export interface PopoverItemSeparatorParams {
80
+ /**
81
+ * Item type
82
+ */
83
+ type: PopoverItemType.Separator;
84
+ }
85
+
86
+ /**
87
+ * Represents popover item with custom html content
88
+ */
89
+ export interface PopoverItemHtmlParams {
90
+ /**
91
+ * Item type
92
+ */
93
+ type: PopoverItemType.Html;
94
+
95
+ /**
96
+ * Custom html content to be displayed in the popover
97
+ */
98
+ element: HTMLElement;
99
+
100
+ /**
101
+ * Hint data to be displayed on item hover
102
+ */
103
+ hint?: HintParams;
104
+
105
+ /**
106
+ * True if popover should close once item is activated
107
+ */
108
+ closeOnActivate?: boolean;
109
+
110
+ /**
111
+ * Item name
112
+ * Used in data attributes needed for cypress tests
113
+ */
114
+ name?: string;
115
+ }
116
+
117
+ /**
118
+ * Common parameters for all kinds of default popover items: with or without confirmation
119
+ */
120
+ export interface PopoverItemDefaultBaseParams {
121
+ /**
122
+ * Item type
123
+ */
124
+ type?: PopoverItemType.Default;
125
+
126
+ /**
127
+ * Displayed text
128
+ */
129
+ title?: string;
130
+
131
+ /**
132
+ * Item icon to be appeared near a title
133
+ */
134
+ icon?: string;
135
+
136
+ /**
137
+ * Additional displayed text
138
+ */
139
+ secondaryLabel?: string;
140
+
141
+ /**
142
+ * True if item should be highlighted as active
143
+ */
144
+ isActive?: boolean | (() => boolean);
145
+
146
+ /**
147
+ * True if item should be disabled
148
+ */
149
+ isDisabled?: boolean;
150
+
151
+ /**
152
+ * True if popover should close once item is activated
153
+ */
154
+ closeOnActivate?: boolean;
155
+
156
+ /**
157
+ * Item name
158
+ * Used in data attributes needed for shortcuts work and for cypress tests
159
+ */
160
+ name?: string;
161
+
162
+ /**
163
+ * Defines whether item should toggle on click.
164
+ * Can be represented as boolean value or a string key.
165
+ * In case of string, works like radio buttons group and highlights as inactive any other item that has same toggle key value.
166
+ */
167
+ toggle?: boolean | string;
168
+
169
+ /**
170
+ * Hint data to be displayed on item hover
171
+ */
172
+ hint?: HintParams;
173
+
174
+ /**
175
+ * Popover item activation handler
176
+ *
177
+ * @param item - activated item
178
+ * @param event - event that initiated item activation
179
+ */
180
+ onActivate: (item: PopoverItemParams, event?: PointerEvent) => void;
181
+ }
182
+
183
+ /**
184
+ * Default, non-separator and non-html popover items type
185
+ */
186
+ export type PopoverItemDefaultParams =
187
+ PopoverItemDefaultBaseParams |
188
+ PopoverItemDefaultWithConfirmationParams |
189
+ WithChildren<PopoverItemDefaultBaseParams>;
190
+
191
+ /**
192
+ * Represents single popover item
193
+ */
194
+ export type PopoverItemParams =
195
+ PopoverItemDefaultParams |
196
+ PopoverItemSeparatorParams |
197
+ PopoverItemHtmlParams |
198
+ WithChildren<PopoverItemHtmlParams>;
199
+
200
+ /**
201
+ * Parameters of how to render hint for the popover item
202
+ */
203
+ type PopoverItemHintRenderParams = {
204
+ /**
205
+ * Hint position relative to the item
206
+ */
207
+ position?: HintPosition;
208
+
209
+ /**
210
+ * Horizontal alignment of the hint content.
211
+ * 'start' by default.
212
+ */
213
+ alignment?: HintTextAlignment;
214
+
215
+ /**
216
+ * If false, hint will not be rendered.
217
+ * True by default.
218
+ * Used to disable hints on mobile popover
219
+ */
220
+ enabled?: boolean;
221
+ };
222
+
223
+
224
+ /**
225
+ * Popover item render params.
226
+ * The parameters that are not set by user via popover api but rather depend on technical implementation
227
+ */
228
+ export type PopoverItemRenderParamsMap = {
229
+ [PopoverItemType.Default]?: {
230
+ /**
231
+ * Wrapper tag for the item.
232
+ * Div by default
233
+ */
234
+ wrapperTag?: 'div' | 'button';
235
+
236
+ /**
237
+ * Hint render params
238
+ */
239
+ hint?: PopoverItemHintRenderParams
240
+ };
241
+
242
+ [PopoverItemType.Html]?: {
243
+ /**
244
+ * Hint render params
245
+ */
246
+ hint?: PopoverItemHintRenderParams
247
+ };
248
+ };
@@ -0,0 +1,101 @@
1
+ import { PopoverItemParams } from './popover-item';
2
+ import { PopoverEvent } from './popover-event';
3
+
4
+ /**
5
+ * Params required to render popover
6
+ */
7
+ export interface PopoverParams {
8
+ /**
9
+ * Popover items config
10
+ */
11
+ items: PopoverItemParams[];
12
+
13
+ /**
14
+ * Element of the page that creates 'scope' of the popover.
15
+ * Depending on its size popover position will be calculated
16
+ */
17
+ scopeElement?: HTMLElement;
18
+
19
+ /**
20
+ * True if popover should contain search field
21
+ */
22
+ searchable?: boolean;
23
+
24
+ /**
25
+ * False if keyboard navigation should be disabled.
26
+ * True by default
27
+ */
28
+ flippable?: boolean;
29
+
30
+ /**
31
+ * Popover texts overrides
32
+ */
33
+ messages?: PopoverMessages
34
+
35
+ /**
36
+ * CSS class name for popover root element
37
+ */
38
+ class?: string;
39
+
40
+ /**
41
+ * Popover nesting level. 0 value means that it is a root popover
42
+ */
43
+ nestingLevel?: number;
44
+ }
45
+
46
+
47
+ /**
48
+ * Texts used inside popover
49
+ */
50
+ export interface PopoverMessages {
51
+ /** Text displayed when search has no results */
52
+ nothingFound?: string;
53
+
54
+ /** Search input label */
55
+ search?: string
56
+ }
57
+
58
+
59
+ /**
60
+ * Events fired by the Popover
61
+ */
62
+ export interface PopoverEventMap {
63
+ /**
64
+ * Fired when popover closes
65
+ */
66
+ [PopoverEvent.Closed]: undefined;
67
+
68
+ /**
69
+ * Fired when popover closes because item with 'closeOnActivate' property set was clicked
70
+ * Value is the item that was clicked
71
+ */
72
+ [PopoverEvent.ClosedOnActivate]: undefined;
73
+ }
74
+
75
+ /**
76
+ * HTML elements required to display popover
77
+ */
78
+ export interface PopoverNodes {
79
+ /** Root popover element */
80
+ popover: HTMLElement;
81
+
82
+ /** Wraps all the visible popover elements, has background and rounded corners */
83
+ popoverContainer: HTMLElement;
84
+
85
+ /** Message displayed when no items found while searching */
86
+ nothingFoundMessage: HTMLElement;
87
+
88
+ /** Popover items wrapper */
89
+ items: HTMLElement;
90
+ }
91
+
92
+ /**
93
+ * HTML elements required to display mobile popover
94
+ */
95
+ export interface PopoverMobileNodes extends PopoverNodes {
96
+ /** Popover header element */
97
+ header: HTMLElement;
98
+
99
+ /** Overlay, displayed under popover on mobile */
100
+ overlay: HTMLElement;
101
+ }