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/es2015/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
  */
@@ -7338,6 +7338,27 @@ ToolbarCollection = __decorate([
7338
7338
 
7339
7339
 
7340
7340
 
7341
+ /***/ }),
7342
+
7343
+ /***/ 11691:
7344
+ /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
7345
+
7346
+ /* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6441);
7347
+ /*!
7348
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
7349
+ * See LICENSE.md in the project root for license information.
7350
+ * Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
7351
+ */
7352
+
7353
+ jodit_esm_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.autocomplete = {
7354
+ sources: [],
7355
+ maxItems: 50,
7356
+ isMatchedQuery: (query, value) => value.toLowerCase().indexOf(query.toLowerCase()) === 0,
7357
+ itemRenderer: (item) => { var _a; return (_a = item.title) !== null && _a !== void 0 ? _a : item.value; },
7358
+ insertValueRenderer: (item) => item.value + '&nbsp;'
7359
+ };
7360
+
7361
+
7341
7362
  /***/ }),
7342
7363
 
7343
7364
  /***/ 11787:
@@ -8762,6 +8783,10 @@ class license extends jodit_esm_core_plugin_plugin__WEBPACK_IMPORTED_MODULE_6__/
8762
8783
  afterInit(jodit) {
8763
8784
  this.j.e.on('checkReserve', (checkDomain) => (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__awaiter */ .sH)(this, void 0, void 0, function* () {
8764
8785
  const code = this.j.o.license;
8786
+ // For local and testing stages
8787
+ if ((0,_helpers_helpers__WEBPACK_IMPORTED_MODULE_1__/* .isAllowedSubdomain */ .fI)(checkDomain)) {
8788
+ return 'normal';
8789
+ }
8765
8790
  if (!code) {
8766
8791
  return '';
8767
8792
  }
@@ -10012,7 +10037,8 @@ function replaceOldTags(elm) {
10012
10037
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10013
10038
 
10014
10039
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10015
- /* harmony export */ M0: function() { return /* binding */ validateLicense; }
10040
+ /* harmony export */ M0: function() { return /* binding */ validateLicense; },
10041
+ /* harmony export */ fI: function() { return /* binding */ isAllowedSubdomain; }
10016
10042
  /* harmony export */ });
10017
10043
  /* unused harmony exports validateEntLicense, domainsHash */
10018
10044
  /*!
@@ -27022,8 +27048,10 @@ function persistent(target, propertyKey) {
27022
27048
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
27023
27049
  /* harmony export */ K: function() { return /* binding */ AutocompleteItem; }
27024
27050
  /* harmony export */ });
27025
- /* harmony import */ var jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27613);
27026
- /* harmony import */ var jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48538);
27051
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31635);
27052
+ /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65478);
27053
+ /* harmony import */ var jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27613);
27054
+ /* harmony import */ var jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(48538);
27027
27055
  /*!
27028
27056
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
27029
27057
  * See LICENSE.md in the project root for license information.
@@ -27032,19 +27060,24 @@ function persistent(target, propertyKey) {
27032
27060
 
27033
27061
 
27034
27062
 
27035
- class AutocompleteItem extends jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_1__/* .UIElement */ .D {
27063
+
27064
+
27065
+ let AutocompleteItem = class AutocompleteItem extends jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement */ .D {
27036
27066
  /** @override */
27037
27067
  className() {
27038
27068
  return 'AutocompleteItem';
27039
27069
  }
27040
- constructor(jodit, item) {
27070
+ constructor(jodit, item, onClick) {
27041
27071
  var _a;
27042
27072
  super(jodit);
27043
27073
  this.item = item;
27074
+ this.onClick = onClick;
27075
+ this.value = '';
27044
27076
  const { container } = this;
27045
- if ((0,jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__/* .isFunction */ .Tn)(item.itemRenderer)) {
27077
+ this.value = item.value;
27078
+ if ((0,jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isFunction */ .Tn)(item.itemRenderer)) {
27046
27079
  const elm = item.itemRenderer(item);
27047
- if ((0,jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__/* .isString */ .Kg)(elm)) {
27080
+ if ((0,jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isString */ .Kg)(elm)) {
27048
27081
  container.innerHTML = elm;
27049
27082
  }
27050
27083
  else {
@@ -27055,7 +27088,24 @@ class AutocompleteItem extends jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODUL
27055
27088
  container.innerText = (_a = item.title) !== null && _a !== void 0 ? _a : item.value;
27056
27089
  }
27057
27090
  }
27058
- }
27091
+ onClickPrevent(e) {
27092
+ e.preventDefault();
27093
+ e.stopPropagation();
27094
+ }
27095
+ onClickHandler() {
27096
+ this.onClick(this.value);
27097
+ }
27098
+ };
27099
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
27100
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)('container:mousedown container:touchstart')
27101
+ ], AutocompleteItem.prototype, "onClickPrevent", null);
27102
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
27103
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)('container:click')
27104
+ ], AutocompleteItem.prototype, "onClickHandler", null);
27105
+ AutocompleteItem = (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
27106
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_1__.component
27107
+ ], AutocompleteItem);
27108
+
27059
27109
 
