jodit 4.2.24 → 4.2.27

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 (96) hide show
  1. package/CHANGELOG.md +24 -5
  2. package/es2015/jodit.css +4 -2
  3. package/es2015/jodit.fat.min.css +1 -1
  4. package/es2015/jodit.fat.min.js +2 -2
  5. package/es2015/jodit.js +166 -76
  6. package/es2015/jodit.min.css +1 -1
  7. package/es2015/jodit.min.js +2 -2
  8. package/es2015/plugins/debug/debug.js +1 -1
  9. package/es2015/plugins/debug/debug.min.js +1 -1
  10. package/es2015/plugins/speech-recognize/speech-recognize.css +1 -1
  11. package/es2015/plugins/speech-recognize/speech-recognize.js +33 -7
  12. package/es2015/plugins/speech-recognize/speech-recognize.min.js +2 -2
  13. package/es2018/jodit.css +4 -2
  14. package/es2018/jodit.fat.min.css +1 -1
  15. package/es2018/jodit.fat.min.js +2 -2
  16. package/es2018/jodit.js +166 -76
  17. package/es2018/jodit.min.css +1 -1
  18. package/es2018/jodit.min.js +2 -2
  19. package/es2018/plugins/debug/debug.js +1 -1
  20. package/es2018/plugins/debug/debug.min.js +1 -1
  21. package/es2018/plugins/speech-recognize/speech-recognize.css +1 -1
  22. package/es2018/plugins/speech-recognize/speech-recognize.js +33 -7
  23. package/es2018/plugins/speech-recognize/speech-recognize.min.js +2 -2
  24. package/es2021/jodit.css +4 -2
  25. package/es2021/jodit.fat.min.css +1 -1
  26. package/es2021/jodit.fat.min.js +2 -2
  27. package/es2021/jodit.js +166 -76
  28. package/es2021/jodit.min.css +1 -1
  29. package/es2021/jodit.min.js +2 -2
  30. package/es2021/plugins/debug/debug.js +1 -1
  31. package/es2021/plugins/debug/debug.min.js +1 -1
  32. package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
  33. package/es2021/plugins/speech-recognize/speech-recognize.js +33 -7
  34. package/es2021/plugins/speech-recognize/speech-recognize.min.js +2 -2
  35. package/es2021.en/jodit.css +4 -2
  36. package/es2021.en/jodit.fat.min.css +1 -1
  37. package/es2021.en/jodit.fat.min.js +2 -2
  38. package/es2021.en/jodit.js +101 -57
  39. package/es2021.en/jodit.min.css +1 -1
  40. package/es2021.en/jodit.min.js +2 -2
  41. package/es2021.en/plugins/debug/debug.js +1 -1
  42. package/es2021.en/plugins/debug/debug.min.js +1 -1
  43. package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
  44. package/es2021.en/plugins/speech-recognize/speech-recognize.js +3 -1
  45. package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +2 -2
  46. package/es5/jodit.css +11 -6
  47. package/es5/jodit.fat.min.css +1 -1
  48. package/es5/jodit.fat.min.js +2 -2
  49. package/es5/jodit.js +167 -76
  50. package/es5/jodit.min.css +3 -3
  51. package/es5/jodit.min.js +2 -2
  52. package/es5/plugins/debug/debug.js +1 -1
  53. package/es5/plugins/debug/debug.min.js +1 -1
  54. package/es5/plugins/speech-recognize/speech-recognize.css +1 -1
  55. package/es5/plugins/speech-recognize/speech-recognize.js +33 -7
  56. package/es5/plugins/speech-recognize/speech-recognize.min.js +2 -2
  57. package/esm/core/constants.js +3 -3
  58. package/esm/core/dom/dom.d.ts +2 -1
  59. package/esm/core/dom/dom.js +10 -4
  60. package/esm/core/global.js +4 -1
  61. package/esm/core/helpers/normalize/normalize-key-aliases.js +2 -1
  62. package/esm/core/ui/button/tooltip/tooltip.d.ts +1 -0
  63. package/esm/core/ui/button/tooltip/tooltip.js +11 -5
  64. package/esm/langs/ua.d.ts +212 -0
  65. package/esm/langs/ua.js +225 -0
  66. package/esm/languages.js +2 -0
  67. package/esm/modules/table/table.d.ts +2 -3
  68. package/esm/modules/table/table.js +27 -34
  69. package/esm/plugins/add-new-line/add-new-line.js +4 -1
  70. package/esm/plugins/clean-html/helpers/visitor/filters/fill-empty-paragraph.js +9 -1
  71. package/esm/plugins/hotkeys/hotkeys.js +4 -2
  72. package/esm/plugins/line-height/langs/index.d.ts +2 -1
  73. package/esm/plugins/line-height/langs/index.js +2 -1
  74. package/esm/plugins/line-height/langs/ua.d.ts +4 -0
  75. package/esm/plugins/line-height/langs/ua.js +9 -0
  76. package/esm/plugins/select-cells/select-cells.js +1 -1
  77. package/esm/plugins/speech-recognize/langs/index.d.ts +2 -1
  78. package/esm/plugins/speech-recognize/langs/index.js +2 -1
  79. package/esm/plugins/speech-recognize/langs/ua.d.ts +9 -0
  80. package/esm/plugins/speech-recognize/langs/ua.js +14 -0
  81. package/esm/plugins/spellcheck/langs/index.d.ts +2 -1
  82. package/esm/plugins/spellcheck/langs/index.js +2 -1
  83. package/esm/plugins/spellcheck/langs/ua.d.ts +1 -0
  84. package/esm/plugins/spellcheck/langs/ua.js +9 -0
  85. package/esm/plugins/table/config.js +19 -3
  86. package/package.json +1 -1
  87. package/types/core/dom/dom.d.ts +2 -1
  88. package/types/core/ui/button/tooltip/tooltip.d.ts +1 -0
  89. package/types/langs/ua.d.ts +212 -0
  90. package/types/modules/table/table.d.ts +2 -3
  91. package/types/plugins/line-height/langs/index.d.ts +2 -1
  92. package/types/plugins/line-height/langs/ua.d.ts +4 -0
  93. package/types/plugins/speech-recognize/langs/index.d.ts +2 -1
  94. package/types/plugins/speech-recognize/langs/ua.d.ts +9 -0
  95. package/types/plugins/spellcheck/langs/index.d.ts +2 -1
  96. package/types/plugins/spellcheck/langs/ua.d.ts +1 -0
