tinymce-rails 7.9.2 → 8.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +7 -3
- data/app/assets/source/tinymce/tinymce.js +11860 -7756
- data/lib/tinymce/rails/version.rb +2 -2
- data/vendor/assets/javascripts/tinymce/icons/default/icons.js +1 -1
- data/vendor/assets/javascripts/tinymce/models/dom/model.js +1 -1
- data/vendor/assets/javascripts/tinymce/notices.txt +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/accordion/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/advlist/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/anchor/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/autolink/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/autoresize/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/autosave/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/charmap/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/code/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/codesample/plugin.js +2 -2
- data/vendor/assets/javascripts/tinymce/plugins/directionality/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/emoticons/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/fullscreen/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/bg-BG.js +93 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/fr-FR.js +93 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/he-IL.js +93 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/hu-HU.js +93 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/ko-KR.js +93 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/nb-NO.js +93 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/pt-BR.js +93 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/pt-PT.js +93 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/sl-SI.js +93 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/sv-SE.js +93 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/th-TH.js +93 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/zh-CN.js +87 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/zh-TW.js +93 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/image/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/importcss/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/insertdatetime/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/link/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/lists/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/media/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/nonbreaking/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/pagebreak/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/preview/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/quickbars/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/save/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/searchreplace/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/table/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/visualblocks/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/visualchars/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/wordcount/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/content/dark/content.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/content/dark/content.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/content/dark/content.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide/content.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide/content.inline.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide/content.inline.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide/content.inline.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide/content.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide/content.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide/skin.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide/skin.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide/skin.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide-dark/content.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide-dark/content.inline.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide-dark/content.inline.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide-dark/content.inline.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide-dark/content.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide-dark/content.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide-dark/skin.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide-dark/skin.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide-dark/skin.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5/content.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5/content.inline.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5/content.inline.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5/content.inline.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5/content.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5/content.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5/skin.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5/skin.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5/skin.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5-dark/content.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5-dark/content.inline.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5-dark/content.inline.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5-dark/content.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5-dark/content.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5-dark/skin.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5-dark/skin.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5-dark/skin.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/themes/silver/theme.js +3 -1
- data/vendor/assets/javascripts/tinymce/tinymce.d.ts +575 -496
- data/vendor/assets/javascripts/tinymce/tinymce.js +5 -3
- metadata +15 -2
|
@@ -23,120 +23,6 @@ interface PathBookmark {
|
|
|
23
23
|
forward?: boolean;
|
|
24
24
|
}
|
|
25
25
|
type Bookmark = StringPathBookmark | RangeBookmark | IdBookmark | IndexBookmark | PathBookmark;
|
|
26
|
-
type NormalizedEvent<E, T = any> = E & {
|
|
27
|
-
readonly type: string;
|
|
28
|
-
readonly target: T;
|
|
29
|
-
readonly isDefaultPrevented: () => boolean;
|
|
30
|
-
readonly preventDefault: () => void;
|
|
31
|
-
readonly isPropagationStopped: () => boolean;
|
|
32
|
-
readonly stopPropagation: () => void;
|
|
33
|
-
readonly isImmediatePropagationStopped: () => boolean;
|
|
34
|
-
readonly stopImmediatePropagation: () => void;
|
|
35
|
-
};
|
|
36
|
-
type MappedEvent<T extends {}, K extends string> = K extends keyof T ? T[K] : any;
|
|
37
|
-
interface NativeEventMap {
|
|
38
|
-
beforepaste: Event;
|
|
39
|
-
blur: FocusEvent;
|
|
40
|
-
beforeinput: InputEvent;
|
|
41
|
-
click: MouseEvent;
|
|
42
|
-
compositionend: Event;
|
|
43
|
-
compositionstart: Event;
|
|
44
|
-
compositionupdate: Event;
|
|
45
|
-
contextmenu: PointerEvent;
|
|
46
|
-
copy: ClipboardEvent;
|
|
47
|
-
cut: ClipboardEvent;
|
|
48
|
-
dblclick: MouseEvent;
|
|
49
|
-
drag: DragEvent;
|
|
50
|
-
dragdrop: DragEvent;
|
|
51
|
-
dragend: DragEvent;
|
|
52
|
-
draggesture: DragEvent;
|
|
53
|
-
dragover: DragEvent;
|
|
54
|
-
dragstart: DragEvent;
|
|
55
|
-
drop: DragEvent;
|
|
56
|
-
focus: FocusEvent;
|
|
57
|
-
focusin: FocusEvent;
|
|
58
|
-
focusout: FocusEvent;
|
|
59
|
-
input: InputEvent;
|
|
60
|
-
keydown: KeyboardEvent;
|
|
61
|
-
keypress: KeyboardEvent;
|
|
62
|
-
keyup: KeyboardEvent;
|
|
63
|
-
mousedown: MouseEvent;
|
|
64
|
-
mouseenter: MouseEvent;
|
|
65
|
-
mouseleave: MouseEvent;
|
|
66
|
-
mousemove: MouseEvent;
|
|
67
|
-
mouseout: MouseEvent;
|
|
68
|
-
mouseover: MouseEvent;
|
|
69
|
-
mouseup: MouseEvent;
|
|
70
|
-
paste: ClipboardEvent;
|
|
71
|
-
selectionchange: Event;
|
|
72
|
-
submit: Event;
|
|
73
|
-
touchend: TouchEvent;
|
|
74
|
-
touchmove: TouchEvent;
|
|
75
|
-
touchstart: TouchEvent;
|
|
76
|
-
touchcancel: TouchEvent;
|
|
77
|
-
wheel: WheelEvent;
|
|
78
|
-
}
|
|
79
|
-
type EditorEvent<T> = NormalizedEvent<T>;
|
|
80
|
-
interface EventDispatcherSettings {
|
|
81
|
-
scope?: any;
|
|
82
|
-
toggleEvent?: (name: string, state: boolean) => void | boolean;
|
|
83
|
-
beforeFire?: <T>(args: EditorEvent<T>) => void;
|
|
84
|
-
}
|
|
85
|
-
interface EventDispatcherConstructor<T extends {}> {
|
|
86
|
-
readonly prototype: EventDispatcher<T>;
|
|
87
|
-
new (settings?: EventDispatcherSettings): EventDispatcher<T>;
|
|
88
|
-
isNative: (name: string) => boolean;
|
|
89
|
-
}
|
|
90
|
-
declare class EventDispatcher<T extends {}> {
|
|
91
|
-
static isNative(name: string): boolean;
|
|
92
|
-
private readonly settings;
|
|
93
|
-
private readonly scope;
|
|
94
|
-
private readonly toggleEvent;
|
|
95
|
-
private bindings;
|
|
96
|
-
constructor(settings?: EventDispatcherSettings);
|
|
97
|
-
fire<K extends string, U extends MappedEvent<T, K>>(name: K, args?: U): EditorEvent<U>;
|
|
98
|
-
dispatch<K extends string, U extends MappedEvent<T, K>>(name: K, args?: U): EditorEvent<U>;
|
|
99
|
-
on<K extends string>(name: K, callback: false | ((event: EditorEvent<MappedEvent<T, K>>) => void | boolean), prepend?: boolean, extra?: {}): this;
|
|
100
|
-
off<K extends string>(name?: K, callback?: (event: EditorEvent<MappedEvent<T, K>>) => void): this;
|
|
101
|
-
once<K extends string>(name: K, callback: (event: EditorEvent<MappedEvent<T, K>>) => void, prepend?: boolean): this;
|
|
102
|
-
has(name: string): boolean;
|
|
103
|
-
}
|
|
104
|
-
type UndoLevelType = 'fragmented' | 'complete';
|
|
105
|
-
interface BaseUndoLevel {
|
|
106
|
-
type: UndoLevelType;
|
|
107
|
-
bookmark: Bookmark | null;
|
|
108
|
-
beforeBookmark: Bookmark | null;
|
|
109
|
-
}
|
|
110
|
-
interface FragmentedUndoLevel extends BaseUndoLevel {
|
|
111
|
-
type: 'fragmented';
|
|
112
|
-
fragments: string[];
|
|
113
|
-
content: '';
|
|
114
|
-
}
|
|
115
|
-
interface CompleteUndoLevel extends BaseUndoLevel {
|
|
116
|
-
type: 'complete';
|
|
117
|
-
fragments: null;
|
|
118
|
-
content: string;
|
|
119
|
-
}
|
|
120
|
-
type NewUndoLevel = CompleteUndoLevel | FragmentedUndoLevel;
|
|
121
|
-
type UndoLevel = NewUndoLevel & {
|
|
122
|
-
bookmark: Bookmark;
|
|
123
|
-
};
|
|
124
|
-
interface UndoManager {
|
|
125
|
-
data: UndoLevel[];
|
|
126
|
-
typing: boolean;
|
|
127
|
-
add: (level?: Partial<UndoLevel>, event?: EditorEvent<any>) => UndoLevel | null;
|
|
128
|
-
dispatchChange: () => void;
|
|
129
|
-
beforeChange: () => void;
|
|
130
|
-
undo: () => UndoLevel | undefined;
|
|
131
|
-
redo: () => UndoLevel | undefined;
|
|
132
|
-
clear: () => void;
|
|
133
|
-
reset: () => void;
|
|
134
|
-
hasUndo: () => boolean;
|
|
135
|
-
hasRedo: () => boolean;
|
|
136
|
-
transact: (callback: () => void) => UndoLevel | null;
|
|
137
|
-
ignore: (callback: () => void) => void;
|
|
138
|
-
extra: (callback1: () => void, callback2: () => void) => void;
|
|
139
|
-
}
|
|
140
26
|
type SchemaType = 'html4' | 'html5' | 'html5-strict';
|
|
141
27
|
interface ElementSettings {
|
|
142
28
|
block_elements?: string;
|
|
@@ -205,6 +91,7 @@ interface CustomElementSpec {
|
|
|
205
91
|
attributes?: string[];
|
|
206
92
|
children?: string[];
|
|
207
93
|
padEmpty?: boolean;
|
|
94
|
+
componentUrl?: string;
|
|
208
95
|
}
|
|
209
96
|
interface Schema {
|
|
210
97
|
type: SchemaType;
|
|
@@ -225,6 +112,7 @@ interface Schema {
|
|
|
225
112
|
getWhitespaceElements: () => SchemaMap;
|
|
226
113
|
getTransparentElements: () => SchemaMap;
|
|
227
114
|
getSpecialElements: () => SchemaRegExpMap;
|
|
115
|
+
getComponentUrls: () => Record<string, string>;
|
|
228
116
|
isValidChild: (name: string, child: string) => boolean;
|
|
229
117
|
isValid: (name: string, attr?: string) => boolean;
|
|
230
118
|
isBlock: (name: string) => boolean;
|
|
@@ -276,36 +164,6 @@ declare class AstNode {
|
|
|
276
164
|
isEmpty(elements: SchemaMap, whitespace?: SchemaMap, predicate?: (node: AstNode) => boolean): boolean;
|
|
277
165
|
walk(prev?: boolean): AstNode | null | undefined;
|
|
278
166
|
}
|
|
279
|
-
type Content = string | AstNode;
|
|
280
|
-
type ContentFormat = 'raw' | 'text' | 'html' | 'tree';
|
|
281
|
-
interface GetContentArgs {
|
|
282
|
-
format: ContentFormat;
|
|
283
|
-
get: boolean;
|
|
284
|
-
getInner: boolean;
|
|
285
|
-
no_events?: boolean;
|
|
286
|
-
save?: boolean;
|
|
287
|
-
source_view?: boolean;
|
|
288
|
-
[key: string]: any;
|
|
289
|
-
}
|
|
290
|
-
interface SetContentArgs {
|
|
291
|
-
format: string;
|
|
292
|
-
set: boolean;
|
|
293
|
-
content: Content;
|
|
294
|
-
no_events?: boolean;
|
|
295
|
-
no_selection?: boolean;
|
|
296
|
-
paste?: boolean;
|
|
297
|
-
load?: boolean;
|
|
298
|
-
initial?: boolean;
|
|
299
|
-
[key: string]: any;
|
|
300
|
-
}
|
|
301
|
-
interface GetSelectionContentArgs extends GetContentArgs {
|
|
302
|
-
selection?: boolean;
|
|
303
|
-
contextual?: boolean;
|
|
304
|
-
}
|
|
305
|
-
interface SetSelectionContentArgs extends SetContentArgs {
|
|
306
|
-
content: string;
|
|
307
|
-
selection?: boolean;
|
|
308
|
-
}
|
|
309
167
|
interface BlobInfoData {
|
|
310
168
|
id?: string;
|
|
311
169
|
name?: string;
|
|
@@ -314,6 +172,7 @@ interface BlobInfoData {
|
|
|
314
172
|
base64: string;
|
|
315
173
|
blobUri?: string;
|
|
316
174
|
uri?: string;
|
|
175
|
+
allowEmptyFile?: boolean;
|
|
317
176
|
}
|
|
318
177
|
interface BlobInfo {
|
|
319
178
|
id: () => string;
|
|
@@ -329,116 +188,381 @@ interface BlobCache {
|
|
|
329
188
|
(o: BlobInfoData): BlobInfo;
|
|
330
189
|
(id: string, blob: Blob, base64: string, name?: string, filename?: string): BlobInfo;
|
|
331
190
|
};
|
|
332
|
-
add: (blobInfo: BlobInfo) => void;
|
|
333
|
-
get: (id: string) => BlobInfo | undefined;
|
|
334
|
-
getByUri: (blobUri: string) => BlobInfo | undefined;
|
|
335
|
-
getByData: (base64: string, type: string) => BlobInfo | undefined;
|
|
336
|
-
findFirst: (predicate: (blobInfo: BlobInfo) => boolean) => BlobInfo | undefined;
|
|
337
|
-
removeByUri: (blobUri: string) => void;
|
|
338
|
-
destroy: () => void;
|
|
339
|
-
}
|
|
340
|
-
interface
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
}
|
|
383
|
-
interface IsEmptyOptions {
|
|
384
|
-
readonly skipBogus?: boolean;
|
|
385
|
-
readonly includeZwsp?: boolean;
|
|
386
|
-
readonly checkRootAsContent?: boolean;
|
|
387
|
-
readonly isContent?: (node: Node) => boolean;
|
|
388
|
-
}
|
|
389
|
-
interface GeomRect {
|
|
390
|
-
readonly x: number;
|
|
391
|
-
readonly y: number;
|
|
392
|
-
readonly w: number;
|
|
393
|
-
readonly h: number;
|
|
394
|
-
}
|
|
395
|
-
interface Rect {
|
|
396
|
-
inflate: (rect: GeomRect, w: number, h: number) => GeomRect;
|
|
397
|
-
relativePosition: (rect: GeomRect, targetRect: GeomRect, rel: string) => GeomRect;
|
|
398
|
-
findBestRelativePosition: (rect: GeomRect, targetRect: GeomRect, constrainRect: GeomRect, rels: string[]) => string | null;
|
|
399
|
-
intersect: (rect: GeomRect, cropRect: GeomRect) => GeomRect | null;
|
|
400
|
-
clamp: (rect: GeomRect, clampRect: GeomRect, fixedSize?: boolean) => GeomRect;
|
|
401
|
-
create: (x: number, y: number, w: number, h: number) => GeomRect;
|
|
402
|
-
fromClientRect: (clientRect: DOMRect) => GeomRect;
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
191
|
+
add: (blobInfo: BlobInfo) => void;
|
|
192
|
+
get: (id: string) => BlobInfo | undefined;
|
|
193
|
+
getByUri: (blobUri: string) => BlobInfo | undefined;
|
|
194
|
+
getByData: (base64: string, type: string) => BlobInfo | undefined;
|
|
195
|
+
findFirst: (predicate: (blobInfo: BlobInfo) => boolean) => BlobInfo | undefined;
|
|
196
|
+
removeByUri: (blobUri: string) => void;
|
|
197
|
+
destroy: () => void;
|
|
198
|
+
}
|
|
199
|
+
interface NotificationManagerImpl {
|
|
200
|
+
open: (spec: NotificationSpec, closeCallback: () => void, hasEditorFocus: () => boolean) => NotificationApi;
|
|
201
|
+
close: <T extends NotificationApi>(notification: T) => void;
|
|
202
|
+
getArgs: <T extends NotificationApi>(notification: T) => NotificationSpec;
|
|
203
|
+
}
|
|
204
|
+
interface NotificationSpec {
|
|
205
|
+
type?: 'info' | 'warning' | 'error' | 'success';
|
|
206
|
+
text: string;
|
|
207
|
+
icon?: string;
|
|
208
|
+
progressBar?: boolean;
|
|
209
|
+
timeout?: number;
|
|
210
|
+
}
|
|
211
|
+
interface NotificationApi {
|
|
212
|
+
close: () => void;
|
|
213
|
+
progressBar: {
|
|
214
|
+
value: (percent: number) => void;
|
|
215
|
+
};
|
|
216
|
+
text: (text: string) => void;
|
|
217
|
+
reposition: () => void;
|
|
218
|
+
getEl: () => HTMLElement;
|
|
219
|
+
settings: NotificationSpec;
|
|
220
|
+
}
|
|
221
|
+
interface NotificationManager {
|
|
222
|
+
open: (spec: NotificationSpec) => NotificationApi;
|
|
223
|
+
close: () => void;
|
|
224
|
+
getNotifications: () => NotificationApi[];
|
|
225
|
+
}
|
|
226
|
+
interface UploadFailure {
|
|
227
|
+
message: string;
|
|
228
|
+
remove?: boolean;
|
|
229
|
+
}
|
|
230
|
+
type ProgressFn = (percent: number) => void;
|
|
231
|
+
interface UploadFileData {
|
|
232
|
+
url: string;
|
|
233
|
+
fileName: string;
|
|
234
|
+
}
|
|
235
|
+
type UploadHandler<T extends UploadFileData | string = string> = (blobInfo: BlobInfo, progress: ProgressFn) => Promise<T>;
|
|
236
|
+
interface UploadResult$2 {
|
|
237
|
+
url: string;
|
|
238
|
+
blobInfo: BlobInfo;
|
|
239
|
+
status: boolean;
|
|
240
|
+
error?: UploadFailure;
|
|
241
|
+
}
|
|
242
|
+
interface IsEmptyOptions {
|
|
243
|
+
readonly skipBogus?: boolean;
|
|
244
|
+
readonly includeZwsp?: boolean;
|
|
245
|
+
readonly checkRootAsContent?: boolean;
|
|
246
|
+
readonly isContent?: (node: Node) => boolean;
|
|
247
|
+
}
|
|
248
|
+
interface GeomRect {
|
|
249
|
+
readonly x: number;
|
|
250
|
+
readonly y: number;
|
|
251
|
+
readonly w: number;
|
|
252
|
+
readonly h: number;
|
|
253
|
+
}
|
|
254
|
+
interface Rect {
|
|
255
|
+
inflate: (rect: GeomRect, w: number, h: number) => GeomRect;
|
|
256
|
+
relativePosition: (rect: GeomRect, targetRect: GeomRect, rel: string) => GeomRect;
|
|
257
|
+
findBestRelativePosition: (rect: GeomRect, targetRect: GeomRect, constrainRect: GeomRect, rels: string[]) => string | null;
|
|
258
|
+
intersect: (rect: GeomRect, cropRect: GeomRect) => GeomRect | null;
|
|
259
|
+
clamp: (rect: GeomRect, clampRect: GeomRect, fixedSize?: boolean) => GeomRect;
|
|
260
|
+
create: (x: number, y: number, w: number, h: number) => GeomRect;
|
|
261
|
+
fromClientRect: (clientRect: DOMRect) => GeomRect;
|
|
262
|
+
}
|
|
263
|
+
type StyleMap = Record<string, string | number>;
|
|
264
|
+
interface StylesSettings {
|
|
265
|
+
allow_script_urls?: boolean;
|
|
266
|
+
allow_svg_data_urls?: boolean;
|
|
267
|
+
url_converter?: URLConverter;
|
|
268
|
+
url_converter_scope?: any;
|
|
269
|
+
}
|
|
270
|
+
interface Styles {
|
|
271
|
+
parse: (css: string | undefined) => Record<string, string>;
|
|
272
|
+
serialize: (styles: StyleMap, elementName?: string) => string;
|
|
273
|
+
}
|
|
274
|
+
type NormalizedEvent<E, T = any> = E & {
|
|
275
|
+
readonly type: string;
|
|
276
|
+
readonly target: T;
|
|
277
|
+
readonly isDefaultPrevented: () => boolean;
|
|
278
|
+
readonly preventDefault: () => void;
|
|
279
|
+
readonly isPropagationStopped: () => boolean;
|
|
280
|
+
readonly stopPropagation: () => void;
|
|
281
|
+
readonly isImmediatePropagationStopped: () => boolean;
|
|
282
|
+
readonly stopImmediatePropagation: () => void;
|
|
283
|
+
};
|
|
284
|
+
type MappedEvent<T extends {}, K extends string> = K extends keyof T ? T[K] : any;
|
|
285
|
+
interface NativeEventMap {
|
|
286
|
+
beforepaste: Event;
|
|
287
|
+
blur: FocusEvent;
|
|
288
|
+
beforeinput: InputEvent;
|
|
289
|
+
click: MouseEvent;
|
|
290
|
+
compositionend: Event;
|
|
291
|
+
compositionstart: Event;
|
|
292
|
+
compositionupdate: Event;
|
|
293
|
+
contextmenu: PointerEvent;
|
|
294
|
+
copy: ClipboardEvent;
|
|
295
|
+
cut: ClipboardEvent;
|
|
296
|
+
dblclick: MouseEvent;
|
|
297
|
+
drag: DragEvent;
|
|
298
|
+
dragdrop: DragEvent;
|
|
299
|
+
dragend: DragEvent;
|
|
300
|
+
draggesture: DragEvent;
|
|
301
|
+
dragover: DragEvent;
|
|
302
|
+
dragstart: DragEvent;
|
|
303
|
+
drop: DragEvent;
|
|
304
|
+
focus: FocusEvent;
|
|
305
|
+
focusin: FocusEvent;
|
|
306
|
+
focusout: FocusEvent;
|
|
307
|
+
input: InputEvent;
|
|
308
|
+
keydown: KeyboardEvent;
|
|
309
|
+
keypress: KeyboardEvent;
|
|
310
|
+
keyup: KeyboardEvent;
|
|
311
|
+
mousedown: MouseEvent;
|
|
312
|
+
mouseenter: MouseEvent;
|
|
313
|
+
mouseleave: MouseEvent;
|
|
314
|
+
mousemove: MouseEvent;
|
|
315
|
+
mouseout: MouseEvent;
|
|
316
|
+
mouseover: MouseEvent;
|
|
317
|
+
mouseup: MouseEvent;
|
|
318
|
+
paste: ClipboardEvent;
|
|
319
|
+
selectionchange: Event;
|
|
320
|
+
submit: Event;
|
|
321
|
+
touchend: TouchEvent;
|
|
322
|
+
touchmove: TouchEvent;
|
|
323
|
+
touchstart: TouchEvent;
|
|
324
|
+
touchcancel: TouchEvent;
|
|
325
|
+
wheel: WheelEvent;
|
|
326
|
+
}
|
|
327
|
+
type EditorEvent<T> = NormalizedEvent<T>;
|
|
328
|
+
interface EventDispatcherSettings {
|
|
329
|
+
scope?: any;
|
|
330
|
+
toggleEvent?: (name: string, state: boolean) => void | boolean;
|
|
331
|
+
beforeFire?: <T>(args: EditorEvent<T>) => void;
|
|
332
|
+
}
|
|
333
|
+
interface EventDispatcherConstructor<T extends {}> {
|
|
334
|
+
readonly prototype: EventDispatcher<T>;
|
|
335
|
+
new (settings?: EventDispatcherSettings): EventDispatcher<T>;
|
|
336
|
+
isNative: (name: string) => boolean;
|
|
337
|
+
}
|
|
338
|
+
declare class EventDispatcher<T extends {}> {
|
|
339
|
+
static isNative(name: string): boolean;
|
|
340
|
+
private readonly settings;
|
|
341
|
+
private readonly scope;
|
|
342
|
+
private readonly toggleEvent;
|
|
343
|
+
private bindings;
|
|
344
|
+
constructor(settings?: EventDispatcherSettings);
|
|
345
|
+
fire<K extends string, U extends MappedEvent<T, K>>(name: K, args?: U): EditorEvent<U>;
|
|
346
|
+
dispatch<K extends string, U extends MappedEvent<T, K>>(name: K, args?: U): EditorEvent<U>;
|
|
347
|
+
on<K extends string>(name: K, callback: false | ((event: EditorEvent<MappedEvent<T, K>>) => void | boolean), prepend?: boolean, extra?: {}): this;
|
|
348
|
+
off<K extends string>(name?: K, callback?: (event: EditorEvent<MappedEvent<T, K>>) => void): this;
|
|
349
|
+
once<K extends string>(name: K, callback: (event: EditorEvent<MappedEvent<T, K>>) => void, prepend?: boolean): this;
|
|
350
|
+
has(name: string): boolean;
|
|
351
|
+
}
|
|
352
|
+
type EventUtilsCallback<T> = (event: EventUtilsEvent<T>) => void | boolean;
|
|
353
|
+
type EventUtilsEvent<T> = NormalizedEvent<T> & {
|
|
354
|
+
metaKey: boolean;
|
|
355
|
+
};
|
|
356
|
+
interface Callback$1<T> {
|
|
357
|
+
func: EventUtilsCallback<T>;
|
|
358
|
+
scope: any;
|
|
359
|
+
}
|
|
360
|
+
interface CallbackList<T> extends Array<Callback$1<T>> {
|
|
361
|
+
fakeName: string | false;
|
|
362
|
+
capture: boolean;
|
|
363
|
+
nativeHandler: EventListener;
|
|
364
|
+
}
|
|
365
|
+
interface EventUtilsConstructor {
|
|
366
|
+
readonly prototype: EventUtils;
|
|
367
|
+
new (): EventUtils;
|
|
368
|
+
Event: EventUtils;
|
|
369
|
+
}
|
|
370
|
+
declare class EventUtils {
|
|
371
|
+
static Event: EventUtils;
|
|
372
|
+
domLoaded: boolean;
|
|
373
|
+
events: Record<number, Record<string, CallbackList<any>>>;
|
|
374
|
+
private readonly expando;
|
|
375
|
+
private hasFocusIn;
|
|
376
|
+
private count;
|
|
377
|
+
constructor();
|
|
378
|
+
bind<K extends keyof HTMLElementEventMap>(target: any, name: K, callback: EventUtilsCallback<HTMLElementEventMap[K]>, scope?: any): EventUtilsCallback<HTMLElementEventMap[K]>;
|
|
379
|
+
bind<T = any>(target: any, names: string, callback: EventUtilsCallback<T>, scope?: any): EventUtilsCallback<T>;
|
|
380
|
+
unbind<K extends keyof HTMLElementEventMap>(target: any, name: K, callback?: EventUtilsCallback<HTMLElementEventMap[K]>): this;
|
|
381
|
+
unbind<T = any>(target: any, names: string, callback?: EventUtilsCallback<T>): this;
|
|
382
|
+
unbind(target: any): this;
|
|
383
|
+
fire(target: any, name: string, args?: {}): this;
|
|
384
|
+
dispatch(target: any, name: string, args?: {}): this;
|
|
385
|
+
clean(target: any): this;
|
|
386
|
+
destroy(): void;
|
|
387
|
+
cancel<T>(e: EventUtilsEvent<T>): boolean;
|
|
388
|
+
private executeHandlers;
|
|
389
|
+
}
|
|
390
|
+
interface StyleSheetLoaderSettings {
|
|
391
|
+
maxLoadTime?: number;
|
|
392
|
+
contentCssCors?: boolean;
|
|
393
|
+
crossOrigin?: (url: string) => string | undefined;
|
|
394
|
+
referrerPolicy?: ReferrerPolicy;
|
|
395
|
+
}
|
|
396
|
+
interface StyleSheetLoader {
|
|
397
|
+
load: (url: string) => Promise<void>;
|
|
398
|
+
loadRawCss: (key: string, css: string) => void;
|
|
399
|
+
loadAll: (urls: string[]) => Promise<string[]>;
|
|
400
|
+
unload: (url: string) => void;
|
|
401
|
+
unloadRawCss: (key: string) => void;
|
|
402
|
+
unloadAll: (urls: string[]) => void;
|
|
403
|
+
_setReferrerPolicy: (referrerPolicy: ReferrerPolicy) => void;
|
|
404
|
+
_setContentCssCors: (contentCssCors: boolean) => void;
|
|
405
|
+
_setCrossOrigin: (crossOrigin: (url: string) => string | undefined) => void;
|
|
406
|
+
}
|
|
407
|
+
interface SetAttribEvent {
|
|
408
|
+
attrElm: HTMLElement;
|
|
409
|
+
attrName: string;
|
|
410
|
+
attrValue: string | boolean | number | null;
|
|
411
|
+
}
|
|
412
|
+
interface DOMUtilsSettings {
|
|
413
|
+
schema: Schema;
|
|
414
|
+
url_converter: URLConverter;
|
|
415
|
+
url_converter_scope: any;
|
|
416
|
+
ownEvents: boolean;
|
|
417
|
+
keep_values: boolean;
|
|
418
|
+
update_styles: boolean;
|
|
419
|
+
root_element: HTMLElement | null;
|
|
420
|
+
collect: boolean;
|
|
421
|
+
onSetAttrib: (event: SetAttribEvent) => void;
|
|
422
|
+
contentCssCors: boolean;
|
|
423
|
+
referrerPolicy: ReferrerPolicy;
|
|
424
|
+
crossOrigin: (url: string, resourceType: 'script' | 'stylesheet') => string | undefined;
|
|
425
|
+
}
|
|
426
|
+
type Target = Node | Window;
|
|
427
|
+
type RunArguments<T extends Node = Node> = string | T | Array<string | T> | null;
|
|
428
|
+
type BoundEvent = [
|
|
429
|
+
Target,
|
|
430
|
+
string,
|
|
431
|
+
EventUtilsCallback<any>,
|
|
432
|
+
any
|
|
433
|
+
];
|
|
434
|
+
type Callback<K extends string> = EventUtilsCallback<MappedEvent<HTMLElementEventMap, K>>;
|
|
435
|
+
type RunResult<T, R> = T extends Array<any> ? R[] : false | R;
|
|
436
|
+
interface DOMUtils {
|
|
437
|
+
doc: Document;
|
|
438
|
+
settings: Partial<DOMUtilsSettings>;
|
|
439
|
+
win: Window;
|
|
440
|
+
files: Record<string, boolean>;
|
|
441
|
+
stdMode: boolean;
|
|
442
|
+
boxModel: boolean;
|
|
443
|
+
styleSheetLoader: StyleSheetLoader;
|
|
444
|
+
boundEvents: BoundEvent[];
|
|
445
|
+
styles: Styles;
|
|
446
|
+
schema: Schema;
|
|
447
|
+
events: EventUtils;
|
|
448
|
+
root: Node | null;
|
|
449
|
+
isBlock: {
|
|
450
|
+
(node: Node | null): node is HTMLElement;
|
|
451
|
+
(node: string): boolean;
|
|
452
|
+
};
|
|
453
|
+
clone: (node: Node, deep: boolean) => Node;
|
|
454
|
+
getRoot: () => HTMLElement;
|
|
455
|
+
getViewPort: (argWin?: Window) => GeomRect;
|
|
456
|
+
getRect: (elm: string | HTMLElement) => GeomRect;
|
|
457
|
+
getSize: (elm: string | HTMLElement) => {
|
|
458
|
+
w: number;
|
|
459
|
+
h: number;
|
|
460
|
+
};
|
|
461
|
+
getParent: {
|
|
462
|
+
<K extends keyof HTMLElementTagNameMap>(node: string | Node | null, selector: K, root?: Node): HTMLElementTagNameMap[K] | null;
|
|
463
|
+
<T extends Element>(node: string | Node | null, selector: string | ((node: Node) => node is T), root?: Node): T | null;
|
|
464
|
+
(node: string | Node | null, selector?: string | ((node: Node) => boolean | void), root?: Node): Node | null;
|
|
465
|
+
};
|
|
466
|
+
getParents: {
|
|
467
|
+
<K extends keyof HTMLElementTagNameMap>(elm: string | HTMLElementTagNameMap[K] | null, selector: K, root?: Node, collect?: boolean): Array<HTMLElementTagNameMap[K]>;
|
|
468
|
+
<T extends Element>(node: string | Node | null, selector: string | ((node: Node) => node is T), root?: Node, collect?: boolean): T[];
|
|
469
|
+
(elm: string | Node | null, selector?: string | ((node: Node) => boolean | void), root?: Node, collect?: boolean): Node[];
|
|
470
|
+
};
|
|
471
|
+
get: {
|
|
472
|
+
<T extends Node>(elm: T): T;
|
|
473
|
+
(elm: string): HTMLElement | null;
|
|
474
|
+
};
|
|
475
|
+
getNext: (node: Node | null, selector: string | ((node: Node) => boolean)) => Node | null;
|
|
476
|
+
getPrev: (node: Node | null, selector: string | ((node: Node) => boolean)) => Node | null;
|
|
477
|
+
select: {
|
|
478
|
+
<K extends keyof HTMLElementTagNameMap>(selector: K, scope?: string | Node): Array<HTMLElementTagNameMap[K]>;
|
|
479
|
+
<T extends HTMLElement = HTMLElement>(selector: string, scope?: string | Node): T[];
|
|
480
|
+
};
|
|
481
|
+
is: {
|
|
482
|
+
<T extends Element>(elm: Node | Node[] | null, selector: string): elm is T;
|
|
483
|
+
(elm: Node | Node[] | null, selector: string): boolean;
|
|
484
|
+
};
|
|
485
|
+
add: (parentElm: RunArguments, name: string | Element, attrs?: Record<string, string | boolean | number | null>, html?: string | Node | null, create?: boolean) => HTMLElement;
|
|
486
|
+
create: {
|
|
487
|
+
<K extends keyof HTMLElementTagNameMap>(name: K, attrs?: Record<string, string | boolean | number | null>, html?: string | Node | null): HTMLElementTagNameMap[K];
|
|
488
|
+
(name: string, attrs?: Record<string, string | boolean | number | null>, html?: string | Node | null): HTMLElement;
|
|
489
|
+
};
|
|
490
|
+
createHTML: (name: string, attrs?: Record<string, string | null>, html?: string) => string;
|
|
491
|
+
createFragment: (html?: string) => DocumentFragment;
|
|
492
|
+
remove: {
|
|
493
|
+
<T extends Node>(node: T | T[], keepChildren?: boolean): typeof node extends Array<any> ? T[] : T;
|
|
494
|
+
<T extends Node>(node: string, keepChildren?: boolean): T | false;
|
|
495
|
+
};
|
|
496
|
+
getStyle: {
|
|
497
|
+
(elm: Element, name: string, computed: true): string;
|
|
498
|
+
(elm: string | Element | null, name: string, computed?: boolean): string | undefined;
|
|
499
|
+
};
|
|
500
|
+
setStyle: (elm: string | Element | Element[], name: string, value: string | number | null) => void;
|
|
501
|
+
setStyles: (elm: string | Element | Element[], stylesArg: StyleMap) => void;
|
|
502
|
+
removeAllAttribs: (e: RunArguments<Element>) => void;
|
|
503
|
+
setAttrib: (elm: RunArguments<Element>, name: string, value: string | boolean | number | null) => void;
|
|
504
|
+
setAttribs: (elm: RunArguments<Element>, attrs: Record<string, string | boolean | number | null>) => void;
|
|
505
|
+
getAttrib: (elm: string | Element | null, name: string, defaultVal?: string) => string;
|
|
506
|
+
getAttribs: (elm: string | Element) => NamedNodeMap | Attr[];
|
|
507
|
+
getPos: (elm: string | Element, rootElm?: Node) => {
|
|
508
|
+
x: number;
|
|
509
|
+
y: number;
|
|
510
|
+
};
|
|
511
|
+
parseStyle: (cssText: string) => Record<string, string>;
|
|
512
|
+
serializeStyle: (stylesArg: StyleMap, name?: string) => string;
|
|
513
|
+
addStyle: (cssText: string) => void;
|
|
514
|
+
loadCSS: (url: string) => void;
|
|
515
|
+
hasClass: (elm: string | Element, cls: string) => boolean;
|
|
516
|
+
addClass: (elm: RunArguments<Element>, cls: string) => void;
|
|
517
|
+
removeClass: (elm: RunArguments<Element>, cls: string) => void;
|
|
518
|
+
toggleClass: (elm: RunArguments<Element>, cls: string, state?: boolean) => void;
|
|
519
|
+
show: (elm: string | Node | Node[]) => void;
|
|
520
|
+
hide: (elm: string | Node | Node[]) => void;
|
|
521
|
+
isHidden: (elm: string | Node) => boolean;
|
|
522
|
+
uniqueId: (prefix?: string) => string;
|
|
523
|
+
setHTML: (elm: RunArguments<Element>, html: string) => void;
|
|
524
|
+
getOuterHTML: (elm: string | Node) => string;
|
|
525
|
+
setOuterHTML: (elm: string | Node | Node[], html: string) => void;
|
|
526
|
+
decode: (text: string) => string;
|
|
527
|
+
encode: (text: string) => string;
|
|
528
|
+
insertAfter: {
|
|
529
|
+
<T extends Node>(node: T | T[], reference: string | Node): T;
|
|
530
|
+
<T extends Node>(node: RunArguments<T>, reference: string | Node): RunResult<typeof node, T>;
|
|
531
|
+
};
|
|
532
|
+
replace: {
|
|
533
|
+
<T extends Node>(newElm: Node, oldElm: T | T[], keepChildren?: boolean): T;
|
|
534
|
+
<T extends Node>(newElm: Node, oldElm: RunArguments<T>, keepChildren?: boolean): false | T;
|
|
420
535
|
};
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
}
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
536
|
+
rename: {
|
|
537
|
+
<K extends keyof HTMLElementTagNameMap>(elm: Element, name: K): HTMLElementTagNameMap[K];
|
|
538
|
+
(elm: Element, name: string): Element;
|
|
539
|
+
};
|
|
540
|
+
findCommonAncestor: (a: Node, b: Node) => Node | null;
|
|
541
|
+
run<R, T extends Node>(this: DOMUtils, elm: T | T[], func: (node: T) => R, scope?: any): typeof elm extends Array<any> ? R[] : R;
|
|
542
|
+
run<R, T extends Node>(this: DOMUtils, elm: RunArguments<T>, func: (node: T) => R, scope?: any): RunResult<typeof elm, R>;
|
|
543
|
+
isEmpty: (node: Node, elements?: Record<string, any>, options?: IsEmptyOptions) => boolean;
|
|
544
|
+
createRng: () => Range;
|
|
545
|
+
nodeIndex: (node: Node, normalized?: boolean) => number;
|
|
546
|
+
split: {
|
|
547
|
+
<T extends Node>(parentElm: Node, splitElm: Node, replacementElm: T): T | undefined;
|
|
548
|
+
<T extends Node>(parentElm: Node, splitElm: T): T | undefined;
|
|
549
|
+
};
|
|
550
|
+
bind: {
|
|
551
|
+
<K extends string>(target: Target, name: K, func: Callback<K>, scope?: any): Callback<K>;
|
|
552
|
+
<K extends string>(target: Target[], name: K, func: Callback<K>, scope?: any): Callback<K>[];
|
|
553
|
+
};
|
|
554
|
+
unbind: {
|
|
555
|
+
<K extends string>(target: Target, name?: K, func?: EventUtilsCallback<MappedEvent<HTMLElementEventMap, K>>): EventUtils;
|
|
556
|
+
<K extends string>(target: Target[], name?: K, func?: EventUtilsCallback<MappedEvent<HTMLElementEventMap, K>>): EventUtils[];
|
|
557
|
+
};
|
|
558
|
+
fire: (target: Node | Window, name: string, evt?: {}) => EventUtils;
|
|
559
|
+
dispatch: (target: Node | Window, name: string, evt?: {}) => EventUtils;
|
|
560
|
+
getContentEditable: (node: Node) => string | null;
|
|
561
|
+
getContentEditableParent: (node: Node) => string | null;
|
|
562
|
+
isEditable: (node: Node | null | undefined) => node is HTMLElement;
|
|
563
|
+
destroy: () => void;
|
|
564
|
+
isChildOf: (node: Node, parent: Node) => boolean;
|
|
565
|
+
dumpRng: (r: Range) => string;
|
|
442
566
|
}
|
|
443
567
|
type BlockPatternTrigger = 'enter' | 'space';
|
|
444
568
|
interface RawPattern {
|
|
@@ -556,6 +680,11 @@ type CustomEditorSpec = CustomEditorOldSpec | CustomEditorNewSpec;
|
|
|
556
680
|
interface DropZoneSpec extends FormComponentWithLabelSpec {
|
|
557
681
|
type: 'dropzone';
|
|
558
682
|
context?: string;
|
|
683
|
+
dropAreaLabel?: string;
|
|
684
|
+
buttonLabel?: string;
|
|
685
|
+
allowedFileTypes?: string;
|
|
686
|
+
allowedFileExtensions?: string[];
|
|
687
|
+
onInvalidFiles?: () => Promise<void>;
|
|
559
688
|
}
|
|
560
689
|
interface GridSpec {
|
|
561
690
|
type: 'grid';
|
|
@@ -650,6 +779,7 @@ interface TextAreaSpec extends FormComponentWithLabelSpec {
|
|
|
650
779
|
maximized?: boolean;
|
|
651
780
|
enabled?: boolean;
|
|
652
781
|
context?: string;
|
|
782
|
+
spellcheck?: boolean;
|
|
653
783
|
}
|
|
654
784
|
interface BaseToolbarButtonSpec<I extends BaseToolbarButtonInstanceApi> {
|
|
655
785
|
enabled?: boolean;
|
|
@@ -879,6 +1009,7 @@ type ColumnTypes$1 = number | 'auto';
|
|
|
879
1009
|
interface ToolbarSplitButtonSpec {
|
|
880
1010
|
type?: 'splitbutton';
|
|
881
1011
|
tooltip?: string;
|
|
1012
|
+
chevronTooltip?: string;
|
|
882
1013
|
icon?: string;
|
|
883
1014
|
text?: string;
|
|
884
1015
|
select?: SelectPredicate;
|
|
@@ -1000,6 +1131,7 @@ interface TabSpec {
|
|
|
1000
1131
|
interface TabPanelSpec {
|
|
1001
1132
|
type: 'tabpanel';
|
|
1002
1133
|
tabs: TabSpec[];
|
|
1134
|
+
dynamicHeight?: boolean;
|
|
1003
1135
|
}
|
|
1004
1136
|
type DialogDataItem = any;
|
|
1005
1137
|
type DialogData = Record<string, DialogDataItem>;
|
|
@@ -1450,6 +1582,42 @@ interface RemoveInlineFormat extends Inline, CommonRemoveFormat<RemoveInlineForm
|
|
|
1450
1582
|
}
|
|
1451
1583
|
interface RemoveSelectorFormat extends Selector, CommonRemoveFormat<RemoveSelectorFormat> {
|
|
1452
1584
|
}
|
|
1585
|
+
type UndoLevelType = 'fragmented' | 'complete';
|
|
1586
|
+
interface BaseUndoLevel {
|
|
1587
|
+
type: UndoLevelType;
|
|
1588
|
+
bookmark: Bookmark | null;
|
|
1589
|
+
beforeBookmark: Bookmark | null;
|
|
1590
|
+
}
|
|
1591
|
+
interface FragmentedUndoLevel extends BaseUndoLevel {
|
|
1592
|
+
type: 'fragmented';
|
|
1593
|
+
fragments: string[];
|
|
1594
|
+
content: '';
|
|
1595
|
+
}
|
|
1596
|
+
interface CompleteUndoLevel extends BaseUndoLevel {
|
|
1597
|
+
type: 'complete';
|
|
1598
|
+
fragments: null;
|
|
1599
|
+
content: string;
|
|
1600
|
+
}
|
|
1601
|
+
type NewUndoLevel = CompleteUndoLevel | FragmentedUndoLevel;
|
|
1602
|
+
type UndoLevel = NewUndoLevel & {
|
|
1603
|
+
bookmark: Bookmark;
|
|
1604
|
+
};
|
|
1605
|
+
interface UndoManager {
|
|
1606
|
+
data: UndoLevel[];
|
|
1607
|
+
typing: boolean;
|
|
1608
|
+
add: (level?: Partial<UndoLevel>, event?: EditorEvent<unknown>) => UndoLevel | null;
|
|
1609
|
+
dispatchChange: () => void;
|
|
1610
|
+
beforeChange: () => void;
|
|
1611
|
+
undo: () => UndoLevel | undefined;
|
|
1612
|
+
redo: () => UndoLevel | undefined;
|
|
1613
|
+
clear: () => void;
|
|
1614
|
+
reset: () => void;
|
|
1615
|
+
hasUndo: () => boolean;
|
|
1616
|
+
hasRedo: () => boolean;
|
|
1617
|
+
transact: (callback: () => void) => UndoLevel | null;
|
|
1618
|
+
ignore: (callback: () => void) => void;
|
|
1619
|
+
extra: (callback1: () => void, callback2: () => void) => void;
|
|
1620
|
+
}
|
|
1453
1621
|
interface Filter<C extends Function> {
|
|
1454
1622
|
name: string;
|
|
1455
1623
|
callbacks: C[];
|
|
@@ -1505,21 +1673,6 @@ interface DomParser {
|
|
|
1505
1673
|
removeNodeFilter: (name: string, callback?: ParserFilterCallback) => void;
|
|
1506
1674
|
parse: (html: string, args?: ParserArgs) => AstNode;
|
|
1507
1675
|
}
|
|
1508
|
-
interface StyleSheetLoaderSettings {
|
|
1509
|
-
maxLoadTime?: number;
|
|
1510
|
-
contentCssCors?: boolean;
|
|
1511
|
-
referrerPolicy?: ReferrerPolicy;
|
|
1512
|
-
}
|
|
1513
|
-
interface StyleSheetLoader {
|
|
1514
|
-
load: (url: string) => Promise<void>;
|
|
1515
|
-
loadRawCss: (key: string, css: string) => void;
|
|
1516
|
-
loadAll: (urls: string[]) => Promise<string[]>;
|
|
1517
|
-
unload: (url: string) => void;
|
|
1518
|
-
unloadRawCss: (key: string) => void;
|
|
1519
|
-
unloadAll: (urls: string[]) => void;
|
|
1520
|
-
_setReferrerPolicy: (referrerPolicy: ReferrerPolicy) => void;
|
|
1521
|
-
_setContentCssCors: (contentCssCors: boolean) => void;
|
|
1522
|
-
}
|
|
1523
1676
|
type Registry = Registry$1;
|
|
1524
1677
|
interface EditorUiApi {
|
|
1525
1678
|
show: () => void;
|
|
@@ -1623,7 +1776,7 @@ interface ChangeEvent {
|
|
|
1623
1776
|
lastLevel: UndoLevel | undefined;
|
|
1624
1777
|
}
|
|
1625
1778
|
interface AddUndoEvent extends ChangeEvent {
|
|
1626
|
-
originalEvent:
|
|
1779
|
+
originalEvent: EditorEvent<unknown> | undefined;
|
|
1627
1780
|
}
|
|
1628
1781
|
interface UndoRedoEvent {
|
|
1629
1782
|
level: UndoLevel;
|
|
@@ -1886,6 +2039,10 @@ type ThemeInitFunc = (editor: Editor, elm: HTMLElement) => {
|
|
|
1886
2039
|
iframeHeight?: number;
|
|
1887
2040
|
api?: EditorUiApi;
|
|
1888
2041
|
};
|
|
2042
|
+
interface DocumentsFileTypes {
|
|
2043
|
+
readonly mimeType: string;
|
|
2044
|
+
readonly extensions: Array<string>;
|
|
2045
|
+
}
|
|
1889
2046
|
type SetupCallback = (editor: Editor) => void;
|
|
1890
2047
|
type FilePickerCallback = (callback: (value: string, meta?: Record<string, any>) => void, value: string, meta: Record<string, any>) => void;
|
|
1891
2048
|
type FilePickerValidationStatus = 'valid' | 'unknown' | 'invalid' | 'none';
|
|
@@ -1907,6 +2064,7 @@ interface ToolbarGroup {
|
|
|
1907
2064
|
}
|
|
1908
2065
|
type ToolbarMode = 'floating' | 'sliding' | 'scrolling' | 'wrap';
|
|
1909
2066
|
type ToolbarLocation = 'top' | 'bottom' | 'auto';
|
|
2067
|
+
type CrossOrigin = (url: string, resourceType: 'script' | 'stylesheet') => 'anonymous' | 'use-credentials' | undefined;
|
|
1910
2068
|
interface BaseEditorOptions {
|
|
1911
2069
|
a11y_advanced_options?: boolean;
|
|
1912
2070
|
add_form_submit_trigger?: boolean;
|
|
@@ -1914,6 +2072,7 @@ interface BaseEditorOptions {
|
|
|
1914
2072
|
allow_conditional_comments?: boolean;
|
|
1915
2073
|
allow_html_data_urls?: boolean;
|
|
1916
2074
|
allow_html_in_named_anchor?: boolean;
|
|
2075
|
+
allow_noneditable?: boolean;
|
|
1917
2076
|
allow_script_urls?: boolean;
|
|
1918
2077
|
allow_svg_data_urls?: boolean;
|
|
1919
2078
|
allow_unsafe_link_target?: boolean;
|
|
@@ -1943,6 +2102,7 @@ interface BaseEditorOptions {
|
|
|
1943
2102
|
content_css_cors?: boolean;
|
|
1944
2103
|
content_security_policy?: string;
|
|
1945
2104
|
content_style?: string;
|
|
2105
|
+
content_language?: string;
|
|
1946
2106
|
content_langs?: ContentLanguage[];
|
|
1947
2107
|
contextmenu?: string | string[] | false;
|
|
1948
2108
|
contextmenu_never_use_native?: boolean;
|
|
@@ -1971,6 +2131,7 @@ interface BaseEditorOptions {
|
|
|
1971
2131
|
extended_mathml_elements?: string[];
|
|
1972
2132
|
extended_valid_elements?: string;
|
|
1973
2133
|
event_root?: string;
|
|
2134
|
+
fetch_users?: (userIds: string[]) => Promise<ExpectedUser[]>;
|
|
1974
2135
|
file_picker_callback?: FilePickerCallback;
|
|
1975
2136
|
file_picker_types?: string;
|
|
1976
2137
|
file_picker_validator_handler?: FilePickerValidationCallback;
|
|
@@ -2021,6 +2182,7 @@ interface BaseEditorOptions {
|
|
|
2021
2182
|
language_load?: boolean;
|
|
2022
2183
|
language_url?: string;
|
|
2023
2184
|
line_height_formats?: string;
|
|
2185
|
+
list_max_depth?: number;
|
|
2024
2186
|
max_height?: number;
|
|
2025
2187
|
max_width?: number;
|
|
2026
2188
|
menu?: Record<string, {
|
|
@@ -2057,6 +2219,7 @@ interface BaseEditorOptions {
|
|
|
2057
2219
|
protect?: RegExp[];
|
|
2058
2220
|
readonly?: boolean;
|
|
2059
2221
|
referrer_policy?: ReferrerPolicy;
|
|
2222
|
+
crossorigin?: CrossOrigin;
|
|
2060
2223
|
relative_urls?: boolean;
|
|
2061
2224
|
remove_script_host?: boolean;
|
|
2062
2225
|
remove_trailing_brs?: boolean;
|
|
@@ -2079,6 +2242,8 @@ interface BaseEditorOptions {
|
|
|
2079
2242
|
style_formats_merge?: boolean;
|
|
2080
2243
|
submit_patch?: boolean;
|
|
2081
2244
|
suffix?: string;
|
|
2245
|
+
user_id?: string;
|
|
2246
|
+
content_id?: string;
|
|
2082
2247
|
table_tab_navigation?: boolean;
|
|
2083
2248
|
target?: HTMLElement;
|
|
2084
2249
|
text_patterns?: RawPattern[] | false;
|
|
@@ -2110,6 +2275,7 @@ interface BaseEditorOptions {
|
|
|
2110
2275
|
valid_elements?: string;
|
|
2111
2276
|
valid_styles?: string | Record<string, string>;
|
|
2112
2277
|
verify_html?: boolean;
|
|
2278
|
+
view_show?: string;
|
|
2113
2279
|
visual?: boolean;
|
|
2114
2280
|
visual_anchor_class?: string;
|
|
2115
2281
|
visual_table_class?: string;
|
|
@@ -2152,6 +2318,7 @@ interface EditorOptions extends NormalizedEditorOptions {
|
|
|
2152
2318
|
content_css: string[];
|
|
2153
2319
|
contextmenu: string[];
|
|
2154
2320
|
convert_unsafe_embeds: boolean;
|
|
2321
|
+
crossorigin: CrossOrigin;
|
|
2155
2322
|
custom_colors: boolean;
|
|
2156
2323
|
default_font_stack: string[];
|
|
2157
2324
|
document_base_url: string;
|
|
@@ -2212,220 +2379,118 @@ interface EditorOptions extends NormalizedEditorOptions {
|
|
|
2212
2379
|
toolbar_sticky_offset: number;
|
|
2213
2380
|
text_patterns: Pattern[];
|
|
2214
2381
|
text_patterns_lookup: DynamicPatternsLookup;
|
|
2382
|
+
user_id: string;
|
|
2215
2383
|
visual: boolean;
|
|
2216
2384
|
visual_anchor_class: string;
|
|
2217
2385
|
visual_table_class: string;
|
|
2218
2386
|
width: number | string;
|
|
2219
2387
|
xss_sanitization: boolean;
|
|
2220
2388
|
disabled: boolean;
|
|
2389
|
+
documents_file_types: DocumentsFileTypes[];
|
|
2221
2390
|
}
|
|
2222
|
-
type
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2391
|
+
type Content = string | AstNode;
|
|
2392
|
+
type ContentFormat = 'raw' | 'text' | 'html' | 'tree';
|
|
2393
|
+
interface GetContentArgs {
|
|
2394
|
+
format: ContentFormat;
|
|
2395
|
+
get: boolean;
|
|
2396
|
+
getInner: boolean;
|
|
2397
|
+
no_events?: boolean;
|
|
2398
|
+
save?: boolean;
|
|
2399
|
+
source_view?: boolean;
|
|
2400
|
+
indent?: boolean;
|
|
2401
|
+
entity_encoding?: EntityEncoding;
|
|
2402
|
+
[key: string]: any;
|
|
2228
2403
|
}
|
|
2229
|
-
interface
|
|
2230
|
-
|
|
2231
|
-
|
|
2404
|
+
interface SetContentArgs {
|
|
2405
|
+
format: string;
|
|
2406
|
+
set: boolean;
|
|
2407
|
+
content: Content;
|
|
2408
|
+
no_events?: boolean;
|
|
2409
|
+
no_selection?: boolean;
|
|
2410
|
+
paste?: boolean;
|
|
2411
|
+
load?: boolean;
|
|
2412
|
+
initial?: boolean;
|
|
2413
|
+
[key: string]: any;
|
|
2414
|
+
}
|
|
2415
|
+
interface GetSelectionContentArgs extends GetContentArgs {
|
|
2416
|
+
selection?: boolean;
|
|
2417
|
+
contextual?: boolean;
|
|
2418
|
+
}
|
|
2419
|
+
interface SetSelectionContentArgs extends SetContentArgs {
|
|
2420
|
+
content: string;
|
|
2421
|
+
selection?: boolean;
|
|
2422
|
+
}
|
|
2423
|
+
interface BlobInfoImagePair {
|
|
2424
|
+
image: HTMLImageElement;
|
|
2425
|
+
blobInfo: BlobInfo;
|
|
2426
|
+
}
|
|
2427
|
+
interface UrlObject {
|
|
2428
|
+
prefix: string;
|
|
2429
|
+
resource: string;
|
|
2430
|
+
suffix: string;
|
|
2431
|
+
}
|
|
2432
|
+
type WaitState = 'added' | 'loaded';
|
|
2433
|
+
type AddOnConstructor<T> = (editor: Editor, url: string) => T;
|
|
2434
|
+
interface AddOnManager<T> {
|
|
2435
|
+
items: AddOnConstructor<T>[];
|
|
2436
|
+
urls: Record<string, string>;
|
|
2437
|
+
lookup: Record<string, {
|
|
2438
|
+
instance: AddOnConstructor<T>;
|
|
2439
|
+
}>;
|
|
2440
|
+
get: (name: string) => AddOnConstructor<T> | undefined;
|
|
2441
|
+
requireLangPack: (name: string, languages?: string) => void;
|
|
2442
|
+
add: (id: string, addOn: AddOnConstructor<T>) => AddOnConstructor<T>;
|
|
2443
|
+
remove: (name: string) => void;
|
|
2444
|
+
createUrl: (baseUrl: UrlObject, dep: string | UrlObject) => UrlObject;
|
|
2445
|
+
load: (name: string, addOnUrl: string | UrlObject) => Promise<void>;
|
|
2446
|
+
waitFor: (name: string, state?: WaitState) => Promise<void>;
|
|
2232
2447
|
}
|
|
2233
|
-
type
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
interface Callback$1<T> {
|
|
2238
|
-
func: EventUtilsCallback<T>;
|
|
2239
|
-
scope: any;
|
|
2448
|
+
type LicenseKeyManagerAddon = AddOnConstructor<LicenseKeyManager>;
|
|
2449
|
+
interface ValidateData {
|
|
2450
|
+
plugin?: string;
|
|
2451
|
+
[key: string]: any;
|
|
2240
2452
|
}
|
|
2241
|
-
interface
|
|
2242
|
-
|
|
2243
|
-
capture: boolean;
|
|
2244
|
-
nativeHandler: EventListener;
|
|
2453
|
+
interface LicenseKeyManager {
|
|
2454
|
+
readonly validate: (data: ValidateData) => Promise<boolean>;
|
|
2245
2455
|
}
|
|
2246
|
-
|
|
2247
|
-
readonly
|
|
2248
|
-
|
|
2249
|
-
|
|
2456
|
+
declare class NodeChange {
|
|
2457
|
+
private readonly editor;
|
|
2458
|
+
private lastPath;
|
|
2459
|
+
constructor(editor: Editor);
|
|
2460
|
+
nodeChanged(args?: Record<string, any>): void;
|
|
2461
|
+
private isSameElementPath;
|
|
2250
2462
|
}
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
private hasFocusIn;
|
|
2257
|
-
private count;
|
|
2258
|
-
constructor();
|
|
2259
|
-
bind<K extends keyof HTMLElementEventMap>(target: any, name: K, callback: EventUtilsCallback<HTMLElementEventMap[K]>, scope?: any): EventUtilsCallback<HTMLElementEventMap[K]>;
|
|
2260
|
-
bind<T = any>(target: any, names: string, callback: EventUtilsCallback<T>, scope?: any): EventUtilsCallback<T>;
|
|
2261
|
-
unbind<K extends keyof HTMLElementEventMap>(target: any, name: K, callback?: EventUtilsCallback<HTMLElementEventMap[K]>): this;
|
|
2262
|
-
unbind<T = any>(target: any, names: string, callback?: EventUtilsCallback<T>): this;
|
|
2263
|
-
unbind(target: any): this;
|
|
2264
|
-
fire(target: any, name: string, args?: {}): this;
|
|
2265
|
-
dispatch(target: any, name: string, args?: {}): this;
|
|
2266
|
-
clean(target: any): this;
|
|
2267
|
-
destroy(): void;
|
|
2268
|
-
cancel<T>(e: EventUtilsEvent<T>): boolean;
|
|
2269
|
-
private executeHandlers;
|
|
2463
|
+
interface SelectionOverrides {
|
|
2464
|
+
showCaret: (direction: number, node: HTMLElement, before: boolean, scrollIntoView?: boolean) => Range | null;
|
|
2465
|
+
showBlockCaretContainer: (blockCaretContainer: HTMLElement) => void;
|
|
2466
|
+
hideFakeCaret: () => void;
|
|
2467
|
+
destroy: () => void;
|
|
2270
2468
|
}
|
|
2271
|
-
interface
|
|
2272
|
-
|
|
2273
|
-
|
|
2274
|
-
attrValue: string | boolean | number | null;
|
|
2469
|
+
interface Quirks {
|
|
2470
|
+
refreshContentEditable(): void;
|
|
2471
|
+
isHidden(): boolean;
|
|
2275
2472
|
}
|
|
2276
|
-
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2473
|
+
type DecoratorData = Record<string, any>;
|
|
2474
|
+
type Decorator = (uid: string, data: DecoratorData) => {
|
|
2475
|
+
attributes?: {};
|
|
2476
|
+
classes?: string[];
|
|
2477
|
+
};
|
|
2478
|
+
type AnnotationListener = (state: boolean, name: string, data?: {
|
|
2479
|
+
uid: string;
|
|
2480
|
+
nodes: any[];
|
|
2481
|
+
}) => void;
|
|
2482
|
+
type AnnotationListenerApi = AnnotationListener;
|
|
2483
|
+
interface AnnotatorSettings {
|
|
2484
|
+
decorate: Decorator;
|
|
2485
|
+
persistent?: boolean;
|
|
2288
2486
|
}
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
string
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
];
|
|
2297
|
-
type Callback<K extends string> = EventUtilsCallback<MappedEvent<HTMLElementEventMap, K>>;
|
|
2298
|
-
type RunResult<T, R> = T extends Array<any> ? R[] : false | R;
|
|
2299
|
-
interface DOMUtils {
|
|
2300
|
-
doc: Document;
|
|
2301
|
-
settings: Partial<DOMUtilsSettings>;
|
|
2302
|
-
win: Window;
|
|
2303
|
-
files: Record<string, boolean>;
|
|
2304
|
-
stdMode: boolean;
|
|
2305
|
-
boxModel: boolean;
|
|
2306
|
-
styleSheetLoader: StyleSheetLoader;
|
|
2307
|
-
boundEvents: BoundEvent[];
|
|
2308
|
-
styles: Styles;
|
|
2309
|
-
schema: Schema;
|
|
2310
|
-
events: EventUtils;
|
|
2311
|
-
root: Node | null;
|
|
2312
|
-
isBlock: {
|
|
2313
|
-
(node: Node | null): node is HTMLElement;
|
|
2314
|
-
(node: string): boolean;
|
|
2315
|
-
};
|
|
2316
|
-
clone: (node: Node, deep: boolean) => Node;
|
|
2317
|
-
getRoot: () => HTMLElement;
|
|
2318
|
-
getViewPort: (argWin?: Window) => GeomRect;
|
|
2319
|
-
getRect: (elm: string | HTMLElement) => GeomRect;
|
|
2320
|
-
getSize: (elm: string | HTMLElement) => {
|
|
2321
|
-
w: number;
|
|
2322
|
-
h: number;
|
|
2323
|
-
};
|
|
2324
|
-
getParent: {
|
|
2325
|
-
<K extends keyof HTMLElementTagNameMap>(node: string | Node | null, selector: K, root?: Node): HTMLElementTagNameMap[K] | null;
|
|
2326
|
-
<T extends Element>(node: string | Node | null, selector: string | ((node: Node) => node is T), root?: Node): T | null;
|
|
2327
|
-
(node: string | Node | null, selector?: string | ((node: Node) => boolean | void), root?: Node): Node | null;
|
|
2328
|
-
};
|
|
2329
|
-
getParents: {
|
|
2330
|
-
<K extends keyof HTMLElementTagNameMap>(elm: string | HTMLElementTagNameMap[K] | null, selector: K, root?: Node, collect?: boolean): Array<HTMLElementTagNameMap[K]>;
|
|
2331
|
-
<T extends Element>(node: string | Node | null, selector: string | ((node: Node) => node is T), root?: Node, collect?: boolean): T[];
|
|
2332
|
-
(elm: string | Node | null, selector?: string | ((node: Node) => boolean | void), root?: Node, collect?: boolean): Node[];
|
|
2333
|
-
};
|
|
2334
|
-
get: {
|
|
2335
|
-
<T extends Node>(elm: T): T;
|
|
2336
|
-
(elm: string): HTMLElement | null;
|
|
2337
|
-
};
|
|
2338
|
-
getNext: (node: Node | null, selector: string | ((node: Node) => boolean)) => Node | null;
|
|
2339
|
-
getPrev: (node: Node | null, selector: string | ((node: Node) => boolean)) => Node | null;
|
|
2340
|
-
select: {
|
|
2341
|
-
<K extends keyof HTMLElementTagNameMap>(selector: K, scope?: string | Node): Array<HTMLElementTagNameMap[K]>;
|
|
2342
|
-
<T extends HTMLElement = HTMLElement>(selector: string, scope?: string | Node): T[];
|
|
2343
|
-
};
|
|
2344
|
-
is: {
|
|
2345
|
-
<T extends Element>(elm: Node | Node[] | null, selector: string): elm is T;
|
|
2346
|
-
(elm: Node | Node[] | null, selector: string): boolean;
|
|
2347
|
-
};
|
|
2348
|
-
add: (parentElm: RunArguments, name: string | Element, attrs?: Record<string, string | boolean | number | null>, html?: string | Node | null, create?: boolean) => HTMLElement;
|
|
2349
|
-
create: {
|
|
2350
|
-
<K extends keyof HTMLElementTagNameMap>(name: K, attrs?: Record<string, string | boolean | number | null>, html?: string | Node | null): HTMLElementTagNameMap[K];
|
|
2351
|
-
(name: string, attrs?: Record<string, string | boolean | number | null>, html?: string | Node | null): HTMLElement;
|
|
2352
|
-
};
|
|
2353
|
-
createHTML: (name: string, attrs?: Record<string, string | null>, html?: string) => string;
|
|
2354
|
-
createFragment: (html?: string) => DocumentFragment;
|
|
2355
|
-
remove: {
|
|
2356
|
-
<T extends Node>(node: T | T[], keepChildren?: boolean): typeof node extends Array<any> ? T[] : T;
|
|
2357
|
-
<T extends Node>(node: string, keepChildren?: boolean): T | false;
|
|
2358
|
-
};
|
|
2359
|
-
getStyle: {
|
|
2360
|
-
(elm: Element, name: string, computed: true): string;
|
|
2361
|
-
(elm: string | Element | null, name: string, computed?: boolean): string | undefined;
|
|
2362
|
-
};
|
|
2363
|
-
setStyle: (elm: string | Element | Element[], name: string, value: string | number | null) => void;
|
|
2364
|
-
setStyles: (elm: string | Element | Element[], stylesArg: StyleMap) => void;
|
|
2365
|
-
removeAllAttribs: (e: RunArguments<Element>) => void;
|
|
2366
|
-
setAttrib: (elm: RunArguments<Element>, name: string, value: string | boolean | number | null) => void;
|
|
2367
|
-
setAttribs: (elm: RunArguments<Element>, attrs: Record<string, string | boolean | number | null>) => void;
|
|
2368
|
-
getAttrib: (elm: string | Element | null, name: string, defaultVal?: string) => string;
|
|
2369
|
-
getAttribs: (elm: string | Element) => NamedNodeMap | Attr[];
|
|
2370
|
-
getPos: (elm: string | Element, rootElm?: Node) => {
|
|
2371
|
-
x: number;
|
|
2372
|
-
y: number;
|
|
2373
|
-
};
|
|
2374
|
-
parseStyle: (cssText: string) => Record<string, string>;
|
|
2375
|
-
serializeStyle: (stylesArg: StyleMap, name?: string) => string;
|
|
2376
|
-
addStyle: (cssText: string) => void;
|
|
2377
|
-
loadCSS: (url: string) => void;
|
|
2378
|
-
hasClass: (elm: string | Element, cls: string) => boolean;
|
|
2379
|
-
addClass: (elm: RunArguments<Element>, cls: string) => void;
|
|
2380
|
-
removeClass: (elm: RunArguments<Element>, cls: string) => void;
|
|
2381
|
-
toggleClass: (elm: RunArguments<Element>, cls: string, state?: boolean) => void;
|
|
2382
|
-
show: (elm: string | Node | Node[]) => void;
|
|
2383
|
-
hide: (elm: string | Node | Node[]) => void;
|
|
2384
|
-
isHidden: (elm: string | Node) => boolean;
|
|
2385
|
-
uniqueId: (prefix?: string) => string;
|
|
2386
|
-
setHTML: (elm: RunArguments<Element>, html: string) => void;
|
|
2387
|
-
getOuterHTML: (elm: string | Node) => string;
|
|
2388
|
-
setOuterHTML: (elm: string | Node | Node[], html: string) => void;
|
|
2389
|
-
decode: (text: string) => string;
|
|
2390
|
-
encode: (text: string) => string;
|
|
2391
|
-
insertAfter: {
|
|
2392
|
-
<T extends Node>(node: T | T[], reference: string | Node): T;
|
|
2393
|
-
<T extends Node>(node: RunArguments<T>, reference: string | Node): RunResult<typeof node, T>;
|
|
2394
|
-
};
|
|
2395
|
-
replace: {
|
|
2396
|
-
<T extends Node>(newElm: Node, oldElm: T | T[], keepChildren?: boolean): T;
|
|
2397
|
-
<T extends Node>(newElm: Node, oldElm: RunArguments<T>, keepChildren?: boolean): false | T;
|
|
2398
|
-
};
|
|
2399
|
-
rename: {
|
|
2400
|
-
<K extends keyof HTMLElementTagNameMap>(elm: Element, name: K): HTMLElementTagNameMap[K];
|
|
2401
|
-
(elm: Element, name: string): Element;
|
|
2402
|
-
};
|
|
2403
|
-
findCommonAncestor: (a: Node, b: Node) => Node | null;
|
|
2404
|
-
run<R, T extends Node>(this: DOMUtils, elm: T | T[], func: (node: T) => R, scope?: any): typeof elm extends Array<any> ? R[] : R;
|
|
2405
|
-
run<R, T extends Node>(this: DOMUtils, elm: RunArguments<T>, func: (node: T) => R, scope?: any): RunResult<typeof elm, R>;
|
|
2406
|
-
isEmpty: (node: Node, elements?: Record<string, any>, options?: IsEmptyOptions) => boolean;
|
|
2407
|
-
createRng: () => Range;
|
|
2408
|
-
nodeIndex: (node: Node, normalized?: boolean) => number;
|
|
2409
|
-
split: {
|
|
2410
|
-
<T extends Node>(parentElm: Node, splitElm: Node, replacementElm: T): T | undefined;
|
|
2411
|
-
<T extends Node>(parentElm: Node, splitElm: T): T | undefined;
|
|
2412
|
-
};
|
|
2413
|
-
bind: {
|
|
2414
|
-
<K extends string>(target: Target, name: K, func: Callback<K>, scope?: any): Callback<K>;
|
|
2415
|
-
<K extends string>(target: Target[], name: K, func: Callback<K>, scope?: any): Callback<K>[];
|
|
2416
|
-
};
|
|
2417
|
-
unbind: {
|
|
2418
|
-
<K extends string>(target: Target, name?: K, func?: EventUtilsCallback<MappedEvent<HTMLElementEventMap, K>>): EventUtils;
|
|
2419
|
-
<K extends string>(target: Target[], name?: K, func?: EventUtilsCallback<MappedEvent<HTMLElementEventMap, K>>): EventUtils[];
|
|
2420
|
-
};
|
|
2421
|
-
fire: (target: Node | Window, name: string, evt?: {}) => EventUtils;
|
|
2422
|
-
dispatch: (target: Node | Window, name: string, evt?: {}) => EventUtils;
|
|
2423
|
-
getContentEditable: (node: Node) => string | null;
|
|
2424
|
-
getContentEditableParent: (node: Node) => string | null;
|
|
2425
|
-
isEditable: (node: Node | null | undefined) => boolean;
|
|
2426
|
-
destroy: () => void;
|
|
2427
|
-
isChildOf: (node: Node, parent: Node) => boolean;
|
|
2428
|
-
dumpRng: (r: Range) => string;
|
|
2487
|
+
interface Annotator {
|
|
2488
|
+
register: (name: string, settings: AnnotatorSettings) => void;
|
|
2489
|
+
annotate: (name: string, data: DecoratorData) => void;
|
|
2490
|
+
annotationChanged: (name: string, f: AnnotationListenerApi) => void;
|
|
2491
|
+
remove: (name: string) => void;
|
|
2492
|
+
removeAll: (name: string) => void;
|
|
2493
|
+
getAll: (name: string) => Record<string, Element[]>;
|
|
2429
2494
|
}
|
|
2430
2495
|
interface ClientRect {
|
|
2431
2496
|
left: number;
|
|
@@ -2481,6 +2546,10 @@ interface DomSerializerSettings extends DomParserSettings, WriterSettings, Schem
|
|
|
2481
2546
|
url_converter?: URLConverter;
|
|
2482
2547
|
url_converter_scope?: {};
|
|
2483
2548
|
}
|
|
2549
|
+
interface DomSerializerArgs extends ParserArgs {
|
|
2550
|
+
indent?: HtmlSerializerSettings['indent'];
|
|
2551
|
+
entity_encoding?: HtmlSerializerSettings['entity_encoding'];
|
|
2552
|
+
}
|
|
2484
2553
|
interface DomSerializerImpl {
|
|
2485
2554
|
schema: Schema;
|
|
2486
2555
|
addNodeFilter: (name: string, callback: ParserFilterCallback) => void;
|
|
@@ -2493,7 +2562,7 @@ interface DomSerializerImpl {
|
|
|
2493
2562
|
(node: Element, parserArgs: {
|
|
2494
2563
|
format: 'tree';
|
|
2495
2564
|
} & ParserArgs): AstNode;
|
|
2496
|
-
(node: Element,
|
|
2565
|
+
(node: Element, domSerializerArgs?: DomSerializerArgs): string;
|
|
2497
2566
|
};
|
|
2498
2567
|
addRules: (rules: string) => void;
|
|
2499
2568
|
setRules: (rules: string) => void;
|
|
@@ -2557,8 +2626,8 @@ interface EditorSelection {
|
|
|
2557
2626
|
type: 'word';
|
|
2558
2627
|
}) => void;
|
|
2559
2628
|
}
|
|
2560
|
-
type EditorCommandCallback<S> = (this: S, ui: boolean, value: any) => void;
|
|
2561
|
-
type EditorCommandsCallback = (command: string, ui: boolean, value?: any) => void;
|
|
2629
|
+
type EditorCommandCallback<S> = (this: S, ui: boolean, value: any, args?: ExecCommandArgs) => void;
|
|
2630
|
+
type EditorCommandsCallback = (command: string, ui: boolean, value?: any, args?: ExecCommandArgs) => void;
|
|
2562
2631
|
interface Commands {
|
|
2563
2632
|
state: Record<string, (command: string) => boolean>;
|
|
2564
2633
|
exec: Record<string, EditorCommandsCallback>;
|
|
@@ -2582,6 +2651,7 @@ declare class EditorCommands {
|
|
|
2582
2651
|
addCommands(commandList: Record<string, EditorCommandsCallback>): void;
|
|
2583
2652
|
addCommand<S>(command: string, callback: EditorCommandCallback<S>, scope: S): void;
|
|
2584
2653
|
addCommand(command: string, callback: EditorCommandCallback<Editor>): void;
|
|
2654
|
+
removeCommand(command: string, type?: 'exec' | 'state' | 'value'): void;
|
|
2585
2655
|
queryCommandSupported(command: string): boolean;
|
|
2586
2656
|
addQueryStateHandler<S>(command: string, callback: (this: S) => boolean, scope: S): void;
|
|
2587
2657
|
addQueryStateHandler(command: string, callback: (this: Editor) => boolean): void;
|
|
@@ -2685,6 +2755,7 @@ interface EditorManager extends Observable<EditorManagerEventMap> {
|
|
|
2685
2755
|
documentBaseURL: string;
|
|
2686
2756
|
i18n: I18n;
|
|
2687
2757
|
suffix: string;
|
|
2758
|
+
pageUid: string;
|
|
2688
2759
|
add(this: EditorManager, editor: Editor): Editor;
|
|
2689
2760
|
addI18n: (code: string, item: Record<string, string>) => void;
|
|
2690
2761
|
createEditor(this: EditorManager, id: string, options: RawEditorOptions): Editor;
|
|
@@ -2701,6 +2772,7 @@ interface EditorManager extends Observable<EditorManagerEventMap> {
|
|
|
2701
2772
|
translate: (text: Untranslated) => TranslatedString;
|
|
2702
2773
|
triggerSave: () => void;
|
|
2703
2774
|
_setBaseUrl(this: EditorManager, baseUrl: string): void;
|
|
2775
|
+
_addLicenseKeyManager(this: EditorManager, addOn: LicenseKeyManagerAddon): void;
|
|
2704
2776
|
}
|
|
2705
2777
|
interface EditorObservable extends Observable<EditorEventMap> {
|
|
2706
2778
|
bindPendingEventDelegates(this: Editor): void;
|
|
@@ -2871,6 +2943,7 @@ interface Theme {
|
|
|
2871
2943
|
getNotificationManagerImpl?: () => NotificationManagerImpl;
|
|
2872
2944
|
getWindowManagerImpl?: () => WindowManagerImpl;
|
|
2873
2945
|
getPromotionElement?: () => HTMLElement | null;
|
|
2946
|
+
getSinkElement?: (type: 'dialog' | 'popup') => HTMLElement;
|
|
2874
2947
|
}
|
|
2875
2948
|
type ThemeManager = AddOnManager<void | Theme>;
|
|
2876
2949
|
interface EditorConstructor {
|
|
@@ -2878,9 +2951,9 @@ interface EditorConstructor {
|
|
|
2878
2951
|
new (id: string, options: RawEditorOptions, editorManager: EditorManager): Editor;
|
|
2879
2952
|
}
|
|
2880
2953
|
declare class Editor implements EditorObservable {
|
|
2881
|
-
documentBaseUrl: string;
|
|
2882
2954
|
baseUri: URI;
|
|
2883
2955
|
id: string;
|
|
2956
|
+
editorUid: string;
|
|
2884
2957
|
plugins: Record<string, Plugin>;
|
|
2885
2958
|
documentBaseURI: URI;
|
|
2886
2959
|
baseURI: URI;
|
|
@@ -2890,6 +2963,7 @@ declare class Editor implements EditorObservable {
|
|
|
2890
2963
|
mode: EditorMode;
|
|
2891
2964
|
options: Options;
|
|
2892
2965
|
editorUpload: EditorUpload;
|
|
2966
|
+
userLookup: UserLookup;
|
|
2893
2967
|
shortcuts: Shortcuts;
|
|
2894
2968
|
loadedCSS: Record<string, any>;
|
|
2895
2969
|
editorCommands: EditorCommands;
|
|
@@ -2935,6 +3009,7 @@ declare class Editor implements EditorObservable {
|
|
|
2935
3009
|
model: Model;
|
|
2936
3010
|
undoManager: UndoManager;
|
|
2937
3011
|
windowManager: WindowManager;
|
|
3012
|
+
licenseKeyManager: LicenseKeyManager;
|
|
2938
3013
|
_beforeUnload: (() => void) | undefined;
|
|
2939
3014
|
_eventDispatcher: EventDispatcher<NativeEventMap> | undefined;
|
|
2940
3015
|
_nodeChangeDispatcher: NodeChange;
|
|
@@ -2980,11 +3055,9 @@ declare class Editor implements EditorObservable {
|
|
|
2980
3055
|
hide(): void;
|
|
2981
3056
|
isHidden(): boolean;
|
|
2982
3057
|
setProgressState(state: boolean, time?: number): void;
|
|
2983
|
-
load(args?: Partial<SetContentArgs>):
|
|
3058
|
+
load(args?: Partial<SetContentArgs>): void;
|
|
2984
3059
|
save(args?: Partial<GetContentArgs>): string;
|
|
2985
|
-
setContent(content: string, args?: Partial<SetContentArgs>):
|
|
2986
|
-
setContent(content: AstNode, args?: Partial<SetContentArgs>): AstNode;
|
|
2987
|
-
setContent(content: Content, args?: Partial<SetContentArgs>): Content;
|
|
3060
|
+
setContent(content: string | AstNode, args?: Partial<SetContentArgs>): void;
|
|
2988
3061
|
getContent(args: {
|
|
2989
3062
|
format: 'tree';
|
|
2990
3063
|
} & Partial<GetContentArgs>): AstNode;
|
|
@@ -3003,31 +3076,28 @@ declare class Editor implements EditorObservable {
|
|
|
3003
3076
|
addVisual(elm?: HTMLElement): void;
|
|
3004
3077
|
setEditableRoot(state: boolean): void;
|
|
3005
3078
|
hasEditableRoot(): boolean;
|
|
3079
|
+
announce(message: string, options?: {
|
|
3080
|
+
assertive?: boolean;
|
|
3081
|
+
}): void;
|
|
3006
3082
|
remove(): void;
|
|
3007
3083
|
destroy(automatic?: boolean): void;
|
|
3008
3084
|
uploadImages(): Promise<UploadResult$1[]>;
|
|
3009
3085
|
_scanForImages(): Promise<BlobInfoImagePair[]>;
|
|
3010
3086
|
}
|
|
3011
|
-
|
|
3012
|
-
|
|
3013
|
-
|
|
3014
|
-
|
|
3087
|
+
type UserId = string;
|
|
3088
|
+
interface User {
|
|
3089
|
+
id: UserId;
|
|
3090
|
+
name: string;
|
|
3091
|
+
avatar: string;
|
|
3092
|
+
custom?: Record<string, any>;
|
|
3015
3093
|
}
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
}>;
|
|
3024
|
-
get: (name: string) => AddOnConstructor<T> | undefined;
|
|
3025
|
-
requireLangPack: (name: string, languages?: string) => void;
|
|
3026
|
-
add: (id: string, addOn: AddOnConstructor<T>) => AddOnConstructor<T>;
|
|
3027
|
-
remove: (name: string) => void;
|
|
3028
|
-
createUrl: (baseUrl: UrlObject, dep: string | UrlObject) => UrlObject;
|
|
3029
|
-
load: (name: string, addOnUrl: string | UrlObject) => Promise<void>;
|
|
3030
|
-
waitFor: (name: string, state?: WaitState) => Promise<void>;
|
|
3094
|
+
interface ExpectedUser {
|
|
3095
|
+
id: UserId;
|
|
3096
|
+
[key: string]: any;
|
|
3097
|
+
}
|
|
3098
|
+
interface UserLookup {
|
|
3099
|
+
userId: UserId;
|
|
3100
|
+
fetchUsers: (userIds: UserId[]) => Record<UserId, Promise<User>>;
|
|
3031
3101
|
}
|
|
3032
3102
|
interface RangeUtils {
|
|
3033
3103
|
walk: (rng: Range, callback: (nodes: Node[]) => void) => void;
|
|
@@ -3039,6 +3109,7 @@ interface RangeUtils {
|
|
|
3039
3109
|
}
|
|
3040
3110
|
interface ScriptLoaderSettings {
|
|
3041
3111
|
referrerPolicy?: ReferrerPolicy;
|
|
3112
|
+
crossOrigin?: (url: string) => string | undefined;
|
|
3042
3113
|
}
|
|
3043
3114
|
interface ScriptLoaderConstructor {
|
|
3044
3115
|
readonly prototype: ScriptLoader;
|
|
@@ -3055,6 +3126,7 @@ declare class ScriptLoader {
|
|
|
3055
3126
|
private loading;
|
|
3056
3127
|
constructor(settings?: ScriptLoaderSettings);
|
|
3057
3128
|
_setReferrerPolicy(referrerPolicy: ReferrerPolicy): void;
|
|
3129
|
+
_setCrossOrigin(crossOrigin: (url: string) => string | undefined): void;
|
|
3058
3130
|
loadScript(url: string): Promise<void>;
|
|
3059
3131
|
isDone(url: string): boolean;
|
|
3060
3132
|
markDone(url: string): void;
|
|
@@ -3063,6 +3135,7 @@ declare class ScriptLoader {
|
|
|
3063
3135
|
remove(url: string): void;
|
|
3064
3136
|
loadQueue(): Promise<void>;
|
|
3065
3137
|
loadScripts(scripts: string[]): Promise<void>;
|
|
3138
|
+
getScriptAttributes(url: string): Record<string, string>;
|
|
3066
3139
|
}
|
|
3067
3140
|
type TextProcessCallback = (node: Text, offset: number, text: string) => number;
|
|
3068
3141
|
interface Spot {
|
|
@@ -3185,6 +3258,11 @@ type TextPatterns_d_InlineFormatPattern = InlineFormatPattern;
|
|
|
3185
3258
|
declare namespace TextPatterns_d {
|
|
3186
3259
|
export { TextPatterns_d_Pattern as Pattern, TextPatterns_d_RawPattern as RawPattern, TextPatterns_d_DynamicPatternsLookup as DynamicPatternsLookup, TextPatterns_d_RawDynamicPatternsLookup as RawDynamicPatternsLookup, TextPatterns_d_DynamicPatternContext as DynamicPatternContext, TextPatterns_d_BlockCmdPattern as BlockCmdPattern, TextPatterns_d_BlockPattern as BlockPattern, TextPatterns_d_BlockFormatPattern as BlockFormatPattern, TextPatterns_d_InlineCmdPattern as InlineCmdPattern, TextPatterns_d_InlinePattern as InlinePattern, TextPatterns_d_InlineFormatPattern as InlineFormatPattern, };
|
|
3187
3260
|
}
|
|
3261
|
+
interface AriaAnnouncer {
|
|
3262
|
+
readonly announce: (message: string, options?: {
|
|
3263
|
+
assertive?: boolean;
|
|
3264
|
+
}) => void;
|
|
3265
|
+
}
|
|
3188
3266
|
interface Delay {
|
|
3189
3267
|
setEditorInterval: (editor: Editor, callback: () => void, time?: number) => number;
|
|
3190
3268
|
setEditorTimeout: (editor: Editor, callback: () => void, time?: number) => number;
|
|
@@ -3300,6 +3378,7 @@ interface TinyMCE extends EditorManager {
|
|
|
3300
3378
|
BookmarkManager: BookmarkManagerNamespace;
|
|
3301
3379
|
Selection: (dom: DOMUtils, win: Window, serializer: DomSerializer, editor: Editor) => EditorSelection;
|
|
3302
3380
|
StyleSheetLoader: (documentOrShadowRoot: Document | ShadowRoot, settings: StyleSheetLoaderSettings) => StyleSheetLoader;
|
|
3381
|
+
AriaAnnouncer: AriaAnnouncer;
|
|
3303
3382
|
Event: EventUtils;
|
|
3304
3383
|
};
|
|
3305
3384
|
html: {
|
|
@@ -3348,4 +3427,4 @@ interface TinyMCE extends EditorManager {
|
|
|
3348
3427
|
_addCacheSuffix: Tools['_addCacheSuffix'];
|
|
3349
3428
|
}
|
|
3350
3429
|
declare const tinymce: TinyMCE;
|
|
3351
|
-
export { AddOnManager, Annotator, AstNode, Bookmark, BookmarkManager, ControlSelection, DOMUtils, Delay, DomParser, DomParserSettings, DomSerializer, DomSerializerSettings, DomTreeWalker, Editor, EditorCommands, EditorEvent, EditorManager, EditorModeApi, EditorObservable, EditorOptions, EditorSelection, Entities, Env, EventDispatcher, EventUtils, EventTypes_d as Events, FakeClipboard, FocusManager, Format_d as Formats, Formatter, GeomRect, HtmlSerializer, HtmlSerializerSettings, I18n, IconManager, Model, ModelManager, NotificationApi, NotificationManager, NotificationSpec, Observable, Plugin, PluginManager, RangeUtils, RawEditorOptions, Rect, Resource, Schema, SchemaSettings, ScriptLoader, Shortcuts, StyleSheetLoader, Styles, TextPatterns_d as TextPatterns, TextSeeker, Theme, ThemeManager, TinyMCE, Tools, URI, Ui_d as Ui, UndoManager, VK, WindowManager, Writer, WriterSettings, tinymce as default };
|
|
3430
|
+
export { AddOnManager, Annotator, AstNode, Bookmark, BookmarkManager, ControlSelection, DOMUtils, Delay, DomParser, DomParserSettings, DomSerializer, DomSerializerSettings, DomTreeWalker, Editor, EditorCommands, EditorEvent, EditorManager, EditorModeApi, EditorObservable, EditorOptions, EditorSelection, Entities, Env, EventDispatcher, EventUtils, EventTypes_d as Events, ExpectedUser, FakeClipboard, FocusManager, Format_d as Formats, Formatter, GeomRect, HtmlSerializer, HtmlSerializerSettings, I18n, IconManager, Model, ModelManager, NotificationApi, NotificationManager, NotificationSpec, Observable, Plugin, PluginManager, RangeUtils, RawEditorOptions, Rect, Resource, Schema, SchemaSettings, ScriptLoader, Shortcuts, StyleSheetLoader, Styles, TextPatterns_d as TextPatterns, TextSeeker, Theme, ThemeManager, TinyMCE, Tools, URI, Ui_d as Ui, UndoManager, User, VK, WindowManager, Writer, WriterSettings, tinymce as default };
|