jodit-pro 4.11.26 → 4.11.28

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 (335) hide show
  1. package/CHANGELOG.md +115 -1
  2. package/es2015/jodit.css +32 -1
  3. package/es2015/jodit.fat.min.css +1 -1
  4. package/es2015/jodit.fat.min.js +6 -6
  5. package/es2015/jodit.js +39 -9
  6. package/es2015/jodit.min.css +1 -1
  7. package/es2015/jodit.min.js +3 -3
  8. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  9. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +105 -3
  10. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +4 -4
  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 +1 -1
  31. package/es2015/plugins/finder/finder.min.js +1 -1
  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 +58 -7
  58. package/es2015/plugins/style/style.min.js +2 -2
  59. package/es2015/plugins/templates/templates.css +1 -1
  60. package/es2015/plugins/templates/templates.js +1 -1
  61. package/es2015/plugins/templates/templates.min.js +1 -1
  62. package/es2015/plugins/todo-list/todo-list.css +1 -1
  63. package/es2015/plugins/todo-list/todo-list.js +1 -1
  64. package/es2015/plugins/todo-list/todo-list.min.js +1 -1
  65. package/es2015/plugins/translate/translate.css +1 -1
  66. package/es2015/plugins/translate/translate.js +1 -1
  67. package/es2015/plugins/translate/translate.min.js +1 -1
  68. package/es2015/plugins/tune-block/tune-block.css +1 -1
  69. package/es2015/plugins/tune-block/tune-block.js +1 -1
  70. package/es2015/plugins/tune-block/tune-block.min.js +1 -1
  71. package/es2018/jodit.fat.min.css +1 -1
  72. package/es2018/jodit.fat.min.js +6 -6
  73. package/es2018/jodit.min.css +1 -1
  74. package/es2018/jodit.min.js +3 -3
  75. package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +23 -23
  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 +1 -1
  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.js +1 -1
  96. package/es2018/plugins/todo-list/todo-list.min.js +1 -1
  97. package/es2018/plugins/translate/translate.min.js +1 -1
  98. package/es2018/plugins/tune-block/tune-block.min.js +1 -1
  99. package/es2021/jodit.css +32 -1
  100. package/es2021/jodit.fat.min.css +1 -1
  101. package/es2021/jodit.fat.min.js +6 -6
  102. package/es2021/jodit.js +39 -8
  103. package/es2021/jodit.min.css +1 -1
  104. package/es2021/jodit.min.js +3 -3
  105. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  106. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +105 -3
  107. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +5 -5
  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 +1 -1
  128. package/es2021/plugins/finder/finder.min.js +1 -1
  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 +56 -5
  155. package/es2021/plugins/style/style.min.js +2 -2
  156. package/es2021/plugins/templates/templates.css +1 -1
  157. package/es2021/plugins/templates/templates.js +1 -1
  158. package/es2021/plugins/templates/templates.min.js +1 -1
  159. package/es2021/plugins/todo-list/todo-list.css +1 -1
  160. package/es2021/plugins/todo-list/todo-list.js +1 -1
  161. package/es2021/plugins/todo-list/todo-list.min.js +1 -1
  162. package/es2021/plugins/translate/translate.css +1 -1
  163. package/es2021/plugins/translate/translate.js +1 -1
  164. package/es2021/plugins/translate/translate.min.js +1 -1
  165. package/es2021/plugins/tune-block/tune-block.css +1 -1
  166. package/es2021/plugins/tune-block/tune-block.js +1 -1
  167. package/es2021/plugins/tune-block/tune-block.min.js +1 -1
  168. package/es2021.en/jodit.css +32 -1
  169. package/es2021.en/jodit.fat.min.css +1 -1
  170. package/es2021.en/jodit.fat.min.js +6 -6
  171. package/es2021.en/jodit.js +39 -8
  172. package/es2021.en/jodit.min.css +1 -1
  173. package/es2021.en/jodit.min.js +3 -3
  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 +105 -3
  176. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +26 -26
  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 +1 -1
  197. package/es2021.en/plugins/finder/finder.min.js +1 -1
  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 +56 -5
  224. package/es2021.en/plugins/style/style.min.js +2 -2
  225. package/es2021.en/plugins/templates/templates.css +1 -1
  226. package/es2021.en/plugins/templates/templates.js +1 -1
  227. package/es2021.en/plugins/templates/templates.min.js +1 -1
  228. package/es2021.en/plugins/todo-list/todo-list.css +1 -1
  229. package/es2021.en/plugins/todo-list/todo-list.js +1 -1
  230. package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
  231. package/es2021.en/plugins/translate/translate.css +1 -1
  232. package/es2021.en/plugins/translate/translate.js +1 -1
  233. package/es2021.en/plugins/translate/translate.min.js +1 -1
  234. package/es2021.en/plugins/tune-block/tune-block.css +1 -1
  235. package/es2021.en/plugins/tune-block/tune-block.js +1 -1
  236. package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
  237. package/es5/jodit.css +37 -2
  238. package/es5/jodit.fat.min.css +1 -1
  239. package/es5/jodit.fat.min.js +2 -2
  240. package/es5/jodit.js +43 -9
  241. package/es5/jodit.min.css +3 -3
  242. package/es5/jodit.min.js +2 -2
  243. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  244. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +169 -3
  245. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +2 -2
  246. package/es5/plugins/autocomplete/autocomplete.js +1 -1
  247. package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
  248. package/es5/plugins/backup/backup.css +1 -1
  249. package/es5/plugins/backup/backup.js +1 -1
  250. package/es5/plugins/backup/backup.min.js +1 -1
  251. package/es5/plugins/button-generator/button-generator.css +1 -1
  252. package/es5/plugins/button-generator/button-generator.js +1 -1
  253. package/es5/plugins/button-generator/button-generator.min.js +1 -1
  254. package/es5/plugins/change-case/change-case.js +1 -1
  255. package/es5/plugins/change-case/change-case.min.js +1 -1
  256. package/es5/plugins/color-picker/color-picker.css +1 -1
  257. package/es5/plugins/color-picker/color-picker.js +1 -1
  258. package/es5/plugins/color-picker/color-picker.min.js +1 -1
  259. package/es5/plugins/emoji/emoji.css +1 -1
  260. package/es5/plugins/emoji/emoji.js +1 -1
  261. package/es5/plugins/emoji/emoji.min.js +1 -1
  262. package/es5/plugins/export-docs/export-docs.js +1 -1
  263. package/es5/plugins/export-docs/export-docs.min.js +1 -1
  264. package/es5/plugins/finder/finder.css +1 -1
  265. package/es5/plugins/finder/finder.js +1 -1
  266. package/es5/plugins/finder/finder.min.js +1 -1
  267. package/es5/plugins/google-maps/google-maps.css +1 -1
  268. package/es5/plugins/google-maps/google-maps.js +1 -1
  269. package/es5/plugins/google-maps/google-maps.min.js +1 -1
  270. package/es5/plugins/google-search/google-search.js +1 -1
  271. package/es5/plugins/google-search/google-search.min.js +1 -1
  272. package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
  273. package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
  274. package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
  275. package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
  276. package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
  277. package/es5/plugins/keyboard/keyboard.css +1 -1
  278. package/es5/plugins/keyboard/keyboard.js +1 -1
  279. package/es5/plugins/keyboard/keyboard.min.js +1 -1
  280. package/es5/plugins/mobile-view/mobile-view.js +1 -1
  281. package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
  282. package/es5/plugins/page-break/page-break.js +1 -1
  283. package/es5/plugins/page-break/page-break.min.js +1 -1
  284. package/es5/plugins/paste-code/paste-code.css +1 -1
  285. package/es5/plugins/paste-code/paste-code.js +1 -1
  286. package/es5/plugins/paste-code/paste-code.min.js +1 -1
  287. package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
  288. package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
  289. package/es5/plugins/show-blocks/show-blocks.js +1 -1
  290. package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
  291. package/es5/plugins/style/style.css +1 -1
  292. package/es5/plugins/style/style.js +114 -25
  293. package/es5/plugins/style/style.min.js +2 -2
  294. package/es5/plugins/templates/templates.css +1 -1
  295. package/es5/plugins/templates/templates.js +1 -1
  296. package/es5/plugins/templates/templates.min.js +1 -1
  297. package/es5/plugins/todo-list/todo-list.css +1 -1
  298. package/es5/plugins/todo-list/todo-list.js +1 -1
  299. package/es5/plugins/todo-list/todo-list.min.js +1 -1
  300. package/es5/plugins/translate/translate.css +1 -1
  301. package/es5/plugins/translate/translate.js +1 -1
  302. package/es5/plugins/translate/translate.min.js +1 -1
  303. package/es5/plugins/tune-block/tune-block.css +1 -1
  304. package/es5/plugins/tune-block/tune-block.js +1 -1
  305. package/es5/plugins/tune-block/tune-block.min.js +1 -1
  306. package/es5/polyfills.fat.min.js +1 -1
  307. package/es5/polyfills.js +1 -1
  308. package/es5/polyfills.min.js +1 -1
  309. package/esm/config.d.ts +2 -0
  310. package/esm/plugins/ai-assistant-pro/ai-assistant-pro.d.ts +3 -0
  311. package/esm/plugins/ai-assistant-pro/ai-assistant-pro.js +2 -2
  312. package/esm/plugins/ai-assistant-pro/config.js +1 -1
  313. package/esm/plugins/ai-assistant-pro/interface/options.d.ts +40 -0
  314. package/esm/plugins/ai-assistant-pro/providers/jodit-ai-adapter.js +1 -1
  315. package/esm/plugins/autocomplete/autocomplete.js +1 -1
  316. package/esm/plugins/autocomplete/config.d.ts +2 -1
  317. package/esm/plugins/autocomplete/config.js +1 -1
  318. package/esm/plugins/autocomplete/interface.d.ts +1 -0
  319. package/esm/plugins/autocomplete/ui/autocomplete.d.ts +3 -1
  320. package/esm/plugins/autocomplete/ui/autocomplete.js +1 -1
  321. package/esm/plugins/autocomplete/ui/item.d.ts +2 -0
  322. package/esm/plugins/autocomplete/ui/item.js +1 -1
  323. package/esm/plugins/style/helpers/apply-style.js +1 -1
  324. package/esm/plugins/style/helpers/detect-active-style.js +1 -1
  325. package/esm/plugins/style/interface.d.ts +2 -1
  326. package/esm/plugins/style/ui/style-popup.js +1 -1
  327. package/package.json +1 -1
  328. package/types/config.d.ts +2 -0
  329. package/types/plugins/ai-assistant-pro/ai-assistant-pro.d.ts +3 -0
  330. package/types/plugins/ai-assistant-pro/interface/options.d.ts +40 -0
  331. package/types/plugins/autocomplete/config.d.ts +2 -1
  332. package/types/plugins/autocomplete/interface.d.ts +1 -0
  333. package/types/plugins/autocomplete/ui/autocomplete.d.ts +3 -1
  334. package/types/plugins/autocomplete/ui/item.d.ts +2 -0
  335. package/types/plugins/style/interface.d.ts +2 -1
