jodit-pro 4.12.27 → 4.12.33

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 (371) hide show
  1. package/es2015/jodit.css +1 -1
  2. package/es2015/jodit.fat.min.css +1 -1
  3. package/es2015/jodit.fat.min.js +17 -15
  4. package/es2015/jodit.js +231 -74
  5. package/es2015/jodit.min.js +8 -8
  6. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +34 -1
  7. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +596 -44
  8. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.css +1 -1
  9. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +33 -33
  10. package/es2015/plugins/autocomplete/autocomplete.css +62 -0
  11. package/es2015/plugins/autocomplete/autocomplete.js +29 -2
  12. package/es2015/plugins/autocomplete/autocomplete.min.css +1 -0
  13. package/es2015/plugins/autocomplete/autocomplete.min.js +2 -2
  14. package/es2015/plugins/backup/backup.css +1 -1
  15. package/es2015/plugins/backup/backup.js +1 -1
  16. package/es2015/plugins/backup/backup.min.js +1 -1
  17. package/es2015/plugins/button-generator/button-generator.css +1 -1
  18. package/es2015/plugins/button-generator/button-generator.js +1 -1
  19. package/es2015/plugins/button-generator/button-generator.min.js +1 -1
  20. package/es2015/plugins/change-case/change-case.js +1 -1
  21. package/es2015/plugins/change-case/change-case.min.js +1 -1
  22. package/es2015/plugins/color-picker/color-picker.css +1 -1
  23. package/es2015/plugins/color-picker/color-picker.js +1 -1
  24. package/es2015/plugins/color-picker/color-picker.min.js +1 -1
  25. package/es2015/plugins/emoji/emoji.css +1 -1
  26. package/es2015/plugins/emoji/emoji.js +1 -1
  27. package/es2015/plugins/emoji/emoji.min.js +1 -1
  28. package/es2015/plugins/export-docs/export-docs.js +1 -1
  29. package/es2015/plugins/export-docs/export-docs.min.js +1 -1
  30. package/es2015/plugins/finder/finder.css +1 -1
  31. package/es2015/plugins/finder/finder.js +1 -1
  32. package/es2015/plugins/finder/finder.min.js +1 -1
  33. package/es2015/plugins/google-maps/google-maps.css +1 -1
  34. package/es2015/plugins/google-maps/google-maps.js +1 -1
  35. package/es2015/plugins/google-maps/google-maps.min.js +1 -1
  36. package/es2015/plugins/google-search/google-search.js +1 -1
  37. package/es2015/plugins/google-search/google-search.min.js +1 -1
  38. package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
  39. package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
  40. package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
  41. package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
  42. package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
  43. package/es2015/plugins/keyboard/keyboard.css +1 -1
  44. package/es2015/plugins/keyboard/keyboard.js +1 -1
  45. package/es2015/plugins/keyboard/keyboard.min.js +1 -1
  46. package/es2015/plugins/mobile-view/mobile-view.js +1 -1
  47. package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
  48. package/es2015/plugins/page-break/page-break.js +23 -2
  49. package/es2015/plugins/page-break/page-break.min.js +2 -2
  50. package/es2015/plugins/paste-code/paste-code.css +28 -1
  51. package/es2015/plugins/paste-code/paste-code.js +489 -64
  52. package/es2015/plugins/paste-code/paste-code.min.css +1 -1
  53. package/es2015/plugins/paste-code/paste-code.min.js +4 -2
  54. package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
  55. package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
  56. package/es2015/plugins/show-blocks/show-blocks.js +1 -1
  57. package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
  58. package/es2015/plugins/style/style.css +1 -1
  59. package/es2015/plugins/style/style.js +1 -1
  60. package/es2015/plugins/style/style.min.js +1 -1
  61. package/es2015/plugins/templates/templates.css +1 -1
  62. package/es2015/plugins/templates/templates.js +1 -1
  63. package/es2015/plugins/templates/templates.min.js +1 -1
  64. package/es2015/plugins/todo-list/todo-list.css +1 -1
  65. package/es2015/plugins/todo-list/todo-list.js +9 -1
  66. package/es2015/plugins/todo-list/todo-list.min.js +2 -2
  67. package/es2015/plugins/translate/translate.css +1 -1
  68. package/es2015/plugins/translate/translate.js +1 -1
  69. package/es2015/plugins/translate/translate.min.js +1 -1
  70. package/es2015/plugins/tune-block/tune-block.css +1 -1
  71. package/es2015/plugins/tune-block/tune-block.js +1 -1
  72. package/es2015/plugins/tune-block/tune-block.min.js +1 -1
  73. package/es2018/jodit.fat.min.css +1 -1
  74. package/es2018/jodit.fat.min.js +16 -14
  75. package/es2018/jodit.min.js +8 -8
  76. package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.css +1 -1
  77. package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +38 -38
  78. package/es2018/plugins/autocomplete/autocomplete.min.css +1 -0
  79. package/es2018/plugins/autocomplete/autocomplete.min.js +2 -2
  80. package/es2018/plugins/backup/backup.min.js +1 -1
  81. package/es2018/plugins/button-generator/button-generator.min.js +1 -1
  82. package/es2018/plugins/change-case/change-case.min.js +1 -1
  83. package/es2018/plugins/color-picker/color-picker.min.js +1 -1
  84. package/es2018/plugins/emoji/emoji.min.js +1 -1
  85. package/es2018/plugins/export-docs/export-docs.min.js +1 -1
  86. package/es2018/plugins/finder/finder.min.js +1 -1
  87. package/es2018/plugins/google-maps/google-maps.min.js +1 -1
  88. package/es2018/plugins/google-search/google-search.min.js +1 -1
  89. package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
  90. package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
  91. package/es2018/plugins/keyboard/keyboard.min.js +1 -1
  92. package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
  93. package/es2018/plugins/page-break/page-break.min.js +2 -2
  94. package/es2018/plugins/paste-code/paste-code.min.css +1 -1
  95. package/es2018/plugins/paste-code/paste-code.min.js +4 -2
  96. package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
  97. package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
  98. package/es2018/plugins/style/style.min.js +1 -1
  99. package/es2018/plugins/templates/templates.min.js +1 -1
  100. package/es2018/plugins/todo-list/todo-list.min.js +2 -2
  101. package/es2018/plugins/translate/translate.min.js +1 -1
  102. package/es2018/plugins/tune-block/tune-block.min.js +1 -1
  103. package/es2021/jodit.css +1 -1
  104. package/es2021/jodit.fat.min.css +1 -1
  105. package/es2021/jodit.fat.min.js +18 -16
  106. package/es2021/jodit.js +231 -74
  107. package/es2021/jodit.min.js +9 -9
  108. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +34 -1
  109. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +569 -42
  110. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.css +1 -1
  111. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +9 -9
  112. package/es2021/plugins/autocomplete/autocomplete.css +62 -0
  113. package/es2021/plugins/autocomplete/autocomplete.js +29 -2
  114. package/es2021/plugins/autocomplete/autocomplete.min.css +1 -0
  115. package/es2021/plugins/autocomplete/autocomplete.min.js +2 -2
  116. package/es2021/plugins/backup/backup.css +1 -1
  117. package/es2021/plugins/backup/backup.js +1 -1
  118. package/es2021/plugins/backup/backup.min.js +1 -1
  119. package/es2021/plugins/button-generator/button-generator.css +1 -1
  120. package/es2021/plugins/button-generator/button-generator.js +1 -1
  121. package/es2021/plugins/button-generator/button-generator.min.js +1 -1
  122. package/es2021/plugins/change-case/change-case.js +1 -1
  123. package/es2021/plugins/change-case/change-case.min.js +1 -1
  124. package/es2021/plugins/color-picker/color-picker.css +1 -1
  125. package/es2021/plugins/color-picker/color-picker.js +1 -1
  126. package/es2021/plugins/color-picker/color-picker.min.js +1 -1
  127. package/es2021/plugins/emoji/emoji.css +1 -1
  128. package/es2021/plugins/emoji/emoji.js +1 -1
  129. package/es2021/plugins/emoji/emoji.min.js +1 -1
  130. package/es2021/plugins/export-docs/export-docs.js +1 -1
  131. package/es2021/plugins/export-docs/export-docs.min.js +1 -1
  132. package/es2021/plugins/finder/finder.css +1 -1
  133. package/es2021/plugins/finder/finder.js +1 -1
  134. package/es2021/plugins/finder/finder.min.js +1 -1
  135. package/es2021/plugins/google-maps/google-maps.css +1 -1
  136. package/es2021/plugins/google-maps/google-maps.js +1 -1
  137. package/es2021/plugins/google-maps/google-maps.min.js +1 -1
  138. package/es2021/plugins/google-search/google-search.js +1 -1
  139. package/es2021/plugins/google-search/google-search.min.js +1 -1
  140. package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
  141. package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
  142. package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
  143. package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
  144. package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
  145. package/es2021/plugins/keyboard/keyboard.css +1 -1
  146. package/es2021/plugins/keyboard/keyboard.js +1 -1
  147. package/es2021/plugins/keyboard/keyboard.min.js +1 -1
  148. package/es2021/plugins/mobile-view/mobile-view.js +1 -1
  149. package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
  150. package/es2021/plugins/page-break/page-break.js +23 -2
  151. package/es2021/plugins/page-break/page-break.min.js +2 -2
  152. package/es2021/plugins/paste-code/paste-code.css +28 -1
  153. package/es2021/plugins/paste-code/paste-code.js +488 -64
  154. package/es2021/plugins/paste-code/paste-code.min.css +1 -1
  155. package/es2021/plugins/paste-code/paste-code.min.js +4 -2
  156. package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
  157. package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
  158. package/es2021/plugins/show-blocks/show-blocks.js +1 -1
  159. package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
  160. package/es2021/plugins/style/style.css +1 -1
  161. package/es2021/plugins/style/style.js +1 -1
  162. package/es2021/plugins/style/style.min.js +1 -1
  163. package/es2021/plugins/templates/templates.css +1 -1
  164. package/es2021/plugins/templates/templates.js +1 -1
  165. package/es2021/plugins/templates/templates.min.js +1 -1
  166. package/es2021/plugins/todo-list/todo-list.css +1 -1
  167. package/es2021/plugins/todo-list/todo-list.js +9 -1
  168. package/es2021/plugins/todo-list/todo-list.min.js +2 -2
  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.css +1 -1
  177. package/es2021.en/jodit.fat.min.js +29 -27
  178. package/es2021.en/jodit.js +231 -74
  179. package/es2021.en/jodit.min.js +9 -9
  180. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +34 -1
  181. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +569 -42
  182. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.css +1 -1
  183. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +9 -9
  184. package/es2021.en/plugins/autocomplete/autocomplete.css +62 -0
  185. package/es2021.en/plugins/autocomplete/autocomplete.js +29 -2
  186. package/es2021.en/plugins/autocomplete/autocomplete.min.css +1 -0
  187. package/es2021.en/plugins/autocomplete/autocomplete.min.js +2 -2
  188. package/es2021.en/plugins/backup/backup.css +1 -1
  189. package/es2021.en/plugins/backup/backup.js +1 -1
  190. package/es2021.en/plugins/backup/backup.min.js +1 -1
  191. package/es2021.en/plugins/button-generator/button-generator.css +1 -1
  192. package/es2021.en/plugins/button-generator/button-generator.js +1 -1
  193. package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
  194. package/es2021.en/plugins/change-case/change-case.js +1 -1
  195. package/es2021.en/plugins/change-case/change-case.min.js +1 -1
  196. package/es2021.en/plugins/color-picker/color-picker.css +1 -1
  197. package/es2021.en/plugins/color-picker/color-picker.js +1 -1
  198. package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
  199. package/es2021.en/plugins/emoji/emoji.css +1 -1
  200. package/es2021.en/plugins/emoji/emoji.js +1 -1
  201. package/es2021.en/plugins/emoji/emoji.min.js +1 -1
  202. package/es2021.en/plugins/export-docs/export-docs.js +1 -1
  203. package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
  204. package/es2021.en/plugins/finder/finder.css +1 -1
  205. package/es2021.en/plugins/finder/finder.js +1 -1
  206. package/es2021.en/plugins/finder/finder.min.js +1 -1
  207. package/es2021.en/plugins/google-maps/google-maps.css +1 -1
  208. package/es2021.en/plugins/google-maps/google-maps.js +1 -1
  209. package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
  210. package/es2021.en/plugins/google-search/google-search.js +1 -1
  211. package/es2021.en/plugins/google-search/google-search.min.js +1 -1
  212. package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
  213. package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
  214. package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
  215. package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
  216. package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
  217. package/es2021.en/plugins/keyboard/keyboard.css +1 -1
  218. package/es2021.en/plugins/keyboard/keyboard.js +1 -1
  219. package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
  220. package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
  221. package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
  222. package/es2021.en/plugins/page-break/page-break.js +23 -2
  223. package/es2021.en/plugins/page-break/page-break.min.js +2 -2
  224. package/es2021.en/plugins/paste-code/paste-code.css +28 -1
  225. package/es2021.en/plugins/paste-code/paste-code.js +488 -64
  226. package/es2021.en/plugins/paste-code/paste-code.min.css +1 -1
  227. package/es2021.en/plugins/paste-code/paste-code.min.js +4 -2
  228. package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
  229. package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
  230. package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
  231. package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
  232. package/es2021.en/plugins/style/style.css +1 -1
  233. package/es2021.en/plugins/style/style.js +1 -1
  234. package/es2021.en/plugins/style/style.min.js +1 -1
  235. package/es2021.en/plugins/templates/templates.css +1 -1
  236. package/es2021.en/plugins/templates/templates.js +1 -1
  237. package/es2021.en/plugins/templates/templates.min.js +1 -1
  238. package/es2021.en/plugins/todo-list/todo-list.css +1 -1
  239. package/es2021.en/plugins/todo-list/todo-list.js +9 -1
  240. package/es2021.en/plugins/todo-list/todo-list.min.js +2 -2
  241. package/es2021.en/plugins/translate/translate.css +1 -1
  242. package/es2021.en/plugins/translate/translate.js +1 -1
  243. package/es2021.en/plugins/translate/translate.min.js +1 -1
  244. package/es2021.en/plugins/tune-block/tune-block.css +1 -1
  245. package/es2021.en/plugins/tune-block/tune-block.js +1 -1
  246. package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
  247. package/es5/jodit.css +2 -2
  248. package/es5/jodit.fat.min.css +1 -1
  249. package/es5/jodit.fat.min.js +2 -2
  250. package/es5/jodit.js +333 -74
  251. package/es5/jodit.min.css +2 -2
  252. package/es5/jodit.min.js +2 -2
  253. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +34 -1
  254. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +734 -44
  255. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.css +1 -1
  256. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +2 -2
  257. package/es5/plugins/autocomplete/autocomplete.css +62 -0
  258. package/es5/plugins/autocomplete/autocomplete.js +29 -2
  259. package/es5/plugins/autocomplete/autocomplete.min.css +1 -0
  260. package/es5/plugins/autocomplete/autocomplete.min.js +2 -2
  261. package/es5/plugins/backup/backup.css +1 -1
  262. package/es5/plugins/backup/backup.js +1 -1
  263. package/es5/plugins/backup/backup.min.js +1 -1
  264. package/es5/plugins/button-generator/button-generator.css +1 -1
  265. package/es5/plugins/button-generator/button-generator.js +1 -1
  266. package/es5/plugins/button-generator/button-generator.min.js +1 -1
  267. package/es5/plugins/change-case/change-case.js +1 -1
  268. package/es5/plugins/change-case/change-case.min.js +1 -1
  269. package/es5/plugins/color-picker/color-picker.css +1 -1
  270. package/es5/plugins/color-picker/color-picker.js +1 -1
  271. package/es5/plugins/color-picker/color-picker.min.js +1 -1
  272. package/es5/plugins/emoji/emoji.css +1 -1
  273. package/es5/plugins/emoji/emoji.js +1 -1
  274. package/es5/plugins/emoji/emoji.min.js +1 -1
  275. package/es5/plugins/export-docs/export-docs.js +1 -1
  276. package/es5/plugins/export-docs/export-docs.min.js +1 -1
  277. package/es5/plugins/finder/finder.css +1 -1
  278. package/es5/plugins/finder/finder.js +1 -1
  279. package/es5/plugins/finder/finder.min.js +1 -1
  280. package/es5/plugins/google-maps/google-maps.css +1 -1
  281. package/es5/plugins/google-maps/google-maps.js +1 -1
  282. package/es5/plugins/google-maps/google-maps.min.js +1 -1
  283. package/es5/plugins/google-search/google-search.js +1 -1
  284. package/es5/plugins/google-search/google-search.min.js +1 -1
  285. package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
  286. package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
  287. package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
  288. package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
  289. package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
  290. package/es5/plugins/keyboard/keyboard.css +1 -1
  291. package/es5/plugins/keyboard/keyboard.js +1 -1
  292. package/es5/plugins/keyboard/keyboard.min.js +1 -1
  293. package/es5/plugins/mobile-view/mobile-view.js +1 -1
  294. package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
  295. package/es5/plugins/page-break/page-break.js +23 -2
  296. package/es5/plugins/page-break/page-break.min.js +2 -2
  297. package/es5/plugins/paste-code/paste-code.css +28 -1
  298. package/es5/plugins/paste-code/paste-code.js +586 -66
  299. package/es5/plugins/paste-code/paste-code.min.css +1 -1
  300. package/es5/plugins/paste-code/paste-code.min.js +2 -2
  301. package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
  302. package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
  303. package/es5/plugins/show-blocks/show-blocks.js +1 -1
  304. package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
  305. package/es5/plugins/style/style.css +1 -1
  306. package/es5/plugins/style/style.js +1 -1
  307. package/es5/plugins/style/style.min.js +1 -1
  308. package/es5/plugins/templates/templates.css +1 -1
  309. package/es5/plugins/templates/templates.js +1 -1
  310. package/es5/plugins/templates/templates.min.js +1 -1
  311. package/es5/plugins/todo-list/todo-list.css +1 -1
  312. package/es5/plugins/todo-list/todo-list.js +9 -1
  313. package/es5/plugins/todo-list/todo-list.min.js +2 -2
  314. package/es5/plugins/translate/translate.css +1 -1
  315. package/es5/plugins/translate/translate.js +1 -1
  316. package/es5/plugins/translate/translate.min.js +1 -1
  317. package/es5/plugins/tune-block/tune-block.css +1 -1
  318. package/es5/plugins/tune-block/tune-block.js +1 -1
  319. package/es5/plugins/tune-block/tune-block.min.js +1 -1
  320. package/es5/polyfills.fat.min.js +1 -1
  321. package/es5/polyfills.js +1 -1
  322. package/es5/polyfills.min.js +1 -1
  323. package/esm/config.d.ts +6 -1
  324. package/esm/plugins/ai-assistant-pro/config.js +1 -1
  325. package/esm/plugins/ai-assistant-pro/icons/microphone.svg.js +1 -0
  326. package/esm/plugins/ai-assistant-pro/interface/options.d.ts +35 -0
  327. package/esm/plugins/ai-assistant-pro/providers/jodit-ai-adapter.js +1 -1
  328. package/esm/plugins/ai-assistant-pro/ui/input-area/input-area.d.ts +20 -0
  329. package/esm/plugins/ai-assistant-pro/ui/input-area/input-area.js +2 -2
  330. package/esm/plugins/ai-assistant-pro/voice/microphone-streamer.d.ts +26 -0
  331. package/esm/plugins/ai-assistant-pro/voice/microphone-streamer.js +1 -0
  332. package/esm/plugins/ai-assistant-pro/voice/voice-engine.d.ts +36 -0
  333. package/esm/plugins/ai-assistant-pro/voice/voice-engine.js +0 -0
  334. package/esm/plugins/ai-assistant-pro/voice/voice-input-button.d.ts +85 -0
  335. package/esm/plugins/ai-assistant-pro/voice/voice-input-button.js +1 -0
  336. package/esm/plugins/ai-assistant-pro/voice/voice-transcriber.d.ts +55 -0
  337. package/esm/plugins/ai-assistant-pro/voice/voice-transcriber.js +1 -0
  338. package/esm/plugins/all.d.ts +1 -1
  339. package/esm/plugins/all.js +1 -1
  340. package/esm/plugins/autocomplete/autocomplete.d.ts +2 -26
  341. package/esm/plugins/autocomplete/autocomplete.impl.d.ts +31 -0
  342. package/esm/plugins/autocomplete/autocomplete.impl.js +1 -0
  343. package/esm/plugins/autocomplete/autocomplete.js +1 -1
  344. package/esm/plugins/index.d.ts +1 -1
  345. package/esm/plugins/index.js +1 -1
  346. package/esm/plugins/page-break/page-break.js +1 -1
  347. package/esm/plugins/paste-code/config.d.ts +6 -1
  348. package/esm/plugins/paste-code/config.js +1 -1
  349. package/esm/plugins/paste-code/helpers.d.ts +25 -0
  350. package/esm/plugins/paste-code/helpers.js +1 -0
  351. package/esm/plugins/paste-code/paste-code.d.ts +9 -0
  352. package/esm/plugins/paste-code/paste-code.js +1 -1
  353. package/esm/plugins/paste-code/ui/code-tuner/code-tuner.d.ts +87 -0
  354. package/esm/plugins/paste-code/ui/code-tuner/code-tuner.js +3 -0
  355. package/esm/plugins/paste-code/ui/code-tuner/drag.svg.js +1 -0
  356. package/esm/plugins/todo-list/todo-list.js +1 -1
  357. package/package.json +1 -1
  358. package/types/config.d.ts +6 -1
  359. package/types/plugins/ai-assistant-pro/interface/options.d.ts +35 -0
  360. package/types/plugins/ai-assistant-pro/ui/input-area/input-area.d.ts +20 -0
  361. package/types/plugins/ai-assistant-pro/voice/microphone-streamer.d.ts +26 -0
  362. package/types/plugins/ai-assistant-pro/voice/voice-engine.d.ts +36 -0
  363. package/types/plugins/ai-assistant-pro/voice/voice-input-button.d.ts +85 -0
  364. package/types/plugins/ai-assistant-pro/voice/voice-transcriber.d.ts +55 -0
  365. package/types/plugins/autocomplete/autocomplete.d.ts +2 -26
  366. package/types/plugins/autocomplete/autocomplete.impl.d.ts +31 -0
  367. package/types/plugins/index.d.ts +1 -1
  368. package/types/plugins/paste-code/config.d.ts +6 -1
  369. package/types/plugins/paste-code/helpers.d.ts +25 -0
  370. package/types/plugins/paste-code/paste-code.d.ts +9 -0
  371. package/types/plugins/paste-code/ui/code-tuner/code-tuner.d.ts +87 -0
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * jodit-pro - PRO Version of Jodit Editor
3
3
  * Author: Chupurnov Valerii <chupurnov@gmail.com>
