suneditor 3.0.0-alpha.9 → 3.0.0-beta.2
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/CONTRIBUTING.md +170 -22
- package/{LICENSE.txt → LICENSE} +9 -9
- package/README.md +168 -30
- package/dist/suneditor.min.css +1 -1
- package/dist/suneditor.min.js +1 -1
- package/package.json +47 -21
- package/src/assets/design/color.css +121 -0
- package/src/assets/design/index.css +3 -0
- package/src/assets/design/size.css +35 -0
- package/src/assets/design/typography.css +37 -0
- package/src/assets/icons/defaultIcons.js +232 -0
- package/src/assets/suneditor-contents.css +181 -46
- package/src/assets/suneditor.css +1403 -650
- package/src/core/base/eventHandlers/handler_toolbar.js +35 -14
- package/src/core/base/eventHandlers/handler_ww_clipboard.js +23 -4
- package/src/core/base/eventHandlers/handler_ww_dragDrop.js +49 -10
- package/src/core/base/eventHandlers/handler_ww_key_input.js +422 -224
- package/src/core/base/eventHandlers/handler_ww_mouse.js +83 -36
- package/src/core/base/eventManager.js +520 -179
- package/src/core/base/history.js +95 -41
- package/src/core/class/char.js +26 -11
- package/src/core/class/component.js +345 -137
- package/src/core/class/format.js +683 -519
- package/src/core/class/html.js +485 -305
- package/src/core/class/menu.js +133 -47
- package/src/core/class/nodeTransform.js +90 -71
- package/src/core/class/offset.js +408 -92
- package/src/core/class/selection.js +216 -106
- package/src/core/class/shortcuts.js +68 -8
- package/src/core/class/toolbar.js +106 -116
- package/src/core/class/ui.js +422 -0
- package/src/core/class/viewer.js +178 -74
- package/src/core/editor.js +496 -389
- package/src/core/section/actives.js +123 -27
- package/src/core/section/constructor.js +615 -206
- 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/events.js +622 -0
- package/src/helper/clipboard.js +59 -0
- package/src/helper/converter.js +202 -26
- package/src/helper/dom/domCheck.js +304 -0
- package/src/helper/dom/domQuery.js +669 -0
- package/src/helper/dom/domUtils.js +557 -0
- package/src/helper/dom/index.js +12 -0
- package/src/helper/env.js +46 -56
- package/src/helper/index.js +10 -4
- package/src/helper/keyCodeMap.js +183 -0
- package/src/helper/numbers.js +12 -8
- package/src/helper/unicode.js +9 -5
- package/src/langs/ckb.js +74 -4
- package/src/langs/cs.js +72 -2
- package/src/langs/da.js +73 -3
- package/src/langs/de.js +73 -4
- package/src/langs/en.js +23 -3
- package/src/langs/es.js +73 -4
- package/src/langs/fa.js +75 -3
- package/src/langs/fr.js +73 -3
- package/src/langs/he.js +73 -4
- package/src/langs/hu.js +230 -0
- package/src/langs/index.js +7 -3
- package/src/langs/it.js +70 -1
- package/src/langs/ja.js +72 -4
- package/src/langs/km.js +230 -0
- package/src/langs/ko.js +22 -2
- package/src/langs/lv.js +74 -5
- package/src/langs/nl.js +73 -4
- package/src/langs/pl.js +73 -4
- package/src/langs/pt_br.js +70 -1
- package/src/langs/ro.js +74 -5
- package/src/langs/ru.js +73 -4
- package/src/langs/se.js +73 -4
- package/src/langs/tr.js +73 -1
- package/src/langs/{ua.js → uk.js} +75 -6
- package/src/langs/ur.js +77 -8
- package/src/langs/zh_cn.js +74 -5
- 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 +273 -142
- package/src/modules/Figure.js +925 -484
- package/src/modules/FileManager.js +121 -69
- package/src/modules/HueSlider.js +113 -61
- package/src/modules/Modal.js +291 -122
- package/src/modules/ModalAnchorEditor.js +383 -234
- 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 +229 -162
- package/src/plugins/command/list_bulleted.js +83 -47
- package/src/plugins/command/list_numbered.js +83 -47
- package/src/plugins/dropdown/align.js +66 -54
- package/src/plugins/dropdown/backgroundColor.js +63 -49
- package/src/plugins/dropdown/font.js +71 -47
- package/src/plugins/dropdown/fontColor.js +63 -48
- package/src/plugins/dropdown/formatBlock.js +70 -33
- package/src/plugins/dropdown/hr.js +92 -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 +2003 -813
- package/src/plugins/dropdown/template.js +38 -26
- package/src/plugins/dropdown/textStyle.js +43 -31
- package/src/plugins/field/mention.js +147 -86
- 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 +358 -173
- package/src/plugins/modal/drawing.js +531 -0
- package/src/plugins/modal/embed.js +886 -0
- package/src/plugins/modal/image.js +674 -362
- package/src/plugins/modal/link.js +100 -71
- package/src/plugins/modal/math.js +367 -167
- package/src/plugins/modal/video.js +691 -335
- package/src/plugins/popup/anchor.js +222 -0
- package/src/suneditor.js +50 -13
- package/src/themes/dark.css +122 -0
- package/src/typedef.js +130 -0
- package/types/assets/icons/defaultIcons.d.ts +153 -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 +385 -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 +212 -0
- package/types/core/class/format.d.ts +616 -0
- package/types/core/class/html.d.ts +422 -0
- package/types/core/class/menu.d.ts +126 -0
- package/types/core/class/nodeTransform.d.ts +93 -0
- package/types/core/class/offset.d.ts +522 -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 +164 -0
- package/types/core/class/viewer.d.ts +140 -0
- package/types/core/editor.d.ts +610 -0
- package/types/core/section/actives.d.ts +46 -0
- package/types/core/section/constructor.d.ts +777 -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/events.d.ts +273 -0
- package/types/helper/clipboard.d.ts +12 -0
- package/types/helper/converter.d.ts +197 -0
- package/types/helper/dom/domCheck.d.ts +189 -0
- package/types/helper/dom/domQuery.d.ts +223 -0
- package/types/helper/dom/domUtils.d.ts +226 -0
- package/types/helper/dom/index.d.ts +9 -0
- package/types/helper/env.d.ts +132 -0
- package/types/helper/index.d.ts +174 -0
- package/types/helper/keyCodeMap.d.ts +110 -0
- package/types/helper/numbers.d.ts +46 -0
- package/types/helper/unicode.d.ts +28 -0
- package/types/index.d.ts +120 -0
- package/{typings/Lang.d.ts → types/langs/_Lang.d.ts} +173 -103
- package/types/langs/ckb.d.ts +3 -0
- package/types/langs/cs.d.ts +3 -0
- package/types/langs/da.d.ts +3 -0
- package/types/langs/de.d.ts +3 -0
- package/types/langs/en.d.ts +3 -0
- package/types/langs/es.d.ts +3 -0
- package/types/langs/fa.d.ts +3 -0
- package/types/langs/fr.d.ts +3 -0
- package/types/langs/he.d.ts +3 -0
- package/types/langs/hu.d.ts +3 -0
- package/types/langs/index.d.ts +54 -0
- package/types/langs/it.d.ts +3 -0
- package/types/langs/ja.d.ts +3 -0
- package/types/langs/km.d.ts +3 -0
- package/types/langs/ko.d.ts +3 -0
- package/types/langs/lv.d.ts +3 -0
- package/types/langs/nl.d.ts +3 -0
- package/types/langs/pl.d.ts +3 -0
- package/types/langs/pt_br.d.ts +3 -0
- package/types/langs/ro.d.ts +3 -0
- package/types/langs/ru.d.ts +3 -0
- package/types/langs/se.d.ts +3 -0
- package/types/langs/tr.d.ts +3 -0
- package/types/langs/uk.d.ts +3 -0
- package/types/langs/ur.d.ts +3 -0
- package/types/langs/zh_cn.d.ts +3 -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 +251 -0
- package/types/modules/Figure.d.ts +517 -0
- package/types/modules/FileManager.d.ts +202 -0
- package/types/modules/HueSlider.d.ts +136 -0
- package/types/modules/Modal.d.ts +111 -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 +46 -0
- package/types/plugins/command/list_numbered.d.ts +46 -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 +54 -0
- package/types/plugins/dropdown/hr.d.ts +71 -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 +627 -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.d.ts +233 -0
- package/.eslintignore +0 -7
- package/.eslintrc.json +0 -64
- package/src/assets/icons/_default.js +0 -194
- package/src/core/base/events.js +0 -320
- 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,136 @@
|
|
|
1
|
+
export default HueSlider;
|
|
2
|
+
export type ControllerParams_hueSlider = import('../modules/Controller').ControllerParams;
|
|
3
|
+
export type HueSliderColor = {
|
|
4
|
+
/**
|
|
5
|
+
* - HEX color
|
|
6
|
+
*/
|
|
7
|
+
hex: string;
|
|
8
|
+
/**
|
|
9
|
+
* - Red color value
|
|
10
|
+
*/
|
|
11
|
+
r: number;
|
|
12
|
+
/**
|
|
13
|
+
* - Green color value
|
|
14
|
+
*/
|
|
15
|
+
g: number;
|
|
16
|
+
/**
|
|
17
|
+
* - Blue color value
|
|
18
|
+
*/
|
|
19
|
+
b: number;
|
|
20
|
+
/**
|
|
21
|
+
* - Hue color value
|
|
22
|
+
*/
|
|
23
|
+
h: number;
|
|
24
|
+
/**
|
|
25
|
+
* - Saturation color value
|
|
26
|
+
*/
|
|
27
|
+
s: number;
|
|
28
|
+
/**
|
|
29
|
+
* - Lightness color value
|
|
30
|
+
*/
|
|
31
|
+
l: number;
|
|
32
|
+
};
|
|
33
|
+
export type HueSliderParams = {
|
|
34
|
+
/**
|
|
35
|
+
* The form element to attach the hue slider.
|
|
36
|
+
*/
|
|
37
|
+
form?: Node;
|
|
38
|
+
/**
|
|
39
|
+
* Whether to create a new form element.
|
|
40
|
+
*/
|
|
41
|
+
isNewForm?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Controller options
|
|
44
|
+
*/
|
|
45
|
+
controllerOptions?: ControllerParams_hueSlider;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* @typedef {import('../modules/Controller').ControllerParams} ControllerParams_hueSlider
|
|
49
|
+
*/
|
|
50
|
+
/**
|
|
51
|
+
* @typedef {Object} HueSliderColor
|
|
52
|
+
* @property {string} hex - HEX color
|
|
53
|
+
* @property {number} r - Red color value
|
|
54
|
+
* @property {number} g - Green color value
|
|
55
|
+
* @property {number} b - Blue color value
|
|
56
|
+
* @property {number} h - Hue color value
|
|
57
|
+
* @property {number} s - Saturation color value
|
|
58
|
+
* @property {number} l - Lightness color value
|
|
59
|
+
*/
|
|
60
|
+
/**
|
|
61
|
+
* @typedef {Object} HueSliderParams
|
|
62
|
+
* @property {Node} [form] The form element to attach the hue slider.
|
|
63
|
+
* @property {boolean} [isNewForm] Whether to create a new form element.
|
|
64
|
+
* @property {ControllerParams_hueSlider} [controllerOptions] Controller options
|
|
65
|
+
*/
|
|
66
|
+
/**
|
|
67
|
+
* @class
|
|
68
|
+
* @description Create a Hue slider. (only create one at a time)
|
|
69
|
+
* - When you call the .attach() method, the hue slider is appended to the form element.
|
|
70
|
+
* It must be called every time it is used.
|
|
71
|
+
*/
|
|
72
|
+
declare class HueSlider {
|
|
73
|
+
/**
|
|
74
|
+
* @constructor
|
|
75
|
+
* @param {*} inst The instance object that called the constructor.
|
|
76
|
+
* @param {HueSliderParams} [params={}] Hue slider options
|
|
77
|
+
* @param {string} [className=""] The class name of the hue slider.
|
|
78
|
+
*/
|
|
79
|
+
constructor(inst: any, params?: HueSliderParams, className?: string);
|
|
80
|
+
editor: any;
|
|
81
|
+
eventManager: any;
|
|
82
|
+
inst: any;
|
|
83
|
+
form: Node;
|
|
84
|
+
ctx: {
|
|
85
|
+
wheelX: number;
|
|
86
|
+
wheelY: number;
|
|
87
|
+
lightness: number;
|
|
88
|
+
wheelPointerX: string;
|
|
89
|
+
wheelPointerY: string;
|
|
90
|
+
gradientPointerX: string;
|
|
91
|
+
color: {
|
|
92
|
+
hex: string;
|
|
93
|
+
r: number;
|
|
94
|
+
g: number;
|
|
95
|
+
b: number;
|
|
96
|
+
h: number;
|
|
97
|
+
s: number;
|
|
98
|
+
l: number;
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
isOpen: boolean;
|
|
102
|
+
controlle: any;
|
|
103
|
+
__globalMouseDown: any;
|
|
104
|
+
__globalMouseMove: any;
|
|
105
|
+
__globalMouseUp: any;
|
|
106
|
+
controller: Controller;
|
|
107
|
+
/**
|
|
108
|
+
* @description Get the current color information.
|
|
109
|
+
* @returns {HueSliderColor} color information
|
|
110
|
+
*/
|
|
111
|
+
get(): HueSliderColor;
|
|
112
|
+
/**
|
|
113
|
+
* @description Open the hue slider.
|
|
114
|
+
* @param {Node} target The element to attach the hue slider.
|
|
115
|
+
*/
|
|
116
|
+
open(target: Node): void;
|
|
117
|
+
/**
|
|
118
|
+
* @description Reset information and close the hue slider.
|
|
119
|
+
*/
|
|
120
|
+
off(): void;
|
|
121
|
+
/**
|
|
122
|
+
* @description Close the hue slider. (include off method)
|
|
123
|
+
* - Call the instance's hueSliderCancelAction method.
|
|
124
|
+
*/
|
|
125
|
+
close(): void;
|
|
126
|
+
/**
|
|
127
|
+
* @description Attach the hue slider to the form element.
|
|
128
|
+
* @param {?Node=} form The element to attach the hue slider.
|
|
129
|
+
*/
|
|
130
|
+
attach(form?: (Node | null) | undefined): void;
|
|
131
|
+
/**
|
|
132
|
+
* @description Initialize the hue slider information.
|
|
133
|
+
*/
|
|
134
|
+
init(): void;
|
|
135
|
+
}
|
|
136
|
+
import Controller from './Controller';
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
export default Modal;
|
|
2
|
+
/**
|
|
3
|
+
* @class
|
|
4
|
+
* @description Modal window module
|
|
5
|
+
*/
|
|
6
|
+
declare class Modal extends CoreInjector {
|
|
7
|
+
/**
|
|
8
|
+
* @description Create a file input tag in the modal window.
|
|
9
|
+
* @param {{icons: __se__EditorCore['icons'], lang: __se__EditorCore['lang']}} param0 - icons and language object
|
|
10
|
+
* @param {{acceptedFormats: string, allowMultiple}} param1 - options
|
|
11
|
+
* - acceptedFormats: "image/*, video/*, audio/*", etc.
|
|
12
|
+
* - allowMultiple: true or false
|
|
13
|
+
* @returns {string} HTML string
|
|
14
|
+
*/
|
|
15
|
+
static CreateFileInput(
|
|
16
|
+
{
|
|
17
|
+
icons,
|
|
18
|
+
lang
|
|
19
|
+
}: {
|
|
20
|
+
icons: __se__EditorCore['icons'];
|
|
21
|
+
lang: __se__EditorCore['lang'];
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
acceptedFormats,
|
|
25
|
+
allowMultiple
|
|
26
|
+
}: {
|
|
27
|
+
acceptedFormats: string;
|
|
28
|
+
allowMultiple: any;
|
|
29
|
+
}
|
|
30
|
+
): string;
|
|
31
|
+
/**
|
|
32
|
+
* @description A function called when the contents of "input" have changed and you want to adjust the style.
|
|
33
|
+
* @param {Element} wrapper - Modal file input wrapper(.se-flex-input-wrapper)
|
|
34
|
+
* @param {FileList|File[]} files - FileList object
|
|
35
|
+
*/
|
|
36
|
+
static OnChangeFile(wrapper: Element, files: FileList | File[]): void;
|
|
37
|
+
/**
|
|
38
|
+
* @description Modal window module
|
|
39
|
+
* @param {* & {editor: __se__EditorCore}} inst The instance object that called the constructor.
|
|
40
|
+
* @param {Element} element Modal element
|
|
41
|
+
*/
|
|
42
|
+
constructor(
|
|
43
|
+
inst: any & {
|
|
44
|
+
editor: __se__EditorCore;
|
|
45
|
+
},
|
|
46
|
+
element: Element
|
|
47
|
+
);
|
|
48
|
+
offset: import('../core/class/offset').default;
|
|
49
|
+
ui: import('../core/class/ui').default;
|
|
50
|
+
inst: any;
|
|
51
|
+
kind: any;
|
|
52
|
+
form: HTMLElement;
|
|
53
|
+
isUpdate: boolean;
|
|
54
|
+
/** @type {HTMLInputElement} */
|
|
55
|
+
focusElement: HTMLInputElement;
|
|
56
|
+
/** @type {HTMLElement} */
|
|
57
|
+
_modalArea: HTMLElement;
|
|
58
|
+
/** @type {HTMLElement} */
|
|
59
|
+
_modalInner: HTMLElement;
|
|
60
|
+
_closeListener: any[];
|
|
61
|
+
_bindClose: any;
|
|
62
|
+
_onClickEvent: any;
|
|
63
|
+
_closeSignal: boolean;
|
|
64
|
+
/** @type {HTMLElement} */
|
|
65
|
+
_resizeBody: HTMLElement;
|
|
66
|
+
_currentHandle: HTMLElement;
|
|
67
|
+
__resizeDir: string;
|
|
68
|
+
__offetTop: number;
|
|
69
|
+
__offetLeft: number;
|
|
70
|
+
__globalEventHandlers: {
|
|
71
|
+
mousemove: any;
|
|
72
|
+
mouseup: any;
|
|
73
|
+
};
|
|
74
|
+
_bindClose_mousemove: any;
|
|
75
|
+
_bindClose_mouseup: any;
|
|
76
|
+
/**
|
|
77
|
+
* @description Open a modal plugin
|
|
78
|
+
* - The plugin's "init" method is called.
|
|
79
|
+
*/
|
|
80
|
+
open(): void;
|
|
81
|
+
/**
|
|
82
|
+
* @description Close a modal plugin
|
|
83
|
+
* - The plugin's "init" and "off" method is called.
|
|
84
|
+
*/
|
|
85
|
+
close(): void;
|
|
86
|
+
/**
|
|
87
|
+
* @private
|
|
88
|
+
* @description Fixes the current controller's display state when the modal is opened or closed.
|
|
89
|
+
* @param {boolean} fixed - Whether to fix or unfix the controller.
|
|
90
|
+
*/
|
|
91
|
+
private _fixCurrentController;
|
|
92
|
+
/**
|
|
93
|
+
* @private
|
|
94
|
+
* @description Saves the current offset position of the modal for resizing calculations.
|
|
95
|
+
* @returns {__se__Class_OffsetGlobalInfo} The offset position of the modal.
|
|
96
|
+
*/
|
|
97
|
+
private _saveOffset;
|
|
98
|
+
/**
|
|
99
|
+
* @private
|
|
100
|
+
* @description Adds global event listeners for resizing the modal.
|
|
101
|
+
* @param {string} dir - The direction in which resizing is occurring.
|
|
102
|
+
*/
|
|
103
|
+
private __addGlobalEvent;
|
|
104
|
+
/**
|
|
105
|
+
* @private
|
|
106
|
+
* @description Removes global event listeners related to modal resizing.
|
|
107
|
+
*/
|
|
108
|
+
private __removeGlobalEvent;
|
|
109
|
+
#private;
|
|
110
|
+
}
|
|
111
|
+
import CoreInjector from '../editorInjector/_core';
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
export default ModalAnchorEditor;
|
|
2
|
+
export type RELAttr = {
|
|
3
|
+
default?: string;
|
|
4
|
+
check_new_window?: string;
|
|
5
|
+
check_bookmark?: string;
|
|
6
|
+
};
|
|
7
|
+
export type ModalAnchorEditorParams = {
|
|
8
|
+
/**
|
|
9
|
+
* - Modal title display.
|
|
10
|
+
*/
|
|
11
|
+
title?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* - Create Text to display input.
|
|
14
|
+
*/
|
|
15
|
+
textToDisplay?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* - Default checked value of the "Open in new window" checkbox.
|
|
18
|
+
*/
|
|
19
|
+
openNewWindow?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* - If true, disables the automatic prefixing of the host URL to the value of the link.
|
|
22
|
+
*/
|
|
23
|
+
noAutoPrefix?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* - The "rel" attribute list of anchor tag.
|
|
26
|
+
*/
|
|
27
|
+
relList?: Array<string>;
|
|
28
|
+
/**
|
|
29
|
+
* - Default "rel" attributes of anchor tag.
|
|
30
|
+
*/
|
|
31
|
+
defaultRel?: RELAttr;
|
|
32
|
+
/**
|
|
33
|
+
* - File upload URL.
|
|
34
|
+
*/
|
|
35
|
+
uploadUrl?: string | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* - File upload headers.
|
|
38
|
+
*/
|
|
39
|
+
uploadHeaders?:
|
|
40
|
+
| {
|
|
41
|
+
[x: string]: string;
|
|
42
|
+
}
|
|
43
|
+
| undefined;
|
|
44
|
+
/**
|
|
45
|
+
* - File upload size limit.
|
|
46
|
+
*/
|
|
47
|
+
uploadSizeLimit?: number | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* - File upload single size limit.
|
|
50
|
+
*/
|
|
51
|
+
uploadSingleSizeLimit?: number | undefined;
|
|
52
|
+
/**
|
|
53
|
+
* - File upload accepted formats.
|
|
54
|
+
*/
|
|
55
|
+
acceptedFormats?: string | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* - If true, enables file upload.
|
|
58
|
+
*/
|
|
59
|
+
enableFileUpload?: boolean | undefined;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* @typedef {{default?: string, check_new_window?: string, check_bookmark?: string}} RELAttr
|
|
63
|
+
*/
|
|
64
|
+
/**
|
|
65
|
+
* @typedef {Object} ModalAnchorEditorParams
|
|
66
|
+
* @property {boolean} [title=false] - Modal title display.
|
|
67
|
+
* @property {boolean} [textToDisplay=''] - Create Text to display input.
|
|
68
|
+
* @property {boolean} [openNewWindow=false] - Default checked value of the "Open in new window" checkbox.
|
|
69
|
+
* @property {boolean} [noAutoPrefix=false] - If true, disables the automatic prefixing of the host URL to the value of the link.
|
|
70
|
+
* @property {Array<string>} [relList=[]] - The "rel" attribute list of anchor tag.
|
|
71
|
+
* @property {RELAttr} [defaultRel={}] - Default "rel" attributes of anchor tag.
|
|
72
|
+
* @property {string=} uploadUrl - File upload URL.
|
|
73
|
+
* @property {Object<string, string>=} uploadHeaders - File upload headers.
|
|
74
|
+
* @property {number=} uploadSizeLimit - File upload size limit.
|
|
75
|
+
* @property {number=} uploadSingleSizeLimit - File upload single size limit.
|
|
76
|
+
* @property {string=} acceptedFormats - File upload accepted formats.
|
|
77
|
+
* @property {boolean=} enableFileUpload - If true, enables file upload.
|
|
78
|
+
* @example "REL" structure
|
|
79
|
+
{
|
|
80
|
+
default: 'nofollow', // Default rel
|
|
81
|
+
check_new_window: 'noreferrer noopener', // When "open new window" is checked
|
|
82
|
+
check_bookmark: 'bookmark' // When "bookmark" is checked
|
|
83
|
+
}
|
|
84
|
+
If true, disables the automatic prefixing of the host URL to the value of the link.
|
|
85
|
+
*/
|
|
86
|
+
/**
|
|
87
|
+
* @class
|
|
88
|
+
* @description Modal form Anchor tag editor
|
|
89
|
+
* - Use it by inserting it into Modal in a plugin that uses Modal.
|
|
90
|
+
*/
|
|
91
|
+
declare class ModalAnchorEditor extends EditorInjector {
|
|
92
|
+
/**
|
|
93
|
+
* @constructor
|
|
94
|
+
* @param {*} inst The instance object that called the constructor.
|
|
95
|
+
* @param {Node} modalForm The modal form element
|
|
96
|
+
* @param {ModalAnchorEditorParams} params ModalAnchorEditor options
|
|
97
|
+
*/
|
|
98
|
+
constructor(inst: any, modalForm: Node, params: ModalAnchorEditorParams);
|
|
99
|
+
openNewWindow: boolean;
|
|
100
|
+
relList: string[];
|
|
101
|
+
defaultRel: RELAttr;
|
|
102
|
+
noAutoPrefix: boolean;
|
|
103
|
+
uploadUrl: string;
|
|
104
|
+
uploadHeaders: {
|
|
105
|
+
[x: string]: string;
|
|
106
|
+
};
|
|
107
|
+
uploadSizeLimit: number;
|
|
108
|
+
uploadSingleSizeLimit: number;
|
|
109
|
+
input: HTMLElement;
|
|
110
|
+
fileManager: FileManager;
|
|
111
|
+
kink: any;
|
|
112
|
+
inst: any;
|
|
113
|
+
modalForm: HTMLElement;
|
|
114
|
+
host: string;
|
|
115
|
+
/** @type {HTMLInputElement} */
|
|
116
|
+
urlInput: HTMLInputElement;
|
|
117
|
+
/** @type {HTMLInputElement} */
|
|
118
|
+
displayInput: HTMLInputElement;
|
|
119
|
+
/** @type {HTMLInputElement} */
|
|
120
|
+
titleInput: HTMLInputElement;
|
|
121
|
+
/** @type {HTMLInputElement} */
|
|
122
|
+
newWindowCheck: HTMLInputElement;
|
|
123
|
+
/** @type {HTMLInputElement} */
|
|
124
|
+
downloadCheck: HTMLInputElement;
|
|
125
|
+
/** @type {HTMLElement} */
|
|
126
|
+
download: HTMLElement;
|
|
127
|
+
/** @type {HTMLElement} */
|
|
128
|
+
preview: HTMLElement;
|
|
129
|
+
/** @type {HTMLElement} */
|
|
130
|
+
bookmark: HTMLElement;
|
|
131
|
+
/** @type {HTMLButtonElement} */
|
|
132
|
+
bookmarkButton: HTMLButtonElement;
|
|
133
|
+
currentRel: any[];
|
|
134
|
+
currentTarget: HTMLAnchorElement;
|
|
135
|
+
linkValue: string;
|
|
136
|
+
_change: boolean;
|
|
137
|
+
_isRel: boolean;
|
|
138
|
+
/** @type {HTMLButtonElement} */
|
|
139
|
+
relButton: HTMLButtonElement;
|
|
140
|
+
/** @type {HTMLElement} */
|
|
141
|
+
relPreview: HTMLElement;
|
|
142
|
+
selectMenu_rel: SelectMenu;
|
|
143
|
+
selectMenu_bookmark: SelectMenu;
|
|
144
|
+
/**
|
|
145
|
+
* @description Initialize.
|
|
146
|
+
* - Sets the current anchor element to be edited.
|
|
147
|
+
* @param {Node} element Modal target element
|
|
148
|
+
*/
|
|
149
|
+
set(element: Node): void;
|
|
150
|
+
/**
|
|
151
|
+
* @description Opens the anchor editor modal and populates it with data.
|
|
152
|
+
* @param {boolean} isUpdate - Indicates whether an existing anchor is being updated (`true`) or a new one is being created (`false`).
|
|
153
|
+
*/
|
|
154
|
+
on(isUpdate: boolean): void;
|
|
155
|
+
/**
|
|
156
|
+
* @description Creates an anchor (`<a>`) element with the specified attributes.
|
|
157
|
+
* @param {boolean} notText - If `true`, the anchor will not contain text content.
|
|
158
|
+
* @returns {HTMLElement|null} - The newly created anchor element, or `null` if the URL is empty.
|
|
159
|
+
*/
|
|
160
|
+
create(notText: boolean): HTMLElement | null;
|
|
161
|
+
/**
|
|
162
|
+
* @description Resets the ModalAnchorEditor to its initial state.
|
|
163
|
+
*/
|
|
164
|
+
init(): void;
|
|
165
|
+
/**
|
|
166
|
+
* @private
|
|
167
|
+
* @description Updates the anchor element with new attributes.
|
|
168
|
+
* @param {HTMLAnchorElement} anchor - The anchor (`<a>`) element to update.
|
|
169
|
+
* @param {string} url - The URL for the anchor's `href` attribute.
|
|
170
|
+
* @param {string} displayText - The text to be displayed inside the anchor.
|
|
171
|
+
* @param {string} title - The tooltip text (title attribute).
|
|
172
|
+
* @param {boolean} notText - If `true`, the anchor will not contain text content.
|
|
173
|
+
*/
|
|
174
|
+
private _updateAnchor;
|
|
175
|
+
/**
|
|
176
|
+
* @private
|
|
177
|
+
* @description Checks if the given path is an internal bookmark.
|
|
178
|
+
* @param {string} path - The URL or anchor link.
|
|
179
|
+
* @returns {boolean} - `true` if the path is an internal bookmark, otherwise `false`.
|
|
180
|
+
*/
|
|
181
|
+
private _selfPathBookmark;
|
|
182
|
+
/**
|
|
183
|
+
* @private
|
|
184
|
+
* @description Updates the `rel` attribute list in the modal and preview.
|
|
185
|
+
* @param {string} relAttr - The `rel` attribute string to set.
|
|
186
|
+
*/
|
|
187
|
+
private _setRel;
|
|
188
|
+
/**
|
|
189
|
+
* @private
|
|
190
|
+
* @description Generates a list of bookmark headers within the editor.
|
|
191
|
+
* @param {string} urlValue - The current URL input value.
|
|
192
|
+
*/
|
|
193
|
+
private _createBookmarkList;
|
|
194
|
+
/**
|
|
195
|
+
* @private
|
|
196
|
+
* @description Updates the preview of the anchor link.
|
|
197
|
+
* @param {string} value - The current URL value.
|
|
198
|
+
*/
|
|
199
|
+
private _setLinkPreview;
|
|
200
|
+
/**
|
|
201
|
+
* @private
|
|
202
|
+
* @description Merges the given `rel` attribute value with the current list.
|
|
203
|
+
* @param {string} relAttr - The `rel` attribute to merge.
|
|
204
|
+
* @returns {string} - The updated `rel` attribute string.
|
|
205
|
+
*/
|
|
206
|
+
private _relMerge;
|
|
207
|
+
/**
|
|
208
|
+
* @private
|
|
209
|
+
* @description Removes the specified `rel` attribute from the current list.
|
|
210
|
+
* @param {string} relAttr - The `rel` attribute to remove.
|
|
211
|
+
* @returns {string} - The updated `rel` attribute string.
|
|
212
|
+
*/
|
|
213
|
+
private _relDelete;
|
|
214
|
+
/**
|
|
215
|
+
* @private
|
|
216
|
+
* @description Registers a newly uploaded file and sets its URL in the modal form.
|
|
217
|
+
* @param {Object<string, *>} response - The response object from the file upload request.
|
|
218
|
+
*/
|
|
219
|
+
private _register;
|
|
220
|
+
/**
|
|
221
|
+
* @private
|
|
222
|
+
* @description Handles file upload errors.
|
|
223
|
+
* @param {Object<string, *>} response - The error response object.
|
|
224
|
+
* @returns {Promise<void>}
|
|
225
|
+
*/
|
|
226
|
+
private _error;
|
|
227
|
+
/**
|
|
228
|
+
* @description Handles the callback after a file upload completes.
|
|
229
|
+
* @param {XMLHttpRequest} xmlHttp - The XMLHttpRequest object containing the response.
|
|
230
|
+
*/
|
|
231
|
+
_uploadCallBack(xmlHttp: XMLHttpRequest): void;
|
|
232
|
+
#private;
|
|
233
|
+
}
|
|
234
|
+
import EditorInjector from '../editorInjector';
|
|
235
|
+
import FileManager from './FileManager';
|
|
236
|
+
import SelectMenu from './SelectMenu';
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
export default SelectMenu;
|
|
2
|
+
export type SelectMenuParams = {
|
|
3
|
+
/**
|
|
4
|
+
* Position of the select menu, specified as "[left|right]-[middle|top|bottom]" or "[top|bottom]-[center|left|right]"
|
|
5
|
+
*/
|
|
6
|
+
position: string;
|
|
7
|
+
/**
|
|
8
|
+
* Flag to determine if the checklist is enabled (true or false)
|
|
9
|
+
*/
|
|
10
|
+
checkList?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Optional text direction: "rtl" for right-to-left, "ltr" for left-to-right
|
|
13
|
+
*/
|
|
14
|
+
dir?: 'rtl' | 'ltr';
|
|
15
|
+
/**
|
|
16
|
+
* Optional split number for horizontal positioning; defines how many items per row
|
|
17
|
+
*/
|
|
18
|
+
splitNum?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Optional method to call when the menu is opened
|
|
21
|
+
*/
|
|
22
|
+
openMethod?: (() => void) | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Optional method to call when the menu is closed
|
|
25
|
+
*/
|
|
26
|
+
closeMethod?: (() => void) | undefined;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* @typedef {Object} SelectMenuParams
|
|
30
|
+
* @property {string} position Position of the select menu, specified as "[left|right]-[middle|top|bottom]" or "[top|bottom]-[center|left|right]"
|
|
31
|
+
* @property {boolean} [checkList=false] Flag to determine if the checklist is enabled (true or false)
|
|
32
|
+
* @property {"rtl" | "ltr"} [dir="ltr"] Optional text direction: "rtl" for right-to-left, "ltr" for left-to-right
|
|
33
|
+
* @property {number} [splitNum=0] Optional split number for horizontal positioning; defines how many items per row
|
|
34
|
+
* @property {() => void=} openMethod Optional method to call when the menu is opened
|
|
35
|
+
* @property {() => void=} closeMethod Optional method to call when the menu is closed
|
|
36
|
+
*/
|
|
37
|
+
/**
|
|
38
|
+
* @class
|
|
39
|
+
* @description Creates a select menu
|
|
40
|
+
*/
|
|
41
|
+
declare class SelectMenu extends CoreInjector {
|
|
42
|
+
/**
|
|
43
|
+
* @constructor
|
|
44
|
+
* @param {*} inst The instance object that called the constructor.
|
|
45
|
+
* @param {SelectMenuParams} params Select menu options
|
|
46
|
+
*/
|
|
47
|
+
constructor(inst: any, params: SelectMenuParams);
|
|
48
|
+
kink: any;
|
|
49
|
+
inst: any;
|
|
50
|
+
form: HTMLElement;
|
|
51
|
+
items: any[];
|
|
52
|
+
/** @type {HTMLLIElement[]} */
|
|
53
|
+
menus: HTMLLIElement[];
|
|
54
|
+
menuLen: number;
|
|
55
|
+
index: number;
|
|
56
|
+
item: any;
|
|
57
|
+
isOpen: boolean;
|
|
58
|
+
checkList: boolean;
|
|
59
|
+
position: string;
|
|
60
|
+
subPosition: string;
|
|
61
|
+
_dirPosition: string;
|
|
62
|
+
_dirSubPosition: string;
|
|
63
|
+
_textDirDiff: boolean;
|
|
64
|
+
splitNum: number;
|
|
65
|
+
horizontal: boolean;
|
|
66
|
+
openMethod: () => void;
|
|
67
|
+
closeMethod: () => void;
|
|
68
|
+
_refer: HTMLElement;
|
|
69
|
+
_keydownTarget: Window | HTMLInputElement;
|
|
70
|
+
_selectMethod: (command: string) => void;
|
|
71
|
+
_bindClose_key: any;
|
|
72
|
+
_bindClose_mousedown: any;
|
|
73
|
+
_bindClose_click: any;
|
|
74
|
+
_closeSignal: boolean;
|
|
75
|
+
__events: {
|
|
76
|
+
mousedown: any;
|
|
77
|
+
mousemove: any;
|
|
78
|
+
click: any;
|
|
79
|
+
keydown: any;
|
|
80
|
+
};
|
|
81
|
+
__eventHandlers: {
|
|
82
|
+
mousedown: any;
|
|
83
|
+
mousemove: any;
|
|
84
|
+
click: any;
|
|
85
|
+
keydown: any;
|
|
86
|
+
};
|
|
87
|
+
__globalEventHandlers: {
|
|
88
|
+
keydown: any;
|
|
89
|
+
mousedown: any;
|
|
90
|
+
click: any;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* @description Creates the select menu items.
|
|
94
|
+
* @param {Array<string>|__se__NodeCollection} items - Command list of selectable items.
|
|
95
|
+
* @param {Array<string>|__se__NodeCollection} [menus] - Optional list of menu display elements; defaults to `items`.
|
|
96
|
+
*/
|
|
97
|
+
create(items: Array<string> | __se__NodeCollection, menus?: Array<string> | __se__NodeCollection): void;
|
|
98
|
+
/**
|
|
99
|
+
* @description Initializes the select menu and attaches it to a reference element.
|
|
100
|
+
* @param {Node} referElement - The element that triggers the select menu.
|
|
101
|
+
* @param {(command: string) => void} selectMethod - The function to execute when an item is selected.
|
|
102
|
+
* @param {{class?: string, style?: string}} [attr={}] - Additional attributes for the select menu container.
|
|
103
|
+
*/
|
|
104
|
+
on(
|
|
105
|
+
referElement: Node,
|
|
106
|
+
selectMethod: (command: string) => void,
|
|
107
|
+
attr?: {
|
|
108
|
+
class?: string;
|
|
109
|
+
style?: string;
|
|
110
|
+
}
|
|
111
|
+
): void;
|
|
112
|
+
/**
|
|
113
|
+
* @description Select menu open
|
|
114
|
+
* @param {?string=} position "[left|right]-[middle|top|bottom] | [top|bottom]-[center|left|right]"
|
|
115
|
+
* @param {?string=} onItemQuerySelector The querySelector string of the menu to be activated
|
|
116
|
+
*/
|
|
117
|
+
open(position?: (string | null) | undefined, onItemQuerySelector?: (string | null) | undefined): void;
|
|
118
|
+
/**
|
|
119
|
+
* @description Select menu close
|
|
120
|
+
*/
|
|
121
|
+
close(): void;
|
|
122
|
+
/**
|
|
123
|
+
* @description Get the index of the selected item
|
|
124
|
+
* @param {number} index Item index
|
|
125
|
+
* @returns
|
|
126
|
+
*/
|
|
127
|
+
getItem(index: number): any;
|
|
128
|
+
/**
|
|
129
|
+
* @description Set the index of the selected item
|
|
130
|
+
* @param {number} index Item index
|
|
131
|
+
*/
|
|
132
|
+
setItem(index: number): void;
|
|
133
|
+
/**
|
|
134
|
+
* @private
|
|
135
|
+
* @description Appends a formatted list of items to the menu.
|
|
136
|
+
* @param {string} html - The HTML string representing the menu items.
|
|
137
|
+
*/
|
|
138
|
+
private _createFormat;
|
|
139
|
+
/**
|
|
140
|
+
* @private
|
|
141
|
+
* @description Resets the menu state and removes event listeners.
|
|
142
|
+
*/
|
|
143
|
+
private _init;
|
|
144
|
+
_onItem: Element;
|
|
145
|
+
/**
|
|
146
|
+
* @private
|
|
147
|
+
* @description Moves the selection up or down by a specified number of items.
|
|
148
|
+
* @param {number} num - The number of items to move (negative for up, positive for down).
|
|
149
|
+
*/
|
|
150
|
+
private _moveItem;
|
|
151
|
+
/**
|
|
152
|
+
* @private
|
|
153
|
+
* @description Highlights and selects an item by index.
|
|
154
|
+
* @param {number} selectIndex - The index of the item to select.
|
|
155
|
+
*/
|
|
156
|
+
private _selectItem;
|
|
157
|
+
/**
|
|
158
|
+
* @private
|
|
159
|
+
* @description Sets the position of the select menu relative to the reference element.
|
|
160
|
+
* @param {string} position Menu position ("left"|"right") | ("top"|"bottom")
|
|
161
|
+
* @param {string} subPosition Sub position ("middle"|"top"|"bottom") | ("center"|"left"|"right")
|
|
162
|
+
* @param {string} [onItemQuerySelector] - A query selector string to highlight a specific item.
|
|
163
|
+
* @param {boolean} [_re=false] - Whether this is a retry after adjusting the position.
|
|
164
|
+
*/
|
|
165
|
+
private _setPosition;
|
|
166
|
+
/**
|
|
167
|
+
* @private
|
|
168
|
+
* @description Selects an item and triggers the callback function.
|
|
169
|
+
* @param {number} index - The index of the item to select.
|
|
170
|
+
*/
|
|
171
|
+
private _select;
|
|
172
|
+
/**
|
|
173
|
+
* @private
|
|
174
|
+
* @description Adds event listeners for menu interactions.
|
|
175
|
+
*/
|
|
176
|
+
private __addEvents;
|
|
177
|
+
/**
|
|
178
|
+
* @private
|
|
179
|
+
* @description Removes event listeners for menu interactions.
|
|
180
|
+
*/
|
|
181
|
+
private __removeEvents;
|
|
182
|
+
/**
|
|
183
|
+
* @private
|
|
184
|
+
* @description Adds global event listeners for closing the menu.
|
|
185
|
+
*/
|
|
186
|
+
private __addGlobalEvent;
|
|
187
|
+
/**
|
|
188
|
+
* @private
|
|
189
|
+
* @description Removes global event listeners for closing the menu.
|
|
190
|
+
*/
|
|
191
|
+
private __removeGlobalEvent;
|
|
192
|
+
#private;
|
|
193
|
+
}
|
|
194
|
+
import CoreInjector from '../editorInjector/_core';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
export { _DragHandle };
|
|
3
|
+
export { ApiManager };
|
|
4
|
+
export { ColorPicker };
|
|
5
|
+
export { Controller };
|
|
6
|
+
export { Browser };
|
|
7
|
+
export { FileManager };
|
|
8
|
+
export { HueSlider };
|
|
9
|
+
export { Figure };
|
|
10
|
+
export { Modal };
|
|
11
|
+
export { ModalAnchorEditor };
|
|
12
|
+
export { SelectMenu };
|
|
13
|
+
}
|
|
14
|
+
export default _default;
|
|
15
|
+
import _DragHandle from './_DragHandle';
|
|
16
|
+
import ApiManager from './ApiManager';
|
|
17
|
+
import ColorPicker from './ColorPicker';
|
|
18
|
+
import Controller from './Controller';
|
|
19
|
+
import Browser from './Browser';
|
|
20
|
+
import FileManager from './FileManager';
|
|
21
|
+
import HueSlider from './HueSlider';
|
|
22
|
+
import Figure from './Figure';
|
|
23
|
+
import Modal from './Modal';
|
|
24
|
+
import ModalAnchorEditor from './ModalAnchorEditor';
|
|
25
|
+
import SelectMenu from './SelectMenu';
|
|
26
|
+
export { _DragHandle, ApiManager, ColorPicker, Controller, Browser, FileManager, HueSlider, Figure, Modal, ModalAnchorEditor, SelectMenu };
|