@@ -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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
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.11.26
4
+ * Version: v4.11.28
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -179,6 +179,12 @@ function addExtraClasses(editor, def) {
179
179
  }
180
180
  }
181
181
  function buildCommitStyleOptions(def) {
182
+ if (def.attributes) {
183
+ return {
184
+ element: def.element,
185
+ attributes: def.attributes
186
+ };
187
+ }
182
188
  const firstClass = def.classes?.filter(Boolean)[0];
183
189
  if (firstClass) {
184
190
  return {
@@ -196,13 +202,17 @@ function applyStyle(editor, def, definitions) {
196
202
  const active = (0,_detect_active_style__WEBPACK_IMPORTED_MODULE_0__.detectActiveStyle)(editor, definitions);
197
203
  if (active) {
198
204
  editor.s.commitStyle(buildCommitStyleOptions(active));
199
- cleanupExtraClasses(editor, active);
205
+ if (!active.attributes) {
206
+ cleanupExtraClasses(editor, active);
207
+ }
200
208
  if (active === def) {
201
209
  return;
202
210
  }
203
211
  }
204
212
  editor.s.commitStyle(buildCommitStyleOptions(def));
205
- addExtraClasses(editor, def);
213
+ if (!def.attributes) {
214
+ addExtraClasses(editor, def);
215
+ }
206
216
  }
207
217
 
208
218
 
@@ -259,16 +269,51 @@ function classifyDefinitions(definitions) {
259
269
  /* harmony export */ });
260
270
  /* harmony import */ var jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758);
261
271
  /* harmony import */ var jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2748);
