suneditor 3.0.0-beta.9 → 3.0.0-rc.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/README.md +65 -57
- package/dist/suneditor-contents.min.css +1 -0
- package/dist/suneditor.min.css +1 -1
- package/dist/suneditor.min.js +1 -1
- package/package.json +110 -61
- package/src/assets/design/color.css +36 -17
- package/src/assets/design/size.css +2 -0
- package/src/assets/icons/defaultIcons.js +17 -2
- package/src/assets/suneditor-contents.css +51 -16
- package/src/assets/suneditor.css +116 -43
- package/src/core/config/contextProvider.js +288 -0
- package/src/core/config/eventManager.js +188 -0
- package/src/core/config/instanceCheck.js +59 -0
- package/src/core/config/optionProvider.js +452 -0
- package/src/core/editor.js +166 -1637
- package/src/core/event/actions/index.js +229 -0
- package/src/core/event/effects/common.registry.js +74 -0
- package/src/core/event/effects/keydown.registry.js +573 -0
- package/src/core/event/effects/ruleHelpers.js +148 -0
- package/src/core/event/eventOrchestrator.js +944 -0
- package/src/core/event/executor.js +27 -0
- package/src/core/{base/eventHandlers → event/handlers}/handler_toolbar.js +27 -28
- package/src/core/{base/eventHandlers → event/handlers}/handler_ww_clipboard.js +10 -8
- package/src/core/{base/eventHandlers → event/handlers}/handler_ww_dragDrop.js +22 -23
- package/src/core/event/handlers/handler_ww_input.js +75 -0
- package/src/core/event/handlers/handler_ww_key.js +228 -0
- package/src/core/event/handlers/handler_ww_mouse.js +166 -0
- package/src/core/event/ports.js +211 -0
- package/src/core/event/reducers/keydown.reducer.js +97 -0
- package/src/core/event/rules/keydown.rule.arrow.js +63 -0
- package/src/core/event/rules/keydown.rule.backspace.js +208 -0
- package/src/core/event/rules/keydown.rule.delete.js +132 -0
- package/src/core/event/rules/keydown.rule.enter.js +150 -0
- package/src/core/event/rules/keydown.rule.tab.js +35 -0
- package/src/core/event/support/defaultLineManager.js +136 -0
- package/src/core/event/support/selectionState.js +204 -0
- package/src/core/kernel/coreKernel.js +320 -0
- package/src/core/kernel/kernelInjector.js +19 -0
- package/src/core/kernel/store.js +173 -0
- package/src/core/{class → logic/dom}/char.js +42 -45
- package/src/core/logic/dom/format.js +1075 -0
- package/src/core/{class → logic/dom}/html.js +743 -624
- package/src/core/logic/dom/inline.js +1847 -0
- package/src/core/logic/dom/listFormat.js +601 -0
- package/src/core/{class → logic/dom}/nodeTransform.js +92 -72
- package/src/core/{class → logic/dom}/offset.js +254 -317
- package/src/core/logic/dom/selection.js +754 -0
- package/src/core/logic/panel/menu.js +389 -0
- package/src/core/logic/panel/toolbar.js +449 -0
- package/src/core/logic/panel/viewer.js +761 -0
- package/src/core/logic/shell/_commandExecutor.js +380 -0
- package/src/core/logic/shell/commandDispatcher.js +241 -0
- package/src/core/logic/shell/component.js +970 -0
- package/src/core/logic/shell/focusManager.js +110 -0
- package/src/core/{base → logic/shell}/history.js +110 -60
- package/src/core/logic/shell/pluginManager.js +363 -0
- package/src/core/logic/shell/shortcuts.js +130 -0
- package/src/core/logic/shell/ui.js +904 -0
- package/src/core/schema/context.js +66 -0
- package/src/core/schema/frameContext.js +160 -0
- package/src/core/schema/options.js +628 -0
- package/src/core/section/constructor.js +194 -500
- package/src/core/section/documentType.js +297 -222
- package/src/events.js +808 -543
- package/src/helper/clipboard.js +27 -16
- package/src/helper/converter.js +100 -78
- package/src/helper/dom/domCheck.js +56 -30
- package/src/helper/dom/domQuery.js +159 -89
- package/src/helper/dom/domUtils.js +114 -49
- package/src/helper/dom/index.js +5 -1
- package/src/helper/env.js +26 -26
- package/src/helper/index.js +1 -1
- package/src/helper/keyCodeMap.js +25 -28
- package/src/helper/numbers.js +4 -8
- package/src/helper/unicode.js +4 -8
- package/src/hooks/base.js +307 -0
- package/src/hooks/params.js +130 -0
- package/src/interfaces/contracts.js +227 -0
- package/src/interfaces/index.js +7 -0
- package/src/interfaces/plugins.js +239 -0
- package/src/langs/ckb.js +4 -4
- package/src/langs/cs.js +4 -4
- package/src/langs/da.js +4 -4
- package/src/langs/de.js +4 -4
- package/src/langs/en.js +4 -4
- package/src/langs/es.js +4 -4
- package/src/langs/fa.js +4 -4
- package/src/langs/fr.js +4 -4
- package/src/langs/he.js +4 -4
- package/src/langs/hu.js +4 -4
- package/src/langs/it.js +4 -4
- package/src/langs/ja.js +4 -4
- package/src/langs/km.js +4 -4
- package/src/langs/ko.js +4 -4
- package/src/langs/lv.js +4 -4
- package/src/langs/nl.js +4 -4
- package/src/langs/pl.js +4 -4
- package/src/langs/pt_br.js +13 -13
- package/src/langs/ro.js +4 -4
- package/src/langs/ru.js +4 -4
- package/src/langs/se.js +4 -4
- package/src/langs/tr.js +4 -4
- package/src/langs/uk.js +4 -4
- package/src/langs/ur.js +4 -4
- package/src/langs/zh_cn.js +4 -4
- package/src/modules/{Browser.js → contract/Browser.js} +119 -128
- package/src/modules/{ColorPicker.js → contract/ColorPicker.js} +132 -142
- package/src/modules/contract/Controller.js +589 -0
- package/src/modules/{Figure.js → contract/Figure.js} +591 -411
- package/src/modules/{HueSlider.js → contract/HueSlider.js} +125 -86
- package/src/modules/contract/Modal.js +357 -0
- package/src/modules/contract/index.js +9 -0
- package/src/modules/manager/ApiManager.js +197 -0
- package/src/modules/{FileManager.js → manager/FileManager.js} +128 -160
- package/src/modules/manager/index.js +5 -0
- package/src/modules/{ModalAnchorEditor.js → ui/ModalAnchorEditor.js} +108 -138
- package/src/modules/{SelectMenu.js → ui/SelectMenu.js} +119 -120
- package/src/modules/{_DragHandle.js → ui/_DragHandle.js} +1 -1
- package/src/modules/ui/index.js +6 -0
- package/src/plugins/browser/audioGallery.js +23 -26
- package/src/plugins/browser/fileBrowser.js +25 -28
- package/src/plugins/browser/fileGallery.js +20 -23
- package/src/plugins/browser/imageGallery.js +24 -23
- package/src/plugins/browser/videoGallery.js +27 -29
- package/src/plugins/command/blockquote.js +11 -17
- package/src/plugins/command/exportPDF.js +26 -26
- package/src/plugins/command/fileUpload.js +138 -133
- package/src/plugins/command/list_bulleted.js +48 -44
- package/src/plugins/command/list_numbered.js +48 -44
- package/src/plugins/dropdown/align.js +64 -50
- package/src/plugins/dropdown/backgroundColor.js +34 -35
- package/src/plugins/dropdown/{formatBlock.js → blockStyle.js} +43 -37
- package/src/plugins/dropdown/font.js +50 -36
- package/src/plugins/dropdown/fontColor.js +34 -35
- package/src/plugins/dropdown/hr.js +55 -50
- package/src/plugins/dropdown/layout.js +20 -15
- package/src/plugins/dropdown/lineHeight.js +46 -30
- package/src/plugins/dropdown/list.js +32 -33
- package/src/plugins/dropdown/paragraphStyle.js +40 -34
- package/src/plugins/dropdown/table/index.js +915 -0
- package/src/plugins/dropdown/table/render/table.html.js +308 -0
- package/src/plugins/dropdown/table/render/table.menu.js +121 -0
- package/src/plugins/dropdown/table/services/table.cell.js +465 -0
- package/src/plugins/dropdown/table/services/table.clipboard.js +414 -0
- package/src/plugins/dropdown/table/services/table.grid.js +504 -0
- package/src/plugins/dropdown/table/services/table.resize.js +463 -0
- package/src/plugins/dropdown/table/services/table.selection.js +466 -0
- package/src/plugins/dropdown/table/services/table.style.js +844 -0
- package/src/plugins/dropdown/table/shared/table.constants.js +109 -0
- package/src/plugins/dropdown/table/shared/table.utils.js +219 -0
- package/src/plugins/dropdown/template.js +20 -15
- package/src/plugins/dropdown/textStyle.js +28 -22
- package/src/plugins/field/mention.js +54 -49
- package/src/plugins/index.js +5 -5
- package/src/plugins/input/fontSize.js +100 -97
- package/src/plugins/input/pageNavigator.js +13 -10
- package/src/plugins/modal/audio.js +208 -219
- package/src/plugins/modal/drawing.js +99 -104
- package/src/plugins/modal/embed.js +323 -312
- package/src/plugins/modal/image/index.js +942 -0
- package/src/plugins/modal/image/render/image.html.js +150 -0
- package/src/plugins/modal/image/services/image.size.js +198 -0
- package/src/plugins/modal/image/services/image.upload.js +216 -0
- package/src/plugins/modal/image/shared/image.constants.js +20 -0
- package/src/plugins/modal/link.js +74 -54
- package/src/plugins/modal/math.js +126 -119
- package/src/plugins/modal/video/index.js +858 -0
- package/src/plugins/modal/video/render/video.html.js +131 -0
- package/src/plugins/modal/video/services/video.size.js +281 -0
- package/src/plugins/modal/video/services/video.upload.js +92 -0
- package/src/plugins/popup/anchor.js +57 -49
- package/src/suneditor.js +73 -61
- package/src/themes/cobalt.css +155 -0
- package/src/themes/dark.css +143 -120
- package/src/typedef.js +214 -63
- package/types/assets/icons/defaultIcons.d.ts +8 -0
- package/types/assets/suneditor-contents.css.d.ts +1 -0
- package/types/assets/suneditor.css.d.ts +1 -0
- package/types/core/config/contextProvider.d.ts +148 -0
- package/types/core/config/eventManager.d.ts +68 -0
- package/types/core/config/instanceCheck.d.ts +33 -0
- package/types/core/config/optionProvider.d.ts +147 -0
- package/types/core/editor.d.ts +27 -586
- package/types/core/event/actions/index.d.ts +50 -0
- package/types/core/event/effects/common.registry.d.ts +56 -0
- package/types/core/event/effects/keydown.registry.d.ts +80 -0
- package/types/core/event/effects/ruleHelpers.d.ts +36 -0
- package/types/core/event/eventOrchestrator.d.ts +191 -0
- package/types/core/event/executor.d.ts +13 -0
- package/types/core/event/handlers/handler_toolbar.d.ts +38 -0
- package/types/core/event/handlers/handler_ww_clipboard.d.ts +36 -0
- package/types/core/event/handlers/handler_ww_dragDrop.d.ts +26 -0
- package/types/core/event/handlers/handler_ww_input.d.ts +38 -0
- package/types/core/event/handlers/handler_ww_key.d.ts +40 -0
- package/types/core/event/handlers/handler_ww_mouse.d.ts +47 -0
- package/types/core/event/ports.d.ts +256 -0
- package/types/core/event/reducers/keydown.reducer.d.ts +84 -0
- package/types/core/event/rules/keydown.rule.arrow.d.ts +19 -0
- package/types/core/event/rules/keydown.rule.backspace.d.ts +18 -0
- package/types/core/event/rules/keydown.rule.delete.d.ts +18 -0
- package/types/core/event/rules/keydown.rule.enter.d.ts +18 -0
- package/types/core/event/rules/keydown.rule.tab.d.ts +18 -0
- package/types/core/event/support/defaultLineManager.d.ts +22 -0
- package/types/core/event/support/selectionState.d.ts +29 -0
- package/types/core/kernel/coreKernel.d.ts +219 -0
- package/types/core/kernel/kernelInjector.d.ts +16 -0
- package/types/core/kernel/store.d.ts +170 -0
- package/types/core/logic/dom/char.d.ts +46 -0
- package/types/core/logic/dom/format.d.ts +234 -0
- package/types/core/logic/dom/html.d.ts +290 -0
- package/types/core/logic/dom/inline.d.ts +93 -0
- package/types/core/logic/dom/listFormat.d.ts +101 -0
- package/types/core/logic/dom/nodeTransform.d.ts +110 -0
- package/types/core/logic/dom/offset.d.ts +335 -0
- package/types/core/logic/dom/selection.d.ts +165 -0
- package/types/core/logic/panel/menu.d.ts +93 -0
- package/types/core/logic/panel/toolbar.d.ts +128 -0
- package/types/core/logic/panel/viewer.d.ts +89 -0
- package/types/core/logic/shell/_commandExecutor.d.ts +18 -0
- package/types/core/logic/shell/commandDispatcher.d.ts +65 -0
- package/types/core/logic/shell/component.d.ts +182 -0
- package/types/core/logic/shell/focusManager.d.ts +31 -0
- package/types/core/{base → logic/shell}/history.d.ts +13 -12
- package/types/core/logic/shell/pluginManager.d.ts +115 -0
- package/types/core/logic/shell/shortcuts.d.ts +131 -0
- package/types/core/logic/shell/ui.d.ts +261 -0
- package/types/core/schema/context.d.ts +104 -0
- package/types/core/schema/frameContext.d.ts +320 -0
- package/types/core/schema/options.d.ts +1241 -0
- package/types/core/section/constructor.d.ts +117 -652
- package/types/core/section/documentType.d.ts +43 -61
- package/types/events.d.ts +796 -65
- package/types/helper/clipboard.d.ts +5 -4
- package/types/helper/converter.d.ts +55 -43
- package/types/helper/dom/domCheck.d.ts +27 -19
- package/types/helper/dom/domQuery.d.ts +76 -57
- package/types/helper/dom/domUtils.d.ts +62 -39
- package/types/helper/dom/index.d.ts +87 -1
- package/types/helper/env.d.ts +16 -13
- package/types/helper/index.d.ts +8 -2
- package/types/helper/keyCodeMap.d.ts +24 -23
- package/types/helper/numbers.d.ts +4 -6
- package/types/helper/unicode.d.ts +4 -3
- package/types/hooks/base.d.ts +239 -0
- package/types/hooks/params.d.ts +65 -0
- package/types/index.d.ts +20 -117
- package/types/interfaces/contracts.d.ts +183 -0
- package/types/interfaces/index.d.ts +3 -0
- package/types/interfaces/plugins.d.ts +168 -0
- package/types/langs/_Lang.d.ts +2 -2
- package/types/langs/index.d.ts +2 -2
- package/types/modules/contract/Browser.d.ts +262 -0
- package/types/modules/contract/ColorPicker.d.ts +99 -0
- package/types/modules/contract/Controller.d.ts +204 -0
- package/types/modules/contract/Figure.d.ts +529 -0
- package/types/modules/{HueSlider.d.ts → contract/HueSlider.d.ts} +39 -28
- package/types/modules/contract/Modal.d.ts +62 -0
- package/types/modules/contract/index.d.ts +7 -0
- package/types/modules/manager/ApiManager.d.ts +106 -0
- package/types/modules/manager/FileManager.d.ts +124 -0
- package/types/modules/manager/index.d.ts +3 -0
- package/types/modules/ui/ModalAnchorEditor.d.ts +152 -0
- package/types/modules/ui/SelectMenu.d.ts +107 -0
- package/types/modules/{_DragHandle.d.ts → ui/_DragHandle.d.ts} +1 -0
- package/types/modules/ui/index.d.ts +4 -0
- package/types/plugins/browser/audioGallery.d.ts +33 -41
- package/types/plugins/browser/fileBrowser.d.ts +42 -50
- package/types/plugins/browser/fileGallery.d.ts +33 -41
- package/types/plugins/browser/imageGallery.d.ts +30 -37
- package/types/plugins/browser/videoGallery.d.ts +33 -41
- package/types/plugins/command/blockquote.d.ts +4 -21
- package/types/plugins/command/exportPDF.d.ts +23 -33
- package/types/plugins/command/fileUpload.d.ts +80 -100
- package/types/plugins/command/list_bulleted.d.ts +9 -35
- package/types/plugins/command/list_numbered.d.ts +9 -35
- package/types/plugins/dropdown/align.d.ts +23 -46
- package/types/plugins/dropdown/backgroundColor.d.ts +35 -53
- package/types/plugins/dropdown/blockStyle.d.ts +45 -0
- package/types/plugins/dropdown/font.d.ts +18 -41
- package/types/plugins/dropdown/fontColor.d.ts +35 -53
- package/types/plugins/dropdown/hr.d.ts +26 -52
- package/types/plugins/dropdown/layout.d.ts +19 -25
- package/types/plugins/dropdown/lineHeight.d.ts +21 -39
- package/types/plugins/dropdown/list.d.ts +6 -34
- package/types/plugins/dropdown/paragraphStyle.d.ts +34 -45
- package/types/plugins/dropdown/table/index.d.ts +158 -0
- package/types/plugins/dropdown/table/render/table.html.d.ts +71 -0
- package/types/plugins/dropdown/table/render/table.menu.d.ts +59 -0
- package/types/plugins/dropdown/table/services/table.cell.d.ts +76 -0
- package/types/plugins/dropdown/table/services/table.clipboard.d.ts +26 -0
- package/types/plugins/dropdown/table/services/table.grid.d.ts +77 -0
- package/types/plugins/dropdown/table/services/table.resize.d.ts +72 -0
- package/types/plugins/dropdown/table/services/table.selection.d.ts +59 -0
- package/types/plugins/dropdown/table/services/table.style.d.ts +162 -0
- package/types/plugins/dropdown/table/shared/table.constants.d.ts +134 -0
- package/types/plugins/dropdown/table/shared/table.utils.d.ts +91 -0
- package/types/plugins/dropdown/template.d.ts +19 -25
- package/types/plugins/dropdown/textStyle.d.ts +23 -30
- package/types/plugins/field/mention.d.ts +66 -72
- package/types/plugins/index.d.ts +41 -40
- package/types/plugins/input/fontSize.d.ts +57 -96
- package/types/plugins/input/pageNavigator.d.ts +5 -8
- package/types/plugins/modal/audio.d.ts +60 -153
- package/types/plugins/modal/drawing.d.ts +16 -118
- package/types/plugins/modal/embed.d.ts +46 -166
- package/types/plugins/modal/image/index.d.ts +281 -0
- package/types/plugins/modal/image/render/image.html.d.ts +45 -0
- package/types/plugins/modal/image/services/image.size.d.ts +55 -0
- package/types/plugins/modal/image/services/image.upload.d.ts +24 -0
- package/types/plugins/modal/image/shared/image.constants.d.ts +17 -0
- package/types/plugins/modal/link.d.ts +46 -66
- package/types/plugins/modal/math.d.ts +17 -86
- package/types/plugins/modal/{video.d.ts → video/index.d.ts} +89 -221
- package/types/plugins/modal/video/render/video.html.d.ts +37 -0
- package/types/plugins/modal/video/services/video.size.d.ts +74 -0
- package/types/plugins/modal/video/services/video.upload.d.ts +19 -0
- package/types/plugins/popup/anchor.d.ts +8 -38
- package/types/suneditor.d.ts +55 -24
- package/types/typedef.d.ts +344 -228
- package/CONTRIBUTING.md +0 -186
- package/src/core/base/eventHandlers/handler_ww_key_input.js +0 -1200
- package/src/core/base/eventHandlers/handler_ww_mouse.js +0 -194
- package/src/core/base/eventManager.js +0 -1523
- package/src/core/class/component.js +0 -856
- package/src/core/class/format.js +0 -3433
- package/src/core/class/menu.js +0 -346
- package/src/core/class/selection.js +0 -610
- package/src/core/class/shortcuts.js +0 -98
- package/src/core/class/toolbar.js +0 -431
- package/src/core/class/ui.js +0 -424
- package/src/core/class/viewer.js +0 -750
- package/src/core/section/actives.js +0 -266
- package/src/core/section/context.js +0 -102
- package/src/editorInjector/_classes.js +0 -36
- package/src/editorInjector/_core.js +0 -87
- package/src/editorInjector/index.js +0 -73
- package/src/modules/ApiManager.js +0 -191
- package/src/modules/Controller.js +0 -474
- package/src/modules/Modal.js +0 -346
- package/src/modules/index.js +0 -14
- package/src/plugins/dropdown/table.js +0 -4034
- package/src/plugins/modal/image.js +0 -1376
- package/src/plugins/modal/video.js +0 -1226
- package/types/core/base/eventHandlers/handler_toolbar.d.ts +0 -41
- package/types/core/base/eventHandlers/handler_ww_clipboard.d.ts +0 -40
- package/types/core/base/eventHandlers/handler_ww_dragDrop.d.ts +0 -35
- package/types/core/base/eventHandlers/handler_ww_key_input.d.ts +0 -45
- package/types/core/base/eventHandlers/handler_ww_mouse.d.ts +0 -39
- package/types/core/base/eventManager.d.ts +0 -401
- package/types/core/class/char.d.ts +0 -61
- package/types/core/class/component.d.ts +0 -213
- package/types/core/class/format.d.ts +0 -623
- package/types/core/class/html.d.ts +0 -430
- package/types/core/class/menu.d.ts +0 -126
- package/types/core/class/nodeTransform.d.ts +0 -93
- package/types/core/class/offset.d.ts +0 -522
- package/types/core/class/selection.d.ts +0 -188
- package/types/core/class/shortcuts.d.ts +0 -142
- package/types/core/class/toolbar.d.ts +0 -189
- package/types/core/class/ui.d.ts +0 -164
- package/types/core/class/viewer.d.ts +0 -140
- package/types/core/section/actives.d.ts +0 -46
- package/types/core/section/context.d.ts +0 -45
- package/types/editorInjector/_classes.d.ts +0 -41
- package/types/editorInjector/_core.d.ts +0 -87
- package/types/editorInjector/index.d.ts +0 -69
- package/types/modules/ApiManager.d.ts +0 -125
- package/types/modules/Browser.d.ts +0 -326
- package/types/modules/ColorPicker.d.ts +0 -135
- package/types/modules/Controller.d.ts +0 -251
- package/types/modules/Figure.d.ts +0 -517
- package/types/modules/FileManager.d.ts +0 -202
- package/types/modules/Modal.d.ts +0 -111
- package/types/modules/ModalAnchorEditor.d.ts +0 -236
- package/types/modules/SelectMenu.d.ts +0 -194
- package/types/modules/index.d.ts +0 -26
- package/types/plugins/dropdown/formatBlock.d.ts +0 -55
- package/types/plugins/dropdown/table.d.ts +0 -627
- package/types/plugins/modal/image.d.ts +0 -451
- /package/{LICENSE → LICENSE.txt} +0 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type {} from '../../../../typedef';
|
|
2
|
+
/**
|
|
3
|
+
* @class VideoSizeService
|
|
4
|
+
* @description Handles video size operations including ratio management and size input controls.
|
|
5
|
+
*/
|
|
6
|
+
export class VideoSizeService {
|
|
7
|
+
/**
|
|
8
|
+
* @param {import('../index').default} main - The main Video plugin instance.
|
|
9
|
+
* @param {import('../render/video.html').ModalReturns_video} modalEl - Modal element
|
|
10
|
+
*/
|
|
11
|
+
constructor(main: import('../index').default, modalEl: import('../render/video.html').ModalReturns_video);
|
|
12
|
+
frameRatioOption: HTMLSelectElement;
|
|
13
|
+
/**
|
|
14
|
+
* @description Sets the width and height input values.
|
|
15
|
+
* @param {string} w - Width value
|
|
16
|
+
* @param {string} h - Height value
|
|
17
|
+
*/
|
|
18
|
+
setInputSize(w: string, h: string): void;
|
|
19
|
+
/**
|
|
20
|
+
* @description Gets the current width and height input values.
|
|
21
|
+
* @returns {{w: string, h: string}}
|
|
22
|
+
*/
|
|
23
|
+
getInputSize(): {
|
|
24
|
+
w: string;
|
|
25
|
+
h: string;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* @description Sets the original width and height of the video.
|
|
29
|
+
* @param {string} w - Original width
|
|
30
|
+
* @param {string} h - Original height
|
|
31
|
+
*/
|
|
32
|
+
setOriginSize(w: string, h: string): void;
|
|
33
|
+
/**
|
|
34
|
+
* @description Sets the size of the video element.
|
|
35
|
+
* @param {string|number} w - The width of the video.
|
|
36
|
+
* @param {string|number} h - The height of the video.
|
|
37
|
+
*/
|
|
38
|
+
applySize(w: string | number, h: string | number): void;
|
|
39
|
+
/**
|
|
40
|
+
* @description Resolves the final size of the video element, checking if it has changed from the current size.
|
|
41
|
+
* @param {string} width - Desired width
|
|
42
|
+
* @param {string} height - Desired height
|
|
43
|
+
* @param {HTMLElement} oFrame - The video/iframe element
|
|
44
|
+
* @param {boolean} isUpdate - Whether we are updating an existing component
|
|
45
|
+
* @returns {{width: string, height: string, isChanged: boolean}} Resolved size info
|
|
46
|
+
*/
|
|
47
|
+
resolveSize(
|
|
48
|
+
width: string,
|
|
49
|
+
height: string,
|
|
50
|
+
oFrame: HTMLElement,
|
|
51
|
+
isUpdate: boolean,
|
|
52
|
+
): {
|
|
53
|
+
width: string;
|
|
54
|
+
height: string;
|
|
55
|
+
isChanged: boolean;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* @description Called when the modal is opened. Initializes inputs and ratio options.
|
|
59
|
+
* @param {boolean} isUpdate - Indicates whether the modal is for editing an existing component (`true`) or registering a new one (`false`).
|
|
60
|
+
*/
|
|
61
|
+
on(isUpdate: boolean): void;
|
|
62
|
+
/**
|
|
63
|
+
* @description Prepares the size inputs and options when a video component is selected.
|
|
64
|
+
* @param {import('../../../../modules/contract/Figure').FigureTargetInfo} figureInfo - Figure size information
|
|
65
|
+
* @param {HTMLElement} target - The selected video/iframe element
|
|
66
|
+
*/
|
|
67
|
+
ready(figureInfo: import('../../../../modules/contract/Figure').FigureTargetInfo, target: HTMLElement): void;
|
|
68
|
+
/**
|
|
69
|
+
* @description Initializes the size service state.
|
|
70
|
+
*/
|
|
71
|
+
init(): void;
|
|
72
|
+
#private;
|
|
73
|
+
}
|
|
74
|
+
export default VideoSizeService;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type {} from '../../../../typedef';
|
|
2
|
+
/**
|
|
3
|
+
* @class VideoUploadService
|
|
4
|
+
* @description Handles video upload operations including server upload and registration.
|
|
5
|
+
*/
|
|
6
|
+
export class VideoUploadService {
|
|
7
|
+
/**
|
|
8
|
+
* @param {import('../index').default} main - The main Video plugin instance.
|
|
9
|
+
*/
|
|
10
|
+
constructor(main: import('../index').default);
|
|
11
|
+
/**
|
|
12
|
+
* @description Uploads a video to the server using an external upload handler.
|
|
13
|
+
* @param {SunEditor.EventParams.VideoInfo} info - Video information object.
|
|
14
|
+
* @param {FileList} files - The video files to upload.
|
|
15
|
+
*/
|
|
16
|
+
serverUpload(info: SunEditor.EventParams.VideoInfo, files: FileList): void;
|
|
17
|
+
#private;
|
|
18
|
+
}
|
|
19
|
+
export default VideoUploadService;
|
|
@@ -1,56 +1,26 @@
|
|
|
1
|
+
import type {} from '../../typedef';
|
|
1
2
|
export default Anchor;
|
|
2
3
|
/**
|
|
3
4
|
* @class
|
|
4
5
|
* @description Anchor plugin
|
|
5
6
|
* - Allows you to create, edit, and delete elements that act as anchors (bookmarks) within a document.
|
|
6
7
|
*/
|
|
7
|
-
declare class Anchor extends
|
|
8
|
-
static key: string;
|
|
9
|
-
static type: string;
|
|
10
|
-
static className: string;
|
|
8
|
+
declare class Anchor extends PluginPopup {
|
|
11
9
|
/**
|
|
12
|
-
* @this {Anchor}
|
|
13
10
|
* @param {HTMLElement} node - The node to check.
|
|
14
11
|
* @returns {HTMLElement|null} Returns a node if the node is a valid component.
|
|
15
12
|
*/
|
|
16
|
-
static component(
|
|
13
|
+
static component(node: HTMLElement): HTMLElement | null;
|
|
17
14
|
title: any;
|
|
18
|
-
icon: string;
|
|
19
15
|
bookmarkIcon: HTMLElement;
|
|
20
|
-
_element: HTMLElement;
|
|
21
|
-
_range: Range;
|
|
22
16
|
displayId: Element;
|
|
23
17
|
controllerSelect: Controller;
|
|
24
18
|
inputEl: HTMLInputElement;
|
|
25
19
|
controller: Controller;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
* @description Displays a popup and gives focus to the input field.
|
|
29
|
-
*/
|
|
30
|
-
show(): void;
|
|
31
|
-
/**
|
|
32
|
-
* @editorMethod Editor.component
|
|
33
|
-
* @description Executes the method that is called when a component of a plugin is selected.
|
|
34
|
-
* @param {HTMLElement} target Target component element
|
|
35
|
-
*/
|
|
36
|
-
select(target: HTMLElement): void;
|
|
37
|
-
/**
|
|
38
|
-
* @editorMethod Editor.Component
|
|
39
|
-
* @description Called when a container is deselected.
|
|
40
|
-
*/
|
|
41
|
-
deselect(): void;
|
|
42
|
-
/**
|
|
43
|
-
* @editorMethod Modules.Controller
|
|
44
|
-
* @description Executes the method that is called when a button is clicked in the "controller".
|
|
45
|
-
* @param {HTMLButtonElement} target Target button element
|
|
46
|
-
*/
|
|
20
|
+
componentSelect(target: HTMLElement): void | boolean;
|
|
21
|
+
componentDeselect(target: HTMLElement): void;
|
|
47
22
|
controllerAction(target: HTMLButtonElement): void;
|
|
48
|
-
|
|
49
|
-
* @private
|
|
50
|
-
* @description Initializes state variables.
|
|
51
|
-
* - called when the popup is closed
|
|
52
|
-
*/
|
|
53
|
-
private _init;
|
|
23
|
+
#private;
|
|
54
24
|
}
|
|
55
|
-
import
|
|
56
|
-
import { Controller } from '../../modules';
|
|
25
|
+
import { PluginPopup } from '../../interfaces';
|
|
26
|
+
import { Controller } from '../../modules/contract';
|
package/types/suneditor.d.ts
CHANGED
|
@@ -1,51 +1,82 @@
|
|
|
1
|
+
import type {} from './typedef';
|
|
1
2
|
declare namespace _default {
|
|
2
3
|
/**
|
|
3
4
|
* Returns the create function with preset options.
|
|
4
|
-
* If the options overlap, the options of the
|
|
5
|
-
* @
|
|
6
|
-
*
|
|
5
|
+
* If the options overlap, the options of the `create` function take precedence.
|
|
6
|
+
* @example
|
|
7
|
+
* // Preset common options, then create multiple editors
|
|
8
|
+
* const preset = SUNEDITOR.init({
|
|
9
|
+
* plugins: [image, link],
|
|
10
|
+
* buttonList: [['bold', 'italic'], ['image', 'link']],
|
|
11
|
+
* });
|
|
12
|
+
* const editor1 = preset.create('#editor1', { height: '300px' });
|
|
13
|
+
* const editor2 = preset.create('#editor2', { height: '500px' });
|
|
14
|
+
* @param {SunEditor.InitOptions} init_options - Initialization options
|
|
15
|
+
* @returns {{create: (targets: Element|Object<string, {target: Element, options: SunEditor.InitFrameOptions}>, options: SunEditor.InitOptions) => SunEditor.Instance}}}
|
|
7
16
|
*/
|
|
8
|
-
function init(init_options:
|
|
17
|
+
function init(init_options: SunEditor.InitOptions): {
|
|
9
18
|
create: (
|
|
10
19
|
targets:
|
|
11
20
|
| Element
|
|
12
21
|
| {
|
|
13
22
|
[x: string]: {
|
|
14
23
|
target: Element;
|
|
15
|
-
options:
|
|
24
|
+
options: SunEditor.InitFrameOptions;
|
|
16
25
|
};
|
|
17
26
|
},
|
|
18
|
-
options:
|
|
19
|
-
) =>
|
|
27
|
+
options: SunEditor.InitOptions,
|
|
28
|
+
) => SunEditor.Instance;
|
|
20
29
|
};
|
|
21
30
|
/**
|
|
22
31
|
* Creates a new instance of the SunEditor
|
|
23
|
-
* @
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
32
|
+
* @example
|
|
33
|
+
* // Create with a DOM element
|
|
34
|
+
* const editor = SUNEDITOR.create(document.getElementById('editor'), {
|
|
35
|
+
* buttonList: [['bold', 'italic', 'underline']],
|
|
36
|
+
* });
|
|
37
|
+
*
|
|
38
|
+
* // Create with a CSS selector
|
|
39
|
+
* const editor = SUNEDITOR.create('#editor', { height: '400px' });
|
|
40
|
+
*
|
|
41
|
+
* // Create multi-root editor
|
|
42
|
+
* const editor = SUNEDITOR.create({
|
|
43
|
+
* header: { target: document.getElementById('header') },
|
|
44
|
+
* body: { target: document.getElementById('body'), options: { height: '500px' } },
|
|
45
|
+
* });
|
|
46
|
+
* @param {Element|string|Object<string, {target: Element, options: SunEditor.InitFrameOptions}>} target
|
|
47
|
+
* - `Element`: The direct DOM element to initialize the editor on.
|
|
48
|
+
* - `string`: A CSS selector string. The corresponding element is selected using `document.querySelector`.
|
|
49
|
+
* - `Object`: For multi-root setup. Each key maps to a config with `{target, options}`.
|
|
50
|
+
* @param {SunEditor.InitOptions} options - Initialization options
|
|
51
|
+
* @param {SunEditor.InitOptions} [_init_options] - Optional preset initialization options
|
|
52
|
+
* @returns {SunEditor.Instance} - Instance of the SunEditor
|
|
27
53
|
* @throws {Error} If the target element is not provided or is invalid
|
|
28
54
|
*/
|
|
29
55
|
function create(
|
|
30
56
|
target:
|
|
31
57
|
| Element
|
|
58
|
+
| string
|
|
32
59
|
| {
|
|
33
60
|
[x: string]: {
|
|
34
61
|
target: Element;
|
|
35
|
-
options:
|
|
62
|
+
options: SunEditor.InitFrameOptions;
|
|
36
63
|
};
|
|
37
64
|
},
|
|
38
|
-
options:
|
|
39
|
-
_init_options?:
|
|
40
|
-
):
|
|
65
|
+
options: SunEditor.InitOptions,
|
|
66
|
+
_init_options?: SunEditor.InitOptions,
|
|
67
|
+
): SunEditor.Instance;
|
|
41
68
|
}
|
|
42
69
|
export default _default;
|
|
43
|
-
|
|
44
|
-
export
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
import
|
|
50
|
-
import
|
|
51
|
-
|
|
70
|
+
import plugins from './plugins';
|
|
71
|
+
export namespace modules {
|
|
72
|
+
export { moduleContract as contract };
|
|
73
|
+
export { moduleManager as manager };
|
|
74
|
+
export { moduleUI as ui };
|
|
75
|
+
}
|
|
76
|
+
import helper from './helper';
|
|
77
|
+
import * as interfaces from './interfaces';
|
|
78
|
+
import langs from './langs';
|
|
79
|
+
import * as moduleContract from './modules/contract';
|
|
80
|
+
import * as moduleManager from './modules/manager';
|
|
81
|
+
import * as moduleUI from './modules/ui';
|
|
82
|
+
export { helper, interfaces, langs, plugins };
|