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
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.16
4
+ * Version: v4.13.18
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.16";
1852
+ */ const APP_VERSION = "4.13.18";
1853
1853
  // prettier-ignore
1854
1854
  const ES = "es2015";
1855
1855
  const IS_ES_MODERN = true;
@@ -9089,6 +9089,14 @@ const map = {};
9089
9089
  /**
9090
9090
  * @module helpers/utils
9091
9091
  */ /**
9092
+ * `getBoundingClientRect` returns fractional values while `scrollTop`,
9093
+ * `offsetTop` and `clientHeight` are rounded to integers, so a container
9094
+ * scrolled right up to its limit can still appear to clip the element by a
9095
+ * fraction of a pixel. Treat anything clipped by less than a pixel as
9096
+ * visible — otherwise `scrollIntoViewIfNeeded` falls through to
9097
+ * `elm.scrollIntoView()` and needlessly scrolls the whole page.
9098
+ */ const SUBPIXEL_TOLERANCE = 1;
9099
+ /**
9092
9100
  * Check if element is in view
9093
9101
  */ function inView(elm, root, doc) {
9094
9102
  let rect = elm.getBoundingClientRect(), el = elm;
@@ -9101,7 +9109,7 @@ const map = {};
9101
9109
  // view even though its top still fits. The `top > rect.top` guard keeps
9102
9110
  // elements taller than the container (which can never fully fit) from
9103
9111
  // being treated as always out of view. See #1300
9104
- if (top + height > rect.bottom && top > rect.top) {
9112
+ if (top + height > rect.bottom + SUBPIXEL_TOLERANCE && top > rect.top) {
9105
9113
  return false;
9106
9114
  }
9107
9115
  // Check if the element is out of view due to a container scrolling
@@ -9115,7 +9123,7 @@ const map = {};
9115
9123
  // element scrolled above the top was wrongly reported as visible and never
9116
9124
  // scrolled to. See #1279
9117
9125
  const clientHeight = doc.documentElement && doc.documentElement.clientHeight || 0;
9118
- return (top + height <= clientHeight || top <= 0) && top + height >= 0;
9126
+ return (top + height <= clientHeight + SUBPIXEL_TOLERANCE || top <= 0) && top + height >= 0;
9119
9127
  }
9120
9128
  /**
9121
9129
  * Scroll element into view if it is not in view
@@ -25177,6 +25185,7 @@ function processOldBrowserDrag(self, cData, handlerSuccess, handlerError, onFina
25177
25185
  return Promise.all(promises);
25178
25186
  }
25179
25187
  function readImagesWithReader(fileList, imagesExtensions, promises, uploader, handlerSuccess, defaultHandlerSuccess) {
25188
+ const readerPromises = [];
25180
25189
  let file, i;
25181
25190
  for(i = 0; i < fileList.length; i += 1){
25182
25191
  file = fileList[i];
@@ -25187,7 +25196,7 @@ function readImagesWithReader(fileList, imagesExtensions, promises, uploader, ha
25187
25196
  continue;
25188
25197
  }
25189
25198
  const reader = new FileReader();
25190
- promises.push(uploader.j.async.promise((resolve, reject)=>{
25199
+ const readerPromise = uploader.j.async.promise((resolve, reject)=>{
25191
25200
  reader.onerror = reject;
25192
25201
  reader.onloadend = ()=>{
25193
25202
  const resp = {
@@ -25204,10 +25213,21 @@ function readImagesWithReader(fileList, imagesExtensions, promises, uploader, ha
25204
25213
  resolve(resp);
25205
25214
  };
25206
25215
  reader.readAsDataURL(file);
25207
- }));
25216
+ });
25217
+ readerPromises.push(readerPromise);
25218
+ promises.push(readerPromise);
25208
25219
  fileList[i] = null;
25209
25220
  }
25210
25221
  }
25222
+ // Images inserted as base64 never reach the server branch in `sendFiles`,
25223
+ // which is the only other place that fires `filesWereUploaded`
25224
+ if (readerPromises.length) {
25225
+ Promise.all(readerPromises).then(()=>{
25226
+ uploader.j.events && uploader.j.e.fire('filesWereUploaded');
25227
+ }).catch(()=>{
25228
+ // Read errors are propagated to the caller via `promises`
25229
+ });
25230
+ }
25211
25231
  }
25212
25232
 
25213
25233