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
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type {} from '../../typedef';
|
|
1
2
|
/**
|
|
2
3
|
* @template {Node} T
|
|
3
4
|
* @description Clones a node while preserving its type.
|
|
@@ -9,19 +10,27 @@ export function clone<T extends Node>(node: T, deep?: boolean): T;
|
|
|
9
10
|
/**
|
|
10
11
|
* @template {HTMLElement} T
|
|
11
12
|
* @description Create Element node
|
|
13
|
+
* @example
|
|
14
|
+
* // Create with attributes
|
|
15
|
+
* const span = dom.utils.createElement('SPAN', { style: 'color:red;', class: 'highlight' });
|
|
16
|
+
*
|
|
17
|
+
* // Create with HTML string content
|
|
18
|
+
* const div = dom.utils.createElement('DIV', null, '<p>Hello</p>');
|
|
19
|
+
*
|
|
20
|
+
* // Create with a child node
|
|
21
|
+
* const br = dom.utils.createElement('BR');
|
|
22
|
+
* const p = dom.utils.createElement('P', null, br);
|
|
12
23
|
* @param {string} elementName Element name
|
|
13
|
-
* @param {?Object<string, string
|
|
14
|
-
* @param {?string|Node
|
|
24
|
+
* @param {?Object<string, string>} [attributes] The attributes of the tag. {style: 'font-size:12px;..', class: 'el_class',..}
|
|
25
|
+
* @param {?string|Node} [inner] A innerHTML string or inner node.
|
|
15
26
|
* @returns {T}
|
|
16
27
|
*/
|
|
17
28
|
export function createElement<T extends HTMLElement>(
|
|
18
29
|
elementName: string,
|
|
19
|
-
attributes?:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
| undefined,
|
|
24
|
-
inner?: ((string | Node) | null) | undefined
|
|
30
|
+
attributes?: {
|
|
31
|
+
[x: string]: string;
|
|
32
|
+
} | null,
|
|
33
|
+
inner?: (string | Node) | null,
|
|
25
34
|
): T;
|
|
26
35
|
/**
|
|
27
36
|
* @description Create text node
|
|
@@ -32,61 +41,61 @@ export function createTextNode(text: string): Text;
|
|
|
32
41
|
/**
|
|
33
42
|
* @description Get attributes of argument element to string ('class="---" name="---" ')
|
|
34
43
|
* @param {Node} element Element object
|
|
35
|
-
* @param {Array<string
|
|
44
|
+
* @param {?Array<string>} exceptAttrs Array of attribute names to exclude from the result
|
|
36
45
|
* @returns {string}
|
|
37
46
|
*/
|
|
38
47
|
export function getAttributesToString(element: Node, exceptAttrs: Array<string> | null): string;
|
|
39
48
|
/**
|
|
40
49
|
* @description Get the items array from the array that matches the condition.
|
|
41
|
-
* @param {
|
|
50
|
+
* @param {SunEditor.NodeCollection} array Array to get item
|
|
42
51
|
* @param {?(current: *) => boolean} validation Conditional function
|
|
43
52
|
* @returns {Array<Node>|null}
|
|
44
53
|
*/
|
|
45
|
-
export function arrayFilter(array:
|
|
54
|
+
export function arrayFilter(array: SunEditor.NodeCollection, validation: ((current: any) => boolean) | null): Array<Node> | null;
|
|
46
55
|
/**
|
|
47
56
|
* @description Get the item from the array that matches the condition.
|
|
48
|
-
* @param {
|
|
57
|
+
* @param {SunEditor.NodeCollection} array Array to get item
|
|
49
58
|
* @param {?(current: *) => boolean} validation Conditional function
|
|
50
59
|
* @returns {Node|null}
|
|
51
60
|
*/
|
|
52
|
-
export function arrayFind(array:
|
|
61
|
+
export function arrayFind(array: SunEditor.NodeCollection, validation: ((current: any) => boolean) | null): Node | null;
|
|
53
62
|
/**
|
|
54
63
|
* @description Check if an array contains an element
|
|
55
|
-
* @param {
|
|
64
|
+
* @param {SunEditor.NodeCollection} array element array
|
|
56
65
|
* @param {Node} node The node to check for
|
|
57
66
|
* @returns {boolean}
|
|
58
67
|
*/
|
|
59
|
-
export function arrayIncludes(array:
|
|
68
|
+
export function arrayIncludes(array: SunEditor.NodeCollection, node: Node): boolean;
|
|
60
69
|
/**
|
|
61
70
|
* @description Get the index of the argument value in the element array
|
|
62
|
-
* @param {
|
|
71
|
+
* @param {SunEditor.NodeCollection} array element array
|
|
63
72
|
* @param {Node} node The element to find index
|
|
64
73
|
* @returns {number}
|
|
65
74
|
*/
|
|
66
|
-
export function getArrayIndex(array:
|
|
75
|
+
export function getArrayIndex(array: SunEditor.NodeCollection, node: Node): number;
|
|
67
76
|
/**
|
|
68
77
|
* @description Get the next index of the argument value in the element array
|
|
69
|
-
* @param {
|
|
78
|
+
* @param {SunEditor.NodeCollection} array element array
|
|
70
79
|
* @param {Node} item The element to find index
|
|
71
80
|
* @returns {number}
|
|
72
81
|
*/
|
|
73
|
-
export function nextIndex(array:
|
|
82
|
+
export function nextIndex(array: SunEditor.NodeCollection, item: Node): number;
|
|
74
83
|
/**
|
|
75
84
|
* @description Get the previous index of the argument value in the element array
|
|
76
|
-
* @param {
|
|
85
|
+
* @param {SunEditor.NodeCollection} array Element array
|
|
77
86
|
* @param {Node} item The element to find index
|
|
78
87
|
* @returns {number}
|
|
79
88
|
*/
|
|
80
|
-
export function prevIndex(array:
|
|
89
|
+
export function prevIndex(array: SunEditor.NodeCollection, item: Node): number;
|
|
81
90
|
/**
|
|
82
91
|
* @description Add style and className of copyEl to originEl
|
|
83
92
|
* @param {Node} originEl Origin element
|
|
84
93
|
* @param {Node} copyEl Element to copy
|
|
85
|
-
* @param {?Array<string
|
|
94
|
+
* @param {?Array<string>} [blacklist] Blacklist array(LowerCase)
|
|
86
95
|
*/
|
|
87
|
-
export function copyTagAttributes(originEl: Node, copyEl: Node, blacklist?:
|
|
96
|
+
export function copyTagAttributes(originEl: Node, copyEl: Node, blacklist?: Array<string> | null): void;
|
|
88
97
|
/**
|
|
89
|
-
* @description Copy and apply attributes of format tag that should be maintained. (style, class) Ignore
|
|
98
|
+
* @description Copy and apply attributes of format tag that should be maintained. (style, class) Ignore `__se__format__` class
|
|
90
99
|
* @param {Node} originEl Origin element
|
|
91
100
|
* @param {Node} copyEl Element to copy
|
|
92
101
|
*/
|
|
@@ -111,24 +120,24 @@ export function changeTxt(node: Node, txt: string): void;
|
|
|
111
120
|
/**
|
|
112
121
|
* @description Set style, if all styles are deleted, the style properties are deleted.
|
|
113
122
|
* @param {Node|Node[]} elements Element to set style
|
|
114
|
-
* @param {string} styleName Style attribute name (marginLeft
|
|
123
|
+
* @param {string} styleName Style attribute name (`marginLeft`, `textAlign`...)
|
|
115
124
|
* @param {string|number} value Style value
|
|
116
125
|
*/
|
|
117
126
|
export function setStyle(elements: Node | Node[], styleName: string, value: string | number): void;
|
|
118
127
|
/**
|
|
119
128
|
* @description Gets the style value of the element. If the elements is an array, the style of the first element is returned.
|
|
120
129
|
* @param {Node} element Element to get style from.
|
|
121
|
-
* @param {string} styleName Style attribute name (e.g.,
|
|
122
|
-
* @returns {string | undefined} The value of the style attribute, or undefined if the element does not exist.
|
|
130
|
+
* @param {string} styleName Style attribute name (e.g., `marginLeft`, `textAlign`).
|
|
131
|
+
* @returns {string | undefined} The value of the style attribute, or `undefined` if the element does not exist.
|
|
123
132
|
*/
|
|
124
133
|
export function getStyle(element: Node, styleName: string): string | undefined;
|
|
125
134
|
/**
|
|
126
|
-
* @description In the predefined code view mode, the buttons except the executable button are changed to the
|
|
127
|
-
* @param {
|
|
135
|
+
* @description In the predefined code view mode, the buttons except the executable button are changed to the `disabled` state.
|
|
136
|
+
* @param {SunEditor.NodeCollection} buttonList (Button | Input) Element array
|
|
128
137
|
* @param {boolean} disabled Disabled value
|
|
129
138
|
* @param {boolean} [important=false] If priveleged mode should be used (Necessary to switch importantDisabled buttons)
|
|
130
139
|
*/
|
|
131
|
-
export function setDisabled(buttonList:
|
|
140
|
+
export function setDisabled(buttonList: SunEditor.NodeCollection, disabled: boolean, important?: boolean): void;
|
|
132
141
|
/**
|
|
133
142
|
* @description Determine whether any of the matched elements are assigned the given class
|
|
134
143
|
* @param {?Node} element Elements to search class name
|
|
@@ -138,16 +147,16 @@ export function setDisabled(buttonList: Array<HTMLButtonElement | HTMLInputEleme
|
|
|
138
147
|
export function hasClass(element: Node | null, className: string): boolean;
|
|
139
148
|
/**
|
|
140
149
|
* @description Append the className value of the argument value element
|
|
141
|
-
* @param {Node|
|
|
150
|
+
* @param {Node|SunEditor.NodeCollection} element Elements to add class name
|
|
142
151
|
* @param {string} className Class name to be add
|
|
143
152
|
*/
|
|
144
|
-
export function addClass(element: Node |
|
|
153
|
+
export function addClass(element: Node | SunEditor.NodeCollection, className: string): void;
|
|
145
154
|
/**
|
|
146
155
|
* @description Delete the className value of the argument value element
|
|
147
|
-
* @param {Node|
|
|
156
|
+
* @param {Node|SunEditor.NodeCollection} element Elements to remove class name
|
|
148
157
|
* @param {string} className Class name to be remove
|
|
149
158
|
*/
|
|
150
|
-
export function removeClass(element: Node |
|
|
159
|
+
export function removeClass(element: Node | SunEditor.NodeCollection, className: string): void;
|
|
151
160
|
/**
|
|
152
161
|
* @description Argument value If there is no class name, insert it and delete the class name if it exists
|
|
153
162
|
* @param {Node} element Element to replace class name
|
|
@@ -181,13 +190,13 @@ export function getViewportSize(): {
|
|
|
181
190
|
scale: number;
|
|
182
191
|
};
|
|
183
192
|
/**
|
|
184
|
-
* @description Copies the
|
|
185
|
-
* @param {Node} wwTarget Target element to copy(
|
|
186
|
-
* @param {boolean} includeWW Include the
|
|
187
|
-
* @param {
|
|
193
|
+
* @description Copies the `wwTarget` element and returns it with inline all styles applied.
|
|
194
|
+
* @param {Node} wwTarget Target element to copy(`.sun-editor.sun-editor-editable`)
|
|
195
|
+
* @param {boolean} includeWW Include the `wwTarget` element in the copy
|
|
196
|
+
* @param {Iterable<string>} styles Style list - kamel case
|
|
188
197
|
* @returns
|
|
189
198
|
*/
|
|
190
|
-
export function applyInlineStylesAll(wwTarget: Node, includeWW: boolean, styles:
|
|
199
|
+
export function applyInlineStylesAll(wwTarget: Node, includeWW: boolean, styles: Iterable<string>): HTMLElement;
|
|
191
200
|
/**
|
|
192
201
|
* @description Wait for media elements to load
|
|
193
202
|
* @param {Node} target Target element
|
|
@@ -195,6 +204,18 @@ export function applyInlineStylesAll(wwTarget: Node, includeWW: boolean, styles:
|
|
|
195
204
|
* @returns {Promise<void>}
|
|
196
205
|
*/
|
|
197
206
|
export function waitForMediaLoad(target: Node, timeout?: number): Promise<void>;
|
|
207
|
+
/**
|
|
208
|
+
* @description Gets a CSS variable on the root element of the editor.
|
|
209
|
+
* @param {string} name - The CSS variable name (e.g. `--se-color-primary`)
|
|
210
|
+
* @return {string} The value of the CSS variable
|
|
211
|
+
*/
|
|
212
|
+
export function getRootCssVar(name: string): string;
|
|
213
|
+
/**
|
|
214
|
+
* @description Sets a CSS variable on the root element of the editor.
|
|
215
|
+
* @param {string} name - The CSS variable name (e.g. `--se-color-primary`)
|
|
216
|
+
* @param {string} value - The CSS variable value
|
|
217
|
+
*/
|
|
218
|
+
export function setRootCssVar(name: string, value: string): void;
|
|
198
219
|
/**
|
|
199
220
|
* @description Create tooltip HTML
|
|
200
221
|
* @param {string} text Tooltip text
|
|
@@ -230,5 +251,7 @@ declare namespace utils {
|
|
|
230
251
|
export { getViewportSize };
|
|
231
252
|
export { applyInlineStylesAll };
|
|
232
253
|
export { waitForMediaLoad };
|
|
254
|
+
export { getRootCssVar };
|
|
255
|
+
export { setRootCssVar };
|
|
233
256
|
export { createTooltipInner };
|
|
234
257
|
}
|
|
@@ -1,9 +1,95 @@
|
|
|
1
|
+
import type {} from '../../typedef';
|
|
2
|
+
export const domQuery: {
|
|
3
|
+
getPositionIndex: typeof import('./domQuery').getPositionIndex;
|
|
4
|
+
getNodePath: typeof import('./domQuery').getNodePath;
|
|
5
|
+
getNodeFromPath: typeof import('./domQuery').getNodeFromPath;
|
|
6
|
+
getChildNode: typeof import('./domQuery').getChildNode;
|
|
7
|
+
getListChildren: typeof import('./domQuery').getListChildren;
|
|
8
|
+
getListChildNodes: typeof import('./domQuery').getListChildNodes;
|
|
9
|
+
getNodeDepth: typeof import('./domQuery').getNodeDepth;
|
|
10
|
+
sortNodeByDepth: typeof import('./domQuery').sortNodeByDepth;
|
|
11
|
+
compareElements: typeof import('./domQuery').compareElements;
|
|
12
|
+
getParentElement: typeof import('./domQuery').getParentElement;
|
|
13
|
+
getParentElements: typeof import('./domQuery').getParentElements;
|
|
14
|
+
getCommandTarget: typeof import('./domQuery').getCommandTarget;
|
|
15
|
+
getEventTarget: typeof import('./domQuery').getEventTarget;
|
|
16
|
+
getEdgeChild: typeof import('./domQuery').getEdgeChild;
|
|
17
|
+
getEdgeChildNodes: typeof import('./domQuery').getEdgeChildNodes;
|
|
18
|
+
getPreviousDeepestNode: typeof import('./domQuery').getPreviousDeepestNode;
|
|
19
|
+
getNextDeepestNode: typeof import('./domQuery').getNextDeepestNode;
|
|
20
|
+
findTextIndexOnLine: typeof import('./domQuery').findTextIndexOnLine;
|
|
21
|
+
findTabEndIndex: typeof import('./domQuery').findTabEndIndex;
|
|
22
|
+
findVisualLastCell: typeof import('./domQuery').findVisualLastCell;
|
|
23
|
+
getScrollParents: typeof import('./domQuery').getScrollParents;
|
|
24
|
+
getIframeDocument: typeof import('./domQuery').getIframeDocument;
|
|
25
|
+
};
|
|
26
|
+
export const domCheck: {
|
|
27
|
+
isZeroWidth: typeof import('./domCheck').isZeroWidth;
|
|
28
|
+
isEdgePoint: typeof import('./domCheck').isEdgePoint;
|
|
29
|
+
isText: typeof import('./domCheck').isText;
|
|
30
|
+
isElement: typeof import('./domCheck').isElement;
|
|
31
|
+
isInputElement: typeof import('./domCheck').isInputElement;
|
|
32
|
+
isButtonElement: typeof import('./domCheck').isButtonElement;
|
|
33
|
+
isList: typeof import('./domCheck').isList;
|
|
34
|
+
isListCell: typeof import('./domCheck').isListCell;
|
|
35
|
+
isTable: typeof import('./domCheck').isTable;
|
|
36
|
+
isTableElements: typeof import('./domCheck').isTableElements;
|
|
37
|
+
isTableCell: typeof import('./domCheck').isTableCell;
|
|
38
|
+
isTableRow: typeof import('./domCheck').isTableRow;
|
|
39
|
+
isBreak: typeof import('./domCheck').isBreak;
|
|
40
|
+
isAnchor: typeof import('./domCheck').isAnchor;
|
|
41
|
+
isMedia: typeof import('./domCheck').isMedia;
|
|
42
|
+
isIFrame: typeof import('./domCheck').isIFrame;
|
|
43
|
+
isFigure: typeof import('./domCheck').isFigure;
|
|
44
|
+
isContentLess: typeof import('./domCheck').isContentLess;
|
|
45
|
+
isEmptyLine: typeof import('./domCheck').isEmptyLine;
|
|
46
|
+
isComponentContainer: typeof import('./domCheck').isComponentContainer;
|
|
47
|
+
isWysiwygFrame: typeof import('./domCheck').isWysiwygFrame;
|
|
48
|
+
isNonEditable: typeof import('./domCheck').isNonEditable;
|
|
49
|
+
isSpanWithoutAttr: typeof import('./domCheck').isSpanWithoutAttr;
|
|
50
|
+
isSameAttributes: typeof import('./domCheck').isSameAttributes;
|
|
51
|
+
isExcludeFormat: typeof import('./domCheck').isExcludeFormat;
|
|
52
|
+
isUneditable: typeof import('./domCheck').isUneditable;
|
|
53
|
+
isImportantDisabled: typeof import('./domCheck').isImportantDisabled;
|
|
54
|
+
};
|
|
55
|
+
export const domUtils: {
|
|
56
|
+
clone: typeof import('./domUtils').clone;
|
|
57
|
+
createElement: typeof import('./domUtils').createElement;
|
|
58
|
+
createTextNode: typeof import('./domUtils').createTextNode;
|
|
59
|
+
getAttributesToString: typeof import('./domUtils').getAttributesToString;
|
|
60
|
+
arrayFilter: typeof import('./domUtils').arrayFilter;
|
|
61
|
+
arrayFind: typeof import('./domUtils').arrayFind;
|
|
62
|
+
arrayIncludes: typeof import('./domUtils').arrayIncludes;
|
|
63
|
+
getArrayIndex: typeof import('./domUtils').getArrayIndex;
|
|
64
|
+
nextIndex: typeof import('./domUtils').nextIndex;
|
|
65
|
+
prevIndex: typeof import('./domUtils').prevIndex;
|
|
66
|
+
copyTagAttributes: typeof import('./domUtils').copyTagAttributes;
|
|
67
|
+
copyFormatAttributes: typeof import('./domUtils').copyFormatAttributes;
|
|
68
|
+
removeItem: typeof import('./domUtils').removeItem;
|
|
69
|
+
changeElement: typeof import('./domUtils').changeElement;
|
|
70
|
+
changeTxt: typeof import('./domUtils').changeTxt;
|
|
71
|
+
setStyle: typeof import('./domUtils').setStyle;
|
|
72
|
+
getStyle: typeof import('./domUtils').getStyle;
|
|
73
|
+
setDisabled: typeof import('./domUtils').setDisabled;
|
|
74
|
+
hasClass: typeof import('./domUtils').hasClass;
|
|
75
|
+
addClass: typeof import('./domUtils').addClass;
|
|
76
|
+
removeClass: typeof import('./domUtils').removeClass;
|
|
77
|
+
toggleClass: typeof import('./domUtils').toggleClass;
|
|
78
|
+
flashClass: typeof import('./domUtils').flashClass;
|
|
79
|
+
getClientSize: typeof import('./domUtils').getClientSize;
|
|
80
|
+
getViewportSize: typeof import('./domUtils').getViewportSize;
|
|
81
|
+
applyInlineStylesAll: typeof import('./domUtils').applyInlineStylesAll;
|
|
82
|
+
waitForMediaLoad: typeof import('./domUtils').waitForMediaLoad;
|
|
83
|
+
getRootCssVar: typeof import('./domUtils').getRootCssVar;
|
|
84
|
+
setRootCssVar: typeof import('./domUtils').setRootCssVar;
|
|
85
|
+
createTooltipInner: typeof import('./domUtils').createTooltipInner;
|
|
86
|
+
};
|
|
1
87
|
export default dom;
|
|
2
88
|
declare namespace dom {
|
|
3
89
|
export { query };
|
|
4
90
|
export { check };
|
|
5
91
|
export { utils };
|
|
6
92
|
}
|
|
7
|
-
import query from './domQuery';
|
|
8
93
|
import check from './domCheck';
|
|
94
|
+
import query from './domQuery';
|
|
9
95
|
import utils from './domUtils';
|
package/types/helper/env.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
import type {} from '../typedef';
|
|
1
2
|
/**
|
|
2
|
-
* @description Gets XMLHttpRequest object
|
|
3
|
+
* @description Gets `XMLHttpRequest` object
|
|
3
4
|
* @returns {XMLHttpRequest}
|
|
4
5
|
*/
|
|
5
6
|
export function getXMLHttpRequest(): XMLHttpRequest;
|
|
6
7
|
/**
|
|
7
8
|
* @deprecated
|
|
8
9
|
* @description Returns the CSS text that has been applied to the current page.
|
|
9
|
-
* @param {Document
|
|
10
|
+
* @param {?Document} doc To get the CSS text of an document. If `null` get the current document.
|
|
10
11
|
* @returns {string} Styles string
|
|
11
12
|
*/
|
|
12
13
|
export function getPageStyle(doc: Document | null): string;
|
|
@@ -15,14 +16,11 @@ export function getPageStyle(doc: Document | null): string;
|
|
|
15
16
|
* @description Get the the tag path of the arguments value
|
|
16
17
|
* @param {Array<string>} nameArray File name array
|
|
17
18
|
* @param {string} extension js, css
|
|
18
|
-
* @returns {string} If not found, return the first found value
|
|
19
|
+
* @returns {string} If not found, return the first found value.
|
|
19
20
|
*/
|
|
20
21
|
export function getIncludePath(nameArray: Array<string>, extension: string): string;
|
|
21
|
-
/**
|
|
22
|
-
|
|
23
|
-
*/
|
|
24
|
-
/** @type {Window} */
|
|
25
|
-
export const _w: Window;
|
|
22
|
+
/** @type {SunEditor.GlobalWindow} */
|
|
23
|
+
export const _w: SunEditor.GlobalWindow;
|
|
26
24
|
/** @type {Document} */
|
|
27
25
|
export const _d: Document;
|
|
28
26
|
/**
|
|
@@ -37,13 +35,13 @@ export const NO_EVENT: symbol;
|
|
|
37
35
|
export const ON_OVER_COMPONENT: symbol;
|
|
38
36
|
/** --- Check browser --- */
|
|
39
37
|
/**
|
|
40
|
-
* @description Check if support ResizeObserver function
|
|
41
|
-
* @returns {boolean} Whether support ResizeObserver function or not.
|
|
38
|
+
* @description Check if support `ResizeObserver` function
|
|
39
|
+
* @returns {boolean} Whether support `ResizeObserver` function or not.
|
|
42
40
|
*/
|
|
43
41
|
export const isResizeObserverSupported: boolean;
|
|
44
42
|
/**
|
|
45
|
-
* @description Check if support navigator.clipboard
|
|
46
|
-
* @returns {boolean} Whether support navigator.clipboard or not.
|
|
43
|
+
* @description Check if support `navigator.clipboard`
|
|
44
|
+
* @returns {boolean} Whether support `navigator.clipboard` or not.
|
|
47
45
|
*/
|
|
48
46
|
export const isClipboardSupported: boolean;
|
|
49
47
|
/**
|
|
@@ -78,10 +76,14 @@ export const isChromium: boolean;
|
|
|
78
76
|
export const isSafari: boolean;
|
|
79
77
|
/**
|
|
80
78
|
* @description Check if User Agent is Mobile device.
|
|
81
|
-
* - when the device is touchable, it is judged as a mobile device.
|
|
82
79
|
* @type {boolean}
|
|
83
80
|
*/
|
|
84
81
|
export const isMobile: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* @description Check if the device is touchable.
|
|
84
|
+
* @type {boolean}
|
|
85
|
+
*/
|
|
86
|
+
export const isTouchDevice: boolean;
|
|
85
87
|
/**
|
|
86
88
|
* @description Check if User Agent is Android mobile device.
|
|
87
89
|
* @type {boolean}
|
|
@@ -124,6 +126,7 @@ declare namespace env {
|
|
|
124
126
|
export { isOSX_IOS };
|
|
125
127
|
export { isAndroid };
|
|
126
128
|
export { isMobile };
|
|
129
|
+
export { isTouchDevice };
|
|
127
130
|
export { cmdIcon };
|
|
128
131
|
export { shiftIcon };
|
|
129
132
|
export { DPI };
|
package/types/helper/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import type {} from '../typedef';
|
|
1
2
|
export const env: {
|
|
2
|
-
_w:
|
|
3
|
+
_w: SunEditor.GlobalWindow;
|
|
3
4
|
_d: Document;
|
|
4
5
|
NO_EVENT: symbol;
|
|
5
6
|
ON_OVER_COMPONENT: symbol;
|
|
@@ -16,6 +17,7 @@ export const env: {
|
|
|
16
17
|
isOSX_IOS: boolean;
|
|
17
18
|
isAndroid: boolean;
|
|
18
19
|
isMobile: boolean;
|
|
20
|
+
isTouchDevice: boolean;
|
|
19
21
|
cmdIcon: string;
|
|
20
22
|
shiftIcon: string;
|
|
21
23
|
DPI: number;
|
|
@@ -59,6 +61,7 @@ export const dom: {
|
|
|
59
61
|
getPositionIndex: typeof import('./dom/domQuery').getPositionIndex;
|
|
60
62
|
getNodePath: typeof import('./dom/domQuery').getNodePath;
|
|
61
63
|
getNodeFromPath: typeof import('./dom/domQuery').getNodeFromPath;
|
|
64
|
+
getChildNode: typeof import('./dom/domQuery').getChildNode;
|
|
62
65
|
getListChildren: typeof import('./dom/domQuery').getListChildren;
|
|
63
66
|
getListChildNodes: typeof import('./dom/domQuery').getListChildNodes;
|
|
64
67
|
getNodeDepth: typeof import('./dom/domQuery').getNodeDepth;
|
|
@@ -75,7 +78,7 @@ export const dom: {
|
|
|
75
78
|
findTextIndexOnLine: typeof import('./dom/domQuery').findTextIndexOnLine;
|
|
76
79
|
findTabEndIndex: typeof import('./dom/domQuery').findTabEndIndex;
|
|
77
80
|
findVisualLastCell: typeof import('./dom/domQuery').findVisualLastCell;
|
|
78
|
-
|
|
81
|
+
getScrollParents: typeof import('./dom/domQuery').getScrollParents;
|
|
79
82
|
getIframeDocument: typeof import('./dom/domQuery').getIframeDocument;
|
|
80
83
|
};
|
|
81
84
|
check: {
|
|
@@ -98,6 +101,7 @@ export const dom: {
|
|
|
98
101
|
isFigure: typeof import('./dom/domCheck').isFigure;
|
|
99
102
|
isContentLess: typeof import('./dom/domCheck').isContentLess;
|
|
100
103
|
isEmptyLine: typeof import('./dom/domCheck').isEmptyLine;
|
|
104
|
+
isComponentContainer: typeof import('./dom/domCheck').isComponentContainer;
|
|
101
105
|
isWysiwygFrame: typeof import('./dom/domCheck').isWysiwygFrame;
|
|
102
106
|
isNonEditable: typeof import('./dom/domCheck').isNonEditable;
|
|
103
107
|
isSpanWithoutAttr: typeof import('./dom/domCheck').isSpanWithoutAttr;
|
|
@@ -134,6 +138,8 @@ export const dom: {
|
|
|
134
138
|
getViewportSize: typeof import('./dom/domUtils').getViewportSize;
|
|
135
139
|
applyInlineStylesAll: typeof import('./dom/domUtils').applyInlineStylesAll;
|
|
136
140
|
waitForMediaLoad: typeof import('./dom/domUtils').waitForMediaLoad;
|
|
141
|
+
getRootCssVar: typeof import('./dom/domUtils').getRootCssVar;
|
|
142
|
+
setRootCssVar: typeof import('./dom/domUtils').setRootCssVar;
|
|
137
143
|
createTooltipInner: typeof import('./dom/domUtils').createTooltipInner;
|
|
138
144
|
};
|
|
139
145
|
};
|
|
@@ -1,92 +1,93 @@
|
|
|
1
|
+
import type {} from '../typedef';
|
|
1
2
|
/** ------------------------------------------------------- [meta] ------------------------------------------------------- */
|
|
2
3
|
/**
|
|
3
|
-
* @description Shift check
|
|
4
|
+
* @description `Shift` check
|
|
4
5
|
* @param {KeyboardEvent} e Event object
|
|
5
6
|
* @returns {boolean}
|
|
6
7
|
*/
|
|
7
8
|
export function isShift(e: KeyboardEvent): boolean;
|
|
8
9
|
/**
|
|
9
|
-
* @description [Ctrl
|
|
10
|
+
* @description [`Ctrl`|`Meta`] check
|
|
10
11
|
* @param {KeyboardEvent} e Event object
|
|
11
12
|
* @returns {boolean}
|
|
12
13
|
*/
|
|
13
14
|
export function isCtrl(e: KeyboardEvent): boolean;
|
|
14
15
|
/**
|
|
15
|
-
* @description Alt check
|
|
16
|
+
* @description `Alt` check
|
|
16
17
|
* @param {KeyboardEvent} e Event object
|
|
17
18
|
* @returns {boolean}
|
|
18
19
|
*/
|
|
19
20
|
export function isAlt(e: KeyboardEvent): boolean;
|
|
20
21
|
/**
|
|
21
|
-
* @description event.
|
|
22
|
-
* @param {KeyboardEvent} e Event object
|
|
22
|
+
* @description Check if the event is related to IME composition (in-progress or commit).
|
|
23
|
+
* @param {KeyboardEvent|InputEvent} e Event object
|
|
23
24
|
* @returns {boolean}
|
|
24
25
|
*/
|
|
25
|
-
export function isComposing(e: KeyboardEvent): boolean;
|
|
26
|
+
export function isComposing(e: KeyboardEvent | InputEvent): boolean;
|
|
26
27
|
/**
|
|
27
|
-
* @description Backspace key check
|
|
28
|
-
* @param {string} code Event.code
|
|
28
|
+
* @description `Backspace` key check
|
|
29
|
+
* @param {string} code `Event.code`
|
|
29
30
|
* @returns {boolean}
|
|
30
31
|
*/
|
|
31
32
|
export function isBackspace(code: string): boolean;
|
|
32
33
|
/**
|
|
33
|
-
* @description Tab key check
|
|
34
|
-
* @param {string} code Event.code
|
|
34
|
+
* @description `Tab` key check
|
|
35
|
+
* @param {string} code `Event.code`
|
|
35
36
|
* @returns {boolean}
|
|
36
37
|
*/
|
|
37
38
|
export function isTab(code: string): boolean;
|
|
38
39
|
/**
|
|
39
|
-
* @description Enter key check
|
|
40
|
-
* @param {string} code Event.code
|
|
40
|
+
* @description `Enter` key check
|
|
41
|
+
* @param {string} code `Event.code`
|
|
41
42
|
* @returns {boolean}
|
|
42
43
|
*/
|
|
43
44
|
export function isEnter(code: string): boolean;
|
|
44
45
|
/**
|
|
45
|
-
* @description ESC key check
|
|
46
|
-
* @param {string} code Event.code
|
|
46
|
+
* @description `ESC` key check
|
|
47
|
+
* @param {string} code `Event.code`
|
|
47
48
|
* @returns {boolean}
|
|
48
49
|
*/
|
|
49
50
|
export function isEsc(code: string): boolean;
|
|
50
51
|
/**
|
|
51
|
-
* @description Space key check
|
|
52
|
-
* @param {string} code Event.code
|
|
52
|
+
* @description `Space` key check
|
|
53
|
+
* @param {string} code `Event.code`
|
|
53
54
|
* @returns {boolean}
|
|
54
55
|
*/
|
|
55
56
|
export function isSpace(code: string): boolean;
|
|
56
57
|
/** ------------------------------------------------------- [key] ------------------------------------------------------- */
|
|
57
58
|
/**
|
|
58
59
|
* @description Direction key check
|
|
59
|
-
* @param {string} code Event.code
|
|
60
|
+
* @param {string} code `Event.code`
|
|
60
61
|
* @returns {boolean}
|
|
61
62
|
*/
|
|
62
63
|
export function isDirectionKey(code: string): boolean;
|
|
63
64
|
/**
|
|
64
|
-
* @description [delete
|
|
65
|
-
* @param {string} code Event.code
|
|
65
|
+
* @description [`delete`, `backspace`] key check
|
|
66
|
+
* @param {string} code `Event.code`
|
|
66
67
|
* @returns {boolean}
|
|
67
68
|
*/
|
|
68
69
|
export function isRemoveKey(code: string): boolean;
|
|
69
70
|
/**
|
|
70
71
|
* @description Non-text key check
|
|
71
|
-
* @param {string} code Event.code
|
|
72
|
+
* @param {string} code `Event.code`
|
|
72
73
|
* @returns {boolean}
|
|
73
74
|
*/
|
|
74
75
|
export function isNonTextKey(code: string): boolean;
|
|
75
76
|
/**
|
|
76
77
|
* @description Check if the given key is relevant for history push
|
|
77
|
-
* @param {string} code - Event.code
|
|
78
|
+
* @param {string} code - `Event.code`
|
|
78
79
|
* @returns {boolean}
|
|
79
80
|
*/
|
|
80
81
|
export function isHistoryRelevantKey(code: string): boolean;
|
|
81
82
|
/**
|
|
82
83
|
* @description Document type observer key check
|
|
83
|
-
* @param {string} code Event.code
|
|
84
|
+
* @param {string} code `Event.code`
|
|
84
85
|
* @returns {boolean}
|
|
85
86
|
*/
|
|
86
87
|
export function isDocumentTypeObserverKey(code: string): boolean;
|
|
87
88
|
/**
|
|
88
89
|
* @description Non-response key check
|
|
89
|
-
* @param {string} code Event.code
|
|
90
|
+
* @param {string} code `Event.code`
|
|
90
91
|
* @returns {boolean}
|
|
91
92
|
*/
|
|
92
93
|
export function isNonResponseKey(code: string): boolean;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* @fileoverview Number-related helper functions
|
|
3
|
-
*/
|
|
1
|
+
import type {} from '../typedef';
|
|
4
2
|
/**
|
|
5
3
|
* @description Checks for numeric (with decimal point).
|
|
6
4
|
* @param {*} text Text string or number
|
|
@@ -10,13 +8,13 @@ export function is(text: any): boolean;
|
|
|
10
8
|
/**
|
|
11
9
|
* @description Get a number.
|
|
12
10
|
* @param {string|number} value Text string or number
|
|
13
|
-
* @param {number} [maxDec=0] Maximum number of decimal places (
|
|
11
|
+
* @param {number} [maxDec=0] Maximum number of decimal places (`-1` : `Infinity`)
|
|
14
12
|
* @returns {number}
|
|
15
13
|
*/
|
|
16
14
|
export function get(value: string | number, maxDec?: number): number;
|
|
17
15
|
/**
|
|
18
|
-
* @description It compares the start and end indexes of
|
|
19
|
-
* - e.g.) 1, 5, 4, 6 =>
|
|
16
|
+
* @description It compares the start and end indexes of `a` and `b` and returns the number of overlapping indexes in the range.
|
|
17
|
+
* - e.g.) 1, 5, 4, 6 => `2` (4,5)
|
|
20
18
|
* @param {number} aStart Start index of 'a'
|
|
21
19
|
* @param {number} aEnd End index of 'a'
|
|
22
20
|
* @param {number} bStart Start index of 'b'
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type {} from '../typedef';
|
|
1
2
|
/**
|
|
2
3
|
* @description Escape a string for safe use in regular expressions.
|
|
3
4
|
* @param {string} string String to escape
|
|
@@ -5,17 +6,17 @@
|
|
|
5
6
|
*/
|
|
6
7
|
export function escapeStringRegexp(string: string): string;
|
|
7
8
|
/**
|
|
8
|
-
* @description Unicode Character
|
|
9
|
+
* @description Unicode Character `ZERO WIDTH SPACE` (`\u200B`)
|
|
9
10
|
* @type {string}
|
|
10
11
|
*/
|
|
11
12
|
export const zeroWidthSpace: string;
|
|
12
13
|
/**
|
|
13
|
-
* @description Regular expression to find
|
|
14
|
+
* @description Regular expression to find `zero width space` (`/\u200B/g`)
|
|
14
15
|
* @type {RegExp}
|
|
15
16
|
*/
|
|
16
17
|
export const zeroWidthRegExp: RegExp;
|
|
17
18
|
/**
|
|
18
|
-
* @description Regular expression to find only
|
|
19
|
+
* @description Regular expression to find only `zero width space` (`/\u200B/g`)
|
|
19
20
|
* @type {RegExp}
|
|
20
21
|
*/
|
|
21
22
|
export const onlyZeroWidthRegExp: RegExp;
|