@@ -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.2.24
4
+ * Version: v4.2.27
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.2.24
4
+ * Version: v4.2.27
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.2.24
4
+ * Version: v4.2.27
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.2.24
4
+ * Version: v4.2.27
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
@@ -459,6 +459,7 @@ __webpack_require__.r(__webpack_exports__);
459
459
  /* harmony export */ pt_br: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; },
460
460
  /* harmony export */ ru: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; },
461
461
  /* harmony export */ tr: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; },
462
+ /* harmony export */ ua: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; },
462
463
  /* harmony export */ zh_cn: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; },
463
464
  /* harmony export */ zh_tw: function() { return /* reexport module object */ _ar_js__WEBPACK_IMPORTED_MODULE_0__; }
464
465
  /* harmony export */ });
@@ -492,6 +493,7 @@ __webpack_require__.r(__webpack_exports__);
492
493
 
493
494
 
494
495
 
496
+
495
497
 
496
498
 
497
499
  /***/ }),
@@ -1,10 +1,10 @@
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.2.24
4
+ * Version: v4.2.27
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
8
8
 
9
9
 
10
- ((e,t)=>{if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var s=t();for(var i in s)("object"==typeof exports?exports:e)[i]=s[i]}})(self,(function(){return(self.webpackChunkjodit=self.webpackChunkjodit||[]).push([[882],{71096(e,t,s){"use strict";var i=s(9810),n=s(98253),r=s(26150),o=s(72197),u=s(931),c=s(36115),a=s(71722),h=s(93676),l=s(22227),p=s.n(l);c.T.prototype.speechRecognize={api:void 0!==a.o?a.o:null,sound:!0,continuous:!1,interimResults:!0,commands:{"newline|enter":"enter","delete|remove word|delete word":"backspaceWordButton",comma:"inserthtml::,",underline:"inserthtml::_",hyphen:"inserthtml::-",space:"inserthtml:: ",question:"inserthtml::?",dot:"inserthtml::.","quote|quotes|open quote":"inserthtml::'","header|header h1":"formatblock::h1","select all":"selectall"}},u.I.set("speech-recognize",p()),c.T.prototype.controls.speechRecognize={isVisible:e=>!!e.o.speechRecognize.api,isActive(e,t){const s=(0,o.m)(e,"speech");return!!s?.isEnabled},isDisabled:e=>!e.o.speechRecognize.api,exec(e,t,{button:s,control:u}){const{api:c,lang:a,continuous:l,interimResults:p,sound:d}=e.o.speechRecognize;if(!c)return void e.alert("Speech recognize API unsupported in your browser");let m=(0,o.m)(e,"speech");if(!m){const t=new c;m=new h.g(e.async,t),m.lang=(0,n.K)(a)?a:(0,r.C)(e.od.documentElement,"lang")??void 0,m.continuous=l,m.interimResults=p,m.sound=d,(0,o.m)(e,"speech",m),m.on("pulse",(e=>{s.setMod("pulse",e)})),m.on("result",(t=>e.e.fire("speechRecognizeResult",t))),m.on("progress",(t=>e.e.fire("speechRecognizeProgressResult",t))),m.on("error",(t=>e.message.error(t))),s.hookStatus("beforeDestruct",(()=>{(0,o.m)(e,"speech",null),m.destruct()}))}if(u.args){const e=u.args[0];if((0,i.L)(m[e]))return m[e]=!m[e],void(m.isEnabled&&m.restart())}m.toggle(),m.isEnabled&&s.setMod("pulse",!0),s.state.activated=m.isEnabled},name:"speechRecognize",command:"toggleSpeechRecognize",tooltip:"Speech Recognize",list:{sound:"Sound",interimResults:"Interim Results"},childTemplate(e,t,s){const i=(0,o.m)(e,"speech");return`<span class='jodit-speech-recognize__list-item'><input ${i?.[t]??e.o.speechRecognize[t]?"checked":""} class='jodit-checkbox' type='checkbox'>&nbsp;${s}</span>`},mods:{stroke:!1}}},81629(e,t,s){"use strict";s.d(t,{N(){return i},Z(){return n}});const i=440,n=940},71722(e,t,s){"use strict";s.d(t,{o(){return i}});const i=window.SpeechRecognition||window.webkitSpeechRecognition},50834(e,t,s){"use strict";function i(e,t){const[s,i]=t.split("::");e.execCommand(s,null,i)}s.d(t,{F(){return i}})},93676(e,t,s){"use strict";s.d(t,{g(){return a}});var i,n=s(31635),r=s(22664),o=s(43431),u=s(95473),c=s(81629);let a=i=class e extends o.h{set lang(e){this._lang=e,this._api.lang=e}get lang(){return this._lang}set continuous(e){this._continuous=e,this._api.continuous=e}get continuous(){return this._continuous}set interimResults(e){this._interimResults=e,this._api.interimResults=e}get interimResults(){return this._interimResults}constructor(e,t){super(),this.async=e,this._continuous=!1,this._interimResults=!1,this.sound=!0,this._isEnabled=!1,this._restartTimeout=0,this._onSpeechStart=e=>{this._isEnabled&&(this.async.clearTimeout(this._restartTimeout),this._restartTimeout=this.async.setTimeout((()=>{this.restart(),this.emit("pulse",!1),this._makeSound(c.Z)}),5e3),this.emit("pulse",!0))},this.__interimResults="",this._api=t,i._instances.add(this)}destruct(){this.stop(),i._instances.delete(this),super.destruct()}get isEnabled(){return this._isEnabled}start(){if(!this._isEnabled){this._isEnabled=!0,i._instances.forEach((e=>{e!==this&&e.stop()}));try{this._api.start()}catch(e){return this._onError(e),void this.stop()}this.__on("speechstart",this._onSpeechStart).__on("error",this._onError).__on("result",this._onProgress).__on("end",this._onResults)}}stop(){this._isEnabled&&(this._api.abort(),this._api.stop(),this.__off("speechstart",this._onSpeechStart).__off("error",this._onError).__off("result",this._onProgress).__off("end",this._onResults),this.async.clearTimeout(this._restartTimeout),this._isEnabled=!1,this.emit("pulse",!1))}toggle(){this._isEnabled?this.stop():this.start()}restart(){this.stop(),this.start()}__on(e,t){return this._api.addEventListener(e,t),this}__off(e,t){return this._api.removeEventListener(e,t),this}_onResults(e){this.emit("pulse",!1),this.emit("result",this.__interimResults),this.__interimResults="",this._makeSound(c.N),this.restart()}_onProgress(e){if(this._isEnabled&&(this.__interimResults="",e.results)){for(let t=0;e.results.length>t;t++){const s=e.results.item(t);if(s.length){const{transcript:e}=s.item(0);this.__interimResults+=e}}this.__interimResults&&this.emit("progress",this.__interimResults)}}_onError(e){"voice-unavailable"===e.error&&this.emit("error","Voice unavailable"),"not-allowed"===e.error&&this.emit("error","Not allowed"),"language-unavailable"!==e.error&&"language-not-supported"!==e.error||this.emit("error","Language unavailable"),this._makeSound(c.Z),this.emit("pulse",!1),this.stop()}_makeSound(e){this.sound&&(0,u.s)({frequency:e})}};a._instances=new Set,a=i=(0,n.Cg)([r.autobind],a)},95473(e,t,s){"use strict";s.d(t,{s(){return n}});var i=s(81629);function n({sec:e=.1,frequency:t=i.N,gain:s=.1,type:n="sine"}={}){if(void 0===window.AudioContext&&void 0===window.webkitAudioContext)return;const r=new(window.AudioContext||window.webkitAudioContext),o=r.createGain(),u=r.createOscillator();u.type=n,u.frequency.value=t,u.connect(o),o.connect(r.destination),u.start(),u.stop(r.currentTime+e),o.gain.value=s}},25202(e,t,s){"use strict";s.r(t),s.d(t,{ar(){return i},cs_cz(){return i},de(){return i},es(){return i},fa(){return i},fi(){return i},fr(){return i},he(){return i},hu(){return i},id(){return i},it(){return i},ja(){return i},ko(){return i},mn(){return i},nl(){return i},pl(){return i},pt_br(){return i},ru(){return i},tr(){return i},zh_cn(){return i},zh_tw(){return i}});var i=s(41324)},37873(e,t,s){"use strict";s.r(t),s.d(t,{SpeechRecognizeNative(){return p}});var i=s(31635),n=s(66927),r=s(55186),o=s(56298),u=s(84976),c=s(71005),a=(s(71096),s(46173)),h=s(50834),l=s(25202);class p extends c.k{constructor(){super(...arguments),this.buttons=[{group:"state",name:"speechRecognize"}],this._commandToWord={}}afterInit(e){const{commands:t}=e.o.speechRecognize;t&&((0,o.JW)(l),(0,u.HP)(t,!1).forEach((s=>{s.split("|").forEach((i=>{i=i.trim().toLowerCase(),this._commandToWord[i]=t[s];const n=e.i18n(i);n!==i&&n.split("|").forEach((e=>{this._commandToWord[e.trim().toLowerCase()]=t[s].trim()}))}))})))}beforeDestruct(e){r.J.safeRemove(this.messagePopup)}onSpeechRecognizeProgressResult(e){this.messagePopup||(this.messagePopup=this.j.create.div("jodit-speech-recognize__popup")),this.j.workplace.appendChild(this.messagePopup),this.j.async.clearTimeout(this.__hidePopupTimeout),this.__hidePopupTimeout=this.j.async.setTimeout((()=>{r.J.safeRemove(this.messagePopup)}),1e3),this.messagePopup.innerText=e+"|"}onSpeechRecognizeResult(e){this.j.async.clearTimeout(this.__hidePopupTimeout),r.J.safeRemove(this.messagePopup);const{j:t}=this,{s}=t;if(!this._checkCommand(e)){const{range:i}=s,n=s.current();if(s.isCollapsed()&&r.J.isText(n)&&r.J.isOrContains(t.editor,n)&&n.nodeValue){const r=n.nodeValue;n.nodeValue=r+(/[\u00A0 ]\uFEFF*$/.test(r)?"":" ")+e,i.setStartAfter(n),s.selectRange(i),t.synchronizeValues()}else s.insertHTML(e)}}_checkCommand(e){return e=e.toLowerCase().replace(/\./g,""),!!this._commandToWord[e]&&((0,h.F)(this.j,this._commandToWord[e]),!0)}}(0,i.Cg)([(0,n.w)(":speechRecognizeProgressResult")],p.prototype,"onSpeechRecognizeProgressResult",null),(0,i.Cg)([(0,n.w)(":speechRecognizeResult")],p.prototype,"onSpeechRecognizeResult",null),a.x.plugins.add("speech-recognize",p)},22227(e){e.exports='<svg viewBox="0 0 16 16" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"> <path d="M8,11c1.657,0,3-1.343,3-3V3c0-1.657-1.343-3-3-3S5,1.343,5,3v5C5,9.657,6.343,11,8,11z"/> <path d="M13,8V6h-1l0,1.844c0,1.92-1.282,3.688-3.164,4.071C6.266,12.438,4,10.479,4,8V6H3v2c0,2.414,1.721,4.434,4,4.899V15H5v1h6 v-1H9v-2.101C11.279,12.434,13,10.414,13,8z"/> </svg>'}},e=>e(e.s=37873)])}));
10
+ ((e,t)=>{if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var s=t();for(var i in s)("object"==typeof exports?exports:e)[i]=s[i]}})(self,(function(){return(self.webpackChunkjodit=self.webpackChunkjodit||[]).push([[882],{71096(e,t,s){"use strict";var i=s(9810),r=s(98253),n=s(26150),o=s(72197),u=s(931),c=s(36115),a=s(71722),h=s(93676),l=s(22227),p=s.n(l);c.T.prototype.speechRecognize={api:void 0!==a.o?a.o:null,sound:!0,continuous:!1,interimResults:!0,commands:{"newline|enter":"enter","delete|remove word|delete word":"backspaceWordButton",comma:"inserthtml::,",underline:"inserthtml::_",hyphen:"inserthtml::-",space:"inserthtml:: ",question:"inserthtml::?",dot:"inserthtml::.","quote|quotes|open quote":"inserthtml::'","header|header h1":"formatblock::h1","select all":"selectall"}},u.I.set("speech-recognize",p()),c.T.prototype.controls.speechRecognize={isVisible:e=>!!e.o.speechRecognize.api,isActive(e,t){const s=(0,o.m)(e,"speech");return!!s?.isEnabled},isDisabled:e=>!e.o.speechRecognize.api,exec(e,t,{button:s,control:u}){const{api:c,lang:a,continuous:l,interimResults:p,sound:d}=e.o.speechRecognize;if(!c)return void e.alert("Speech recognize API unsupported in your browser");let m=(0,o.m)(e,"speech");if(!m){const t=new c;m=new h.g(e.async,t),m.lang=(0,r.K)(a)?a:(0,n.C)(e.od.documentElement,"lang")??void 0,m.continuous=l,m.interimResults=p,m.sound=d,(0,o.m)(e,"speech",m),m.on("pulse",(e=>{s.setMod("pulse",e)})),m.on("result",(t=>e.e.fire("speechRecognizeResult",t))),m.on("progress",(t=>e.e.fire("speechRecognizeProgressResult",t))),m.on("error",(t=>e.message.error(t))),s.hookStatus("beforeDestruct",(()=>{(0,o.m)(e,"speech",null),m.destruct()}))}if(u.args){const e=u.args[0];if((0,i.L)(m[e]))return m[e]=!m[e],void(m.isEnabled&&m.restart())}m.toggle(),m.isEnabled&&s.setMod("pulse",!0),s.state.activated=m.isEnabled},name:"speechRecognize",command:"toggleSpeechRecognize",tooltip:"Speech Recognize",list:{sound:"Sound",interimResults:"Interim Results"},childTemplate(e,t,s){const i=(0,o.m)(e,"speech");return`<span class='jodit-speech-recognize__list-item'><input ${i?.[t]??e.o.speechRecognize[t]?"checked":""} class='jodit-checkbox' type='checkbox'>&nbsp;${s}</span>`},mods:{stroke:!1}}},81629(e,t,s){"use strict";s.d(t,{N(){return i},Z(){return r}});const i=440,r=940},71722(e,t,s){"use strict";s.d(t,{o(){return i}});const i=window.SpeechRecognition||window.webkitSpeechRecognition},50834(e,t,s){"use strict";function i(e,t){const[s,i]=t.split("::");e.execCommand(s,null,i)}s.d(t,{F(){return i}})},93676(e,t,s){"use strict";s.d(t,{g(){return a}});var i,r=s(31635),n=s(22664),o=s(43431),u=s(95473),c=s(81629);let a=i=class e extends o.h{set lang(e){this._lang=e,this._api.lang=e}get lang(){return this._lang}set continuous(e){this._continuous=e,this._api.continuous=e}get continuous(){return this._continuous}set interimResults(e){this._interimResults=e,this._api.interimResults=e}get interimResults(){return this._interimResults}constructor(e,t){super(),this.async=e,this._continuous=!1,this._interimResults=!1,this.sound=!0,this._isEnabled=!1,this._restartTimeout=0,this._onSpeechStart=e=>{this._isEnabled&&(this.async.clearTimeout(this._restartTimeout),this._restartTimeout=this.async.setTimeout((()=>{this.restart(),this.emit("pulse",!1),this._makeSound(c.Z)}),5e3),this.emit("pulse",!0))},this.__interimResults="",this._api=t,i._instances.add(this)}destruct(){this.stop(),i._instances.delete(this),super.destruct()}get isEnabled(){return this._isEnabled}start(){if(!this._isEnabled){this._isEnabled=!0,i._instances.forEach((e=>{e!==this&&e.stop()}));try{this._api.start()}catch(e){return this._onError(e),void this.stop()}this.__on("speechstart",this._onSpeechStart).__on("error",this._onError).__on("result",this._onProgress).__on("end",this._onResults)}}stop(){this._isEnabled&&(this._api.abort(),this._api.stop(),this.__off("speechstart",this._onSpeechStart).__off("error",this._onError).__off("result",this._onProgress).__off("end",this._onResults),this.async.clearTimeout(this._restartTimeout),this._isEnabled=!1,this.emit("pulse",!1))}toggle(){this._isEnabled?this.stop():this.start()}restart(){this.stop(),this.start()}__on(e,t){return this._api.addEventListener(e,t),this}__off(e,t){return this._api.removeEventListener(e,t),this}_onResults(e){this.emit("pulse",!1),this.emit("result",this.__interimResults),this.__interimResults="",this._makeSound(c.N),this.restart()}_onProgress(e){if(this._isEnabled&&(this.__interimResults="",e.results)){for(let t=0;e.results.length>t;t++){const s=e.results.item(t);if(s.length){const{transcript:e}=s.item(0);this.__interimResults+=e}}this.__interimResults&&this.emit("progress",this.__interimResults)}}_onError(e){"voice-unavailable"===e.error&&this.emit("error","Voice unavailable"),"not-allowed"===e.error&&this.emit("error","Not allowed"),"language-unavailable"!==e.error&&"language-not-supported"!==e.error||this.emit("error","Language unavailable"),this._makeSound(c.Z),this.emit("pulse",!1),this.stop()}_makeSound(e){this.sound&&(0,u.s)({frequency:e})}};a._instances=new Set,a=i=(0,r.Cg)([n.autobind],a)},95473(e,t,s){"use strict";s.d(t,{s(){return r}});var i=s(81629);function r({sec:e=.1,frequency:t=i.N,gain:s=.1,type:r="sine"}={}){if(void 0===window.AudioContext&&void 0===window.webkitAudioContext)return;const n=new(window.AudioContext||window.webkitAudioContext),o=n.createGain(),u=n.createOscillator();u.type=r,u.frequency.value=t,u.connect(o),o.connect(n.destination),u.start(),u.stop(n.currentTime+e),o.gain.value=s}},25202(e,t,s){"use strict";s.r(t),s.d(t,{ar(){return i},cs_cz(){return i},de(){return i},es(){return i},fa(){return i},fi(){return i},fr(){return i},he(){return i},hu(){return i},id(){return i},it(){return i},ja(){return i},ko(){return i},mn(){return i},nl(){return i},pl(){return i},pt_br(){return i},ru(){return i},tr(){return i},ua(){return i},zh_cn(){return i},zh_tw(){return i}});var i=s(41324)},37873(e,t,s){"use strict";s.r(t),s.d(t,{SpeechRecognizeNative(){return p}});var i=s(31635),r=s(66927),n=s(55186),o=s(56298),u=s(84976),c=s(71005),a=(s(71096),s(46173)),h=s(50834),l=s(25202);class p extends c.k{constructor(){super(...arguments),this.buttons=[{group:"state",name:"speechRecognize"}],this._commandToWord={}}afterInit(e){const{commands:t}=e.o.speechRecognize;t&&((0,o.JW)(l),(0,u.HP)(t,!1).forEach((s=>{s.split("|").forEach((i=>{i=i.trim().toLowerCase(),this._commandToWord[i]=t[s];const r=e.i18n(i);r!==i&&r.split("|").forEach((e=>{this._commandToWord[e.trim().toLowerCase()]=t[s].trim()}))}))})))}beforeDestruct(e){n.J.safeRemove(this.messagePopup)}onSpeechRecognizeProgressResult(e){this.messagePopup||(this.messagePopup=this.j.create.div("jodit-speech-recognize__popup")),this.j.workplace.appendChild(this.messagePopup),this.j.async.clearTimeout(this.__hidePopupTimeout),this.__hidePopupTimeout=this.j.async.setTimeout((()=>{n.J.safeRemove(this.messagePopup)}),1e3),this.messagePopup.innerText=e+"|"}onSpeechRecognizeResult(e){this.j.async.clearTimeout(this.__hidePopupTimeout),n.J.safeRemove(this.messagePopup);const{j:t}=this,{s}=t;if(!this._checkCommand(e)){const{range:i}=s,r=s.current();if(s.isCollapsed()&&n.J.isText(r)&&n.J.isOrContains(t.editor,r)&&r.nodeValue){const n=r.nodeValue;r.nodeValue=n+(/[\u00A0 ]\uFEFF*$/.test(n)?"":" ")+e,i.setStartAfter(r),s.selectRange(i),t.synchronizeValues()}else s.insertHTML(e)}}_checkCommand(e){return e=e.toLowerCase().replace(/\./g,""),!!this._commandToWord[e]&&((0,h.F)(this.j,this._commandToWord[e]),!0)}}(0,i.Cg)([(0,r.w)(":speechRecognizeProgressResult")],p.prototype,"onSpeechRecognizeProgressResult",null),(0,i.Cg)([(0,r.w)(":speechRecognizeResult")],p.prototype,"onSpeechRecognizeResult",null),a.x.plugins.add("speech-recognize",p)},22227(e){e.exports='<svg viewBox="0 0 16 16" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"> <path d="M8,11c1.657,0,3-1.343,3-3V3c0-1.657-1.343-3-3-3S5,1.343,5,3v5C5,9.657,6.343,11,8,11z"/> <path d="M13,8V6h-1l0,1.844c0,1.92-1.282,3.688-3.164,4.071C6.266,12.438,4,10.479,4,8V6H3v2c0,2.414,1.721,4.434,4,4.899V15H5v1h6 v-1H9v-2.101C11.279,12.434,13,10.414,13,8z"/> </svg>'}},e=>e(e.s=37873)])}));
package/es5/jodit.css CHANGED
@@ -1,14 +1,14 @@
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.2.24
4
+ * Version: v4.2.27
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
8
8
  /*!
9
9
  * jodit - Jodit is an awesome and useful wysiwyg editor with filebrowser
10
10
  * Author: Chupurnov <chupurnov@gmail.com> (https://xdsoft.net/jodit/)
11
- * Version: v4.2.24
11
+ * Version: v4.2.27
12
12
  * Url: https://xdsoft.net/jodit/
13
13
  * License(s): MIT
14
14
  */
