jodit-pro 4.6.18 → 4.6.21

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 (312) hide show
  1. package/es2015/jodit.css +1 -1
  2. package/es2015/jodit.fat.min.js +2 -2
  3. package/es2015/jodit.js +147 -50
  4. package/es2015/jodit.min.js +2 -2
  5. package/es2015/plugins/autocomplete/autocomplete.js +1 -1
  6. package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
  7. package/es2015/plugins/backup/backup.css +1 -1
  8. package/es2015/plugins/backup/backup.js +1 -1
  9. package/es2015/plugins/backup/backup.min.js +1 -1
  10. package/es2015/plugins/button-generator/button-generator.css +1 -1
  11. package/es2015/plugins/button-generator/button-generator.js +1 -1
  12. package/es2015/plugins/button-generator/button-generator.min.js +1 -1
  13. package/es2015/plugins/change-case/change-case.js +1 -1
  14. package/es2015/plugins/change-case/change-case.min.js +1 -1
  15. package/es2015/plugins/color-picker/color-picker.css +1 -1
  16. package/es2015/plugins/color-picker/color-picker.js +1 -1
  17. package/es2015/plugins/color-picker/color-picker.min.js +1 -1
  18. package/es2015/plugins/emoji/emoji.css +1 -1
  19. package/es2015/plugins/emoji/emoji.js +1 -1
  20. package/es2015/plugins/emoji/emoji.min.js +1 -1
  21. package/es2015/plugins/export-docs/export-docs.js +1 -1
  22. package/es2015/plugins/export-docs/export-docs.min.js +1 -1
  23. package/es2015/plugins/finder/finder.css +1 -1
  24. package/es2015/plugins/finder/finder.js +1 -1
  25. package/es2015/plugins/finder/finder.min.js +1 -1
  26. package/es2015/plugins/google-maps/google-maps.css +1 -1
  27. package/es2015/plugins/google-maps/google-maps.js +1 -1
  28. package/es2015/plugins/google-maps/google-maps.min.js +1 -1
  29. package/es2015/plugins/google-search/google-search.js +1 -1
  30. package/es2015/plugins/google-search/google-search.min.js +1 -1
  31. package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
  32. package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
  33. package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
  34. package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
  35. package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
  36. package/es2015/plugins/keyboard/keyboard.css +1 -1
  37. package/es2015/plugins/keyboard/keyboard.js +1 -1
  38. package/es2015/plugins/keyboard/keyboard.min.js +1 -1
  39. package/es2015/plugins/mobile-view/mobile-view.js +1 -1
  40. package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
  41. package/es2015/plugins/page-break/page-break.js +1 -1
  42. package/es2015/plugins/page-break/page-break.min.js +1 -1
  43. package/es2015/plugins/paste-code/paste-code.css +1 -1
  44. package/es2015/plugins/paste-code/paste-code.js +1 -1
  45. package/es2015/plugins/paste-code/paste-code.min.js +1 -1
  46. package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
  47. package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
  48. package/es2015/plugins/show-blocks/show-blocks.js +1 -1
  49. package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
  50. package/es2015/plugins/todo-list/todo-list.css +1 -1
  51. package/es2015/plugins/todo-list/todo-list.js +1 -1
  52. package/es2015/plugins/todo-list/todo-list.min.js +1 -1
  53. package/es2015/plugins/translate/translate.css +1 -1
  54. package/es2015/plugins/translate/translate.js +1 -1
  55. package/es2015/plugins/translate/translate.min.js +1 -1
  56. package/es2015/plugins/tune-block/tune-block.css +1 -1
  57. package/es2015/plugins/tune-block/tune-block.js +1 -1
  58. package/es2015/plugins/tune-block/tune-block.min.js +1 -1
  59. package/es2018/jodit.css +1 -1
  60. package/es2018/jodit.fat.min.js +2 -2
  61. package/es2018/jodit.js +148 -50
  62. package/es2018/jodit.min.js +2 -2
  63. package/es2018/plugins/autocomplete/autocomplete.js +1 -1
  64. package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
  65. package/es2018/plugins/backup/backup.css +1 -1
  66. package/es2018/plugins/backup/backup.js +1 -1
  67. package/es2018/plugins/backup/backup.min.js +1 -1
  68. package/es2018/plugins/button-generator/button-generator.css +1 -1
  69. package/es2018/plugins/button-generator/button-generator.js +1 -1
  70. package/es2018/plugins/button-generator/button-generator.min.js +1 -1
  71. package/es2018/plugins/change-case/change-case.js +1 -1
  72. package/es2018/plugins/change-case/change-case.min.js +1 -1
  73. package/es2018/plugins/color-picker/color-picker.css +1 -1
  74. package/es2018/plugins/color-picker/color-picker.js +1 -1
  75. package/es2018/plugins/color-picker/color-picker.min.js +1 -1
  76. package/es2018/plugins/emoji/emoji.css +1 -1
  77. package/es2018/plugins/emoji/emoji.js +1 -1
  78. package/es2018/plugins/emoji/emoji.min.js +1 -1
  79. package/es2018/plugins/export-docs/export-docs.js +1 -1
  80. package/es2018/plugins/export-docs/export-docs.min.js +1 -1
  81. package/es2018/plugins/finder/finder.css +1 -1
  82. package/es2018/plugins/finder/finder.js +1 -1
  83. package/es2018/plugins/finder/finder.min.js +1 -1
  84. package/es2018/plugins/google-maps/google-maps.css +1 -1
  85. package/es2018/plugins/google-maps/google-maps.js +1 -1
  86. package/es2018/plugins/google-maps/google-maps.min.js +1 -1
  87. package/es2018/plugins/google-search/google-search.js +1 -1
  88. package/es2018/plugins/google-search/google-search.min.js +1 -1
  89. package/es2018/plugins/highlight-signature/highlight-signature.js +1 -1
  90. package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
  91. package/es2018/plugins/iframe-editor/iframe-editor.css +1 -1
  92. package/es2018/plugins/iframe-editor/iframe-editor.js +1 -1
  93. package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
  94. package/es2018/plugins/keyboard/keyboard.css +1 -1
  95. package/es2018/plugins/keyboard/keyboard.js +1 -1
  96. package/es2018/plugins/keyboard/keyboard.min.js +1 -1
  97. package/es2018/plugins/mobile-view/mobile-view.js +1 -1
  98. package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
  99. package/es2018/plugins/page-break/page-break.js +1 -1
  100. package/es2018/plugins/page-break/page-break.min.js +1 -1
  101. package/es2018/plugins/paste-code/paste-code.css +1 -1
  102. package/es2018/plugins/paste-code/paste-code.js +1 -1
  103. package/es2018/plugins/paste-code/paste-code.min.js +1 -1
  104. package/es2018/plugins/paste-from-word/paste-from-word.js +1 -1
  105. package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
  106. package/es2018/plugins/show-blocks/show-blocks.js +1 -1
  107. package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
  108. package/es2018/plugins/todo-list/todo-list.css +1 -1
  109. package/es2018/plugins/todo-list/todo-list.js +1 -1
  110. package/es2018/plugins/todo-list/todo-list.min.js +1 -1
  111. package/es2018/plugins/translate/translate.css +1 -1
  112. package/es2018/plugins/translate/translate.js +1 -1
  113. package/es2018/plugins/translate/translate.min.js +1 -1
  114. package/es2018/plugins/tune-block/tune-block.css +1 -1
  115. package/es2018/plugins/tune-block/tune-block.js +1 -1
  116. package/es2018/plugins/tune-block/tune-block.min.js +1 -1
  117. package/es2021/jodit.css +1 -1
  118. package/es2021/jodit.fat.min.js +2 -2
  119. package/es2021/jodit.js +148 -50
  120. package/es2021/jodit.min.js +2 -2
  121. package/es2021/plugins/autocomplete/autocomplete.js +1 -1
  122. package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
  123. package/es2021/plugins/backup/backup.css +1 -1
  124. package/es2021/plugins/backup/backup.js +1 -1
  125. package/es2021/plugins/backup/backup.min.js +1 -1
  126. package/es2021/plugins/button-generator/button-generator.css +1 -1
  127. package/es2021/plugins/button-generator/button-generator.js +1 -1
  128. package/es2021/plugins/button-generator/button-generator.min.js +1 -1
  129. package/es2021/plugins/change-case/change-case.js +1 -1
  130. package/es2021/plugins/change-case/change-case.min.js +1 -1
  131. package/es2021/plugins/color-picker/color-picker.css +1 -1
  132. package/es2021/plugins/color-picker/color-picker.js +1 -1
  133. package/es2021/plugins/color-picker/color-picker.min.js +1 -1
  134. package/es2021/plugins/emoji/emoji.css +1 -1
  135. package/es2021/plugins/emoji/emoji.js +1 -1
  136. package/es2021/plugins/emoji/emoji.min.js +1 -1
  137. package/es2021/plugins/export-docs/export-docs.js +1 -1
  138. package/es2021/plugins/export-docs/export-docs.min.js +1 -1
  139. package/es2021/plugins/finder/finder.css +1 -1
  140. package/es2021/plugins/finder/finder.js +1 -1
  141. package/es2021/plugins/finder/finder.min.js +1 -1
  142. package/es2021/plugins/google-maps/google-maps.css +1 -1
  143. package/es2021/plugins/google-maps/google-maps.js +1 -1
  144. package/es2021/plugins/google-maps/google-maps.min.js +1 -1
  145. package/es2021/plugins/google-search/google-search.js +1 -1
  146. package/es2021/plugins/google-search/google-search.min.js +1 -1
  147. package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
  148. package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
  149. package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
  150. package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
  151. package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
  152. package/es2021/plugins/keyboard/keyboard.css +1 -1
  153. package/es2021/plugins/keyboard/keyboard.js +1 -1
  154. package/es2021/plugins/keyboard/keyboard.min.js +1 -1
  155. package/es2021/plugins/mobile-view/mobile-view.js +1 -1
  156. package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
  157. package/es2021/plugins/page-break/page-break.js +1 -1
  158. package/es2021/plugins/page-break/page-break.min.js +1 -1
  159. package/es2021/plugins/paste-code/paste-code.css +1 -1
  160. package/es2021/plugins/paste-code/paste-code.js +1 -1
  161. package/es2021/plugins/paste-code/paste-code.min.js +1 -1
  162. package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
  163. package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
  164. package/es2021/plugins/show-blocks/show-blocks.js +1 -1
  165. package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
  166. package/es2021/plugins/todo-list/todo-list.css +1 -1
  167. package/es2021/plugins/todo-list/todo-list.js +1 -1
  168. package/es2021/plugins/todo-list/todo-list.min.js +1 -1
  169. package/es2021/plugins/translate/translate.css +1 -1
  170. package/es2021/plugins/translate/translate.js +1 -1
  171. package/es2021/plugins/translate/translate.min.js +1 -1
  172. package/es2021/plugins/tune-block/tune-block.css +1 -1
  173. package/es2021/plugins/tune-block/tune-block.js +1 -1
  174. package/es2021/plugins/tune-block/tune-block.min.js +1 -1
  175. package/es2021.en/jodit.css +1 -1
  176. package/es2021.en/jodit.fat.min.js +2 -2
  177. package/es2021.en/jodit.js +148 -50
  178. package/es2021.en/jodit.min.js +2 -2
  179. package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
  180. package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
  181. package/es2021.en/plugins/backup/backup.css +1 -1
  182. package/es2021.en/plugins/backup/backup.js +1 -1
  183. package/es2021.en/plugins/backup/backup.min.js +1 -1
  184. package/es2021.en/plugins/button-generator/button-generator.css +1 -1
  185. package/es2021.en/plugins/button-generator/button-generator.js +1 -1
  186. package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
  187. package/es2021.en/plugins/change-case/change-case.js +1 -1
  188. package/es2021.en/plugins/change-case/change-case.min.js +1 -1
  189. package/es2021.en/plugins/color-picker/color-picker.css +1 -1
  190. package/es2021.en/plugins/color-picker/color-picker.js +1 -1
  191. package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
  192. package/es2021.en/plugins/emoji/emoji.css +1 -1
  193. package/es2021.en/plugins/emoji/emoji.js +1 -1
  194. package/es2021.en/plugins/emoji/emoji.min.js +1 -1
  195. package/es2021.en/plugins/export-docs/export-docs.js +1 -1
  196. package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
  197. package/es2021.en/plugins/finder/finder.css +1 -1
  198. package/es2021.en/plugins/finder/finder.js +1 -1
  199. package/es2021.en/plugins/finder/finder.min.js +1 -1
  200. package/es2021.en/plugins/google-maps/google-maps.css +1 -1
  201. package/es2021.en/plugins/google-maps/google-maps.js +1 -1
  202. package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
  203. package/es2021.en/plugins/google-search/google-search.js +1 -1
  204. package/es2021.en/plugins/google-search/google-search.min.js +1 -1
  205. package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
  206. package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
  207. package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
  208. package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
  209. package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
  210. package/es2021.en/plugins/keyboard/keyboard.css +1 -1
  211. package/es2021.en/plugins/keyboard/keyboard.js +1 -1
  212. package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
  213. package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
  214. package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
  215. package/es2021.en/plugins/page-break/page-break.js +1 -1
  216. package/es2021.en/plugins/page-break/page-break.min.js +1 -1
  217. package/es2021.en/plugins/paste-code/paste-code.css +1 -1
  218. package/es2021.en/plugins/paste-code/paste-code.js +1 -1
  219. package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
  220. package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
  221. package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
  222. package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
  223. package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
  224. package/es2021.en/plugins/todo-list/todo-list.css +1 -1
  225. package/es2021.en/plugins/todo-list/todo-list.js +1 -1
  226. package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
  227. package/es2021.en/plugins/translate/translate.css +1 -1
  228. package/es2021.en/plugins/translate/translate.js +1 -1
  229. package/es2021.en/plugins/translate/translate.min.js +1 -1
  230. package/es2021.en/plugins/tune-block/tune-block.css +1 -1
  231. package/es2021.en/plugins/tune-block/tune-block.js +1 -1
  232. package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
  233. package/es5/jodit.css +2 -2
  234. package/es5/jodit.fat.min.js +2 -2
  235. package/es5/jodit.js +154 -51
  236. package/es5/jodit.min.css +2 -2
  237. package/es5/jodit.min.js +2 -2
  238. package/es5/plugins/autocomplete/autocomplete.js +1 -1
  239. package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
  240. package/es5/plugins/backup/backup.css +1 -1
  241. package/es5/plugins/backup/backup.js +1 -1
  242. package/es5/plugins/backup/backup.min.js +1 -1
  243. package/es5/plugins/button-generator/button-generator.css +1 -1
  244. package/es5/plugins/button-generator/button-generator.js +1 -1
  245. package/es5/plugins/button-generator/button-generator.min.js +1 -1
  246. package/es5/plugins/change-case/change-case.js +1 -1
  247. package/es5/plugins/change-case/change-case.min.js +1 -1
  248. package/es5/plugins/color-picker/color-picker.css +1 -1
  249. package/es5/plugins/color-picker/color-picker.js +1 -1
  250. package/es5/plugins/color-picker/color-picker.min.js +1 -1
  251. package/es5/plugins/emoji/emoji.css +1 -1
  252. package/es5/plugins/emoji/emoji.js +1 -1
  253. package/es5/plugins/emoji/emoji.min.js +1 -1
  254. package/es5/plugins/export-docs/export-docs.js +1 -1
  255. package/es5/plugins/export-docs/export-docs.min.js +1 -1
  256. package/es5/plugins/finder/finder.css +1 -1
  257. package/es5/plugins/finder/finder.js +1 -1
  258. package/es5/plugins/finder/finder.min.js +1 -1
  259. package/es5/plugins/google-maps/google-maps.css +1 -1
  260. package/es5/plugins/google-maps/google-maps.js +1 -1
  261. package/es5/plugins/google-maps/google-maps.min.js +1 -1
  262. package/es5/plugins/google-search/google-search.js +1 -1
  263. package/es5/plugins/google-search/google-search.min.js +1 -1
  264. package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
  265. package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
  266. package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
  267. package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
  268. package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
  269. package/es5/plugins/keyboard/keyboard.css +1 -1
  270. package/es5/plugins/keyboard/keyboard.js +1 -1
  271. package/es5/plugins/keyboard/keyboard.min.js +1 -1
  272. package/es5/plugins/mobile-view/mobile-view.js +1 -1
  273. package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
  274. package/es5/plugins/page-break/page-break.js +1 -1
  275. package/es5/plugins/page-break/page-break.min.js +1 -1
  276. package/es5/plugins/paste-code/paste-code.css +1 -1
  277. package/es5/plugins/paste-code/paste-code.js +1 -1
  278. package/es5/plugins/paste-code/paste-code.min.js +1 -1
  279. package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
  280. package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
  281. package/es5/plugins/show-blocks/show-blocks.js +1 -1
  282. package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
  283. package/es5/plugins/todo-list/todo-list.css +1 -1
  284. package/es5/plugins/todo-list/todo-list.js +1 -1
  285. package/es5/plugins/todo-list/todo-list.min.js +1 -1
  286. package/es5/plugins/translate/translate.css +1 -1
  287. package/es5/plugins/translate/translate.js +1 -1
  288. package/es5/plugins/translate/translate.min.js +1 -1
  289. package/es5/plugins/tune-block/tune-block.css +1 -1
  290. package/es5/plugins/tune-block/tune-block.js +1 -1
  291. package/es5/plugins/tune-block/tune-block.min.js +1 -1
  292. package/esm/config.d.ts +2 -2
  293. package/esm/plugins/autocomplete/autocomplete.d.ts +5 -15
  294. package/esm/plugins/autocomplete/autocomplete.js +1 -1
  295. package/esm/plugins/autocomplete/config.d.ts +17 -0
  296. package/esm/plugins/autocomplete/config.js +6 -0
  297. package/esm/plugins/autocomplete/interface.d.ts +6 -6
  298. package/esm/plugins/autocomplete/ui/autocomplete.d.ts +2 -1
  299. package/esm/plugins/autocomplete/ui/autocomplete.js +1 -1
  300. package/esm/plugins/autocomplete/ui/item.d.ts +5 -1
  301. package/esm/plugins/autocomplete/ui/item.js +1 -1
  302. package/esm/plugins/license/helpers/helpers.d.ts +1 -0
  303. package/esm/plugins/license/helpers/helpers.js +1 -1
  304. package/esm/plugins/license/license.js +1 -1
  305. package/package.json +1 -1
  306. package/types/config.d.ts +2 -2
  307. package/types/plugins/autocomplete/autocomplete.d.ts +5 -15
  308. package/types/plugins/autocomplete/config.d.ts +17 -0
  309. package/types/plugins/autocomplete/interface.d.ts +6 -6
  310. package/types/plugins/autocomplete/ui/autocomplete.d.ts +2 -1
  311. package/types/plugins/autocomplete/ui/item.d.ts +5 -1
  312. package/types/plugins/license/helpers/helpers.d.ts +1 -0