272
+ /* harmony import */ var jodit_esm_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29960);
273
+ /* harmony import */ var jodit_esm_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(41180);
262
274
  /*!
263
275
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
264
276
  * See LICENSE.md in the project root for license information.
265
277
  * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
266
278
  */
267
279
 
280
+
281
+
282
+ function attributesMatch(el, attrs) {
283
+ for (const [key, value] of Object.entries(attrs)){
284
+ if (value == null) {
285
+ continue;
286
+ }
287
+ if (key === 'class') {
288
+ if (typeof value === 'string' && !el.classList.contains(value)) {
289
+ return false;
290
+ }
291
+ } else if (key === 'style') {
292
+ if (typeof value === 'object' && value != null) {
293
+ for (const [prop, styleValue] of Object.entries(value)){
294
+ if (styleValue == null) {
295
+ continue;
296
+ }
297
+ if ((0,jodit_esm_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__.css)(el, prop, true) !== String(styleValue)) {
298
+ return false;
299
+ }
300
+ }
301
+ }
302
+ } else {
303
+ if ((0,jodit_esm_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_2__.attr)(el, key) !== String(value)) {
304
+ return false;
305
+ }
306
+ }
307
+ }
308
+ return true;
309
+ }
268
310
  function elementMatchesDefinition(el, def) {
269
311
  if (el.nodeName.toLowerCase() !== def.element) {
270
312
  return false;
271
313
  }
314
+ if (def.attributes) {
315
+ return attributesMatch(el, def.attributes);
316
+ }
272
317
  const classes = def.classes?.filter(Boolean);
273
318
  if (!classes?.length) {
274
319
  return true;
@@ -353,6 +398,7 @@ jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_3__.JoditPro.plugins.add('style', s
353
398
  /* harmony import */ var _helpers_apply_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31105);
354
399
  /* harmony import */ var _helpers_classify_definitions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8060);
355
400
  /* harmony import */ var _helpers_detect_active_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69341);