4
- * Version: v4.12.27
4
+ * Version: v4.12.33
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -29,10 +29,12 @@ module.exports = "<svg viewBox=\"0 0 24 24\" xml:space=\"preserve\" xmlns=\"http
29
29
  /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
30
30
 
31
31
  "use strict";
32
- /* harmony import */ var _icon_svg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75689);
33
- /* harmony import */ var _icon_svg__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_icon_svg__WEBPACK_IMPORTED_MODULE_0__);
34
- /* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6441);
35
- /* harmony import */ var jodit_esm_core_helpers_html_htmlspecialchars__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(53326);
32
+ /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(35960);
33
+ /* harmony import */ var _icon_svg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(75689);
34
+ /* harmony import */ var _icon_svg__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_icon_svg__WEBPACK_IMPORTED_MODULE_1__);
35
+ /* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6441);
36
+ /* harmony import */ var jodit_esm_core_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(22732);
37
+ /* harmony import */ var jodit_esm_core_helpers_html_htmlspecialchars__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(53326);
36
38
  /*!
37
39
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
38
40
  * See LICENSE.md in the project root for license information.
@@ -40,12 +42,44 @@ module.exports = "<svg viewBox=\"0 0 24 24\" xml:space=\"preserve\" xmlns=\"http
40
42
  */
