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/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.12.38
4
+ * Version: v4.12.41
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
@@ -1829,7 +1829,7 @@ __webpack_require__.r(__webpack_exports__);
1829
1829
  * ```
1830
1830
  * @packageDocumentation
1831
1831
  * @module constants
1832
- */ const APP_VERSION = "4.12.38";
1832
+ */ const APP_VERSION = "4.12.41";
1833
1833
  // prettier-ignore
1834
1834
  const ES = "es2015";
1835
1835
  const IS_ES_MODERN = true;
@@ -9083,8 +9083,12 @@ const map = {};
9083
9083
  return false;
9084
9084
  }
9085
9085
  }
9086
- // Check it's within the document viewport
9087
- return top <= (doc.documentElement && doc.documentElement.clientHeight || 0);
9086
+ // Check it's within the document viewport: the element must not be below
9087
+ // the viewport bottom, and (its bottom) must not be above the viewport top —
9088
+ // the latter guard was missing, so an element scrolled above the top was
9089
+ // wrongly reported as visible and never scrolled to. See #1279
9090
+ const clientHeight = doc.documentElement && doc.documentElement.clientHeight || 0;
9091
+ return top <= clientHeight && top + height >= 0;
9088
9092
  }
9089
9093
  /**
9090
9094
  * Scroll element into view if it is not in view
@@ -25499,7 +25503,13 @@ jodit_core_ui__WEBPACK_IMPORTED_MODULE_2__.Icon.set('palette', (_palette_svg__WE
25499
25503
  content: form.container
25500
25504
  });
25501
25505
  }
25502
- return (0,jodit_modules_widget_tabs_tabs__WEBPACK_IMPORTED_MODULE_3__.TabsWidget)(editor, tabs);
25506
+ const box = (0,jodit_modules_widget_tabs_tabs__WEBPACK_IMPORTED_MODULE_3__.TabsWidget)(editor, tabs);
25507
+ // Marks this popup so its tabs auto-size to their labels (see
25508
+ // `.jodit-file-selector` in tabs.less) — long localized tab captions are no
25509
+ // longer clipped — while leaving other tab popups (link, video …)
25510
+ // untouched.
25511
+ box.classList.add('jodit-file-selector');
25512
+ return box;
25503
25513
  };
25504
25514
  function val(elm, selector, value) {
25505
25515
  const child = elm.querySelector(selector);
@@ -25655,9 +25665,6 @@ function val(elm, selector, value) {
25655
25665
  tab
25656
25666
  };
25657
25667
  });
25658
- Object.values(nameToTab).forEach(({ button })=>{
25659
- button.container.style.width = (100 / tabs.length).toFixed(10) + '%';
25660
- });
25661
25668
  const tab = !state || !state.activeTab || !nameToTab[state.activeTab] ? firstTab : state.activeTab;
25662
25669
  setActive(tab);
25663
25670
  if (state) {
@@ -31608,7 +31615,7 @@ const fullsizeStack = new Set();
31608
31615
  editor.registerButton({
31609
31616
  name: 'fullsize'
31610
31617
  });
31611
- let isEnabled = false, oldHeight = 0, oldWidth = 0, wasToggled = false;
31618
+ let isEnabled = false, oldHeight = 0, oldWidth = 0, savedScrollLeft = 0, savedScrollTop = 0, wasToggled = false;
31612
31619
  const resize = ()=>{
31613
31620
  const { container, events } = editor;
31614
31621
  if (!events) {
@@ -31657,12 +31664,22 @@ const fullsizeStack = new Set();
31657
31664
  enable ? fullsizeStack.add(container) : fullsizeStack.delete(container);
31658
31665
  const shouldToggleGlobalFullsize = editor.o.globalFullSize && (fullsizeStack.size === 1 && enable || fullsizeStack.size === 0 && !enable);
31659
31666
  if (shouldToggleGlobalFullsize) {
31667
+ // Entering fullsize sets `position: fixed` on <html>, which
31668
+ // makes the browser reset the page scroll to the top. Remember
31669
+ // the scroll position so it can be restored on exit (#1255).
31670
+ if (enable) {
31671
+ savedScrollLeft = editor.ow.scrollX;
31672
+ savedScrollTop = editor.ow.scrollY;
31673
+ }
31660
31674
  let node = container.parentNode;
31661
31675
  while(node && node.nodeType !== Node.DOCUMENT_NODE && node.nodeType !== Node.DOCUMENT_FRAGMENT_NODE){
31662
31676
  node.classList.toggle('jodit_fullsize-box_true', enable);
31663
31677
  node = node.parentNode;
31664
31678
  }
31665
31679
  resize();
31680
+ if (!enable) {
31681
+ editor.ow.scrollTo(savedScrollLeft, savedScrollTop);
31682
+ }
31666
31683
  }
31667
31684
  events.fire('afterResize');
31668
31685
  };