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/es2018/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
  */
@@ -7201,6 +7201,27 @@ ToolbarCollection = __decorate([
7201
7201
 
7202
7202
 
7203
7203
 
7204
+ /***/ }),
7205
+
7206
+ /***/ 11691:
7207
+ /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
7208
+
7209
+ /* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6441);
7210
+ /*!
7211
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
7212
+ * See LICENSE.md in the project root for license information.
7213
+ * Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
7214
+ */
7215
+
7216
+ jodit_esm_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.autocomplete = {
7217
+ sources: [],
7218
+ maxItems: 50,
7219
+ isMatchedQuery: (query, value) => value.toLowerCase().indexOf(query.toLowerCase()) === 0,
7220
+ itemRenderer: (item) => { var _a; return (_a = item.title) !== null && _a !== void 0 ? _a : item.value; },
7221
+ insertValueRenderer: (item) => item.value + '&nbsp;'
7222
+ };
7223
+
7224
+
7204
7225
  /***/ }),
7205
7226
 
7206
7227
  /***/ 11787:
@@ -8490,6 +8511,10 @@ class license extends jodit_esm_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_5__/
8490
8511
  afterInit(jodit) {
8491
8512
  this.j.e.on('checkReserve', async (checkDomain) => {
8492
8513
  const code = this.j.o.license;
8514
+ // For local and testing stages
8515
+ if ((0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_0__/* .isAllowedSubdomain */ .fI)(checkDomain)) {
8516
+ return 'normal';
8517
+ }
8493
8518
  if (!code) {
8494
8519
  return '';
8495
8520
  }
@@ -9707,7 +9732,8 @@ function replaceOldTags(elm) {
9707
9732
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9708
9733
 
9709
9734
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9710
- /* harmony export */ M0: function() { return /* binding */ validateLicense; }
9735
+ /* harmony export */ M0: function() { return /* binding */ validateLicense; },
9736
+ /* harmony export */ fI: function() { return /* binding */ isAllowedSubdomain; }
9711
9737
  /* harmony export */ });
9712
9738
  /* unused harmony exports validateEntLicense, domainsHash */
9713
9739
  /*!
@@ -26315,8 +26341,10 @@ function persistent(target, propertyKey) {
26315
26341
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
26316
26342
  /* harmony export */ K: function() { return /* binding */ AutocompleteItem; }
26317
26343
  /* harmony export */ });
26318
- /* harmony import */ var jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27613);
26319
- /* harmony import */ var jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48538);
26344
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31635);
26345
+ /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65478);
26346
+ /* harmony import */ var jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27613);
26347
+ /* harmony import */ var jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(48538);
26320
26348
  /*!
26321
26349
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
26322
26350
  * See LICENSE.md in the project root for license information.
@@ -26325,19 +26353,24 @@ function persistent(target, propertyKey) {
26325
26353
 
26326
26354
 
26327
26355
 
26328
- class AutocompleteItem extends jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_1__/* .UIElement */ .D {
26356
+
26357
+
26358
+ let AutocompleteItem = class AutocompleteItem extends jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement */ .D {
26329
26359
  /** @override */
26330
26360
  className() {
26331
26361
  return 'AutocompleteItem';
26332
26362
  }
26333
- constructor(jodit, item) {
26363
+ constructor(jodit, item, onClick) {
26334
26364
  var _a;
26335
26365
  super(jodit);
26336
26366
  this.item = item;
26367
+ this.onClick = onClick;
26368
+ this.value = '';
26337
26369
  const { container } = this;
26338
- if ((0,jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__/* .isFunction */ .Tn)(item.itemRenderer)) {
26370
+ this.value = item.value;
26371
+ if ((0,jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isFunction */ .Tn)(item.itemRenderer)) {
26339
26372
  const elm = item.itemRenderer(item);
26340
- if ((0,jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__/* .isString */ .Kg)(elm)) {
26373
+ if ((0,jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isString */ .Kg)(elm)) {
26341
26374
  container.innerHTML = elm;
26342
26375
  }
26343
26376
  else {
@@ -26348,7 +26381,24 @@ class AutocompleteItem extends jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODUL
26348
26381
  container.innerText = (_a = item.title) !== null && _a !== void 0 ? _a : item.value;
26349
26382
  }
26350
26383
  }
26351
- }
26384
+ onClickPrevent(e) {
26385
+ e.preventDefault();
26386
+ e.stopPropagation();
26387
+ }
26388
+ onClickHandler() {
26389
+ this.onClick(this.value);
26390
+ }
26391
+ };
26392
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
26393
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)('container:mousedown container:touchstart')
26394
+ ], AutocompleteItem.prototype, "onClickPrevent", null);
26395
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
26396
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)('container:click')
26397
+ ], AutocompleteItem.prototype, "onClickHandler", null);
26398
+ AutocompleteItem = (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
26399
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_1__.component
26400
+ ], AutocompleteItem);
26401
+
26352
26402
 