package/es2021/jodit.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * jodit-pro - PRO Version of Jodit Editor
3
3
  * Author: Chupurnov Valeriy <chupurnov@gmail.com>
4
- * Version: v4.6.18
4
+ * Version: v4.6.21
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -7196,6 +7196,27 @@ ToolbarCollection = __decorate([
7196
7196
 
7197
7197
 
7198
7198
 
7199
+ /***/ }),
7200
+
7201
+ /***/ 11691:
7202
+ /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
7203
+
7204
+ /* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6441);
7205
+ /*!
7206
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
7207
+ * See LICENSE.md in the project root for license information.
7208
+ * Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
7209
+ */
7210
+
7211
+ jodit_esm_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.autocomplete = {
7212
+ sources: [],
7213
+ maxItems: 50,
7214
+ isMatchedQuery: (query, value) => value.toLowerCase().indexOf(query.toLowerCase()) === 0,
7215
+ itemRenderer: (item) => item.title ?? item.value,
7216
+ insertValueRenderer: (item) => item.value + '&nbsp;'
7217
+ };
7218
+
7219
+
7199
7220
  /***/ }),
7200
7221
 
7201
7222
  /***/ 11787:
@@ -8485,6 +8506,10 @@ class license extends jodit_esm_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_5__/
8485
8506
  afterInit(jodit) {
8486
8507
  this.j.e.on('checkReserve', async (checkDomain) => {
8487
8508
  const code = this.j.o.license;
8509
+ // For local and testing stages
8510
+ if ((0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_0__/* .isAllowedSubdomain */ .fI)(checkDomain)) {
8511
+ return 'normal';
8512
+ }
8488
8513
  if (!code) {
8489
8514
  return '';
8490
8515
  }
@@ -9702,7 +9727,8 @@ function replaceOldTags(elm) {
9702
9727
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9703
9728
 
9704
9729
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9705
- /* harmony export */ M0: function() { return /* binding */ validateLicense; }
9730
+ /* harmony export */ M0: function() { return /* binding */ validateLicense; },
9731
+ /* harmony export */ fI: function() { return /* binding */ isAllowedSubdomain; }
9706
9732
  /* harmony export */ });
9707
9733
  /* unused harmony exports validateEntLicense, domainsHash */
9708
9734
  /*!
@@ -26304,8 +26330,10 @@ function persistent(target, propertyKey) {
26304
26330
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
26305
26331
  /* harmony export */ K: function() { return /* binding */ AutocompleteItem; }
26306
26332
  /* harmony export */ });