41
43
 
42
44
 
43
- jodit_esm_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.pasteCode = {
44
- icon: (_icon_svg__WEBPACK_IMPORTED_MODULE_0___default()),
45
+
46
+
47
+ jodit_esm_config__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.pasteCode = {
48
+ icon: (_icon_svg__WEBPACK_IMPORTED_MODULE_1___default()),
45
49
  tooltip: 'Paste code',
46
50
  command: 'pasteCode'
47
51
  };
48
- jodit_esm_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.pasteCode = {
52
+ /**
53
+ * Buttons of the contextual popup shown for a `<pre>` code block.
54
+ * The language dropdown is always prepended by the plugin.
55
+ */ jodit_esm_config__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.codeBlock = {
56
+ edit: {
57
+ icon: 'pencil',
58
+ tooltip: 'Edit code',
59
+ exec: (jodit, target)=>{
60
+ jodit.e.fire('editPreInPasteCode', target);
61
+ }
62
+ },
63
+ copy: {
64
+ icon: 'copy',
65
+ tooltip: 'Copy code',
66
+ exec: (jodit, target)=>{
67
+ if (jodit_esm_core_dom__WEBPACK_IMPORTED_MODULE_3__.Dom.isTag(target, 'pre')) {
68
+ (0,_helpers__WEBPACK_IMPORTED_MODULE_0__.copyCodeToClipboard)(jodit, target);
69
+ }
70
+ }
71
+ },
72
+ remove: {
73
+ icon: 'bin',
74
+ tooltip: 'Delete',
75
+ exec: (jodit, target)=>{
76
+ jodit_esm_core_dom__WEBPACK_IMPORTED_MODULE_3__.Dom.safeRemove(target);
77
+ jodit.e.fire('synchro');
78
+ jodit.e.fire('hideCodeTuner.pasteCode');
79
+ }
80
+ }
81
+ };
82
+ jodit_esm_config__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.pasteCode = {
49
83
  globalHighlightLib: false,
50
84
  canonicalLanguageCode (lang) {
51
85
  switch(lang){
@@ -66,7 +100,7 @@ jodit_esm_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.pasteCode = {
66
100
  window.Prism.manual = true;
67
101
  },
68
102
  highlight (code, language) {
69
- return typeof Prism !== 'undefined' ? Prism.highlight(code, Prism.languages[language] || Prism.languages.plain, language) : (0,jodit_esm_core_helpers_html_htmlspecialchars__WEBPACK_IMPORTED_MODULE_2__.htmlspecialchars)(code);
103
+ return typeof Prism !== 'undefined' ? Prism.highlight(code, Prism.languages[language] || Prism.languages.plain, language) : (0,jodit_esm_core_helpers_html_htmlspecialchars__WEBPACK_IMPORTED_MODULE_4__.htmlspecialchars)(code);
70
104
  },
71
105
  isLangLoaded (lang) {
72
106
  if (lang === 'html') {
@@ -84,7 +118,13 @@ jodit_esm_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.pasteCode = {
84
118
  ]
85
119
  },
86
120
  defaultLanguage: 'html',
87
- insertTemplate: (jodit, language, value)=>`<pre class="language-${language}">${(0,jodit_esm_core_helpers_html_htmlspecialchars__WEBPACK_IMPORTED_MODULE_2__.htmlspecialchars)(value)}</pre>`,
121
+ insertTemplate: (jodit, language, value)=>`<pre class="language-${language}">${(0,jodit_esm_core_helpers_html_htmlspecialchars__WEBPACK_IMPORTED_MODULE_4__.htmlspecialchars)(value)}</pre>`,
122
+ popup: [
123
+ 'codeBlock.edit',
124
+ 'codeBlock.copy',
125
+ '|',
126
+ 'codeBlock.remove'
127
+ ],
88
128
  languages: [
89
129
  {
90
130
  value: 'plaintext',
@@ -194,6 +234,102 @@ jodit_esm_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.pasteCode = {
194
234
  };
195
235
 
196
236
 
237
+ /***/ }),
238
+
239
+ /***/ 35960:
240
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
241
+
242
+ "use strict";
243
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
244
+ /* harmony export */ copyCodeToClipboard: function() { return /* binding */ copyCodeToClipboard; },
245
+ /* harmony export */ languageTitle: function() { return /* binding */ languageTitle; },
246
+ /* harmony export */ parseLanguage: function() { return /* binding */ parseLanguage; },
247
+ /* harmony export */ setPreLanguage: function() { return /* binding */ setPreLanguage; }
248
+ /* harmony export */ });
249
+ /* harmony import */ var jodit_esm_core_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22732);
250
+ /*!
251
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
252
+ * See LICENSE.md in the project root for license information.
253
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
254
+ */
255
+ /**
256
+ * Returns the inner `<code>` element of a `<pre>` when the pre wraps a single
257
+ * code element, otherwise the pre itself. The language class lives on whichever
258
+ * is returned.
259
+ */ function codeContainer(pre) {
260
+ if (pre.firstElementChild === pre.lastElementChild && jodit_esm_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isTag(pre.firstElementChild, 'code')) {
261
+ return pre.firstElementChild;
262
+ }
263
+ return pre;
264
+ }
265
+ /**
266
+ * Reads the canonical language code of a `<pre>` block from its `language-*`
267
+ * class (checked on the pre and on the inner `<code>` element).
268
+ */ function parseLanguage(jodit, pre) {
269
+ let language = null;
270
+ const getLang = (el)=>el.classList.forEach((className)=>{
271
+ const match = /^language-(.+)/.exec(className);
272
+ if (match && match[1]) {
273
+ language = match[1];
274
+ }
275
+ });
276
+ getLang(pre);
277
+ const code = codeContainer(pre);
278
+ if (language == null && code !== pre) {
279
+ getLang(code);
280
+ }
281
+ return jodit.o.pasteCode.canonicalLanguageCode(language || 'html');
282
+ }
283
+ /**
284
+ * Human readable title of a language code, taken from `pasteCode.languages`.
285
+ */ function languageTitle(jodit, lang) {
286
+ const option = jodit.o.pasteCode.languages.find((item)=>String(item.value) === lang);
287
+ return jodit.i18n(String(option ? option.text : lang));
288
+ }
289
+ /**
290
+ * Replaces the `language-*` class on a `<pre>` block (and its inner `<code>`)
291
+ * and asks the paste-code plugin to re-highlight it.
292
+ */ function setPreLanguage(jodit, pre, lang) {
293
+ const strip = (el)=>Array.from(el.classList).forEach((className)=>{
294
+ if (/^language-/.test(className)) {
295
+ el.classList.remove(className);
296
+ }
297
+ });
298
+ strip(pre);
299
+ const code = codeContainer(pre);
300
+ if (code !== pre) {
301
+ strip(code);
302
+ }
303
+ code.classList.add(`language-${lang}`);
304
+ jodit.e.fire('rehighlightPasteCode', pre);
305
+ jodit.e.fire('synchro');
306
+ }
307
+ /**
308
+ * Copies the raw text of a code block to the clipboard and fires
309
+ * `afterCopyCode.pasteCode` with the copied text.
310
+ */ function copyCodeToClipboard(jodit, pre) {
311
+ const text = pre.innerText;
312
+ const { navigator } = jodit.ow;
313
+ if (navigator && navigator.clipboard && navigator.clipboard.writeText) {
314
+ navigator.clipboard.writeText(text).catch(()=>null);
315
+ } else {
316
+ const textarea = jodit.create.element('textarea');
317
+ textarea.value = text;
318
+ textarea.style.position = 'fixed';
319
+ textarea.style.opacity = '0';
320
+ jodit.od.body.appendChild(textarea);
321
+ textarea.select();
322
+ try {
323
+ jodit.od.execCommand('copy');
324
+ } catch {
325
+ // ignore – clipboard not available
326
+ }
327
+ jodit_esm_core_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.safeRemove(textarea);
328
+ }
329
+ jodit.e.fire('afterCopyCode.pasteCode', text);
330
+ }
331
+
332
+
197
333
  /***/ }),
198
334
 
199
335
  /***/ 41406:
@@ -207,15 +343,17 @@ __webpack_require__.r(__webpack_exports__);
207
343
  /* harmony import */ var _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82749);
