suneditor 3.0.0-alpha.2 → 3.0.0-alpha.20
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.
- package/.eslintrc.json +4 -3
- package/CONTRIBUTING.md +4 -2
- package/README.md +19 -11
- package/README_V3_TEMP.md +705 -0
- package/dist/suneditor.min.css +1 -0
- package/dist/suneditor.min.js +1 -0
- package/example.md +587 -0
- package/package.json +15 -9
- package/src/assets/icons/_default.js +166 -131
- package/src/assets/{suneditor-content.css → suneditor-contents.css} +182 -45
- package/src/assets/suneditor.css +1195 -556
- package/src/assets/variables.css +138 -0
- package/src/core/base/eventHandlers/handler_toolbar.js +35 -14
- package/src/core/base/eventHandlers/handler_ww_clipboard.js +29 -4
- package/src/core/base/eventHandlers/handler_ww_dragDrop.js +59 -15
- package/src/core/base/eventHandlers/handler_ww_key_input.js +426 -212
- package/src/core/base/eventHandlers/handler_ww_mouse.js +108 -32
- package/src/core/base/eventManager.js +540 -209
- package/src/core/base/events.js +616 -320
- package/src/core/base/history.js +93 -39
- package/src/core/class/char.js +29 -13
- package/src/core/class/component.js +332 -145
- package/src/core/class/format.js +671 -509
- package/src/core/class/html.js +504 -290
- package/src/core/class/menu.js +114 -47
- package/src/core/class/nodeTransform.js +111 -66
- package/src/core/class/offset.js +409 -105
- package/src/core/class/selection.js +220 -108
- package/src/core/class/shortcuts.js +68 -8
- package/src/core/class/toolbar.js +106 -116
- package/src/core/class/ui.js +330 -0
- package/src/core/class/viewer.js +178 -74
- package/src/core/editor.js +489 -384
- package/src/core/section/actives.js +118 -22
- package/src/core/section/constructor.js +504 -170
- package/src/core/section/context.js +28 -23
- package/src/core/section/documentType.js +561 -0
- package/src/editorInjector/_classes.js +19 -5
- package/src/editorInjector/_core.js +71 -7
- package/src/editorInjector/index.js +63 -1
- package/src/helper/converter.js +137 -19
- package/src/helper/dom/domCheck.js +294 -0
- package/src/helper/dom/domQuery.js +609 -0
- package/src/helper/dom/domUtils.js +533 -0
- package/src/helper/dom/index.js +12 -0
- package/src/helper/env.js +42 -19
- package/src/helper/index.js +7 -4
- package/src/helper/keyCodeMap.js +183 -0
- package/src/helper/numbers.js +8 -8
- package/src/helper/unicode.js +5 -5
- package/src/langs/ckb.js +69 -3
- package/src/langs/cs.js +67 -1
- package/src/langs/da.js +68 -2
- package/src/langs/de.js +68 -3
- package/src/langs/en.js +29 -1
- package/src/langs/es.js +68 -3
- package/src/langs/fa.js +70 -2
- package/src/langs/fr.js +68 -2
- package/src/langs/he.js +68 -3
- package/src/langs/hu.js +226 -0
- package/src/langs/index.js +3 -2
- package/src/langs/it.js +65 -0
- package/src/langs/ja.js +68 -3
- package/src/langs/ko.js +66 -1
- package/src/langs/lv.js +68 -3
- package/src/langs/nl.js +68 -3
- package/src/langs/pl.js +68 -3
- package/src/langs/pt_br.js +65 -0
- package/src/langs/ro.js +69 -4
- package/src/langs/ru.js +68 -3
- package/src/langs/se.js +68 -3
- package/src/langs/tr.js +68 -0
- package/src/langs/ua.js +68 -3
- package/src/langs/ur.js +71 -6
- package/src/langs/zh_cn.js +69 -4
- package/src/modules/ApiManager.js +77 -54
- package/src/modules/Browser.js +667 -0
- package/src/modules/ColorPicker.js +162 -102
- package/src/modules/Controller.js +233 -136
- package/src/modules/Figure.js +913 -489
- package/src/modules/FileManager.js +141 -72
- package/src/modules/HueSlider.js +113 -61
- package/src/modules/Modal.js +292 -113
- package/src/modules/ModalAnchorEditor.js +380 -230
- package/src/modules/SelectMenu.js +270 -168
- package/src/modules/_DragHandle.js +2 -1
- package/src/modules/index.js +3 -3
- package/src/plugins/browser/audioGallery.js +83 -0
- package/src/plugins/browser/fileBrowser.js +103 -0
- package/src/plugins/browser/fileGallery.js +83 -0
- package/src/plugins/browser/imageGallery.js +81 -0
- package/src/plugins/browser/videoGallery.js +103 -0
- package/src/plugins/command/blockquote.js +40 -27
- package/src/plugins/command/exportPDF.js +134 -0
- package/src/plugins/command/fileUpload.js +226 -158
- package/src/plugins/command/list_bulleted.js +93 -47
- package/src/plugins/command/list_numbered.js +93 -47
- package/src/plugins/dropdown/align.js +66 -54
- package/src/plugins/dropdown/backgroundColor.js +76 -45
- package/src/plugins/dropdown/font.js +71 -47
- package/src/plugins/dropdown/fontColor.js +78 -46
- package/src/plugins/dropdown/formatBlock.js +74 -33
- package/src/plugins/dropdown/hr.js +102 -51
- package/src/plugins/dropdown/layout.js +37 -26
- package/src/plugins/dropdown/lineHeight.js +54 -38
- package/src/plugins/dropdown/list.js +60 -45
- package/src/plugins/dropdown/paragraphStyle.js +51 -30
- package/src/plugins/dropdown/table.js +1269 -777
- package/src/plugins/dropdown/template.js +38 -26
- package/src/plugins/dropdown/textStyle.js +43 -31
- package/src/plugins/field/mention.js +144 -82
- package/src/plugins/index.js +32 -6
- package/src/plugins/input/fontSize.js +161 -108
- package/src/plugins/input/pageNavigator.js +70 -0
- package/src/plugins/modal/audio.js +341 -169
- package/src/plugins/modal/drawing.js +530 -0
- package/src/plugins/modal/embed.js +886 -0
- package/src/plugins/modal/image.js +673 -358
- package/src/plugins/modal/link.js +100 -71
- package/src/plugins/modal/math.js +384 -168
- package/src/plugins/modal/video.js +693 -336
- package/src/plugins/popup/anchor.js +222 -0
- package/src/suneditor.js +54 -12
- package/src/themes/dark.css +85 -0
- package/src/typedef.js +86 -0
- package/types/assets/icons/_default.d.ts +152 -0
- package/types/core/base/eventHandlers/handler_toolbar.d.ts +41 -0
- package/types/core/base/eventHandlers/handler_ww_clipboard.d.ts +40 -0
- package/types/core/base/eventHandlers/handler_ww_dragDrop.d.ts +35 -0
- package/types/core/base/eventHandlers/handler_ww_key_input.d.ts +45 -0
- package/types/core/base/eventHandlers/handler_ww_mouse.d.ts +39 -0
- package/types/core/base/eventManager.d.ts +377 -0
- package/types/core/base/events.d.ts +297 -0
- package/types/core/base/history.d.ts +81 -0
- package/types/core/class/char.d.ts +60 -0
- package/types/core/class/component.d.ts +259 -0
- package/types/core/class/format.d.ts +615 -0
- package/types/core/class/html.d.ts +377 -0
- package/types/core/class/menu.d.ts +118 -0
- package/types/core/class/nodeTransform.d.ts +93 -0
- package/types/core/class/offset.d.ts +512 -0
- package/types/core/class/selection.d.ts +188 -0
- package/types/core/class/shortcuts.d.ts +142 -0
- package/types/core/class/toolbar.d.ts +189 -0
- package/types/core/class/ui.d.ts +144 -0
- package/types/core/class/viewer.d.ts +140 -0
- package/types/core/editor.d.ts +606 -0
- package/types/core/section/actives.d.ts +46 -0
- package/types/core/section/constructor.d.ts +748 -0
- package/types/core/section/context.d.ts +45 -0
- package/types/core/section/documentType.d.ts +178 -0
- package/types/editorInjector/_classes.d.ts +41 -0
- package/types/editorInjector/_core.d.ts +92 -0
- package/types/editorInjector/index.d.ts +71 -0
- package/types/helper/converter.d.ts +150 -0
- package/types/helper/dom/domCheck.d.ts +182 -0
- package/types/helper/dom/domQuery.d.ts +214 -0
- package/types/helper/dom/domUtils.d.ts +211 -0
- package/types/helper/dom/index.d.ts +9 -0
- package/types/helper/env.d.ts +149 -0
- package/types/helper/index.d.ts +163 -0
- package/types/helper/keyCodeMap.d.ts +110 -0
- package/types/helper/numbers.d.ts +43 -0
- package/types/helper/unicode.d.ts +28 -0
- package/types/index.d.ts +0 -0
- package/{typings/Lang.d.ts → types/langs/_Lang.d.ts} +170 -103
- package/types/langs/ckb.d.ts +384 -0
- package/types/langs/cs.d.ts +384 -0
- package/types/langs/da.d.ts +384 -0
- package/types/langs/de.d.ts +384 -0
- package/types/langs/en.d.ts +384 -0
- package/types/langs/es.d.ts +384 -0
- package/types/langs/fa.d.ts +384 -0
- package/types/langs/fr.d.ts +384 -0
- package/types/langs/he.d.ts +384 -0
- package/types/langs/hu.d.ts +384 -0
- package/types/langs/index.d.ts +48 -0
- package/types/langs/it.d.ts +384 -0
- package/types/langs/ja.d.ts +384 -0
- package/types/langs/ko.d.ts +384 -0
- package/types/langs/lv.d.ts +384 -0
- package/types/langs/nl.d.ts +384 -0
- package/types/langs/pl.d.ts +384 -0
- package/types/langs/pt_br.d.ts +384 -0
- package/types/langs/ro.d.ts +384 -0
- package/types/langs/ru.d.ts +384 -0
- package/types/langs/se.d.ts +384 -0
- package/types/langs/tr.d.ts +384 -0
- package/types/langs/ua.d.ts +384 -0
- package/types/langs/ur.d.ts +384 -0
- package/types/langs/zh_cn.d.ts +384 -0
- package/types/modules/ApiManager.d.ts +125 -0
- package/types/modules/Browser.d.ts +326 -0
- package/types/modules/ColorPicker.d.ts +131 -0
- package/types/modules/Controller.d.ts +231 -0
- package/types/modules/Figure.d.ts +504 -0
- package/types/modules/FileManager.d.ts +202 -0
- package/types/modules/HueSlider.d.ts +136 -0
- package/types/modules/Modal.d.ts +117 -0
- package/types/modules/ModalAnchorEditor.d.ts +236 -0
- package/types/modules/SelectMenu.d.ts +194 -0
- package/types/modules/_DragHandle.d.ts +7 -0
- package/types/modules/index.d.ts +26 -0
- package/types/plugins/browser/audioGallery.d.ts +55 -0
- package/types/plugins/browser/fileBrowser.d.ts +64 -0
- package/types/plugins/browser/fileGallery.d.ts +55 -0
- package/types/plugins/browser/imageGallery.d.ts +51 -0
- package/types/plugins/browser/videoGallery.d.ts +57 -0
- package/types/plugins/command/blockquote.d.ts +28 -0
- package/types/plugins/command/exportPDF.d.ts +46 -0
- package/types/plugins/command/fileUpload.d.ts +156 -0
- package/types/plugins/command/list_bulleted.d.ts +56 -0
- package/types/plugins/command/list_numbered.d.ts +56 -0
- package/types/plugins/dropdown/align.d.ts +60 -0
- package/types/plugins/dropdown/backgroundColor.d.ts +63 -0
- package/types/plugins/dropdown/font.d.ts +54 -0
- package/types/plugins/dropdown/fontColor.d.ts +63 -0
- package/types/plugins/dropdown/formatBlock.d.ts +58 -0
- package/types/plugins/dropdown/hr.d.ts +81 -0
- package/types/plugins/dropdown/layout.d.ts +40 -0
- package/types/plugins/dropdown/lineHeight.d.ts +50 -0
- package/types/plugins/dropdown/list.d.ts +39 -0
- package/types/plugins/dropdown/paragraphStyle.d.ts +54 -0
- package/types/plugins/dropdown/table.d.ts +579 -0
- package/types/plugins/dropdown/template.d.ts +40 -0
- package/types/plugins/dropdown/textStyle.d.ts +41 -0
- package/types/plugins/field/mention.d.ts +102 -0
- package/types/plugins/index.d.ts +107 -0
- package/types/plugins/input/fontSize.d.ts +170 -0
- package/types/plugins/input/pageNavigator.d.ts +28 -0
- package/types/plugins/modal/audio.d.ts +269 -0
- package/types/plugins/modal/drawing.d.ts +246 -0
- package/types/plugins/modal/embed.d.ts +387 -0
- package/types/plugins/modal/image.d.ts +451 -0
- package/types/plugins/modal/link.d.ts +128 -0
- package/types/plugins/modal/math.d.ts +193 -0
- package/types/plugins/modal/video.d.ts +485 -0
- package/types/plugins/popup/anchor.d.ts +56 -0
- package/types/suneditor.d.ts +51 -0
- package/types/typedef-global.d.ts +144 -0
- package/src/core/class/notice.js +0 -42
- package/src/helper/domUtils.js +0 -1177
- package/src/modules/FileBrowser.js +0 -271
- package/src/plugins/command/exportPdf.js +0 -168
- package/src/plugins/fileBrowser/imageGallery.js +0 -81
- package/src/themes/test.css +0 -61
- package/typings/CommandPlugin.d.ts +0 -8
- package/typings/DialogPlugin.d.ts +0 -20
- package/typings/FileBrowserPlugin.d.ts +0 -30
- package/typings/Module.d.ts +0 -15
- package/typings/Plugin.d.ts +0 -42
- package/typings/SubmenuPlugin.d.ts +0 -8
- package/typings/_classes.d.ts +0 -17
- package/typings/_colorPicker.d.ts +0 -60
- package/typings/_core.d.ts +0 -55
- package/typings/align.d.ts +0 -5
- package/typings/audio.d.ts +0 -5
- package/typings/backgroundColor.d.ts +0 -5
- package/typings/blockquote.d.ts +0 -5
- package/typings/char.d.ts +0 -39
- package/typings/component.d.ts +0 -38
- package/typings/context.d.ts +0 -39
- package/typings/converter.d.ts +0 -33
- package/typings/dialog.d.ts +0 -28
- package/typings/domUtils.d.ts +0 -361
- package/typings/editor.d.ts +0 -7
- package/typings/editor.ts +0 -542
- package/typings/env.d.ts +0 -70
- package/typings/eventManager.d.ts +0 -37
- package/typings/events.d.ts +0 -262
- package/typings/fileBrowser.d.ts +0 -42
- package/typings/fileManager.d.ts +0 -67
- package/typings/font.d.ts +0 -5
- package/typings/fontColor.d.ts +0 -5
- package/typings/fontSize.d.ts +0 -5
- package/typings/format.d.ts +0 -191
- package/typings/formatBlock.d.ts +0 -5
- package/typings/history.d.ts +0 -48
- package/typings/horizontalRule.d.ts +0 -5
- package/typings/image.d.ts +0 -5
- package/typings/imageGallery.d.ts +0 -5
- package/typings/index.d.ts +0 -21
- package/typings/index.modules.d.ts +0 -11
- package/typings/index.plugins.d.ts +0 -58
- package/typings/lineHeight.d.ts +0 -5
- package/typings/link.d.ts +0 -5
- package/typings/list.d.ts +0 -5
- package/typings/math.d.ts +0 -5
- package/typings/mediaContainer.d.ts +0 -25
- package/typings/mention.d.ts +0 -5
- package/typings/node.d.ts +0 -57
- package/typings/notice.d.ts +0 -16
- package/typings/numbers.d.ts +0 -29
- package/typings/offset.d.ts +0 -24
- package/typings/options.d.ts +0 -589
- package/typings/paragraphStyle.d.ts +0 -5
- package/typings/resizing.d.ts +0 -141
- package/typings/selection.d.ts +0 -94
- package/typings/shortcuts.d.ts +0 -13
- package/typings/suneditor.d.ts +0 -9
- package/typings/table.d.ts +0 -5
- package/typings/template.d.ts +0 -5
- package/typings/textStyle.d.ts +0 -5
- package/typings/toolbar.d.ts +0 -32
- package/typings/unicode.d.ts +0 -25
- package/typings/video.d.ts +0 -5
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
let onload: any;
|
|
3
|
+
let onScroll: any;
|
|
4
|
+
let onMouseDown: any;
|
|
5
|
+
let onClick: any;
|
|
6
|
+
let onInput: any;
|
|
7
|
+
let onMouseLeave: any;
|
|
8
|
+
let onKeyDown: any;
|
|
9
|
+
let onKeyUp: any;
|
|
10
|
+
let onFocus: any;
|
|
11
|
+
let onBlur: any;
|
|
12
|
+
let onCopy: any;
|
|
13
|
+
let onCut: any;
|
|
14
|
+
let onChange: any;
|
|
15
|
+
let onShowToolbar: any;
|
|
16
|
+
let onShowController: any;
|
|
17
|
+
let onBeforeShowController: any;
|
|
18
|
+
let onToggleCodeView: any;
|
|
19
|
+
let onToggleFullScreen: any;
|
|
20
|
+
let onResizeEditor: any;
|
|
21
|
+
let onSetToolbarButtons: any;
|
|
22
|
+
let onSave: any;
|
|
23
|
+
let onDrop: any;
|
|
24
|
+
let onPaste: any;
|
|
25
|
+
let imageUploadHandler: any;
|
|
26
|
+
let onImageUploadBefore: any;
|
|
27
|
+
let onImageLoad: any;
|
|
28
|
+
let onImageAction: any;
|
|
29
|
+
let onImageUploadError: any;
|
|
30
|
+
let onImageDeleteBefore: any;
|
|
31
|
+
let videoUploadHandler: any;
|
|
32
|
+
let onVideoUploadBefore: any;
|
|
33
|
+
let onVideoLoad: any;
|
|
34
|
+
let onVideoAction: any;
|
|
35
|
+
let onVideoUploadError: any;
|
|
36
|
+
let onVideoDeleteBefore: any;
|
|
37
|
+
let audioUploadHandler: any;
|
|
38
|
+
let onAudioUploadBefore: any;
|
|
39
|
+
let onAudioUploadError: any;
|
|
40
|
+
let onAudioLoad: any;
|
|
41
|
+
let onAudioAction: any;
|
|
42
|
+
let onAudioDeleteBefore: any;
|
|
43
|
+
let onFileUploadBefore: any;
|
|
44
|
+
let onFileLoad: any;
|
|
45
|
+
let onFileAction: any;
|
|
46
|
+
let onFileUploadError: any;
|
|
47
|
+
let onFileDeleteBefore: any;
|
|
48
|
+
let onExportPDFBefore: any;
|
|
49
|
+
let onFileManagerAction: any;
|
|
50
|
+
let onEmbedInputBefore: any;
|
|
51
|
+
}
|
|
52
|
+
export default _default;
|
|
53
|
+
export type ControllerInstance = import('../../modules/Controller').default;
|
|
54
|
+
export type BaseEvent = {
|
|
55
|
+
/**
|
|
56
|
+
* - The root editor instance
|
|
57
|
+
*/
|
|
58
|
+
editor: __se__EditorCore;
|
|
59
|
+
/**
|
|
60
|
+
* - frame context
|
|
61
|
+
*/
|
|
62
|
+
frameContext: __se__FrameContext;
|
|
63
|
+
/**
|
|
64
|
+
* - event object
|
|
65
|
+
*/
|
|
66
|
+
event: Event;
|
|
67
|
+
};
|
|
68
|
+
export type ClipboardEvent = {
|
|
69
|
+
/**
|
|
70
|
+
* - The root editor instance
|
|
71
|
+
*/
|
|
72
|
+
editor: __se__EditorCore;
|
|
73
|
+
/**
|
|
74
|
+
* - frame context
|
|
75
|
+
*/
|
|
76
|
+
frameContext: __se__FrameContext;
|
|
77
|
+
/**
|
|
78
|
+
* - event object
|
|
79
|
+
*/
|
|
80
|
+
event: Event;
|
|
81
|
+
/**
|
|
82
|
+
* - drop data
|
|
83
|
+
*/
|
|
84
|
+
data: string;
|
|
85
|
+
/**
|
|
86
|
+
* - is max char count
|
|
87
|
+
*/
|
|
88
|
+
maxCharCount: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* - "SE"|"MS"|"" - source
|
|
91
|
+
*/
|
|
92
|
+
from: string;
|
|
93
|
+
};
|
|
94
|
+
export type ControllerInfo = {
|
|
95
|
+
/**
|
|
96
|
+
* - controller position
|
|
97
|
+
*/
|
|
98
|
+
position: 'top' | 'bottom' | 'position';
|
|
99
|
+
/**
|
|
100
|
+
* - controller instance
|
|
101
|
+
*/
|
|
102
|
+
inst: ControllerInstance;
|
|
103
|
+
/**
|
|
104
|
+
* - controller element
|
|
105
|
+
*/
|
|
106
|
+
form: HTMLElement;
|
|
107
|
+
/**
|
|
108
|
+
* - controller target element
|
|
109
|
+
*/
|
|
110
|
+
target: HTMLElement;
|
|
111
|
+
/**
|
|
112
|
+
* - If the target is a Range, set it to true.
|
|
113
|
+
*/
|
|
114
|
+
isRangeTarget: boolean;
|
|
115
|
+
/**
|
|
116
|
+
* - "form"" is not included in the carrier.
|
|
117
|
+
*/
|
|
118
|
+
notInCarrier: boolean;
|
|
119
|
+
};
|
|
120
|
+
export type FileManagementInfo = {
|
|
121
|
+
/**
|
|
122
|
+
* - source URL of the image.
|
|
123
|
+
*/
|
|
124
|
+
src: string;
|
|
125
|
+
/**
|
|
126
|
+
* - index of the image.
|
|
127
|
+
*/
|
|
128
|
+
index: number;
|
|
129
|
+
/**
|
|
130
|
+
* - name of the file.
|
|
131
|
+
*/
|
|
132
|
+
name: string;
|
|
133
|
+
/**
|
|
134
|
+
* - size of the file in bytes.
|
|
135
|
+
*/
|
|
136
|
+
size: number;
|
|
137
|
+
/**
|
|
138
|
+
* - target element.
|
|
139
|
+
*/
|
|
140
|
+
element: HTMLElement;
|
|
141
|
+
/**
|
|
142
|
+
* - delete function.
|
|
143
|
+
*/
|
|
144
|
+
delete: () => void;
|
|
145
|
+
/**
|
|
146
|
+
* - select function.
|
|
147
|
+
*/
|
|
148
|
+
select: () => void;
|
|
149
|
+
};
|
|
150
|
+
export type ProcessInfo = {
|
|
151
|
+
/**
|
|
152
|
+
* - origin url
|
|
153
|
+
*/
|
|
154
|
+
origin: string;
|
|
155
|
+
/**
|
|
156
|
+
* - url
|
|
157
|
+
*/
|
|
158
|
+
url: string;
|
|
159
|
+
/**
|
|
160
|
+
* - tag name
|
|
161
|
+
*/
|
|
162
|
+
tag: 'video' | 'iframe';
|
|
163
|
+
/**
|
|
164
|
+
* - embed children tags
|
|
165
|
+
*/
|
|
166
|
+
children: HTMLCollection | null;
|
|
167
|
+
};
|
|
168
|
+
export type ImageInfo = {
|
|
169
|
+
/**
|
|
170
|
+
* - FileList object
|
|
171
|
+
*/
|
|
172
|
+
files: FileList;
|
|
173
|
+
/**
|
|
174
|
+
* - target element
|
|
175
|
+
*/
|
|
176
|
+
element: HTMLImageElement;
|
|
177
|
+
/**
|
|
178
|
+
* - width value
|
|
179
|
+
*/
|
|
180
|
+
inputWidth: string;
|
|
181
|
+
/**
|
|
182
|
+
* - height value
|
|
183
|
+
*/
|
|
184
|
+
inputHeight: string;
|
|
185
|
+
/**
|
|
186
|
+
* - align value
|
|
187
|
+
*/
|
|
188
|
+
align: string;
|
|
189
|
+
/**
|
|
190
|
+
* - new create or update
|
|
191
|
+
*/
|
|
192
|
+
isUpdate: boolean;
|
|
193
|
+
/**
|
|
194
|
+
* - Anchor element, if it exists
|
|
195
|
+
*/
|
|
196
|
+
anchor: HTMLElement | null;
|
|
197
|
+
/**
|
|
198
|
+
* - alt text value
|
|
199
|
+
*/
|
|
200
|
+
alt: string;
|
|
201
|
+
};
|
|
202
|
+
export type VideoInfo = {
|
|
203
|
+
/**
|
|
204
|
+
* - FileList object
|
|
205
|
+
*/
|
|
206
|
+
files: FileList;
|
|
207
|
+
/**
|
|
208
|
+
* - target element
|
|
209
|
+
*/
|
|
210
|
+
element: HTMLIFrameElement | HTMLVideoElement;
|
|
211
|
+
/**
|
|
212
|
+
* - width value
|
|
213
|
+
*/
|
|
214
|
+
inputWidth: string;
|
|
215
|
+
/**
|
|
216
|
+
* - height value
|
|
217
|
+
*/
|
|
218
|
+
inputHeight: string;
|
|
219
|
+
/**
|
|
220
|
+
* - align value
|
|
221
|
+
*/
|
|
222
|
+
align: string;
|
|
223
|
+
/**
|
|
224
|
+
* - new create or update
|
|
225
|
+
*/
|
|
226
|
+
isUpdate: boolean;
|
|
227
|
+
/**
|
|
228
|
+
* - video url
|
|
229
|
+
*/
|
|
230
|
+
url: string;
|
|
231
|
+
/**
|
|
232
|
+
* - video process info
|
|
233
|
+
*/
|
|
234
|
+
process: ProcessInfo | null;
|
|
235
|
+
};
|
|
236
|
+
export type AudioInfo = {
|
|
237
|
+
/**
|
|
238
|
+
* - target element
|
|
239
|
+
*/
|
|
240
|
+
element: HTMLAudioElement;
|
|
241
|
+
/**
|
|
242
|
+
* - FileList object
|
|
243
|
+
*/
|
|
244
|
+
files: FileList;
|
|
245
|
+
/**
|
|
246
|
+
* - new create or update
|
|
247
|
+
*/
|
|
248
|
+
isUpdate: boolean;
|
|
249
|
+
};
|
|
250
|
+
export type FileInfo = {
|
|
251
|
+
/**
|
|
252
|
+
* - file url
|
|
253
|
+
*/
|
|
254
|
+
url: string;
|
|
255
|
+
/**
|
|
256
|
+
* - FileList object
|
|
257
|
+
*/
|
|
258
|
+
files: FileList;
|
|
259
|
+
/**
|
|
260
|
+
* - upload headers
|
|
261
|
+
*/
|
|
262
|
+
uploadHeaders: any;
|
|
263
|
+
};
|
|
264
|
+
export type EmbedInfo = {
|
|
265
|
+
/**
|
|
266
|
+
* - target element
|
|
267
|
+
*/
|
|
268
|
+
element: HTMLElement;
|
|
269
|
+
/**
|
|
270
|
+
* - width value
|
|
271
|
+
*/
|
|
272
|
+
inputWidth: string;
|
|
273
|
+
/**
|
|
274
|
+
* - height value
|
|
275
|
+
*/
|
|
276
|
+
inputHeight: string;
|
|
277
|
+
/**
|
|
278
|
+
* - align value
|
|
279
|
+
*/
|
|
280
|
+
align: string;
|
|
281
|
+
/**
|
|
282
|
+
* - new create or update
|
|
283
|
+
*/
|
|
284
|
+
isUpdate: boolean;
|
|
285
|
+
/**
|
|
286
|
+
* - embed url
|
|
287
|
+
*/
|
|
288
|
+
url: string;
|
|
289
|
+
/**
|
|
290
|
+
* - When the input source is stacked in an iframe, etc., the actual embedded DOM
|
|
291
|
+
*/
|
|
292
|
+
children: HTMLElement | null;
|
|
293
|
+
/**
|
|
294
|
+
* - embed process info
|
|
295
|
+
*/
|
|
296
|
+
process: ProcessInfo | null;
|
|
297
|
+
};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description History stack closure
|
|
3
|
+
* @param {__se__EditorCore} editor - The root editor instance
|
|
4
|
+
*/
|
|
5
|
+
export default function History(editor: __se__EditorCore): {
|
|
6
|
+
/**
|
|
7
|
+
* @description Saving the current status to the history object stack
|
|
8
|
+
* - If "delay" is true, it will be saved after (options.get('historyStackDelayTime') || 400) milliseconds.
|
|
9
|
+
* - If the function is called again with the "delay" argument true before it is saved, the delay time is renewed.
|
|
10
|
+
* - You can specify the delay time by sending a number.
|
|
11
|
+
* @param {boolean|number} delay If true, add stack without delay time.
|
|
12
|
+
* @param {*=} [rootKey] The key of the root frame to save history for.
|
|
13
|
+
*/
|
|
14
|
+
push(delay: boolean | number, rootKey?: any | undefined): void;
|
|
15
|
+
/**
|
|
16
|
+
* @description Immediately saves the current state to the history stack if a delayed save is pending.
|
|
17
|
+
* @param {*} rootKey The key of the root frame.
|
|
18
|
+
* @param {Range} range The selection range object.
|
|
19
|
+
*/
|
|
20
|
+
check(rootKey: any, range: Range): void;
|
|
21
|
+
/**
|
|
22
|
+
* @description Undo function that restores the previous state from the history stack.
|
|
23
|
+
*/
|
|
24
|
+
undo(): void;
|
|
25
|
+
/**
|
|
26
|
+
* @description Redo function that re-applies a previously undone state from the history stack.
|
|
27
|
+
*/
|
|
28
|
+
redo(): void;
|
|
29
|
+
/**
|
|
30
|
+
* @description Overwrites the current state in the history stack with the latest content.
|
|
31
|
+
* @param {string=} [rootKey] The key of the root frame to overwrite.
|
|
32
|
+
*/
|
|
33
|
+
overwrite(rootKey?: string | undefined): void;
|
|
34
|
+
/**
|
|
35
|
+
* @description Pauses the history stack, preventing new entries from being added for up to 5 seconds.
|
|
36
|
+
*/
|
|
37
|
+
pause(): void;
|
|
38
|
+
/**
|
|
39
|
+
* @description Resumes history tracking by allowing new entries to be added to the stack.
|
|
40
|
+
*/
|
|
41
|
+
resume(): void;
|
|
42
|
+
/**
|
|
43
|
+
* @description Resets the history stack and disables related UI buttons.
|
|
44
|
+
*/
|
|
45
|
+
reset(): void;
|
|
46
|
+
/**
|
|
47
|
+
* @description Updates the state of history-related buttons (undo, redo, save) based on the current history stack.
|
|
48
|
+
* @param {*} rootKey The key of the root frame.
|
|
49
|
+
* @param {number} [index] The index of the current history state.
|
|
50
|
+
*/
|
|
51
|
+
resetButtons(rootKey: any, index?: number): void;
|
|
52
|
+
/**
|
|
53
|
+
* @description Returns the root stack containing the history of each frame.
|
|
54
|
+
* @returns {{content: string, s: {path: number|number[], offset: number|number[]}, e: {path: number|number[], offset: number|number[]}, frame: HTMLElement}} The root stack object.
|
|
55
|
+
* - content: content html string
|
|
56
|
+
* - s: depth info of the "start" range
|
|
57
|
+
* - e: depth info of the "end" range
|
|
58
|
+
* - frame: wysiwyg editable element.
|
|
59
|
+
*/
|
|
60
|
+
getRootStack(): {
|
|
61
|
+
content: string;
|
|
62
|
+
s: {
|
|
63
|
+
path: number | number[];
|
|
64
|
+
offset: number | number[];
|
|
65
|
+
};
|
|
66
|
+
e: {
|
|
67
|
+
path: number | number[];
|
|
68
|
+
offset: number | number[];
|
|
69
|
+
};
|
|
70
|
+
frame: HTMLElement;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* @description Resets the delay time for saving history.
|
|
74
|
+
* @param {number} ms The new delay time in milliseconds.
|
|
75
|
+
*/
|
|
76
|
+
resetDelayTime(ms: number): void;
|
|
77
|
+
/**
|
|
78
|
+
* @description Clears the entire history stack and cancels any pending save operations.
|
|
79
|
+
*/
|
|
80
|
+
destroy(): void;
|
|
81
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export default Char;
|
|
2
|
+
export type CharThis = Omit<Char & Partial<__se__EditorInjector>, 'char'>;
|
|
3
|
+
/**
|
|
4
|
+
* @typedef {Omit<Char & Partial<__se__EditorInjector>, 'char'>} CharThis
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @constructor
|
|
8
|
+
* @this {CharThis}
|
|
9
|
+
* @description character count, character limit, etc. management class
|
|
10
|
+
* @param {__se__EditorCore} editor - The root editor instance
|
|
11
|
+
*/
|
|
12
|
+
declare function Char(this: Omit<Char & Partial<import('../../editorInjector').default>, 'char'>, editor: __se__EditorCore): void;
|
|
13
|
+
declare class Char {
|
|
14
|
+
/**
|
|
15
|
+
* @typedef {Omit<Char & Partial<__se__EditorInjector>, 'char'>} CharThis
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* @constructor
|
|
19
|
+
* @this {CharThis}
|
|
20
|
+
* @description character count, character limit, etc. management class
|
|
21
|
+
* @param {__se__EditorCore} editor - The root editor instance
|
|
22
|
+
*/
|
|
23
|
+
constructor(editor: __se__EditorCore);
|
|
24
|
+
/**
|
|
25
|
+
* @this {CharThis}
|
|
26
|
+
* @description Returns false if char count is greater than "frameOptions.get('charCounter_max')" when "html" is added to the current editor.
|
|
27
|
+
* @param {Node|string} html Element node or String.
|
|
28
|
+
* @returns {boolean}
|
|
29
|
+
*/
|
|
30
|
+
check(this: Omit<Char & Partial<import('../../editorInjector').default>, 'char'>, html: Node | string): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* @this {CharThis}
|
|
33
|
+
* @description Get the [content]'s number of characters or binary data size. (frameOptions.get('charCounter_type'))
|
|
34
|
+
* - If [content] is undefined, get the current editor's number of characters or binary data size.
|
|
35
|
+
* @param {string=} content Content to count. (defalut: this.editor.frameContext.get('wysiwyg'))
|
|
36
|
+
* @returns {number}
|
|
37
|
+
*/
|
|
38
|
+
getLength(this: Omit<Char & Partial<import('../../editorInjector').default>, 'char'>, content?: string | undefined): number;
|
|
39
|
+
/**
|
|
40
|
+
* @this {CharThis}
|
|
41
|
+
* @descriptionGets Get the length in bytes of a string.
|
|
42
|
+
* @param {string} text String text
|
|
43
|
+
* @returns {number}
|
|
44
|
+
*/
|
|
45
|
+
getByteLength(this: Omit<Char & Partial<import('../../editorInjector').default>, 'char'>, text: string): number;
|
|
46
|
+
/**
|
|
47
|
+
* @this {CharThis}
|
|
48
|
+
* @description Set the char count to charCounter element textContent.
|
|
49
|
+
*/
|
|
50
|
+
display(this: Omit<Char & Partial<import('../../editorInjector').default>, 'char'>): void;
|
|
51
|
+
/**
|
|
52
|
+
* @this {CharThis}
|
|
53
|
+
* @description Returns false if char count is greater than "frameOptions.get('charCounter_max')" when "inputText" is added to the current editor.
|
|
54
|
+
* - If the current number of characters is greater than "charCounter_max", the excess characters are removed.
|
|
55
|
+
* And call the char.display()
|
|
56
|
+
* @param {string} inputText Text added.
|
|
57
|
+
* @returns {boolean}
|
|
58
|
+
*/
|
|
59
|
+
test(this: Omit<Char & Partial<import('../../editorInjector').default>, 'char'>, inputText: string, _fromInputEvent: any): boolean;
|
|
60
|
+
}
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
export default Component;
|
|
2
|
+
export type ComponentThis = Omit<Component & Partial<__se__EditorInjector>, 'component'>;
|
|
3
|
+
export type ComponentInfo = {
|
|
4
|
+
/**
|
|
5
|
+
* - The target element associated with the component.
|
|
6
|
+
*/
|
|
7
|
+
target: HTMLElement;
|
|
8
|
+
/**
|
|
9
|
+
* - The name of the plugin related to the component.
|
|
10
|
+
*/
|
|
11
|
+
pluginName: string;
|
|
12
|
+
/**
|
|
13
|
+
* - Options related to the component.
|
|
14
|
+
*/
|
|
15
|
+
options: {
|
|
16
|
+
[x: string]: any;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* - The main container element for the component.
|
|
20
|
+
*/
|
|
21
|
+
container: HTMLElement;
|
|
22
|
+
/**
|
|
23
|
+
* - The cover element, if applicable.
|
|
24
|
+
*/
|
|
25
|
+
cover: HTMLElement | null;
|
|
26
|
+
/**
|
|
27
|
+
* - The inline cover element, if applicable.
|
|
28
|
+
*/
|
|
29
|
+
inlineCover: HTMLElement | null;
|
|
30
|
+
/**
|
|
31
|
+
* - The caption element, if applicable.
|
|
32
|
+
*/
|
|
33
|
+
caption: HTMLElement | null;
|
|
34
|
+
/**
|
|
35
|
+
* - Whether the component is a file-related component.
|
|
36
|
+
*/
|
|
37
|
+
isFile: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* - The element that triggered the component, if applicable.
|
|
40
|
+
*/
|
|
41
|
+
launcher: HTMLElement | null;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* @typedef {Omit<Component & Partial<__se__EditorInjector>, 'component'>} ComponentThis
|
|
45
|
+
*/
|
|
46
|
+
/**
|
|
47
|
+
* @typedef {Object} ComponentInfo
|
|
48
|
+
* @property {HTMLElement} target - The target element associated with the component.
|
|
49
|
+
* @property {string} pluginName - The name of the plugin related to the component.
|
|
50
|
+
* @property {Object<string, *>} options - Options related to the component.
|
|
51
|
+
* @property {HTMLElement} container - The main container element for the component.
|
|
52
|
+
* @property {?HTMLElement} cover - The cover element, if applicable.
|
|
53
|
+
* @property {?HTMLElement} inlineCover - The inline cover element, if applicable.
|
|
54
|
+
* @property {?HTMLElement} caption - The caption element, if applicable.
|
|
55
|
+
* @property {boolean} isFile - Whether the component is a file-related component.
|
|
56
|
+
* @property {?HTMLElement} launcher - The element that triggered the component, if applicable.
|
|
57
|
+
*/
|
|
58
|
+
/**
|
|
59
|
+
* @constructor
|
|
60
|
+
* @this {ComponentThis}
|
|
61
|
+
* @description Class for managing components such as images and tables that are not in line format
|
|
62
|
+
* @param {__se__EditorCore} editor - The root editor instance
|
|
63
|
+
*/
|
|
64
|
+
declare function Component(this: Omit<Component & Partial<import('../../editorInjector').default>, 'component'>, editor: __se__EditorCore): void;
|
|
65
|
+
declare class Component {
|
|
66
|
+
/**
|
|
67
|
+
* @typedef {Omit<Component & Partial<__se__EditorInjector>, 'component'>} ComponentThis
|
|
68
|
+
*/
|
|
69
|
+
/**
|
|
70
|
+
* @typedef {Object} ComponentInfo
|
|
71
|
+
* @property {HTMLElement} target - The target element associated with the component.
|
|
72
|
+
* @property {string} pluginName - The name of the plugin related to the component.
|
|
73
|
+
* @property {Object<string, *>} options - Options related to the component.
|
|
74
|
+
* @property {HTMLElement} container - The main container element for the component.
|
|
75
|
+
* @property {?HTMLElement} cover - The cover element, if applicable.
|
|
76
|
+
* @property {?HTMLElement} inlineCover - The inline cover element, if applicable.
|
|
77
|
+
* @property {?HTMLElement} caption - The caption element, if applicable.
|
|
78
|
+
* @property {boolean} isFile - Whether the component is a file-related component.
|
|
79
|
+
* @property {?HTMLElement} launcher - The element that triggered the component, if applicable.
|
|
80
|
+
*/
|
|
81
|
+
/**
|
|
82
|
+
* @constructor
|
|
83
|
+
* @this {ComponentThis}
|
|
84
|
+
* @description Class for managing components such as images and tables that are not in line format
|
|
85
|
+
* @param {__se__EditorCore} editor - The root editor instance
|
|
86
|
+
*/
|
|
87
|
+
constructor(editor: __se__EditorCore);
|
|
88
|
+
/**
|
|
89
|
+
* @description The current component information, used copy, cut, and keydown events
|
|
90
|
+
* @type {ComponentInfo}
|
|
91
|
+
*/
|
|
92
|
+
info: ComponentInfo;
|
|
93
|
+
/**
|
|
94
|
+
* @description Component is selected
|
|
95
|
+
* @type {boolean}
|
|
96
|
+
*/
|
|
97
|
+
isSelected: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* @description Currently selected component target
|
|
100
|
+
* @type {Node|null}
|
|
101
|
+
*/
|
|
102
|
+
currentTarget: Node | null;
|
|
103
|
+
/**
|
|
104
|
+
* @description Currently selected component plugin instance
|
|
105
|
+
* @type {*}
|
|
106
|
+
*/
|
|
107
|
+
currentPlugin: any;
|
|
108
|
+
/**
|
|
109
|
+
* @description Currently selected component plugin name
|
|
110
|
+
* @type {*}
|
|
111
|
+
*/
|
|
112
|
+
currentPluginName: any;
|
|
113
|
+
/**
|
|
114
|
+
* @description Currently selected component information
|
|
115
|
+
* @type {ComponentInfo|null}
|
|
116
|
+
*/
|
|
117
|
+
currentInfo: ComponentInfo | null;
|
|
118
|
+
/** @type {Object<string, (...args: *) => *>} */
|
|
119
|
+
__globalEvents: {
|
|
120
|
+
[x: string]: (...args: any) => any;
|
|
121
|
+
};
|
|
122
|
+
/** @type {__se__GlobalEventInfo|void} */
|
|
123
|
+
_bindClose_copy: __se__GlobalEventInfo | void;
|
|
124
|
+
/** @type {__se__GlobalEventInfo|void} */
|
|
125
|
+
_bindClose_cut: __se__GlobalEventInfo | void;
|
|
126
|
+
/** @type {__se__GlobalEventInfo|void} */
|
|
127
|
+
_bindClose_keydown: __se__GlobalEventInfo | void;
|
|
128
|
+
/** @type {__se__GlobalEventInfo|void} */
|
|
129
|
+
_bindClose_mousedown: __se__GlobalEventInfo | void;
|
|
130
|
+
/** @type {__se__GlobalEventInfo|void} */
|
|
131
|
+
_bindClose_touchstart: __se__GlobalEventInfo | void;
|
|
132
|
+
/** @type {boolean} */
|
|
133
|
+
__selectionSelected: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* @this {ComponentThis}
|
|
136
|
+
* @description Inserts an element and returns it. (Used for elements: table, hr, image, video)
|
|
137
|
+
* - If "element" is "HR", inserts and returns the new line.
|
|
138
|
+
* @param {Node} element Element to be inserted
|
|
139
|
+
* @param {Object} [options] Options
|
|
140
|
+
* @param {boolean} [options.skipCharCount=false] If true, it will be inserted even if "frameOptions.get('charCounter_max')" is exceeded.
|
|
141
|
+
* @param {boolean} [options.skipSelection=false] If true, do not automatically select the inserted component.
|
|
142
|
+
* @param {boolean} [options.skipHistory=false] If true, do not push to history.
|
|
143
|
+
* @returns {HTMLElement} The inserted element or new line (for HR)
|
|
144
|
+
*/
|
|
145
|
+
insert(
|
|
146
|
+
this: Omit<Component & Partial<import('../../editorInjector').default>, 'component'>,
|
|
147
|
+
element: Node,
|
|
148
|
+
{
|
|
149
|
+
skipCharCount,
|
|
150
|
+
skipSelection,
|
|
151
|
+
skipHistory
|
|
152
|
+
}?: {
|
|
153
|
+
skipCharCount?: boolean;
|
|
154
|
+
skipSelection?: boolean;
|
|
155
|
+
skipHistory?: boolean;
|
|
156
|
+
}
|
|
157
|
+
): HTMLElement;
|
|
158
|
+
/**
|
|
159
|
+
* @this {ComponentThis}
|
|
160
|
+
* @description Gets the file component and that plugin name
|
|
161
|
+
* - return: {target, component, pluginName} | null
|
|
162
|
+
* @param {Node} element Target element (figure tag, component div, file tag)
|
|
163
|
+
* @returns {ComponentInfo|null}
|
|
164
|
+
*/
|
|
165
|
+
get(this: Omit<Component & Partial<import('../../editorInjector').default>, 'component'>, element: Node): ComponentInfo | null;
|
|
166
|
+
/**
|
|
167
|
+
* @this {ComponentThis}
|
|
168
|
+
* @description The component(media, file component, table, etc) is selected and the resizing module is called.
|
|
169
|
+
* @param {Node} element Target element
|
|
170
|
+
* @param {string} pluginName The plugin name for the selected target.
|
|
171
|
+
* @param {boolean=} isInput Whether the target is an input component.(table)
|
|
172
|
+
*/
|
|
173
|
+
select(this: Omit<Component & Partial<import('../../editorInjector').default>, 'component'>, element: Node, pluginName: string, isInput?: boolean | undefined): boolean;
|
|
174
|
+
/**
|
|
175
|
+
* @this {ComponentThis}
|
|
176
|
+
* @description Deselects the selected component.
|
|
177
|
+
*/
|
|
178
|
+
deselect(this: Omit<Component & Partial<import('../../editorInjector').default>, 'component'>): void;
|
|
179
|
+
/**
|
|
180
|
+
* @this {ComponentThis}
|
|
181
|
+
* @description Determines if the specified node is a block component (e.g., img, iframe, video, audio, table) with the class "se-component"
|
|
182
|
+
* - or a direct FIGURE node. This function checks if the node itself is a component
|
|
183
|
+
* - or if it belongs to any components identified by the component manager.
|
|
184
|
+
* @param {Node} element The DOM node to check.
|
|
185
|
+
* @returns {boolean} True if the node is a block component or part of it, otherwise false.
|
|
186
|
+
*/
|
|
187
|
+
is(this: Omit<Component & Partial<import('../../editorInjector').default>, 'component'>, element: Node): boolean;
|
|
188
|
+
/**
|
|
189
|
+
* @this {ComponentThis}
|
|
190
|
+
* @description Checks if the given node is an inline component (class "se-inline-component").
|
|
191
|
+
* - If the node is a FIGURE, it checks the parent element instead.
|
|
192
|
+
* - It also verifies whether the node is part of an inline component recognized by the component manager.
|
|
193
|
+
* @param {Node} element The DOM node to check.
|
|
194
|
+
* @returns {boolean} True if the node is an inline component or part of it, otherwise false.
|
|
195
|
+
*/
|
|
196
|
+
isInline(this: Omit<Component & Partial<import('../../editorInjector').default>, 'component'>, element: Node): boolean;
|
|
197
|
+
/**
|
|
198
|
+
* @this {ComponentThis}
|
|
199
|
+
* @description Checks if the specified node qualifies as a basic component within the editor.
|
|
200
|
+
* - This function verifies whether the node is recognized as a component by the `is` function, while also ensuring that it is not an inline component as determined by the `isInline` function.
|
|
201
|
+
* - This is used to identify block-level elements or standalone components that are not part of the inline component classification.
|
|
202
|
+
* @param {Node} element The DOM node to check.
|
|
203
|
+
* @returns {boolean} True if the node is a basic (non-inline) component, otherwise false.
|
|
204
|
+
*/
|
|
205
|
+
isBasic(this: Omit<Component & Partial<import('../../editorInjector').default>, 'component'>, element: Node): boolean;
|
|
206
|
+
/**
|
|
207
|
+
* @private
|
|
208
|
+
* @this {ComponentThis}
|
|
209
|
+
* @description Checks if the given element is a file component by matching its tag name against the file manager's regular expressions.
|
|
210
|
+
* - It also verifies whether the element has the required attributes based on the tag type.
|
|
211
|
+
* @param {Node} element The element to check.
|
|
212
|
+
* @returns {boolean} Returns true if the element is a file component, otherwise false.
|
|
213
|
+
*/
|
|
214
|
+
__isFiles(this: Omit<Component & Partial<import('../../editorInjector').default>, 'component'>, element: Node): boolean;
|
|
215
|
+
/**
|
|
216
|
+
* @private
|
|
217
|
+
* @this {ComponentThis}
|
|
218
|
+
* @description Deselects the currently selected component, removing any selection effects and associated event listeners.
|
|
219
|
+
* - This method resets the selection state and hides UI elements related to the component selection.
|
|
220
|
+
*/
|
|
221
|
+
__deselect(this: Omit<Component & Partial<import('../../editorInjector').default>, 'component'>): void;
|
|
222
|
+
/**
|
|
223
|
+
* @private
|
|
224
|
+
* @this {ComponentThis}
|
|
225
|
+
* @description Set line breaker of component
|
|
226
|
+
* @param {HTMLElement} element Element tag
|
|
227
|
+
*/
|
|
228
|
+
_setComponentLineBreaker(this: Omit<Component & Partial<import('../../editorInjector').default>, 'component'>, element: HTMLElement): void;
|
|
229
|
+
/**
|
|
230
|
+
* @private
|
|
231
|
+
* @this {ComponentThis}
|
|
232
|
+
* @description Adds global event listeners for component interactions such as copy, cut, and keydown events.
|
|
233
|
+
*/
|
|
234
|
+
__addGlobalEvent(this: Omit<Component & Partial<import('../../editorInjector').default>, 'component'>): void;
|
|
235
|
+
/**
|
|
236
|
+
* @private
|
|
237
|
+
* @this {ComponentThis}
|
|
238
|
+
* @description Removes global event listeners that were previously added for component interactions.
|
|
239
|
+
*/
|
|
240
|
+
__removeGlobalEvent(this: Omit<Component & Partial<import('../../editorInjector').default>, 'component'>): void;
|
|
241
|
+
/**
|
|
242
|
+
* @private
|
|
243
|
+
* @this {ComponentThis}
|
|
244
|
+
* @description Adds global event listeners for non-file-related interactions such as mouse and touch events.
|
|
245
|
+
*/
|
|
246
|
+
__addNotFileGlobalEvent(this: Omit<Component & Partial<import('../../editorInjector').default>, 'component'>): void;
|
|
247
|
+
/**
|
|
248
|
+
* @private
|
|
249
|
+
* @this {ComponentThis}
|
|
250
|
+
* @description Removes global event listeners related to non-file interactions.
|
|
251
|
+
*/
|
|
252
|
+
__removeNotFileGlobalEvent(this: Omit<Component & Partial<import('../../editorInjector').default>, 'component'>): void;
|
|
253
|
+
/**
|
|
254
|
+
* @private
|
|
255
|
+
* @this {ComponentThis}
|
|
256
|
+
* @description Removes drag-related events and resets drag-related states.
|
|
257
|
+
*/
|
|
258
|
+
_removeDragEvent(this: Omit<Component & Partial<import('../../editorInjector').default>, 'component'>): void;
|
|
259
|
+
}
|