jodit-pro 1.3.39 → 2.0.0-beta.10

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 (455) hide show
  1. package/.nvmrc +1 -0
  2. package/CHANGELOG.md +982 -0
  3. package/LICENSE.txt +1 -0
  4. package/README.md +27 -27
  5. package/SECURITY.md +10 -0
  6. package/es2015/jodit.css +4945 -0
  7. package/es2015/jodit.fat.min.css +1 -0
  8. package/es2015/jodit.fat.min.js +10 -0
  9. package/es2015/jodit.js +42706 -0
  10. package/es2015/jodit.min.css +1 -0
  11. package/es2015/jodit.min.js +10 -0
  12. package/es2015/plugins/autocomplete/autocomplete.css +26 -0
  13. package/es2015/plugins/autocomplete/autocomplete.js +473 -0
  14. package/es2015/plugins/autocomplete/autocomplete.min.js +10 -0
  15. package/es2015/plugins/backup/backup.css +48 -0
  16. package/es2015/plugins/backup/backup.js +567 -0
  17. package/{build/plugins/backup/backup.css → es2015/plugins/backup/backup.min.css} +1 -1
  18. package/es2015/plugins/backup/backup.min.js +10 -0
  19. package/es2015/plugins/button-generator/button-generator.css +316 -0
  20. package/es2015/plugins/button-generator/button-generator.js +1363 -0
  21. package/es2015/plugins/button-generator/button-generator.min.css +1 -0
  22. package/es2015/plugins/button-generator/button-generator.min.js +10 -0
  23. package/es2015/plugins/change-case/change-case.js +171 -0
  24. package/es2015/plugins/change-case/change-case.min.js +10 -0
  25. package/es2015/plugins/color-picker/color-picker.css +133 -0
  26. package/es2015/plugins/color-picker/color-picker.js +519 -0
  27. package/es2015/plugins/color-picker/color-picker.min.css +1 -0
  28. package/es2015/plugins/color-picker/color-picker.min.js +10 -0
  29. package/es2015/plugins/emoji/emoji.css +108 -0
  30. package/es2015/plugins/emoji/emoji.js +421 -0
  31. package/es2015/plugins/emoji/emoji.min.css +1 -0
  32. package/es2015/plugins/emoji/emoji.min.js +10 -0
  33. package/es2015/plugins/export-docs/export-docs.js +153 -0
  34. package/es2015/plugins/export-docs/export-docs.min.js +10 -0
  35. package/es2015/plugins/finder/finder.css +1342 -0
  36. package/es2015/plugins/finder/finder.js +3175 -0
  37. package/es2015/plugins/finder/finder.min.css +1 -0
  38. package/es2015/plugins/finder/finder.min.js +10 -0
  39. package/es2015/plugins/google-maps/google-maps.css +397 -0
  40. package/es2015/plugins/google-maps/google-maps.js +2492 -0
  41. package/es2015/plugins/google-maps/google-maps.min.css +1 -0
  42. package/es2015/plugins/google-maps/google-maps.min.js +10 -0
  43. package/es2015/plugins/google-search/google-search.js +108 -0
  44. package/es2015/plugins/google-search/google-search.min.js +10 -0
  45. package/es2015/plugins/highlight-signature/highlight-signature.js +233 -0
  46. package/es2015/plugins/highlight-signature/highlight-signature.min.js +10 -0
  47. package/es2015/plugins/iframe-editor/iframe-editor.css +16 -0
  48. package/es2015/plugins/iframe-editor/iframe-editor.js +310 -0
  49. package/es2015/plugins/iframe-editor/iframe-editor.min.js +10 -0
  50. package/es2015/plugins/keyboard/keyboard.css +48 -0
  51. package/es2015/plugins/keyboard/keyboard.js +539 -0
  52. package/es2015/plugins/keyboard/keyboard.min.js +10 -0
  53. package/es2015/plugins/mobile-view/mobile-view.js +170 -0
  54. package/es2015/plugins/mobile-view/mobile-view.min.js +10 -0
  55. package/es2015/plugins/page-break/page-break.js +181 -0
  56. package/es2015/plugins/page-break/page-break.min.js +10 -0
  57. package/es2015/plugins/paste-code/paste-code.css +21 -0
  58. package/es2015/plugins/paste-code/paste-code.js +320 -0
  59. package/es2015/plugins/paste-code/paste-code.min.js +10 -0
  60. package/es2015/plugins/paste-from-word/paste-from-word.js +1541 -0
  61. package/es2015/plugins/paste-from-word/paste-from-word.min.js +10 -0
  62. package/es2015/plugins/show-blocks/show-blocks.js +645 -0
  63. package/es2015/plugins/show-blocks/show-blocks.min.js +10 -0
  64. package/es2015/plugins/todo-list/todo-list.css +77 -0
  65. package/es2015/plugins/todo-list/todo-list.js +314 -0
  66. package/es2015/plugins/todo-list/todo-list.min.css +1 -0
  67. package/es2015/plugins/todo-list/todo-list.min.js +10 -0
  68. package/es2015/plugins/translate/translate.css +91 -0
  69. package/es2015/plugins/translate/translate.js +630 -0
  70. package/es2015/plugins/translate/translate.min.js +10 -0
  71. package/es2015/plugins/tune-block/tune-block.css +37 -0
  72. package/es2015/plugins/tune-block/tune-block.js +387 -0
  73. package/{build/plugins/tune-block/tune-block.css → es2015/plugins/tune-block/tune-block.min.css} +1 -1
  74. package/es2015/plugins/tune-block/tune-block.min.js +10 -0
  75. package/es2018/jodit.css +4945 -0
  76. package/es2018/jodit.fat.min.css +1 -0
  77. package/es2018/jodit.fat.min.js +10 -0
  78. package/es2018/jodit.js +42762 -0
  79. package/es2018/jodit.min.css +1 -0
  80. package/es2018/jodit.min.js +10 -0
  81. package/es2018/plugins/autocomplete/autocomplete.css +26 -0
  82. package/es2018/plugins/autocomplete/autocomplete.js +471 -0
  83. package/es2018/plugins/autocomplete/autocomplete.min.js +10 -0
  84. package/es2018/plugins/backup/backup.css +48 -0
  85. package/es2018/plugins/backup/backup.js +561 -0
  86. package/{build/plugins/backup/backup.es5.css → es2018/plugins/backup/backup.min.css} +1 -1
  87. package/es2018/plugins/backup/backup.min.js +10 -0
  88. package/es2018/plugins/button-generator/button-generator.css +316 -0
  89. package/es2018/plugins/button-generator/button-generator.js +1387 -0
  90. package/es2018/plugins/button-generator/button-generator.min.css +1 -0
  91. package/es2018/plugins/button-generator/button-generator.min.js +10 -0
  92. package/es2018/plugins/change-case/change-case.js +171 -0
  93. package/es2018/plugins/change-case/change-case.min.js +10 -0
  94. package/es2018/plugins/color-picker/color-picker.css +133 -0
  95. package/es2018/plugins/color-picker/color-picker.js +519 -0
  96. package/es2018/plugins/color-picker/color-picker.min.css +1 -0
  97. package/es2018/plugins/color-picker/color-picker.min.js +10 -0
  98. package/es2018/plugins/emoji/emoji.css +108 -0
  99. package/es2018/plugins/emoji/emoji.js +425 -0
  100. package/es2018/plugins/emoji/emoji.min.css +1 -0
  101. package/es2018/plugins/emoji/emoji.min.js +10 -0
  102. package/es2018/plugins/export-docs/export-docs.js +157 -0
  103. package/es2018/plugins/export-docs/export-docs.min.js +10 -0
  104. package/es2018/plugins/finder/finder.css +1342 -0
  105. package/es2018/plugins/finder/finder.js +3160 -0
  106. package/es2018/plugins/finder/finder.min.css +1 -0
  107. package/es2018/plugins/finder/finder.min.js +10 -0
  108. package/es2018/plugins/google-maps/google-maps.css +397 -0
  109. package/es2018/plugins/google-maps/google-maps.js +2556 -0
  110. package/es2018/plugins/google-maps/google-maps.min.css +1 -0
  111. package/es2018/plugins/google-maps/google-maps.min.js +10 -0
  112. package/es2018/plugins/google-search/google-search.js +108 -0
  113. package/es2018/plugins/google-search/google-search.min.js +10 -0
  114. package/es2018/plugins/highlight-signature/highlight-signature.js +233 -0
  115. package/es2018/plugins/highlight-signature/highlight-signature.min.js +10 -0
  116. package/es2018/plugins/iframe-editor/iframe-editor.css +16 -0
  117. package/es2018/plugins/iframe-editor/iframe-editor.js +310 -0
  118. package/es2018/plugins/iframe-editor/iframe-editor.min.js +10 -0
  119. package/es2018/plugins/keyboard/keyboard.css +48 -0
  120. package/es2018/plugins/keyboard/keyboard.js +539 -0
  121. package/es2018/plugins/keyboard/keyboard.min.js +10 -0
  122. package/es2018/plugins/mobile-view/mobile-view.js +170 -0
  123. package/es2018/plugins/mobile-view/mobile-view.min.js +10 -0
  124. package/es2018/plugins/page-break/page-break.js +181 -0
  125. package/es2018/plugins/page-break/page-break.min.js +10 -0
  126. package/es2018/plugins/paste-code/paste-code.css +21 -0
  127. package/es2018/plugins/paste-code/paste-code.js +318 -0
  128. package/es2018/plugins/paste-code/paste-code.min.js +10 -0
  129. package/es2018/plugins/paste-from-word/paste-from-word.js +1541 -0
  130. package/es2018/plugins/paste-from-word/paste-from-word.min.js +10 -0
  131. package/es2018/plugins/show-blocks/show-blocks.js +645 -0
  132. package/es2018/plugins/show-blocks/show-blocks.min.js +10 -0
  133. package/es2018/plugins/todo-list/todo-list.css +77 -0
  134. package/es2018/plugins/todo-list/todo-list.js +314 -0
  135. package/es2018/plugins/todo-list/todo-list.min.css +1 -0
  136. package/es2018/plugins/todo-list/todo-list.min.js +10 -0
  137. package/es2018/plugins/translate/translate.css +91 -0
  138. package/es2018/plugins/translate/translate.js +639 -0
  139. package/es2018/plugins/translate/translate.min.js +10 -0
  140. package/es2018/plugins/tune-block/tune-block.css +37 -0
  141. package/es2018/plugins/tune-block/tune-block.js +387 -0
  142. package/{build/plugins/tune-block/tune-block.es5.css → es2018/plugins/tune-block/tune-block.min.css} +1 -1
  143. package/es2018/plugins/tune-block/tune-block.min.js +10 -0
  144. package/es2021/jodit.css +4945 -0
  145. package/es2021/jodit.fat.min.css +1 -0
  146. package/es2021/jodit.fat.min.js +10 -0
  147. package/es2021/jodit.js +42643 -0
  148. package/es2021/jodit.min.css +1 -0
  149. package/es2021/jodit.min.js +10 -0
  150. package/es2021/plugins/autocomplete/autocomplete.css +26 -0
  151. package/es2021/plugins/autocomplete/autocomplete.js +463 -0
  152. package/es2021/plugins/autocomplete/autocomplete.min.css +1 -0
  153. package/es2021/plugins/autocomplete/autocomplete.min.js +10 -0
  154. package/es2021/plugins/backup/backup.css +48 -0
  155. package/es2021/plugins/backup/backup.js +554 -0
  156. package/es2021/plugins/backup/backup.min.css +1 -0
  157. package/es2021/plugins/backup/backup.min.js +10 -0
  158. package/es2021/plugins/button-generator/button-generator.css +316 -0
  159. package/es2021/plugins/button-generator/button-generator.js +1382 -0
  160. package/es2021/plugins/button-generator/button-generator.min.css +1 -0
  161. package/es2021/plugins/button-generator/button-generator.min.js +10 -0
  162. package/es2021/plugins/change-case/change-case.js +171 -0
  163. package/es2021/plugins/change-case/change-case.min.js +10 -0
  164. package/es2021/plugins/color-picker/color-picker.css +133 -0
  165. package/es2021/plugins/color-picker/color-picker.js +517 -0
  166. package/es2021/plugins/color-picker/color-picker.min.css +1 -0
  167. package/es2021/plugins/color-picker/color-picker.min.js +10 -0
  168. package/es2021/plugins/emoji/emoji.css +108 -0
  169. package/es2021/plugins/emoji/emoji.js +425 -0
  170. package/es2021/plugins/emoji/emoji.min.css +1 -0
  171. package/es2021/plugins/emoji/emoji.min.js +10 -0
  172. package/es2021/plugins/export-docs/export-docs.js +156 -0
  173. package/es2021/plugins/export-docs/export-docs.min.js +10 -0
  174. package/es2021/plugins/finder/finder.css +1342 -0
  175. package/es2021/plugins/finder/finder.js +3152 -0
  176. package/es2021/plugins/finder/finder.min.css +1 -0
  177. package/es2021/plugins/finder/finder.min.js +10 -0
  178. package/es2021/plugins/google-maps/google-maps.css +397 -0
  179. package/es2021/plugins/google-maps/google-maps.js +2540 -0
  180. package/es2021/plugins/google-maps/google-maps.min.css +1 -0
  181. package/es2021/plugins/google-maps/google-maps.min.js +10 -0
  182. package/es2021/plugins/google-search/google-search.js +107 -0
  183. package/es2021/plugins/google-search/google-search.min.js +10 -0
  184. package/es2021/plugins/highlight-signature/highlight-signature.js +231 -0
  185. package/es2021/plugins/highlight-signature/highlight-signature.min.js +10 -0
  186. package/es2021/plugins/iframe-editor/iframe-editor.css +16 -0
  187. package/es2021/plugins/iframe-editor/iframe-editor.js +308 -0
  188. package/es2021/plugins/iframe-editor/iframe-editor.min.css +1 -0
  189. package/es2021/plugins/iframe-editor/iframe-editor.min.js +10 -0
  190. package/es2021/plugins/keyboard/keyboard.css +48 -0
  191. package/es2021/plugins/keyboard/keyboard.js +537 -0
  192. package/es2021/plugins/keyboard/keyboard.min.css +1 -0
  193. package/es2021/plugins/keyboard/keyboard.min.js +10 -0
  194. package/es2021/plugins/mobile-view/mobile-view.js +168 -0
  195. package/es2021/plugins/mobile-view/mobile-view.min.js +10 -0
  196. package/es2021/plugins/page-break/page-break.js +181 -0
  197. package/es2021/plugins/page-break/page-break.min.js +10 -0
  198. package/es2021/plugins/paste-code/paste-code.css +21 -0
  199. package/es2021/plugins/paste-code/paste-code.js +318 -0
  200. package/es2021/plugins/paste-code/paste-code.min.css +1 -0
  201. package/es2021/plugins/paste-code/paste-code.min.js +10 -0
  202. package/es2021/plugins/paste-from-word/paste-from-word.js +1528 -0
  203. package/es2021/plugins/paste-from-word/paste-from-word.min.js +10 -0
  204. package/es2021/plugins/show-blocks/show-blocks.js +645 -0
  205. package/es2021/plugins/show-blocks/show-blocks.min.js +10 -0
  206. package/es2021/plugins/todo-list/todo-list.css +77 -0
  207. package/es2021/plugins/todo-list/todo-list.js +313 -0
  208. package/es2021/plugins/todo-list/todo-list.min.css +1 -0
  209. package/es2021/plugins/todo-list/todo-list.min.js +10 -0
  210. package/es2021/plugins/translate/translate.css +91 -0
  211. package/es2021/plugins/translate/translate.js +636 -0
  212. package/es2021/plugins/translate/translate.min.css +1 -0
  213. package/es2021/plugins/translate/translate.min.js +10 -0
  214. package/es2021/plugins/tune-block/tune-block.css +37 -0
  215. package/es2021/plugins/tune-block/tune-block.js +385 -0
  216. package/es2021/plugins/tune-block/tune-block.min.css +1 -0
  217. package/es2021/plugins/tune-block/tune-block.min.js +10 -0
  218. package/es2021.en/jodit.css +4945 -0
  219. package/es2021.en/jodit.fat.min.css +1 -0
  220. package/es2021.en/jodit.fat.min.js +10 -0
  221. package/es2021.en/jodit.js +40989 -0
  222. package/es2021.en/jodit.min.css +1 -0
  223. package/es2021.en/jodit.min.js +10 -0
  224. package/es2021.en/plugins/autocomplete/autocomplete.css +26 -0
  225. package/es2021.en/plugins/autocomplete/autocomplete.js +463 -0
  226. package/es2021.en/plugins/autocomplete/autocomplete.min.css +1 -0
  227. package/es2021.en/plugins/autocomplete/autocomplete.min.js +10 -0
  228. package/es2021.en/plugins/backup/backup.css +48 -0
  229. package/es2021.en/plugins/backup/backup.js +554 -0
  230. package/es2021.en/plugins/backup/backup.min.css +1 -0
  231. package/es2021.en/plugins/backup/backup.min.js +10 -0
  232. package/es2021.en/plugins/button-generator/button-generator.css +316 -0
  233. package/es2021.en/plugins/button-generator/button-generator.js +1382 -0
  234. package/es2021.en/plugins/button-generator/button-generator.min.css +1 -0
  235. package/es2021.en/plugins/button-generator/button-generator.min.js +10 -0
  236. package/es2021.en/plugins/change-case/change-case.js +171 -0
  237. package/es2021.en/plugins/change-case/change-case.min.js +10 -0
  238. package/es2021.en/plugins/color-picker/color-picker.css +133 -0
  239. package/es2021.en/plugins/color-picker/color-picker.js +517 -0
  240. package/es2021.en/plugins/color-picker/color-picker.min.css +1 -0
  241. package/es2021.en/plugins/color-picker/color-picker.min.js +10 -0
  242. package/es2021.en/plugins/emoji/emoji.css +108 -0
  243. package/es2021.en/plugins/emoji/emoji.js +425 -0
  244. package/es2021.en/plugins/emoji/emoji.min.css +1 -0
  245. package/es2021.en/plugins/emoji/emoji.min.js +10 -0
  246. package/es2021.en/plugins/export-docs/export-docs.js +156 -0
  247. package/es2021.en/plugins/export-docs/export-docs.min.js +10 -0
  248. package/es2021.en/plugins/finder/finder.css +1342 -0
  249. package/es2021.en/plugins/finder/finder.js +3117 -0
  250. package/es2021.en/plugins/finder/finder.min.css +1 -0
  251. package/es2021.en/plugins/finder/finder.min.js +10 -0
  252. package/es2021.en/plugins/google-maps/google-maps.css +397 -0
  253. package/es2021.en/plugins/google-maps/google-maps.js +2540 -0
  254. package/es2021.en/plugins/google-maps/google-maps.min.css +1 -0
  255. package/es2021.en/plugins/google-maps/google-maps.min.js +10 -0
  256. package/es2021.en/plugins/google-search/google-search.js +107 -0
  257. package/es2021.en/plugins/google-search/google-search.min.js +10 -0
  258. package/es2021.en/plugins/highlight-signature/highlight-signature.js +231 -0
  259. package/es2021.en/plugins/highlight-signature/highlight-signature.min.js +10 -0
  260. package/es2021.en/plugins/iframe-editor/iframe-editor.css +16 -0
  261. package/es2021.en/plugins/iframe-editor/iframe-editor.js +308 -0
  262. package/es2021.en/plugins/iframe-editor/iframe-editor.min.css +1 -0
  263. package/es2021.en/plugins/iframe-editor/iframe-editor.min.js +10 -0
  264. package/es2021.en/plugins/keyboard/keyboard.css +48 -0
  265. package/es2021.en/plugins/keyboard/keyboard.js +537 -0
  266. package/es2021.en/plugins/keyboard/keyboard.min.css +1 -0
  267. package/es2021.en/plugins/keyboard/keyboard.min.js +10 -0
  268. package/es2021.en/plugins/mobile-view/mobile-view.js +168 -0
  269. package/es2021.en/plugins/mobile-view/mobile-view.min.js +10 -0
  270. package/es2021.en/plugins/page-break/page-break.js +181 -0
  271. package/es2021.en/plugins/page-break/page-break.min.js +10 -0
  272. package/es2021.en/plugins/paste-code/paste-code.css +21 -0
  273. package/es2021.en/plugins/paste-code/paste-code.js +318 -0
  274. package/es2021.en/plugins/paste-code/paste-code.min.css +1 -0
  275. package/es2021.en/plugins/paste-code/paste-code.min.js +10 -0
  276. package/es2021.en/plugins/paste-from-word/paste-from-word.js +1528 -0
  277. package/es2021.en/plugins/paste-from-word/paste-from-word.min.js +10 -0
  278. package/es2021.en/plugins/show-blocks/show-blocks.js +322 -0
  279. package/es2021.en/plugins/show-blocks/show-blocks.min.js +10 -0
  280. package/es2021.en/plugins/todo-list/todo-list.css +77 -0
  281. package/es2021.en/plugins/todo-list/todo-list.js +313 -0
  282. package/es2021.en/plugins/todo-list/todo-list.min.css +1 -0
  283. package/es2021.en/plugins/todo-list/todo-list.min.js +10 -0
  284. package/es2021.en/plugins/translate/translate.css +91 -0
  285. package/es2021.en/plugins/translate/translate.js +636 -0
  286. package/es2021.en/plugins/translate/translate.min.css +1 -0
  287. package/es2021.en/plugins/translate/translate.min.js +10 -0
  288. package/es2021.en/plugins/tune-block/tune-block.css +37 -0
  289. package/es2021.en/plugins/tune-block/tune-block.js +385 -0
  290. package/es2021.en/plugins/tune-block/tune-block.min.css +1 -0
  291. package/es2021.en/plugins/tune-block/tune-block.min.js +10 -0
  292. package/es5/jodit.css +5956 -0
  293. package/es5/jodit.fat.min.css +1 -0
  294. package/es5/jodit.fat.min.js +10 -0
  295. package/es5/jodit.js +49879 -0
  296. package/es5/jodit.min.css +15 -0
  297. package/es5/jodit.min.js +10 -0
  298. package/es5/plugins/autocomplete/autocomplete.css +26 -0
  299. package/es5/plugins/autocomplete/autocomplete.js +536 -0
  300. package/es5/plugins/autocomplete/autocomplete.min.css +1 -0
  301. package/es5/plugins/autocomplete/autocomplete.min.js +10 -0
  302. package/es5/plugins/backup/backup.css +48 -0
  303. package/es5/plugins/backup/backup.js +599 -0
  304. package/es5/plugins/backup/backup.min.css +1 -0
  305. package/es5/plugins/backup/backup.min.js +10 -0
  306. package/es5/plugins/button-generator/button-generator.css +316 -0
  307. package/es5/plugins/button-generator/button-generator.js +1310 -0
  308. package/es5/plugins/button-generator/button-generator.min.css +1 -0
  309. package/es5/plugins/button-generator/button-generator.min.js +10 -0
  310. package/es5/plugins/change-case/change-case.js +179 -0
  311. package/es5/plugins/change-case/change-case.min.js +10 -0
  312. package/es5/plugins/color-picker/color-picker.css +133 -0
  313. package/es5/plugins/color-picker/color-picker.js +525 -0
  314. package/es5/plugins/color-picker/color-picker.min.css +1 -0
  315. package/es5/plugins/color-picker/color-picker.min.js +10 -0
  316. package/es5/plugins/emoji/emoji.css +108 -0
  317. package/es5/plugins/emoji/emoji.js +459 -0
  318. package/es5/plugins/emoji/emoji.min.css +1 -0
  319. package/es5/plugins/emoji/emoji.min.js +10 -0
  320. package/es5/plugins/export-docs/export-docs.js +174 -0
  321. package/es5/plugins/export-docs/export-docs.min.js +10 -0
  322. package/es5/plugins/finder/finder.css +1342 -0
  323. package/es5/plugins/finder/finder.js +3335 -0
  324. package/es5/plugins/finder/finder.min.css +1 -0
  325. package/es5/plugins/finder/finder.min.js +10 -0
  326. package/es5/plugins/google-maps/google-maps.css +397 -0
  327. package/es5/plugins/google-maps/google-maps.js +2463 -0
  328. package/es5/plugins/google-maps/google-maps.min.css +1 -0
  329. package/es5/plugins/google-maps/google-maps.min.js +10 -0
  330. package/es5/plugins/google-search/google-search.js +113 -0
  331. package/es5/plugins/google-search/google-search.min.js +10 -0
  332. package/es5/plugins/highlight-signature/highlight-signature.js +253 -0
  333. package/es5/plugins/highlight-signature/highlight-signature.min.js +10 -0
  334. package/es5/plugins/iframe-editor/iframe-editor.css +16 -0
  335. package/es5/plugins/iframe-editor/iframe-editor.js +319 -0
  336. package/es5/plugins/iframe-editor/iframe-editor.min.css +1 -0
  337. package/es5/plugins/iframe-editor/iframe-editor.min.js +10 -0
  338. package/es5/plugins/keyboard/keyboard.css +48 -0
  339. package/es5/plugins/keyboard/keyboard.js +556 -0
  340. package/es5/plugins/keyboard/keyboard.min.css +1 -0
  341. package/es5/plugins/keyboard/keyboard.min.js +10 -0
  342. package/es5/plugins/mobile-view/mobile-view.js +176 -0
  343. package/es5/plugins/mobile-view/mobile-view.min.js +10 -0
  344. package/es5/plugins/page-break/page-break.js +169 -0
  345. package/es5/plugins/page-break/page-break.min.js +10 -0
  346. package/es5/plugins/paste-code/paste-code.css +21 -0
  347. package/es5/plugins/paste-code/paste-code.js +348 -0
  348. package/es5/plugins/paste-code/paste-code.min.css +1 -0
  349. package/es5/plugins/paste-code/paste-code.min.js +10 -0
  350. package/es5/plugins/paste-from-word/paste-from-word.js +1670 -0
  351. package/es5/plugins/paste-from-word/paste-from-word.min.js +10 -0
  352. package/es5/plugins/show-blocks/show-blocks.js +649 -0
  353. package/es5/plugins/show-blocks/show-blocks.min.js +10 -0
  354. package/es5/plugins/todo-list/todo-list.css +77 -0
  355. package/es5/plugins/todo-list/todo-list.js +324 -0
  356. package/es5/plugins/todo-list/todo-list.min.css +1 -0
  357. package/es5/plugins/todo-list/todo-list.min.js +10 -0
  358. package/es5/plugins/translate/translate.css +91 -0
  359. package/es5/plugins/translate/translate.js +657 -0
  360. package/es5/plugins/translate/translate.min.css +1 -0
  361. package/es5/plugins/translate/translate.min.js +10 -0
  362. package/es5/plugins/tune-block/tune-block.css +37 -0
  363. package/es5/plugins/tune-block/tune-block.js +397 -0
  364. package/es5/plugins/tune-block/tune-block.min.css +1 -0
  365. package/es5/plugins/tune-block/tune-block.min.js +10 -0
  366. package/examples/arabic.lang.html +8 -8
  367. package/examples/color-picker.html +6 -6
  368. package/examples/custom-icons.html +8 -8
  369. package/examples/custom-toolbar.html +8 -8
  370. package/examples/example.default.html +6 -6
  371. package/examples/fullsize.html +8 -8
  372. package/examples/index.html +6 -6
  373. package/examples/inline-mode.html +8 -8
  374. package/examples/oneinstance.html +8 -8
  375. package/examples/theme.html +6 -6
  376. package/package.json +6 -22
  377. package/LICENSE.md +0 -3
  378. package/build/jodit.css +0 -1
  379. package/build/jodit.es5.css +0 -8
  380. package/build/jodit.es5.js +0 -1
  381. package/build/jodit.fat.css +0 -1
  382. package/build/jodit.fat.es5.css +0 -1
  383. package/build/jodit.fat.es5.js +0 -1
  384. package/build/jodit.fat.js +0 -1
  385. package/build/jodit.js +0 -1
  386. package/build/plugins/autocomplete/autocomplete.es5.js +0 -1
  387. package/build/plugins/autocomplete/autocomplete.js +0 -1
  388. package/build/plugins/backup/backup.es5.js +0 -1
  389. package/build/plugins/backup/backup.js +0 -1
  390. package/build/plugins/button-generator/button-generator.css +0 -1
  391. package/build/plugins/button-generator/button-generator.es5.css +0 -1
  392. package/build/plugins/button-generator/button-generator.es5.js +0 -1
  393. package/build/plugins/button-generator/button-generator.js +0 -1
  394. package/build/plugins/change-case/change-case.es5.js +0 -1
  395. package/build/plugins/change-case/change-case.js +0 -1
  396. package/build/plugins/color-picker/color-picker.css +0 -1
  397. package/build/plugins/color-picker/color-picker.es5.css +0 -1
  398. package/build/plugins/color-picker/color-picker.es5.js +0 -1
  399. package/build/plugins/color-picker/color-picker.js +0 -1
  400. package/build/plugins/emoji/emoji.css +0 -1
  401. package/build/plugins/emoji/emoji.es5.css +0 -1
  402. package/build/plugins/emoji/emoji.es5.js +0 -1
  403. package/build/plugins/emoji/emoji.js +0 -1
  404. package/build/plugins/export-docs/export-docs.es5.js +0 -1
  405. package/build/plugins/export-docs/export-docs.js +0 -1
  406. package/build/plugins/finder/finder.css +0 -1
  407. package/build/plugins/finder/finder.es5.css +0 -1
  408. package/build/plugins/finder/finder.es5.js +0 -1
  409. package/build/plugins/finder/finder.js +0 -1
  410. package/build/plugins/google-maps/google-maps.css +0 -1
  411. package/build/plugins/google-maps/google-maps.es5.css +0 -1
  412. package/build/plugins/google-maps/google-maps.es5.js +0 -1
  413. package/build/plugins/google-maps/google-maps.js +0 -1
  414. package/build/plugins/google-search/google-search.es5.js +0 -1
  415. package/build/plugins/google-search/google-search.js +0 -1
  416. package/build/plugins/highlight-signature/highlight-signature.es5.js +0 -1
  417. package/build/plugins/highlight-signature/highlight-signature.js +0 -1
  418. package/build/plugins/iframe-editor/iframe-editor.es5.js +0 -1
  419. package/build/plugins/iframe-editor/iframe-editor.js +0 -1
  420. package/build/plugins/keyboard/keyboard.es5.js +0 -1
  421. package/build/plugins/keyboard/keyboard.js +0 -1
  422. package/build/plugins/mobile-view/mobile-view.css +0 -0
  423. package/build/plugins/mobile-view/mobile-view.es5.css +0 -0
  424. package/build/plugins/mobile-view/mobile-view.es5.js +0 -1
  425. package/build/plugins/mobile-view/mobile-view.js +0 -1
  426. package/build/plugins/page-break/page-break.css +0 -1
  427. package/build/plugins/page-break/page-break.es5.css +0 -1
  428. package/build/plugins/page-break/page-break.es5.js +0 -1
  429. package/build/plugins/page-break/page-break.js +0 -1
  430. package/build/plugins/paste-code/paste-code.es5.js +0 -1
  431. package/build/plugins/paste-code/paste-code.js +0 -1
  432. package/build/plugins/paste-from-word/paste-from-word.es5.js +0 -1
  433. package/build/plugins/paste-from-word/paste-from-word.js +0 -1
  434. package/build/plugins/show-blocks/show-blocks.es5.js +0 -1
  435. package/build/plugins/show-blocks/show-blocks.js +0 -1
  436. package/build/plugins/todo-list/todo-list.css +0 -1
  437. package/build/plugins/todo-list/todo-list.es5.css +0 -1
  438. package/build/plugins/todo-list/todo-list.es5.js +0 -1
  439. package/build/plugins/todo-list/todo-list.js +0 -1
  440. package/build/plugins/translate/translate.es5.js +0 -1
  441. package/build/plugins/translate/translate.js +0 -1
  442. package/build/plugins/tune-block/tune-block.es5.js +0 -1
  443. package/build/plugins/tune-block/tune-block.js +0 -1
  444. package/index.html +0 -268
  445. /package/{build/config.js → config.js} +0 -0
  446. /package/{build/plugins/autocomplete/autocomplete.css → es2015/plugins/autocomplete/autocomplete.min.css} +0 -0
  447. /package/{build/plugins/iframe-editor/iframe-editor.css → es2015/plugins/iframe-editor/iframe-editor.min.css} +0 -0
  448. /package/{build/plugins/keyboard/keyboard.css → es2015/plugins/keyboard/keyboard.min.css} +0 -0
  449. /package/{build/plugins/paste-code/paste-code.css → es2015/plugins/paste-code/paste-code.min.css} +0 -0
  450. /package/{build/plugins/translate/translate.css → es2015/plugins/translate/translate.min.css} +0 -0
  451. /package/{build/plugins/autocomplete/autocomplete.es5.css → es2018/plugins/autocomplete/autocomplete.min.css} +0 -0
  452. /package/{build/plugins/iframe-editor/iframe-editor.es5.css → es2018/plugins/iframe-editor/iframe-editor.min.css} +0 -0
  453. /package/{build/plugins/keyboard/keyboard.es5.css → es2018/plugins/keyboard/keyboard.min.css} +0 -0
  454. /package/{build/plugins/paste-code/paste-code.es5.css → es2018/plugins/paste-code/paste-code.min.css} +0 -0
  455. /package/{build/plugins/translate/translate.es5.css → es2018/plugins/translate/translate.min.css} +0 -0
