jodit-pro 4.9.30 → 4.9.35

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 (311) hide show
  1. package/CHANGELOG.md +17 -1
  2. package/es2015/jodit.css +1 -1
  3. package/es2015/jodit.fat.min.js +13 -13
  4. package/es2015/jodit.js +15 -10
  5. package/es2015/jodit.min.js +5 -5
  6. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  7. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.js +37 -38
  8. package/es2015/plugins/ai-assistant-pro/ai-assistant-pro.min.js +3 -3
  9. package/es2015/plugins/autocomplete/autocomplete.js +1 -1
  10. package/es2015/plugins/autocomplete/autocomplete.min.js +1 -1
  11. package/es2015/plugins/backup/backup.css +1 -1
  12. package/es2015/plugins/backup/backup.js +1 -1
  13. package/es2015/plugins/backup/backup.min.js +1 -1
  14. package/es2015/plugins/button-generator/button-generator.css +1 -1
  15. package/es2015/plugins/button-generator/button-generator.js +1 -1
  16. package/es2015/plugins/button-generator/button-generator.min.js +1 -1
  17. package/es2015/plugins/change-case/change-case.js +1 -1
  18. package/es2015/plugins/change-case/change-case.min.js +1 -1
  19. package/es2015/plugins/color-picker/color-picker.css +1 -1
  20. package/es2015/plugins/color-picker/color-picker.js +1 -1
  21. package/es2015/plugins/color-picker/color-picker.min.js +1 -1
  22. package/es2015/plugins/emoji/emoji.css +1 -1
  23. package/es2015/plugins/emoji/emoji.js +1 -1
  24. package/es2015/plugins/emoji/emoji.min.js +1 -1
  25. package/es2015/plugins/export-docs/export-docs.js +1 -1
  26. package/es2015/plugins/export-docs/export-docs.min.js +1 -1
  27. package/es2015/plugins/finder/finder.css +1 -1
  28. package/es2015/plugins/finder/finder.js +40 -4
  29. package/es2015/plugins/finder/finder.min.js +4 -4
  30. package/es2015/plugins/google-maps/google-maps.css +1 -1
  31. package/es2015/plugins/google-maps/google-maps.js +1 -1
  32. package/es2015/plugins/google-maps/google-maps.min.js +1 -1
  33. package/es2015/plugins/google-search/google-search.js +1 -1
  34. package/es2015/plugins/google-search/google-search.min.js +1 -1
  35. package/es2015/plugins/highlight-signature/highlight-signature.js +1 -1
  36. package/es2015/plugins/highlight-signature/highlight-signature.min.js +1 -1
  37. package/es2015/plugins/iframe-editor/iframe-editor.css +1 -1
  38. package/es2015/plugins/iframe-editor/iframe-editor.js +1 -1
  39. package/es2015/plugins/iframe-editor/iframe-editor.min.js +1 -1
  40. package/es2015/plugins/keyboard/keyboard.css +1 -1
  41. package/es2015/plugins/keyboard/keyboard.js +1 -1
  42. package/es2015/plugins/keyboard/keyboard.min.js +1 -1
  43. package/es2015/plugins/mobile-view/mobile-view.js +1 -1
  44. package/es2015/plugins/mobile-view/mobile-view.min.js +1 -1
  45. package/es2015/plugins/page-break/page-break.js +1 -1
  46. package/es2015/plugins/page-break/page-break.min.js +1 -1
  47. package/es2015/plugins/paste-code/paste-code.css +1 -1
  48. package/es2015/plugins/paste-code/paste-code.js +1 -1
  49. package/es2015/plugins/paste-code/paste-code.min.js +1 -1
  50. package/es2015/plugins/paste-from-word/paste-from-word.js +1 -1
  51. package/es2015/plugins/paste-from-word/paste-from-word.min.js +1 -1
  52. package/es2015/plugins/show-blocks/show-blocks.js +1 -1
  53. package/es2015/plugins/show-blocks/show-blocks.min.js +1 -1
  54. package/es2015/plugins/style/style.css +1 -1
  55. package/es2015/plugins/style/style.js +37 -21
  56. package/es2015/plugins/style/style.min.js +2 -2
  57. package/es2015/plugins/templates/templates.css +1 -1
  58. package/es2015/plugins/templates/templates.js +1 -1
  59. package/es2015/plugins/templates/templates.min.js +1 -1
  60. package/es2015/plugins/todo-list/todo-list.css +1 -1
  61. package/es2015/plugins/todo-list/todo-list.js +1 -1
  62. package/es2015/plugins/todo-list/todo-list.min.js +1 -1
  63. package/es2015/plugins/translate/translate.css +1 -1
  64. package/es2015/plugins/translate/translate.js +1 -1
  65. package/es2015/plugins/translate/translate.min.js +1 -1
  66. package/es2015/plugins/tune-block/tune-block.css +1 -1
  67. package/es2015/plugins/tune-block/tune-block.js +1 -1
  68. package/es2015/plugins/tune-block/tune-block.min.js +1 -1
  69. package/es2018/jodit.fat.min.js +13 -13
  70. package/es2018/jodit.min.js +5 -5
  71. package/es2018/plugins/ai-assistant-pro/ai-assistant-pro.min.js +3 -3
  72. package/es2018/plugins/autocomplete/autocomplete.min.js +1 -1
  73. package/es2018/plugins/backup/backup.min.js +1 -1
  74. package/es2018/plugins/button-generator/button-generator.min.js +1 -1
  75. package/es2018/plugins/change-case/change-case.min.js +1 -1
  76. package/es2018/plugins/color-picker/color-picker.min.js +1 -1
  77. package/es2018/plugins/emoji/emoji.min.js +1 -1
  78. package/es2018/plugins/export-docs/export-docs.min.js +1 -1
  79. package/es2018/plugins/finder/finder.min.js +3 -3
  80. package/es2018/plugins/google-maps/google-maps.min.js +1 -1
  81. package/es2018/plugins/google-search/google-search.min.js +1 -1
  82. package/es2018/plugins/highlight-signature/highlight-signature.min.js +1 -1
  83. package/es2018/plugins/iframe-editor/iframe-editor.min.js +1 -1
  84. package/es2018/plugins/keyboard/keyboard.min.js +1 -1
  85. package/es2018/plugins/mobile-view/mobile-view.min.js +1 -1
  86. package/es2018/plugins/page-break/page-break.min.js +1 -1
  87. package/es2018/plugins/paste-code/paste-code.min.js +1 -1
  88. package/es2018/plugins/paste-from-word/paste-from-word.min.js +1 -1
  89. package/es2018/plugins/show-blocks/show-blocks.min.js +1 -1
  90. package/es2018/plugins/style/style.min.js +2 -2
  91. package/es2018/plugins/templates/templates.min.js +1 -1
  92. package/es2018/plugins/todo-list/todo-list.min.js +1 -1
  93. package/es2018/plugins/translate/translate.min.js +1 -1
  94. package/es2018/plugins/tune-block/tune-block.min.js +1 -1
  95. package/es2021/jodit.css +1 -1
  96. package/es2021/jodit.fat.min.js +13 -13
  97. package/es2021/jodit.js +15 -10
  98. package/es2021/jodit.min.js +6 -6
  99. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  100. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.js +37 -38
  101. package/es2021/plugins/ai-assistant-pro/ai-assistant-pro.min.js +3 -3
  102. package/es2021/plugins/autocomplete/autocomplete.js +1 -1
  103. package/es2021/plugins/autocomplete/autocomplete.min.js +1 -1
  104. package/es2021/plugins/backup/backup.css +1 -1
  105. package/es2021/plugins/backup/backup.js +1 -1
  106. package/es2021/plugins/backup/backup.min.js +1 -1
  107. package/es2021/plugins/button-generator/button-generator.css +1 -1
  108. package/es2021/plugins/button-generator/button-generator.js +1 -1
  109. package/es2021/plugins/button-generator/button-generator.min.js +1 -1
  110. package/es2021/plugins/change-case/change-case.js +1 -1
  111. package/es2021/plugins/change-case/change-case.min.js +1 -1
  112. package/es2021/plugins/color-picker/color-picker.css +1 -1
  113. package/es2021/plugins/color-picker/color-picker.js +1 -1
  114. package/es2021/plugins/color-picker/color-picker.min.js +1 -1
  115. package/es2021/plugins/emoji/emoji.css +1 -1
  116. package/es2021/plugins/emoji/emoji.js +1 -1
  117. package/es2021/plugins/emoji/emoji.min.js +1 -1
  118. package/es2021/plugins/export-docs/export-docs.js +1 -1
  119. package/es2021/plugins/export-docs/export-docs.min.js +1 -1
  120. package/es2021/plugins/finder/finder.css +1 -1
  121. package/es2021/plugins/finder/finder.js +40 -4
  122. package/es2021/plugins/finder/finder.min.js +4 -4
  123. package/es2021/plugins/google-maps/google-maps.css +1 -1
  124. package/es2021/plugins/google-maps/google-maps.js +1 -1
  125. package/es2021/plugins/google-maps/google-maps.min.js +1 -1
  126. package/es2021/plugins/google-search/google-search.js +1 -1
  127. package/es2021/plugins/google-search/google-search.min.js +1 -1
  128. package/es2021/plugins/highlight-signature/highlight-signature.js +1 -1
  129. package/es2021/plugins/highlight-signature/highlight-signature.min.js +1 -1
  130. package/es2021/plugins/iframe-editor/iframe-editor.css +1 -1
  131. package/es2021/plugins/iframe-editor/iframe-editor.js +1 -1
  132. package/es2021/plugins/iframe-editor/iframe-editor.min.js +1 -1
  133. package/es2021/plugins/keyboard/keyboard.css +1 -1
  134. package/es2021/plugins/keyboard/keyboard.js +1 -1
  135. package/es2021/plugins/keyboard/keyboard.min.js +1 -1
  136. package/es2021/plugins/mobile-view/mobile-view.js +1 -1
  137. package/es2021/plugins/mobile-view/mobile-view.min.js +1 -1
  138. package/es2021/plugins/page-break/page-break.js +1 -1
  139. package/es2021/plugins/page-break/page-break.min.js +1 -1
  140. package/es2021/plugins/paste-code/paste-code.css +1 -1
  141. package/es2021/plugins/paste-code/paste-code.js +1 -1
  142. package/es2021/plugins/paste-code/paste-code.min.js +1 -1
  143. package/es2021/plugins/paste-from-word/paste-from-word.js +1 -1
  144. package/es2021/plugins/paste-from-word/paste-from-word.min.js +1 -1
  145. package/es2021/plugins/show-blocks/show-blocks.js +1 -1
  146. package/es2021/plugins/show-blocks/show-blocks.min.js +1 -1
  147. package/es2021/plugins/style/style.css +1 -1
  148. package/es2021/plugins/style/style.js +31 -21
  149. package/es2021/plugins/style/style.min.js +2 -2
  150. package/es2021/plugins/templates/templates.css +1 -1
  151. package/es2021/plugins/templates/templates.js +1 -1
  152. package/es2021/plugins/templates/templates.min.js +1 -1
  153. package/es2021/plugins/todo-list/todo-list.css +1 -1
  154. package/es2021/plugins/todo-list/todo-list.js +1 -1
  155. package/es2021/plugins/todo-list/todo-list.min.js +1 -1
  156. package/es2021/plugins/translate/translate.css +1 -1
  157. package/es2021/plugins/translate/translate.js +1 -1
  158. package/es2021/plugins/translate/translate.min.js +1 -1
  159. package/es2021/plugins/tune-block/tune-block.css +1 -1
  160. package/es2021/plugins/tune-block/tune-block.js +1 -1
  161. package/es2021/plugins/tune-block/tune-block.min.js +1 -1
  162. package/es2021.en/jodit.css +1 -1
  163. package/es2021.en/jodit.fat.min.js +12 -12
  164. package/es2021.en/jodit.js +15 -10
  165. package/es2021.en/jodit.min.js +6 -6
  166. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  167. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.js +37 -38
  168. package/es2021.en/plugins/ai-assistant-pro/ai-assistant-pro.min.js +3 -3
  169. package/es2021.en/plugins/autocomplete/autocomplete.js +1 -1
  170. package/es2021.en/plugins/autocomplete/autocomplete.min.js +1 -1
  171. package/es2021.en/plugins/backup/backup.css +1 -1
  172. package/es2021.en/plugins/backup/backup.js +1 -1
  173. package/es2021.en/plugins/backup/backup.min.js +1 -1
  174. package/es2021.en/plugins/button-generator/button-generator.css +1 -1
  175. package/es2021.en/plugins/button-generator/button-generator.js +1 -1
  176. package/es2021.en/plugins/button-generator/button-generator.min.js +1 -1
  177. package/es2021.en/plugins/change-case/change-case.js +1 -1
  178. package/es2021.en/plugins/change-case/change-case.min.js +1 -1
  179. package/es2021.en/plugins/color-picker/color-picker.css +1 -1
  180. package/es2021.en/plugins/color-picker/color-picker.js +1 -1
  181. package/es2021.en/plugins/color-picker/color-picker.min.js +1 -1
  182. package/es2021.en/plugins/emoji/emoji.css +1 -1
  183. package/es2021.en/plugins/emoji/emoji.js +1 -1
  184. package/es2021.en/plugins/emoji/emoji.min.js +1 -1
  185. package/es2021.en/plugins/export-docs/export-docs.js +1 -1
  186. package/es2021.en/plugins/export-docs/export-docs.min.js +1 -1
  187. package/es2021.en/plugins/finder/finder.css +1 -1
  188. package/es2021.en/plugins/finder/finder.js +6 -4
  189. package/es2021.en/plugins/finder/finder.min.js +2 -2
  190. package/es2021.en/plugins/google-maps/google-maps.css +1 -1
  191. package/es2021.en/plugins/google-maps/google-maps.js +1 -1
  192. package/es2021.en/plugins/google-maps/google-maps.min.js +1 -1
  193. package/es2021.en/plugins/google-search/google-search.js +1 -1
  194. package/es2021.en/plugins/google-search/google-search.min.js +1 -1
  195. package/es2021.en/plugins/highlight-signature/highlight-signature.js +1 -1
  196. package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +1 -1
  197. package/es2021.en/plugins/iframe-editor/iframe-editor.css +1 -1
  198. package/es2021.en/plugins/iframe-editor/iframe-editor.js +1 -1
  199. package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +1 -1
  200. package/es2021.en/plugins/keyboard/keyboard.css +1 -1
  201. package/es2021.en/plugins/keyboard/keyboard.js +1 -1
  202. package/es2021.en/plugins/keyboard/keyboard.min.js +1 -1
  203. package/es2021.en/plugins/mobile-view/mobile-view.js +1 -1
  204. package/es2021.en/plugins/mobile-view/mobile-view.min.js +1 -1
  205. package/es2021.en/plugins/page-break/page-break.js +1 -1
  206. package/es2021.en/plugins/page-break/page-break.min.js +1 -1
  207. package/es2021.en/plugins/paste-code/paste-code.css +1 -1
  208. package/es2021.en/plugins/paste-code/paste-code.js +1 -1
  209. package/es2021.en/plugins/paste-code/paste-code.min.js +1 -1
  210. package/es2021.en/plugins/paste-from-word/paste-from-word.js +1 -1
  211. package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +1 -1
  212. package/es2021.en/plugins/show-blocks/show-blocks.js +1 -1
  213. package/es2021.en/plugins/show-blocks/show-blocks.min.js +1 -1
  214. package/es2021.en/plugins/style/style.css +1 -1
  215. package/es2021.en/plugins/style/style.js +31 -21
  216. package/es2021.en/plugins/style/style.min.js +2 -2
  217. package/es2021.en/plugins/templates/templates.css +1 -1
  218. package/es2021.en/plugins/templates/templates.js +1 -1
  219. package/es2021.en/plugins/templates/templates.min.js +1 -1
  220. package/es2021.en/plugins/todo-list/todo-list.css +1 -1
  221. package/es2021.en/plugins/todo-list/todo-list.js +1 -1
  222. package/es2021.en/plugins/todo-list/todo-list.min.js +1 -1
  223. package/es2021.en/plugins/translate/translate.css +1 -1
  224. package/es2021.en/plugins/translate/translate.js +1 -1
  225. package/es2021.en/plugins/translate/translate.min.js +1 -1
  226. package/es2021.en/plugins/tune-block/tune-block.css +1 -1
  227. package/es2021.en/plugins/tune-block/tune-block.js +1 -1
  228. package/es2021.en/plugins/tune-block/tune-block.min.js +1 -1
  229. package/es5/jodit.css +2 -2
  230. package/es5/jodit.fat.min.js +2 -2
  231. package/es5/jodit.js +15 -10
  232. package/es5/jodit.min.css +2 -2
  233. package/es5/jodit.min.js +2 -2
  234. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.css +1 -1
  235. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.js +34 -35
  236. package/es5/plugins/ai-assistant-pro/ai-assistant-pro.min.js +2 -2
  237. package/es5/plugins/autocomplete/autocomplete.js +1 -1
  238. package/es5/plugins/autocomplete/autocomplete.min.js +1 -1
  239. package/es5/plugins/backup/backup.css +1 -1
  240. package/es5/plugins/backup/backup.js +1 -1
  241. package/es5/plugins/backup/backup.min.js +1 -1
  242. package/es5/plugins/button-generator/button-generator.css +1 -1
  243. package/es5/plugins/button-generator/button-generator.js +1 -1
  244. package/es5/plugins/button-generator/button-generator.min.js +1 -1
  245. package/es5/plugins/change-case/change-case.js +1 -1
  246. package/es5/plugins/change-case/change-case.min.js +1 -1
  247. package/es5/plugins/color-picker/color-picker.css +1 -1
  248. package/es5/plugins/color-picker/color-picker.js +1 -1
  249. package/es5/plugins/color-picker/color-picker.min.js +1 -1
  250. package/es5/plugins/emoji/emoji.css +1 -1
  251. package/es5/plugins/emoji/emoji.js +1 -1
  252. package/es5/plugins/emoji/emoji.min.js +1 -1
  253. package/es5/plugins/export-docs/export-docs.js +1 -1
  254. package/es5/plugins/export-docs/export-docs.min.js +1 -1
  255. package/es5/plugins/finder/finder.css +1 -1
  256. package/es5/plugins/finder/finder.js +40 -4
  257. package/es5/plugins/finder/finder.min.js +2 -2
  258. package/es5/plugins/google-maps/google-maps.css +1 -1
  259. package/es5/plugins/google-maps/google-maps.js +1 -1
  260. package/es5/plugins/google-maps/google-maps.min.js +1 -1
  261. package/es5/plugins/google-search/google-search.js +1 -1
  262. package/es5/plugins/google-search/google-search.min.js +1 -1
  263. package/es5/plugins/highlight-signature/highlight-signature.js +1 -1
  264. package/es5/plugins/highlight-signature/highlight-signature.min.js +1 -1
  265. package/es5/plugins/iframe-editor/iframe-editor.css +1 -1
  266. package/es5/plugins/iframe-editor/iframe-editor.js +1 -1
  267. package/es5/plugins/iframe-editor/iframe-editor.min.js +1 -1
  268. package/es5/plugins/keyboard/keyboard.css +1 -1
  269. package/es5/plugins/keyboard/keyboard.js +1 -1
  270. package/es5/plugins/keyboard/keyboard.min.js +1 -1
  271. package/es5/plugins/mobile-view/mobile-view.js +1 -1
  272. package/es5/plugins/mobile-view/mobile-view.min.js +1 -1
  273. package/es5/plugins/page-break/page-break.js +1 -1
  274. package/es5/plugins/page-break/page-break.min.js +1 -1
  275. package/es5/plugins/paste-code/paste-code.css +1 -1
  276. package/es5/plugins/paste-code/paste-code.js +1 -1
  277. package/es5/plugins/paste-code/paste-code.min.js +1 -1
  278. package/es5/plugins/paste-from-word/paste-from-word.js +1 -1
  279. package/es5/plugins/paste-from-word/paste-from-word.min.js +1 -1
  280. package/es5/plugins/show-blocks/show-blocks.js +1 -1
  281. package/es5/plugins/show-blocks/show-blocks.min.js +1 -1
  282. package/es5/plugins/style/style.css +1 -1
  283. package/es5/plugins/style/style.js +37 -21
  284. package/es5/plugins/style/style.min.js +2 -2
  285. package/es5/plugins/templates/templates.css +1 -1
  286. package/es5/plugins/templates/templates.js +1 -1
  287. package/es5/plugins/templates/templates.min.js +1 -1
  288. package/es5/plugins/todo-list/todo-list.css +1 -1
  289. package/es5/plugins/todo-list/todo-list.js +1 -1
  290. package/es5/plugins/todo-list/todo-list.min.js +1 -1
  291. package/es5/plugins/translate/translate.css +1 -1
  292. package/es5/plugins/translate/translate.js +1 -1
  293. package/es5/plugins/translate/translate.min.js +1 -1
  294. package/es5/plugins/tune-block/tune-block.css +1 -1
  295. package/es5/plugins/tune-block/tune-block.js +1 -1
  296. package/es5/plugins/tune-block/tune-block.min.js +1 -1
  297. package/es5/polyfills.fat.min.js +2 -2
  298. package/es5/polyfills.js +1 -1
  299. package/es5/polyfills.min.js +2 -2
  300. package/esm/plugins/finder/langs/de.d.ts +22 -0
  301. package/esm/plugins/finder/langs/de.js +1 -0
  302. package/esm/plugins/finder/langs/index.d.ts +2 -1
  303. package/esm/plugins/finder/langs/index.js +1 -1
  304. package/esm/plugins/style/helpers/apply-style.js +1 -1
  305. package/esm/plugins/style/helpers/detect-active-style.js +1 -1
  306. package/esm/plugins/style/interface.d.ts +1 -1
  307. package/esm/plugins/style/ui/style-popup.js +1 -1
  308. package/package.json +1 -1
  309. package/types/plugins/finder/langs/de.d.ts +22 -0
  310. package/types/plugins/finder/langs/index.d.ts +2 -1
  311. package/types/plugins/style/interface.d.ts +1 -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.9.30