208
344
  /* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(31635);
209
345
  /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(83967);
210
- /* harmony import */ var jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82758);
211
- /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(65478);
212
- /* harmony import */ var jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(21537);
213
- /* harmony import */ var jodit_esm_core_helpers_checker_is_boolean__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(87612);
214
- /* harmony import */ var jodit_esm_core_helpers_html_htmlspecialchars__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(53326);
215
- /* harmony import */ var jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(50911);
216
- /* harmony import */ var jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(67510);
217
- /* harmony import */ var jodit_esm_modules__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(41409);
218
- /* harmony import */ var jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(2692);
346
+ /* harmony import */ var _ui_code_tuner_code_tuner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(24397);
347
+ /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35960);
348
+ /* harmony import */ var jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(82758);
349
+ /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(65478);
350
+ /* harmony import */ var jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(21537);
351
+ /* harmony import */ var jodit_esm_core_helpers_checker_is_boolean__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(87612);
352
+ /* harmony import */ var jodit_esm_core_helpers_html_htmlspecialchars__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(53326);
353
+ /* harmony import */ var jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(50911);
354
+ /* harmony import */ var jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(67510);
355
+ /* harmony import */ var jodit_esm_modules__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(41409);
356
+ /* harmony import */ var jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(2692);
219
357
  /*!
220
358
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
221
359
  * See LICENSE.md in the project root for license information.
@@ -233,18 +371,21 @@ __webpack_require__.r(__webpack_exports__);
233
371
 
234
372
 
235
373
 
236
- class pasteCode extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__.Plugin {
374
+
375
+
376
+ class pasteCode extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_10__.Plugin {
237
377
  className() {
238
378
  return 'pasteCode';
239
379
  }
240
380
  /** @override */ afterInit(jodit) {
241
381
  jodit.registerCommand('pasteCode', ()=>this.__openCodeEditDialog());
382
+ this.__codeTuner = new _ui_code_tuner_code_tuner__WEBPACK_IMPORTED_MODULE_3__.UICodeTuner(jodit);
242
383
  jodit.async.requestIdleCallback(()=>this.__initHighlightLibLoading());
243
384
  }
