jodit 4.6.19 → 4.7.3

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.
Files changed (77) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/es2015/jodit.css +1 -1
  3. package/es2015/jodit.fat.min.js +248 -4
  4. package/es2015/jodit.js +35172 -37099
  5. package/es2015/jodit.min.js +248 -4
  6. package/es2015/plugins/debug/debug.css +1 -1
  7. package/es2015/plugins/debug/debug.js +44 -74
  8. package/es2015/plugins/debug/debug.min.js +5 -4
  9. package/es2015/plugins/speech-recognize/speech-recognize.css +1 -1
  10. package/es2015/plugins/speech-recognize/speech-recognize.js +616 -714
  11. package/es2015/plugins/speech-recognize/speech-recognize.min.js +2 -4
  12. package/es2018/jodit.fat.min.js +248 -4
  13. package/es2018/jodit.min.js +248 -4
  14. package/es2018/plugins/debug/debug.min.js +5 -4
  15. package/es2018/plugins/speech-recognize/speech-recognize.min.js +2 -4
  16. package/es2021/jodit.css +1 -1
  17. package/es2021/jodit.fat.min.js +262 -4
  18. package/es2021/jodit.js +34762 -36981
  19. package/es2021/jodit.min.js +262 -4
  20. package/es2021/plugins/debug/debug.css +1 -1
  21. package/es2021/plugins/debug/debug.js +42 -72
  22. package/es2021/plugins/debug/debug.min.js +5 -4
  23. package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
  24. package/es2021/plugins/speech-recognize/speech-recognize.js +614 -712
  25. package/es2021/plugins/speech-recognize/speech-recognize.min.js +2 -4
  26. package/es2021.en/jodit.css +1 -1
  27. package/es2021.en/jodit.fat.min.js +262 -4
  28. package/es2021.en/jodit.js +33513 -35465
  29. package/es2021.en/jodit.min.js +262 -4
  30. package/es2021.en/plugins/debug/debug.css +1 -1
  31. package/es2021.en/plugins/debug/debug.js +42 -72
  32. package/es2021.en/plugins/debug/debug.min.js +5 -4
  33. package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
  34. package/es2021.en/plugins/speech-recognize/speech-recognize.js +318 -347
  35. package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +2 -4
  36. package/es5/jodit.css +2 -2
  37. package/es5/jodit.fat.min.js +2 -4
  38. package/es5/jodit.js +42977 -39182
  39. package/es5/jodit.min.css +2 -2
  40. package/es5/jodit.min.js +2 -4
  41. package/es5/plugins/debug/debug.css +1 -1
  42. package/es5/plugins/debug/debug.js +152 -163
  43. package/es5/plugins/debug/debug.min.js +2 -4
  44. package/es5/plugins/speech-recognize/speech-recognize.css +1 -1
  45. package/es5/plugins/speech-recognize/speech-recognize.js +755 -777
  46. package/es5/plugins/speech-recognize/speech-recognize.min.js +2 -4
  47. package/es5/polyfills.fat.min.js +8 -0
  48. package/es5/{415.js → polyfills.js} +177 -5
  49. package/es5/polyfills.min.js +8 -0
  50. package/esm/config.js +3 -0
  51. package/esm/core/constants.js +1 -1
  52. package/esm/core/helpers/utils/assert.js +4 -0
  53. package/esm/core/ui/form/inputs/input/input.d.ts +1 -0
  54. package/esm/core/view/view.d.ts +1 -1
  55. package/esm/core/view/view.js +1 -1
  56. package/esm/jodit.js +6 -1
  57. package/esm/modules/dialog/dialog.js +5 -5
  58. package/esm/modules/status-bar/status-bar.d.ts +1 -1
  59. package/esm/plugins/tab/cases/on-tab-inside-li.js +1 -1
  60. package/esm/tsconfig.json +1 -1
  61. package/package.json +3 -5
  62. package/types/core/ui/form/inputs/input/input.d.ts +1 -0
  63. package/types/core/view/view.d.ts +1 -1
  64. package/types/modules/status-bar/status-bar.d.ts +1 -1
  65. package/types/tsconfig.json +1 -1
  66. package/es2018/jodit.css +0 -5386
  67. package/es2018/jodit.js +0 -45274
  68. package/es2018/plugins/debug/debug.css +0 -53
  69. package/es2018/plugins/debug/debug.js +0 -236
  70. package/es2018/plugins/speech-recognize/speech-recognize.css +0 -43
  71. package/es2018/plugins/speech-recognize/speech-recognize.js +0 -1199
  72. package/es5/415.fat.min.js +0 -10
  73. package/es5/415.min.js +0 -10
  74. package/es5/5.fat.min.js +0 -10
  75. package/es5/5.js +0 -76
  76. package/es5/5.min.js +0 -10
  77. package/esm/polyfills.js +0 -54
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * jodit - Jodit is an awesome and useful wysiwyg editor with filebrowser
3
3
  * Author: Chupurnov <chupurnov@gmail.com> (https://xdsoft.net/jodit/)
4
- * Version: v4.6.19
4
+ * Version: v4.7.3
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * jodit - Jodit is an awesome and useful wysiwyg editor with filebrowser
3
3
  * Author: Chupurnov <chupurnov@gmail.com> (https://xdsoft.net/jodit/)
4
- * Version: v4.6.19
4
+ * Version: v4.7.3
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
@@ -19,42 +19,44 @@
19
19
  })(self, function() {
20
20
  return (self["webpackChunkjodit"] = self["webpackChunkjodit"] || []).push([[486],{
21
21
 
22
- /***/ 40773:
22
+ /***/ 96206:
23
23
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
24
24
 
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
27
27
  /* harmony export */ Debug: function() { return /* binding */ Debug; }
28
28
  /* harmony export */ });
29
- /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17352);
30
- /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55186);
31
- /* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(56298);
32
- /* harmony import */ var jodit_core_helpers_html_strip_tags__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(61793);
33
- /* harmony import */ var jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29866);
29
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81937);
30
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23211);
31
+ /* harmony import */ var jodit_core_helpers_html_strip_tags__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(22852);
32
+ /* harmony import */ var jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(18855);
34
33
  /*!
35
34
  * Jodit Editor (https://xdsoft.net/jodit/)
36
35
  * Released under MIT see LICENSE.txt in the project root for license information.
37
36
  * Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
38
- */
39
-
37
+ */ /**
38
+ * [[include:plugins/debug/README.md]]
39
+ * @packageDocumentation
40
+ * @module plugins/debug
41
+ */
40
42
 