26307
- /* harmony import */ var jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27613);
26308
- /* harmony import */ var jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48538);
26333
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31635);
26334
+ /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65478);
26335
+ /* harmony import */ var jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27613);
26336
+ /* harmony import */ var jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(48538);
26309
26337
  /*!
26310
26338
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
26311
26339
  * See LICENSE.md in the project root for license information.
@@ -26314,18 +26342,23 @@ function persistent(target, propertyKey) {
26314
26342
 
26315
26343
 
26316
26344
 
26317
- class AutocompleteItem extends jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_1__/* .UIElement */ .D {
26345
+
26346
+
26347
+ let AutocompleteItem = class AutocompleteItem extends jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement */ .D {
26318
26348
  /** @override */
26319
26349
  className() {
26320
26350
  return 'AutocompleteItem';
26321
26351
  }
26322
- constructor(jodit, item) {
26352
+ constructor(jodit, item, onClick) {
26323
26353
  super(jodit);
26324
26354
  this.item = item;
26355
+ this.onClick = onClick;
26356
+ this.value = '';
26325
26357
  const { container } = this;
26326
- if ((0,jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__/* .isFunction */ .Tn)(item.itemRenderer)) {
26358
+ this.value = item.value;
26359
+ if ((0,jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isFunction */ .Tn)(item.itemRenderer)) {
26327
26360
  const elm = item.itemRenderer(item);
26328
- if ((0,jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__/* .isString */ .Kg)(elm)) {
26361
+ if ((0,jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isString */ .Kg)(elm)) {
26329
26362
  container.innerHTML = elm;
26330
26363
  }
26331
26364
  else {
@@ -26336,7 +26369,24 @@ class AutocompleteItem extends jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODUL
26336
26369
  container.innerText = item.title ?? item.value;
26337
26370
  }
26338
26371
  }
26339
- }
26372
+ onClickPrevent(e) {
26373
+ e.preventDefault();
26374
+ e.stopPropagation();
26375
+ }
26376
+ onClickHandler() {
26377
+ this.onClick(this.value);
26378
+ }
26379
+ };
26380
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
26381
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)('container:mousedown container:touchstart')
26382
+ ], AutocompleteItem.prototype, "onClickPrevent", null);
26383
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
26384
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)('container:click')
26385
+ ], AutocompleteItem.prototype, "onClickHandler", null);
26386
+ AutocompleteItem = (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
26387
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_1__.component
26388
+ ], AutocompleteItem);
26389
+
26340
26390
 
