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/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.15
4
+ * Version: v4.12.17
5
5
  * Url: https://xdsoft.net/jodit/
6
6
  * License(s): MIT
7
7
  */
@@ -1802,7 +1802,7 @@ __webpack_require__.r(__webpack_exports__);
1802
1802
  * ```
1803
1803
  * @packageDocumentation
1804
1804
  * @module constants
1805
- */ const APP_VERSION = "4.12.15";
1805
+ */ const APP_VERSION = "4.12.17";
1806
1806
  // prettier-ignore
1807
1807
  const ES = "es2021";
1808
1808
  const IS_ES_MODERN = true;
@@ -29525,6 +29525,12 @@ const brBoxes = new Set([
29525
29525
  if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(br, 'br')) {
29526
29526
  return;
29527
29527
  }
29528
+ // Only a trailing `<br>` is "extra". If meaningful content follows it,
29529
+ // the `<br>` is a real line break and removing it would merge two lines
29530
+ // (e.g. toggling a style on an empty line), so keep it (#1302).
29531
+ if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.findNotEmptySibling(br, false)) {
29532
+ return;
29533
+ }
29528
29534
  jodit.s.setCursorBefore(br);
29529
29535
  jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(br);
29530
29536
  }
@@ -39314,6 +39320,31 @@ jodit_config__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.select = {
39314
39320
  s.expandSelection();
39315
39321
  return false;
39316
39322
  }
39323
+ /**
39324
+ * Fix caret position when clicking to the right of a list item that has a
39325
+ * nested list. Blink/WebKit place the caret at the start of the line instead
39326
+ * of the end (#1296); move it to the end of the item's own text.
39327
+ */ onClickRightOfNestedListItem(e) {
39328
+ const { s } = this.j;
39329
+ const range = s.range;
39330
+ if (!range.collapsed || range.startOffset !== 0 || !jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__.Dom.isText(range.startContainer)) {
39331
+ return;
39332
+ }
39333
+ const text = range.startContainer;
39334
+ const li = text.parentNode;
39335
+ // The text must be the direct content of a list item that has a nested
39336
+ // list (the last level has no nested list and behaves correctly).
39337
+ if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__.Dom.isTag(li, 'li') || !(li.querySelector('ul') || li.querySelector('ol'))) {
39338
+ return;
39339
+ }
39340
+ const measure = this.j.ed.createRange();
39341
+ measure.selectNodeContents(text);
39342
+ const rect = measure.getBoundingClientRect();
39343
+ // Only when the click happened to the right of the text.
39344
+ if (e.clientX > rect.right) {
39345
+ s.setCursorAfter(text);
39346
+ }
39347
+ }
39317
39348
  /**
39318
39349
  * Normalize selection after triple click
39319
39350
  */ onTripleClickNormalizeSelection(e) {
@@ -39362,6 +39393,11 @@ jodit_config__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.select = {
39362
39393
  ':beforeCommandSelectall'
39363
39394
  ])
39364
39395
  ], select.prototype, "beforeCommandSelectAll", null);
39396
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
39397
+ (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.watch)([
39398
+ ':click'
39399
+ ])
39400
+ ], select.prototype, "onClickRightOfNestedListItem", null);
39365
39401
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
39366
39402
  (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.watch)([
39367
39403
  ':click'