27060
27110
 
27061
27111
  /***/ }),
@@ -27916,15 +27966,25 @@ const transactions = {
27916
27966
  },
27917
27967
  [states.EXTRACT]: {
27918
27968
  exec (value) {
27969
+ var _a;
27919
27970
  const { element, jodit, style } = value;
27920
27971
  const suit = (0,_api_index_js__WEBPACK_IMPORTED_MODULE_4__/* .suitableClosest */ .$s)(style, element, jodit.editor);
27921
27972
  (0,_helpers_utils_assert_js__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .v)(suit, 'This place should have an element');
27922
- if (!style.elementIsBlock) {
27923
- (0,_api_index_js__WEBPACK_IMPORTED_MODULE_4__/* .extractSelectedPart */ .yP)(suit, element, jodit);
27973
+ // If we're applying inline styles to a block element, don't split the block
27974
+ const isApplyingInlineStyle = !style.elementIsBlock && ((_a = style.options.attributes) === null || _a === void 0 ? void 0 : _a.style);
27975
+ const shouldNotSplitBlock = isApplyingInlineStyle && _dom_dom_js__WEBPACK_IMPORTED_MODULE_1__/* .Dom */ .J.isBlock(suit);
27976
+ if (!shouldNotSplitBlock) {
27977
+ if (!style.elementIsBlock) {
27978
+ (0,_api_index_js__WEBPACK_IMPORTED_MODULE_4__/* .extractSelectedPart */ .yP)(suit, element, jodit);
27979
+ }
27980
+ return _object_spread_props(_object_spread({}, value), {
27981
+ element: suit,
27982
+ next: states.ELEMENT
27983
+ });
27924
27984
  }
27985
+ // Create a new wrapper instead of splitting the block
27925
27986
  return _object_spread_props(_object_spread({}, value), {
27926
- element: suit,
27927
- next: states.ELEMENT
27987
+ next: states.WRAP
27928
27988
  });
27929
27989
  }
27930
27990
  },
@@ -40344,33 +40404,52 @@ let Autocomplete = class Autocomplete extends jodit_esm_core_ui_group_group__WEB
40344
40404
  super(...arguments);
40345
40405
  this.elements = [];
40346
40406
  this.currentSelection = -1;
40407
+ this.__previousList = [];
40347
40408
  }
40348
40409
  /** @override */
40349
40410
  className() {
40350
40411
  return 'Autocomplete';
40351
40412
  }