26341
26391
 
26342
26392
  /***/ }),
@@ -27101,16 +27151,27 @@ const transactions = {
27101
27151
  },
27102
27152
  [states.EXTRACT]: {
27103
27153
  exec (value) {
27154
+ var _a;
27104
27155
  const { element, jodit, style } = value;
27105
27156
  const suit = (0,_api_index_js__WEBPACK_IMPORTED_MODULE_4__/* .suitableClosest */ .$s)(style, element, jodit.editor);
27106
27157
  (0,_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .v)(suit, 'This place should have an element');
27107
- if (!style.elementIsBlock) {
27108
- (0,_api_index_js__WEBPACK_IMPORTED_MODULE_4__/* .extractSelectedPart */ .yP)(suit, element, jodit);
27158
+ // If we're applying inline styles to a block element, don't split the block
27159
+ const isApplyingInlineStyle = !style.elementIsBlock && ((_a = style.options.attributes) === null || _a === void 0 ? void 0 : _a.style);
27160
+ const shouldNotSplitBlock = isApplyingInlineStyle && _dom_dom_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isBlock(suit);
27161
+ if (!shouldNotSplitBlock) {
27162
+ if (!style.elementIsBlock) {
27163
+ (0,_api_index_js__WEBPACK_IMPORTED_MODULE_4__/* .extractSelectedPart */ .yP)(suit, element, jodit);
27164
+ }
27165
+ return {
27166
+ ...value,
27167
+ element: suit,
27168
+ next: states.ELEMENT
27169
+ };
27109
27170
  }
27171
+ // Create a new wrapper instead of splitting the block
27110
27172
  return {
27111
27173
  ...value,
27112
- element: suit,
27113
- next: states.ELEMENT
27174
+ next: states.WRAP
27114
27175
  };
27115
27176
  }
27116
27177
  },
@@ -39337,32 +39398,50 @@ let Autocomplete = class Autocomplete extends jodit_esm_core_ui_group_group__WEB
39337
39398
  super(...arguments);
39338
39399
  this.elements = [];
39339
39400
  this.currentSelection = -1;
39401
+ this.__previousList = [];
39340
39402
  }