41
- // @ts-ignore
42
43
 
43
44
 
44
45
 
45
-
46
- class Debug extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_4__/* .Plugin */ .k {
46
+ class Debug extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_3__.Plugin {
47
47
  afterInit(jodit) {
48
48
  const mirror = jodit.create.div('jodit-debug');
49
49
  const tree = jodit.create.div('jodit-debug__tree');
50
50
  const events = jodit.create.div('jodit-debug__events');
51
- const clear = jodit.create.div('jodit-debug__events-clear', ['x']);
51
+ const clear = jodit.create.div('jodit-debug__events-clear', [
52
+ 'x'
53
+ ]);
52
54
  const sel = jodit.create.div('jodit-debug__sel');
53
55
  mirror.appendChild(tree);
54
56
  mirror.appendChild(events);
55
57
  events.appendChild(clear);
56
58
  mirror.appendChild(sel);
57
- clear.addEventListener('click', () => {
59
+ clear.addEventListener('click', ()=>{
58
60
  events.innerHTML = '';
59
61
  events.appendChild(clear);
60
62
  });
@@ -111,14 +113,15 @@ class Debug extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_4__/* .Plu
111
113
  div.innerHTML = `<span>${new Date().toLocaleTimeString()}</span> ${renderEvent(event, e)}`;
112
114
  events.appendChild(div);
113
115
  events.scrollTop = events.scrollHeight;
114
- jodit.async.setTimeout(() => {
115
- events.children.length > 100 &&
116
- events.removeChild(events.children[0]);
116
+ jodit.async.setTimeout(()=>{
117
+ events.children.length > 100 && events.removeChild(events.children[0]);
117
118
  }, 100);
118
119
  }
119
120
  function renderEvent(event, e) {
120
- const result = [event ?? e.type];
121
- switch (event) {
121
+ const result = [
122
+ event ?? e.type
123
+ ];
124
+ switch(event){
122
125
  case 'beforeCommand':
123
126
  case 'afterCommand':
124
127
  result.push(`<span>${e.toString()}</span>`);
@@ -126,33 +129,26 @@ class Debug extends jodit_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_4__/* .Plu
126
129
  case 'keydown':
127
130
  case 'keyup':
128
131
  case 'keypress':
129
- if (e.shiftKey &&
130
- e.key !== 'Shift') {
132
+ if (e.shiftKey && e.key !== 'Shift') {
131
133
  result.push('Shift+');
132
134
  }
133
- if (e.ctrlKey &&
134
- e.key !== 'Control') {
135
+ if (e.ctrlKey && e.key !== 'Control') {
135
136
  result.push('Ctrl+');
136
137
  }
137
- if (e.altKey &&
138
- e.key !== 'Alt') {
138
+ if (e.altKey && e.key !== 'Alt') {
139
139
  result.push('Alt');
140
140
  }
141
141
  result.push(`${e.key}`);
142
142
  break;
143
143
  }
144
- if (e && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isNode(e.target)) {
144
+ if (e && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isNode(e.target)) {
145
145
  result.push(`<span>${e.target.nodeName}</span>`);
146
146
  }
147
147
  return result.join(' ');
148
148
  }
149
- jodit.e
150
- .on('keydown keyup keypress change afterInit updateDebug', updateTree)
151
- .on(allEvents, onSomeEvent)
152
- .on(jodit.od, 'selectionchange', onSomeEvent)
153
- .on(jodit.od, 'selectionchange', updateTree);
149
+ jodit.e.on('keydown keyup keypress change afterInit updateDebug', updateTree).on(allEvents, onSomeEvent).on(jodit.od, 'selectionchange', onSomeEvent).on(jodit.od, 'selectionchange', updateTree);
154
150
  }
155
- beforeDestruct(jodit) { }
151
+ beforeDestruct(jodit) {}
156
152
  }
157
153
  function renderText(elm, range) {
158
154
  if (!elm.nodeValue) {
@@ -161,51 +157,28 @@ function renderText(elm, range) {
161
157
  let value = elm.nodeValue;
162
158
  if (range.collapsed) {
163
159
  if (elm === range.startContainer) {
164
- value =
165
- value.slice(0, range.startOffset) +
166
- '%CURSOR%' +
167
- value.slice(range.startOffset);
160
+ value = value.slice(0, range.startOffset) + '%CURSOR%' + value.slice(range.startOffset);
168
161
  }
169
- }
170
- else {
162
+ } else {
171
163
  if (elm === range.startContainer && elm === range.endContainer) {
172
- value =
173
- value.slice(0, range.startOffset) +
174
- '%START-CURSOR%' +
175
- value.slice(range.startOffset, range.endOffset) +
176
- '%END-CURSOR%' +
177
- value.slice(range.endOffset);
178
- }
179
- else if (elm === range.startContainer) {
180
- value =
181
- value.slice(0, range.startOffset) +
182
- '%CURSOR%' +
183
- value.slice(range.startOffset);
184
- }
185
- else if (elm === range.endContainer) {
186
- value =
187
- value.slice(0, range.endOffset) +
188
- '%CURSOR%' +
189
- value.slice(range.endOffset);
164
+ value = value.slice(0, range.startOffset) + '%START-CURSOR%' + value.slice(range.startOffset, range.endOffset) + '%END-CURSOR%' + value.slice(range.endOffset);
165
+ } else if (elm === range.startContainer) {
166
+ value = value.slice(0, range.startOffset) + '%CURSOR%' + value.slice(range.startOffset);
167
+ } else if (elm === range.endContainer) {
168
+ value = value.slice(0, range.endOffset) + '%CURSOR%' + value.slice(range.endOffset);
190
169
  }
191
170
  }
192
- return (0,jodit_core_helpers_html_strip_tags__WEBPACK_IMPORTED_MODULE_3__/* .stripTags */ .K)(value.replace((0,jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE_REG_EXP)(), 'INV'))
193
- .replace(/%CURSOR%/, '<span class="jodit-debug__tree-cursor">|</span>')
194
- .replace(/%START-CURSOR%/, '<span class="jodit-debug__tree-cursor">|')
195
- .replace(/%END-CURSOR%/, '|</span>');
171
+ return (0,jodit_core_helpers_html_strip_tags__WEBPACK_IMPORTED_MODULE_2__.stripTags)(value.replace((0,jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE_REG_EXP)(), 'INV')).replace(/%CURSOR%/, '<span class="jodit-debug__tree-cursor">|</span>').replace(/%START-CURSOR%/, '<span class="jodit-debug__tree-cursor">|').replace(/%END-CURSOR%/, '|</span>');
196
172
  }
197
173
  function render(elm, level, range) {
198
174
  const isSelected = window.getSelection()?.containsNode(elm);
199
175
  const content = [
200
176
  `<span class="jodit-debug__tree-elm-name">${elm.nodeName}</span>`,
201
- jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isText(elm) ? `- ${renderText(elm, range)}` : ''
202
- ]
203
- .map(i => i.trim())
204
- .filter(Boolean);
177
+ jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__.Dom.isText(elm) ? `- ${renderText(elm, range)}` : ''
178
+ ].map((i)=>i.trim()).filter(Boolean);
205
179
  return `<div class="${isSelected ? 'jodit-debug__tree-element_selected' : ''}" style='padding-left: ${level * 5}px'>
206
180
  ${content.join('&nbsp;')}
207
- ${Array.from(elm.childNodes)
208
- .map((ch, index) => {
181
+ ${Array.from(elm.childNodes).map((ch, index)=>{
209
182
  const result = [];
210
183
  if (range.startContainer === elm && index === range.startOffset) {
211
184
  result.push('<span class="jodit-debug__tree-cursor">|</span>');
@@ -215,12 +188,9 @@ function render(elm, level, range) {
215
188
  result.push('<span class="jodit-debug__tree-cursor">|</span>');
216
189
  }
217
190
  return result;
218
- })
219
- .flat()
220
- .join('')}
191
+ }).flat().join('')}
221
192
  </div>`;
222
- }
223
- // pluginSystem.add('debug', Debug);
193
+ } // pluginSystem.add('debug', Debug);
224
194
 
225
195
 
226
196
  /***/ })