401
+ /* harmony import */ var jodit_esm_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29960);
356
402
  /*!
357
403
  * Jodit Editor PRO (https://xdsoft.net/jodit/)
358
404
  * See LICENSE.md in the project root for license information.
@@ -360,6 +406,7 @@ jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_3__.JoditPro.plugins.add('style', s
360
406
  */
361
407
 
362
408
 
409
+
363
410
  const CLASS_NAME = 'jodit-style-popup';
364
411
  function buildStylePopup(editor, definitions, close) {
365
412
  const groups = (0,_helpers_classify_definitions__WEBPACK_IMPORTED_MODULE_1__.classifyDefinitions)(definitions);
@@ -377,8 +424,12 @@ function buildStylePopup(editor, definitions, close) {
377
424
  card.className = `${CLASS_NAME}__card` + (isActive ? ` ${CLASS_NAME}__card_active_true` : '');
378
425
  const preview = editor.c.div(`${CLASS_NAME}__card-preview`);
379
426
  const previewEl = editor.c.element(def.element);
380
- for (const cls of def.classes?.filter(Boolean) ?? []){
381
- previewEl.classList.add(cls);
427
+ if (def.attributes) {
428
+ (0,jodit_esm_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_3__.attr)(previewEl, def.attributes);
429
+ } else {
430
+ for (const cls of def.classes?.filter(Boolean) ?? []){
431
+ previewEl.classList.add(cls);
432
+ }
382
433
  }
383
434
  previewEl.textContent = def.name;
384
435
  preview.appendChild(previewEl);
@@ -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.11.26
4
+ * Version: v4.11.28
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 o in n)("object"==typeof exports?exports:e)[o]=n[o]}}(self,function(){return(self.webpackChunkjodit_pro=self.webpackChunkjodit_pro||[]).push([[850],{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>'},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))}},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}},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)},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}}},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 i in n)("object"==typeof exports?exports:e)[i]=n[i]}}(self,function(){return(self.webpackChunkjodit_pro=self.webpackChunkjodit_pro||[]).push([[850],{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>'},28609:function(e,t,n){"use strict";var i=n(69341),o=n(5440),l=n(78955),s=n.n(l),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,i.detectActiveStyle)(e,t)},update(e,t){let n=e.o.customStyles.definitions;if(!n.length)return;let o=(0,i.detectActiveStyle)(e,n),l=t.control?.component==="select";(e.o.textIcons||l)&&(o?t.state.text=o.name:t.state.text=l?e.i18n("Styles"):"")},exec:()=>!1,popup(e,t,n){let i=e.o.customStyles.definitions;if(!i.length)return!1;e.s.current()||e.s.focus(),e.s.save();let l=(0,o.buildStylePopup)(e,i,()=>{e.s.restore(),n()});return e.e.one("beforePopupClose",()=>{e.s.restore()}),l}}},31105:function(e,t,n){"use strict";n.d(t,{applyStyle:function(){return c}});var i=n(69341),o=n(82758),l=n(2748);function s(e,t){let n=e.s.current();if(!n)return null;if(o.IS_BLOCK.test(t.element))return l.Dom.closest(n,l.Dom.isBlock,e.editor);let i=l.Dom.isElement(n)?n:n.parentNode;for(;i&&i!==e.editor;){if(l.Dom.isElement(i)&&i.nodeName.toLowerCase()===t.element)return i;i=i.parentNode}return null}function r(e,t){for(let n of t)e.classList.remove(n);""===e.className&&e.removeAttribute("class")}function u(e){if(e.attributes)return{element:e.element,attributes:e.attributes};let t=e.classes?.filter(Boolean)[0];return t?{element:e.element,attributes:{class:t}}:{element:e.element}}function c(e,t,n){let c=(0,i.detectActiveStyle)(e,n);(!c||(e.s.commitStyle(u(c)),c.attributes||function(e,t){let n=t.classes?.filter(Boolean);if(!n||n.length<=1)return;let i=e.s.current();if(i)if(o.IS_BLOCK.test(t.element)){let t=l.Dom.closest(i,l.Dom.isBlock,e.editor);t&&r(t,n.slice(1))}else{let i=s(e,t);i&&(r(i,n.slice(1)),"span"!==i.nodeName.toLowerCase()||i.attributes.length||l.Dom.unwrap(i))}}(e,c),c!==t))&&(e.s.commitStyle(u(t)),t.attributes||function(e,t){let n=t.classes?.filter(Boolean);if(!n||n.length<=1)return;let i=s(e,t);if(i)for(let e=1;e<n.length;e++)i.classList.add(n[e])}(e,t))}},8060:function(e,t,n){"use strict";n.d(t,{classifyDefinitions:function(){return o}});var i=n(82758);function o(e){let t=[],n=[];for(let o of e)i.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}},69341:function(e,t,n){"use strict";n.d(t,{detectActiveStyle:function(){return u}});var i=n(82758),o=n(2748),l=n(29960),s=n(41180);function r(e,t){if(e.nodeName.toLowerCase()!==t.element)return!1;if(t.attributes){for(let[n,i]of Object.entries(t.attributes))if(null!=i){if("class"===n){if("string"==typeof i&&!e.classList.contains(i))return!1}else if("style"===n){if("object"==typeof i&&null!=i){for(let[t,n]of Object.entries(i))if(null!=n&&(0,s.css)(e,t,!0)!==n+"")return!1}}else if((0,l.attr)(e,n)!==i+"")return!1}return!0}let n=t.classes?.filter(Boolean);return!n?.length||n.every(t=>e.classList.contains(t))}function u(e,t){let n=e.s.current();if(!n)return null;for(let l of t)if(i.IS_BLOCK.test(l.element)){let t=o.Dom.closest(n,o.Dom.isBlock,e.editor);if(t&&r(t,l))return l}else{let t=o.Dom.isElement(n)?n:n.parentNode;for(;t&&t!==e.editor;){if(o.Dom.isElement(t)&&r(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 s}});var i=n(82749);n(28609);var o=n(50911),l=n(2692);class s extends o.Plugin{afterInit(e){}beforeDestruct(e){}constructor(...e){super(...e),(0,i._)(this,"buttons",[{name:"style",group:"font"}])}}(0,i._)(s,"requires",["license"]),l.JoditPro.plugins.add("style",s)},5440:function(e,t,n){"use strict";n.d(t,{buildStylePopup:function(){return u}});var i=n(31105),o=n(8060),l=n(69341),s=n(29960);let r="jodit-style-popup";function u(e,t,n){let u=(0,o.classifyDefinitions)(t),c=(0,l.detectActiveStyle)(e,t),f=e.c.div(r);for(let o of u){let l=e.c.div(`${r}__group-title`);l.textContent=e.i18n(o.title),f.appendChild(l);let u=e.c.div(`${r}__grid`);for(let l of o.definitions){let o=e.c.element("button");o.type="button",o.className=`${r}__card`+(c===l?` ${r}__card_active_true`:"");let f=e.c.div(`${r}__card-preview`),a=e.c.element(l.element);if(l.attributes)(0,s.attr)(a,l.attributes);else for(let e of l.classes?.filter(Boolean)??[])a.classList.add(e);a.textContent=l.name,f.appendChild(a),o.appendChild(f);let d=e.c.div(`${r}__card-label`);d.textContent=l.name,o.appendChild(d),e.e.on(o,"click",()=>{e.s.focus(),(0,i.applyStyle)(e,l,t),e.synchronizeValues(),n()}),u.appendChild(o)}f.appendChild(u)}return f}}},function(e){return e(e.s=75554)}])});