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
@@ -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
  */
@@ -6961,6 +6961,27 @@ ToolbarCollection = __decorate([
6961
6961
 
6962
6962
 
6963
6963
 
6964
+ /***/ }),
6965
+
6966
+ /***/ 11691:
6967
+ /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
6968
+
6969
+ /* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6441);
6970
+ /*!
6971
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
6972
+ * See LICENSE.md in the project root for license information.
6973
+ * Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
6974
+ */
6975
+
6976
+ jodit_esm_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.autocomplete = {
6977
+ sources: [],
6978
+ maxItems: 50,
6979
+ isMatchedQuery: (query, value) => value.toLowerCase().indexOf(query.toLowerCase()) === 0,
6980
+ itemRenderer: (item) => item.title ?? item.value,
6981
+ insertValueRenderer: (item) => item.value + '&nbsp;'
6982
+ };
6983
+
6984
+
6964
6985
  /***/ }),
6965
6986
 
6966
6987
  /***/ 11787:
@@ -8235,6 +8256,10 @@ class license extends jodit_esm_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_5__/
8235
8256
  afterInit(jodit) {
8236
8257
  this.j.e.on('checkReserve', async (checkDomain) => {
8237
8258
  const code = this.j.o.license;
8259
+ // For local and testing stages
8260
+ if ((0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_0__/* .isAllowedSubdomain */ .fI)(checkDomain)) {
8261
+ return 'normal';
8262
+ }
8238
8263
  if (!code) {
8239
8264
  return '';
8240
8265
  }
@@ -9394,7 +9419,8 @@ function replaceOldTags(elm) {
9394
9419
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9395
9420
 
9396
9421
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9397
- /* harmony export */ M0: function() { return /* binding */ validateLicense; }
9422
+ /* harmony export */ M0: function() { return /* binding */ validateLicense; },
9423
+ /* harmony export */ fI: function() { return /* binding */ isAllowedSubdomain; }
9398
9424
  /* harmony export */ });
9399
9425
  /* unused harmony exports validateEntLicense, domainsHash */
9400
9426
  /*!
@@ -25212,8 +25238,10 @@ function persistent(target, propertyKey) {
25212
25238
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
25213
25239
  /* harmony export */ K: function() { return /* binding */ AutocompleteItem; }
25214
25240
  /* harmony export */ });
25215
- /* harmony import */ var jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27613);
25216
- /* harmony import */ var jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48538);
25241
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31635);
25242
+ /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65478);
25243
+ /* harmony import */ var jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27613);
25244
+ /* harmony import */ var jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(48538);
25217
25245
  /*!
25218
25246
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
25219
25247
  * See LICENSE.md in the project root for license information.
@@ -25222,18 +25250,23 @@ function persistent(target, propertyKey) {
25222
25250
 
25223
25251
 
25224
25252
 
25225
- class AutocompleteItem extends jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_1__/* .UIElement */ .D {
25253
+
25254
+
25255
+ let AutocompleteItem = class AutocompleteItem extends jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement */ .D {
25226
25256
  /** @override */
25227
25257
  className() {
25228
25258
  return 'AutocompleteItem';
25229
25259
  }
25230
- constructor(jodit, item) {
25260
+ constructor(jodit, item, onClick) {
25231
25261
  super(jodit);
25232
25262
  this.item = item;
25263
+ this.onClick = onClick;
25264
+ this.value = '';
25233
25265
  const { container } = this;
25234
- if ((0,jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__/* .isFunction */ .Tn)(item.itemRenderer)) {
25266
+ this.value = item.value;
25267
+ if ((0,jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isFunction */ .Tn)(item.itemRenderer)) {
25235
25268
  const elm = item.itemRenderer(item);
25236
- if ((0,jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__/* .isString */ .Kg)(elm)) {
25269
+ if ((0,jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isString */ .Kg)(elm)) {
25237
25270
  container.innerHTML = elm;
25238
25271
  }
25239
25272
  else {
@@ -25244,7 +25277,24 @@ class AutocompleteItem extends jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODUL
25244
25277
  container.innerText = item.title ?? item.value;
25245
25278
  }
25246
25279
  }
25247
- }
25280
+ onClickPrevent(e) {
25281
+ e.preventDefault();
25282
+ e.stopPropagation();
25283
+ }
25284
+ onClickHandler() {
25285
+ this.onClick(this.value);
25286
+ }
25287
+ };
25288
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
25289
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)('container:mousedown container:touchstart')
25290
+ ], AutocompleteItem.prototype, "onClickPrevent", null);
25291
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
25292
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)('container:click')
25293
+ ], AutocompleteItem.prototype, "onClickHandler", null);
25294
+ AutocompleteItem = (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
25295
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_1__.component
25296
+ ], AutocompleteItem);
25297
+
25248
25298
 