@@ -898,6 +898,7 @@
898
898
  -ms-user-select: none;
899
899
  user-select: none;
900
900
  white-space: normal;
901
+ pointer-events: none;
901
902
  }
902
903
  @media (max-width: 768px) {
903
904
  .jodit-ui-tooltip {
@@ -4239,13 +4240,17 @@ a + .jodit-file-browser-tree__source-title {
4239
4240
  fill: #a5a5a5;
4240
4241
  }
4241
4242
  .jodit-tabs .jodit-tabs__buttons .jodit-ui-button:active:not([disabled]) {
4242
- -webkit-box-shadow: 0 0 #0000, 0 1px 3px 0 rgba(0,0,0,.1), 0 1px 2px -1px rgba(0,0,0,.1);
4243
- box-shadow: 0 0 #0000, 0 1px 3px 0 rgba(0,0,0,.1), 0 1px 2px -1px rgba(0,0,0,.1);
4243
+ -webkit-box-shadow: 0 0 #0000, 0 1px 3px 0 rgba(0, 0, 0, 0.1),
4244
+ 0 1px 2px -1px rgba(0, 0, 0, 0.1);
4245
+ box-shadow: 0 0 #0000, 0 1px 3px 0 rgba(0, 0, 0, 0.1),
4246
+ 0 1px 2px -1px rgba(0, 0, 0, 0.1);
4244
4247
  color: rgba(0, 0, 0, 0.75);
4245
4248
  }
4246
4249
  .jodit-tabs .jodit-tabs__buttons .jodit-ui-button[aria-pressed='true']:not([disabled]) {
4247
- -webkit-box-shadow: 0 0 #0000, 0 1px 3px 0 rgba(0,0,0,.1), 0 1px 2px -1px rgba(0,0,0,.1);
4248
- box-shadow: 0 0 #0000, 0 1px 3px 0 rgba(0,0,0,.1), 0 1px 2px -1px rgba(0,0,0,.1);
4250
+ -webkit-box-shadow: 0 0 #0000, 0 1px 3px 0 rgba(0, 0, 0, 0.1),
4251
+ 0 1px 2px -1px rgba(0, 0, 0, 0.1);
4252
+ box-shadow: 0 0 #0000, 0 1px 3px 0 rgba(0, 0, 0, 0.1),
4253
+ 0 1px 2px -1px rgba(0, 0, 0, 0.1);
4249
4254
  color: rgba(0, 0, 0, 0.75);
4250
4255
  }
4251
4256
  .jodit-tabs .jodit-tabs__buttons .jodit-ui-button:active:not([disabled]) {