40352
- onChangeSelection(_, previous) {
40353
- var _a;
40354
- previous != null && ((_a = this.elements[previous]) === null || _a === void 0 ? void 0 : _a.setMod('active', false));
40355
- this.elements[this.currentSelection].setMod('active', true);
40356
- this.elements[this.currentSelection].container.scrollIntoView(false);
40413
+ onChangeSelection() {
40414
+ var _a, _b;
40415
+ this.elements.forEach((elm) => elm.setMod('active', false));
40416
+ (_a = this.elements[this.currentSelection]) === null || _a === void 0 ? void 0 : _a.setMod('active', true);
40417
+ (_b = this.elements[this.currentSelection]) === null || _b === void 0 ? void 0 : _b.container.scrollIntoView(false);
40357
40418
  }
40358
40419
  build(list) {
40359
- this.clear();
40360
- list.forEach((elm, index) => {
40361
- const item = new _item__WEBPACK_IMPORTED_MODULE_1__/* .AutocompleteItem */ .K(this.jodit, elm);
40362
- this.j.e
40363
- .on(item.container, 'mousedown touchstart', (e) => {
40364
- e.preventDefault();
40365
- })
40366
- .on(item.container, 'click', () => {
40367
- this.currentSelection = index;
40420
+ var _a;
40421
+ const currentValue = (_a = this.elements[this.currentSelection]) === null || _a === void 0 ? void 0 : _a.item.value;
40422
+ const removed = [];
40423
+ let elementIndex = -1;
40424
+ for (let i = 0; i < list.length; i += 1) {
40425
+ elementIndex += 1;
40426
+ if (this.__previousList[i] != null &&
40427
+ list[i].value === this.__previousList[i].value) {
40428
+ continue;
40429
+ }
40430
+ if (this.elements[elementIndex]) {
40431
+ removed.push(this.elements[elementIndex]);
40432
+ elementIndex += 1;
40433
+ }
40434
+ const item = new _item__WEBPACK_IMPORTED_MODULE_1__/* .AutocompleteItem */ .K(this.jodit, list[i], (value) => {
40435
+ this.currentSelection = list.findIndex((item) => item.value === value);
40368
40436
  this.select();
40369
40437
  });
40370
- this.append(item);
40438
+ this.append(item, elementIndex);
40439
+ }
40440
+ for (let fromIndex = elementIndex + 1; fromIndex < this.elements.length; fromIndex += 1) {
40441
+ removed.push(this.elements[fromIndex]);
40442
+ }
40443
+ removed.forEach((item) => {
40444
+ this.remove(item);
40445
+ item.destruct();
40371
40446
  });
40372
- this.currentSelection = 0;
40373
- this.onChangeSelection();
40447
+ const previosSelection = this.currentSelection;
40448
+ this.currentSelection = Math.max(0, list.findIndex((elm) => elm.value === currentValue));
40449
+ if (previosSelection === this.currentSelection) {
40450
+ this.onChangeSelection();
40451
+ }
40452
+ this.__previousList = [...list];
40374
40453
  }
40375
40454
  selectNext() {
40376
40455
  if (this.currentSelection + 1 <= this.elements.length - 1) {
@@ -44466,7 +44545,7 @@ __webpack_require__.r(__webpack_exports__);
44466
44545
  * ```
44467
44546
  * @packageDocumentation
44468
44547
  * @module constants
44469
- */ const APP_VERSION = "4.6.18";
44548
+ */ const APP_VERSION = "4.6.21";
44470
44549
  // prettier-ignore
44471
44550
  const ES = "es2015";
44472
44551
  const IS_ES_MODERN = true;
@@ -47417,9 +47496,9 @@ __webpack_require__.r(__webpack_exports__);
47417
47496
  /* harmony export */ autocomplete: function() { return /* binding */ autocomplete; }
47418
47497
  /* harmony export */ });
47419
47498
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31635);
47420
- /* harmony import */ var _ui_autocomplete__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(78630);
47421
- /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91876);
47422
- /* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6441);
47499
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11691);
47500
+ /* harmony import */ var _ui_autocomplete__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(78630);
47501
+ /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(91876);
47423
47502
  /* harmony import */ var jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(82758);
47424
47503
  /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(65478);
47425
47504
  /* harmony import */ var jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2748);
@@ -47443,26 +47522,27 @@ __webpack_require__.r(__webpack_exports__);
47443
47522
 
47444
47523
 
47445
47524
 
47446
- jodit_esm_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.autocomplete = {
47447
- sources: [],
47448
- maxItems: 50,
47449
- isMatchedQuery: (query, value) => value.toLowerCase().indexOf(query.toLowerCase()) === 0,
47450
- itemRenderer: (item) => { var _a; return (_a = item.title) !== null && _a !== void 0 ? _a : item.value; },
47451
- insertValueRenderer: (item) => item.value + '&nbsp;'
47452
- };
47453
47525
  class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/* .Plugin */ .k {
47454
- constructor(jodit) {
47455
- super(jodit);
47526
+ constructor() {
47527
+ super(...arguments);
47456
47528
  /** @override */
47457
47529
  this.hasStyle = !jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_10__/* .JoditPro */ .A.fatMode;
47458
47530
  this.sources = [];
47459
47531
  }
47532
+ get list() {
47533
+ return new _ui_autocomplete__WEBPACK_IMPORTED_MODULE_2__/* .Autocomplete */ .j(this.jodit);
47534
+ }
47535
+ get popup() {
47536
+ const popup = new jodit_esm_core_ui_popup_popup__WEBPACK_IMPORTED_MODULE_9__/* .Popup */ .z(this.jodit);
47537
+ popup.setMod('padding', false);
47538
+ popup.setContent(this.list.container);
47539
+ this.jodit.e.on(popup, 'beforeClose', () => {
47540
+ this.list.currentSelection = 0;
47541
+ });
47542
+ return popup;
47543
+ }
47460
47544
  /** @override */
47461
47545
  afterInit(jodit) {
47462
- this.popup = new jodit_esm_core_ui_popup_popup__WEBPACK_IMPORTED_MODULE_9__/* .Popup */ .z(jodit);
47463
- this.popup.setMod('padding', false);
47464
- this.list = new _ui_autocomplete__WEBPACK_IMPORTED_MODULE_1__/* .Autocomplete */ .j(jodit);
47465
- this.popup.setContent(this.list.container);
47466
47546
  jodit.e
47467
47547
  .on('select.autocomplete', (item) => {
47468
47548
  let insertValue = item.value;
@@ -47472,7 +47552,7 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
47472
47552
  if (!jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_6__/* .Dom */ .J.isNode(insertValue)) {
47473
47553
  insertValue = jodit.createInside.fromHTML(insertValue);
47474
47554
  }
47475
- (0,_helpers__WEBPACK_IMPORTED_MODULE_2__/* .replaceTextLeftOfCursorAfterSpace */ .s)(jodit.s.range, insertValue);
47555
+ (0,_helpers__WEBPACK_IMPORTED_MODULE_3__/* .replaceTextLeftOfCursorAfterSpace */ .s)(jodit.s.range, insertValue);
47476
47556
  this.j.s.setCursorAfter(insertValue);
47477
47557
  this.j.synchronizeValues();
47478
47558
  this.popup.close();
@@ -47483,11 +47563,18 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
47483
47563
  })
47484
47564
  .on('beforeEnter.autocomplete', this.onEnter, { top: true })
47485
47565
  .on('autocomplete.autocomplete', this.onAutoComplete)
47486
- .on('registerAutocompleteSource.autocomplete', this.registerAutocompleteSource);
47566
+ .on('registerAutocompleteSource.autocomplete', this.registerAutocompleteSource)
47567
+ .on('unregisterAutocompleteSource.autocomplete', this.unregisterAutocompleteSource);
47487
47568
  }
47488
47569
  registerAutocompleteSource(source) {
47489
47570
  this.sources.push(source);
47490
47571
  }
47572
+ unregisterAutocompleteSource(source) {
47573
+ const index = this.sources.indexOf(source);
47574
+ if (index !== -1) {
47575
+ this.sources.splice(index, 1);
47576
+ }
47577
+ }
47491
47578
  static isControlKey(key) {
47492
47579
  return (key === jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_4__.KEY_DOWN ||
47493
47580
  key === jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_4__.KEY_UP ||
@@ -47510,7 +47597,7 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
47510
47597
  const range = ((_a = this.j.s.sel) === null || _a === void 0 ? void 0 : _a.rangeCount)
47511
47598
  ? (_b = this.j.s.sel) === null || _b === void 0 ? void 0 : _b.getRangeAt(0)
47512
47599
  : null;
47513
- const query = range && (0,_helpers__WEBPACK_IMPORTED_MODULE_2__/* .getTextLeftOfCursor */ .I)(range).split(' ').pop();
47600
+ const query = range && (0,_helpers__WEBPACK_IMPORTED_MODULE_3__/* .getTextLeftOfCursor */ .I)(range).split(' ').pop();
47514
47601
  if (query && (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_7__.trim)(query).length) {
47515
47602
  const result = yield this.onAutoComplete(query);
47516
47603
  if (result.length) {
@@ -47621,6 +47708,7 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
47621
47708
  beforeDestruct(jodit) {
47622
47709
  jodit.e
47623
47710
  .off(this.list)
47711
+ .off(this.popup)
47624
47712
  .off('keydown.autocomplete', this.onKeyDown)
47625
47713
  .off('autocomplete.autocomplete', this.onAutoComplete)
47626
47714
  .off('.autocomplete');
@@ -47630,9 +47718,18 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
47630
47718
  }
47631
47719
  /** @override */
47632
47720
  autocomplete.requires = ['enter', 'license'];
47721
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
47722
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.cache
47723
+ ], autocomplete.prototype, "list", null);
47724
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
47725
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.cache
47726
+ ], autocomplete.prototype, "popup", null);
47633
47727
  (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
47634
47728
  jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.autobind
47635
47729
  ], autocomplete.prototype, "registerAutocompleteSource", null);
47730
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
47731
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.autobind
47732
+ ], autocomplete.prototype, "unregisterAutocompleteSource", null);
47636
47733
  (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
47637
47734
  (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.debounce)()
47638
47735
  ], autocomplete.prototype, "onKeyDown", null);