26353
26403
 
26354
26404
  /***/ }),
@@ -27113,16 +27163,27 @@ const transactions = {
27113
27163
  },
27114
27164
  [states.EXTRACT]: {
27115
27165
  exec (value) {
27166
+ var _a;
27116
27167
  const { element, jodit, style } = value;
27117
27168
  const suit = (0,_api_index_js__WEBPACK_IMPORTED_MODULE_4__/* .suitableClosest */ .$s)(style, element, jodit.editor);
27118
27169
  (0,_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .v)(suit, 'This place should have an element');
27119
- if (!style.elementIsBlock) {
27120
- (0,_api_index_js__WEBPACK_IMPORTED_MODULE_4__/* .extractSelectedPart */ .yP)(suit, element, jodit);
27170
+ // If we're applying inline styles to a block element, don't split the block
27171
+ const isApplyingInlineStyle = !style.elementIsBlock && ((_a = style.options.attributes) === null || _a === void 0 ? void 0 : _a.style);
27172
+ const shouldNotSplitBlock = isApplyingInlineStyle && _dom_dom_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isBlock(suit);
27173
+ if (!shouldNotSplitBlock) {
27174
+ if (!style.elementIsBlock) {
27175
+ (0,_api_index_js__WEBPACK_IMPORTED_MODULE_4__/* .extractSelectedPart */ .yP)(suit, element, jodit);
27176
+ }
27177
+ return {
27178
+ ...value,
27179
+ element: suit,
27180
+ next: states.ELEMENT
27181
+ };
27121
27182
  }
27183
+ // Create a new wrapper instead of splitting the block
27122
27184
  return {
27123
27185
  ...value,
27124
- element: suit,
27125
- next: states.ELEMENT
27186
+ next: states.WRAP
27126
27187
  };
27127
27188
  }
27128
27189
  },
@@ -39350,33 +39411,52 @@ let Autocomplete = class Autocomplete extends jodit_esm_core_ui_group_group__WEB
39350
39411
  super(...arguments);
39351
39412
  this.elements = [];
39352
39413
  this.currentSelection = -1;
39414
+ this.__previousList = [];
39353
39415
  }
39354
39416
  /** @override */
39355
39417
  className() {
39356
39418
  return 'Autocomplete';
39357
39419
  }