25249
25299
 
25250
25300
  /***/ }),
@@ -25945,16 +25995,27 @@ const transactions = {
25945
25995
  },
25946
25996
  [states.EXTRACT]: {
25947
25997
  exec (value) {
25998
+ var _a;
25948
25999
  const { element, jodit, style } = value;
25949
26000
  const suit = (0,_api_index_js__WEBPACK_IMPORTED_MODULE_4__/* .suitableClosest */ .$s)(style, element, jodit.editor);
25950
26001
  (0,_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .v)(suit, 'This place should have an element');
25951
- if (!style.elementIsBlock) {
25952
- (0,_api_index_js__WEBPACK_IMPORTED_MODULE_4__/* .extractSelectedPart */ .yP)(suit, element, jodit);
26002
+ // If we're applying inline styles to a block element, don't split the block
26003
+ const isApplyingInlineStyle = !style.elementIsBlock && ((_a = style.options.attributes) === null || _a === void 0 ? void 0 : _a.style);
26004
+ const shouldNotSplitBlock = isApplyingInlineStyle && _dom_dom_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isBlock(suit);
26005
+ if (!shouldNotSplitBlock) {
26006
+ if (!style.elementIsBlock) {
26007
+ (0,_api_index_js__WEBPACK_IMPORTED_MODULE_4__/* .extractSelectedPart */ .yP)(suit, element, jodit);
26008
+ }
26009
+ return {
26010
+ ...value,
26011
+ element: suit,
26012
+ next: states.ELEMENT
26013
+ };
25953
26014
  }
26015
+ // Create a new wrapper instead of splitting the block
25954
26016
  return {
25955
26017
  ...value,
25956
- element: suit,
25957
- next: states.ELEMENT
26018
+ next: states.WRAP
25958
26019
  };
25959
26020
  }
25960
26021
  },
@@ -37637,32 +37698,50 @@ let Autocomplete = class Autocomplete extends jodit_esm_core_ui_group_group__WEB
37637
37698
  super(...arguments);
37638
37699
  this.elements = [];
37639
37700
  this.currentSelection = -1;
37701
+ this.__previousList = [];
37640
37702
  }
37641
37703
  /** @override */
37642
37704
  className() {
37643
37705
  return 'Autocomplete';
37644
37706
  }