39341
39403
  /** @override */
39342
39404
  className() {
39343
39405
  return 'Autocomplete';
39344
39406
  }
39345
- onChangeSelection(_, previous) {
39346
- previous != null && this.elements[previous]?.setMod('active', false);
39347
- this.elements[this.currentSelection].setMod('active', true);
39348
- this.elements[this.currentSelection].container.scrollIntoView(false);
39407
+ onChangeSelection() {
39408
+ this.elements.forEach((elm) => elm.setMod('active', false));
39409
+ this.elements[this.currentSelection]?.setMod('active', true);
39410
+ this.elements[this.currentSelection]?.container.scrollIntoView(false);
39349
39411
  }
39350
39412
  build(list) {
39351
- this.clear();
39352
- list.forEach((elm, index) => {
39353
- const item = new _item__WEBPACK_IMPORTED_MODULE_1__/* .AutocompleteItem */ .K(this.jodit, elm);
39354
- this.j.e
39355
- .on(item.container, 'mousedown touchstart', (e) => {
39356
- e.preventDefault();
39357
- })
39358
- .on(item.container, 'click', () => {
39359
- this.currentSelection = index;
39413
+ const currentValue = this.elements[this.currentSelection]?.item.value;
39414
+ const removed = [];
39415
+ let elementIndex = -1;
39416
+ for (let i = 0; i < list.length; i += 1) {
39417
+ elementIndex += 1;
39418
+ if (this.__previousList[i] != null &&
39419
+ list[i].value === this.__previousList[i].value) {
39420
+ continue;
39421
+ }
39422
+ if (this.elements[elementIndex]) {
39423
+ removed.push(this.elements[elementIndex]);
39424
+ elementIndex += 1;
39425
+ }
39426
+ const item = new _item__WEBPACK_IMPORTED_MODULE_1__/* .AutocompleteItem */ .K(this.jodit, list[i], (value) => {
39427
+ this.currentSelection = list.findIndex((item) => item.value === value);
39360
39428
  this.select();
39361
39429
  });
39362
- this.append(item);
39430
+ this.append(item, elementIndex);
39431
+ }
39432
+ for (let fromIndex = elementIndex + 1; fromIndex < this.elements.length; fromIndex += 1) {
39433
+ removed.push(this.elements[fromIndex]);
39434
+ }
39435
+ removed.forEach((item) => {
39436
+ this.remove(item);
39437
+ item.destruct();
39363
39438
  });
39364
- this.currentSelection = 0;
39365
- this.onChangeSelection();
39439
+ const previosSelection = this.currentSelection;
39440
+ this.currentSelection = Math.max(0, list.findIndex((elm) => elm.value === currentValue));
39441
+ if (previosSelection === this.currentSelection) {
39442
+ this.onChangeSelection();
39443
+ }
39444
+ this.__previousList = [...list];
39366
39445
  }
39367
39446
  selectNext() {
39368
39447
  if (this.currentSelection + 1 <= this.elements.length - 1) {
@@ -43354,7 +43433,7 @@ __webpack_require__.r(__webpack_exports__);
43354
43433
  * ```
43355
43434
  * @packageDocumentation
43356
43435
  * @module constants
43357
- */ const APP_VERSION = "4.6.18";
43436
+ */ const APP_VERSION = "4.6.21";
43358
43437
  // prettier-ignore
43359
43438
  const ES = "es2021";
43360
43439
  const IS_ES_MODERN = true;
@@ -46198,9 +46277,9 @@ __webpack_require__.r(__webpack_exports__);
46198
46277
  /* harmony export */ autocomplete: function() { return /* binding */ autocomplete; }
46199
46278
  /* harmony export */ });
46200
46279
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31635);
46201
- /* harmony import */ var _ui_autocomplete__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(78630);
46202
- /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91876);
46203
- /* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6441);
46280
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11691);
46281
+ /* harmony import */ var _ui_autocomplete__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(78630);
46282
+ /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(91876);
46204
46283
  /* harmony import */ var jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(82758);
46205
46284
  /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(65478);
46206
46285
  /* harmony import */ var jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2748);
@@ -46224,26 +46303,27 @@ __webpack_require__.r(__webpack_exports__);
46224
46303
 
46225
46304
 
46226
46305
 
46227
- jodit_esm_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.autocomplete = {
46228
- sources: [],
46229
- maxItems: 50,
46230
- isMatchedQuery: (query, value) => value.toLowerCase().indexOf(query.toLowerCase()) === 0,
46231
- itemRenderer: (item) => item.title ?? item.value,
46232
- insertValueRenderer: (item) => item.value + '&nbsp;'
46233
- };
46234
46306
  class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/* .Plugin */ .k {
46235
- constructor(jodit) {
46236
- super(jodit);
46307
+ constructor() {
46308
+ super(...arguments);
46237
46309
  /** @override */
46238
46310
  this.hasStyle = !jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_10__/* .JoditPro */ .A.fatMode;
46239
46311
  this.sources = [];
46240
46312
  }
46313
+ get list() {
46314
+ return new _ui_autocomplete__WEBPACK_IMPORTED_MODULE_2__/* .Autocomplete */ .j(this.jodit);
46315
+ }
46316
+ get popup() {
46317
+ const popup = new jodit_esm_core_ui_popup_popup__WEBPACK_IMPORTED_MODULE_9__/* .Popup */ .z(this.jodit);
46318
+ popup.setMod('padding', false);
46319
+ popup.setContent(this.list.container);
46320
+ this.jodit.e.on(popup, 'beforeClose', () => {
46321
+ this.list.currentSelection = 0;
46322
+ });
46323
+ return popup;
46324
+ }
46241
46325
  /** @override */
46242
46326
  afterInit(jodit) {
46243
- this.popup = new jodit_esm_core_ui_popup_popup__WEBPACK_IMPORTED_MODULE_9__/* .Popup */ .z(jodit);
46244
- this.popup.setMod('padding', false);
46245
- this.list = new _ui_autocomplete__WEBPACK_IMPORTED_MODULE_1__/* .Autocomplete */ .j(jodit);
46246
- this.popup.setContent(this.list.container);
46247
46327
  jodit.e
46248
46328
  .on('select.autocomplete', (item) => {
46249
46329
  let insertValue = item.value;
@@ -46253,7 +46333,7 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
46253
46333
  if (!jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_6__/* .Dom */ .J.isNode(insertValue)) {
46254
46334
  insertValue = jodit.createInside.fromHTML(insertValue);
46255
46335
  }
46256
- (0,_helpers__WEBPACK_IMPORTED_MODULE_2__/* .replaceTextLeftOfCursorAfterSpace */ .s)(jodit.s.range, insertValue);
46336
+ (0,_helpers__WEBPACK_IMPORTED_MODULE_3__/* .replaceTextLeftOfCursorAfterSpace */ .s)(jodit.s.range, insertValue);
46257
46337
  this.j.s.setCursorAfter(insertValue);
46258
46338
  this.j.synchronizeValues();
46259
46339
  this.popup.close();
@@ -46264,11 +46344,18 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
46264
46344
  })
46265
46345
  .on('beforeEnter.autocomplete', this.onEnter, { top: true })
46266
46346
  .on('autocomplete.autocomplete', this.onAutoComplete)
46267
- .on('registerAutocompleteSource.autocomplete', this.registerAutocompleteSource);
46347
+ .on('registerAutocompleteSource.autocomplete', this.registerAutocompleteSource)
46348
+ .on('unregisterAutocompleteSource.autocomplete', this.unregisterAutocompleteSource);
46268
46349
  }
46269
46350
  registerAutocompleteSource(source) {
46270
46351
  this.sources.push(source);
46271
46352
  }
46353
+ unregisterAutocompleteSource(source) {
46354
+ const index = this.sources.indexOf(source);
46355
+ if (index !== -1) {
46356
+ this.sources.splice(index, 1);
46357
+ }
46358
+ }
46272
46359
  static isControlKey(key) {
46273
46360
  return (key === jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_4__.KEY_DOWN ||
46274
46361
  key === jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_4__.KEY_UP ||
@@ -46289,7 +46376,7 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
46289
46376
  const range = this.j.s.sel?.rangeCount
46290
46377
  ? this.j.s.sel?.getRangeAt(0)
46291
46378
  : null;
46292
- const query = range && (0,_helpers__WEBPACK_IMPORTED_MODULE_2__/* .getTextLeftOfCursor */ .I)(range).split(' ').pop();
46379
+ const query = range && (0,_helpers__WEBPACK_IMPORTED_MODULE_3__/* .getTextLeftOfCursor */ .I)(range).split(' ').pop();
46293
46380
  if (query && (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_7__.trim)(query).length) {
46294
46381
  const result = await this.onAutoComplete(query);
46295
46382
  if (result.length) {
@@ -46366,7 +46453,8 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
46366
46453
  const { itemRenderer, insertValueRenderer, maxItems } = this.j.o.autocomplete;
46367
46454
  parts = parts.map((item) => ({
46368
46455
  itemRenderer: baseSource?.itemRenderer ?? itemRenderer,
46369
- insertValueRenderer: baseSource?.insertValueRenderer ?? insertValueRenderer,
46456
+ insertValueRenderer: baseSource?.insertValueRenderer ??
46457
+ insertValueRenderer,
46370
46458
  ...item
46371
46459
  }));
46372
46460
  return parts.slice(0, maxItems);
@@ -46396,6 +46484,7 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
46396
46484
  beforeDestruct(jodit) {
46397
46485
  jodit.e
46398
46486
  .off(this.list)
46487
+ .off(this.popup)
46399
46488
  .off('keydown.autocomplete', this.onKeyDown)
46400
46489
  .off('autocomplete.autocomplete', this.onAutoComplete)
46401
46490
  .off('.autocomplete');
@@ -46405,9 +46494,18 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
46405
46494
  }
46406
46495
  /** @override */
46407
46496
  autocomplete.requires = ['enter', 'license'];
46497
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
46498
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.cache
46499
+ ], autocomplete.prototype, "list", null);
46500
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
46501
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.cache
46502
+ ], autocomplete.prototype, "popup", null);
46408
46503
  (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
46409
46504
  jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.autobind
46410
46505
  ], autocomplete.prototype, "registerAutocompleteSource", null);
46506
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
46507
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.autobind
46508
+ ], autocomplete.prototype, "unregisterAutocompleteSource", null);
46411
46509
  (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
46412
46510
  (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.debounce)()
46413
46511
  ], autocomplete.prototype, "onKeyDown", null);