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,246 @@
|
|
|
1
|
+
export default Drawing;
|
|
2
|
+
export type DrawingPluginOptions = {
|
|
3
|
+
/**
|
|
4
|
+
* - The output format of the drawing. Options: "dataurl", "svg".
|
|
5
|
+
*/
|
|
6
|
+
outputFormat?: string;
|
|
7
|
+
/**
|
|
8
|
+
* - Whether to enable format type selection (block vs inline).
|
|
9
|
+
*/
|
|
10
|
+
useFormatType?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* - The default format type, either "block" or "inline".
|
|
13
|
+
*/
|
|
14
|
+
defaultFormatType?: string;
|
|
15
|
+
/**
|
|
16
|
+
* - Whether to maintain the chosen format type after drawing.
|
|
17
|
+
*/
|
|
18
|
+
keepFormatType?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* - The width of the drawing line.
|
|
21
|
+
*/
|
|
22
|
+
lineWidth?: number;
|
|
23
|
+
/**
|
|
24
|
+
* - Whether to reconnect lines when drawing.
|
|
25
|
+
*/
|
|
26
|
+
lineReconnect?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* - The style of the line cap ("butt", "round", or "square").
|
|
29
|
+
*/
|
|
30
|
+
lineCap?: CanvasLineCap;
|
|
31
|
+
/**
|
|
32
|
+
* - The color of the drawing line.
|
|
33
|
+
*/
|
|
34
|
+
lineColor?: string;
|
|
35
|
+
/**
|
|
36
|
+
* - Whether the modal form can be resized.
|
|
37
|
+
*/
|
|
38
|
+
canResize?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* - Whether to maintain the aspect ratio when resizing.
|
|
41
|
+
*/
|
|
42
|
+
maintainRatio?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* - The size configuration for the drawing modal form.
|
|
45
|
+
*/
|
|
46
|
+
formSize?: {
|
|
47
|
+
width?: string;
|
|
48
|
+
height?: string;
|
|
49
|
+
maxWidth?: string;
|
|
50
|
+
maxHeight?: string;
|
|
51
|
+
minWidth?: string;
|
|
52
|
+
minHeight?: string;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* @typedef {Object} DrawingPluginOptions
|
|
57
|
+
* @property {string} [outputFormat="dataurl"] - The output format of the drawing. Options: "dataurl", "svg".
|
|
58
|
+
* @property {boolean} [useFormatType=false] - Whether to enable format type selection (block vs inline).
|
|
59
|
+
* @property {string} [defaultFormatType="block"] - The default format type, either "block" or "inline".
|
|
60
|
+
* @property {boolean} [keepFormatType=false] - Whether to maintain the chosen format type after drawing.
|
|
61
|
+
* @property {number} [lineWidth=5] - The width of the drawing line.
|
|
62
|
+
* @property {boolean} [lineReconnect=false] - Whether to reconnect lines when drawing.
|
|
63
|
+
* @property {CanvasLineCap} [lineCap="round"] - The style of the line cap ("butt", "round", or "square").
|
|
64
|
+
* @property {string} [lineColor=""] - The color of the drawing line.
|
|
65
|
+
* @property {boolean} [canResize=true] - Whether the modal form can be resized.
|
|
66
|
+
* @property {boolean} [maintainRatio=true] - Whether to maintain the aspect ratio when resizing.
|
|
67
|
+
* @property {Object} [formSize={}] - The size configuration for the drawing modal form.
|
|
68
|
+
* @property {string} [formSize.width="750px"] - The width of the modal form.
|
|
69
|
+
* @property {string} [formSize.height="50vh"] - The height of the modal form.
|
|
70
|
+
* @property {string} [formSize.maxWidth=""] - The maximum width of the modal form.
|
|
71
|
+
* @property {string} [formSize.maxHeight=""] - The maximum height of the modal form.
|
|
72
|
+
* @property {string} [formSize.minWidth="150px"] - The minimum width of the modal form.
|
|
73
|
+
* @property {string} [formSize.minHeight="100px"] - The minimum height of the modal form.
|
|
74
|
+
*/
|
|
75
|
+
/**
|
|
76
|
+
* @class
|
|
77
|
+
* @description Drawing modal plugin.
|
|
78
|
+
*/
|
|
79
|
+
declare class Drawing extends EditorInjector {
|
|
80
|
+
static key: string;
|
|
81
|
+
static type: string;
|
|
82
|
+
static className: string;
|
|
83
|
+
/**
|
|
84
|
+
* @constructor
|
|
85
|
+
* @param {__se__EditorCore} editor - The root editor instance
|
|
86
|
+
* @param {DrawingPluginOptions} pluginOptions
|
|
87
|
+
*/
|
|
88
|
+
constructor(editor: __se__EditorCore, pluginOptions: DrawingPluginOptions);
|
|
89
|
+
title: any;
|
|
90
|
+
icon: string;
|
|
91
|
+
pluginOptions: {
|
|
92
|
+
outputFormat: string;
|
|
93
|
+
useFormatType: boolean;
|
|
94
|
+
defaultFormatType: string;
|
|
95
|
+
keepFormatType: boolean;
|
|
96
|
+
lineWidth: number;
|
|
97
|
+
lineReconnect: boolean;
|
|
98
|
+
lineCap: CanvasLineCap;
|
|
99
|
+
lineColor: string;
|
|
100
|
+
formSize: {
|
|
101
|
+
/**
|
|
102
|
+
* - The width of the modal form.
|
|
103
|
+
*/
|
|
104
|
+
width: string;
|
|
105
|
+
/**
|
|
106
|
+
* - The height of the modal form.
|
|
107
|
+
*/
|
|
108
|
+
height: string;
|
|
109
|
+
/**
|
|
110
|
+
* - The maximum width of the modal form.
|
|
111
|
+
*/
|
|
112
|
+
maxWidth: string;
|
|
113
|
+
/**
|
|
114
|
+
* - The maximum height of the modal form.
|
|
115
|
+
*/
|
|
116
|
+
maxHeight: string;
|
|
117
|
+
/**
|
|
118
|
+
* - The minimum width of the modal form.
|
|
119
|
+
*/
|
|
120
|
+
minWidth: string;
|
|
121
|
+
/**
|
|
122
|
+
* - The minimum height of the modal form.
|
|
123
|
+
*/
|
|
124
|
+
minHeight: string;
|
|
125
|
+
};
|
|
126
|
+
canResize: boolean;
|
|
127
|
+
maintainRatio: boolean;
|
|
128
|
+
};
|
|
129
|
+
modal: Modal;
|
|
130
|
+
as: string;
|
|
131
|
+
asBlock: Element;
|
|
132
|
+
asInline: Element;
|
|
133
|
+
/**
|
|
134
|
+
* @type {HTMLCanvasElement}
|
|
135
|
+
*/
|
|
136
|
+
canvas: HTMLCanvasElement;
|
|
137
|
+
ctx: CanvasRenderingContext2D;
|
|
138
|
+
isDrawing: boolean;
|
|
139
|
+
points: any[];
|
|
140
|
+
paths: any[];
|
|
141
|
+
resizeObserver: ResizeObserver;
|
|
142
|
+
__events: {
|
|
143
|
+
mousedown: any;
|
|
144
|
+
mousemove: any;
|
|
145
|
+
mouseup: any;
|
|
146
|
+
mouseleave: any;
|
|
147
|
+
mouseenter: any;
|
|
148
|
+
};
|
|
149
|
+
__eventsRegister: {
|
|
150
|
+
mousedown: any;
|
|
151
|
+
mousemove: any;
|
|
152
|
+
mouseup: any;
|
|
153
|
+
mouseleave: any;
|
|
154
|
+
mouseenter: any;
|
|
155
|
+
};
|
|
156
|
+
__eventNameMap: {
|
|
157
|
+
mousedown: string;
|
|
158
|
+
mousemove: string;
|
|
159
|
+
mouseup: string;
|
|
160
|
+
mouseleave: string;
|
|
161
|
+
mouseenter: string;
|
|
162
|
+
};
|
|
163
|
+
/**
|
|
164
|
+
* @editorMethod Modules.Modal
|
|
165
|
+
* @description Executes the method that is called when a "Modal" module's is opened.
|
|
166
|
+
*/
|
|
167
|
+
open(): void;
|
|
168
|
+
/**
|
|
169
|
+
* @editorMethod Modules.Modal
|
|
170
|
+
* @description Executes the method that is called when a plugin's "modal" is closed.
|
|
171
|
+
*/
|
|
172
|
+
off(): void;
|
|
173
|
+
/**
|
|
174
|
+
* @editorMethod Modules.Modal
|
|
175
|
+
* @description This function is called when a form within a modal window is "submit".
|
|
176
|
+
* @returns {boolean} Success or failure
|
|
177
|
+
*/
|
|
178
|
+
modalAction(): boolean;
|
|
179
|
+
/**
|
|
180
|
+
* @private
|
|
181
|
+
* @description Initializes the drawing canvas, sets up event listeners, and configures resize handling.
|
|
182
|
+
*/
|
|
183
|
+
private _initDrawing;
|
|
184
|
+
/**
|
|
185
|
+
* @private
|
|
186
|
+
* @description Destroys the drawing canvas, removes event listeners, and clears stored drawing data.
|
|
187
|
+
*/
|
|
188
|
+
private _destroyDrawing;
|
|
189
|
+
/**
|
|
190
|
+
* @private
|
|
191
|
+
* @description Configures the drawing context (canvas settings like line width, color, etc.).
|
|
192
|
+
*/
|
|
193
|
+
private _setCtx;
|
|
194
|
+
/**
|
|
195
|
+
* @private
|
|
196
|
+
* @description Draws the current stroke based on collected points.
|
|
197
|
+
*/
|
|
198
|
+
private _draw;
|
|
199
|
+
/**
|
|
200
|
+
* @private
|
|
201
|
+
* @description Redraws all stored paths onto the canvas.
|
|
202
|
+
*/
|
|
203
|
+
private _drawAll;
|
|
204
|
+
/**
|
|
205
|
+
* @private
|
|
206
|
+
* @description Adjusts all stored paths to fit new canvas dimensions after a resize event.
|
|
207
|
+
* @param {number} prevWidth - The previous width of the canvas.
|
|
208
|
+
* @param {number} prevHeight - The previous height of the canvas.
|
|
209
|
+
* @param {number} newWidth - The new width of the canvas.
|
|
210
|
+
* @param {number} newHeight - The new height of the canvas.
|
|
211
|
+
*/
|
|
212
|
+
private _adjustPathsToNewDimensions;
|
|
213
|
+
/**
|
|
214
|
+
* @private
|
|
215
|
+
* @description Clears the canvas and resets stored drawing paths.
|
|
216
|
+
*/
|
|
217
|
+
private _clearCanvas;
|
|
218
|
+
/**
|
|
219
|
+
* @private
|
|
220
|
+
* @description Generates an SVG representation of the drawn content.
|
|
221
|
+
* @returns {*} The generated SVG element.
|
|
222
|
+
*/
|
|
223
|
+
private _getSVG;
|
|
224
|
+
/**
|
|
225
|
+
* @private
|
|
226
|
+
* @description Converts the SVG element into a downloadable file.
|
|
227
|
+
* @returns {FileList} A FileList containing the generated SVG file.
|
|
228
|
+
*/
|
|
229
|
+
private _getSVGFileList;
|
|
230
|
+
/**
|
|
231
|
+
* @private
|
|
232
|
+
* @description Retrieves touch coordinates relative to the canvas.
|
|
233
|
+
* @param {TouchEvent} e - The touch event.
|
|
234
|
+
* @returns {{x: number, y: number}} An object containing the x and y coordinates.
|
|
235
|
+
*/
|
|
236
|
+
private _getCanvasTouchPointer;
|
|
237
|
+
/**
|
|
238
|
+
* @private
|
|
239
|
+
* @description Activates either block or inline format mode for inserted drawings.
|
|
240
|
+
* @param {boolean} isInline - Whether the drawing should be inserted as an inline element.
|
|
241
|
+
*/
|
|
242
|
+
private _activeAsInline;
|
|
243
|
+
#private;
|
|
244
|
+
}
|
|
245
|
+
import EditorInjector from '../../editorInjector';
|
|
246
|
+
import { Modal } from '../../modules';
|
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
export default Embed;
|
|
2
|
+
export type ProcessInfo = import('../../core/base/events').ProcessInfo;
|
|
3
|
+
export type FigureControls = import('../../modules/Figure').FigureControls;
|
|
4
|
+
export type EmbedPluginOptions = {
|
|
5
|
+
/**
|
|
6
|
+
* - Whether the embed element can be resized.
|
|
7
|
+
*/
|
|
8
|
+
canResize?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* - Whether to display the height input field.
|
|
11
|
+
*/
|
|
12
|
+
showHeightInput?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* - The default width of the embed element (numeric value or with unit).
|
|
15
|
+
*/
|
|
16
|
+
defaultWidth?: string;
|
|
17
|
+
/**
|
|
18
|
+
* - The default height of the embed element (numeric value or with unit).
|
|
19
|
+
*/
|
|
20
|
+
defaultHeight?: string;
|
|
21
|
+
/**
|
|
22
|
+
* - Whether to allow only percentage-based sizing.
|
|
23
|
+
*/
|
|
24
|
+
percentageOnlySize?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* - The URL for file uploads.
|
|
27
|
+
*/
|
|
28
|
+
uploadUrl?: string;
|
|
29
|
+
/**
|
|
30
|
+
* - Headers to include in file upload requests.
|
|
31
|
+
*/
|
|
32
|
+
uploadHeaders?: {
|
|
33
|
+
[x: string]: string;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* - The total file upload size limit in bytes.
|
|
37
|
+
*/
|
|
38
|
+
uploadSizeLimit?: number;
|
|
39
|
+
/**
|
|
40
|
+
* - The single file upload size limit in bytes.
|
|
41
|
+
*/
|
|
42
|
+
uploadSingleSizeLimit?: number;
|
|
43
|
+
/**
|
|
44
|
+
* - Additional attributes to set on the iframe tag.
|
|
45
|
+
*/
|
|
46
|
+
iframeTagAttributes?: {
|
|
47
|
+
[x: string]: string;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* - YouTube query parameter.
|
|
51
|
+
*/
|
|
52
|
+
query_youtube?: string;
|
|
53
|
+
/**
|
|
54
|
+
* - Vimeo query parameter.
|
|
55
|
+
*/
|
|
56
|
+
query_vimeo?: string;
|
|
57
|
+
/**
|
|
58
|
+
* - Additional URL patterns for embed.
|
|
59
|
+
*/
|
|
60
|
+
urlPatterns?: Array<RegExp>;
|
|
61
|
+
/**
|
|
62
|
+
* - Custom query objects for additional embedding services.
|
|
63
|
+
* Example :
|
|
64
|
+
* {
|
|
65
|
+
* facebook: {
|
|
66
|
+
* pattern: /(?:https?:\/\/)?(?:www\.)?(?:facebook\.com)\/(.+)/i,
|
|
67
|
+
* action: (url) => {
|
|
68
|
+
* return `https://www.facebook.com/plugins/post.php?href=${encodeURIComponent(url)}&show_text=true&width=500`;
|
|
69
|
+
* },
|
|
70
|
+
* tag: 'iframe'
|
|
71
|
+
* },
|
|
72
|
+
* twitter: {
|
|
73
|
+
* pattern: /(?:https?:\/\/)?(?:www\.)?(?:twitter\.com)\/(status|embed)\/(.+)/i,
|
|
74
|
+
* action: (url) => {
|
|
75
|
+
* return `https://platform.twitter.com/embed/Tweet.html?url=${encodeURIComponent(url)}`;
|
|
76
|
+
* },
|
|
77
|
+
* tag: 'iframe'
|
|
78
|
+
* },
|
|
79
|
+
* // Additional services...
|
|
80
|
+
* }
|
|
81
|
+
*/
|
|
82
|
+
embedQuery?: {
|
|
83
|
+
[x: string]: {
|
|
84
|
+
pattern: RegExp;
|
|
85
|
+
action: (url: string) => string;
|
|
86
|
+
tag: string;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* - Figure controls.
|
|
91
|
+
*/
|
|
92
|
+
controls?: FigureControls;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* @typedef {import('../../core/base/events').ProcessInfo} ProcessInfo
|
|
96
|
+
*/
|
|
97
|
+
/**
|
|
98
|
+
* @typedef {import('../../modules/Figure').FigureControls} FigureControls
|
|
99
|
+
*/
|
|
100
|
+
/**
|
|
101
|
+
* @typedef {Object} EmbedPluginOptions
|
|
102
|
+
* @property {boolean} [canResize=true] - Whether the embed element can be resized.
|
|
103
|
+
* @property {boolean} [showHeightInput=true] - Whether to display the height input field.
|
|
104
|
+
* @property {string} [defaultWidth] - The default width of the embed element (numeric value or with unit).
|
|
105
|
+
* @property {string} [defaultHeight] - The default height of the embed element (numeric value or with unit).
|
|
106
|
+
* @property {boolean} [percentageOnlySize=false] - Whether to allow only percentage-based sizing.
|
|
107
|
+
* @property {string} [uploadUrl] - The URL for file uploads.
|
|
108
|
+
* @property {Object<string, string>} [uploadHeaders] - Headers to include in file upload requests.
|
|
109
|
+
* @property {number} [uploadSizeLimit] - The total file upload size limit in bytes.
|
|
110
|
+
* @property {number} [uploadSingleSizeLimit] - The single file upload size limit in bytes.
|
|
111
|
+
* @property {Object<string, string>} [iframeTagAttributes] - Additional attributes to set on the iframe tag.
|
|
112
|
+
* @property {string} [query_youtube] - YouTube query parameter.
|
|
113
|
+
* @property {string} [query_vimeo] - Vimeo query parameter.
|
|
114
|
+
* @property {Array<RegExp>} [urlPatterns] - Additional URL patterns for embed.
|
|
115
|
+
* @property {Object<string, {pattern: RegExp, action: (url: string) => string, tag: string}>} [embedQuery] - Custom query objects for additional embedding services.
|
|
116
|
+
* Example :
|
|
117
|
+
* {
|
|
118
|
+
* facebook: {
|
|
119
|
+
* pattern: /(?:https?:\/\/)?(?:www\.)?(?:facebook\.com)\/(.+)/i,
|
|
120
|
+
* action: (url) => {
|
|
121
|
+
* return `https://www.facebook.com/plugins/post.php?href=${encodeURIComponent(url)}&show_text=true&width=500`;
|
|
122
|
+
* },
|
|
123
|
+
* tag: 'iframe'
|
|
124
|
+
* },
|
|
125
|
+
* twitter: {
|
|
126
|
+
* pattern: /(?:https?:\/\/)?(?:www\.)?(?:twitter\.com)\/(status|embed)\/(.+)/i,
|
|
127
|
+
* action: (url) => {
|
|
128
|
+
* return `https://platform.twitter.com/embed/Tweet.html?url=${encodeURIComponent(url)}`;
|
|
129
|
+
* },
|
|
130
|
+
* tag: 'iframe'
|
|
131
|
+
* },
|
|
132
|
+
* // Additional services...
|
|
133
|
+
* }
|
|
134
|
+
* @property {FigureControls} [controls] - Figure controls.
|
|
135
|
+
*/
|
|
136
|
+
/**
|
|
137
|
+
* @class
|
|
138
|
+
* @description Embed modal plugin.
|
|
139
|
+
* - This plugin provides a modal interface for embedding external content (e.g., videos, iframes) into the editor.
|
|
140
|
+
*/
|
|
141
|
+
declare class Embed extends EditorInjector {
|
|
142
|
+
static key: string;
|
|
143
|
+
static type: string;
|
|
144
|
+
static className: string;
|
|
145
|
+
/**
|
|
146
|
+
* @this {Embed}
|
|
147
|
+
* @param {HTMLElement} node - The node to check.
|
|
148
|
+
* @returns {HTMLElement|null} Returns a node if the node is a valid component.
|
|
149
|
+
*/
|
|
150
|
+
static component(this: Embed, node: HTMLElement): HTMLElement | null;
|
|
151
|
+
/**
|
|
152
|
+
* @constructor
|
|
153
|
+
* @param {__se__EditorCore} editor - The root editor instance
|
|
154
|
+
* @param {EmbedPluginOptions} pluginOptions
|
|
155
|
+
*/
|
|
156
|
+
constructor(editor: __se__EditorCore, pluginOptions: EmbedPluginOptions);
|
|
157
|
+
title: any;
|
|
158
|
+
icon: string;
|
|
159
|
+
pluginOptions: {
|
|
160
|
+
canResize: boolean;
|
|
161
|
+
showHeightInput: boolean;
|
|
162
|
+
defaultWidth: string;
|
|
163
|
+
defaultHeight: string;
|
|
164
|
+
percentageOnlySize: boolean;
|
|
165
|
+
uploadUrl: string;
|
|
166
|
+
uploadHeaders: {
|
|
167
|
+
[x: string]: string;
|
|
168
|
+
};
|
|
169
|
+
uploadSizeLimit: number;
|
|
170
|
+
uploadSingleSizeLimit: number;
|
|
171
|
+
iframeTagAttributes: {
|
|
172
|
+
[x: string]: string;
|
|
173
|
+
};
|
|
174
|
+
query_youtube: string;
|
|
175
|
+
query_vimeo: string;
|
|
176
|
+
};
|
|
177
|
+
modal: Modal;
|
|
178
|
+
figure: Figure;
|
|
179
|
+
fileModalWrapper: HTMLElement;
|
|
180
|
+
embedInput: HTMLInputElement;
|
|
181
|
+
focusElement: HTMLInputElement;
|
|
182
|
+
previewSrc: HTMLElement;
|
|
183
|
+
_linkValue: string;
|
|
184
|
+
_align: string;
|
|
185
|
+
_defaultSizeX: string;
|
|
186
|
+
_defaultSizeY: string;
|
|
187
|
+
sizeUnit: string;
|
|
188
|
+
proportion: HTMLInputElement;
|
|
189
|
+
inputX: HTMLInputElement;
|
|
190
|
+
inputY: HTMLInputElement;
|
|
191
|
+
_element: any;
|
|
192
|
+
_cover: HTMLElement;
|
|
193
|
+
_container: any;
|
|
194
|
+
_ratio: {
|
|
195
|
+
w: number;
|
|
196
|
+
h: number;
|
|
197
|
+
};
|
|
198
|
+
_origin_w: string;
|
|
199
|
+
_origin_h: string;
|
|
200
|
+
_resizing: boolean;
|
|
201
|
+
_onlyPercentage: boolean;
|
|
202
|
+
_nonResizing: boolean;
|
|
203
|
+
query: {
|
|
204
|
+
facebook: {
|
|
205
|
+
pattern: RegExp;
|
|
206
|
+
action: (url: any) => string;
|
|
207
|
+
tag: string;
|
|
208
|
+
};
|
|
209
|
+
twitter: {
|
|
210
|
+
pattern: RegExp;
|
|
211
|
+
action: (url: any) => string;
|
|
212
|
+
tag: string;
|
|
213
|
+
};
|
|
214
|
+
instagram: {
|
|
215
|
+
pattern: RegExp;
|
|
216
|
+
action: (url: any) => string;
|
|
217
|
+
tag: string;
|
|
218
|
+
};
|
|
219
|
+
linkedin: {
|
|
220
|
+
pattern: RegExp;
|
|
221
|
+
action: (url: any) => string;
|
|
222
|
+
tag: string;
|
|
223
|
+
};
|
|
224
|
+
pinterest: {
|
|
225
|
+
pattern: RegExp;
|
|
226
|
+
action: (url: any) => string;
|
|
227
|
+
tag: string;
|
|
228
|
+
};
|
|
229
|
+
spotify: {
|
|
230
|
+
pattern: RegExp;
|
|
231
|
+
action: (url: any) => string;
|
|
232
|
+
tag: string;
|
|
233
|
+
};
|
|
234
|
+
codepen: {
|
|
235
|
+
pattern: RegExp;
|
|
236
|
+
action: (url: any) => string;
|
|
237
|
+
tag: string;
|
|
238
|
+
};
|
|
239
|
+
};
|
|
240
|
+
urlPatterns: RegExp[];
|
|
241
|
+
/**
|
|
242
|
+
* @editorMethod Modules.Modal
|
|
243
|
+
* @description Executes the method that is called when a "Modal" module's is opened.
|
|
244
|
+
*/
|
|
245
|
+
open(): void;
|
|
246
|
+
/**
|
|
247
|
+
* @editorMethod Modules.Controller(Figure)
|
|
248
|
+
* @description Executes the method that is called when a target component is edited.
|
|
249
|
+
*/
|
|
250
|
+
edit(): void;
|
|
251
|
+
/**
|
|
252
|
+
* @editorMethod Modules.Modal
|
|
253
|
+
* @description Executes the method that is called when a plugin's modal is opened.
|
|
254
|
+
* @param {boolean} isUpdate "Indicates whether the modal is for editing an existing component (true) or registering a new one (false)."
|
|
255
|
+
*/
|
|
256
|
+
on(isUpdate: boolean): void;
|
|
257
|
+
/**
|
|
258
|
+
* @editorMethod Modules.Modal
|
|
259
|
+
* @description This function is called when a form within a modal window is "submit".
|
|
260
|
+
* @returns {Promise<boolean>} Success / failure
|
|
261
|
+
*/
|
|
262
|
+
modalAction(): Promise<boolean>;
|
|
263
|
+
/**
|
|
264
|
+
* @editorMethod Editor.core
|
|
265
|
+
* @description This method is used to validate and preserve the format of the component within the editor.
|
|
266
|
+
* - It ensures that the structure and attributes of the element are maintained and secure.
|
|
267
|
+
* - The method checks if the element is already wrapped in a valid container and updates its attributes if necessary.
|
|
268
|
+
* - If the element isn't properly contained, a new container is created to retain the format.
|
|
269
|
+
* @returns {{query: string, method: (element: HTMLIFrameElement) => void}} The format retention object containing the query and method to process the element.
|
|
270
|
+
* - query: The selector query to identify the relevant elements (in this case, 'audio').
|
|
271
|
+
* - method:The function to execute on the element to validate and preserve its format.
|
|
272
|
+
* - The function takes the element as an argument, checks if it is contained correctly, and applies necessary adjustments.
|
|
273
|
+
*/
|
|
274
|
+
retainFormat(): {
|
|
275
|
+
query: string;
|
|
276
|
+
method: (element: HTMLIFrameElement) => void;
|
|
277
|
+
};
|
|
278
|
+
/**
|
|
279
|
+
* @editorMethod Modules.Modal
|
|
280
|
+
* @description This function is called before the modal window is opened, but before it is closed.
|
|
281
|
+
*/
|
|
282
|
+
init(): void;
|
|
283
|
+
/**
|
|
284
|
+
* @editorMethod Editor.Component
|
|
285
|
+
* @description Executes the method that is called when a component of a plugin is selected.
|
|
286
|
+
* @param {HTMLElement} target Target component element
|
|
287
|
+
*/
|
|
288
|
+
select(target: HTMLElement): void;
|
|
289
|
+
/**
|
|
290
|
+
* @private
|
|
291
|
+
* @description Prepares the component for selection.
|
|
292
|
+
* - Ensures that the controller is properly positioned and initialized.
|
|
293
|
+
* - Prevents duplicate event handling if the component is already selected.
|
|
294
|
+
* @param {HTMLElement} target - The selected element.
|
|
295
|
+
*/
|
|
296
|
+
private _ready;
|
|
297
|
+
_caption: HTMLElement;
|
|
298
|
+
/**
|
|
299
|
+
* @editorMethod Editor.Component
|
|
300
|
+
* @description Method to delete a component of a plugin, called by the "FileManager", "Controller" module.
|
|
301
|
+
* @param {HTMLElement} target Target element
|
|
302
|
+
* @returns {Promise<void>}
|
|
303
|
+
*/
|
|
304
|
+
destroy(target: HTMLElement): Promise<void>;
|
|
305
|
+
/**
|
|
306
|
+
* @description Checks if the given URL matches any of the defined URL patterns.
|
|
307
|
+
* @param {string} url - The URL to check.
|
|
308
|
+
* @returns {boolean} True if the URL matches a known pattern; otherwise, false.
|
|
309
|
+
*/
|
|
310
|
+
checkContentType(url: string): boolean;
|
|
311
|
+
/**
|
|
312
|
+
* @description Finds and processes the URL for embedding by matching it against known service patterns.
|
|
313
|
+
* @param {string} url - The original URL.
|
|
314
|
+
* @returns {{origin: string, url: string, tag: string}|null} An object containing the original URL, the processed URL, and the tag type (e.g., 'iframe'),
|
|
315
|
+
* or null if no matching pattern is found.
|
|
316
|
+
*/
|
|
317
|
+
findProcessUrl(url: string): {
|
|
318
|
+
origin: string;
|
|
319
|
+
url: string;
|
|
320
|
+
tag: string;
|
|
321
|
+
} | null;
|
|
322
|
+
/**
|
|
323
|
+
* @description Processes the provided source (URL or embed code) and submits it for embedding.
|
|
324
|
+
* - It parses the input, triggers any necessary events, and creates or updates the embed component.
|
|
325
|
+
* @param {string} [src] - The embed source. If not provided, uses the internally stored link value.
|
|
326
|
+
* @returns {Promise<boolean>} A promise that resolves to true on success or false on failure.
|
|
327
|
+
*/
|
|
328
|
+
submitSRC(src?: string): Promise<boolean>;
|
|
329
|
+
/**
|
|
330
|
+
* @private
|
|
331
|
+
* @description Creates an iframe element for embedding external content.
|
|
332
|
+
* @returns {HTMLIFrameElement} The created iframe element.
|
|
333
|
+
*/
|
|
334
|
+
private _createIframeTag;
|
|
335
|
+
/**
|
|
336
|
+
* @private
|
|
337
|
+
* @description Creates an blockquote element for embedding external content.
|
|
338
|
+
* @returns {HTMLElement} The created iframe element.
|
|
339
|
+
*/
|
|
340
|
+
private _createEmbedTag;
|
|
341
|
+
/**
|
|
342
|
+
* @private
|
|
343
|
+
* @description Creates an embed component (iframe or blockquote) and inserts it into the editor.
|
|
344
|
+
* @param {?ProcessInfo} process - Processed embed information.
|
|
345
|
+
* @param {?string} src - The source URL.
|
|
346
|
+
* @param {?Node[]} children - The embed elements.
|
|
347
|
+
* @param {string} width - The width of the embed component.
|
|
348
|
+
* @param {string} height - The height of the embed component.
|
|
349
|
+
* @param {string} align - The alignment of the embed component.
|
|
350
|
+
* @param {boolean} isUpdate - Whether this is an update to an existing embed component.
|
|
351
|
+
*/
|
|
352
|
+
private _create;
|
|
353
|
+
/**
|
|
354
|
+
* @private
|
|
355
|
+
* @description Updates an existing embed component within the editor.
|
|
356
|
+
* @param {HTMLIFrameElement} oFrame - The existing embed element to be updated.
|
|
357
|
+
*/
|
|
358
|
+
private _update;
|
|
359
|
+
/**
|
|
360
|
+
* @private
|
|
361
|
+
* @description Applies width and height to the embed component.
|
|
362
|
+
* @param {string|number} w - The width to apply.
|
|
363
|
+
* @param {string|number} h - The height to apply.
|
|
364
|
+
*/
|
|
365
|
+
private _applySize;
|
|
366
|
+
/**
|
|
367
|
+
* @private
|
|
368
|
+
* @description Retrieves embed component size and alignment information.
|
|
369
|
+
* @returns {{inputWidth: string, inputHeight: string, align: string, isUpdate: boolean, element: Element}} An object containing
|
|
370
|
+
* - inputWidth : The width of the embed component.
|
|
371
|
+
* - inputHeight : The height of the embed component.
|
|
372
|
+
* - align : The alignment of the embed component.
|
|
373
|
+
* - isUpdate : Whether the component is being updated.
|
|
374
|
+
* - element : The target element.
|
|
375
|
+
*/
|
|
376
|
+
private _getInfo;
|
|
377
|
+
/**
|
|
378
|
+
* @private
|
|
379
|
+
* @description Sets default attributes for an iframe element.
|
|
380
|
+
* @param {HTMLIFrameElement} element - The iframe element to modify.
|
|
381
|
+
*/
|
|
382
|
+
private _setIframeAttrs;
|
|
383
|
+
#private;
|
|
384
|
+
}
|
|
385
|
+
import EditorInjector from '../../editorInjector';
|
|
386
|
+
import { Modal } from '../../modules';
|
|
387
|
+
import { Figure } from '../../modules';
|