37645
- onChangeSelection(_, previous) {
37646
- previous != null && this.elements[previous]?.setMod('active', false);
37647
- this.elements[this.currentSelection].setMod('active', true);
37648
- this.elements[this.currentSelection].container.scrollIntoView(false);
37707
+ onChangeSelection() {
37708
+ this.elements.forEach((elm) => elm.setMod('active', false));
37709
+ this.elements[this.currentSelection]?.setMod('active', true);
37710
+ this.elements[this.currentSelection]?.container.scrollIntoView(false);
37649
37711
  }
37650
37712
  build(list) {
37651
- this.clear();
37652
- list.forEach((elm, index) => {
37653
- const item = new _item__WEBPACK_IMPORTED_MODULE_1__/* .AutocompleteItem */ .K(this.jodit, elm);
37654
- this.j.e
37655
- .on(item.container, 'mousedown touchstart', (e) => {
37656
- e.preventDefault();
37657
- })
37658
- .on(item.container, 'click', () => {
37659
- this.currentSelection = index;
37713
+ const currentValue = this.elements[this.currentSelection]?.item.value;
37714
+ const removed = [];
37715
+ let elementIndex = -1;
37716
+ for (let i = 0; i < list.length; i += 1) {
37717
+ elementIndex += 1;
37718
+ if (this.__previousList[i] != null &&
37719
+ list[i].value === this.__previousList[i].value) {
37720
+ continue;
37721
+ }
37722
+ if (this.elements[elementIndex]) {
37723
+ removed.push(this.elements[elementIndex]);
37724
+ elementIndex += 1;
37725
+ }
37726
+ const item = new _item__WEBPACK_IMPORTED_MODULE_1__/* .AutocompleteItem */ .K(this.jodit, list[i], (value) => {
37727
+ this.currentSelection = list.findIndex((item) => item.value === value);
37660
37728
  this.select();
37661
37729
  });
37662
- this.append(item);
37730
+ this.append(item, elementIndex);
37731
+ }
37732
+ for (let fromIndex = elementIndex + 1; fromIndex < this.elements.length; fromIndex += 1) {
37733
+ removed.push(this.elements[fromIndex]);
37734
+ }
37735
+ removed.forEach((item) => {
37736
+ this.remove(item);
37737
+ item.destruct();
37663
37738
  });
37664
- this.currentSelection = 0;
37665
- this.onChangeSelection();
37739
+ const previosSelection = this.currentSelection;
37740
+ this.currentSelection = Math.max(0, list.findIndex((elm) => elm.value === currentValue));
37741
+ if (previosSelection === this.currentSelection) {
37742
+ this.onChangeSelection();
37743
+ }
37744
+ this.__previousList = [...list];
37666
37745
  }
37667
37746
  selectNext() {
37668
37747
  if (this.currentSelection + 1 <= this.elements.length - 1) {
@@ -41601,7 +41680,7 @@ __webpack_require__.r(__webpack_exports__);
41601
41680
  * ```
41602
41681
  * @packageDocumentation
41603
41682
  * @module constants
41604
- */ const APP_VERSION = "4.6.18";
41683
+ */ const APP_VERSION = "4.6.21";
41605
41684
  // prettier-ignore
41606
41685
  const ES = "es2021";
41607
41686
  const IS_ES_MODERN = true;
@@ -44376,9 +44455,9 @@ __webpack_require__.r(__webpack_exports__);
44376
44455
  /* harmony export */ autocomplete: function() { return /* binding */ autocomplete; }
44377
44456
  /* harmony export */ });
44378
44457
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31635);
44379
- /* harmony import */ var _ui_autocomplete__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(78630);
44380
- /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91876);
44381
- /* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6441);
44458
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11691);
44459
+ /* harmony import */ var _ui_autocomplete__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(78630);
44460
+ /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(91876);
44382
44461
  /* harmony import */ var jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(82758);
44383
44462
  /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(65478);
44384
44463
  /* harmony import */ var jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2748);
@@ -44402,26 +44481,27 @@ __webpack_require__.r(__webpack_exports__);
44402
44481
 
44403
44482
 
44404
44483
 
44405
- jodit_esm_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.autocomplete = {
44406
- sources: [],
44407
- maxItems: 50,
44408
- isMatchedQuery: (query, value) => value.toLowerCase().indexOf(query.toLowerCase()) === 0,
44409
- itemRenderer: (item) => item.title ?? item.value,
44410
- insertValueRenderer: (item) => item.value + '&nbsp;'
44411
- };
44412
44484
  class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/* .Plugin */ .k {
44413
- constructor(jodit) {
44414
- super(jodit);
44485
+ constructor() {
44486
+ super(...arguments);
44415
44487
  /** @override */
44416
44488
  this.hasStyle = !jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_10__/* .JoditPro */ .A.fatMode;
44417
44489
  this.sources = [];
44418
44490
  }
44491
+ get list() {
44492
+ return new _ui_autocomplete__WEBPACK_IMPORTED_MODULE_2__/* .Autocomplete */ .j(this.jodit);
44493
+ }
44494
+ get popup() {
44495
+ const popup = new jodit_esm_core_ui_popup_popup__WEBPACK_IMPORTED_MODULE_9__/* .Popup */ .z(this.jodit);
44496
+ popup.setMod('padding', false);
44497
+ popup.setContent(this.list.container);
44498
+ this.jodit.e.on(popup, 'beforeClose', () => {
44499
+ this.list.currentSelection = 0;
44500
+ });
44501
+ return popup;
44502
+ }
44419
44503
  /** @override */
44420
44504
  afterInit(jodit) {
44421
- this.popup = new jodit_esm_core_ui_popup_popup__WEBPACK_IMPORTED_MODULE_9__/* .Popup */ .z(jodit);
44422
- this.popup.setMod('padding', false);
44423
- this.list = new _ui_autocomplete__WEBPACK_IMPORTED_MODULE_1__/* .Autocomplete */ .j(jodit);
44424
- this.popup.setContent(this.list.container);
44425
44505
  jodit.e
44426
44506
  .on('select.autocomplete', (item) => {
44427
44507
  let insertValue = item.value;
@@ -44431,7 +44511,7 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
44431
44511
  if (!jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_6__/* .Dom */ .J.isNode(insertValue)) {
44432
44512
  insertValue = jodit.createInside.fromHTML(insertValue);
44433
44513
  }
44434
- (0,_helpers__WEBPACK_IMPORTED_MODULE_2__/* .replaceTextLeftOfCursorAfterSpace */ .s)(jodit.s.range, insertValue);
44514
+ (0,_helpers__WEBPACK_IMPORTED_MODULE_3__/* .replaceTextLeftOfCursorAfterSpace */ .s)(jodit.s.range, insertValue);
44435
44515
  this.j.s.setCursorAfter(insertValue);
44436
44516
  this.j.synchronizeValues();
44437
44517
  this.popup.close();
@@ -44442,11 +44522,18 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
44442
44522
  })
44443
44523
  .on('beforeEnter.autocomplete', this.onEnter, { top: true })
44444
44524
  .on('autocomplete.autocomplete', this.onAutoComplete)
44445
- .on('registerAutocompleteSource.autocomplete', this.registerAutocompleteSource);
44525
+ .on('registerAutocompleteSource.autocomplete', this.registerAutocompleteSource)
44526
+ .on('unregisterAutocompleteSource.autocomplete', this.unregisterAutocompleteSource);
44446
44527
  }
44447
44528
  registerAutocompleteSource(source) {
44448
44529
  this.sources.push(source);
44449
44530
  }
44531
+ unregisterAutocompleteSource(source) {
44532
+ const index = this.sources.indexOf(source);
44533
+ if (index !== -1) {
44534
+ this.sources.splice(index, 1);
44535
+ }
44536
+ }
44450
44537
  static isControlKey(key) {
44451
44538
  return (key === jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_4__.KEY_DOWN ||
44452
44539
  key === jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_4__.KEY_UP ||
@@ -44467,7 +44554,7 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
44467
44554
  const range = this.j.s.sel?.rangeCount
44468
44555
  ? this.j.s.sel?.getRangeAt(0)
44469
44556
  : null;
44470
- const query = range && (0,_helpers__WEBPACK_IMPORTED_MODULE_2__/* .getTextLeftOfCursor */ .I)(range).split(' ').pop();
44557
+ const query = range && (0,_helpers__WEBPACK_IMPORTED_MODULE_3__/* .getTextLeftOfCursor */ .I)(range).split(' ').pop();
44471
44558
  if (query && (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_7__.trim)(query).length) {
44472
44559
  const result = await this.onAutoComplete(query);
44473
44560
  if (result.length) {
@@ -44544,7 +44631,8 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
44544
44631
  const { itemRenderer, insertValueRenderer, maxItems } = this.j.o.autocomplete;
44545
44632
  parts = parts.map((item) => ({
44546
44633
  itemRenderer: baseSource?.itemRenderer ?? itemRenderer,
44547
- insertValueRenderer: baseSource?.insertValueRenderer ?? insertValueRenderer,
44634
+ insertValueRenderer: baseSource?.insertValueRenderer ??
44635
+ insertValueRenderer,
44548
44636
  ...item
44549
44637
  }));
44550
44638
  return parts.slice(0, maxItems);
@@ -44574,6 +44662,7 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
44574
44662
  beforeDestruct(jodit) {
44575
44663
  jodit.e
44576
44664
  .off(this.list)
44665
+ .off(this.popup)
44577
44666
  .off('keydown.autocomplete', this.onKeyDown)
44578
44667
  .off('autocomplete.autocomplete', this.onAutoComplete)
44579
44668
  .off('.autocomplete');
@@ -44583,9 +44672,18 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
44583
44672
  }
44584
44673
  /** @override */
44585
44674
  autocomplete.requires = ['enter', 'license'];
44675
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
44676
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.cache
44677
+ ], autocomplete.prototype, "list", null);
44678
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
44679
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.cache
44680
+ ], autocomplete.prototype, "popup", null);
44586
44681
  (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
44587
44682
  jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.autobind
44588
44683
  ], autocomplete.prototype, "registerAutocompleteSource", null);
44684
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
44685
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.autobind
44686
+ ], autocomplete.prototype, "unregisterAutocompleteSource", null);
44589
44687
  (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
44590
44688
  (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.debounce)()
44591
44689
  ], autocomplete.prototype, "onKeyDown", null);