jodit 4.12.38 → 4.12.41

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 +20 -1
  2. package/README.md +4 -4
  3. package/es2015/jodit.css +13 -1
  4. package/es2015/jodit.fat.min.css +1 -1
  5. package/es2015/jodit.fat.min.js +4 -4
  6. package/es2015/jodit.js +26 -9
  7. package/es2015/jodit.min.css +1 -1
  8. package/es2015/jodit.min.js +4 -4
  9. package/es2015/plugins/debug/debug.css +1 -1
  10. package/es2015/plugins/debug/debug.js +1 -1
  11. package/es2015/plugins/debug/debug.min.js +1 -1
  12. package/es2015/plugins/speech-recognize/speech-recognize.css +1 -1
  13. package/es2015/plugins/speech-recognize/speech-recognize.js +1 -1
  14. package/es2015/plugins/speech-recognize/speech-recognize.min.js +1 -1
  15. package/es2018/jodit.fat.min.css +1 -1
  16. package/es2018/jodit.fat.min.js +4 -4
  17. package/es2018/jodit.min.css +1 -1
  18. package/es2018/jodit.min.js +4 -4
  19. package/es2018/plugins/debug/debug.min.js +1 -1
  20. package/es2018/plugins/speech-recognize/speech-recognize.min.js +1 -1
  21. package/es2021/jodit.css +13 -1
  22. package/es2021/jodit.fat.min.css +1 -1
  23. package/es2021/jodit.fat.min.js +5 -5
  24. package/es2021/jodit.js +26 -9
  25. package/es2021/jodit.min.css +1 -1
  26. package/es2021/jodit.min.js +5 -5
  27. package/es2021/plugins/debug/debug.css +1 -1
  28. package/es2021/plugins/debug/debug.js +1 -1
  29. package/es2021/plugins/debug/debug.min.js +1 -1
  30. package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
  31. package/es2021/plugins/speech-recognize/speech-recognize.js +1 -1
  32. package/es2021/plugins/speech-recognize/speech-recognize.min.js +1 -1
  33. package/es2021.en/jodit.css +13 -1
  34. package/es2021.en/jodit.fat.min.css +1 -1
  35. package/es2021.en/jodit.fat.min.js +5 -5
  36. package/es2021.en/jodit.js +26 -9
  37. package/es2021.en/jodit.min.css +1 -1
  38. package/es2021.en/jodit.min.js +5 -5
  39. package/es2021.en/plugins/debug/debug.css +1 -1
  40. package/es2021.en/plugins/debug/debug.js +1 -1
  41. package/es2021.en/plugins/debug/debug.min.js +1 -1
  42. package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
  43. package/es2021.en/plugins/speech-recognize/speech-recognize.js +1 -1
  44. package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +1 -1
  45. package/es5/jodit.css +18 -2
  46. package/es5/jodit.fat.min.css +1 -1
  47. package/es5/jodit.fat.min.js +2 -2
  48. package/es5/jodit.js +26 -10
  49. package/es5/jodit.min.css +3 -3
  50. package/es5/jodit.min.js +2 -2
  51. package/es5/plugins/debug/debug.css +1 -1
  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 +1 -1
  56. package/es5/plugins/speech-recognize/speech-recognize.min.js +1 -1
  57. package/es5/polyfills.fat.min.js +1 -1
  58. package/es5/polyfills.js +1 -1
  59. package/es5/polyfills.min.js +1 -1
  60. package/esm/core/constants.js +1 -1
  61. package/esm/core/helpers/utils/scroll-into-view.js +6 -2
  62. package/esm/modules/widget/file-selector/file-selector.js +7 -1
  63. package/esm/modules/widget/tabs/tabs.js +0 -3
  64. package/esm/plugins/fullsize/fullsize.js +11 -1
  65. package/package.json +1 -1
