jodit 4.13.16 → 4.13.18

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 (55) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/es2015/jodit.css +1 -1
  3. package/es2015/jodit.fat.min.js +3 -3
  4. package/es2015/jodit.js +26 -6
  5. package/es2015/jodit.min.js +3 -3
  6. package/es2015/plugins/debug/debug.css +1 -1
  7. package/es2015/plugins/debug/debug.js +1 -1
  8. package/es2015/plugins/debug/debug.min.js +1 -1
  9. package/es2015/plugins/speech-recognize/speech-recognize.css +1 -1
  10. package/es2015/plugins/speech-recognize/speech-recognize.js +1 -1
  11. package/es2015/plugins/speech-recognize/speech-recognize.min.js +1 -1
  12. package/es2018/jodit.fat.min.js +3 -3
  13. package/es2018/jodit.min.js +3 -3
  14. package/es2018/plugins/debug/debug.min.js +1 -1
  15. package/es2018/plugins/speech-recognize/speech-recognize.min.js +1 -1
  16. package/es2021/jodit.css +1 -1
  17. package/es2021/jodit.fat.min.js +4 -4
  18. package/es2021/jodit.js +26 -6
  19. package/es2021/jodit.min.js +4 -4
  20. package/es2021/plugins/debug/debug.css +1 -1
  21. package/es2021/plugins/debug/debug.js +1 -1
  22. package/es2021/plugins/debug/debug.min.js +1 -1
  23. package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
  24. package/es2021/plugins/speech-recognize/speech-recognize.js +1 -1
  25. package/es2021/plugins/speech-recognize/speech-recognize.min.js +1 -1
  26. package/es2021.en/jodit.css +1 -1
  27. package/es2021.en/jodit.fat.min.js +4 -4
  28. package/es2021.en/jodit.js +26 -6
  29. package/es2021.en/jodit.min.js +4 -4
  30. package/es2021.en/plugins/debug/debug.css +1 -1
  31. package/es2021.en/plugins/debug/debug.js +1 -1
  32. package/es2021.en/plugins/debug/debug.min.js +1 -1
  33. package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
  34. package/es2021.en/plugins/speech-recognize/speech-recognize.js +1 -1
  35. package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +1 -1
  36. package/es5/jodit.css +2 -2
  37. package/es5/jodit.fat.min.js +2 -2
  38. package/es5/jodit.js +26 -6
  39. package/es5/jodit.min.css +2 -2
  40. package/es5/jodit.min.js +2 -2
  41. package/es5/plugins/debug/debug.css +1 -1
  42. package/es5/plugins/debug/debug.js +1 -1
  43. package/es5/plugins/debug/debug.min.js +1 -1
  44. package/es5/plugins/speech-recognize/speech-recognize.css +1 -1
  45. package/es5/plugins/speech-recognize/speech-recognize.js +1 -1
  46. package/es5/plugins/speech-recognize/speech-recognize.min.js +1 -1
  47. package/es5/polyfills.fat.min.js +1 -1
  48. package/es5/polyfills.js +1 -1
  49. package/es5/polyfills.min.js +1 -1
  50. package/esm/core/constants.js +1 -1
  51. package/esm/core/helpers/utils/scroll-into-view.d.ts +0 -3
  52. package/esm/core/helpers/utils/scroll-into-view.js +12 -2
  53. package/esm/modules/uploader/helpers/send-files.js +16 -2
  54. package/package.json +1 -1
  55. package/types/core/helpers/utils/scroll-into-view.d.ts +0 -3
