jodit 4.12.15 → 4.12.17

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 +4 -4
  4. package/es2015/jodit.js +38 -2
  5. package/es2015/jodit.min.js +4 -4
  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 +4 -4
  13. package/es2018/jodit.min.js +4 -4
  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 +38 -2
  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 +38 -2
  29. package/es2021.en/jodit.min.js +5 -5
  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 +41 -2
  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/plugins/dtd/after-insert/remove-extra-br.js +6 -0
  52. package/esm/plugins/select/select.d.ts +6 -0
  53. package/esm/plugins/select/select.js +32 -0
  54. package/package.json +1 -1
  55. package/types/plugins/select/select.d.ts +6 -0
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.15
4
+ * Version: v4.12.17
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
@@ -1808,7 +1808,7 @@ __webpack_require__.r(__webpack_exports__);
1808
1808
  * ```
1809
1809
  * @packageDocumentation
1810
1810
  * @module constants
1811
- */ const APP_VERSION = "4.12.15";
1811
+ */ const APP_VERSION = "4.12.17";
1812
1812
  // prettier-ignore
1813
1813
  const ES = "es2015";
1814
1814
  const IS_ES_MODERN = true;
@@ -29723,6 +29723,12 @@ const brBoxes = new Set([
29723
29723
  if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(br, 'br')) {
29724
29724
  return;
29725
29725
  }
29726
+ // Only a trailing `<br>` is "extra". If meaningful content follows it,
29727
+ // the `<br>` is a real line break and removing it would merge two lines
29728
+ // (e.g. toggling a style on an empty line), so keep it (#1302).
29729
+ if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.findNotEmptySibling(br, false)) {
29730
+ return;
29731
+ }
29726
29732
  jodit.s.setCursorBefore(br);
29727
29733
  jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(br);
29728
29734
  }
@@ -39601,6 +39607,31 @@ jodit_config__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.select = {
39601
39607
  s.expandSelection();
39602
39608
  return false;
39603
39609
  }
39610
+ /**
39611
+ * Fix caret position when clicking to the right of a list item that has a
39612
+ * nested list. Blink/WebKit place the caret at the start of the line instead
39613
+ * of the end (#1296); move it to the end of the item's own text.
39614
+ */ onClickRightOfNestedListItem(e) {
39615
+ const { s } = this.j;
39616
+ const range = s.range;
39617
+ if (!range.collapsed || range.startOffset !== 0 || !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__.Dom.isText(range.startContainer)) {
39618
+ return;
39619
+ }
39620
+ const text = range.startContainer;
39621
+ const li = text.parentNode;
39622
+ // The text must be the direct content of a list item that has a nested
39623
+ // list (the last level has no nested list and behaves correctly).
39624
+ if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__.Dom.isTag(li, 'li') || !(li.querySelector('ul') || li.querySelector('ol'))) {
39625
+ return;
39626
+ }
39627
+ const measure = this.j.ed.createRange();
39628
+ measure.selectNodeContents(text);
39629
+ const rect = measure.getBoundingClientRect();
39630
+ // Only when the click happened to the right of the text.
39631
+ if (e.clientX > rect.right) {
39632
+ s.setCursorAfter(text);
39633
+ }
39634
+ }
39604
39635
  /**
39605
39636
  * Normalize selection after triple click
39606
39637
  */ onTripleClickNormalizeSelection(e) {
@@ -39649,6 +39680,11 @@ jodit_config__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.select = {
39649
39680
  ':beforeCommandSelectall'
39650
39681
  ])
39651
39682
  ], select.prototype, "beforeCommandSelectAll", null);
39683
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
39684
+ (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.watch)([
39685
+ ':click'
39686
+ ])
39687
+ ], select.prototype, "onClickRightOfNestedListItem", null);
39652
39688
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
39653
39689
  (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.watch)([
39654
39690
  ':click'