244
385
  __openCodeEditDialog(defLanguage, defValue, pre) {
245
386
  const jodit = this.j;
246
387
  const form = this.__createForm();
247
- const { code, language } = (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_5__.refs)(form.container);
388
+ const { code, language } = (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_7__.refs)(form.container);
248
389
  if (defLanguage) {
249
390
  language.value = defLanguage;
250
391
  }
@@ -260,11 +401,11 @@ class pasteCode extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__.Plugi
260
401
  jodit.s.restore();
261
402
  const newPre = jodit.createInside.fromHTML(jodit.o.pasteCode.insertTemplate(jodit, language.value, code.value));
262
403
  if (pre) {
263
- jodit_esm_modules__WEBPACK_IMPORTED_MODULE_10__.Dom.replace(pre, newPre, jodit.createInside, false, true);
404
+ jodit_esm_modules__WEBPACK_IMPORTED_MODULE_12__.Dom.replace(pre, newPre, jodit.createInside, false, true);
264
405
  } else {
265
406
  const current = jodit.s.current();
266
- const block = jodit_esm_modules__WEBPACK_IMPORTED_MODULE_10__.Dom.up(current, jodit_esm_modules__WEBPACK_IMPORTED_MODULE_10__.Dom.isBlock, jodit.editor);
267
- block && !jodit_esm_modules__WEBPACK_IMPORTED_MODULE_10__.Dom.isCell(block) ? jodit_esm_modules__WEBPACK_IMPORTED_MODULE_10__.Dom.after(block, newPre) : jodit.s.insertNode(newPre);
407
+ const block = jodit_esm_modules__WEBPACK_IMPORTED_MODULE_12__.Dom.up(current, jodit_esm_modules__WEBPACK_IMPORTED_MODULE_12__.Dom.isBlock, jodit.editor);
408
+ block && !jodit_esm_modules__WEBPACK_IMPORTED_MODULE_12__.Dom.isCell(block) ? jodit_esm_modules__WEBPACK_IMPORTED_MODULE_12__.Dom.after(block, newPre) : jodit.s.insertNode(newPre);
268
409
  }
269
410
  this.__imdOnChange();
270
411
  return;
@@ -275,18 +416,29 @@ class pasteCode extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__.Plugi
275
416
  });
276
417
  dialog.setContent(form.container).open(true);
277
418
  }