39358
- onChangeSelection(_, previous) {
39359
- var _a;
39360
- previous != null && ((_a = this.elements[previous]) === null || _a === void 0 ? void 0 : _a.setMod('active', false));
39361
- this.elements[this.currentSelection].setMod('active', true);
39362
- this.elements[this.currentSelection].container.scrollIntoView(false);
39420
+ onChangeSelection() {
39421
+ var _a, _b;
39422
+ this.elements.forEach((elm) => elm.setMod('active', false));
39423
+ (_a = this.elements[this.currentSelection]) === null || _a === void 0 ? void 0 : _a.setMod('active', true);
39424
+ (_b = this.elements[this.currentSelection]) === null || _b === void 0 ? void 0 : _b.container.scrollIntoView(false);
39363
39425
  }
39364
39426
  build(list) {
39365
- this.clear();
39366
- list.forEach((elm, index) => {
39367
- const item = new _item__WEBPACK_IMPORTED_MODULE_1__/* .AutocompleteItem */ .K(this.jodit, elm);
39368
- this.j.e
39369
- .on(item.container, 'mousedown touchstart', (e) => {
39370
- e.preventDefault();
39371
- })
39372
- .on(item.container, 'click', () => {
39373
- this.currentSelection = index;
39427
+ var _a;
39428
+ const currentValue = (_a = this.elements[this.currentSelection]) === null || _a === void 0 ? void 0 : _a.item.value;
39429
+ const removed = [];
39430
+ let elementIndex = -1;
39431
+ for (let i = 0; i < list.length; i += 1) {
39432
+ elementIndex += 1;
39433
+ if (this.__previousList[i] != null &&
39434
+ list[i].value === this.__previousList[i].value) {
39435
+ continue;
39436
+ }
39437
+ if (this.elements[elementIndex]) {
39438
+ removed.push(this.elements[elementIndex]);
39439
+ elementIndex += 1;
39440
+ }
39441
+ const item = new _item__WEBPACK_IMPORTED_MODULE_1__/* .AutocompleteItem */ .K(this.jodit, list[i], (value) => {
39442
+ this.currentSelection = list.findIndex((item) => item.value === value);
39374
39443
  this.select();
39375
39444
  });
39376
- this.append(item);
39445
+ this.append(item, elementIndex);
39446
+ }
39447
+ for (let fromIndex = elementIndex + 1; fromIndex < this.elements.length; fromIndex += 1) {
39448
+ removed.push(this.elements[fromIndex]);
39449
+ }
39450
+ removed.forEach((item) => {
39451
+ this.remove(item);
39452
+ item.destruct();
39377
39453
  });
39378
- this.currentSelection = 0;
39379
- this.onChangeSelection();
39454
+ const previosSelection = this.currentSelection;
39455
+ this.currentSelection = Math.max(0, list.findIndex((elm) => elm.value === currentValue));
39456
+ if (previosSelection === this.currentSelection) {
39457
+ this.onChangeSelection();
39458
+ }
39459
+ this.__previousList = [...list];
39380
39460
  }
39381
39461
  selectNext() {
39382
39462
  if (this.currentSelection + 1 <= this.elements.length - 1) {
@@ -43368,7 +43448,7 @@ __webpack_require__.r(__webpack_exports__);
43368
43448
  * ```
43369
43449
  * @packageDocumentation
43370
43450
  * @module constants
43371
- */ const APP_VERSION = "4.6.18";
43451
+ */ const APP_VERSION = "4.6.21";
43372
43452
  // prettier-ignore
43373
43453
  const ES = "es2018";
43374
43454
  const IS_ES_MODERN = true;
@@ -46212,9 +46292,9 @@ __webpack_require__.r(__webpack_exports__);
46212
46292
  /* harmony export */ autocomplete: function() { return /* binding */ autocomplete; }
46213
46293
  /* harmony export */ });
46214
46294
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31635);
46215
- /* harmony import */ var _ui_autocomplete__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(78630);
46216
- /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91876);
46217
- /* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6441);
46295
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11691);
46296
+ /* harmony import */ var _ui_autocomplete__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(78630);
46297
+ /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(91876);
46218
46298
  /* harmony import */ var jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(82758);
46219
46299
  /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(65478);
46220
46300
  /* harmony import */ var jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2748);
@@ -46238,26 +46318,27 @@ __webpack_require__.r(__webpack_exports__);
46238
46318
 
46239
46319
 
46240
46320
 
46241
- jodit_esm_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.autocomplete = {
46242
- sources: [],
46243
- maxItems: 50,
46244
- isMatchedQuery: (query, value) => value.toLowerCase().indexOf(query.toLowerCase()) === 0,
46245
- itemRenderer: (item) => { var _a; return (_a = item.title) !== null && _a !== void 0 ? _a : item.value; },
46246
- insertValueRenderer: (item) => item.value + '&nbsp;'
46247
- };
46248
46321
  class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/* .Plugin */ .k {
46249
- constructor(jodit) {
46250
- super(jodit);
46322
+ constructor() {
46323
+ super(...arguments);
46251
46324
  /** @override */
46252
46325
  this.hasStyle = !jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_10__/* .JoditPro */ .A.fatMode;
46253
46326
  this.sources = [];
46254
46327
  }
46328
+ get list() {
46329
+ return new _ui_autocomplete__WEBPACK_IMPORTED_MODULE_2__/* .Autocomplete */ .j(this.jodit);
46330
+ }
46331
+ get popup() {
46332
+ const popup = new jodit_esm_core_ui_popup_popup__WEBPACK_IMPORTED_MODULE_9__/* .Popup */ .z(this.jodit);
46333
+ popup.setMod('padding', false);
46334
+ popup.setContent(this.list.container);
46335
+ this.jodit.e.on(popup, 'beforeClose', () => {
46336
+ this.list.currentSelection = 0;
46337
+ });
46338
+ return popup;
46339
+ }
46255
46340
  /** @override */
46256
46341
  afterInit(jodit) {
46257
- this.popup = new jodit_esm_core_ui_popup_popup__WEBPACK_IMPORTED_MODULE_9__/* .Popup */ .z(jodit);
46258
- this.popup.setMod('padding', false);
46259
- this.list = new _ui_autocomplete__WEBPACK_IMPORTED_MODULE_1__/* .Autocomplete */ .j(jodit);
46260
- this.popup.setContent(this.list.container);
46261
46342
  jodit.e
46262
46343
  .on('select.autocomplete', (item) => {
46263
46344
  let insertValue = item.value;
@@ -46267,7 +46348,7 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
46267
46348
  if (!jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_6__/* .Dom */ .J.isNode(insertValue)) {
46268
46349
  insertValue = jodit.createInside.fromHTML(insertValue);
46269
46350
  }
46270
- (0,_helpers__WEBPACK_IMPORTED_MODULE_2__/* .replaceTextLeftOfCursorAfterSpace */ .s)(jodit.s.range, insertValue);
46351
+ (0,_helpers__WEBPACK_IMPORTED_MODULE_3__/* .replaceTextLeftOfCursorAfterSpace */ .s)(jodit.s.range, insertValue);
46271
46352
  this.j.s.setCursorAfter(insertValue);
46272
46353
  this.j.synchronizeValues();
46273
46354
  this.popup.close();
@@ -46278,11 +46359,18 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
46278
46359
  })
46279
46360
  .on('beforeEnter.autocomplete', this.onEnter, { top: true })
46280
46361
  .on('autocomplete.autocomplete', this.onAutoComplete)
46281
- .on('registerAutocompleteSource.autocomplete', this.registerAutocompleteSource);
46362
+ .on('registerAutocompleteSource.autocomplete', this.registerAutocompleteSource)
46363
+ .on('unregisterAutocompleteSource.autocomplete', this.unregisterAutocompleteSource);
46282
46364
  }
46283
46365
  registerAutocompleteSource(source) {
46284
46366
  this.sources.push(source);
46285
46367
  }
46368
+ unregisterAutocompleteSource(source) {
46369
+ const index = this.sources.indexOf(source);
46370
+ if (index !== -1) {
46371
+ this.sources.splice(index, 1);
46372
+ }
46373
+ }
46286
46374
  static isControlKey(key) {
46287
46375
  return (key === jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_4__.KEY_DOWN ||
46288
46376
  key === jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_4__.KEY_UP ||
@@ -46304,7 +46392,7 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
46304
46392
  const range = ((_a = this.j.s.sel) === null || _a === void 0 ? void 0 : _a.rangeCount)
46305
46393
  ? (_b = this.j.s.sel) === null || _b === void 0 ? void 0 : _b.getRangeAt(0)
46306
46394
  : null;
46307
- const query = range && (0,_helpers__WEBPACK_IMPORTED_MODULE_2__/* .getTextLeftOfCursor */ .I)(range).split(' ').pop();
46395
+ const query = range && (0,_helpers__WEBPACK_IMPORTED_MODULE_3__/* .getTextLeftOfCursor */ .I)(range).split(' ').pop();
46308
46396
  if (query && (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_7__.trim)(query).length) {
46309
46397
  const result = await this.onAutoComplete(query);
46310
46398
  if (result.length) {
@@ -46414,6 +46502,7 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
46414
46502
  beforeDestruct(jodit) {
46415
46503
  jodit.e
46416
46504
  .off(this.list)
46505
+ .off(this.popup)
46417
46506
  .off('keydown.autocomplete', this.onKeyDown)
46418
46507
  .off('autocomplete.autocomplete', this.onAutoComplete)
46419
46508
  .off('.autocomplete');
@@ -46423,9 +46512,18 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
46423
46512
  }
46424
46513
  /** @override */
46425
46514
  autocomplete.requires = ['enter', 'license'];
46515
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
46516
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.cache
46517
+ ], autocomplete.prototype, "list", null);
46518
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
46519
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.cache
46520
+ ], autocomplete.prototype, "popup", null);
46426
46521
  (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
46427
46522
  jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.autobind
46428
46523
  ], autocomplete.prototype, "registerAutocompleteSource", null);
46524
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
46525
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.autobind
46526
+ ], autocomplete.prototype, "unregisterAutocompleteSource", null);
46429
46527
  (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
46430
46528
  (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.debounce)()
46431
46529
  ], autocomplete.prototype, "onKeyDown", null);