jodit-pro 4.9.27 → 4.9.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 (338) hide show
  1. package/CHANGELOG.md +50 -1
  2. package/config.js +1 -0
  3. package/es2015/jodit.css +1 -1
  4. package/es2015/jodit.fat.min.css +1 -1
  5. package/es2015/jodit.fat.min.js +15 -15
  6. package/es2015/jodit.js +15 -10
  7. package/es2015/jodit.min.js +5 -5
  8. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  9. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  10. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  11. package/es2015/plugins/autocomplete/autocomplete.js +1 -1
  12. package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
  13. package/es2015/plugins/backup/backup.css +1 -1
  14. package/es2015/plugins/backup/backup.js +1 -1
  15. package/es2015/plugins/backup/backup.min.js +1 -1
  16. package/es2015/plugins/button-generator/button-generator.css +1 -1
  17. package/es2015/plugins/button-generator/button-generator.js +1 -1
  18. package/es2015/plugins/button-generator/button-generator.min.js +1 -1
  19. package/es2015/plugins/change-case/change-case.js +1 -1
  20. package/es2015/plugins/change-case/change-case.min.js +1 -1
  21. package/es2015/plugins/color-picker/color-picker.css +1 -1
  22. package/es2015/plugins/color-picker/color-picker.js +1 -1
  23. package/es2015/plugins/color-picker/color-picker.min.js +1 -1
  24. package/es2015/plugins/emoji/emoji.css +1 -1
  25. package/es2015/plugins/emoji/emoji.js +1 -1
  26. package/es2015/plugins/emoji/emoji.min.js +1 -1
  27. package/es2015/plugins/export-docs/export-docs.js +1 -1
  28. package/es2015/plugins/export-docs/export-docs.min.js +1 -1
  29. package/es2015/plugins/finder/finder.css +1 -1
  30. package/es2015/plugins/finder/finder.js +40 -4
  31. package/es2015/plugins/finder/finder.min.js +4 -4
  32. package/es2015/plugins/google-maps/google-maps.css +1 -1
  33. package/es2015/plugins/google-maps/google-maps.js +1 -1
  34. package/es2015/plugins/google-maps/google-maps.min.js +1 -1
  35. package/es2015/plugins/google-search/google-search.js +1 -1
  36. package/es2015/plugins/google-search/google-search.min.js +1 -1
  37. package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
  38. package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
  39. package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
  40. package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
  41. package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
  42. package/es2015/plugins/keyboard/keyboard.css +1 -1
  43. package/es2015/plugins/keyboard/keyboard.js +1 -1
  44. package/es2015/plugins/keyboard/keyboard.min.js +1 -1
  45. package/es2015/plugins/mobile-view/mobile-view.js +1 -1
  46. package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
  47. package/es2015/plugins/page-break/page-break.js +1 -1
  48. package/es2015/plugins/page-break/page-break.min.js +1 -1
  49. package/es2015/plugins/paste-code/paste-code.css +1 -1
  50. package/es2015/plugins/paste-code/paste-code.js +1 -1
  51. package/es2015/plugins/paste-code/paste-code.min.js +1 -1
  52. package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
  53. package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
  54. package/es2015/plugins/show-blocks/show-blocks.js +1 -1
  55. package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
  56. package/es2015/plugins/style/style.css +1 -1
  57. package/es2015/plugins/style/style.js +37 -21
  58. package/es2015/plugins/style/style.min.js +2 -2
  59. package/es2015/plugins/templates/templates.css +82 -0
  60. package/es2015/plugins/templates/templates.js +178 -0
  61. package/es2015/plugins/templates/templates.min.css +1 -0
  62. package/es2015/plugins/templates/templates.min.js +8 -0
  63. package/es2015/plugins/todo-list/todo-list.css +1 -1
  64. package/es2015/plugins/todo-list/todo-list.js +1 -1
  65. package/es2015/plugins/todo-list/todo-list.min.js +1 -1
  66. package/es2015/plugins/translate/translate.css +1 -1
  67. package/es2015/plugins/translate/translate.js +1 -1
  68. package/es2015/plugins/translate/translate.min.js +1 -1
  69. package/es2015/plugins/tune-block/tune-block.css +1 -1
  70. package/es2015/plugins/tune-block/tune-block.js +1 -1
  71. package/es2015/plugins/tune-block/tune-block.min.js +1 -1
  72. package/es2018/jodit.fat.min.css +1 -1
  73. package/es2018/jodit.fat.min.js +15 -15
  74. package/es2018/jodit.min.js +5 -5
  75. package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  76. package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
  77. package/es2018/plugins/backup/backup.min.js +1 -1
  78. package/es2018/plugins/button-generator/button-generator.min.js +1 -1
  79. package/es2018/plugins/change-case/change-case.min.js +1 -1
  80. package/es2018/plugins/color-picker/color-picker.min.js +1 -1
  81. package/es2018/plugins/emoji/emoji.min.js +1 -1
  82. package/es2018/plugins/export-docs/export-docs.min.js +1 -1
  83. package/es2018/plugins/finder/finder.min.js +3 -3
  84. package/es2018/plugins/google-maps/google-maps.min.js +1 -1
  85. package/es2018/plugins/google-search/google-search.min.js +1 -1
  86. package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
  87. package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
  88. package/es2018/plugins/keyboard/keyboard.min.js +1 -1
  89. package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
  90. package/es2018/plugins/page-break/page-break.min.js +1 -1
  91. package/es2018/plugins/paste-code/paste-code.min.js +1 -1
  92. package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
  93. package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
  94. package/es2018/plugins/style/style.min.js +2 -2
  95. package/es2018/plugins/templates/templates.min.css +1 -0
  96. package/es2018/plugins/templates/templates.min.js +8 -0
  97. package/es2018/plugins/todo-list/todo-list.min.js +1 -1
  98. package/es2018/plugins/translate/translate.min.js +1 -1
  99. package/es2018/plugins/tune-block/tune-block.min.js +1 -1
  100. package/es2021/jodit.css +1 -1
  101. package/es2021/jodit.fat.min.css +1 -1
  102. package/es2021/jodit.fat.min.js +15 -15
  103. package/es2021/jodit.js +15 -10
  104. package/es2021/jodit.min.js +6 -6
  105. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  106. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  107. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  108. package/es2021/plugins/autocomplete/autocomplete.js +1 -1
  109. package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
  110. package/es2021/plugins/backup/backup.css +1 -1
  111. package/es2021/plugins/backup/backup.js +1 -1
  112. package/es2021/plugins/backup/backup.min.js +1 -1
  113. package/es2021/plugins/button-generator/button-generator.css +1 -1
  114. package/es2021/plugins/button-generator/button-generator.js +1 -1
  115. package/es2021/plugins/button-generator/button-generator.min.js +1 -1
  116. package/es2021/plugins/change-case/change-case.js +1 -1
  117. package/es2021/plugins/change-case/change-case.min.js +1 -1
  118. package/es2021/plugins/color-picker/color-picker.css +1 -1
  119. package/es2021/plugins/color-picker/color-picker.js +1 -1
  120. package/es2021/plugins/color-picker/color-picker.min.js +1 -1
  121. package/es2021/plugins/emoji/emoji.css +1 -1
  122. package/es2021/plugins/emoji/emoji.js +1 -1
  123. package/es2021/plugins/emoji/emoji.min.js +1 -1
  124. package/es2021/plugins/export-docs/export-docs.js +1 -1
  125. package/es2021/plugins/export-docs/export-docs.min.js +1 -1
  126. package/es2021/plugins/finder/finder.css +1 -1
  127. package/es2021/plugins/finder/finder.js +40 -4
  128. package/es2021/plugins/finder/finder.min.js +4 -4
  129. package/es2021/plugins/google-maps/google-maps.css +1 -1
  130. package/es2021/plugins/google-maps/google-maps.js +1 -1
  131. package/es2021/plugins/google-maps/google-maps.min.js +1 -1
  132. package/es2021/plugins/google-search/google-search.js +1 -1
  133. package/es2021/plugins/google-search/google-search.min.js +1 -1
  134. package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
  135. package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
  136. package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
  137. package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
  138. package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
  139. package/es2021/plugins/keyboard/keyboard.css +1 -1
  140. package/es2021/plugins/keyboard/keyboard.js +1 -1
  141. package/es2021/plugins/keyboard/keyboard.min.js +1 -1
  142. package/es2021/plugins/mobile-view/mobile-view.js +1 -1
  143. package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
  144. package/es2021/plugins/page-break/page-break.js +1 -1
  145. package/es2021/plugins/page-break/page-break.min.js +1 -1
  146. package/es2021/plugins/paste-code/paste-code.css +1 -1
  147. package/es2021/plugins/paste-code/paste-code.js +1 -1
  148. package/es2021/plugins/paste-code/paste-code.min.js +1 -1
  149. package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
  150. package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
  151. package/es2021/plugins/show-blocks/show-blocks.js +1 -1
  152. package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
  153. package/es2021/plugins/style/style.css +1 -1
  154. package/es2021/plugins/style/style.js +31 -21
  155. package/es2021/plugins/style/style.min.js +2 -2
  156. package/es2021/plugins/templates/templates.css +82 -0
  157. package/es2021/plugins/templates/templates.js +178 -0
  158. package/es2021/plugins/templates/templates.min.css +1 -0
  159. package/es2021/plugins/templates/templates.min.js +8 -0
  160. package/es2021/plugins/todo-list/todo-list.css +1 -1
  161. package/es2021/plugins/todo-list/todo-list.js +1 -1
  162. package/es2021/plugins/todo-list/todo-list.min.js +1 -1
  163. package/es2021/plugins/translate/translate.css +1 -1
  164. package/es2021/plugins/translate/translate.js +1 -1
  165. package/es2021/plugins/translate/translate.min.js +1 -1
  166. package/es2021/plugins/tune-block/tune-block.css +1 -1
  167. package/es2021/plugins/tune-block/tune-block.js +1 -1
  168. package/es2021/plugins/tune-block/tune-block.min.js +1 -1
  169. package/es2021.en/jodit.css +1 -1
  170. package/es2021.en/jodit.fat.min.css +1 -1
  171. package/es2021.en/jodit.fat.min.js +16 -16
  172. package/es2021.en/jodit.js +15 -10
  173. package/es2021.en/jodit.min.js +6 -6
  174. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  175. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  176. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  177. package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
  178. package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
  179. package/es2021.en/plugins/backup/backup.css +1 -1
  180. package/es2021.en/plugins/backup/backup.js +1 -1
  181. package/es2021.en/plugins/backup/backup.min.js +1 -1
  182. package/es2021.en/plugins/button-generator/button-generator.css +1 -1
  183. package/es2021.en/plugins/button-generator/button-generator.js +1 -1
  184. package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
  185. package/es2021.en/plugins/change-case/change-case.js +1 -1
  186. package/es2021.en/plugins/change-case/change-case.min.js +1 -1
  187. package/es2021.en/plugins/color-picker/color-picker.css +1 -1
  188. package/es2021.en/plugins/color-picker/color-picker.js +1 -1
  189. package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
  190. package/es2021.en/plugins/emoji/emoji.css +1 -1
  191. package/es2021.en/plugins/emoji/emoji.js +1 -1
  192. package/es2021.en/plugins/emoji/emoji.min.js +1 -1
  193. package/es2021.en/plugins/export-docs/export-docs.js +1 -1
  194. package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
  195. package/es2021.en/plugins/finder/finder.css +1 -1
  196. package/es2021.en/plugins/finder/finder.js +6 -4
  197. package/es2021.en/plugins/finder/finder.min.js +2 -2
  198. package/es2021.en/plugins/google-maps/google-maps.css +1 -1
  199. package/es2021.en/plugins/google-maps/google-maps.js +1 -1
  200. package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
  201. package/es2021.en/plugins/google-search/google-search.js +1 -1
  202. package/es2021.en/plugins/google-search/google-search.min.js +1 -1
  203. package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
  204. package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
  205. package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
  206. package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
  207. package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
  208. package/es2021.en/plugins/keyboard/keyboard.css +1 -1
  209. package/es2021.en/plugins/keyboard/keyboard.js +1 -1
  210. package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
  211. package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
  212. package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
  213. package/es2021.en/plugins/page-break/page-break.js +1 -1
  214. package/es2021.en/plugins/page-break/page-break.min.js +1 -1
  215. package/es2021.en/plugins/paste-code/paste-code.css +1 -1
  216. package/es2021.en/plugins/paste-code/paste-code.js +1 -1
  217. package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
  218. package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
  219. package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
  220. package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
  221. package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
  222. package/es2021.en/plugins/style/style.css +1 -1
  223. package/es2021.en/plugins/style/style.js +31 -21
  224. package/es2021.en/plugins/style/style.min.js +2 -2
  225. package/es2021.en/plugins/templates/templates.css +82 -0
  226. package/es2021.en/plugins/templates/templates.js +178 -0
  227. package/es2021.en/plugins/templates/templates.min.css +1 -0
  228. package/es2021.en/plugins/templates/templates.min.js +8 -0
  229. package/es2021.en/plugins/todo-list/todo-list.css +1 -1
  230. package/es2021.en/plugins/todo-list/todo-list.js +1 -1
  231. package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
  232. package/es2021.en/plugins/translate/translate.css +1 -1
  233. package/es2021.en/plugins/translate/translate.js +1 -1
  234. package/es2021.en/plugins/translate/translate.min.js +1 -1
  235. package/es2021.en/plugins/tune-block/tune-block.css +1 -1
  236. package/es2021.en/plugins/tune-block/tune-block.js +1 -1
  237. package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
  238. package/es5/jodit.css +2 -2
  239. package/es5/jodit.fat.min.css +1 -1
  240. package/es5/jodit.fat.min.js +2 -2
  241. package/es5/jodit.js +15 -10
  242. package/es5/jodit.min.css +2 -2
  243. package/es5/jodit.min.js +2 -2
  244. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  245. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +1 -1
  246. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +1 -1
  247. package/es5/plugins/autocomplete/autocomplete.js +1 -1
  248. package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
  249. package/es5/plugins/backup/backup.css +1 -1
  250. package/es5/plugins/backup/backup.js +1 -1
  251. package/es5/plugins/backup/backup.min.js +1 -1
  252. package/es5/plugins/button-generator/button-generator.css +1 -1
  253. package/es5/plugins/button-generator/button-generator.js +1 -1
  254. package/es5/plugins/button-generator/button-generator.min.js +1 -1
  255. package/es5/plugins/change-case/change-case.js +1 -1
  256. package/es5/plugins/change-case/change-case.min.js +1 -1
  257. package/es5/plugins/color-picker/color-picker.css +1 -1
  258. package/es5/plugins/color-picker/color-picker.js +1 -1
  259. package/es5/plugins/color-picker/color-picker.min.js +1 -1
  260. package/es5/plugins/emoji/emoji.css +1 -1
  261. package/es5/plugins/emoji/emoji.js +1 -1
  262. package/es5/plugins/emoji/emoji.min.js +1 -1
  263. package/es5/plugins/export-docs/export-docs.js +1 -1
  264. package/es5/plugins/export-docs/export-docs.min.js +1 -1
  265. package/es5/plugins/finder/finder.css +1 -1
  266. package/es5/plugins/finder/finder.js +40 -4
  267. package/es5/plugins/finder/finder.min.js +2 -2
  268. package/es5/plugins/google-maps/google-maps.css +1 -1
  269. package/es5/plugins/google-maps/google-maps.js +1 -1
  270. package/es5/plugins/google-maps/google-maps.min.js +1 -1
  271. package/es5/plugins/google-search/google-search.js +1 -1
  272. package/es5/plugins/google-search/google-search.min.js +1 -1
  273. package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
  274. package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
  275. package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
  276. package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
  277. package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
  278. package/es5/plugins/keyboard/keyboard.css +1 -1
  279. package/es5/plugins/keyboard/keyboard.js +1 -1
  280. package/es5/plugins/keyboard/keyboard.min.js +1 -1
  281. package/es5/plugins/mobile-view/mobile-view.js +1 -1
  282. package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
  283. package/es5/plugins/page-break/page-break.js +1 -1
  284. package/es5/plugins/page-break/page-break.min.js +1 -1
  285. package/es5/plugins/paste-code/paste-code.css +1 -1
  286. package/es5/plugins/paste-code/paste-code.js +1 -1
  287. package/es5/plugins/paste-code/paste-code.min.js +1 -1
  288. package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
  289. package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
  290. package/es5/plugins/show-blocks/show-blocks.js +1 -1
  291. package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
  292. package/es5/plugins/style/style.css +1 -1
  293. package/es5/plugins/style/style.js +37 -21
  294. package/es5/plugins/style/style.min.js +2 -2
  295. package/es5/plugins/templates/templates.css +82 -0
  296. package/es5/plugins/templates/templates.js +220 -0
  297. package/es5/plugins/templates/templates.min.css +1 -0
  298. package/es5/plugins/templates/templates.min.js +8 -0
  299. package/es5/plugins/todo-list/todo-list.css +1 -1
  300. package/es5/plugins/todo-list/todo-list.js +1 -1
  301. package/es5/plugins/todo-list/todo-list.min.js +1 -1
  302. package/es5/plugins/translate/translate.css +1 -1
  303. package/es5/plugins/translate/translate.js +1 -1
  304. package/es5/plugins/translate/translate.min.js +1 -1
  305. package/es5/plugins/tune-block/tune-block.css +1 -1
  306. package/es5/plugins/tune-block/tune-block.js +1 -1
  307. package/es5/plugins/tune-block/tune-block.min.js +1 -1
  308. package/es5/polyfills.fat.min.js +1 -1
  309. package/es5/polyfills.js +1 -1
  310. package/es5/polyfills.min.js +1 -1
  311. package/esm/config.d.ts +6 -0
  312. package/esm/plugins/all.js +1 -1
  313. package/esm/plugins/finder/langs/de.d.ts +22 -0
  314. package/esm/plugins/finder/langs/de.js +1 -0
  315. package/esm/plugins/finder/langs/index.d.ts +2 -1
  316. package/esm/plugins/finder/langs/index.js +1 -1
  317. package/esm/plugins/style/helpers/apply-style.js +1 -1
  318. package/esm/plugins/style/helpers/detect-active-style.js +1 -1
  319. package/esm/plugins/style/interface.d.ts +1 -1
  320. package/esm/plugins/style/ui/style-popup.js +1 -1
  321. package/esm/plugins/templates/config.d.ts +13 -0
  322. package/esm/plugins/templates/config.js +1 -0
  323. package/esm/plugins/templates/icon.svg.js +1 -0
  324. package/esm/plugins/templates/interface.d.ts +11 -0
  325. package/esm/plugins/templates/interface.js +0 -0
  326. package/esm/plugins/templates/templates.d.ts +18 -0
  327. package/esm/plugins/templates/templates.js +1 -0
  328. package/esm/plugins/templates/ui/templates-popup.d.ts +8 -0
  329. package/esm/plugins/templates/ui/templates-popup.js +1 -0
  330. package/package.json +1 -1
  331. package/types/config.d.ts +6 -0
  332. package/types/plugins/finder/langs/de.d.ts +22 -0
  333. package/types/plugins/finder/langs/index.d.ts +2 -1
  334. package/types/plugins/style/interface.d.ts +1 -1
  335. package/types/plugins/templates/config.d.ts +13 -0
  336. package/types/plugins/templates/interface.d.ts +11 -0
  337. package/types/plugins/templates/templates.d.ts +18 -0
  338. package/types/plugins/templates/ui/templates-popup.d.ts +8 -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.9.27
