jodit-pro 4.6.18 → 4.6.20

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 (306) hide show
  1. package/es2015/jodit.css +1 -1
  2. package/es2015/jodit.fat.min.js +2 -2
  3. package/es2015/jodit.js +116 -44
  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 +116 -44
  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 +114 -43
  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 +114 -43
  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 +123 -45
  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 +3 -14
  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/ui/autocomplete.d.ts +2 -1
  298. package/esm/plugins/autocomplete/ui/autocomplete.js +1 -1
  299. package/esm/plugins/autocomplete/ui/item.d.ts +5 -1
  300. package/esm/plugins/autocomplete/ui/item.js +1 -1
  301. package/package.json +1 -1
  302. package/types/config.d.ts +2 -2
  303. package/types/plugins/autocomplete/autocomplete.d.ts +3 -14
  304. package/types/plugins/autocomplete/config.d.ts +17 -0
  305. package/types/plugins/autocomplete/ui/autocomplete.d.ts +2 -1
  306. package/types/plugins/autocomplete/ui/item.d.ts +5 -1
package/es2021/jodit.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * jodit-pro - PRO Version of Jodit Editor
3
3
  * Author: Chupurnov Valeriy <chupurnov@gmail.com>
4
- * Version: v4.6.18
4
+ * Version: v4.6.20
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -7196,6 +7196,27 @@ ToolbarCollection = __decorate([
7196
7196
 
7197
7197
 
7198
7198
 
7199
+ /***/ }),
7200
+
7201
+ /***/ 11691:
7202
+ /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
7203
+
7204
+ /* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6441);
7205
+ /*!
7206
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
7207
+ * See LICENSE.md in the project root for license information.
7208
+ * Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
7209
+ */
7210
+
7211
+ jodit_esm_config__WEBPACK_IMPORTED_MODULE_0__/* .Config */ .T.prototype.autocomplete = {
7212
+ sources: [],
7213
+ maxItems: 50,
7214
+ isMatchedQuery: (query, value) => value.toLowerCase().indexOf(query.toLowerCase()) === 0,
7215
+ itemRenderer: (item) => item.title ?? item.value,
7216
+ insertValueRenderer: (item) => item.value + '&nbsp;'
7217
+ };
7218
+
7219
+
7199
7220
  /***/ }),
7200
7221
 
7201
7222
  /***/ 11787:
@@ -26304,8 +26325,10 @@ function persistent(target, propertyKey) {
26304
26325
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
26305
26326
  /* harmony export */ K: function() { return /* binding */ AutocompleteItem; }
26306
26327
  /* harmony export */ });
26307
- /* harmony import */ var jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27613);
26308
- /* harmony import */ var jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48538);
26328
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31635);
26329
+ /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65478);
26330
+ /* harmony import */ var jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27613);
26331
+ /* harmony import */ var jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(48538);
26309
26332
  /*!
26310
26333
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
26311
26334
  * See LICENSE.md in the project root for license information.
@@ -26314,18 +26337,23 @@ function persistent(target, propertyKey) {
26314
26337
 
26315
26338
 
26316
26339
 
26317
- class AutocompleteItem extends jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_1__/* .UIElement */ .D {
26340
+
26341
+
26342
+ let AutocompleteItem = class AutocompleteItem extends jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement */ .D {
26318
26343
  /** @override */
26319
26344
  className() {
26320
26345
  return 'AutocompleteItem';
26321
26346
  }
26322
- constructor(jodit, item) {
26347
+ constructor(jodit, item, onClick) {
26323
26348
  super(jodit);
26324
26349
  this.item = item;
26350
+ this.onClick = onClick;
26351
+ this.value = '';
26325
26352
  const { container } = this;
26326
- if ((0,jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__/* .isFunction */ .Tn)(item.itemRenderer)) {
26353
+ this.value = item.value;
26354
+ if ((0,jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isFunction */ .Tn)(item.itemRenderer)) {
26327
26355
  const elm = item.itemRenderer(item);
26328
- if ((0,jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__/* .isString */ .Kg)(elm)) {
26356
+ if ((0,jodit_esm_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isString */ .Kg)(elm)) {
26329
26357
  container.innerHTML = elm;
26330
26358
  }
26331
26359
  else {
@@ -26336,7 +26364,24 @@ class AutocompleteItem extends jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODUL
26336
26364
  container.innerText = item.title ?? item.value;
26337
26365
  }
26338
26366
  }
26339
- }
26367
+ onClickPrevent(e) {
26368
+ e.preventDefault();
26369
+ e.stopPropagation();
26370
+ }
26371
+ onClickHandler() {
26372
+ this.onClick(this.value);
26373
+ }
26374
+ };
26375
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
26376
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)('container:mousedown container:touchstart')
26377
+ ], AutocompleteItem.prototype, "onClickPrevent", null);
26378
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
26379
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)('container:click')
26380
+ ], AutocompleteItem.prototype, "onClickHandler", null);
26381
+ AutocompleteItem = (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
26382
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_1__.component
26383
+ ], AutocompleteItem);
26384
+
26340
26385
 
