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
  */
@@ -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
  */
@@ -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
  */
@@ -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
  */
@@ -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
  */