package/es2021/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.12.38
4
+ * Version: v4.12.41
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
@@ -1823,7 +1823,7 @@ __webpack_require__.r(__webpack_exports__);
1823
1823
  * ```
1824
1824
  * @packageDocumentation
1825
1825
  * @module constants
1826
- */ const APP_VERSION = "4.12.38";
1826
+ */ const APP_VERSION = "4.12.41";
1827
1827
  // prettier-ignore
1828
1828
  const ES = "es2021";
1829
1829
  const IS_ES_MODERN = true;
@@ -9054,8 +9054,12 @@ const map = {};
9054
9054
  return false;
9055
9055
  }
9056
9056
  }
9057
- // Check it's within the document viewport
9058
- return top <= (doc.documentElement && doc.documentElement.clientHeight || 0);
9057
+ // Check it's within the document viewport: the element must not be below
9058
+ // the viewport bottom, and (its bottom) must not be above the viewport top —
9059
+ // the latter guard was missing, so an element scrolled above the top was
9060
+ // wrongly reported as visible and never scrolled to. See #1279
9061
+ const clientHeight = doc.documentElement && doc.documentElement.clientHeight || 0;
9062
+ return top <= clientHeight && top + height >= 0;
9059
9063
  }
9060
9064
  /**
9061
9065
  * Scroll element into view if it is not in view
@@ -25312,7 +25316,13 @@ jodit_core_ui__WEBPACK_IMPORTED_MODULE_2__.Icon.set('palette', (_palette_svg__WE
25312
25316
  content: form.container
25313
25317
  });
25314
25318
  }
25315
- return (0,jodit_modules_widget_tabs_tabs__WEBPACK_IMPORTED_MODULE_3__.TabsWidget)(editor, tabs);
25319
+ const box = (0,jodit_modules_widget_tabs_tabs__WEBPACK_IMPORTED_MODULE_3__.TabsWidget)(editor, tabs);
25320
+ // Marks this popup so its tabs auto-size to their labels (see
25321
+ // `.jodit-file-selector` in tabs.less) — long localized tab captions are no
25322
+ // longer clipped — while leaving other tab popups (link, video …)
25323
+ // untouched.
25324
+ box.classList.add('jodit-file-selector');
25325
+ return box;
25316
25326
  };
25317
25327
  function val(elm, selector, value) {
25318
25328
  const child = elm.querySelector(selector);
@@ -25468,9 +25478,6 @@ function val(elm, selector, value) {
25468
25478
  tab
25469
25479
  };
25470
25480
  });
25471
- Object.values(nameToTab).forEach(({ button })=>{
25472
- button.container.style.width = (100 / tabs.length).toFixed(10) + '%';
25473
- });
25474
25481
  const tab = !state || !state.activeTab || !nameToTab[state.activeTab] ? firstTab : state.activeTab;
25475
25482
  setActive(tab);
25476
25483
  if (state) {
@@ -31393,7 +31400,7 @@ const fullsizeStack = new Set();
31393
31400
  editor.registerButton({
31394
31401
  name: 'fullsize'
31395
31402
  });
31396
- let isEnabled = false, oldHeight = 0, oldWidth = 0, wasToggled = false;
31403
+ let isEnabled = false, oldHeight = 0, oldWidth = 0, savedScrollLeft = 0, savedScrollTop = 0, wasToggled = false;
31397
31404
  const resize = ()=>{
31398
31405
  const { container, events } = editor;
31399
31406
  if (!events) {
@@ -31441,12 +31448,22 @@ const fullsizeStack = new Set();
31441
31448
  enable ? fullsizeStack.add(container) : fullsizeStack.delete(container);
31442
31449
  const shouldToggleGlobalFullsize = editor.o.globalFullSize && (fullsizeStack.size === 1 && enable || fullsizeStack.size === 0 && !enable);
31443
31450
  if (shouldToggleGlobalFullsize) {
31451
+ // Entering fullsize sets `position: fixed` on <html>, which
31452
+ // makes the browser reset the page scroll to the top. Remember
31453
+ // the scroll position so it can be restored on exit (#1255).
31454
+ if (enable) {
31455
+ savedScrollLeft = editor.ow.scrollX;
31456
+ savedScrollTop = editor.ow.scrollY;
31457
+ }
31444
31458
  let node = container.parentNode;
31445
31459
  while(node && node.nodeType !== Node.DOCUMENT_NODE && node.nodeType !== Node.DOCUMENT_FRAGMENT_NODE){
31446
31460
  node.classList.toggle('jodit_fullsize-box_true', enable);
31447
31461
  node = node.parentNode;
31448
31462
  }
31449
31463
  resize();
31464
+ if (!enable) {
31465
+ editor.ow.scrollTo(savedScrollLeft, savedScrollTop);
31466
+ }
31450
31467
  }
31451
31468
  events.fire('afterResize');
31452
31469
  };