26341
26386
 
26342
26387
  /***/ }),
@@ -39337,32 +39382,50 @@ let Autocomplete = class Autocomplete extends jodit_esm_core_ui_group_group__WEB
39337
39382
  super(...arguments);
39338
39383
  this.elements = [];
39339
39384
  this.currentSelection = -1;
39385
+ this.__previousList = [];
39340
39386
  }
39341
39387
  /** @override */
39342
39388
  className() {
39343
39389
  return 'Autocomplete';
39344
39390
  }
39345
- onChangeSelection(_, previous) {
39346
- previous != null && this.elements[previous]?.setMod('active', false);
39347
- this.elements[this.currentSelection].setMod('active', true);
39348
- this.elements[this.currentSelection].container.scrollIntoView(false);
39391
+ onChangeSelection() {
39392
+ this.elements.forEach((elm) => elm.setMod('active', false));
39393
+ this.elements[this.currentSelection]?.setMod('active', true);
39394
+ this.elements[this.currentSelection]?.container.scrollIntoView(false);
39349
39395
  }
39350
39396
  build(list) {
39351
- this.clear();
39352
- list.forEach((elm, index) => {
39353
- const item = new _item__WEBPACK_IMPORTED_MODULE_1__/* .AutocompleteItem */ .K(this.jodit, elm);
39354
- this.j.e
39355
- .on(item.container, 'mousedown touchstart', (e) => {
39356
- e.preventDefault();
39357
- })
39358
- .on(item.container, 'click', () => {
39359
- this.currentSelection = index;
39397
+ const currentValue = this.elements[this.currentSelection]?.item.value;
39398
+ const removed = [];
39399
+ let elementIndex = -1;
39400
+ for (let i = 0; i < list.length; i += 1) {
39401
+ elementIndex += 1;
39402
+ if (this.__previousList[i] != null &&
39403
+ list[i].value === this.__previousList[i].value) {
39404
+ continue;
39405
+ }
39406
+ if (this.elements[elementIndex]) {
39407
+ removed.push(this.elements[elementIndex]);
39408
+ elementIndex += 1;
39409
+ }
39410
+ const item = new _item__WEBPACK_IMPORTED_MODULE_1__/* .AutocompleteItem */ .K(this.jodit, list[i], (value) => {
39411
+ this.currentSelection = list.findIndex((item) => item.value === value);
39360
39412
  this.select();
39361
39413
  });
39362
- this.append(item);
39414
+ this.append(item, elementIndex);
39415
+ }
39416
+ for (let fromIndex = elementIndex + 1; fromIndex < this.elements.length; fromIndex += 1) {
39417
+ removed.push(this.elements[fromIndex]);
39418
+ }
39419
+ removed.forEach((item) => {
39420
+ this.remove(item);
39421
+ item.destruct();
39363
39422
  });
39364
- this.currentSelection = 0;
39365
- this.onChangeSelection();
39423
+ const previosSelection = this.currentSelection;
39424
+ this.currentSelection = Math.max(0, list.findIndex((elm) => elm.value === currentValue));
39425
+ if (previosSelection === this.currentSelection) {
39426
+ this.onChangeSelection();
39427
+ }
39428
+ this.__previousList = [...list];
39366
39429
  }
39367
39430
  selectNext() {
39368
39431
  if (this.currentSelection + 1 <= this.elements.length - 1) {
@@ -43354,7 +43417,7 @@ __webpack_require__.r(__webpack_exports__);
43354
43417
  * ```
43355
43418
  * @packageDocumentation
43356
43419
  * @module constants
43357
- */ const APP_VERSION = "4.6.18";
43420
+ */ const APP_VERSION = "4.6.20";
43358
43421
  // prettier-ignore
43359
43422
  const ES = "es2021";
43360
43423
  const IS_ES_MODERN = true;
@@ -46198,9 +46261,9 @@ __webpack_require__.r(__webpack_exports__);
46198
46261
  /* harmony export */ autocomplete: function() { return /* binding */ autocomplete; }
46199
46262
  /* harmony export */ });
46200
46263
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31635);
46201
- /* harmony import */ var _ui_autocomplete__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(78630);
46202
- /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91876);
46203
- /* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6441);
46264
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11691);
46265
+ /* harmony import */ var _ui_autocomplete__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(78630);
46266
+ /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(91876);
46204
46267
  /* harmony import */ var jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(82758);
46205
46268
  /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(65478);
46206
46269
  /* harmony import */ var jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2748);
@@ -46224,26 +46287,27 @@ __webpack_require__.r(__webpack_exports__);
46224
46287
 
46225
46288
 
46226
46289
 
46227
- jodit_esm_config__WEBPACK_IMPORTED_MODULE_3__/* .Config */ .T.prototype.autocomplete = {
46228
- sources: [],
46229
- maxItems: 50,
46230
- isMatchedQuery: (query, value) => value.toLowerCase().indexOf(query.toLowerCase()) === 0,
46231
- itemRenderer: (item) => item.title ?? item.value,
46232
- insertValueRenderer: (item) => item.value + '&nbsp;'
46233
- };
46234
46290
  class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/* .Plugin */ .k {
46235
- constructor(jodit) {
46236
- super(jodit);
46291
+ constructor() {
46292
+ super(...arguments);
46237
46293
  /** @override */
46238
46294
  this.hasStyle = !jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_10__/* .JoditPro */ .A.fatMode;
46239
46295
  this.sources = [];
46240
46296
  }
46297
+ get list() {
46298
+ return new _ui_autocomplete__WEBPACK_IMPORTED_MODULE_2__/* .Autocomplete */ .j(this.jodit);
46299
+ }
46300
+ get popup() {
46301
+ const popup = new jodit_esm_core_ui_popup_popup__WEBPACK_IMPORTED_MODULE_9__/* .Popup */ .z(this.jodit);
46302
+ popup.setMod('padding', false);
46303
+ popup.setContent(this.list.container);
46304
+ this.jodit.e.on(popup, 'beforeClose', () => {
46305
+ this.list.currentSelection = 0;
46306
+ });
46307
+ return popup;
46308
+ }
46241
46309
  /** @override */
46242
46310
  afterInit(jodit) {
46243
- this.popup = new jodit_esm_core_ui_popup_popup__WEBPACK_IMPORTED_MODULE_9__/* .Popup */ .z(jodit);
46244
- this.popup.setMod('padding', false);
46245
- this.list = new _ui_autocomplete__WEBPACK_IMPORTED_MODULE_1__/* .Autocomplete */ .j(jodit);
46246
- this.popup.setContent(this.list.container);
46247
46311
  jodit.e
46248
46312
  .on('select.autocomplete', (item) => {
46249
46313
  let insertValue = item.value;
@@ -46253,7 +46317,7 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
46253
46317
  if (!jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_6__/* .Dom */ .J.isNode(insertValue)) {
46254
46318
  insertValue = jodit.createInside.fromHTML(insertValue);
46255
46319
  }
46256
- (0,_helpers__WEBPACK_IMPORTED_MODULE_2__/* .replaceTextLeftOfCursorAfterSpace */ .s)(jodit.s.range, insertValue);
46320
+ (0,_helpers__WEBPACK_IMPORTED_MODULE_3__/* .replaceTextLeftOfCursorAfterSpace */ .s)(jodit.s.range, insertValue);
46257
46321
  this.j.s.setCursorAfter(insertValue);
46258
46322
  this.j.synchronizeValues();
46259
46323
  this.popup.close();
@@ -46289,7 +46353,7 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
46289
46353
  const range = this.j.s.sel?.rangeCount
46290
46354
  ? this.j.s.sel?.getRangeAt(0)
46291
46355
  : null;
46292
- const query = range && (0,_helpers__WEBPACK_IMPORTED_MODULE_2__/* .getTextLeftOfCursor */ .I)(range).split(' ').pop();
46356
+ const query = range && (0,_helpers__WEBPACK_IMPORTED_MODULE_3__/* .getTextLeftOfCursor */ .I)(range).split(' ').pop();
46293
46357
  if (query && (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_7__.trim)(query).length) {
46294
46358
  const result = await this.onAutoComplete(query);
46295
46359
  if (result.length) {
@@ -46396,6 +46460,7 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
46396
46460
  beforeDestruct(jodit) {
46397
46461
  jodit.e
46398
46462
  .off(this.list)
46463
+ .off(this.popup)
46399
46464
  .off('keydown.autocomplete', this.onKeyDown)
46400
46465
  .off('autocomplete.autocomplete', this.onAutoComplete)
46401
46466
  .off('.autocomplete');
@@ -46405,6 +46470,12 @@ class autocomplete extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__/*
46405
46470
  }
46406
46471
  /** @override */
46407
46472
  autocomplete.requires = ['enter', 'license'];
46473
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
46474
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.cache
46475
+ ], autocomplete.prototype, "list", null);
46476
+ (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
46477
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.cache
46478
+ ], autocomplete.prototype, "popup", null);
46408
46479
  (0,tslib__WEBPACK_IMPORTED_MODULE_0__/* .__decorate */ .Cg)([
46409
46480
  jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_5__.autobind
46410
46481
  ], autocomplete.prototype, "registerAutocompleteSource", null);