4
+ * Version: v4.9.35
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */
@@ -46,13 +46,15 @@ function buildStylePopup(editor, definitions, close) {
46
46
  container.appendChild(title);
47
47
  const grid = editor.c.div(`${CLASS_NAME}__grid`);
48
48
  for (const def of group.definitions){
49
+ var _ref;
50
+ var _def_classes;
49
51
  const card = editor.c.element('button');
50
52
  card.type = 'button';
51
53
  const isActive = active === def;
52
54
  card.className = `${CLASS_NAME}__card` + (isActive ? ` ${CLASS_NAME}__card_active_true` : '');
53
55
  const preview = editor.c.div(`${CLASS_NAME}__card-preview`);
54
56
  const previewEl = editor.c.element(def.element);
55
- for (const cls of def.classes){
57
+ for (const cls of (_ref = (_def_classes = def.classes) === null || _def_classes === void 0 ? void 0 : _def_classes.filter(Boolean)) !== null && _ref !== void 0 ? _ref : []){
56
58
  previewEl.classList.add(cls);
57
59
  }
58
60
  previewEl.textContent = def.name;
@@ -237,7 +239,9 @@ function removeClassesFromElement(el, classes) {
237
239
  }
238
240
  }
239
241
  function cleanupExtraClasses(editor, def) {
240
- if (def.classes.length <= 1) {
242
+ var _def_classes;
243
+ const classes = (_def_classes = def.classes) === null || _def_classes === void 0 ? void 0 : _def_classes.filter(Boolean);
244
+ if (!classes || classes.length <= 1) {
241
245
  return;
242
246
  }
243
247
  const current = editor.s.current();
@@ -247,12 +251,12 @@ function cleanupExtraClasses(editor, def) {
247
251
  if (jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_1__.IS_BLOCK.test(def.element)) {
248
252
  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);
249
253
  if (block) {
250
- removeClassesFromElement(block, def.classes.slice(1));
254
+ removeClassesFromElement(block, classes.slice(1));
251
255
  }
252
256
  } else {
253
257
  const target = findTarget(editor, def);
254
258
  if (target) {
255
- removeClassesFromElement(target, def.classes.slice(1));
259
+ removeClassesFromElement(target, classes.slice(1));
256
260
  if (target.nodeName.toLowerCase() === 'span' && !target.attributes.length) {
257
261
  jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__.Dom.unwrap(target);
258
262
  }
@@ -260,37 +264,44 @@ function cleanupExtraClasses(editor, def) {
260
264
  }
261
265
  }
262
266
  function addExtraClasses(editor, def) {
263
- if (def.classes.length <= 1) {
267
+ var _def_classes;
268
+ const classes = (_def_classes = def.classes) === null || _def_classes === void 0 ? void 0 : _def_classes.filter(Boolean);
269
+ if (!classes || classes.length <= 1) {
264
270
  return;
265
271
  }
266
272
  const target = findTarget(editor, def);
267
273
  if (!target) {
268
274
  return;
269
275
  }
270
- for(let i = 1; i < def.classes.length; i++){
271
- target.classList.add(def.classes[i]);
276
+ for(let i = 1; i < classes.length; i++){
277
+ target.classList.add(classes[i]);
272
278
  }
273
279
  }
280
+ function buildCommitStyleOptions(def) {
281
+ var _def_classes;
282
+ const firstClass = (_def_classes = def.classes) === null || _def_classes === void 0 ? void 0 : _def_classes.filter(Boolean)[0];
283
+ if (firstClass) {
284
+ return {
285
+ element: def.element,
286
+ attributes: {
287
+ class: firstClass
288
+ }
289
+ };
290
+ }
291
+ return {
292
+ element: def.element
293
+ };
294
+ }
274
295
  function applyStyle(editor, def, definitions) {
275
296
  const active = (0,_detect_active_style__WEBPACK_IMPORTED_MODULE_0__.detectActiveStyle)(editor, definitions);
276
297
  if (active) {
277
- editor.s.commitStyle({
278
- element: active.element,
279
- attributes: {
280
- class: active.classes[0]
281
- }
282
- });
298
+ editor.s.commitStyle(buildCommitStyleOptions(active));
283
299
  cleanupExtraClasses(editor, active);
284
300
  if (active === def) {
285
301
  return;
286
302
  }
287
303
  }
288
- editor.s.commitStyle({
289
- element: def.element,
290
- attributes: {
291
- class: def.classes[0]
292
- }
293
- });
304
+ editor.s.commitStyle(buildCommitStyleOptions(def));
294
305
  addExtraClasses(editor, def);
295
306
  }
296
307
 
@@ -313,10 +324,15 @@ function applyStyle(editor, def, definitions) {
313
324
  */
314
325
 
315
326
  function elementMatchesDefinition(el, def) {
327
+ var _def_classes;
316
328
  if (el.nodeName.toLowerCase() !== def.element) {
317
329
  return false;
318
330
  }
319
- return def.classes.every((cls)=>el.classList.contains(cls));
331
+ const classes = (_def_classes = def.classes) === null || _def_classes === void 0 ? void 0 : _def_classes.filter(Boolean);
332
+ if (!(classes === null || classes === void 0 ? void 0 : classes.length)) {
333
+ return true;
334
+ }
335
+ return classes.every((cls)=>el.classList.contains(cls));
320
336
  }
321
337
  function detectActiveStyle(editor, definitions) {
322
338
  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.30
4
+ * Version: v4.9.35
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),l=n(69341);let i="jodit-style-popup";function r(e,t,n){let r=(0,o.classifyDefinitions)(t),c=(0,l.detectActiveStyle)(e,t),u=e.c.div(i);for(let o of r){let l=e.c.div(`${i}__group-title`);l.textContent=e.i18n(o.title),u.appendChild(l);let r=e.c.div(`${i}__grid`);for(let l of o.definitions){let o=e.c.element("button");o.type="button",o.className=`${i}__card`+(c===l?` ${i}__card_active_true`:"");let u=e.c.div(`${i}__card-preview`),f=e.c.element(l.element);for(let e of l.classes)f.classList.add(e);f.textContent=l.name,u.appendChild(f),o.appendChild(u);let a=e.c.div(`${i}__card-label`);a.textContent=l.name,o.appendChild(a),e.e.on(o,"click",()=>{e.s.focus(),(0,s.applyStyle)(e,l,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),l=n(78955),i=n.n(l),r=n(6441);r.Config.prototype.customStyles={definitions:[]},r.Config.prototype.controls.style={tooltip:"Styles",icon:i(),isDisabled(e){return!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){var n;let o=e.o.customStyles.definitions;if(!o.length)return;let l=(0,s.detectActiveStyle)(e,o),i=(null==(n=t.control)?void 0:n.component)==="select";(e.o.textIcons||i)&&(l?t.state.text=l.name:t.state.text=i?e.i18n("Styles"):"")},exec(){return!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 l=(0,o.buildStylePopup)(e,s,()=>{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 s=n(69341),o=n(82758),l=n(2748);function i(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 s=l.Dom.isElement(n)?n:n.parentNode;for(;s&&s!==e.editor;){if(l.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=l.Dom.closest(n,l.Dom.isBlock,e.editor);s&&r(s,t.classes.slice(1))}else{let n=i(e,t);n&&(r(n,t.classes.slice(1)),"span"!==n.nodeName.toLowerCase()||n.attributes.length||l.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=i(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 i}});var s=n(82758),o=n(2748);function l(e,t){return e.nodeName.toLowerCase()===t.element&&t.classes.every(t=>e.classList.contains(t))}function i(e,t){let n=e.s.current();if(!n)return null;for(let i of t)if(s.IS_BLOCK.test(i.element)){let t=o.Dom.closest(n,o.Dom.isBlock,e.editor);if(t&&l(t,i))return i}else{let t=o.Dom.isElement(n)?n:n.parentNode;for(;t&&t!==e.editor;){if(o.Dom.isElement(t)&&l(t,i))return i;t=t.parentNode}}return null}},75554:function(e,t,n){"use strict";n.r(t),n.d(t,{style:function(){return i}});var s=n(82749);n(28609);var o=n(50911),l=n(2692);class i extends o.Plugin{afterInit(e){}beforeDestruct(e){}constructor(...e){super(...e),(0,s._)(this,"buttons",[{name:"style",group:"font"}])}}(0,s._)(i,"requires",["license"]),l.JoditPro.plugins.add("style",i)},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 l in n)("object"==typeof exports?exports:e)[l]=n[l]}}(self,function(){return(self.webpackChunkjodit_pro=self.webpackChunkjodit_pro||[]).push([[850],{5440:function(e,t,n){"use strict";n.d(t,{buildStylePopup:function(){return s}});var l=n(31105),o=n(8060),i=n(69341);let r="jodit-style-popup";function s(e,t,n){let s=(0,o.classifyDefinitions)(t),u=(0,i.detectActiveStyle)(e,t),c=e.c.div(r);for(let o of s){let i=e.c.div(`${r}__group-title`);i.textContent=e.i18n(o.title),c.appendChild(i);let s=e.c.div(`${r}__grid`);for(let i of o.definitions){var f,a;let o=e.c.element("button");o.type="button",o.className=`${r}__card`+(u===i?` ${r}__card_active_true`:"");let c=e.c.div(`${r}__card-preview`),d=e.c.element(i.element);for(let e of null!=(f=null==(a=i.classes)?void 0:a.filter(Boolean))?f:[])d.classList.add(e);d.textContent=i.name,c.appendChild(d),o.appendChild(c);let p=e.c.div(`${r}__card-label`);p.textContent=i.name,o.appendChild(p),e.e.on(o,"click",()=>{e.s.focus(),(0,l.applyStyle)(e,i,t),e.synchronizeValues(),n()}),s.appendChild(o)}c.appendChild(s)}return c}},8060:function(e,t,n){"use strict";n.d(t,{classifyDefinitions:function(){return o}});var l=n(82758);function o(e){let t=[],n=[];for(let o of e)l.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 l=n(69341),o=n(5440),i=n(78955),r=n.n(i),s=n(6441);s.Config.prototype.customStyles={definitions:[]},s.Config.prototype.controls.style={tooltip:"Styles",icon:r(),isDisabled(e){return!e.o.customStyles.definitions.length},isActive(e){let t=e.o.customStyles.definitions;return!!t.length&&null!=(0,l.detectActiveStyle)(e,t)},update(e,t){var n;let o=e.o.customStyles.definitions;if(!o.length)return;let i=(0,l.detectActiveStyle)(e,o),r=(null==(n=t.control)?void 0:n.component)==="select";(e.o.textIcons||r)&&(i?t.state.text=i.name:t.state.text=r?e.i18n("Styles"):"")},exec(){return!1},popup(e,t,n){let l=e.o.customStyles.definitions;if(!l.length)return!1;e.s.current()||e.s.focus(),e.s.save();let i=(0,o.buildStylePopup)(e,l,()=>{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 l=n(69341),o=n(82758),i=n(2748);function r(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 l=i.Dom.isElement(n)?n:n.parentNode;for(;l&&l!==e.editor;){if(i.Dom.isElement(l)&&l.nodeName.toLowerCase()===t.element)return l;l=l.parentNode}return null}function s(e,t){for(let n of t)e.classList.remove(n);""===e.className&&e.removeAttribute("class")}function u(e){var t;let n=null==(t=e.classes)?void 0:t.filter(Boolean)[0];return n?{element:e.element,attributes:{class:n}}:{element:e.element}}function c(e,t,n){let c=(0,l.detectActiveStyle)(e,n);c&&(e.s.commitStyle(u(c)),!function(e,t){var n;let l=null==(n=t.classes)?void 0:n.filter(Boolean);if(!l||l.length<=1)return;let u=e.s.current();if(u)if(o.IS_BLOCK.test(t.element)){let t=i.Dom.closest(u,i.Dom.isBlock,e.editor);t&&s(t,l.slice(1))}else{let n=r(e,t);n&&(s(n,l.slice(1)),"span"!==n.nodeName.toLowerCase()||n.attributes.length||i.Dom.unwrap(n))}}(e,c),c===t)||(e.s.commitStyle(u(t)),function(e,t){var n;let l=null==(n=t.classes)?void 0:n.filter(Boolean);if(!l||l.length<=1)return;let o=r(e,t);if(o)for(let e=1;e<l.length;e++)o.classList.add(l[e])}(e,t))}},69341:function(e,t,n){"use strict";n.d(t,{detectActiveStyle:function(){return r}});var l=n(82758),o=n(2748);function i(e,t){var n;if(e.nodeName.toLowerCase()!==t.element)return!1;let l=null==(n=t.classes)?void 0:n.filter(Boolean);return null==l||!l.length||l.every(t=>e.classList.contains(t))}function r(e,t){let n=e.s.current();if(!n)return null;for(let r of t)if(l.IS_BLOCK.test(r.element)){let t=o.Dom.closest(n,o.Dom.isBlock,e.editor);if(t&&i(t,r))return r}else{let t=o.Dom.isElement(n)?n:n.parentNode;for(;t&&t!==e.editor;){if(o.Dom.isElement(t)&&i(t,r))return r;t=t.parentNode}}return null}},75554:function(e,t,n){"use strict";n.r(t),n.d(t,{style:function(){return r}});var l=n(82749);n(28609);var o=n(50911),i=n(2692);class r extends o.Plugin{afterInit(e){}beforeDestruct(e){}constructor(...e){super(...e),(0,l._)(this,"buttons",[{name:"style",group:"font"}])}}(0,l._)(r,"requires",["license"]),i.JoditPro.plugins.add("style",r)},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)}])});
@@ -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.30
4
+ * Version: v4.9.35
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.30
4
+ * Version: v4.9.35
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.30
4
+ * Version: v4.9.35
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.30
4
+ * Version: v4.9.35
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.30
4
+ * Version: v4.9.35
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.30
4
+ * Version: v4.9.35
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.30
4
+ * Version: v4.9.35
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.30
4
+ * Version: v4.9.35
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.30
4
+ * Version: v4.9.35
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.30
4
+ * Version: v4.9.35
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.30
4
+ * Version: v4.9.35
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.30
4
+ * Version: v4.9.35
5
5
  * Url: https://xdsoft.net/jodit/pro/
6
6
  * License(s): SEE LICENSE IN LICENSE.md
7
7
  */