278
- /** @override */ beforeDestruct(jodit) {}
419
+ /** @override */ beforeDestruct(jodit) {
420
+ this.__codeTuner?.destruct();
421
+ }
422
+ /**
423
+ * Re-highlights a code block, e.g. after its language was changed from the
424
+ * contextual popup.
425
+ */ onRehighlightPasteCode(pre) {
426
+ if (jodit_esm_modules__WEBPACK_IMPORTED_MODULE_12__.Dom.isTag(pre, 'pre')) {
427
+ (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_7__.attr)(pre, 'contenteditable', false);
428
+ this.__highlightCode(pre).catch(()=>null);
429
+ }
430
+ }
279
431
  __createForm() {
280
432
  const { jodit } = this;
281
- return new jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_9__.UIForm(jodit, [
282
- new jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_9__.UISelect(jodit, {
433
+ return new jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_11__.UIForm(jodit, [
434
+ new jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_11__.UISelect(jodit, {
283
435
  name: 'language',
284
436
  label: 'Language',
285
437
  value: jodit.o.pasteCode.defaultLanguage,
286
438
  options: jodit.o.pasteCode.languages,
287
439
  required: true
288
440
  }),
289
- new jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_9__.UITextArea(jodit, {
441
+ new jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_11__.UITextArea(jodit, {
290
442
  label: 'Code view',
291
443
  resizable: false,
292
444
  name: 'code',
@@ -298,15 +450,15 @@ class pasteCode extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__.Plugi
298
450
  });
299
451
  }
300
452
  __createDialog(onSave, onCancel) {
301
- const dialog = new jodit_esm_modules__WEBPACK_IMPORTED_MODULE_10__.Dialog({
453
+ const dialog = new jodit_esm_modules__WEBPACK_IMPORTED_MODULE_12__.Dialog({
302
454
  language: this.j.o.language
303
455
  });
304
456
  dialog.setHeader('Insert/Edit Code Sample').setSize(this.j.o.pasteCode.dialog.width, this.j.o.pasteCode.dialog.height).setFooter([
305
- (0,jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_9__.Button)(dialog, '', 'Cancel', 'default').onAction(()=>{
457
+ (0,jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_11__.Button)(dialog, '', 'Cancel', 'default').onAction(()=>{
306
458
  dialog.close();
307
459
  onCancel();
308
460
  }),
309
- (0,jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_9__.Button)(dialog, 'save', 'Save', 'primary').onAction(()=>{
461
+ (0,jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_11__.Button)(dialog, 'save', 'Save', 'primary').onAction(()=>{
310
462
  dialog.close();
311
463
  onSave();
312
464
  })
@@ -317,9 +469,9 @@ class pasteCode extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__.Plugi
317
469
  this.__imdOnChange();
318
470
  }
319
471
  __imdOnChange() {
320
- (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_5__.$$)('pre', this.j.editor).forEach((pre)=>{
321
- if (!(0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_5__.attr)(pre, 'contenteditable')) {
322
- (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_5__.attr)(pre, 'contenteditable', false);
472
+ (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_7__.$$)('pre', this.j.editor).forEach((pre)=>{
473
+ if (!(0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_7__.attr)(pre, 'contenteditable')) {
474
+ (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_7__.attr)(pre, 'contenteditable', false);
323
475
  this.__highlightCode(pre).catch(()=>null);
324
476
  }
325
477
  });
@@ -328,37 +480,24 @@ class pasteCode extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__.Plugi
328
480
  const language = this.__parseLanguage(pre);
329
481
  const { highlight } = await this.__initHighlightLibLoading(language);
330
482
  let container = pre;
331
- if (pre.firstElementChild === pre.lastElementChild && jodit_esm_modules__WEBPACK_IMPORTED_MODULE_10__.Dom.isTag(pre.firstElementChild, 'code')) {
483
+ if (pre.firstElementChild === pre.lastElementChild && jodit_esm_modules__WEBPACK_IMPORTED_MODULE_12__.Dom.isTag(pre.firstElementChild, 'code')) {
332
484
  container = pre.firstElementChild;
333
485
  }
334
486
  container.innerHTML = highlight(container.innerText, language);
335
487
  }
336
488
  onPreEdit(e) {
337
- const pre = jodit_esm_modules__WEBPACK_IMPORTED_MODULE_10__.Dom.isNode(e) && jodit_esm_modules__WEBPACK_IMPORTED_MODULE_10__.Dom.isTag(e, 'pre') ? e : jodit_esm_modules__WEBPACK_IMPORTED_MODULE_10__.Dom.closest(e.target, 'pre', this.j.editor);
489
+ const pre = jodit_esm_modules__WEBPACK_IMPORTED_MODULE_12__.Dom.isNode(e) && jodit_esm_modules__WEBPACK_IMPORTED_MODULE_12__.Dom.isTag(e, 'pre') ? e : jodit_esm_modules__WEBPACK_IMPORTED_MODULE_12__.Dom.closest(e.target, 'pre', this.j.editor);
338
490
  if (pre) {
339
491
  const language = this.__parseLanguage(pre);
340
492
  this.__openCodeEditDialog(language, pre.innerText, pre);
341
493
  }
342
494
  }
343
495
  __parseLanguage(pre) {
344
- let language = null;
345
- const getLang = (code)=>code.classList.forEach((className)=>{
346
- if (/language-/.test(className)) {
347
- const lng = /language-(.*)/.exec(className);
348
- if (lng && lng[1]) {
349
- language = lng[1];
350
- }
351
- }
352
- });
353
- getLang(pre);
354
- if (language == null && pre.firstElementChild === pre.lastElementChild && jodit_esm_modules__WEBPACK_IMPORTED_MODULE_10__.Dom.isTag(pre.firstElementChild, 'code')) {
355
- getLang(pre.firstElementChild);
356
- }
357
- return this.jodit.o.pasteCode.canonicalLanguageCode(language || 'html');
496
+ return (0,_helpers__WEBPACK_IMPORTED_MODULE_4__.parseLanguage)(this.jodit, pre);
358
497
  }
359
498
  onAfterGetValueFromEditor(data) {
360
499
  const strip = (_, pre, _1, endPreStart, content, endPre)=>{
361
- return `${pre.trim()}${endPreStart}${(0,jodit_esm_core_helpers_html_htmlspecialchars__WEBPACK_IMPORTED_MODULE_7__.htmlspecialchars)((0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_5__.stripTags)(content, this.j.ed, new Set([
500
+ return `${pre.trim()}${endPreStart}${(0,jodit_esm_core_helpers_html_htmlspecialchars__WEBPACK_IMPORTED_MODULE_9__.htmlspecialchars)((0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_7__.stripTags)(content, this.j.ed, new Set([
362
501
  'br'
363
502
  ])))}${endPre}`;
364
503
  };
@@ -374,24 +513,26 @@ class pasteCode extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__.Plugi
374
513
  name: 'pasteCode',
375
514
  group: 'clipboard'
376
515
  }
377
- ]), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "__highlightLibJSIsLoaded", false), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "__loadLanguage", new Map()), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "__initHighlightLibLoading", async (language)=>{
516
+ ]), /**
517
+ * Contextual UI (drag anchor + popup toolbar) for existing code blocks
518
+ */ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "__codeTuner", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "__highlightLibJSIsLoaded", false), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "__loadLanguage", new Map()), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "__initHighlightLibLoading", async (language)=>{
378
519
  const { globalHighlightLib, highlightLib: { css, js, langUrl, highlight, isLangLoaded, beforeLibLoad, afterLibLoad } } = this.j.o.pasteCode;
379
520
  if (!this.__highlightLibJSIsLoaded && !globalHighlightLib) {
380
521
  this.__highlightLibJSIsLoaded = Promise.resolve(beforeLibLoad?.()).then(()=>waitingPromise(this.async, Promise.allSettled([
381
- (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_5__.loadNextStyle)(this.jodit, css).catch(()=>null),
382
- (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_5__.loadNext)(this.jodit, js).catch(()=>null)
522
+ (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_7__.loadNextStyle)(this.jodit, css).catch(()=>null),
523
+ (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_7__.loadNext)(this.jodit, js).catch(()=>null)
383
524
  ]))).then(()=>afterLibLoad?.());
384
525
  }
385
- if (!(0,jodit_esm_core_helpers_checker_is_boolean__WEBPACK_IMPORTED_MODULE_6__.isBoolean)(this.__highlightLibJSIsLoaded)) {
526
+ if (!(0,jodit_esm_core_helpers_checker_is_boolean__WEBPACK_IMPORTED_MODULE_8__.isBoolean)(this.__highlightLibJSIsLoaded)) {
386
527
  await this.__highlightLibJSIsLoaded;
387
528
  }
388
529
  if (language && !isLangLoaded(language) && !globalHighlightLib) {
389
530
  if (!this.__loadLanguage.has(language)) {
390
- if (!jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_3__.IS_PROD) {
531
+ if (!jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_5__.IS_PROD) {
391
532
  // eslint-disable-next-line no-console
392
533
  console.log('Load language', language, 'for paste-code');
393
534
  }
394
- this.__loadLanguage.set(language, waitingPromise(this.async, (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_5__.appendScriptAsync)(this.jodit, langUrl(language)).catch(()=>null)));
535
+ this.__loadLanguage.set(language, waitingPromise(this.async, (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_7__.appendScriptAsync)(this.jodit, langUrl(language)).catch(()=>null)));
395
536
  }
396
537
  await this.__loadLanguage.get(language);
397
538
  }
@@ -405,33 +546,316 @@ class pasteCode extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_8__.Plugi
405
546
  'license'
406
547
  ]);
407
548
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
408
- jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind
549
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_6__.autobind
409
550
  ], pasteCode.prototype, "__openCodeEditDialog", null);
410
551
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
411
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)([
552
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_6__.watch)('?:rehighlightPasteCode')
553
+ ], pasteCode.prototype, "onRehighlightPasteCode", null);
554
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
555
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_6__.watch)([
412
556
  '?:change',
413
557
  '?:afterInit'
414
558
  ]),
415
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_4__.debounce)()
559
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_6__.debounce)()
416
560
  ], pasteCode.prototype, "__onChange", null);
417
561
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
418
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)([
562
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_6__.watch)([
419
563
  '?:dblclick',
420
564
  '?:editPreInPasteCode'
421
565
  ])
422
566
  ], pasteCode.prototype, "onPreEdit", null);
423
567
  (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
424
- (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)('?:afterGetValueFromEditor')
568
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_6__.watch)('?:afterGetValueFromEditor')
425
569
  ], pasteCode.prototype, "onAfterGetValueFromEditor", null);
426
570
  pasteCode = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
427
- jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_4__.component
571
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_6__.component
428
572
  ], pasteCode);
429
573
  function waitingPromise(async, promise) {
430
574
  return async.promise((resolve, reject)=>{
431
575
  promise.then(resolve).catch(reject);
432
576
  }).catch(()=>null);
433
577
  }
434
- jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_11__.JoditPro.plugins.add('paste-code', pasteCode);
578
+ jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_13__.JoditPro.plugins.add('paste-code', pasteCode);
579
+
580
+
581
+ /***/ }),
582
+
583
+ /***/ 24397:
584
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
585
+
586
+ "use strict";
587
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
588
+ /* harmony export */ UICodeTuner: function() { return /* binding */ UICodeTuner; }
589
+ /* harmony export */ });
590
+ /* harmony import */ var _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82749);
591
+ /* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(31635);
592
+ /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(35960);
593
+ /* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65478);
594
+ /* harmony import */ var jodit_esm_core_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(22732);
595
+ /* harmony import */ var jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(21537);
596
+ /* harmony import */ var jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(67510);
597
+ /* harmony import */ var jodit_esm_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(21491);
598
+ /*!
599
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
600
+ * See LICENSE.md in the project root for license information.
601
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
602
+ */
603
+
604
+
605
+
606
+
607
+
608
+
609
+
610
+
611
+ const ANCHOR_WIDTH = 16;
612
+ const ANCHOR_GAP = 6;
613
+ class UICodeTuner extends jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_6__.UIElement {
614
+ className() {
615
+ return 'UICodeTuner';
616
+ }
617
+ render() {
618
+ return `<div>
619
+ <div class="&__anchor" title="~Drag to move the code block~"></div>
620
+ </div>`;
621
+ }
622
+ /**
623
+ * Handler: hovering a code block shows the drag anchor next to it.
624
+ */ onEditorMouseMove(e) {
625
+ const block = jodit_esm_core_dom__WEBPACK_IMPORTED_MODULE_4__.Dom.closest(e.target, 'pre', this.j.editor);
626
+ if (block) {
627
+ this.__cancelHide();
628
+ this.show(block);
629
+ }
630
+ // Hiding is driven by `__onPointerMove` (the block + gutter hot zone).
631
+ }
632
+ /**
633
+ * Handler: clicking a code block opens its popup toolbar; clicking anywhere
634
+ * else in the editor closes the tuner.
635
+ */ onEditorClick(e) {
636
+ const block = jodit_esm_core_dom__WEBPACK_IMPORTED_MODULE_4__.Dom.closest(e.target, 'pre', this.j.editor);
637
+ if (block) {
638
+ this.__cancelHide();
639
+ this.show(block);
640
+ this.openToolbar();
641
+ } else {
642
+ this.forceHide();
643
+ }
644
+ }
645
+ /**
646
+ * Shows the anchor for the given code block.
647
+ */ show(block) {
648
+ this.currentBlock = block;
649
+ if (!this.isShown) {
650
+ this.isShown = true;
651
+ if (this.container.parentNode == null) {
652
+ this.j.od.body.appendChild(this.container);
653
+ }
654
+ // Track the pointer globally so the anchor stays visible while the
655
+ // cursor travels across the gutter from the block to the grip, and
656
+ // hides only once it leaves the whole block + gutter region.
657
+ this.j.e.on(this.j.ow, 'mousemove', this.__onPointerMove);
658
+ // The anchor is `position: fixed`, so it must follow the block on
659
+ // page/editor scroll and window resize.
660
+ this.j.e.on(this.j.ow, 'scroll resize', this.__onReposition).on(this.j.editor, 'scroll', this.__onReposition);
661
+ }
662
+ this.calcPosition();
663
+ }
664
+ /**
665
+ * Soft hide — keeps the UI while the popup toolbar is open.
666
+ */ hide() {
667
+ if (this.popup.isOpened) {
668
+ return;
669
+ }
670
+ this.forceHide();
671
+ }
672
+ /**
673
+ * Handler: a click outside the editor closes the tuner — unless it landed on
674
+ * the anchor/grip itself (which lives in the document body, so Jodit reports
675
+ * it as an "outside" click).
676
+ */ onOutsideClick(e) {
677
+ if (e && jodit_esm_core_dom__WEBPACK_IMPORTED_MODULE_4__.Dom.isOrContains(this.container, e.target)) {
678
+ return;
679
+ }
680
+ this.forceHide();
681
+ }
682
+ /**
683
+ * Hard hide — closes the popup and removes the anchor.
684
+ */ forceHide() {
685
+ this.__cancelHide();
686
+ if (!this.isShown) {
687
+ return;
688
+ }
689
+ this.isShown = false;
690
+ this.j.e.off(this.j.ow, 'mousemove', this.__onPointerMove).off(this.j.ow, 'scroll resize', this.__onReposition).off(this.j.editor, 'scroll', this.__onReposition);
691
+ this.popup.close();
692
+ jodit_esm_core_dom__WEBPACK_IMPORTED_MODULE_4__.Dom.safeRemove(this.container);
693
+ }
694
+ /**
695
+ * Global pointer tracking: keep the tuner shown while the pointer is within
696
+ * the block + left gutter + grip region (one continuous hot zone, so there
697
+ * is no seam between the block and the anchor), and hide it shortly after
698
+ * the pointer leaves that region.
699
+ */ __onPointerMove(e) {
700
+ if (!this.isShown || this.popup.isOpened) {
701
+ return;
702
+ }
703
+ if (this.__inActiveZone(e.clientX, e.clientY)) {
704
+ this.__cancelHide();
705
+ } else {
706
+ this.__scheduleHide();
707
+ }
708
+ }
709
+ __inActiveZone(x, y) {
710
+ const b = (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_5__.position)(this.currentBlock, this.j);
711
+ return x >= b.left - ANCHOR_WIDTH - ANCHOR_GAP - 6 && x <= b.left + b.width && y >= b.top - 6 && y <= b.top + b.height + 6;
712
+ }
713
+ __scheduleHide() {
714
+ // Idempotent: a continuous stream of mousemove events must not keep
715
+ // resetting the timer, otherwise the anchor would never hide while the
716
+ // pointer is moving over non-code areas.
717
+ if (this.__hideTimer) {
718
+ return;
719
+ }
720
+ this.__hideTimer = this.j.async.setTimeout(()=>{
721
+ this.__hideTimer = 0;
722
+ this.hide();
723
+ }, 150);
724
+ }
725
+ __cancelHide() {
726
+ if (this.__hideTimer) {
727
+ this.j.async.clearTimeout(this.__hideTimer);
728
+ this.__hideTimer = 0;
729
+ }
730
+ }
731
+ /**
732
+ * Recalculates the anchor and popup position. Bound to everything that can
733
+ * move the code block: editor/page scroll, resize and content changes.
734
+ */ __onReposition() {
735
+ if (!this.isShown) {
736
+ return;
737
+ }
738
+ // The block may have been removed/replaced by an edit.
739
+ if (!this.j.editor.contains(this.currentBlock)) {
740
+ this.forceHide();
741
+ return;
742
+ }
743
+ this.calcPosition();
744
+ }
745
+ onEditorChange() {
746
+ this.__onReposition();
747
+ }
748
+ /**
749
+ * Places the anchor in the gutter to the left of the code block.
750
+ */ calcPosition() {
751
+ const box = (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_5__.position)(this.currentBlock, this.j);
752
+ (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_5__.css)(this.container, {
753
+ left: Math.round(box.left - ANCHOR_WIDTH - ANCHOR_GAP),
754
+ top: Math.round(box.top + 4)
755
+ });
756
+ if (this.popup.isOpened) {
757
+ this.popup.updatePosition();
758
+ }
759
+ }
760
+ /**
761
+ * Builds and shows the popup toolbar below the code block.
762
+ */ openToolbar() {
763
+ this.toolbar.build([
764
+ this.__languageControl(),
765
+ ...this.j.o.pasteCode.popup
766
+ ], this.currentBlock);
767
+ this.popup.setContent(this.toolbar.container);
768
+ if (this.popup.isOpened) {
769
+ this.popup.updatePosition();
770
+ } else {
771
+ this.popup.open(()=>(0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_5__.position)(this.currentBlock, this.j));
772
+ }
773
+ }
774
+ /**
775
+ * The language dropdown control. Its list is built from
776
+ * `pasteCode.languages` so it always reflects the editor configuration.
777
+ */ __languageControl() {
778
+ const languages = {};
779
+ this.j.o.pasteCode.languages.forEach((option)=>{
780
+ languages[String(option.value)] = String(option.text);
781
+ });
782
+ return {
783
+ name: 'language',
784
+ list: languages,
785
+ tooltip: 'Language',
786
+ // Render the current language straight away so the button does not
787
+ // flash from its name to the value and jitter the popup width.
788
+ text: (0,_helpers__WEBPACK_IMPORTED_MODULE_2__.languageTitle)(this.j, (0,_helpers__WEBPACK_IMPORTED_MODULE_2__.parseLanguage)(this.j, this.currentBlock)),
789
+ childTemplate: (_jodit, _key, value)=>this.j.i18n(value),
790
+ update: (_jodit, button)=>{
791
+ const pre = button.target;
792
+ if (jodit_esm_core_dom__WEBPACK_IMPORTED_MODULE_4__.Dom.isTag(pre, 'pre')) {
793
+ button.setState({
794
+ text: (0,_helpers__WEBPACK_IMPORTED_MODULE_2__.languageTitle)(this.j, (0,_helpers__WEBPACK_IMPORTED_MODULE_2__.parseLanguage)(this.j, pre)),
795
+ icon: {
796
+ name: ''
797
+ }
798
+ });
799
+ }
800
+ },
801
+ childExec: (_jodit, target, { control })=>{
802
+ const lang = String(control.args && control.args[0] || 'plaintext');
803
+ if (jodit_esm_core_dom__WEBPACK_IMPORTED_MODULE_4__.Dom.isTag(target, 'pre')) {
804
+ (0,_helpers__WEBPACK_IMPORTED_MODULE_2__.setPreLanguage)(this.j, target, lang);
805
+ this.j.e.fire('hideCodeTuner.pasteCode');
806
+ }
807
+ }
808
+ };
809
+ }
810
+ /**
811
+ * Handler: start dragging the whole block by its anchor. The actual drag is
812
+ * performed by the base `drag-and-drop-element` plugin.
813
+ */ onAnchorMouseDown(e) {
814
+ e.preventDefault();
815
+ // Keep the grip visible while it is being grabbed — the base
816
+ // drag-and-drop plugin takes over the visuals. The grip hides on its own
817
+ // once the pointer leaves the hot zone (see `__onPointerMove`).
818
+ this.popup.close();
819
+ this.j.e.fire('startDragElement', this.currentBlock, e);
820
+ }
821
+ destruct() {
822
+ this.forceHide();
823
+ this.popup.destruct();
824
+ super.destruct();
825
+ }
826
+ constructor(...args){
827
+ super(...args), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "toolbar", (0,jodit_esm_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_7__.makeCollection)(this.j, this)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "popup", new jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_6__.Popup(this.j, false)), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "isShown", false), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "__hideTimer", 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "currentBlock", void 0);
828
+ }
829
+ }
830
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
831
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_3__.watch)('j.editor:mousemove'),
832
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_3__.throttle)(50)
833
+ ], UICodeTuner.prototype, "onEditorMouseMove", null);
834
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
835
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_3__.watch)('j.editor:click')
836
+ ], UICodeTuner.prototype, "onEditorClick", null);
837
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
838
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_3__.watch)(':outsideClick')
839
+ ], UICodeTuner.prototype, "onOutsideClick", null);
840
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
841
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_3__.watch)(':hideCodeTuner.pasteCode')
842
+ ], UICodeTuner.prototype, "forceHide", null);
843
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
844
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_3__.autobind
845
+ ], UICodeTuner.prototype, "__onPointerMove", null);
846
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
847
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_3__.autobind
848
+ ], UICodeTuner.prototype, "__onReposition", null);
849
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
850
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_3__.watch)(':change :resize :afterSetMode'),
851
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_3__.throttle)(10)
852
+ ], UICodeTuner.prototype, "onEditorChange", null);
853
+ (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
854
+ (0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_3__.watch)('anchor:mousedown')
855
+ ], UICodeTuner.prototype, "onAnchorMouseDown", null);
856
+ UICodeTuner = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
857
+ jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_3__.component
858
+ ], UICodeTuner);
435
859
 
436
860
 
437
861
  /***/ })