@@ -0,0 +1,26 @@
1
+ /*!
2
+ * jodit-pro - PRO Version of Jodit Editor
3
+ * Author: Chupurnov Valeriy <chupurnov@gmail.com>
4
+ * Version: v2.0.0-beta.10
5
+ * Url: https://xdsoft.net/jodit/pro/
6
+ * License(s): SEE LICENSE IN LICENSE.md
7
+ */
8
+
9
+ .jodit-autocomplete-item {
10
+ display: flex;
11
+ min-width: 6em;
12
+ align-items: center;
13
+ padding: var(--jd-padding-default) var(--jd-padding-default);
14
+ cursor: default;
15
+ }
16
+ .jodit-autocomplete-item:hover {
17
+ background-color: var(--jd-color-background-button-hover);
18
+ color: var(--jd-color-dark);
19
+ cursor: pointer;
20
+ }
21
+ .jodit-autocomplete-item_active_true:hover,
22
+ .jodit-autocomplete-item_active_true {
23
+ background-color: var(--jd-color-background-active);
24
+ color: var(--jd-color-white);
25
+ }
26
+
@@ -0,0 +1,471 @@
1
+ /*!
2
+ * jodit-pro - PRO Version of Jodit Editor
3
+ * Author: Chupurnov Valeriy <chupurnov@gmail.com>
4
+ * Version: v2.0.0-beta.10
5
+ * Url: https://xdsoft.net/jodit/pro/
6
+ * License(s): SEE LICENSE IN LICENSE.md
7
+ */
8
+
9
+ "use strict";
10
+ (function webpackUniversalModuleDefinition(root, factory) {
11
+ if(typeof exports === 'object' && typeof module === 'object')
12
+ module.exports = factory();
13
+ else if(typeof define === 'function' && define.amd)
14
+ define([], factory);
15
+ else {
16
+ var a = factory();
17
+ for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
18
+ }
19
+ })(self, function() {
20
+ return (self["webpackChunkjodit_pro"] = self["webpackChunkjodit_pro"] || []).push([[633],{
21
+
22
+ /***/ 93123:
23
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
24
+
25
+ __webpack_require__.r(__webpack_exports__);
26
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
27
+ /* harmony export */ "autocomplete": function() { return /* binding */ autocomplete; }
28
+ /* harmony export */ });
29
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(97582);
30
+ /* harmony import */ var jodit_core_plugin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7324);
31
+ /* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(77628);
32
+ /* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(50526);
33
+ /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(95582);
34
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(44913);
35
+ /* harmony import */ var jodit_core_ui_popup_popup__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(19797);
36
+ /* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(11612);
37
+ /* harmony import */ var _ui_autocomplete__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(77325);
38
+ /* harmony import */ var _JoditPro__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(88292);
39
+ /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(47325);
40
+ /*!
41
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
42
+ * See LICENSE.md in the project root for license information.
43
+ * Copyright (c) 2013-2023 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
44
+ */
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+ jodit_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.autocomplete = {
57
+ sources: [],
58
+ maxItems: 50,
59
+ isMatchedQuery: (query, value) => value.toLowerCase().indexOf(query.toLowerCase()) === 0,
60
+ itemRenderer: (item) => { var _a; return (_a = item.title) !== null && _a !== void 0 ? _a : item.value; },
61
+ insertValueRenderer: (item) => item.value + '&nbsp;'
62
+ };
63
+ class autocomplete extends jodit_core_plugin__WEBPACK_IMPORTED_MODULE_0__/* .Plugin */ .S {
64
+ constructor() {
65
+ super(...arguments);
66
+ /** @override */
67
+ this.hasStyle = !_JoditPro__WEBPACK_IMPORTED_MODULE_8__/* .JoditPro.fatMode */ .y.fatMode;
68
+ this.sources = [];
69
+ }
70
+ /** @override */
71
+ afterInit(jodit) {
72
+ this.popup = new jodit_core_ui_popup_popup__WEBPACK_IMPORTED_MODULE_5__/* .Popup */ .G(jodit);
73
+ this.popup.setMod('padding', false);
74
+ this.list = new _ui_autocomplete__WEBPACK_IMPORTED_MODULE_7__/* .Autocomplete */ .F(jodit);
75
+ this.popup.setContent(this.list.container);
76
+ jodit.e
77
+ .on('select.autocomplete', (item) => {
78
+ let insertValue = item.value;
79
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isFunction)(item.insertValueRenderer)) {
80
+ insertValue = item.insertValueRenderer(item);
81
+ }
82
+ if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_4__/* .Dom.isNode */ .i.isNode(insertValue)) {
83
+ insertValue = jodit.createInside.fromHTML(insertValue);
84
+ }
85
+ (0,_helpers__WEBPACK_IMPORTED_MODULE_9__/* .replaceTextLeftOfCursorAfterSpace */ .p)(jodit.s.range, insertValue);
86
+ this.j.s.setCursorAfter(insertValue);
87
+ this.j.synchronizeValues();
88
+ this.popup.close();
89
+ })
90
+ .on('keydown.autocomplete', this.onKeyDown)
91
+ .on('keydown.autocomplete', this.onKeyControlDown, {
92
+ top: true
93
+ })
94
+ .on('beforeEnter.autocomplete', this.onEnter, { top: true })
95
+ .on('autocomplete.autocomplete', this.onAutoComplete)
96
+ .on('registerAutocompleteSource.autocomplete', this.registerAutocompleteSource);
97
+ }
98
+ registerAutocompleteSource(source) {
99
+ this.sources.push(source);
100
+ }
101
+ static isControlKey(key) {
102
+ return (key === jodit_core_constants__WEBPACK_IMPORTED_MODULE_6__.KEY_DOWN ||
103
+ key === jodit_core_constants__WEBPACK_IMPORTED_MODULE_6__.KEY_UP ||
104
+ key === jodit_core_constants__WEBPACK_IMPORTED_MODULE_6__.KEY_ENTER ||
105
+ key === jodit_core_constants__WEBPACK_IMPORTED_MODULE_6__.KEY_TAB);
106
+ }
107
+ async onKeyDown(e) {
108
+ var _a, _b;
109
+ if (e.key === jodit_core_constants__WEBPACK_IMPORTED_MODULE_6__.KEY_ESC) {
110
+ this.popup.isOpened && this.popup.close();
111
+ return;
112
+ }
113
+ const { s } = this.j;
114
+ if (autocomplete.isControlKey(e.key) ||
115
+ !s.isInsideArea ||
116
+ !s.isCollapsed) {
117
+ return;
118
+ }
119
+ const range = ((_a = this.j.s.sel) === null || _a === void 0 ? void 0 : _a.rangeCount)
120
+ ? (_b = this.j.s.sel) === null || _b === void 0 ? void 0 : _b.getRangeAt(0)
121
+ : null;
122
+ const query = range && (0,_helpers__WEBPACK_IMPORTED_MODULE_9__/* .getTextLeftOfCursor */ .Y)(range).split(' ').pop();
123
+ if (query && (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.trim)(query).length) {
124
+ const result = await this.onAutoComplete(query);
125
+ if (result.length) {
126
+ return this.openPopup(result);
127
+ }
128
+ }
129
+ if (this.popup.isOpened) {
130
+ this.popup.close();
131
+ }
132
+ }
133
+ onKeyControlDown(e) {
134
+ if (this.popup.isOpened && autocomplete.isControlKey(e.key)) {
135
+ switch (e.key) {
136
+ case jodit_core_constants__WEBPACK_IMPORTED_MODULE_6__.KEY_DOWN:
137
+ this.list.selectNext();
138
+ break;
139
+ case jodit_core_constants__WEBPACK_IMPORTED_MODULE_6__.KEY_UP:
140
+ this.list.selectPrevious();
141
+ break;
142
+ case jodit_core_constants__WEBPACK_IMPORTED_MODULE_6__.KEY_TAB:
143
+ this.list.select();
144
+ break;
145
+ }
146
+ this.j.e.stopPropagation(e.type);
147
+ return false;
148
+ }
149
+ }
150
+ onEnter() {
151
+ if (this.popup.isOpened) {
152
+ this.list.select();
153
+ return false;
154
+ }
155
+ }
156
+ async onAutoComplete(query) {
157
+ const result = [];
158
+ await Promise.all(this.sources
159
+ .concat(this.j.o.autocomplete.sources)
160
+ .map(async (source) => {
161
+ result.push(...(await this.resolveFeed(query, source)));
162
+ }));
163
+ return result;
164
+ }
165
+ async resolveFeed(query, feed, baseSource) {
166
+ let parts;
167
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isPromise)(feed)) {
168
+ feed = await feed;
169
+ }
170
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isFunction)(feed)) {
171
+ parts = await feed(query);
172
+ }
173
+ else if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isArray)(feed)) {
174
+ const arrayFeed = feed, { isMatchedQuery } = this.j.o.autocomplete;
175
+ parts = arrayFeed
176
+ .filter((item) => {
177
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isString)(item)) {
178
+ return isMatchedQuery(query, item);
179
+ }
180
+ return isMatchedQuery(query, item.value);
181
+ })
182
+ .map((item) => {
183
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isString)(item)) {
184
+ return { title: item, value: item };
185
+ }
186
+ return item;
187
+ });
188
+ }
189
+ else {
190
+ parts = await this.resolveFeed(query, feed.feed, feed);
191
+ }
192
+ if (parts && (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isArray)(parts)) {
193
+ const { itemRenderer, insertValueRenderer, maxItems } = this.j.o.autocomplete;
194
+ parts = parts.map((item) => {
195
+ var _a, _b;
196
+ return ({
197
+ itemRenderer: (_a = baseSource === null || baseSource === void 0 ? void 0 : baseSource.itemRenderer) !== null && _a !== void 0 ? _a : itemRenderer,
198
+ insertValueRenderer: (_b = baseSource === null || baseSource === void 0 ? void 0 : baseSource.insertValueRenderer) !== null && _b !== void 0 ? _b : insertValueRenderer,
199
+ ...item
200
+ });
201
+ });
202
+ return parts.slice(0, maxItems);
203
+ }
204
+ return [];
205
+ }
206
+ openPopup(result) {
207
+ this.list.build(result);
208
+ this.popup.open(() => {
209
+ const { j } = this;
210
+ const rect = j.s.range.getBoundingClientRect();
211
+ const bound = {
212
+ left: rect.left,
213
+ top: rect.top,
214
+ height: rect.height,
215
+ width: rect.width
216
+ };
217
+ if (j.o.iframe && j.iframe) {
218
+ const pos = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.position)(j.iframe, j);
219
+ bound.top += pos.top;
220
+ bound.left += pos.left;
221
+ }
222
+ return bound;
223
+ });
224
+ }
225
+ /** @override */
226
+ beforeDestruct(jodit) {
227
+ jodit.e
228
+ .off(this.list)
229
+ .off('keydown.autocomplete', this.onKeyDown)
230
+ .off('autocomplete.autocomplete', this.onAutoComplete)
231
+ .off('.autocomplete');
232
+ this.list.destruct();
233
+ this.popup.destruct();
234
+ }
235
+ }
236
+ /** @override */
237
+ autocomplete.requires = ['enter', 'license'];
238
+ (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__decorate */ .gn)([
239
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
240
+ ], autocomplete.prototype, "registerAutocompleteSource", null);
241
+ (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__decorate */ .gn)([
242
+ (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.debounce)()
243
+ ], autocomplete.prototype, "onKeyDown", null);
244
+ (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__decorate */ .gn)([
245
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
246
+ ], autocomplete.prototype, "onKeyControlDown", null);
247
+ (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__decorate */ .gn)([
248
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
249
+ ], autocomplete.prototype, "onEnter", null);
250
+ (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__decorate */ .gn)([
251
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
252
+ ], autocomplete.prototype, "onAutoComplete", null);
253
+ (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__decorate */ .gn)([
254
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_2__.autobind
255
+ ], autocomplete.prototype, "resolveFeed", null);
256
+ _JoditPro__WEBPACK_IMPORTED_MODULE_8__/* .JoditPro.plugins.add */ .y.plugins.add('autocomplete', autocomplete);
257
+
258
+
259
+ /***/ }),
260
+
261
+ /***/ 47325:
262
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
263
+
264
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
265
+ /* harmony export */ "Y": function() { return /* binding */ getTextLeftOfCursor; },
266
+ /* harmony export */ "p": function() { return /* binding */ replaceTextLeftOfCursorAfterSpace; }
267
+ /* harmony export */ });
268
+ /* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(44913);
269
+ /*!
270
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
271
+ * See LICENSE.md in the project root for license information.
272
+ * Copyright (c) 2013-2023 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
273
+ */
274
+
275
+ /**
276
+ * For collapsed selection return left text value before cursor
277
+ * @example
278
+ * ```
279
+ * <p><string>test</strong>pop|</p> => pop
280
+ * <p><string>test|</strong>pop</p> => test
281
+ * <p><string>te|st</strong>pop</p> => te
282
+ * ```
283
+ */
284
+ function getTextLeftOfCursor(range) {
285
+ var _a, _b, _c, _d;
286
+ const { startContainer, startOffset } = range;
287
+ if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.isText */ .i.isText(startContainer)) {
288
+ return (_b = (_a = startContainer.nodeValue) === null || _a === void 0 ? void 0 : _a.substr(0, startOffset)) !== null && _b !== void 0 ? _b : '';
289
+ }
290
+ const node = startContainer.childNodes[startOffset];
291
+ if (!node) {
292
+ return '';
293
+ }
294
+ if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.isText */ .i.isText(node)) {
295
+ return (_c = node.nodeValue) !== null && _c !== void 0 ? _c : '';
296
+ }
297
+ const previous = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.findNotEmptyNeighbor */ .i.findNotEmptyNeighbor(node, true, startContainer);
298
+ if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.isText */ .i.isText(previous)) {
299
+ return (_d = node.nodeValue) !== null && _d !== void 0 ? _d : '';
300
+ }
301
+ return '';
302
+ }
303
+ /**
304
+ * For collapsed selection replace part of left text value before cursor but started after space
305
+ * @example
306
+ * ```
307
+ * <p><string>test</strong>pap|</p> + pappy = <p><string>test</strong>pappy|</p>
308
+ * <p><string>test</strong>pap| test</p> + pappy = <p><string>test</strong>pappy| test</p>
309
+ * <p><string>test</strong>stat pap| test</p> + pappy = <p><string>test</strong>stat pappy| test</p>
310
+ * ```
311
+ */
312
+ function replaceTextLeftOfCursorAfterSpace(range, elm) {
313
+ var _a, _b, _c;
314
+ // eslint-disable-next-line prefer-const
315
+ let { startContainer, startOffset } = range;
316
+ if (!jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.isText */ .i.isText(startContainer)) {
317
+ startContainer = startContainer.childNodes[startOffset - 1];
318
+ if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.isText */ .i.isText(startContainer)) {
319
+ startOffset = (_b = (_a = startContainer.nodeValue) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
320
+ }
321
+ }
322
+ if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.isText */ .i.isText(startContainer)) {
323
+ const value = (_c = startContainer.nodeValue) !== null && _c !== void 0 ? _c : '', leftSide = value.substring(0, startOffset), rightSide = value.substring(startOffset);
324
+ const words = leftSide.split(' ');
325
+ words[words.length - 1] = '';
326
+ const newLeftSide = words.join(' ');
327
+ startContainer.nodeValue = newLeftSide + rightSide;
328
+ range.setStart(startContainer, newLeftSide.length);
329
+ range.insertNode(elm);
330
+ return;
331
+ }
332
+ }
333
+
334
+
335
+ /***/ }),
336
+
337
+ /***/ 77325:
338
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
339
+
340
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
341
+ /* harmony export */ "F": function() { return /* binding */ Autocomplete; }
342
+ /* harmony export */ });
343
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(97582);
344
+ /* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50526);
345
+ /* harmony import */ var jodit_core_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(75004);
346
+ /* harmony import */ var _item__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91381);
347
+ /*!
348
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
349
+ * See LICENSE.md in the project root for license information.
350
+ * Copyright (c) 2013-2023 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
351
+ */
352
+
353
+
354
+
355
+
356
+
357
+ let Autocomplete = class Autocomplete extends jodit_core_ui__WEBPACK_IMPORTED_MODULE_1__/* .UIGroup */ .qe {
358
+ constructor() {
359
+ super(...arguments);
360
+ this.elements = [];
361
+ this.currentSelection = -1;
362
+ }
363
+ /** @override */
364
+ className() {
365
+ return 'Autocomplete';
366
+ }
367
+ onChangeSelection(_, previous) {
368
+ var _a;
369
+ previous != null && ((_a = this.elements[previous]) === null || _a === void 0 ? void 0 : _a.setMod('active', false));
370
+ this.elements[this.currentSelection].setMod('active', true);
371
+ this.elements[this.currentSelection].container.scrollIntoView(false);
372
+ }
373
+ build(list) {
374
+ this.clear();
375
+ list.forEach((elm, index) => {
376
+ const item = new _item__WEBPACK_IMPORTED_MODULE_2__/* .AutocompleteItem */ .h(this.jodit, elm);
377
+ this.j.e
378
+ .on(item.container, 'mousedown touchstart', (e) => {
379
+ e.preventDefault();
380
+ })
381
+ .on(item.container, 'click', () => {
382
+ this.currentSelection = index;
383
+ this.select();
384
+ });
385
+ this.append(item);
386
+ });
387
+ this.currentSelection = 0;
388
+ this.onChangeSelection();
389
+ }
390
+ selectNext() {
391
+ if (this.currentSelection + 1 <= this.elements.length - 1) {
392
+ this.currentSelection += 1;
393
+ }
394
+ else {
395
+ this.currentSelection = 0;
396
+ }
397
+ }
398
+ selectPrevious() {
399
+ if (this.currentSelection - 1 >= 0) {
400
+ this.currentSelection -= 1;
401
+ }
402
+ else {
403
+ this.currentSelection = this.elements.length - 1;
404
+ }
405
+ }
406
+ select() {
407
+ this.j.e.fire('select.autocomplete', this.elements[this.currentSelection].item);
408
+ }
409
+ };
410
+ (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__decorate */ .gn)([
411
+ (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_0__.watch)('currentSelection')
412
+ ], Autocomplete.prototype, "onChangeSelection", null);
413
+ Autocomplete = (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__decorate */ .gn)([
414
+ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_0__.component
415
+ ], Autocomplete);
416
+
417
+
418
+ /***/ }),
419
+
420
+ /***/ 91381:
421
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
422
+
423
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
424
+ /* harmony export */ "h": function() { return /* binding */ AutocompleteItem; }
425
+ /* harmony export */ });
426
+ /* harmony import */ var jodit_core_ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75004);
427
+ /* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(95582);
428
+ /*!
429
+ * Jodit Editor PRO (https://xdsoft.net/jodit/)
430
+ * See LICENSE.md in the project root for license information.
431
+ * Copyright (c) 2013-2023 Valeriy Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
432
+ */
433
+
434
+
435
+
436
+ class AutocompleteItem extends jodit_core_ui__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u1 {
437
+ /** @override */
438
+ className() {
439
+ return 'AutocompleteItem';
440
+ }
441
+ constructor(jodit, item) {
442
+ var _a;
443
+ super(jodit);
444
+ this.item = item;
445
+ const { container } = this;
446
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isFunction)(item.itemRenderer)) {
447
+ const elm = item.itemRenderer(item);
448
+ if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(elm)) {
449
+ container.innerHTML = elm;
450
+ }
451
+ else {
452
+ container.appendChild(elm);
453
+ }
454
+ }
455
+ else {
456
+ container.innerText = (_a = item.title) !== null && _a !== void 0 ? _a : item.value;
457
+ }
458
+ }
459
+ }
460
+
461
+
462
+ /***/ })
463
+
464
+ },
465
+ /******/ function(__webpack_require__) { // webpackRuntimeModules
466
+ /******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
467
+ /******/ var __webpack_exports__ = (__webpack_exec__(93123));
468
+ /******/ return __webpack_exports__;
469
+ /******/ }
470
+ ]);
471
+ });
@@ -0,0 +1,10 @@
1
+ /*!
2
+ * jodit-pro - PRO Version of Jodit Editor
3
+ * Author: Chupurnov Valeriy <chupurnov@gmail.com>
4
+ * Version: v2.0.0-beta.10
5
+ * Url: https://xdsoft.net/jodit/pro/
6
+ * License(s): SEE LICENSE IN LICENSE.md
7
+ */
8
+
9
+
10
+ "use strict";!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var o=t();for(var n in o)("object"==typeof exports?exports:e)[n]=o[n]}}(self,(function(){return(self.webpackChunkjodit_pro=self.webpackChunkjodit_pro||[]).push([[633],{93123:function(e,t,o){o.r(t),o.d(t,{autocomplete:function(){return f}});var n=o(97582),i=o(7324),s=o(77628),r=o(50526),l=o(95582),u=o(44913),c=o(19797),a=o(11612),p=o(77325),h=o(88292),d=o(47325);s.Config.prototype.autocomplete={sources:[],maxItems:50,isMatchedQuery:(e,t)=>0===t.toLowerCase().indexOf(e.toLowerCase()),itemRenderer:e=>{var t;return null!==(t=e.title)&&void 0!==t?t:e.value},insertValueRenderer:e=>e.value+"&nbsp;"};class f extends i.S{constructor(){super(...arguments),this.hasStyle=!h.y.fatMode,this.sources=[]}afterInit(e){this.popup=new c.G(e),this.popup.setMod("padding",!1),this.list=new p.F(e),this.popup.setContent(this.list.container),e.e.on("select.autocomplete",(t=>{let o=t.value;(0,l.isFunction)(t.insertValueRenderer)&&(o=t.insertValueRenderer(t)),u.i.isNode(o)||(o=e.createInside.fromHTML(o)),(0,d.p)(e.s.range,o),this.j.s.setCursorAfter(o),this.j.synchronizeValues(),this.popup.close()})).on("keydown.autocomplete",this.onKeyDown).on("keydown.autocomplete",this.onKeyControlDown,{top:!0}).on("beforeEnter.autocomplete",this.onEnter,{top:!0}).on("autocomplete.autocomplete",this.onAutoComplete).on("registerAutocompleteSource.autocomplete",this.registerAutocompleteSource)}registerAutocompleteSource(e){this.sources.push(e)}static isControlKey(e){return e===a.KEY_DOWN||e===a.KEY_UP||e===a.KEY_ENTER||e===a.KEY_TAB}async onKeyDown(e){var t,o;if(e.key===a.KEY_ESC)return void(this.popup.isOpened&&this.popup.close());const{s:n}=this.j;if(f.isControlKey(e.key)||!n.isInsideArea||!n.isCollapsed)return;const i=(null===(t=this.j.s.sel)||void 0===t?void 0:t.rangeCount)?null===(o=this.j.s.sel)||void 0===o?void 0:o.getRangeAt(0):null,s=i&&(0,d.Y)(i).split(" ").pop();if(s&&(0,l.trim)(s).length){const e=await this.onAutoComplete(s);if(e.length)return this.openPopup(e)}this.popup.isOpened&&this.popup.close()}onKeyControlDown(e){if(this.popup.isOpened&&f.isControlKey(e.key)){switch(e.key){case a.KEY_DOWN:this.list.selectNext();break;case a.KEY_UP:this.list.selectPrevious();break;case a.KEY_TAB:this.list.select()}return this.j.e.stopPropagation(e.type),!1}}onEnter(){if(this.popup.isOpened)return this.list.select(),!1}async onAutoComplete(e){const t=[];return await Promise.all(this.sources.concat(this.j.o.autocomplete.sources).map((async o=>{t.push(...await this.resolveFeed(e,o))}))),t}async resolveFeed(e,t,o){let n;if((0,l.isPromise)(t)&&(t=await t),(0,l.isFunction)(t))n=await t(e);else if((0,l.isArray)(t)){const o=t,{isMatchedQuery:i}=this.j.o.autocomplete;n=o.filter((t=>(0,l.isString)(t)?i(e,t):i(e,t.value))).map((e=>(0,l.isString)(e)?{title:e,value:e}:e))}else n=await this.resolveFeed(e,t.feed,t);if(n&&(0,l.isArray)(n)){const{itemRenderer:e,insertValueRenderer:t,maxItems:i}=this.j.o.autocomplete;return n=n.map((n=>{var i,s;return{itemRenderer:null!==(i=null==o?void 0:o.itemRenderer)&&void 0!==i?i:e,insertValueRenderer:null!==(s=null==o?void 0:o.insertValueRenderer)&&void 0!==s?s:t,...n}})),n.slice(0,i)}return[]}openPopup(e){this.list.build(e),this.popup.open((()=>{const{j:e}=this,t=e.s.range.getBoundingClientRect(),o={left:t.left,top:t.top,height:t.height,width:t.width};if(e.o.iframe&&e.iframe){const t=(0,l.position)(e.iframe,e);o.top+=t.top,o.left+=t.left}return o}))}beforeDestruct(e){e.e.off(this.list).off("keydown.autocomplete",this.onKeyDown).off("autocomplete.autocomplete",this.onAutoComplete).off(".autocomplete"),this.list.destruct(),this.popup.destruct()}}f.requires=["enter","license"],(0,n.gn)([r.autobind],f.prototype,"registerAutocompleteSource",null),(0,n.gn)([(0,r.debounce)()],f.prototype,"onKeyDown",null),(0,n.gn)([r.autobind],f.prototype,"onKeyControlDown",null),(0,n.gn)([r.autobind],f.prototype,"onEnter",null),(0,n.gn)([r.autobind],f.prototype,"onAutoComplete",null),(0,n.gn)([r.autobind],f.prototype,"resolveFeed",null),h.y.plugins.add("autocomplete",f)},47325:function(e,t,o){o.d(t,{Y:function(){return i},p:function(){return s}});var n=o(44913);function i(e){var t,o,i,s;const{startContainer:r,startOffset:l}=e;if(n.i.isText(r))return null!==(o=null===(t=r.nodeValue)||void 0===t?void 0:t.substr(0,l))&&void 0!==o?o:"";const u=r.childNodes[l];if(!u)return"";if(n.i.isText(u))return null!==(i=u.nodeValue)&&void 0!==i?i:"";const c=n.i.findNotEmptyNeighbor(u,!0,r);return n.i.isText(c)&&null!==(s=u.nodeValue)&&void 0!==s?s:""}function s(e,t){var o,i,s;let{startContainer:r,startOffset:l}=e;if(n.i.isText(r)||(r=r.childNodes[l-1],n.i.isText(r)&&(l=null!==(i=null===(o=r.nodeValue)||void 0===o?void 0:o.length)&&void 0!==i?i:0)),n.i.isText(r)){const o=null!==(s=r.nodeValue)&&void 0!==s?s:"",n=o.substring(0,l),i=o.substring(l),u=n.split(" ");u[u.length-1]="";const c=u.join(" ");return r.nodeValue=c+i,e.setStart(r,c.length),void e.insertNode(t)}}},77325:function(e,t,o){o.d(t,{F:function(){return l}});var n=o(97582),i=o(50526),s=o(75004),r=o(91381);let l=class e extends s.qe{constructor(){super(...arguments),this.elements=[],this.currentSelection=-1}className(){return"Autocomplete"}onChangeSelection(e,t){var o;null!=t&&(null===(o=this.elements[t])||void 0===o||o.setMod("active",!1)),this.elements[this.currentSelection].setMod("active",!0),this.elements[this.currentSelection].container.scrollIntoView(!1)}build(e){this.clear(),e.forEach(((e,t)=>{const o=new r.h(this.jodit,e);this.j.e.on(o.container,"mousedown touchstart",(e=>{e.preventDefault()})).on(o.container,"click",(()=>{this.currentSelection=t,this.select()})),this.append(o)})),this.currentSelection=0,this.onChangeSelection()}selectNext(){this.currentSelection+1>this.elements.length-1?this.currentSelection=0:this.currentSelection+=1}selectPrevious(){0>this.currentSelection-1?this.currentSelection=this.elements.length-1:this.currentSelection-=1}select(){this.j.e.fire("select.autocomplete",this.elements[this.currentSelection].item)}};(0,n.gn)([(0,i.watch)("currentSelection")],l.prototype,"onChangeSelection",null),l=(0,n.gn)([i.component],l)},91381:function(e,t,o){o.d(t,{h:function(){return s}});var n=o(75004),i=o(95582);class s extends n.u1{className(){return"AutocompleteItem"}constructor(e,t){var o;super(e),this.item=t;const{container:n}=this;if((0,i.isFunction)(t.itemRenderer)){const e=t.itemRenderer(t);(0,i.isString)(e)?n.innerHTML=e:n.appendChild(e)}else n.innerText=null!==(o=t.title)&&void 0!==o?o:t.value}}}},function(e){return e(e.s=93123)}])}));
@@ -0,0 +1,48 @@
1
+ /*!
2
+ * jodit-pro - PRO Version of Jodit Editor
3
+ * Author: Chupurnov Valeriy <chupurnov@gmail.com>
4
+ * Version: v2.0.0-beta.10
5
+ * Url: https://xdsoft.net/jodit/pro/
6
+ * License(s): SEE LICENSE IN LICENSE.md
7
+ */
8
+
9
+ .jodit-ui-backup-box {
10
+ display: flex;
11
+ height: 100%;
12
+ max-height: 100%;
13
+ justify-content: stretch;
14
+ border-bottom: 1px solid var(--jd-color-border);
15
+ }
16
+ .jodit-ui-backup-box__list {
17
+ overflow: auto;
18
+ min-width: 200px;
19
+ padding: var(--jd-padding-default);
20
+ border-right: 1px solid var(--jd-color-border);
21
+ user-select: none;
22
+ }
23
+ .jodit-ui-backup-box__preview {
24
+ overflow: auto;
25
+ flex: 1;
26
+ padding: var(--jd-padding-default);
27
+ }
28
+ .jodit-ui-backup-box__empty {
29
+ position: relative;
30
+ top: 50%;
31
+ width: 100px;
32
+ height: 30px;
33
+ margin: auto;
34
+ opacity: 0.3;
35
+ }
36
+
37
+ .jodit-ui-backup-item {
38
+ padding: var(--jd-padding-default);
39
+ cursor: pointer;
40
+ }
41
+ .jodit-ui-backup-item:hover {
42
+ background-color: var(--jd-color-background-selection);
43
+ }
44
+ .jodit-ui-backup-item_active_true {
45
+ background-color: var(--jd-color-background-selection-opacity50);
46
+ outline: 1px solid var(--jd-color-border-active);
47
+ }
48
+