4
+ * Version: v4.9.33
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -52,7 +52,7 @@ function buildStylePopup(editor, definitions, close) {
52
52
  card.className = `${CLASS_NAME}__card` + (isActive ? ` ${CLASS_NAME}__card_active_true` : '');
53
53
  const preview = editor.c.div(`${CLASS_NAME}__card-preview`);
54
54
  const previewEl = editor.c.element(def.element);
55
- for (const cls of def.classes){
55
+ for (const cls of def.classes?.filter(Boolean) ?? []){
56
56
  previewEl.classList.add(cls);
57
57
  }
58
58
  previewEl.textContent = def.name;
@@ -236,7 +236,8 @@ function removeClassesFromElement(el, classes) {
236
236
  }
237
237
  }
238
238
  function cleanupExtraClasses(editor, def) {
239
- if (def.classes.length <= 1) {
239
+ const classes = def.classes?.filter(Boolean);
240
+ if (!classes || classes.length <= 1) {
240
241
  return;
241
242
  }
242
243
  const current = editor.s.current();
@@ -246,12 +247,12 @@ function cleanupExtraClasses(editor, def) {
246
247
  if (jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_1__.IS_BLOCK.test(def.element)) {
247
248
  const block = jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__.Dom.closest(current, jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__.Dom.isBlock, editor.editor);
248
249
  if (block) {
249
- removeClassesFromElement(block, def.classes.slice(1));
250
+ removeClassesFromElement(block, classes.slice(1));
250
251
  }
251
252
  } else {
252
253
  const target = findTarget(editor, def);
253
254
  if (target) {
254
- removeClassesFromElement(target, def.classes.slice(1));
255
+ removeClassesFromElement(target, classes.slice(1));
255
256
  if (target.nodeName.toLowerCase() === 'span' && !target.attributes.length) {
256
257
  jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__.Dom.unwrap(target);
257
258
  }
@@ -259,37 +260,42 @@ function cleanupExtraClasses(editor, def) {
259
260
  }
260
261
  }
261
262
  function addExtraClasses(editor, def) {
262
- if (def.classes.length <= 1) {
263
+ const classes = def.classes?.filter(Boolean);
264
+ if (!classes || classes.length <= 1) {
263
265
  return;
264
266
  }
265
267
  const target = findTarget(editor, def);
266
268
  if (!target) {
267
269
  return;
268
270
  }
269
- for(let i = 1; i < def.classes.length; i++){
270
- target.classList.add(def.classes[i]);
271
+ for(let i = 1; i < classes.length; i++){
272
+ target.classList.add(classes[i]);
271
273
  }
272
274
  }
275
+ function buildCommitStyleOptions(def) {
276
+ const firstClass = def.classes?.filter(Boolean)[0];
277
+ if (firstClass) {
278
+ return {
279
+ element: def.element,
280
+ attributes: {
281
+ class: firstClass
282
+ }
283
+ };
284
+ }
285
+ return {
286
+ element: def.element
287
+ };
288
+ }
273
289
  function applyStyle(editor, def, definitions) {
274
290
  const active = (0,_detect_active_style__WEBPACK_IMPORTED_MODULE_0__.detectActiveStyle)(editor, definitions);
275
291
  if (active) {
276
- editor.s.commitStyle({
277
- element: active.element,
278
- attributes: {
279
- class: active.classes[0]
280
- }
281
- });
292
+ editor.s.commitStyle(buildCommitStyleOptions(active));
282
293
  cleanupExtraClasses(editor, active);
283
294
  if (active === def) {
284
295
  return;
285
296
  }
286
297
  }
287
- editor.s.commitStyle({
288
- element: def.element,
289
- attributes: {
290
- class: def.classes[0]
291
- }
292
- });
298
+ editor.s.commitStyle(buildCommitStyleOptions(def));
293
299
  addExtraClasses(editor, def);
294
300
  }
295
301
 
@@ -315,7 +321,11 @@ function elementMatchesDefinition(el, def) {
315
321
  if (el.nodeName.toLowerCase() !== def.element) {
316
322
  return false;
317
323
  }
318
- return def.classes.every((cls)=>el.classList.contains(cls));
324
+ const classes = def.classes?.filter(Boolean);
325
+ if (!classes?.length) {
326
+ return true;
327
+ }
328
+ return classes.every((cls)=>el.classList.contains(cls));
319
329
  }
320
330
  function detectActiveStyle(editor, definitions) {
321
331
  const current = editor.s.current();
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * jodit-pro - PRO Version of Jodit Editor
3
3
  * Author: Chupurnov Valerii <chupurnov@gmail.com>
4
- * Version: v4.9.27
4
+ * Version: v4.9.33
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
8
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var s in n)("object"==typeof exports?exports:e)[s]=n[s]}}(self,function(){return(self.webpackChunkjodit_pro=self.webpackChunkjodit_pro||[]).push([[850],{5440:function(e,t,n){"use strict";n.d(t,{buildStylePopup:function(){return r}});var s=n(31105),o=n(8060),i=n(69341);let l="jodit-style-popup";function r(e,t,n){let r=(0,o.classifyDefinitions)(t),c=(0,i.detectActiveStyle)(e,t),u=e.c.div(l);for(let o of r){let i=e.c.div(`${l}__group-title`);i.textContent=e.i18n(o.title),u.appendChild(i);let r=e.c.div(`${l}__grid`);for(let i of o.definitions){let o=e.c.element("button");o.type="button",o.className=`${l}__card`+(c===i?` ${l}__card_active_true`:"");let u=e.c.div(`${l}__card-preview`),f=e.c.element(i.element);for(let e of i.classes)f.classList.add(e);f.textContent=i.name,u.appendChild(f),o.appendChild(u);let a=e.c.div(`${l}__card-label`);a.textContent=i.name,o.appendChild(a),e.e.on(o,"click",()=>{e.s.focus(),(0,s.applyStyle)(e,i,t),e.synchronizeValues(),n()}),r.appendChild(o)}u.appendChild(r)}return u}},8060:function(e,t,n){"use strict";n.d(t,{classifyDefinitions:function(){return o}});var s=n(82758);function o(e){let t=[],n=[];for(let o of e)s.IS_BLOCK.test(o.element)?t.push(o):n.push(o);let o=[];return t.length&&o.push({title:"Block styles",definitions:t}),n.length&&o.push({title:"Text styles",definitions:n}),o}},28609:function(e,t,n){"use strict";var s=n(69341),o=n(5440),i=n(78955),l=n.n(i),r=n(6441);r.Config.prototype.customStyles={definitions:[]},r.Config.prototype.controls.style={tooltip:"Styles",icon:l(),isDisabled:e=>!e.o.customStyles.definitions.length,isActive(e){let t=e.o.customStyles.definitions;return!!t.length&&null!=(0,s.detectActiveStyle)(e,t)},update(e,t){let n=e.o.customStyles.definitions;if(!n.length)return;let o=(0,s.detectActiveStyle)(e,n),i=t.control?.component==="select";(e.o.textIcons||i)&&(o?t.state.text=o.name:t.state.text=i?e.i18n("Styles"):"")},exec:()=>!1,popup(e,t,n){let s=e.o.customStyles.definitions;if(!s.length)return!1;e.s.current()||e.s.focus(),e.s.save();let i=(0,o.buildStylePopup)(e,s,()=>{e.s.restore(),n()});return e.e.one("beforePopupClose",()=>{e.s.restore()}),i}}},31105:function(e,t,n){"use strict";n.d(t,{applyStyle:function(){return c}});var s=n(69341),o=n(82758),i=n(2748);function l(e,t){let n=e.s.current();if(!n)return null;if(o.IS_BLOCK.test(t.element))return i.Dom.closest(n,i.Dom.isBlock,e.editor);let s=i.Dom.isElement(n)?n:n.parentNode;for(;s&&s!==e.editor;){if(i.Dom.isElement(s)&&s.nodeName.toLowerCase()===t.element)return s;s=s.parentNode}return null}function r(e,t){for(let n of t)e.classList.remove(n);""===e.className&&e.removeAttribute("class")}function c(e,t,n){let c=(0,s.detectActiveStyle)(e,n);c&&(e.s.commitStyle({element:c.element,attributes:{class:c.classes[0]}}),!function(e,t){if(t.classes.length<=1)return;let n=e.s.current();if(n)if(o.IS_BLOCK.test(t.element)){let s=i.Dom.closest(n,i.Dom.isBlock,e.editor);s&&r(s,t.classes.slice(1))}else{let n=l(e,t);n&&(r(n,t.classes.slice(1)),"span"!==n.nodeName.toLowerCase()||n.attributes.length||i.Dom.unwrap(n))}}(e,c),c===t)||(e.s.commitStyle({element:t.element,attributes:{class:t.classes[0]}}),function(e,t){if(t.classes.length<=1)return;let n=l(e,t);if(n)for(let e=1;e<t.classes.length;e++)n.classList.add(t.classes[e])}(e,t))}},69341:function(e,t,n){"use strict";n.d(t,{detectActiveStyle:function(){return l}});var s=n(82758),o=n(2748);function i(e,t){return e.nodeName.toLowerCase()===t.element&&t.classes.every(t=>e.classList.contains(t))}function l(e,t){let n=e.s.current();if(!n)return null;for(let l of t)if(s.IS_BLOCK.test(l.element)){let t=o.Dom.closest(n,o.Dom.isBlock,e.editor);if(t&&i(t,l))return l}else{let t=o.Dom.isElement(n)?n:n.parentNode;for(;t&&t!==e.editor;){if(o.Dom.isElement(t)&&i(t,l))return l;t=t.parentNode}}return null}},75554:function(e,t,n){"use strict";n.r(t),n.d(t,{style:function(){return l}});var s=n(82749);n(28609);var o=n(50911),i=n(2692);class l extends o.Plugin{afterInit(e){}beforeDestruct(e){}constructor(...e){super(...e),(0,s._)(this,"buttons",[{name:"style",group:"font"}])}}(0,s._)(l,"requires",["license"]),i.JoditPro.plugins.add("style",l)},78955:function(e){e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="1.5"> <rect x="2" y="3.5" width="9" height="9" rx="1.5" fill="none"/> <rect x="2" y="14.5" width="9" height="9" rx="1.5" fill="none"/> <rect x="13" y="14.5" width="9" height="9" rx="1.5" fill="none"/> <rect x="13" y="3.5" width="9" height="9" rx="1.5" fill="currentColor" transform="rotate(45 17.5 8)"/> </svg>'}},function(e){return e(e.s=75554)}])});
8
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var o in n)("object"==typeof exports?exports:e)[o]=n[o]}}(self,function(){return(self.webpackChunkjodit_pro=self.webpackChunkjodit_pro||[]).push([[850],{5440:function(e,t,n){"use strict";n.d(t,{buildStylePopup:function(){return r}});var o=n(31105),l=n(8060),i=n(69341);let s="jodit-style-popup";function r(e,t,n){let r=(0,l.classifyDefinitions)(t),c=(0,i.detectActiveStyle)(e,t),u=e.c.div(s);for(let l of r){let i=e.c.div(`${s}__group-title`);i.textContent=e.i18n(l.title),u.appendChild(i);let r=e.c.div(`${s}__grid`);for(let i of l.definitions){let l=e.c.element("button");l.type="button",l.className=`${s}__card`+(c===i?` ${s}__card_active_true`:"");let u=e.c.div(`${s}__card-preview`),f=e.c.element(i.element);for(let e of i.classes?.filter(Boolean)??[])f.classList.add(e);f.textContent=i.name,u.appendChild(f),l.appendChild(u);let a=e.c.div(`${s}__card-label`);a.textContent=i.name,l.appendChild(a),e.e.on(l,"click",()=>{e.s.focus(),(0,o.applyStyle)(e,i,t),e.synchronizeValues(),n()}),r.appendChild(l)}u.appendChild(r)}return u}},8060:function(e,t,n){"use strict";n.d(t,{classifyDefinitions:function(){return l}});var o=n(82758);function l(e){let t=[],n=[];for(let l of e)o.IS_BLOCK.test(l.element)?t.push(l):n.push(l);let l=[];return t.length&&l.push({title:"Block styles",definitions:t}),n.length&&l.push({title:"Text styles",definitions:n}),l}},28609:function(e,t,n){"use strict";var o=n(69341),l=n(5440),i=n(78955),s=n.n(i),r=n(6441);r.Config.prototype.customStyles={definitions:[]},r.Config.prototype.controls.style={tooltip:"Styles",icon:s(),isDisabled:e=>!e.o.customStyles.definitions.length,isActive(e){let t=e.o.customStyles.definitions;return!!t.length&&null!=(0,o.detectActiveStyle)(e,t)},update(e,t){let n=e.o.customStyles.definitions;if(!n.length)return;let l=(0,o.detectActiveStyle)(e,n),i=t.control?.component==="select";(e.o.textIcons||i)&&(l?t.state.text=l.name:t.state.text=i?e.i18n("Styles"):"")},exec:()=>!1,popup(e,t,n){let o=e.o.customStyles.definitions;if(!o.length)return!1;e.s.current()||e.s.focus(),e.s.save();let i=(0,l.buildStylePopup)(e,o,()=>{e.s.restore(),n()});return e.e.one("beforePopupClose",()=>{e.s.restore()}),i}}},31105:function(e,t,n){"use strict";n.d(t,{applyStyle:function(){return u}});var o=n(69341),l=n(82758),i=n(2748);function s(e,t){let n=e.s.current();if(!n)return null;if(l.IS_BLOCK.test(t.element))return i.Dom.closest(n,i.Dom.isBlock,e.editor);let o=i.Dom.isElement(n)?n:n.parentNode;for(;o&&o!==e.editor;){if(i.Dom.isElement(o)&&o.nodeName.toLowerCase()===t.element)return o;o=o.parentNode}return null}function r(e,t){for(let n of t)e.classList.remove(n);""===e.className&&e.removeAttribute("class")}function c(e){let t=e.classes?.filter(Boolean)[0];return t?{element:e.element,attributes:{class:t}}:{element:e.element}}function u(e,t,n){let u=(0,o.detectActiveStyle)(e,n);u&&(e.s.commitStyle(c(u)),!function(e,t){let n=t.classes?.filter(Boolean);if(!n||n.length<=1)return;let o=e.s.current();if(o)if(l.IS_BLOCK.test(t.element)){let t=i.Dom.closest(o,i.Dom.isBlock,e.editor);t&&r(t,n.slice(1))}else{let o=s(e,t);o&&(r(o,n.slice(1)),"span"!==o.nodeName.toLowerCase()||o.attributes.length||i.Dom.unwrap(o))}}(e,u),u===t)||(e.s.commitStyle(c(t)),function(e,t){let n=t.classes?.filter(Boolean);if(!n||n.length<=1)return;let o=s(e,t);if(o)for(let e=1;e<n.length;e++)o.classList.add(n[e])}(e,t))}},69341:function(e,t,n){"use strict";n.d(t,{detectActiveStyle:function(){return s}});var o=n(82758),l=n(2748);function i(e,t){if(e.nodeName.toLowerCase()!==t.element)return!1;let n=t.classes?.filter(Boolean);return!n?.length||n.every(t=>e.classList.contains(t))}function s(e,t){let n=e.s.current();if(!n)return null;for(let s of t)if(o.IS_BLOCK.test(s.element)){let t=l.Dom.closest(n,l.Dom.isBlock,e.editor);if(t&&i(t,s))return s}else{let t=l.Dom.isElement(n)?n:n.parentNode;for(;t&&t!==e.editor;){if(l.Dom.isElement(t)&&i(t,s))return s;t=t.parentNode}}return null}},75554:function(e,t,n){"use strict";n.r(t),n.d(t,{style:function(){return s}});var o=n(82749);n(28609);var l=n(50911),i=n(2692);class s extends l.Plugin{afterInit(e){}beforeDestruct(e){}constructor(...e){super(...e),(0,o._)(this,"buttons",[{name:"style",group:"font"}])}}(0,o._)(s,"requires",["license"]),i.JoditPro.plugins.add("style",s)},78955:function(e){e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="1.5"> <rect x="2" y="3.5" width="9" height="9" rx="1.5" fill="none"/> <rect x="2" y="14.5" width="9" height="9" rx="1.5" fill="none"/> <rect x="13" y="14.5" width="9" height="9" rx="1.5" fill="none"/> <rect x="13" y="3.5" width="9" height="9" rx="1.5" fill="currentColor" transform="rotate(45 17.5 8)"/> </svg>'}},function(e){return e(e.s=75554)}])});
@@ -0,0 +1,82 @@
1
+ /*!
2
+ * jodit-pro - PRO Version of Jodit Editor
3
+ * Author: Chupurnov Valerii <chupurnov@gmail.com>
4
+ * Version: v4.9.33
5
+ * Url: https://xdsoft.net/jodit/pro/
6
+ * License(s): SEE LICENSE IN LICENSE.md
7
+ */
8
+
9
+ .jodit-templates-popup {
10
+ min-width: 300px;
11
+ max-height: 470px;
12
+ padding: 8px;
13
+ overflow-y: auto;
14
+ }
15
+ .jodit-templates-popup__card {
16
+ display: flex;
17
+ overflow: hidden;
18
+ width: 100%;
19
+ flex-direction: row;
20
+ align-items: stretch;
21
+ padding: 0;
22
+ border: 1px solid #ddd;
23
+ border-radius: 6px;
24
+ margin-bottom: 8px;
25
+ background: none;
26
+ color: inherit;
27
+ cursor: pointer;
28
+ text-align: left;
29
+ }
30
+ .jodit-templates-popup__card:last-child {
31
+ margin-bottom: 0;
32
+ }
33
+ .jodit-templates-popup__card:hover {
34
+ border-color: var(--jd-color-border-active, #4a6cf6);
35
+ }
36
+ .jodit-templates-popup__card-preview {
37
+ position: relative;
38
+ overflow: hidden;
39
+ width: 140px;
40
+ height: 96px;
41
+ flex-shrink: 0;
42
+ background: #f8f8f8;
43
+ pointer-events: none;
44
+ }
45
+ .jodit-templates-popup__card-preview img {
46
+ display: block;
47
+ width: 100%;
48
+ height: 100%;
49
+ object-fit: cover;
50
+ }
51
+ .jodit-templates-popup__card-preview-inner {
52
+ position: absolute;
53
+ top: 0;
54
+ left: 0;
55
+ width: 500px;
56
+ transform: scale(0.28);
57
+ transform-origin: top left;
58
+ }
59
+ .jodit-templates-popup__card-info {
60
+ display: flex;
61
+ min-width: 0;
62
+ flex: 1;
63
+ flex-direction: column;
64
+ justify-content: center;
65
+ padding: 8px 12px;
66
+ }
67
+ .jodit-templates-popup__card-title {
68
+ overflow: hidden;
69
+ font-size: 13px;
70
+ font-weight: 600;
71
+ line-height: 1.3;
72
+ text-overflow: ellipsis;
73
+ white-space: nowrap;
74
+ }
75
+ .jodit-templates-popup__card-description {
76
+ overflow: hidden;
77
+ margin-top: 4px;
78
+ color: #888;
79
+ font-size: 11px;
80
+ line-height: 1.4;
81
+ }
82
+
@@ -0,0 +1,178 @@
1
+ /*!
2
+ * jodit-pro - PRO Version of Jodit Editor
3
+ * Author: Chupurnov Valerii <chupurnov@gmail.com>
4
+ * Version: v4.9.33
5
+ * Url: https://xdsoft.net/jodit/pro/
6
+ * License(s): SEE LICENSE IN LICENSE.md
7
+ */
8
+
9
+ (function webpackUniversalModuleDefinition(root, factory) {
10
+ if(typeof exports === 'object' && typeof module === 'object')
11
+ module.exports = factory();
12
+ else if(typeof define === 'function' && define.amd)
13
+ define([], factory);
14
+ else {
15
+ var a = factory();
16
+ for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
17
+ }
18
+ })(self, function() {
19
+ return (self["webpackChunkjodit_pro"] = self["webpackChunkjodit_pro"] || []).push([[945],{
20
+
21
+ /***/ 18993:
22
+ /***/ (function(module) {
23
+
24
+ module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" stroke=\"currentColor\" stroke-width=\"1.5\"> <rect x=\"2\" y=\"2\" width=\"20\" height=\"9\" rx=\"1.5\" fill=\"none\"/> <rect x=\"2\" y=\"14\" width=\"9\" height=\"8\" rx=\"1.5\" fill=\"none\"/> <rect x=\"13\" y=\"14\" width=\"9\" height=\"8\" rx=\"1.5\" fill=\"currentColor\"/> </svg>"
25
+
26
+ /***/ }),
27
+
28
+ /***/ 54296:
29
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
30
+
31
+ "use strict";
32
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
33
+ /* harmony export */ buildTemplatesPopup: function() { return /* binding */ buildTemplatesPopup; }
34
+ /* harmony export */ });
35
+ /*!
36
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
37
+ * See LICENSE.md in the project root for license information.
38
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
39
+ */ const CLASS_NAME = 'jodit-templates-popup';
40
+ function buildTemplatesPopup(editor, definitions, close) {
41
+ const container = editor.c.div(CLASS_NAME);
42
+ for (const def of definitions){
43
+ const card = editor.c.element('button');
44
+ card.type = 'button';
45
+ card.className = `${CLASS_NAME}__card`;
46
+ const preview = editor.c.div(`${CLASS_NAME}__card-preview`);
47
+ if (def.image) {
48
+ const img = editor.c.element('img');
49
+ img.src = def.image;
50
+ img.alt = def.title;
51
+ preview.appendChild(img);
52
+ } else {
53
+ const inner = editor.c.div(`${CLASS_NAME}__card-preview-inner`);
54
+ inner.innerHTML = def.html;
55
+ preview.appendChild(inner);
56
+ }
57
+ card.appendChild(preview);
58
+ const info = editor.c.div(`${CLASS_NAME}__card-info`);
59
+ const title = editor.c.div(`${CLASS_NAME}__card-title`);
60
+ title.textContent = def.title;
61
+ info.appendChild(title);
62
+ const description = editor.c.div(`${CLASS_NAME}__card-description`);
63
+ description.textContent = def.description;
64
+ info.appendChild(description);
65
+ card.appendChild(info);
66
+ editor.e.on(card, 'click', ()=>{
67
+ editor.s.focus();
68
+ editor.s.insertHTML(def.html);
69
+ editor.synchronizeValues();
70
+ close();
71
+ });
72
+ container.appendChild(card);
73
+ }
74
+ return container;
75
+ }
76
+
77
+
78
+ /***/ }),
79
+
80
+ /***/ 58475:
81
+ /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
82
+
83
+ "use strict";
84
+ /* harmony import */ var _ui_templates_popup__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(54296);
85
+ /* harmony import */ var _icon_svg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(18993);
86
+ /* harmony import */ var _icon_svg__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_icon_svg__WEBPACK_IMPORTED_MODULE_1__);
87
+ /* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6441);
88
+ /*!
89
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
90
+ * See LICENSE.md in the project root for license information.
91
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
92
+ */
93
+
94
+
95
+ jodit_esm_config__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.contentTemplates = {
96
+ definitions: []
97
+ };
98
+ jodit_esm_config__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.templates = {
99
+ tooltip: 'Templates',
100
+ icon: (_icon_svg__WEBPACK_IMPORTED_MODULE_1___default()),
101
+ isDisabled (editor) {
102
+ return !editor.o.contentTemplates.definitions.length;
103
+ },
104
+ exec () {
105
+ return false;
106
+ },
107
+ popup (editor, _current, close) {
108
+ const definitions = editor.o.contentTemplates.definitions;
109
+ if (!definitions.length) {
110
+ return false;
111
+ }
112
+ if (!editor.s.current()) {
113
+ editor.s.focus();
114
+ }
115
+ editor.s.save();
116
+ const popup = (0,_ui_templates_popup__WEBPACK_IMPORTED_MODULE_0__.buildTemplatesPopup)(editor, definitions, ()=>{
117
+ editor.s.restore();
118
+ close();
119
+ });
120
+ editor.e.one('beforePopupClose', ()=>{
121
+ editor.s.restore();
122
+ });
123
+ return popup;
124
+ }
125
+ };
126
+
127
+
128
+ /***/ }),
129
+
130
+ /***/ 61886:
131
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
132
+
133
+ "use strict";
134
+ __webpack_require__.r(__webpack_exports__);
135
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
136
+ /* harmony export */ templates: function() { return /* binding */ templates; }
137
+ /* harmony export */ });
138
+ /* harmony import */ var _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82749);
139
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(58475);
140
+ /* harmony import */ var jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(50911);
141
+ /* harmony import */ var jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2692);
142
+ /*!
143
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
144
+ * See LICENSE.md in the project root for license information.
145
+ * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
146
+ */
147
+
148
+
149
+
150
+
151
+ class templates extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_2__.Plugin {
152
+ /** @override */ afterInit(_jodit) {}
153
+ /** @override */ beforeDestruct(_jodit) {}
154
+ constructor(...args){
155
+ super(...args), /** @override */ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "buttons", [
156
+ {
157
+ name: 'templates',
158
+ group: 'insert'
159
+ }
160
+ ]);
161
+ }
162
+ }
163
+ /** @override */ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(templates, "requires", [
164
+ 'license'
165
+ ]);
166
+ jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_3__.JoditPro.plugins.add('templates', templates);
167
+
168
+
169
+ /***/ })
170
+
171
+ },
172
+ /******/ function(__webpack_require__) { // webpackRuntimeModules
173
+ /******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
174
+ /******/ var __webpack_exports__ = (__webpack_exec__(61886));
175
+ /******/ return __webpack_exports__;
176
+ /******/ }
177
+ ]);
178
+ });
@@ -0,0 +1 @@
1
+ .jodit-templates-popup{max-height:470px;min-width:300px;overflow-y:auto;padding:8px}.jodit-templates-popup__card{align-items:stretch;background:none;border:1px solid #ddd;border-radius:6px;color:inherit;cursor:pointer;display:flex;flex-direction:row;margin-bottom:8px;overflow:hidden;padding:0;text-align:left;width:100%}.jodit-templates-popup__card:last-child{margin-bottom:0}.jodit-templates-popup__card:hover{border-color:var(--jd-color-border-active,#4a6cf6)}.jodit-templates-popup__card-preview{background:#f8f8f8;flex-shrink:0;height:96px;overflow:hidden;pointer-events:none;position:relative;width:140px}.jodit-templates-popup__card-preview img{display:block;height:100%;object-fit:cover;width:100%}.jodit-templates-popup__card-preview-inner{left:0;position:absolute;top:0;transform:scale(.28);transform-origin:top left;width:500px}.jodit-templates-popup__card-info{display:flex;flex:1;flex-direction:column;justify-content:center;min-width:0;padding:8px 12px}.jodit-templates-popup__card-title{font-size:13px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jodit-templates-popup__card-description{color:#888;font-size:11px;line-height:1.4;margin-top:4px;overflow:hidden}
@@ -0,0 +1,8 @@
1
+ /*!
2
+ * jodit-pro - PRO Version of Jodit Editor
3
+ * Author: Chupurnov Valerii <chupurnov@gmail.com>
4
+ * Version: v4.9.33
5
+ * Url: https://xdsoft.net/jodit/pro/
6
+ * License(s): SEE LICENSE IN LICENSE.md
7
+ */
8
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var i in n)("object"==typeof exports?exports:e)[i]=n[i]}}(self,function(){return(self.webpackChunkjodit_pro=self.webpackChunkjodit_pro||[]).push([[945],{18993:function(e){e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="1.5"> <rect x="2" y="2" width="20" height="9" rx="1.5" fill="none"/> <rect x="2" y="14" width="9" height="8" rx="1.5" fill="none"/> <rect x="13" y="14" width="9" height="8" rx="1.5" fill="currentColor"/> </svg>'},54296:function(e,t,n){"use strict";n.d(t,{buildTemplatesPopup:function(){return o}});let i="jodit-templates-popup";function o(e,t,n){let o=e.c.div(i);for(let r of t){let t=e.c.element("button");t.type="button",t.className=`${i}__card`;let s=e.c.div(`${i}__card-preview`);if(r.image){let t=e.c.element("img");t.src=r.image,t.alt=r.title,s.appendChild(t)}else{let t=e.c.div(`${i}__card-preview-inner`);t.innerHTML=r.html,s.appendChild(t)}t.appendChild(s);let l=e.c.div(`${i}__card-info`),p=e.c.div(`${i}__card-title`);p.textContent=r.title,l.appendChild(p);let c=e.c.div(`${i}__card-description`);c.textContent=r.description,l.appendChild(c),t.appendChild(l),e.e.on(t,"click",()=>{e.s.focus(),e.s.insertHTML(r.html),e.synchronizeValues(),n()}),o.appendChild(t)}return o}},58475:function(e,t,n){"use strict";var i=n(54296),o=n(18993),r=n.n(o),s=n(6441);s.Config.prototype.contentTemplates={definitions:[]},s.Config.prototype.controls.templates={tooltip:"Templates",icon:r(),isDisabled:e=>!e.o.contentTemplates.definitions.length,exec:()=>!1,popup(e,t,n){let o=e.o.contentTemplates.definitions;if(!o.length)return!1;e.s.current()||e.s.focus(),e.s.save();let r=(0,i.buildTemplatesPopup)(e,o,()=>{e.s.restore(),n()});return e.e.one("beforePopupClose",()=>{e.s.restore()}),r}}},61886:function(e,t,n){"use strict";n.r(t),n.d(t,{templates:function(){return s}});var i=n(82749);n(58475);var o=n(50911),r=n(2692);class s extends o.Plugin{afterInit(e){}beforeDestruct(e){}constructor(...e){super(...e),(0,i._)(this,"buttons",[{name:"templates",group:"insert"}])}}(0,i._)(s,"requires",["license"]),r.JoditPro.plugins.add("templates",s)}},function(e){return e(e.s=61886)}])});
@@ -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.9.27
4
+ * Version: v4.9.33
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.9.27
4
+ * Version: v4.9.33
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.9.27
4
+ * Version: v4.9.33
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.9.27
4
+ * Version: v4.9.33
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.9.27
4
+ * Version: v4.9.33
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.9.27
4
+ * Version: v4.9.33
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.9.27
4
+ * Version: v4.9.33
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.9.27
4
+ * Version: v4.9.33
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -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.9.27
4
+ * Version: v4.9.33
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
package/es5/jodit.css CHANGED
@@ -1,14 +1,14 @@
1
1
  /*!
2
2
  * jodit-pro - PRO Version of Jodit Editor
3
3
  * Author: Chupurnov Valerii <chupurnov@gmail.com>
4
- * Version: v4.9.27
4
+ * Version: v4.9.33
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
8
8
  /*!
9
9
  * jodit-pro - PRO Version of Jodit Editor
10
10
  * Author: Chupurnov Valerii <chupurnov@gmail.com>
11
- * Version: v4.9.27
11
+ * Version: v4.9.33
12
12
  * Url: https://xdsoft.net/jodit/pro/
13
13
  * License(s): SEE LICENSE IN LICENSE.md
14
14
  */