@@ -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.16
4
+ * Version: v4.13.18
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
@@ -1843,7 +1843,7 @@ __webpack_require__.r(__webpack_exports__);
1843
1843
  * ```
1844
1844
  * @packageDocumentation
1845
1845
  * @module constants
1846
- */ const APP_VERSION = "4.13.16";
1846
+ */ const APP_VERSION = "4.13.18";
1847
1847
  // prettier-ignore
1848
1848
  const ES = "es2021";
1849
1849
  const IS_ES_MODERN = true;
@@ -9060,6 +9060,14 @@ const map = {};
9060
9060
  /**
9061
9061
  * @module helpers/utils
9062
9062
  */ /**
9063
+ * `getBoundingClientRect` returns fractional values while `scrollTop`,
9064
+ * `offsetTop` and `clientHeight` are rounded to integers, so a container
9065
+ * scrolled right up to its limit can still appear to clip the element by a
9066
+ * fraction of a pixel. Treat anything clipped by less than a pixel as
9067
+ * visible — otherwise `scrollIntoViewIfNeeded` falls through to
9068
+ * `elm.scrollIntoView()` and needlessly scrolls the whole page.
9069
+ */ const SUBPIXEL_TOLERANCE = 1;
9070
+ /**
9063
9071
  * Check if element is in view
9064
9072
  */ function inView(elm, root, doc) {
9065
9073
  let rect = elm.getBoundingClientRect(), el = elm;
@@ -9072,7 +9080,7 @@ const map = {};
9072
9080
  // view even though its top still fits. The `top > rect.top` guard keeps
9073
9081
  // elements taller than the container (which can never fully fit) from
9074
9082
  // being treated as always out of view. See #1300
9075
- if (top + height > rect.bottom && top > rect.top) {
9083
+ if (top + height > rect.bottom + SUBPIXEL_TOLERANCE && top > rect.top) {
9076
9084
  return false;
9077
9085
  }
9078
9086
  // Check if the element is out of view due to a container scrolling
@@ -9086,7 +9094,7 @@ const map = {};
9086
9094
  // element scrolled above the top was wrongly reported as visible and never
9087
9095
  // scrolled to. See #1279
9088
9096
  const clientHeight = doc.documentElement && doc.documentElement.clientHeight || 0;
9089
- return (top + height <= clientHeight || top <= 0) && top + height >= 0;
9097
+ return (top + height <= clientHeight + SUBPIXEL_TOLERANCE || top <= 0) && top + height >= 0;
9090
9098
  }
9091
9099
  /**
9092
9100
  * Scroll element into view if it is not in view
@@ -24958,6 +24966,7 @@ function processOldBrowserDrag(self, cData, handlerSuccess, handlerError, onFina
24958
24966
  return Promise.all(promises);
24959
24967
  }
24960
24968
  function readImagesWithReader(fileList, imagesExtensions, promises, uploader, handlerSuccess, defaultHandlerSuccess) {
24969
+ const readerPromises = [];
24961
24970
  let file, i;
24962
24971
  for(i = 0; i < fileList.length; i += 1){
24963
24972
  file = fileList[i];
@@ -24968,7 +24977,7 @@ function readImagesWithReader(fileList, imagesExtensions, promises, uploader, ha
24968
24977
  continue;
24969
24978
  }
24970
24979
  const reader = new FileReader();
24971
- promises.push(uploader.j.async.promise((resolve, reject)=>{
24980
+ const readerPromise = uploader.j.async.promise((resolve, reject)=>{
24972
24981
  reader.onerror = reject;
24973
24982
  reader.onloadend = ()=>{
24974
24983
  const resp = {
@@ -24985,10 +24994,21 @@ function readImagesWithReader(fileList, imagesExtensions, promises, uploader, ha
24985
24994
  resolve(resp);
24986
24995
  };
24987
24996
  reader.readAsDataURL(file);
24988
- }));
24997
+ });
24998
+ readerPromises.push(readerPromise);
24999
+ promises.push(readerPromise);
24989
25000
  fileList[i] = null;
24990
25001
  }
24991
25002
  }
25003
+ // Images inserted as base64 never reach the server branch in `sendFiles`,
25004
+ // which is the only other place that fires `filesWereUploaded`
25005
+ if (readerPromises.length) {
25006
+ Promise.all(readerPromises).then(()=>{
25007
+ uploader.j.events && uploader.j.e.fire('filesWereUploaded');
25008
+ }).catch(()=>{
25009
+ // Read errors are propagated to the caller via `promises`
25010
+ });
25011
+ }
24992
25012
  }
24993
25013
 
24994
25014