jodit 4.18.4 → 4.18.6

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 (194) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/es2015/jodit.css +13 -34
  3. package/es2015/jodit.fat.min.css +1 -1
  4. package/es2015/jodit.fat.min.js +11 -11
  5. package/es2015/jodit.js +1029 -205
  6. package/es2015/jodit.min.css +1 -1
  7. package/es2015/jodit.min.js +11 -11
  8. package/es2015/plugins/debug/debug.css +1 -1
  9. package/es2015/plugins/debug/debug.js +1 -1
  10. package/es2015/plugins/debug/debug.min.js +1 -1
  11. package/es2015/plugins/speech-recognize/speech-recognize.css +1 -1
  12. package/es2015/plugins/speech-recognize/speech-recognize.js +1 -1
  13. package/es2015/plugins/speech-recognize/speech-recognize.min.js +1 -1
  14. package/es2018/jodit.fat.min.css +1 -1
  15. package/es2018/jodit.fat.min.js +11 -11
  16. package/es2018/jodit.min.css +1 -1
  17. package/es2018/jodit.min.js +11 -11
  18. package/es2018/plugins/debug/debug.min.js +1 -1
  19. package/es2018/plugins/speech-recognize/speech-recognize.min.js +1 -1
  20. package/es2021/jodit.css +13 -34
  21. package/es2021/jodit.fat.min.css +1 -1
  22. package/es2021/jodit.fat.min.js +15 -15
  23. package/es2021/jodit.js +1021 -203
  24. package/es2021/jodit.min.css +1 -1
  25. package/es2021/jodit.min.js +15 -15
  26. package/es2021/plugins/debug/debug.css +1 -1
  27. package/es2021/plugins/debug/debug.js +1 -1
  28. package/es2021/plugins/debug/debug.min.js +1 -1
  29. package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
  30. package/es2021/plugins/speech-recognize/speech-recognize.js +1 -1
  31. package/es2021/plugins/speech-recognize/speech-recognize.min.js +1 -1
  32. package/es2021.en/jodit.css +13 -34
  33. package/es2021.en/jodit.fat.min.css +1 -1
  34. package/es2021.en/jodit.fat.min.js +15 -15
  35. package/es2021.en/jodit.js +995 -177
  36. package/es2021.en/jodit.min.css +1 -1
  37. package/es2021.en/jodit.min.js +15 -15
  38. package/es2021.en/plugins/debug/debug.css +1 -1
  39. package/es2021.en/plugins/debug/debug.js +1 -1
  40. package/es2021.en/plugins/debug/debug.min.js +1 -1
  41. package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
  42. package/es2021.en/plugins/speech-recognize/speech-recognize.js +1 -1
  43. package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +1 -1
  44. package/es5/jodit.css +14 -41
  45. package/es5/jodit.fat.min.css +1 -1
  46. package/es5/jodit.fat.min.js +2 -2
  47. package/es5/jodit.js +1152 -254
  48. package/es5/jodit.min.css +3 -3
  49. package/es5/jodit.min.js +2 -2
  50. package/es5/plugins/debug/debug.css +1 -1
  51. package/es5/plugins/debug/debug.js +1 -1
  52. package/es5/plugins/debug/debug.min.js +1 -1
  53. package/es5/plugins/speech-recognize/speech-recognize.css +1 -1
  54. package/es5/plugins/speech-recognize/speech-recognize.js +1 -1
  55. package/es5/plugins/speech-recognize/speech-recognize.min.js +1 -1
  56. package/es5/polyfills.fat.min.js +1 -1
  57. package/es5/polyfills.js +1 -1
  58. package/es5/polyfills.min.js +1 -1
  59. package/esm/config.d.ts +3 -0
  60. package/esm/core/constants.js +1 -1
  61. package/esm/core/helpers/html/apply-styles.js +3 -0
  62. package/esm/core/helpers/html/clean-from-word.js +3 -0
  63. package/esm/core/helpers/html/strip-tags.js +24 -6
  64. package/esm/core/helpers/html/word-lists.d.ts +29 -0
  65. package/esm/core/helpers/html/word-lists.js +158 -0
  66. package/esm/core/selection/helpers/index.d.ts +1 -0
  67. package/esm/core/selection/helpers/index.js +1 -0
  68. package/esm/core/selection/helpers/is-moved.d.ts +15 -0
  69. package/esm/core/selection/helpers/is-moved.js +22 -0
  70. package/esm/core/selection/style/api/list/toggle-ordered-list.js +40 -3
  71. package/esm/core/selection/style/transactions.js +5 -2
  72. package/esm/langs/ar.d.ts +3 -0
  73. package/esm/langs/ar.js +4 -1
  74. package/esm/langs/az.d.ts +3 -0
  75. package/esm/langs/az.js +4 -1
  76. package/esm/langs/cs_cz.d.ts +3 -0
  77. package/esm/langs/cs_cz.js +4 -1
  78. package/esm/langs/de.d.ts +3 -0
  79. package/esm/langs/de.js +4 -1
  80. package/esm/langs/es.d.ts +3 -0
  81. package/esm/langs/es.js +4 -1
  82. package/esm/langs/fa.d.ts +3 -0
  83. package/esm/langs/fa.js +4 -1
  84. package/esm/langs/fi.d.ts +3 -0
  85. package/esm/langs/fi.js +4 -1
  86. package/esm/langs/fr.d.ts +3 -0
  87. package/esm/langs/fr.js +4 -1
  88. package/esm/langs/he.d.ts +3 -0
  89. package/esm/langs/he.js +4 -1
  90. package/esm/langs/hu.d.ts +3 -0
  91. package/esm/langs/hu.js +4 -1
  92. package/esm/langs/id.d.ts +3 -0
  93. package/esm/langs/id.js +4 -1
  94. package/esm/langs/it.d.ts +3 -0
  95. package/esm/langs/it.js +4 -1
  96. package/esm/langs/ja.d.ts +3 -0
  97. package/esm/langs/ja.js +4 -1
  98. package/esm/langs/ko.d.ts +3 -0
  99. package/esm/langs/ko.js +4 -1
  100. package/esm/langs/mn.d.ts +3 -0
  101. package/esm/langs/mn.js +4 -1
  102. package/esm/langs/nl.d.ts +3 -0
  103. package/esm/langs/nl.js +4 -1
  104. package/esm/langs/no.d.ts +3 -0
  105. package/esm/langs/no.js +4 -1
  106. package/esm/langs/pl.d.ts +3 -0
  107. package/esm/langs/pl.js +4 -1
  108. package/esm/langs/pt_br.d.ts +3 -0
  109. package/esm/langs/pt_br.js +4 -1
  110. package/esm/langs/ru.d.ts +3 -0
  111. package/esm/langs/ru.js +4 -1
  112. package/esm/langs/sk.d.ts +3 -0
  113. package/esm/langs/sk.js +4 -1
  114. package/esm/langs/sv.d.ts +3 -0
  115. package/esm/langs/sv.js +4 -1
  116. package/esm/langs/tr.d.ts +3 -0
  117. package/esm/langs/tr.js +4 -1
  118. package/esm/langs/ua.d.ts +3 -0
  119. package/esm/langs/ua.js +4 -1
  120. package/esm/langs/zh_cn.d.ts +3 -0
  121. package/esm/langs/zh_cn.js +4 -1
  122. package/esm/langs/zh_tw.d.ts +3 -0
  123. package/esm/langs/zh_tw.js +4 -1
  124. package/esm/modules/dialog/dialog.d.ts +7 -0
  125. package/esm/modules/dialog/dialog.js +24 -6
  126. package/esm/modules/table/table.d.ts +6 -0
  127. package/esm/modules/table/table.js +18 -26
  128. package/esm/plugins/backspace/cases/check-join-neighbors.js +90 -3
  129. package/esm/plugins/clean-html/clean-html.d.ts +8 -0
  130. package/esm/plugins/clean-html/clean-html.js +21 -1
  131. package/esm/plugins/clean-html/helpers/index.d.ts +1 -0
  132. package/esm/plugins/clean-html/helpers/index.js +1 -0
  133. package/esm/plugins/clean-html/helpers/remove-placeholder-br.d.ts +16 -0
  134. package/esm/plugins/clean-html/helpers/remove-placeholder-br.js +51 -0
  135. package/esm/plugins/delete/delete.d.ts +11 -1
  136. package/esm/plugins/delete/delete.js +92 -16
  137. package/esm/plugins/focus/focus.js +12 -1
  138. package/esm/plugins/iframe/config.d.ts +3 -0
  139. package/esm/plugins/iframe/config.js +0 -27
  140. package/esm/plugins/iframe/iframe.js +8 -1
  141. package/esm/plugins/image-processor/image-processor.js +6 -1
  142. package/esm/plugins/inline-popup/inline-popup.d.ts +19 -0
  143. package/esm/plugins/inline-popup/inline-popup.js +70 -1
  144. package/esm/plugins/ordered-list/config.js +13 -2
  145. package/esm/plugins/ordered-list/start-dialog.d.ts +19 -0
  146. package/esm/plugins/ordered-list/start-dialog.js +58 -0
  147. package/esm/plugins/placeholder/placeholder.js +7 -1
  148. package/esm/plugins/resizer/resizer.d.ts +10 -0
  149. package/esm/plugins/resizer/resizer.js +76 -2
  150. package/esm/plugins/select-cells/select-cells.d.ts +23 -0
  151. package/esm/plugins/select-cells/select-cells.js +75 -1
  152. package/esm/plugins/table-keyboard-navigation/table-keyboard-navigation.js +3 -2
  153. package/package.json +1 -1
  154. package/types/config.d.ts +3 -0
  155. package/types/core/helpers/html/word-lists.d.ts +29 -0
  156. package/types/core/selection/helpers/index.d.ts +1 -0
  157. package/types/core/selection/helpers/is-moved.d.ts +15 -0
  158. package/types/langs/ar.d.ts +3 -0
  159. package/types/langs/az.d.ts +3 -0
  160. package/types/langs/cs_cz.d.ts +3 -0
  161. package/types/langs/de.d.ts +3 -0
  162. package/types/langs/es.d.ts +3 -0
  163. package/types/langs/fa.d.ts +3 -0
  164. package/types/langs/fi.d.ts +3 -0
  165. package/types/langs/fr.d.ts +3 -0
  166. package/types/langs/he.d.ts +3 -0
  167. package/types/langs/hu.d.ts +3 -0
  168. package/types/langs/id.d.ts +3 -0
  169. package/types/langs/it.d.ts +3 -0
  170. package/types/langs/ja.d.ts +3 -0
  171. package/types/langs/ko.d.ts +3 -0
  172. package/types/langs/mn.d.ts +3 -0
  173. package/types/langs/nl.d.ts +3 -0
  174. package/types/langs/no.d.ts +3 -0
  175. package/types/langs/pl.d.ts +3 -0
  176. package/types/langs/pt_br.d.ts +3 -0
  177. package/types/langs/ru.d.ts +3 -0
  178. package/types/langs/sk.d.ts +3 -0
  179. package/types/langs/sv.d.ts +3 -0
  180. package/types/langs/tr.d.ts +3 -0
  181. package/types/langs/ua.d.ts +3 -0
  182. package/types/langs/zh_cn.d.ts +3 -0
  183. package/types/langs/zh_tw.d.ts +3 -0
  184. package/types/modules/dialog/dialog.d.ts +7 -0
  185. package/types/modules/table/table.d.ts +6 -0
  186. package/types/plugins/clean-html/clean-html.d.ts +8 -0
  187. package/types/plugins/clean-html/helpers/index.d.ts +1 -0
  188. package/types/plugins/clean-html/helpers/remove-placeholder-br.d.ts +16 -0
  189. package/types/plugins/delete/delete.d.ts +11 -1
  190. package/types/plugins/iframe/config.d.ts +3 -0
  191. package/types/plugins/inline-popup/inline-popup.d.ts +19 -0
  192. package/types/plugins/ordered-list/start-dialog.d.ts +19 -0
  193. package/types/plugins/resizer/resizer.d.ts +10 -0
  194. package/types/plugins/select-cells/select-cells.d.ts +23 -0