@@ -228,7 +198,7 @@ function render(elm, level, range) {
228
198
  },
229
199
  /******/ function(__webpack_require__) { // webpackRuntimeModules
230
200
  /******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
231
- /******/ var __webpack_exports__ = (__webpack_exec__(40773));
201
+ /******/ var __webpack_exports__ = (__webpack_exec__(96206));
232
202
  /******/ return __webpack_exports__;
233
203
  /******/ }
234
204
  ]);
@@ -1,10 +1,11 @@
1
1
  /*!
2
2
  * jodit - Jodit is an awesome and useful wysiwyg editor with filebrowser
3
3
  * Author: Chupurnov <chupurnov@gmail.com> (https://xdsoft.net/jodit/)
4
- * Version: v4.6.19
4
+ * Version: v4.7.3
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
8
-
9
-
10
- "use strict";((e,t)=>{if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var s in n)("object"==typeof exports?exports:e)[s]=n[s]}})(self,(()=>(self.webpackChunkjodit=self.webpackChunkjodit||[]).push([[486],{40773(e,t,n){n.r(t),n.d(t,{Debug(){return i}});var s=n(17352),a=n(55186),o=(n(56298),n(61793)),r=n(29866);class i extends r.k{afterInit(e){const t=e.create.div("jodit-debug"),n=e.create.div("jodit-debug__tree"),s=e.create.div("jodit-debug__events"),o=e.create.div("jodit-debug__events-clear",["x"]),r=e.create.div("jodit-debug__sel");function i(){const t=e.selection.range;n.innerHTML=c(e.editor,0,t),r.innerHTML=`start ${t.startContainer.nodeName} ${t.startOffset}<br>end ${t.endContainer.nodeName} ${t.endOffset}`}function d(t){const n=e.e.current,o=e.create.div();o.innerHTML=`<span>${(new Date).toLocaleTimeString()}</span> ${((e,t)=>{const n=[e??t.type];switch(e){case"beforeCommand":case"afterCommand":n.push(`<span>${""+t}</span>`);break;case"keydown":case"keyup":case"keypress":t.shiftKey&&"Shift"!==t.key&&n.push("Shift+"),t.ctrlKey&&"Control"!==t.key&&n.push("Ctrl+"),t.altKey&&"Alt"!==t.key&&n.push("Alt"),n.push(""+t.key)}return t&&a.J.isNode(t.target)&&n.push(`<span>${t.target.nodeName}</span>`),n.join(" ")})(n,t)}`,s.appendChild(o),s.scrollTop=s.scrollHeight,e.async.setTimeout((()=>{s.children.length>100&&s.removeChild(s.children[0])}),100)}t.appendChild(n),t.appendChild(s),s.appendChild(o),t.appendChild(r),o.addEventListener("click",(()=>{s.innerHTML="",s.appendChild(o)})),e.workplace.appendChild(t),e.e.on("keydown keyup keypress change afterInit updateDebug",i).on(["activate","afterInit","beforeactivate","beforeblur","beforedeactivate","beforefocus","beforeinput","blur","change","click","compositionend","compositionstart","compositionupdate","contextmenu","copy","cut","dblclick","deactivate","focus","focusin","focusout","focusout","input","keydown","keypress","keyup","mousedown","mouseup","paste","selectionchange","selectionstart","dragstart","drop","dragover","resize touchstart touchend","updateDebug","beforeCommand","afterCommand","wheel"],d).on(e.od,"selectionchange",d).on(e.od,"selectionchange",i)}beforeDestruct(e){}}function d(e,t){if(!e.nodeValue)return"<span style='color:red'>empty</span>";let n=e.nodeValue;return t.collapsed?e===t.startContainer&&(n=n.slice(0,t.startOffset)+"%CURSOR%"+n.slice(t.startOffset)):e===t.startContainer&&e===t.endContainer?n=n.slice(0,t.startOffset)+"%START-CURSOR%"+n.slice(t.startOffset,t.endOffset)+"%END-CURSOR%"+n.slice(t.endOffset):e===t.startContainer?n=n.slice(0,t.startOffset)+"%CURSOR%"+n.slice(t.startOffset):e===t.endContainer&&(n=n.slice(0,t.endOffset)+"%CURSOR%"+n.slice(t.endOffset)),(0,o.K)(n.replace((0,s.INVISIBLE_SPACE_REG_EXP)(),"INV")).replace(/%CURSOR%/,'<span class="jodit-debug__tree-cursor">|</span>').replace(/%START-CURSOR%/,'<span class="jodit-debug__tree-cursor">|').replace(/%END-CURSOR%/,"|</span>")}function c(e,t,n){const s=window.getSelection()?.containsNode(e),o=[`<span class="jodit-debug__tree-elm-name">${e.nodeName}</span>`,a.J.isText(e)?"- "+d(e,n):""].map((e=>e.trim())).filter(Boolean);return`<div class="${s?"jodit-debug__tree-element_selected":""}" style='padding-left: ${5*t}px'>\n\t\t${o.join("&nbsp;")}\n\t${Array.from(e.childNodes).map(((s,a)=>{const o=[];return n.startContainer===e&&a===n.startOffset&&o.push('<span class="jodit-debug__tree-cursor">|</span>'),o.push(c(s,t+1,n)),n.endContainer===e&&a===n.endOffset&&o.push('<span class="jodit-debug__tree-cursor">|</span>'),o})).flat().join("")}\n</div>`}}},e=>e(e.s=40773)])));
8
+ "use strict";((e,t)=>{if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var s in n)("object"==typeof exports?exports:e)[s]=n[s]}})(self,()=>(self.webpackChunkjodit=self.webpackChunkjodit||[]).push([[486],{96206(e,t,n){n.r(t),n.d(t,{Debug:()=>i});var s=n(81937),a=n(23211),o=n(22852),r=n(18855);class i extends r.Plugin{afterInit(e){let t=e.create.div("jodit-debug"),n=e.create.div("jodit-debug__tree"),r=e.create.div("jodit-debug__events"),i=e.create.div("jodit-debug__events-clear",["x"]),d=e.create.div("jodit-debug__sel");function c(){let t=e.selection.range;n.innerHTML=function e(t,n,r){let i=window.getSelection()?.containsNode(t),d=[`<span class="jodit-debug__tree-elm-name">${t.nodeName}</span>`,a.Dom.isText(t)?"- "+((e,t)=>{if(!e.nodeValue)return"<span style='color:red'>empty</span>";let n=e.nodeValue;return t.collapsed?e===t.startContainer&&(n=n.slice(0,t.startOffset)+"%CURSOR%"+n.slice(t.startOffset)):e===t.startContainer&&e===t.endContainer?n=n.slice(0,t.startOffset)+"%START-CURSOR%"+n.slice(t.startOffset,t.endOffset)+"%END-CURSOR%"+n.slice(t.endOffset):e===t.startContainer?n=n.slice(0,t.startOffset)+"%CURSOR%"+n.slice(t.startOffset):e===t.endContainer&&(n=n.slice(0,t.endOffset)+"%CURSOR%"+n.slice(t.endOffset)),(0,o.stripTags)(n.replace((0,s.INVISIBLE_SPACE_REG_EXP)(),"INV")).replace(/%CURSOR%/,'<span class="jodit-debug__tree-cursor">|</span>').replace(/%START-CURSOR%/,'<span class="jodit-debug__tree-cursor">|').replace(/%END-CURSOR%/,"|</span>")})(t,r):""].map(e=>e.trim()).filter(Boolean);return`<div class="${i?"jodit-debug__tree-element_selected":""}" style='padding-left: ${5*n}px'>
9
+ ${d.join("&nbsp;")}
10
+ ${Array.from(t.childNodes).map((s,a)=>{let o=[];return r.startContainer===t&&a===r.startOffset&&o.push('<span class="jodit-debug__tree-cursor">|</span>'),o.push(e(s,n+1,r)),r.endContainer===t&&a===r.endOffset&&o.push('<span class="jodit-debug__tree-cursor">|</span>'),o}).flat().join("")}
11
+ </div>`}(e.editor,0,t),d.innerHTML=`start ${t.startContainer.nodeName} ${t.startOffset}<br>end ${t.endContainer.nodeName} ${t.endOffset}`}function l(t){let n=e.e.current,s=e.create.div();s.innerHTML=`<span>${new Date().toLocaleTimeString()}</span> ${((e,t)=>{let n=[e??t.type];switch(e){case"beforeCommand":case"afterCommand":n.push(`<span>${t.toString()}</span>`);break;case"keydown":case"keyup":case"keypress":t.shiftKey&&"Shift"!==t.key&&n.push("Shift+"),t.ctrlKey&&"Control"!==t.key&&n.push("Ctrl+"),t.altKey&&"Alt"!==t.key&&n.push("Alt"),n.push(""+t.key)}return t&&a.Dom.isNode(t.target)&&n.push(`<span>${t.target.nodeName}</span>`),n.join(" ")})(n,t)}`,r.appendChild(s),r.scrollTop=r.scrollHeight,e.async.setTimeout(()=>{r.children.length>100&&r.removeChild(r.children[0])},100)}t.appendChild(n),t.appendChild(r),r.appendChild(i),t.appendChild(d),i.addEventListener("click",()=>{r.innerHTML="",r.appendChild(i)}),e.workplace.appendChild(t),e.e.on("keydown keyup keypress change afterInit updateDebug",c).on(["activate","afterInit","beforeactivate","beforeblur","beforedeactivate","beforefocus","beforeinput","blur","change","click","compositionend","compositionstart","compositionupdate","contextmenu","copy","cut","dblclick","deactivate","focus","focusin","focusout","focusout","input","keydown","keypress","keyup","mousedown","mouseup","paste","selectionchange","selectionstart","dragstart","drop","dragover","resize touchstart touchend","updateDebug","beforeCommand","afterCommand","wheel"],l).on(e.od,"selectionchange",l).on(e.od,"selectionchange",c)}beforeDestruct(e){}}}},e=>e(e.s=96206)]));
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * jodit - Jodit is an awesome and useful wysiwyg editor with filebrowser
3
3
  * Author: Chupurnov <chupurnov@gmail.com> (https://xdsoft.net/jodit/)
4
- * Version: v4.6.19
4
+ * Version: v4.7.3
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */