jodit 4.13.20 → 4.13.22

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 (65) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/es2015/jodit.css +1 -1
  3. package/es2015/jodit.fat.min.css +1 -1
  4. package/es2015/jodit.fat.min.js +4 -4
  5. package/es2015/jodit.js +27 -33
  6. package/es2015/jodit.min.css +1 -1
  7. package/es2015/jodit.min.js +4 -4
  8. package/es2015/plugins/debug/debug.css +1 -1
  9. package/es2015/plugins/debug/debug.js +1 -1
  10. package/es2015/plugins/debug/debug.min.js +1 -1
  11. package/es2015/plugins/speech-recognize/speech-recognize.css +1 -1
  12. package/es2015/plugins/speech-recognize/speech-recognize.js +1 -1
  13. package/es2015/plugins/speech-recognize/speech-recognize.min.js +1 -1
  14. package/es2018/jodit.fat.min.css +1 -1
  15. package/es2018/jodit.fat.min.js +4 -4
  16. package/es2018/jodit.min.css +1 -1
  17. package/es2018/jodit.min.js +4 -4
  18. package/es2018/plugins/debug/debug.min.js +1 -1
  19. package/es2018/plugins/speech-recognize/speech-recognize.min.js +1 -1
  20. package/es2021/jodit.css +1 -1
  21. package/es2021/jodit.fat.min.css +1 -1
  22. package/es2021/jodit.fat.min.js +5 -5
  23. package/es2021/jodit.js +25 -33
  24. package/es2021/jodit.min.css +1 -1
  25. package/es2021/jodit.min.js +5 -5
  26. package/es2021/plugins/debug/debug.css +1 -1
  27. package/es2021/plugins/debug/debug.js +1 -1
  28. package/es2021/plugins/debug/debug.min.js +1 -1
  29. package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
  30. package/es2021/plugins/speech-recognize/speech-recognize.js +1 -1
  31. package/es2021/plugins/speech-recognize/speech-recognize.min.js +1 -1
  32. package/es2021.en/jodit.css +1 -1
  33. package/es2021.en/jodit.fat.min.css +1 -1
  34. package/es2021.en/jodit.fat.min.js +5 -5
  35. package/es2021.en/jodit.js +25 -33
  36. package/es2021.en/jodit.min.css +1 -1
  37. package/es2021.en/jodit.min.js +5 -5
  38. package/es2021.en/plugins/debug/debug.css +1 -1
  39. package/es2021.en/plugins/debug/debug.js +1 -1
  40. package/es2021.en/plugins/debug/debug.min.js +1 -1
  41. package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
  42. package/es2021.en/plugins/speech-recognize/speech-recognize.js +1 -1
  43. package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +1 -1
  44. package/es5/jodit.css +2 -2
  45. package/es5/jodit.fat.min.css +1 -1
  46. package/es5/jodit.fat.min.js +2 -2
  47. package/es5/jodit.js +53 -33
  48. package/es5/jodit.min.css +3 -3
  49. package/es5/jodit.min.js +2 -2
  50. package/es5/plugins/debug/debug.css +1 -1
  51. package/es5/plugins/debug/debug.js +1 -1
  52. package/es5/plugins/debug/debug.min.js +1 -1
  53. package/es5/plugins/speech-recognize/speech-recognize.css +1 -1
  54. package/es5/plugins/speech-recognize/speech-recognize.js +1 -1
  55. package/es5/plugins/speech-recognize/speech-recognize.min.js +1 -1
  56. package/es5/polyfills.fat.min.js +2 -2
  57. package/es5/polyfills.js +213 -87
  58. package/es5/polyfills.min.js +2 -2
  59. package/esm/core/constants.js +1 -1
  60. package/esm/core/helpers/utils/scroll-into-view.js +5 -1
  61. package/esm/modules/uploader/helpers/data-uri-to-blob.d.ts +3 -1
  62. package/esm/modules/uploader/helpers/data-uri-to-blob.js +7 -8
  63. package/esm/plugins/image-processor/image-processor.js +11 -19
  64. package/package.json +1 -1
  65. package/types/modules/uploader/helpers/data-uri-to-blob.d.ts +3 -1
package/es2015/jodit.js CHANGED
@@ -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.13.20
4
+ * Version: v4.13.22
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
@@ -1849,7 +1849,7 @@ __webpack_require__.r(__webpack_exports__);
1849
1849
  * ```
1850
1850
  * @packageDocumentation
1851
1851
  * @module constants
1852
- */ const APP_VERSION = "4.13.20";
1852
+ */ const APP_VERSION = "4.13.22";
1853
1853
  // prettier-ignore
1854
1854
  const ES = "es2015";
1855
1855
  const IS_ES_MODERN = true;
@@ -9137,7 +9137,13 @@ const map = {};
9137
9137
  root.scrollTop = root.scrollTop < alignBottom ? alignBottom : elm.offsetTop;
9138
9138
  }
9139
9139
  if (!inView(elm, root, doc)) {
9140
- elm.scrollIntoView();
9140
+ // `block: 'nearest'` scrolls the page the minimal distance (one
9141
+ // line while typing), while the default `block: 'start'` aligns
9142
+ // the element to the viewport top and the page jumps like
9143
+ // PageDown was pressed
9144
+ elm.scrollIntoView({
9145
+ block: 'nearest'
9146
+ });
9141
9147
  }
9142
9148
  }
9143
9149
  }
@@ -24997,13 +25003,13 @@ function buildData(uploader, data) {
24997
25003
  */ /**
24998
25004
  * @module modules/uploader
24999
25005
  */ /**
25000
- * Convert dataURI to Blob
25006
+ * Convert dataURI to Blob. Both base64 and percent-encoded payloads are
25007
+ * supported — `data:image/svg+xml,%3Csvg...` is as valid as
25008
+ * `data:image/png;base64,...`
25001
25009
  */ function dataURItoBlob(dataURI) {
25002
- // convert base64 to raw binary data held in a string
25003
- // doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this
25004
- const byteString = atob(dataURI.split(',')[1]), // separate out the mime component
25005
- mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0], // write the bytes of the string to an ArrayBuffer
25006
- ab = new ArrayBuffer(byteString.length), ia = new Uint8Array(ab);
25010
+ var _ref;
25011
+ var _header_split_;
25012
+ const [header, ...rest] = dataURI.split(','), payload = rest.join(','), mimeString = (_ref = (_header_split_ = header.split(':')[1]) === null || _header_split_ === void 0 ? void 0 : _header_split_.split(';')[0]) !== null && _ref !== void 0 ? _ref : '', byteString = /;base64/i.test(header) ? atob(payload) : decodeURIComponent(payload), ab = new ArrayBuffer(byteString.length), ia = new Uint8Array(ab);
25007
25013
  for(let i = 0; i < byteString.length; i += 1){
25008
25014
  ia[i] = byteString.charCodeAt(i);
25009
25015
  }
@@ -32520,7 +32526,8 @@ jodit_config__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.imageProcessor = {
32520
32526
  /* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(28077);
32521
32527
  /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(65946);
32522
32528
  /* harmony import */ var jodit_core_plugin__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(91206);
32523
- /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(51034);
32529
+ /* harmony import */ var jodit_modules_uploader_helpers_data_uri_to_blob__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(23112);
32530
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(51034);
32524
32531
  /*!
32525
32532
  * Jodit Editor (https://xdsoft.net/jodit/)
32526
32533
  * Released under MIT see LICENSE.txt in the project root for license information.
@@ -32537,6 +32544,7 @@ jodit_config__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.imageProcessor = {
32537
32544
 
32538
32545
 
32539
32546
 
32547
+
32540
32548
  const JODIT_IMAGE_PROCESSOR_BINDED = '__jodit_imageprocessor_binded';
32541
32549
  const JODIT_IMAGE_BLOB_ID = JODIT_IMAGE_PROCESSOR_BINDED + 'blob-id';
32542
32550
  /**
@@ -32622,7 +32630,15 @@ function replaceDataURIToBlobUUID(editor, elm) {
32622
32630
  if (typeof ArrayBuffer === 'undefined' || typeof URL === 'undefined') {
32623
32631
  return;
32624
32632
  }
32625
- const dataUri = elm.src, blob = dataURItoBlob(dataUri);
32633
+ const dataUri = elm.src;
32634
+ let blob;
32635
+ try {
32636
+ blob = (0,jodit_modules_uploader_helpers_data_uri_to_blob__WEBPACK_IMPORTED_MODULE_7__.dataURItoBlob)(dataUri);
32637
+ } catch (unused) {
32638
+ // A data URI the browser accepts but we cannot decode is not worth
32639
+ // breaking the editor over — keep the image as it is
32640
+ return;
32641
+ }
32626
32642
  elm.src = URL.createObjectURL(blob);
32627
32643
  editor.e.fire('internalUpdate');
32628
32644
  const { buffer } = editor;
@@ -32630,28 +32646,6 @@ function replaceDataURIToBlobUUID(editor, elm) {
32630
32646
  list[elm.src] = dataUri;
32631
32647
  editor.buffer.set(JODIT_IMAGE_BLOB_ID, list);
32632
32648
  }
32633
- // https://stackoverflow.com/a/12300351
32634
- function dataURItoBlob(dataURI) {
32635
- // convert base64 to raw binary data held in a string
32636
- // doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this
32637
- const byteString = atob(dataURI.split(',')[1]);
32638
- // separate out the mime component
32639
- const mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
32640
- // write the bytes of the string to an ArrayBuffer
32641
- const ab = new ArrayBuffer(byteString.length);
32642
- // create a view into the buffer
32643
- const ia = new Uint8Array(ab);
32644
- // set the bytes of the buffer to the correct values
32645
- for(let i = 0; i < byteString.length; i++){
32646
- ia[i] = byteString.charCodeAt(i);
32647
- }
32648
- // write the ArrayBuffer to a blob, and you're done
32649
- return new Blob([
32650
- ab
32651
- ], {
32652
- type: mimeString
32653
- });
32654
- }
32655
32649
  jodit_core_global__WEBPACK_IMPORTED_MODULE_4__.pluginSystem.add('imageProcessor', imageProcessor);
32656
32650
 
32657
32651