@@ -226,5 +226,8 @@ declare const _exports: {
226
226
  Loop: string;
227
227
  Muted: string;
228
228
  Controls: string;
229
+ 'Start at...': string;
230
+ 'Start numbering at': string;
231
+ 'Number for the first item': string;
229
232
  };
230
233
  export = _exports;
@@ -218,5 +218,8 @@ declare const _exports: {
218
218
  Loop: string;
219
219
  Muted: string;
220
220
  Controls: string;
221
+ 'Start at...': string;
222
+ 'Start numbering at': string;
223
+ 'Number for the first item': string;
221
224
  };
222
225
  export = _exports;
@@ -222,5 +222,8 @@ declare const _exports: {
222
222
  Loop: string;
223
223
  Muted: string;
224
224
  Controls: string;
225
+ 'Start at...': string;
226
+ 'Start numbering at': string;
227
+ 'Number for the first item': string;
225
228
  };
226
229
  export = _exports;
@@ -222,5 +222,8 @@ declare const _exports: {
222
222
  Loop: string;
223
223
  Muted: string;
224
224
  Controls: string;
225
+ 'Start at...': string;
226
+ 'Start numbering at': string;
227
+ 'Number for the first item': string;
225
228
  };
226
229
  export = _exports;
@@ -217,5 +217,8 @@ declare const _exports: {
217
217
  Loop: string;
218
218
  Muted: string;
219
219
  Controls: string;
220
+ 'Start at...': string;
221
+ 'Start numbering at': string;
222
+ 'Number for the first item': string;
220
223
  };
221
224
  export = _exports;
@@ -223,5 +223,8 @@ declare const _exports: {
223
223
  Loop: string;
224
224
  Muted: string;
225
225
  Controls: string;
226
+ 'Start at...': string;
227
+ 'Start numbering at': string;
228
+ 'Number for the first item': string;
226
229
  };
227
230
  export = _exports;
@@ -217,5 +217,8 @@ declare const _exports: {
217
217
  Loop: string;
218
218
  Muted: string;
219
219
  Controls: string;
220
+ 'Start at...': string;
221
+ 'Start numbering at': string;
222
+ 'Number for the first item': string;
220
223
  };
221
224
  export = _exports;
@@ -217,5 +217,8 @@ declare const _exports: {
217
217
  Loop: string;
218
218
  Muted: string;
219
219
  Controls: string;
220
+ 'Start at...': string;
221
+ 'Start numbering at': string;
222
+ 'Number for the first item': string;
220
223
  };
221
224
  export = _exports;
@@ -219,5 +219,8 @@ declare const _exports: {
219
219
  Loop: string;
220
220
  Muted: string;
221
221
  Controls: string;
222
+ 'Start at...': string;
223
+ 'Start numbering at': string;
224
+ 'Number for the first item': string;
222
225
  };
223
226
  export = _exports;
@@ -218,5 +218,8 @@ declare const _exports: {
218
218
  Loop: string;
219
219
  Muted: string;
220
220
  Controls: string;
221
+ 'Start at...': string;
222
+ 'Start numbering at': string;
223
+ 'Number for the first item': string;
221
224
  };
222
225
  export = _exports;
@@ -222,5 +222,8 @@ declare const _exports: {
222
222
  Loop: string;
223
223
  Muted: string;
224
224
  Controls: string;
225
+ 'Start at...': string;
226
+ 'Start numbering at': string;
227
+ 'Number for the first item': string;
225
228
  };
226
229
  export = _exports;
@@ -222,5 +222,8 @@ declare const _exports: {
222
222
  Loop: string;
223
223
  Muted: string;
224
224
  Controls: string;
225
+ 'Start at...': string;
226
+ 'Start numbering at': string;
227
+ 'Number for the first item': string;
225
228
  };
226
229
  export = _exports;
@@ -216,5 +216,8 @@ declare const _exports: {
216
216
  Loop: string;
217
217
  Muted: string;
218
218
  Controls: string;
219
+ 'Start at...': string;
220
+ 'Start numbering at': string;
221
+ 'Number for the first item': string;
219
222
  };
220
223
  export = _exports;
@@ -217,5 +217,8 @@ declare const _exports: {
217
217
  Loop: string;
218
218
  Muted: string;
219
219
  Controls: string;
220
+ 'Start at...': string;
221
+ 'Start numbering at': string;
222
+ 'Number for the first item': string;
220
223
  };
221
224
  export = _exports;
@@ -218,5 +218,8 @@ declare const _exports: {
218
218
  Loop: string;
219
219
  Muted: string;
220
220
  Controls: string;
221
+ 'Start at...': string;
222
+ 'Start numbering at': string;
223
+ 'Number for the first item': string;
221
224
  };
222
225
  export = _exports;
@@ -226,5 +226,8 @@ declare const _exports: {
226
226
  Loop: string;
227
227
  Muted: string;
228
228
  Controls: string;
229
+ 'Start at...': string;
230
+ 'Start numbering at': string;
231
+ 'Number for the first item': string;
229
232
  };
230
233
  export = _exports;
@@ -217,5 +217,8 @@ declare const _exports: {
217
217
  Loop: string;
218
218
  Muted: string;
219
219
  Controls: string;
220
+ 'Start at...': string;
221
+ 'Start numbering at': string;
222
+ 'Number for the first item': string;
220
223
  };
221
224
  export = _exports;
@@ -222,5 +222,8 @@ declare const _exports: {
222
222
  Loop: string;
223
223
  Muted: string;
224
224
  Controls: string;
225
+ 'Start at...': string;
226
+ 'Start numbering at': string;
227
+ 'Number for the first item': string;
225
228
  };
226
229
  export = _exports;
@@ -216,5 +216,8 @@ declare const _exports: {
216
216
  Loop: string;
217
217
  Muted: string;
218
218
  Controls: string;
219
+ 'Start at...': string;
220
+ 'Start numbering at': string;
221
+ 'Number for the first item': string;
219
222
  };
220
223
  export = _exports;
@@ -224,5 +224,8 @@ declare const _exports: {
224
224
  Loop: string;
225
225
  Muted: string;
226
226
  Controls: string;
227
+ 'Start at...': string;
228
+ 'Start numbering at': string;
229
+ 'Number for the first item': string;
227
230
  };
228
231
  export = _exports;
@@ -225,5 +225,8 @@ declare const _exports: {
225
225
  Loop: string;
226
226
  Muted: string;
227
227
  Controls: string;
228
+ 'Start at...': string;
229
+ 'Start numbering at': string;
230
+ 'Number for the first item': string;
228
231
  };
229
232
  export = _exports;
@@ -217,5 +217,8 @@ declare const _exports: {
217
217
  Loop: string;
218
218
  Muted: string;
219
219
  Controls: string;
220
+ 'Start at...': string;
221
+ 'Start numbering at': string;
222
+ 'Number for the first item': string;
220
223
  };
221
224
  export = _exports;
@@ -216,5 +216,8 @@ declare const _exports: {
216
216
  Loop: string;
217
217
  Muted: string;
218
218
  Controls: string;
219
+ 'Start at...': string;
220
+ 'Start numbering at': string;
221
+ 'Number for the first item': string;
219
222
  };
220
223
  export = _exports;
@@ -218,5 +218,8 @@ declare const _exports: {
218
218
  Loop: string;
219
219
  Muted: string;
220
220
  Controls: string;
221
+ 'Start at...': string;
222
+ 'Start numbering at': string;
223
+ 'Number for the first item': string;
221
224
  };
222
225
  export = _exports;
@@ -217,5 +217,8 @@ declare const _exports: {
217
217
  Loop: string;
218
218
  Muted: string;
219
219
  Controls: string;
220
+ 'Start at...': string;
221
+ 'Start numbering at': string;
222
+ 'Number for the first item': string;
220
223
  };
221
224
  export = _exports;
