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
package/src/helper/env.js
CHANGED
|
@@ -1,56 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Environment helper functions
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/** @type {Window} */
|
|
1
6
|
export const _w = window;
|
|
7
|
+
/** @type {Document} */
|
|
2
8
|
export const _d = document;
|
|
3
9
|
|
|
4
|
-
export const NO_EVENT = Symbol('noEventHandler');
|
|
5
|
-
export const ON_OVER_COMPONENT = Symbol('onOverComponent');
|
|
6
|
-
|
|
7
|
-
const userAgent = _w.navigator.userAgent.toLowerCase();
|
|
8
|
-
|
|
9
10
|
/**
|
|
10
|
-
* @description
|
|
11
|
-
* @
|
|
12
|
-
* @returns {Array.<any>}
|
|
11
|
+
* @description No event symbol
|
|
12
|
+
* @type {Symbol}
|
|
13
13
|
*/
|
|
14
|
-
export
|
|
15
|
-
return !obj
|
|
16
|
-
? []
|
|
17
|
-
: Object.keys(obj).map(function (i) {
|
|
18
|
-
return obj[i];
|
|
19
|
-
});
|
|
20
|
-
}
|
|
14
|
+
export const NO_EVENT = Symbol('noEventHandler');
|
|
21
15
|
|
|
22
16
|
/**
|
|
23
|
-
* @description
|
|
24
|
-
* @
|
|
17
|
+
* @description On over component symbol
|
|
18
|
+
* @type {Symbol}
|
|
25
19
|
*/
|
|
26
|
-
export
|
|
27
|
-
if (typeof param === 'string') {
|
|
28
|
-
return param.replace(/[A-Z]/g, (letter) => '-' + letter.toLowerCase());
|
|
29
|
-
} else {
|
|
30
|
-
return param.map(function (str) {
|
|
31
|
-
return camelToKebabCase(str);
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
}
|
|
20
|
+
export const ON_OVER_COMPONENT = Symbol('onOverComponent');
|
|
35
21
|
|
|
36
|
-
|
|
37
|
-
* @description Convert the KebabCase To the CamelCase.
|
|
38
|
-
* @param {String|Array} param [KebabCase string]
|
|
39
|
-
* @returns {String|Array}
|
|
40
|
-
*/
|
|
41
|
-
export function kebabToCamelCase(param) {
|
|
42
|
-
if (typeof param === 'string') {
|
|
43
|
-
return param.replace(/-[a-zA-Z]/g, (letter) => letter.replace('-', '').toUpperCase());
|
|
44
|
-
} else {
|
|
45
|
-
return param.map(function (str) {
|
|
46
|
-
return camelToKebabCase(str);
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
}
|
|
22
|
+
const userAgent = navigator.userAgent.toLowerCase();
|
|
50
23
|
|
|
51
24
|
/**
|
|
52
25
|
* @description Gets XMLHttpRequest object
|
|
53
|
-
* @returns {XMLHttpRequest
|
|
26
|
+
* @returns {XMLHttpRequest}
|
|
54
27
|
*/
|
|
55
28
|
export function getXMLHttpRequest() {
|
|
56
29
|
return new XMLHttpRequest();
|
|
@@ -67,11 +40,13 @@ export function getPageStyle(doc) {
|
|
|
67
40
|
const sheets = (doc || _d).styleSheets;
|
|
68
41
|
|
|
69
42
|
for (let i = 0, len = sheets.length, rules; i < len; i++) {
|
|
43
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
70
44
|
try {
|
|
71
45
|
rules = sheets[i].cssRules;
|
|
72
46
|
} catch (e) {
|
|
73
47
|
continue;
|
|
74
48
|
}
|
|
49
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
75
50
|
|
|
76
51
|
if (rules) {
|
|
77
52
|
for (let c = 0, cLen = rules.length; c < cLen; c++) {
|
|
@@ -86,10 +61,9 @@ export function getPageStyle(doc) {
|
|
|
86
61
|
/**
|
|
87
62
|
* @deprecated
|
|
88
63
|
* @description Get the the tag path of the arguments value
|
|
89
|
-
*
|
|
90
|
-
* @param {Array.<string>} nameArray File name array
|
|
64
|
+
* @param {Array<string>} nameArray File name array
|
|
91
65
|
* @param {string} extension js, css
|
|
92
|
-
* @returns {string}
|
|
66
|
+
* @returns {string} If not found, return the first found value
|
|
93
67
|
*/
|
|
94
68
|
export function getIncludePath(nameArray, extension) {
|
|
95
69
|
let path = '';
|
|
@@ -122,7 +96,7 @@ export function getIncludePath(nameArray, extension) {
|
|
|
122
96
|
if (path === '') path = pathList.length > 0 ? pathList[0][src] : '';
|
|
123
97
|
|
|
124
98
|
if (!path.includes(':/') && '//' !== path.slice(0, 2)) {
|
|
125
|
-
path =
|
|
99
|
+
path = false === path.includes('/') ? location.href.match(/^.*?:\/\/[^/]*/)[0] + path : location.href.match(/^[^?]*\/(?:)/)[0] + path;
|
|
126
100
|
}
|
|
127
101
|
|
|
128
102
|
if (!path) {
|
|
@@ -141,20 +115,29 @@ export const isResizeObserverSupported = (() => {
|
|
|
141
115
|
return typeof ResizeObserver === 'function';
|
|
142
116
|
})();
|
|
143
117
|
|
|
118
|
+
/**
|
|
119
|
+
* @description Check if support navigator.clipboard
|
|
120
|
+
* @returns {boolean} Whether support navigator.clipboard or not.
|
|
121
|
+
*/
|
|
122
|
+
export const isClipboardSupported = (() => {
|
|
123
|
+
/* eslint-disable-next-line compat/compat */
|
|
124
|
+
return typeof navigator.clipboard?.write === 'function';
|
|
125
|
+
})();
|
|
126
|
+
|
|
144
127
|
/**
|
|
145
128
|
* @description Check if User Agent is Edge
|
|
146
129
|
* @returns {boolean} Whether User Agent is Edge or not.
|
|
147
130
|
*/
|
|
148
131
|
export const isEdge = (() => {
|
|
149
|
-
return navigator.
|
|
132
|
+
return /Edg/.test(navigator.userAgent);
|
|
150
133
|
})();
|
|
151
134
|
|
|
152
135
|
/**
|
|
153
|
-
* @description Check if
|
|
136
|
+
* @description Check if User Agent is OSX or IOS
|
|
154
137
|
* @type {boolean}
|
|
155
138
|
*/
|
|
156
139
|
export const isOSX_IOS = (() => {
|
|
157
|
-
return /(Mac|iPhone|iPod|iPad)/.test(navigator.
|
|
140
|
+
return /(Mac|iPhone|iPod|iPad)/.test(navigator.userAgent);
|
|
158
141
|
})();
|
|
159
142
|
|
|
160
143
|
/**
|
|
@@ -178,7 +161,7 @@ export const isGecko = (() => {
|
|
|
178
161
|
* @type {boolean}
|
|
179
162
|
*/
|
|
180
163
|
export const isChromium = (() => {
|
|
181
|
-
return !!
|
|
164
|
+
return !!(/** @type {Window & { chrome: any }} */ (_w).chrome);
|
|
182
165
|
})();
|
|
183
166
|
|
|
184
167
|
/**
|
|
@@ -191,11 +174,12 @@ export const isSafari = (() => {
|
|
|
191
174
|
|
|
192
175
|
/**
|
|
193
176
|
* @description Check if User Agent is Mobile device.
|
|
194
|
-
* when the device is touchable, it is judged as a mobile device.
|
|
177
|
+
* - when the device is touchable, it is judged as a mobile device.
|
|
195
178
|
* @type {boolean}
|
|
196
179
|
*/
|
|
197
180
|
export const isMobile = (() => {
|
|
198
|
-
|
|
181
|
+
/* eslint-disable-next-line compat/compat */
|
|
182
|
+
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent) || (navigator.maxTouchPoints > 0 && 'ontouchstart' in _w);
|
|
199
183
|
})();
|
|
200
184
|
|
|
201
185
|
/**
|
|
@@ -218,22 +202,26 @@ export const cmdIcon = isOSX_IOS ? '⌘' : 'CTRL';
|
|
|
218
202
|
*/
|
|
219
203
|
export const shiftIcon = isOSX_IOS ? '⇧' : '+SHIFT';
|
|
220
204
|
|
|
205
|
+
/**
|
|
206
|
+
* @description Device pixel ratio
|
|
207
|
+
* @type {number}
|
|
208
|
+
*/
|
|
209
|
+
export const DPI = _w.devicePixelRatio;
|
|
210
|
+
|
|
221
211
|
/** --- editor env --- */
|
|
222
|
-
export const _allowedEmptyNodeList = '.se-component, pre, blockquote, hr, li, table, img, iframe, video, audio, canvas, details';
|
|
223
212
|
export const KATEX_WEBSITE = 'https://katex.org/docs/supported.html';
|
|
213
|
+
export const MATHJAX_WEBSITE = 'https://www.mathjax.org/';
|
|
224
214
|
|
|
225
215
|
const env = {
|
|
226
216
|
_w,
|
|
227
217
|
_d,
|
|
228
218
|
NO_EVENT,
|
|
229
219
|
ON_OVER_COMPONENT,
|
|
230
|
-
getValues,
|
|
231
|
-
camelToKebabCase,
|
|
232
|
-
kebabToCamelCase,
|
|
233
220
|
getXMLHttpRequest,
|
|
234
221
|
getPageStyle,
|
|
235
222
|
getIncludePath,
|
|
236
223
|
isResizeObserverSupported,
|
|
224
|
+
isClipboardSupported,
|
|
237
225
|
isEdge,
|
|
238
226
|
isBlink,
|
|
239
227
|
isGecko,
|
|
@@ -244,7 +232,9 @@ const env = {
|
|
|
244
232
|
isMobile,
|
|
245
233
|
cmdIcon,
|
|
246
234
|
shiftIcon,
|
|
247
|
-
|
|
235
|
+
DPI,
|
|
236
|
+
KATEX_WEBSITE,
|
|
237
|
+
MATHJAX_WEBSITE
|
|
248
238
|
};
|
|
249
239
|
|
|
250
240
|
export default env;
|
package/src/helper/index.js
CHANGED
|
@@ -1,19 +1,25 @@
|
|
|
1
1
|
import Env from './env';
|
|
2
2
|
import Unicode from './unicode';
|
|
3
3
|
import Converter from './converter';
|
|
4
|
-
import
|
|
4
|
+
import Dom from './dom';
|
|
5
5
|
import Numbers from './numbers';
|
|
6
|
+
import KeyCodeMap from './keyCodeMap';
|
|
7
|
+
import Clipboard from './clipboard';
|
|
6
8
|
|
|
7
9
|
export const env = Env;
|
|
8
10
|
export const unicode = Unicode;
|
|
9
11
|
export const converter = Converter;
|
|
10
|
-
export const
|
|
12
|
+
export const dom = Dom;
|
|
11
13
|
export const numbers = Numbers;
|
|
14
|
+
export const keyCodeMap = KeyCodeMap;
|
|
15
|
+
export const clipboard = Clipboard;
|
|
12
16
|
|
|
13
17
|
export default {
|
|
14
18
|
env,
|
|
15
19
|
unicode,
|
|
16
20
|
converter,
|
|
17
|
-
|
|
18
|
-
numbers
|
|
21
|
+
dom,
|
|
22
|
+
numbers,
|
|
23
|
+
keyCodeMap,
|
|
24
|
+
clipboard
|
|
19
25
|
};
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview keyCode helper
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
const _arrow = 'ArrowLeft|ArrowUp|ArrowRight|ArrowDown';
|
|
6
|
+
const _fN = 'F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12';
|
|
7
|
+
// const DIR_KEYCODE = /^(3[7-9]|40)$/;
|
|
8
|
+
const DIR_KEYCODE = _arrow.split('|');
|
|
9
|
+
// const DELETE_KEYCODE = /^(8|46)$/;
|
|
10
|
+
const DELETE_KEYCODE = 'Backspace|Delete'.split('|');
|
|
11
|
+
// const NON_TEXT_KEYCODE = /^(8|9|13|1[6-9]|20|27|3[3-9]|40|45|46|11[2-9]|12[0-3]|144|145|229)$/;
|
|
12
|
+
const NON_TEXT_KEYCODE = `Backspace|Tab|Enter|ShiftLeft|ShiftRight|ControlLeft|ControlRight|AltLeft|AltRight|Pause|CapsLock|Escape|PageUp|PageDown|End|Home|${_arrow}|Insert|Delete|${_fN}|NumLock|ScrollLock`.split('|');
|
|
13
|
+
// const HISTORY_RELEVANT_KEYS = /^(9|13|46)$/;
|
|
14
|
+
const HISTORY_RELEVANT_KEYS = `Backspace|Enter|Delete`.split('|');
|
|
15
|
+
// const DOCUMENT_TYPE_OBSERVER_KEYCODE = /^(8|13|46)$/;
|
|
16
|
+
const DOCUMENT_TYPE_OBSERVER_KEYCODE = 'Backspace|Enter|Delete'.split('|');
|
|
17
|
+
// const NON_RESPONSE_KEYCODE = /^(1[7-9]|20|27|45|11[2-9]|12[0-3]|144|145)$/;
|
|
18
|
+
const NON_RESPONSE_CODE = `ControlLeft|ControlRight|AltLeft|AltRight|Pause|CapsLock|Escape|Insert|${_fN}|NumLock|ScrollLock`.split('|');
|
|
19
|
+
|
|
20
|
+
/** ------------------------------------------------------- [meta] ------------------------------------------------------- */
|
|
21
|
+
/**
|
|
22
|
+
* @description Shift check
|
|
23
|
+
* @param {KeyboardEvent} e Event object
|
|
24
|
+
* @returns {boolean}
|
|
25
|
+
*/
|
|
26
|
+
export function isShift(e) {
|
|
27
|
+
return e.shiftKey || e.keyCode === 16;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* @description [Ctrl|Meta] check
|
|
32
|
+
* @param {KeyboardEvent} e Event object
|
|
33
|
+
* @returns {boolean}
|
|
34
|
+
*/
|
|
35
|
+
export function isCtrl(e) {
|
|
36
|
+
const keyCode = e.code;
|
|
37
|
+
// return e.ctrlKey || e.metaKey || keyCode === 91 || keyCode === 92 || keyCode === 224;
|
|
38
|
+
return e.ctrlKey || e.metaKey || keyCode === 'MetaLeft' || keyCode === 'MetaRight';
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* @description Alt check
|
|
43
|
+
* @param {KeyboardEvent} e Event object
|
|
44
|
+
* @returns {boolean}
|
|
45
|
+
*/
|
|
46
|
+
export function isAlt(e) {
|
|
47
|
+
return e.altKey;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* @description event.isComposing check
|
|
52
|
+
* @param {KeyboardEvent} e Event object
|
|
53
|
+
* @returns {boolean}
|
|
54
|
+
*/
|
|
55
|
+
export function isComposing(e) {
|
|
56
|
+
return e.isComposing || e.keyCode === 229;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* @description Backspace key check
|
|
61
|
+
* @param {string} code Event.code
|
|
62
|
+
* @returns {boolean}
|
|
63
|
+
*/
|
|
64
|
+
export function isBackspace(code) {
|
|
65
|
+
// return code === 8;
|
|
66
|
+
return code === 'Backspace';
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* @description Tab key check
|
|
71
|
+
* @param {string} code Event.code
|
|
72
|
+
* @returns {boolean}
|
|
73
|
+
*/
|
|
74
|
+
export function isTab(code) {
|
|
75
|
+
// return code === 9;
|
|
76
|
+
return code === 'Tab';
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* @description Enter key check
|
|
81
|
+
* @param {string} code Event.code
|
|
82
|
+
* @returns {boolean}
|
|
83
|
+
*/
|
|
84
|
+
export function isEnter(code) {
|
|
85
|
+
// return code === 13;
|
|
86
|
+
return code === 'Enter';
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* @description ESC key check
|
|
91
|
+
* @param {string} code Event.code
|
|
92
|
+
* @returns {boolean}
|
|
93
|
+
*/
|
|
94
|
+
export function isEsc(code) {
|
|
95
|
+
// return code === 27;
|
|
96
|
+
return code === 'Escape';
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* @description Space key check
|
|
101
|
+
* @param {string} code Event.code
|
|
102
|
+
* @returns {boolean}
|
|
103
|
+
*/
|
|
104
|
+
export function isSpace(code) {
|
|
105
|
+
// return code === 32;
|
|
106
|
+
return code === 'Space';
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/** ------------------------------------------------------- [key] ------------------------------------------------------- */
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* @description Direction key check
|
|
113
|
+
* @param {string} code Event.code
|
|
114
|
+
* @returns {boolean}
|
|
115
|
+
*/
|
|
116
|
+
export function isDirectionKey(code) {
|
|
117
|
+
return DIR_KEYCODE.includes(code);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* @description [delete, backspace] key check
|
|
122
|
+
* @param {string} code Event.code
|
|
123
|
+
* @returns {boolean}
|
|
124
|
+
*/
|
|
125
|
+
export function isRemoveKey(code) {
|
|
126
|
+
return DELETE_KEYCODE.includes(code);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* @description Non-text key check
|
|
131
|
+
* @param {string} code Event.code
|
|
132
|
+
* @returns {boolean}
|
|
133
|
+
*/
|
|
134
|
+
export function isNonTextKey(code) {
|
|
135
|
+
return NON_TEXT_KEYCODE.includes(code);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* @description Check if the given key is relevant for history push
|
|
140
|
+
* @param {string} code - Event.code
|
|
141
|
+
* @returns {boolean}
|
|
142
|
+
*/
|
|
143
|
+
export function isHistoryRelevantKey(code) {
|
|
144
|
+
return HISTORY_RELEVANT_KEYS.includes(code);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* @description Document type observer key check
|
|
149
|
+
* @param {string} code Event.code
|
|
150
|
+
* @returns {boolean}
|
|
151
|
+
*/
|
|
152
|
+
export function isDocumentTypeObserverKey(code) {
|
|
153
|
+
return DOCUMENT_TYPE_OBSERVER_KEYCODE.includes(code);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* @description Non-response key check
|
|
158
|
+
* @param {string} code Event.code
|
|
159
|
+
* @returns {boolean}
|
|
160
|
+
*/
|
|
161
|
+
export function isNonResponseKey(code) {
|
|
162
|
+
return NON_RESPONSE_CODE.includes(code);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
const keyCodeMap = {
|
|
166
|
+
isShift,
|
|
167
|
+
isCtrl,
|
|
168
|
+
isAlt,
|
|
169
|
+
isComposing,
|
|
170
|
+
isBackspace,
|
|
171
|
+
isTab,
|
|
172
|
+
isEnter,
|
|
173
|
+
isEsc,
|
|
174
|
+
isSpace,
|
|
175
|
+
isDirectionKey,
|
|
176
|
+
isRemoveKey,
|
|
177
|
+
isNonTextKey,
|
|
178
|
+
isHistoryRelevantKey,
|
|
179
|
+
isDocumentTypeObserverKey,
|
|
180
|
+
isNonResponseKey
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
export default keyCodeMap;
|
package/src/helper/numbers.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Number-related helper functions
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
/**
|
|
2
6
|
* @description Checks for numeric (with decimal point).
|
|
3
|
-
* @param {
|
|
7
|
+
* @param {*} text Text string or number
|
|
4
8
|
* @returns {boolean}
|
|
5
9
|
*/
|
|
6
10
|
export function is(text) {
|
|
@@ -10,22 +14,22 @@ export function is(text) {
|
|
|
10
14
|
/**
|
|
11
15
|
* @description Get a number.
|
|
12
16
|
* @param {string|number} value Text string or number
|
|
13
|
-
* @param {number} maxDec Maximum number of decimal places (-1 : Infinity)
|
|
17
|
+
* @param {number} [maxDec=0] Maximum number of decimal places (-1 : Infinity)
|
|
14
18
|
* @returns {number}
|
|
15
19
|
*/
|
|
16
|
-
export function get(value, maxDec) {
|
|
20
|
+
export function get(value, maxDec = 0) {
|
|
17
21
|
if (!value) return 0;
|
|
18
22
|
|
|
19
|
-
|
|
20
|
-
if (!
|
|
23
|
+
const matched = (value + '').match(/-?\d+(\.\d+)?/);
|
|
24
|
+
if (!matched || !matched[0]) return 0;
|
|
21
25
|
|
|
22
|
-
number =
|
|
23
|
-
return maxDec < 0 ? number
|
|
26
|
+
const number = Number(matched[0]);
|
|
27
|
+
return maxDec < 0 ? number : maxDec === 0 ? Math.round(number) : Number(number.toFixed(maxDec));
|
|
24
28
|
}
|
|
25
29
|
|
|
26
30
|
/**
|
|
27
31
|
* @description It compares the start and end indexes of 'a' and 'b' and returns the number of overlapping indexes in the range.
|
|
28
|
-
*
|
|
32
|
+
* - e.g.) 1, 5, 4, 6 => '2' (4,5)
|
|
29
33
|
* @param {number} aStart Start index of 'a'
|
|
30
34
|
* @param {number} aEnd End index of 'a'
|
|
31
35
|
* @param {number} bStart Start index of 'b'
|
package/src/helper/unicode.js
CHANGED
|
@@ -1,27 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Unicode helper functions
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
const zwsp = 8203;
|
|
2
6
|
|
|
3
7
|
/**
|
|
4
8
|
* @description Unicode Character 'ZERO WIDTH SPACE' (\u200B)
|
|
5
|
-
* @type string
|
|
9
|
+
* @type {string}
|
|
6
10
|
*/
|
|
7
11
|
export const zeroWidthSpace = String.fromCharCode(zwsp);
|
|
8
12
|
|
|
9
13
|
/**
|
|
10
14
|
* @description Regular expression to find 'zero width space' (/\u200B/g)
|
|
11
|
-
* @type RegExp
|
|
15
|
+
* @type {RegExp}
|
|
12
16
|
*/
|
|
13
17
|
export const zeroWidthRegExp = new RegExp(String.fromCharCode(zwsp), 'g');
|
|
14
18
|
|
|
15
19
|
/**
|
|
16
20
|
* @description Regular expression to find only 'zero width space' (/\u200B/g)
|
|
17
|
-
* @type RegExp
|
|
21
|
+
* @type {RegExp}
|
|
18
22
|
*/
|
|
19
23
|
export const onlyZeroWidthRegExp = new RegExp('^' + String.fromCharCode(zwsp) + '+$');
|
|
20
24
|
|
|
21
25
|
/**
|
|
22
26
|
* @description Escape a string for safe use in regular expressions.
|
|
23
|
-
* @param {
|
|
24
|
-
* @returns {
|
|
27
|
+
* @param {string} string String to escape
|
|
28
|
+
* @returns {string}
|
|
25
29
|
*/
|
|
26
30
|
export function escapeStringRegexp(string) {
|
|
27
31
|
if (typeof string !== 'string') {
|
package/src/langs/ckb.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// Central Kurdish (Sorani) (کوردیی ناوەندی)
|
|
2
|
+
// 쿠르드어 (소라니)
|
|
1
3
|
(function (global, factory) {
|
|
2
4
|
if (typeof module === 'object' && typeof module.exports === 'object') {
|
|
3
5
|
module.exports = global.document
|
|
@@ -15,34 +17,80 @@
|
|
|
15
17
|
const lang = {
|
|
16
18
|
code: 'ckb',
|
|
17
19
|
align: 'ئاراسته',
|
|
20
|
+
alignBottom: 'خوارەوە ڕێکبخە',
|
|
18
21
|
alignCenter: 'ناوهند',
|
|
19
22
|
alignJustify: 'بهرێكی دابهش بكه',
|
|
20
23
|
alignLeft: 'لای چهپ',
|
|
24
|
+
alignMiddle: 'ناوەڕاست ڕێکبخە',
|
|
21
25
|
alignRight: 'لای راست',
|
|
26
|
+
alignTop: 'سەرەوە ڕێکبخە',
|
|
27
|
+
anchor: 'لەنگەر',
|
|
28
|
+
asBlock: 'وەک بلۆکێک',
|
|
29
|
+
asInline: 'وەکو ئینلاینێک',
|
|
30
|
+
asLink: 'وەک بەستەرێک',
|
|
22
31
|
audio: 'دهنگ',
|
|
32
|
+
audioGallery: 'گەلەری دەنگی',
|
|
23
33
|
audio_modal_file: 'فایلێك ههڵبژێره',
|
|
24
34
|
audio_modal_title: 'دهنگێك دابنێ',
|
|
25
35
|
audio_modal_url: 'بهستهری دهنگ',
|
|
26
36
|
autoSize: 'قهبارهی خۆكارانه',
|
|
27
37
|
backgroundColor: 'رهنگی دیاركراو',
|
|
28
38
|
basic: 'سهرهتایی',
|
|
39
|
+
blockStyle: 'شێوازی بلۆک',
|
|
29
40
|
bold: 'تۆخكردن',
|
|
41
|
+
border: 'سنوور',
|
|
42
|
+
border_all: 'سنووری هەموو',
|
|
43
|
+
border_inside: 'سنوور لە ناوەوە',
|
|
44
|
+
border_horizontal: 'سنوور ئاسۆیی',
|
|
45
|
+
border_vertical: 'سنووری ڕاست',
|
|
46
|
+
border_outside: 'سنوور لە دەرەوە',
|
|
47
|
+
border_left: 'سنوور چەپ',
|
|
48
|
+
border_top: 'سەرەوەی سنوور',
|
|
49
|
+
border_right: 'سنووری ڕاست',
|
|
50
|
+
border_bottom: 'بنی سنوور',
|
|
51
|
+
border_none: 'سنوور هیچ',
|
|
30
52
|
bulletedList: 'لیستی ریزنهكراو',
|
|
53
|
+
cancel: 'ڕەتکردنەوە',
|
|
31
54
|
caption: 'پێناسهیهك دابنێ',
|
|
55
|
+
cellProperties: 'تایبەتمەندی خانەکان',
|
|
32
56
|
center: 'ناوەڕاست',
|
|
33
57
|
close: 'داخستن',
|
|
34
58
|
codeView: 'بینینی كۆدهكان',
|
|
59
|
+
color: 'ڕەنگ',
|
|
60
|
+
colorPicker: 'ڕەنگ هەڵگر',
|
|
61
|
+
column: 'ستوون',
|
|
62
|
+
comment: 'کۆمێنتەکان',
|
|
63
|
+
commentAdd: 'کۆمێنت زیاد بکە',
|
|
64
|
+
commentShow: 'کۆمێنتەکان پیشان بدە',
|
|
65
|
+
copy: 'کۆپی بکە',
|
|
66
|
+
copyFormat: 'فۆرماتکردنی بۆیاخ',
|
|
67
|
+
cut: 'بڕین',
|
|
35
68
|
default: 'بنهڕهت',
|
|
36
69
|
deleteColumn: 'ستونێك بسرهوه',
|
|
37
70
|
deleteRow: 'ریز بسرهوه',
|
|
38
71
|
dir_ltr: 'من اليسار إلى اليمين',
|
|
39
72
|
dir_rtl: 'من اليمين الى اليسار',
|
|
73
|
+
download: 'دابەزاندن',
|
|
74
|
+
drag: 'ڕاکێشان',
|
|
75
|
+
drawing: 'وێنە کێشان',
|
|
76
|
+
drawing_modal_title: 'وێنە کێشان',
|
|
40
77
|
edit: 'دەسکاریکردن',
|
|
78
|
+
embed: 'جێگیرکردن',
|
|
79
|
+
embed_modal_title: 'جێگیرکردن',
|
|
80
|
+
embed_modal_source: 'سەرچاوە / URL جێگیرکردن',
|
|
81
|
+
exportPDF: 'هەناردەکردن بۆ PDF',
|
|
82
|
+
exportWord: 'هەناردەکردن بۆ Word',
|
|
83
|
+
find: 'دۆزینەوە',
|
|
84
|
+
decrease: 'کەم کردنەوە',
|
|
85
|
+
increase: 'زیادکردن',
|
|
86
|
+
fileBrowser: 'وێبگەڕی فایلەکان',
|
|
87
|
+
fileGallery: 'گەلەری فایلەکان',
|
|
88
|
+
fileUpload: 'بارکردنی فایل',
|
|
41
89
|
fixedColumnWidth: 'پانی ستون نهگۆربكه',
|
|
42
90
|
font: 'فۆنت',
|
|
43
91
|
fontColor: 'رهنگی فۆنت',
|
|
44
92
|
fontSize: 'قهباره',
|
|
45
|
-
formats: '
|
|
93
|
+
formats: 'فۆرماتەکان',
|
|
46
94
|
fullScreen: 'پڕ به شاشه',
|
|
47
95
|
height: 'بهرزی',
|
|
48
96
|
horizontalLine: 'هێڵی ئاسۆیی',
|
|
@@ -50,19 +98,23 @@
|
|
|
50
98
|
hr_dashed: 'داش داش',
|
|
51
99
|
hr_dotted: 'نوكته نوكته',
|
|
52
100
|
hr_solid: 'پتهو',
|
|
101
|
+
id: 'ناسنامە',
|
|
53
102
|
image: 'وێنه',
|
|
54
103
|
imageGallery: 'گالهری وێنهكان',
|
|
55
104
|
image_modal_altText: 'نوسینی جێگرهوه',
|
|
56
105
|
image_modal_file: 'فایلێك ههڵبژێره',
|
|
57
106
|
image_modal_title: 'وێنهیهك دابنێ',
|
|
58
107
|
image_modal_url: 'بهستهری وێنه',
|
|
108
|
+
importWord: 'هاوردەکردن لە وۆردەوە',
|
|
59
109
|
indent: 'بۆشایی بەجێهێشتن',
|
|
110
|
+
inlineStyle: 'شێوازی ناو هێڵ',
|
|
60
111
|
insertColumnAfter: 'ستونێك له دواوه زیادبكه',
|
|
61
112
|
insertColumnBefore: 'ستونێك له پێشهوه زیادبكه',
|
|
62
113
|
insertRowAbove: 'ریزك له سهرهوه زیادبكه',
|
|
63
114
|
insertRowBelow: 'ریزێك له خوارهوه زیادبكه',
|
|
115
|
+
insertLine: 'هێڵ بخەرە ناوەوە',
|
|
64
116
|
italic: 'لار',
|
|
65
|
-
layout: '
|
|
117
|
+
layout: 'ڕیزبەست',
|
|
66
118
|
left: 'چهپ',
|
|
67
119
|
lineHeight: 'بڵندی دێر',
|
|
68
120
|
link: 'بهستهر',
|
|
@@ -72,6 +124,7 @@
|
|
|
72
124
|
link_modal_text: 'تێكستی بهستهر',
|
|
73
125
|
link_modal_title: 'بهستهر دابنێ',
|
|
74
126
|
link_modal_url: 'بهستهر',
|
|
127
|
+
link_modal_relAttribute: 'سیفەتی Rel',
|
|
75
128
|
list: 'لیست',
|
|
76
129
|
math: 'بیركاری',
|
|
77
130
|
math_modal_fontSizeLabel: 'قهبارهی فۆنت',
|
|
@@ -79,6 +132,7 @@
|
|
|
79
132
|
math_modal_previewLabel: 'پێشبینین',
|
|
80
133
|
math_modal_title: 'بیركاری',
|
|
81
134
|
maxSize: 'گهورهترین قهباره',
|
|
135
|
+
mediaGallery: 'گەلەری میدیا',
|
|
82
136
|
mention: 'تنويه ب',
|
|
83
137
|
menu_bordered: 'لێواری ههبێت',
|
|
84
138
|
menu_code: 'كۆد',
|
|
@@ -90,8 +144,13 @@
|
|
|
90
144
|
minSize: 'بچوكترین قهباره',
|
|
91
145
|
mirrorHorizontal: 'ههڵگهرێنهوه بهدهوری تهوهرهی ئاسۆیی',
|
|
92
146
|
mirrorVertical: 'ههڵگهرێنهوه بهدهوری تهوهرهی ستونی',
|
|
147
|
+
newDocument: 'بەڵگەنامەی نوێ',
|
|
93
148
|
numberedList: 'لیستی ریزكراو',
|
|
94
149
|
outdent: 'لابردنی بۆشایی',
|
|
150
|
+
pageBreak: 'پەیج شکاندن',
|
|
151
|
+
pageDown: 'لاپەڕە بۆ خوارەوە',
|
|
152
|
+
pageNumber: 'ژمارەی لاپەڕە',
|
|
153
|
+
pageUp: 'پەیج بەرەو سەرەوە',
|
|
95
154
|
paragraphStyle: 'ستایلی پهرهگراف',
|
|
96
155
|
preview: 'پێشبینین',
|
|
97
156
|
print: 'پرینت',
|
|
@@ -100,17 +159,22 @@
|
|
|
100
159
|
redo: 'هەڵگەڕاندنەوە',
|
|
101
160
|
remove: 'سڕینهوه',
|
|
102
161
|
removeFormat: 'لابردنی فۆرمات',
|
|
162
|
+
replace: 'شوێن گرتنەوە',
|
|
163
|
+
replaceAll: 'هەمووی بگۆڕە',
|
|
103
164
|
resize100: 'قهباره بگۆره بۆ ١٠٠%',
|
|
104
165
|
resize25: 'قهباره بگۆره بۆ ٢٥%',
|
|
105
166
|
resize50: 'قهباره بگۆره بۆ ٥٠%',
|
|
106
167
|
resize75: 'قهباره بگۆره بۆ ٧٥%',
|
|
107
|
-
resize: '
|
|
168
|
+
resize: 'گۆڕینی قەبارە',
|
|
108
169
|
revert: 'بیگەڕێنەوە سەر باری سەرەتایی',
|
|
170
|
+
revisionHistory: 'مێژووی پێداچوونەوە',
|
|
109
171
|
right: 'راست',
|
|
110
172
|
rotateLeft: 'بسوڕێنه بهلای چهپدا',
|
|
111
173
|
rotateRight: 'بسورێنه بهلای راستدا',
|
|
174
|
+
row: 'ڕیز',
|
|
112
175
|
save: 'پاشهكهوتكردن',
|
|
113
176
|
search: 'گهران',
|
|
177
|
+
selectAll: 'هەموو هەڵبژێرە',
|
|
114
178
|
showBlocks: 'بڵۆك نیشانبده',
|
|
115
179
|
size: 'قهباره',
|
|
116
180
|
splitCells: 'خانهكان لێك جیابكهوه',
|
|
@@ -120,6 +184,7 @@
|
|
|
120
184
|
superscript: 'سەرنووس',
|
|
121
185
|
table: 'خشته',
|
|
122
186
|
tableHeader: 'سهردێری خشتهك',
|
|
187
|
+
tableProperties: 'تایبەتمەندیەکانی خشتەکان',
|
|
123
188
|
tags: 'تاگهكان',
|
|
124
189
|
tag_blockquote: 'دهق',
|
|
125
190
|
tag_div: 'ی ئاسایی (DIV)',
|
|
@@ -128,15 +193,20 @@
|
|
|
128
193
|
tag_pre: 'كۆد',
|
|
129
194
|
template: 'قاڵب',
|
|
130
195
|
textStyle: 'ستایلی نوسین',
|
|
196
|
+
title: 'ناونیشان',
|
|
131
197
|
underline: 'هێڵ بهژێردا بێنه',
|
|
132
198
|
undo: 'وەک خۆی لێ بکەوە',
|
|
199
|
+
unmergeCells: 'خانەکان یەکبخەنەوە',
|
|
133
200
|
unlink: 'سڕینەوەی بەستەر',
|
|
134
201
|
verticalSplit: 'جیاكردنهوهی ستونی',
|
|
135
202
|
video: 'ڤیدیۆ',
|
|
203
|
+
videoGallery: 'گەلەری ڤیدیۆ',
|
|
136
204
|
video_modal_file: 'فایلێك ههڵبژێره',
|
|
137
205
|
video_modal_title: 'ڤیدیۆیهك دابنێ',
|
|
138
206
|
video_modal_url: 'YouTube/Vimeo بهستهری لهناودانان وهك ',
|
|
139
|
-
width: 'پانی'
|
|
207
|
+
width: 'پانی',
|
|
208
|
+
message_copy_success: 'لە پەڕگەی لەبەرگرتووەدا هاوپەڕ کرا',
|
|
209
|
+
message_copy_fail: 'هاوپەڕکردن سەرکەوتوو نەبوو. تکایە بەدەست هاوپەڕ بکە.'
|
|
140
210
|
};
|
|
141
211
|
|
|
142
212
|
if (typeof noGlobal === typeof undefined) {
|