@@ -48,6 +48,13 @@ export declare class Dialog extends ViewWithToolbar implements IDialog {
48
48
  */
49
49
  private minSize;
50
50
  private __onResizerMouseDown;
51
+ /**
52
+ * The width `box` takes with its content on one line. The header and
53
+ * footer are flex rows as wide as the dialog, so the footer's
54
+ * `scrollWidth` was the dialog's width and kept it from getting any
55
+ * narrower
56
+ */
57
+ private __contentWidth;
51
58
  private __addGlobalResizeListeners;
52
59
  private __removeGlobalResizeListeners;
53
60
  OPTIONS: IDialogOptions;
@@ -15,6 +15,12 @@ export declare class Table extends ViewComponent<IJodit> {
15
15
  className(): string;
16
16
  private selected;
17
17
  private static __selectedByTable;
18
+ /**
19
+ * Rewrite the `<style>` that marks the selected cells once for all the
20
+ * cells (un)selected in one go: a drag over a block of cells unmarks and
21
+ * marks every one of them on each move. `@debounce()` was never applied,
22
+ * as a Table never reaches `ready`
23
+ */
18
24
  private __recalculateStyles;
19
25
  addSelection(td: HTMLTableCellElement): void;
20
26
  removeSelection(td: HTMLTableCellElement): void;
@@ -23,6 +23,14 @@ export declare class cleanHtml extends Plugin {
23
23
  */
24
24
  protected onChangeCleanHTML(): void;
25
25
  private currentSelectionNode;
26
+ /**
27
+ * Typing into an empty block (`<p><br></p>`) replaces its `<br>`, but the
28
+ * browser keeps the `<br>` when the caret is in an invisible-space text
29
+ * node in front of it, as Jodit leaves the caret in many of the empty
30
+ * blocks it makes (a cleared editor, a heading in an empty table cell).
31
+ * See #1632
32
+ */
33
+ protected onInputRemovePlaceholderBr(event: InputEvent | CompositionEvent): void;
26
34
  private walker;
27
35
  protected startWalker(): void;
28
36
  protected beforeCommand(command: string): void | false;
@@ -10,4 +10,5 @@ export * from "./get-hash";
10
10
  export * from "./is-allowed-media-embed";
11
11
  export * from "./remove-format/remove-format-for-collapsed-selection";
12
12
  export * from "./remove-format/remove-format-for-selection";
13
+ export * from "./remove-placeholder-br";
13
14
  export * from "./visitor/visit-node-walker";
@@ -0,0 +1,16 @@
1
+ /*!
2
+ * Jodit Editor (https://xdsoft.net/jodit/)
3
+ * Released under MIT see LICENSE.txt in the project root for license information.
4
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+ /**
7
+ * @module plugins/clean-html
8
+ */
9
+ import type { IJodit } from "../../../types/index";
10
+ /**
11
+ * Remove the `<br>` that kept the block with the caret open while it was
12
+ * empty, once text has gone into the block: when the block is one line of
13
+ * text that ends in that `<br>`, the `<br>` adds nothing to it
14
+ * @private
15
+ */
16
+ export declare function removePlaceholderBr(jodit: IJodit): void;
@@ -20,13 +20,23 @@ export declare class deleteCommand extends Plugin {
20
20
  */
21
21
  private __afterDeleteCommand;
22
22
  private __onDeleteCommand;
23
+ /**
24
+ * A selection that starts or ends in a table cell clears the selected part
25
+ * of each cell it covers and keeps the cells, as the browsers do.
26
+ * `deleteContents` would remove the cells it fully covers, and the cells
27
+ * it cuts would then be merged as blocks. The range is moved out of those
28
+ * tables, so only the content between them is left to delete.
29
+ *
30
+ * Returns where the caret goes, or null when no table is involved
31
+ */
32
+ private __clearSelectedCells;
23
33
  private __moveContentInLeftSibling;
24
34
  /**
25
35
  * If left sibling is list - return last leaf
26
36
  */
27
37
  private __defineRightLeftBox;
28
38
  /**
29
- * Add BR in empty blocks left and right(for table cell)
39
+ * Add BR in the empty block left at the caret
30
40
  */
31
41
  private __addBrInEmptyBlock;
32
42
  private __moveCursorInEditableSibling;
@@ -37,6 +37,9 @@ declare module 'jodit/config' {
37
37
  iframeDoctype: string;
38
38
  /**
39
39
  * Custom style to be used inside the iframe to display content.
40
+ * It goes in after `iframeCSSLinks`. The rules Jodit's own plugins need
41
+ * in the editing document are added apart from it, so a value of your
42
+ * own doesn't have to repeat them.
40
43
  *
41
44
  * ```javascript
42
45
  * Jodit.make('#editor', {
@@ -37,6 +37,17 @@ export declare class inlinePopup extends Plugin {
37
37
  */
38
38
  private hidePopup;
39
39
  protected onOutsideClick(): void;
40
+ /**
41
+ * A key that moves the caret off an element closes its popup, and one
42
+ * that moves the caret into an element with a popup (a link) opens it,
43
+ * as clicks do
44
+ */
45
+ protected onKeyUp(): void;
46
+ private __followCaret;
47
+ /**
48
+ * The element with a popup that holds `node`
49
+ */
50
+ private __elementAt;
40
51
  /**
41
52
  * Can show popup for this type
42
53
  */
@@ -53,6 +64,13 @@ export declare class inlinePopup extends Plugin {
53
64
  * while the selection is still there. See #1238
54
65
  */
55
66
  private __reopenSelectionPopup;
67
+ /**
68
+ * The alignment controls fire `recalcPositionPopup` once they have moved
69
+ * the element, and their button then fires `closeAllPopups`. The popup
70
+ * opens again beside the element, as the selection toolbar does
71
+ */
72
+ private __reopenFor;
73
+ protected onRecalcPositionPopup(): void;
56
74
  private __onDocumentMouseDown;
57
75
  private __onCloseAllPopups;
58
76
  /**
@@ -64,6 +82,7 @@ export declare class inlinePopup extends Plugin {
64
82
  private __selectionBound;
65
83
  private snapRange;
66
84
  private onSelectionStart;
85
+ private __keyDownElement;
67
86
  private onSelectionEnd;
68
87
  /**
69
88
  * Selection change handler
@@ -0,0 +1,19 @@
1
+ /*!
2
+ * Jodit Editor (https://xdsoft.net/jodit/)
3
+ * Released under MIT see LICENSE.txt in the project root for license information.
4
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net
5
+ */
6
+ /**
7
+ * @module plugins/ordered-list
8
+ */
9
+ import type { IJodit, Nullable } from "../../types/index";
10
+ /**
11
+ * The numbered list the selection is in
12
+ */
13
+ export declare function closestOrderedList(jodit: IJodit): Nullable<HTMLOListElement>;
14
+ /**
15
+ * Asks for the number of the first item of the list the selection is in,
16
+ * and sets the list's `start`. The selection is put back when the dialog
17
+ * closes, however it closes.
18
+ */
19
+ export declare function openStartDialog(jodit: IJodit): void;
@@ -46,6 +46,16 @@ export declare class resizer extends Plugin {
46
46
  private pointerX;
47
47
  private pointerY;
48
48
  private onResize;
49
+ private __keyDownRange;
50
+ private __keyDownTable;
51
+ private onEditorKeyDown;
52
+ private __caretTable;
53
+ /**
54
+ * Hide the frame once a key has moved the caret off its element, and
55
+ * frame a table the caret has moved into, as clicks do
56
+ */
57
+ protected onEditorKeyUp(): void;
58
+ private __followCaret;
49
59
  private isAltMode;
50
60
  private onKeyDown;
51
61
  private onKeyUp;
@@ -18,6 +18,29 @@ export declare class selectCells extends Plugin {
18
18
  */
19
19
  private get __tableModule();
20
20
  protected afterInit(jodit: IJodit): void;
21
+ /**
22
+ * The cell with the caret, and the selection, when a key went down
23
+ */
24
+ private __keyDownCell;
25
+ private __keyDownRange;
26
+ private __onKeyDown;
27
+ /**
28
+ * A link's popup replaces the cell's while the caret is in the link
29
+ */
30
+ private __keyDownInLink;
31
+ private __isInLink;
32
+ /**
33
+ * Where the selection starts rather than `s.current()`, which finds the
34
+ * first cell when the caret is just before the table
35
+ */
36
+ private __caretCell;
37
+ /**
38
+ * A key that moves the caret into a cell, from another cell or from
39
+ * outside the table, marks that cell and opens its popup, as a click on
40
+ * it does. One that moves the caret out of the table unmarks the cells
41
+ */
42
+ protected onKeyUp(): void;
43
+ private __followCaret;
21
44
  /**
22
45
  * First selected cell
23
46
  */