@ckeditor/ckeditor5-track-changes 0.0.0-internal-20241017.0

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 (466) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +22 -0
  3. package/README.md +68 -0
  4. package/build/track-changes.js +5 -0
  5. package/build/translations/ar.js +1 -0
  6. package/build/translations/az.js +1 -0
  7. package/build/translations/bg.js +1 -0
  8. package/build/translations/bn.js +1 -0
  9. package/build/translations/ca.js +1 -0
  10. package/build/translations/cs.js +1 -0
  11. package/build/translations/da.js +1 -0
  12. package/build/translations/de.js +1 -0
  13. package/build/translations/el.js +1 -0
  14. package/build/translations/en-au.js +1 -0
  15. package/build/translations/es.js +1 -0
  16. package/build/translations/et.js +1 -0
  17. package/build/translations/fi.js +1 -0
  18. package/build/translations/fr.js +1 -0
  19. package/build/translations/gl.js +1 -0
  20. package/build/translations/he.js +1 -0
  21. package/build/translations/hi.js +1 -0
  22. package/build/translations/hr.js +1 -0
  23. package/build/translations/hu.js +1 -0
  24. package/build/translations/id.js +1 -0
  25. package/build/translations/it.js +1 -0
  26. package/build/translations/ja.js +1 -0
  27. package/build/translations/ko.js +1 -0
  28. package/build/translations/lt.js +1 -0
  29. package/build/translations/lv.js +1 -0
  30. package/build/translations/ms.js +1 -0
  31. package/build/translations/nl.js +1 -0
  32. package/build/translations/no.js +1 -0
  33. package/build/translations/pl.js +1 -0
  34. package/build/translations/pt-br.js +1 -0
  35. package/build/translations/pt.js +1 -0
  36. package/build/translations/ro.js +1 -0
  37. package/build/translations/ru.js +1 -0
  38. package/build/translations/sk.js +1 -0
  39. package/build/translations/sq.js +1 -0
  40. package/build/translations/sr-latn.js +1 -0
  41. package/build/translations/sr.js +1 -0
  42. package/build/translations/sv.js +1 -0
  43. package/build/translations/th.js +1 -0
  44. package/build/translations/tk.js +1 -0
  45. package/build/translations/tr.js +1 -0
  46. package/build/translations/tt.js +1 -0
  47. package/build/translations/uk.js +1 -0
  48. package/build/translations/ur.js +1 -0
  49. package/build/translations/vi.js +1 -0
  50. package/build/translations/zh-cn.js +1 -0
  51. package/build/translations/zh.js +1 -0
  52. package/ckeditor5-metadata.json +31 -0
  53. package/dist/augmentation.d.ts +44 -0
  54. package/dist/commands/acceptsuggestioncommand.d.ts +28 -0
  55. package/dist/commands/discardsuggestioncommand.d.ts +28 -0
  56. package/dist/commands/executeonallsuggestionscommand.d.ts +28 -0
  57. package/dist/commands/executeonselectedsuggestionscommand.d.ts +28 -0
  58. package/dist/commands/trackchangescommand.d.ts +30 -0
  59. package/dist/index-content.css +4 -0
  60. package/dist/index-editor.css +4 -0
  61. package/dist/index.css +4 -0
  62. package/dist/index.d.ts +22 -0
  63. package/dist/index.js +25 -0
  64. package/dist/integrations/aiassistant.d.ts +21 -0
  65. package/dist/integrations/alignment.d.ts +21 -0
  66. package/dist/integrations/basicstyles.d.ts +21 -0
  67. package/dist/integrations/blockquote.d.ts +21 -0
  68. package/dist/integrations/casechange.d.ts +21 -0
  69. package/dist/integrations/ckbox.d.ts +21 -0
  70. package/dist/integrations/codeblock.d.ts +21 -0
  71. package/dist/integrations/comments.d.ts +18 -0
  72. package/dist/integrations/deletecommand.d.ts +21 -0
  73. package/dist/integrations/entercommand.d.ts +20 -0
  74. package/dist/integrations/findandreplace.d.ts +25 -0
  75. package/dist/integrations/font.d.ts +21 -0
  76. package/dist/integrations/formatpainter.d.ts +21 -0
  77. package/dist/integrations/heading.d.ts +21 -0
  78. package/dist/integrations/highlight.d.ts +21 -0
  79. package/dist/integrations/horizontalline.d.ts +21 -0
  80. package/dist/integrations/htmlembed.d.ts +21 -0
  81. package/dist/integrations/image.d.ts +21 -0
  82. package/dist/integrations/imagereplace.d.ts +21 -0
  83. package/dist/integrations/imagestyle.d.ts +21 -0
  84. package/dist/integrations/importword.d.ts +22 -0
  85. package/dist/integrations/indent.d.ts +21 -0
  86. package/dist/integrations/inputcommand.d.ts +20 -0
  87. package/dist/integrations/legacylist.d.ts +21 -0
  88. package/dist/integrations/legacylistproperties.d.ts +33 -0
  89. package/dist/integrations/link.d.ts +21 -0
  90. package/dist/integrations/list.d.ts +21 -0
  91. package/dist/integrations/listproperties.d.ts +24 -0
  92. package/dist/integrations/mediaembed.d.ts +21 -0
  93. package/dist/integrations/mention.d.ts +21 -0
  94. package/dist/integrations/mergefields.d.ts +21 -0
  95. package/dist/integrations/multilevellist.d.ts +28 -0
  96. package/dist/integrations/pagebreak.d.ts +21 -0
  97. package/dist/integrations/paragraph.d.ts +21 -0
  98. package/dist/integrations/removeformat.d.ts +21 -0
  99. package/dist/integrations/restrictededitingmode.d.ts +21 -0
  100. package/dist/integrations/shiftentercommand.d.ts +20 -0
  101. package/dist/integrations/standardeditingmode.d.ts +21 -0
  102. package/dist/integrations/style.d.ts +21 -0
  103. package/dist/integrations/table.d.ts +46 -0
  104. package/dist/integrations/tablecaption.d.ts +26 -0
  105. package/dist/integrations/tableclipboard.d.ts +23 -0
  106. package/dist/integrations/tablecolumnresize.d.ts +30 -0
  107. package/dist/integrations/tableheadings.d.ts +26 -0
  108. package/dist/integrations/tablemergesplit.d.ts +26 -0
  109. package/dist/integrations/tableofcontents.d.ts +21 -0
  110. package/dist/integrations/tableproperties.d.ts +39 -0
  111. package/dist/integrations/template.d.ts +21 -0
  112. package/dist/integrations/title.d.ts +21 -0
  113. package/dist/integrations/undo.d.ts +21 -0
  114. package/dist/integrations/utils.d.ts +21 -0
  115. package/dist/suggestion.d.ts +295 -0
  116. package/dist/suggestiondescriptionfactory.d.ts +187 -0
  117. package/dist/trackchanges.d.ts +192 -0
  118. package/dist/trackchangesconfig.d.ts +89 -0
  119. package/dist/trackchangesdata.d.ts +53 -0
  120. package/dist/trackchangesediting.d.ts +557 -0
  121. package/dist/trackchangesui.d.ts +50 -0
  122. package/dist/translations/ar.d.ts +8 -0
  123. package/dist/translations/ar.js +23 -0
  124. package/dist/translations/ar.umd.js +23 -0
  125. package/dist/translations/az.d.ts +8 -0
  126. package/dist/translations/az.js +23 -0
  127. package/dist/translations/az.umd.js +23 -0
  128. package/dist/translations/bg.d.ts +8 -0
  129. package/dist/translations/bg.js +23 -0
  130. package/dist/translations/bg.umd.js +23 -0
  131. package/dist/translations/bn.d.ts +8 -0
  132. package/dist/translations/bn.js +23 -0
  133. package/dist/translations/bn.umd.js +23 -0
  134. package/dist/translations/ca.d.ts +8 -0
  135. package/dist/translations/ca.js +23 -0
  136. package/dist/translations/ca.umd.js +23 -0
  137. package/dist/translations/cs.d.ts +8 -0
  138. package/dist/translations/cs.js +23 -0
  139. package/dist/translations/cs.umd.js +23 -0
  140. package/dist/translations/da.d.ts +8 -0
  141. package/dist/translations/da.js +23 -0
  142. package/dist/translations/da.umd.js +23 -0
  143. package/dist/translations/de.d.ts +8 -0
  144. package/dist/translations/de.js +23 -0
  145. package/dist/translations/de.umd.js +23 -0
  146. package/dist/translations/el.d.ts +8 -0
  147. package/dist/translations/el.js +23 -0
  148. package/dist/translations/el.umd.js +23 -0
  149. package/dist/translations/en-au.d.ts +8 -0
  150. package/dist/translations/en-au.js +23 -0
  151. package/dist/translations/en-au.umd.js +23 -0
  152. package/dist/translations/en.d.ts +8 -0
  153. package/dist/translations/en.js +23 -0
  154. package/dist/translations/en.umd.js +23 -0
  155. package/dist/translations/es.d.ts +8 -0
  156. package/dist/translations/es.js +23 -0
  157. package/dist/translations/es.umd.js +23 -0
  158. package/dist/translations/et.d.ts +8 -0
  159. package/dist/translations/et.js +23 -0
  160. package/dist/translations/et.umd.js +23 -0
  161. package/dist/translations/fi.d.ts +8 -0
  162. package/dist/translations/fi.js +23 -0
  163. package/dist/translations/fi.umd.js +23 -0
  164. package/dist/translations/fr.d.ts +8 -0
  165. package/dist/translations/fr.js +23 -0
  166. package/dist/translations/fr.umd.js +23 -0
  167. package/dist/translations/gl.d.ts +8 -0
  168. package/dist/translations/gl.js +23 -0
  169. package/dist/translations/gl.umd.js +23 -0
  170. package/dist/translations/he.d.ts +8 -0
  171. package/dist/translations/he.js +23 -0
  172. package/dist/translations/he.umd.js +23 -0
  173. package/dist/translations/hi.d.ts +8 -0
  174. package/dist/translations/hi.js +23 -0
  175. package/dist/translations/hi.umd.js +23 -0
  176. package/dist/translations/hr.d.ts +8 -0
  177. package/dist/translations/hr.js +23 -0
  178. package/dist/translations/hr.umd.js +23 -0
  179. package/dist/translations/hu.d.ts +8 -0
  180. package/dist/translations/hu.js +23 -0
  181. package/dist/translations/hu.umd.js +23 -0
  182. package/dist/translations/id.d.ts +8 -0
  183. package/dist/translations/id.js +23 -0
  184. package/dist/translations/id.umd.js +23 -0
  185. package/dist/translations/it.d.ts +8 -0
  186. package/dist/translations/it.js +23 -0
  187. package/dist/translations/it.umd.js +23 -0
  188. package/dist/translations/ja.d.ts +8 -0
  189. package/dist/translations/ja.js +23 -0
  190. package/dist/translations/ja.umd.js +23 -0
  191. package/dist/translations/ko.d.ts +8 -0
  192. package/dist/translations/ko.js +23 -0
  193. package/dist/translations/ko.umd.js +23 -0
  194. package/dist/translations/lt.d.ts +8 -0
  195. package/dist/translations/lt.js +23 -0
  196. package/dist/translations/lt.umd.js +23 -0
  197. package/dist/translations/lv.d.ts +8 -0
  198. package/dist/translations/lv.js +23 -0
  199. package/dist/translations/lv.umd.js +23 -0
  200. package/dist/translations/ms.d.ts +8 -0
  201. package/dist/translations/ms.js +23 -0
  202. package/dist/translations/ms.umd.js +23 -0
  203. package/dist/translations/nl.d.ts +8 -0
  204. package/dist/translations/nl.js +23 -0
  205. package/dist/translations/nl.umd.js +23 -0
  206. package/dist/translations/no.d.ts +8 -0
  207. package/dist/translations/no.js +23 -0
  208. package/dist/translations/no.umd.js +23 -0
  209. package/dist/translations/pl.d.ts +8 -0
  210. package/dist/translations/pl.js +23 -0
  211. package/dist/translations/pl.umd.js +23 -0
  212. package/dist/translations/pt-br.d.ts +8 -0
  213. package/dist/translations/pt-br.js +23 -0
  214. package/dist/translations/pt-br.umd.js +23 -0
  215. package/dist/translations/pt.d.ts +8 -0
  216. package/dist/translations/pt.js +23 -0
  217. package/dist/translations/pt.umd.js +23 -0
  218. package/dist/translations/ro.d.ts +8 -0
  219. package/dist/translations/ro.js +23 -0
  220. package/dist/translations/ro.umd.js +23 -0
  221. package/dist/translations/ru.d.ts +8 -0
  222. package/dist/translations/ru.js +23 -0
  223. package/dist/translations/ru.umd.js +23 -0
  224. package/dist/translations/sk.d.ts +8 -0
  225. package/dist/translations/sk.js +23 -0
  226. package/dist/translations/sk.umd.js +23 -0
  227. package/dist/translations/sq.d.ts +8 -0
  228. package/dist/translations/sq.js +23 -0
  229. package/dist/translations/sq.umd.js +23 -0
  230. package/dist/translations/sr-latn.d.ts +8 -0
  231. package/dist/translations/sr-latn.js +23 -0
  232. package/dist/translations/sr-latn.umd.js +23 -0
  233. package/dist/translations/sr.d.ts +8 -0
  234. package/dist/translations/sr.js +23 -0
  235. package/dist/translations/sr.umd.js +23 -0
  236. package/dist/translations/sv.d.ts +8 -0
  237. package/dist/translations/sv.js +23 -0
  238. package/dist/translations/sv.umd.js +23 -0
  239. package/dist/translations/th.d.ts +8 -0
  240. package/dist/translations/th.js +23 -0
  241. package/dist/translations/th.umd.js +23 -0
  242. package/dist/translations/tk.d.ts +8 -0
  243. package/dist/translations/tk.js +23 -0
  244. package/dist/translations/tk.umd.js +23 -0
  245. package/dist/translations/tr.d.ts +8 -0
  246. package/dist/translations/tr.js +23 -0
  247. package/dist/translations/tr.umd.js +23 -0
  248. package/dist/translations/tt.d.ts +8 -0
  249. package/dist/translations/tt.js +23 -0
  250. package/dist/translations/tt.umd.js +23 -0
  251. package/dist/translations/uk.d.ts +8 -0
  252. package/dist/translations/uk.js +23 -0
  253. package/dist/translations/uk.umd.js +23 -0
  254. package/dist/translations/ur.d.ts +8 -0
  255. package/dist/translations/ur.js +23 -0
  256. package/dist/translations/ur.umd.js +23 -0
  257. package/dist/translations/vi.d.ts +8 -0
  258. package/dist/translations/vi.js +23 -0
  259. package/dist/translations/vi.umd.js +23 -0
  260. package/dist/translations/zh-cn.d.ts +8 -0
  261. package/dist/translations/zh-cn.js +23 -0
  262. package/dist/translations/zh-cn.umd.js +23 -0
  263. package/dist/translations/zh.d.ts +8 -0
  264. package/dist/translations/zh.js +23 -0
  265. package/dist/translations/zh.umd.js +23 -0
  266. package/dist/ui/suggestioncontroller.d.ts +41 -0
  267. package/dist/ui/view/basesuggestionthreadview.d.ts +209 -0
  268. package/dist/ui/view/suggestionthreadview.d.ts +98 -0
  269. package/dist/ui/view/suggestionview.d.ts +194 -0
  270. package/dist/utils/common-translations.d.ts +13 -0
  271. package/dist/utils/utils.d.ts +41 -0
  272. package/lang/contexts.json +134 -0
  273. package/lang/translations/ar.po +672 -0
  274. package/lang/translations/az.po +588 -0
  275. package/lang/translations/bg.po +588 -0
  276. package/lang/translations/bn.po +614 -0
  277. package/lang/translations/ca.po +588 -0
  278. package/lang/translations/cs.po +630 -0
  279. package/lang/translations/da.po +588 -0
  280. package/lang/translations/de.po +588 -0
  281. package/lang/translations/el.po +588 -0
  282. package/lang/translations/en-au.po +588 -0
  283. package/lang/translations/en.po +588 -0
  284. package/lang/translations/es.po +609 -0
  285. package/lang/translations/et.po +588 -0
  286. package/lang/translations/fi.po +588 -0
  287. package/lang/translations/fr.po +609 -0
  288. package/lang/translations/gl.po +588 -0
  289. package/lang/translations/he.po +625 -0
  290. package/lang/translations/hi.po +588 -0
  291. package/lang/translations/hr.po +609 -0
  292. package/lang/translations/hu.po +588 -0
  293. package/lang/translations/id.po +567 -0
  294. package/lang/translations/it.po +609 -0
  295. package/lang/translations/ja.po +567 -0
  296. package/lang/translations/ko.po +567 -0
  297. package/lang/translations/lt.po +630 -0
  298. package/lang/translations/lv.po +609 -0
  299. package/lang/translations/ms.po +567 -0
  300. package/lang/translations/nl.po +588 -0
  301. package/lang/translations/no.po +588 -0
  302. package/lang/translations/pl.po +630 -0
  303. package/lang/translations/pt-br.po +609 -0
  304. package/lang/translations/pt.po +609 -0
  305. package/lang/translations/ro.po +609 -0
  306. package/lang/translations/ru.po +632 -0
  307. package/lang/translations/sk.po +630 -0
  308. package/lang/translations/sq.po +588 -0
  309. package/lang/translations/sr-latn.po +609 -0
  310. package/lang/translations/sr.po +609 -0
  311. package/lang/translations/sv.po +588 -0
  312. package/lang/translations/th.po +567 -0
  313. package/lang/translations/tk.po +588 -0
  314. package/lang/translations/tr.po +588 -0
  315. package/lang/translations/tt.po +567 -0
  316. package/lang/translations/uk.po +630 -0
  317. package/lang/translations/ur.po +588 -0
  318. package/lang/translations/vi.po +567 -0
  319. package/lang/translations/zh-cn.po +567 -0
  320. package/lang/translations/zh.po +567 -0
  321. package/package.json +57 -0
  322. package/src/augmentation.d.ts +40 -0
  323. package/src/augmentation.js +23 -0
  324. package/src/commands/acceptsuggestioncommand.d.ts +24 -0
  325. package/src/commands/acceptsuggestioncommand.js +23 -0
  326. package/src/commands/discardsuggestioncommand.d.ts +24 -0
  327. package/src/commands/discardsuggestioncommand.js +23 -0
  328. package/src/commands/executeonallsuggestionscommand.d.ts +24 -0
  329. package/src/commands/executeonallsuggestionscommand.js +23 -0
  330. package/src/commands/executeonselectedsuggestionscommand.d.ts +24 -0
  331. package/src/commands/executeonselectedsuggestionscommand.js +23 -0
  332. package/src/commands/trackchangescommand.d.ts +26 -0
  333. package/src/commands/trackchangescommand.js +23 -0
  334. package/src/index.d.ts +18 -0
  335. package/src/index.js +23 -0
  336. package/src/integrations/aiassistant.d.ts +17 -0
  337. package/src/integrations/aiassistant.js +23 -0
  338. package/src/integrations/alignment.d.ts +17 -0
  339. package/src/integrations/alignment.js +23 -0
  340. package/src/integrations/basicstyles.d.ts +17 -0
  341. package/src/integrations/basicstyles.js +23 -0
  342. package/src/integrations/blockquote.d.ts +17 -0
  343. package/src/integrations/blockquote.js +23 -0
  344. package/src/integrations/casechange.d.ts +17 -0
  345. package/src/integrations/casechange.js +23 -0
  346. package/src/integrations/ckbox.d.ts +17 -0
  347. package/src/integrations/ckbox.js +23 -0
  348. package/src/integrations/codeblock.d.ts +17 -0
  349. package/src/integrations/codeblock.js +23 -0
  350. package/src/integrations/comments.d.ts +14 -0
  351. package/src/integrations/comments.js +23 -0
  352. package/src/integrations/deletecommand.d.ts +17 -0
  353. package/src/integrations/deletecommand.js +23 -0
  354. package/src/integrations/entercommand.d.ts +16 -0
  355. package/src/integrations/entercommand.js +23 -0
  356. package/src/integrations/findandreplace.d.ts +21 -0
  357. package/src/integrations/findandreplace.js +23 -0
  358. package/src/integrations/font.d.ts +17 -0
  359. package/src/integrations/font.js +23 -0
  360. package/src/integrations/formatpainter.d.ts +17 -0
  361. package/src/integrations/formatpainter.js +23 -0
  362. package/src/integrations/heading.d.ts +17 -0
  363. package/src/integrations/heading.js +23 -0
  364. package/src/integrations/highlight.d.ts +17 -0
  365. package/src/integrations/highlight.js +23 -0
  366. package/src/integrations/horizontalline.d.ts +17 -0
  367. package/src/integrations/horizontalline.js +23 -0
  368. package/src/integrations/htmlembed.d.ts +17 -0
  369. package/src/integrations/htmlembed.js +23 -0
  370. package/src/integrations/image.d.ts +17 -0
  371. package/src/integrations/image.js +23 -0
  372. package/src/integrations/imagereplace.d.ts +17 -0
  373. package/src/integrations/imagereplace.js +23 -0
  374. package/src/integrations/imagestyle.d.ts +17 -0
  375. package/src/integrations/imagestyle.js +23 -0
  376. package/src/integrations/importword.d.ts +18 -0
  377. package/src/integrations/importword.js +23 -0
  378. package/src/integrations/indent.d.ts +17 -0
  379. package/src/integrations/indent.js +23 -0
  380. package/src/integrations/inputcommand.d.ts +16 -0
  381. package/src/integrations/inputcommand.js +23 -0
  382. package/src/integrations/legacylist.d.ts +17 -0
  383. package/src/integrations/legacylist.js +23 -0
  384. package/src/integrations/legacylistproperties.d.ts +29 -0
  385. package/src/integrations/legacylistproperties.js +23 -0
  386. package/src/integrations/link.d.ts +17 -0
  387. package/src/integrations/link.js +23 -0
  388. package/src/integrations/list.d.ts +17 -0
  389. package/src/integrations/list.js +23 -0
  390. package/src/integrations/listproperties.d.ts +20 -0
  391. package/src/integrations/listproperties.js +23 -0
  392. package/src/integrations/mediaembed.d.ts +17 -0
  393. package/src/integrations/mediaembed.js +23 -0
  394. package/src/integrations/mention.d.ts +17 -0
  395. package/src/integrations/mention.js +23 -0
  396. package/src/integrations/mergefields.d.ts +17 -0
  397. package/src/integrations/mergefields.js +23 -0
  398. package/src/integrations/multilevellist.d.ts +24 -0
  399. package/src/integrations/multilevellist.js +23 -0
  400. package/src/integrations/pagebreak.d.ts +17 -0
  401. package/src/integrations/pagebreak.js +23 -0
  402. package/src/integrations/paragraph.d.ts +17 -0
  403. package/src/integrations/paragraph.js +23 -0
  404. package/src/integrations/removeformat.d.ts +17 -0
  405. package/src/integrations/removeformat.js +23 -0
  406. package/src/integrations/restrictededitingmode.d.ts +17 -0
  407. package/src/integrations/restrictededitingmode.js +23 -0
  408. package/src/integrations/shiftentercommand.d.ts +16 -0
  409. package/src/integrations/shiftentercommand.js +23 -0
  410. package/src/integrations/standardeditingmode.d.ts +17 -0
  411. package/src/integrations/standardeditingmode.js +23 -0
  412. package/src/integrations/style.d.ts +17 -0
  413. package/src/integrations/style.js +23 -0
  414. package/src/integrations/table.d.ts +42 -0
  415. package/src/integrations/table.js +23 -0
  416. package/src/integrations/tablecaption.d.ts +22 -0
  417. package/src/integrations/tablecaption.js +23 -0
  418. package/src/integrations/tableclipboard.d.ts +19 -0
  419. package/src/integrations/tableclipboard.js +23 -0
  420. package/src/integrations/tablecolumnresize.d.ts +26 -0
  421. package/src/integrations/tablecolumnresize.js +23 -0
  422. package/src/integrations/tableheadings.d.ts +22 -0
  423. package/src/integrations/tableheadings.js +23 -0
  424. package/src/integrations/tablemergesplit.d.ts +22 -0
  425. package/src/integrations/tablemergesplit.js +23 -0
  426. package/src/integrations/tableofcontents.d.ts +17 -0
  427. package/src/integrations/tableofcontents.js +23 -0
  428. package/src/integrations/tableproperties.d.ts +35 -0
  429. package/src/integrations/tableproperties.js +23 -0
  430. package/src/integrations/template.d.ts +17 -0
  431. package/src/integrations/template.js +23 -0
  432. package/src/integrations/title.d.ts +17 -0
  433. package/src/integrations/title.js +23 -0
  434. package/src/integrations/undo.d.ts +17 -0
  435. package/src/integrations/undo.js +23 -0
  436. package/src/integrations/utils.d.ts +17 -0
  437. package/src/integrations/utils.js +23 -0
  438. package/src/suggestion.d.ts +291 -0
  439. package/src/suggestion.js +24 -0
  440. package/src/suggestiondescriptionfactory.d.ts +183 -0
  441. package/src/suggestiondescriptionfactory.js +23 -0
  442. package/src/trackchanges.d.ts +188 -0
  443. package/src/trackchanges.js +23 -0
  444. package/src/trackchangesconfig.d.ts +85 -0
  445. package/src/trackchangesconfig.js +23 -0
  446. package/src/trackchangesdata.d.ts +49 -0
  447. package/src/trackchangesdata.js +23 -0
  448. package/src/trackchangesediting.d.ts +553 -0
  449. package/src/trackchangesediting.js +23 -0
  450. package/src/trackchangesui.d.ts +46 -0
  451. package/src/trackchangesui.js +23 -0
  452. package/src/ui/suggestioncontroller.d.ts +37 -0
  453. package/src/ui/suggestioncontroller.js +24 -0
  454. package/src/ui/view/basesuggestionthreadview.d.ts +205 -0
  455. package/src/ui/view/basesuggestionthreadview.js +23 -0
  456. package/src/ui/view/suggestionthreadview.d.ts +94 -0
  457. package/src/ui/view/suggestionthreadview.js +23 -0
  458. package/src/ui/view/suggestionview.d.ts +190 -0
  459. package/src/ui/view/suggestionview.js +23 -0
  460. package/src/utils/common-translations.d.ts +9 -0
  461. package/src/utils/common-translations.js +23 -0
  462. package/src/utils/utils.d.ts +37 -0
  463. package/src/utils/utils.js +23 -0
  464. package/theme/icons/track-changes-accept.svg +11 -0
  465. package/theme/icons/track-changes-discard.svg +11 -0
  466. package/theme/icons/track-changes.svg +11 -0
@@ -0,0 +1,205 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @module track-changes/ui/view/basesuggestionthreadview
7
+ * @publicApi
8
+ */
9
+ import { FocusCycler, View, ViewCollection, type FocusableView } from 'ckeditor5/src/ui.js';
10
+ import { FocusTracker, KeystrokeHandler, type Locale } from 'ckeditor5/src/utils.js';
11
+ import type { EditorConfig } from 'ckeditor5/src/core.js';
12
+ import type Suggestion from '../../suggestion.js';
13
+ import type { CommentsListView, CommentThreadInputView, CommentView } from '@ckeditor/ckeditor5-comments';
14
+ import { AriaDescriptionView, type User } from 'ckeditor5-collaboration/src/collaboration-core.js';
15
+ import type { Description } from '../../suggestiondescriptionfactory.js';
16
+ import type SuggestionView from './suggestionview.js';
17
+ /**
18
+ * An abstract suggestion thread view class that should be used as a base for suggestion thread view implementations.
19
+ * It provides some behaviors, flags and building blocks to use when creating a custom suggestion thread view class.
20
+ *
21
+ * All events fired by {@link module:comments/comments/ui/view/basecommentview~BaseCommentView}
22
+ * are delegated to {@link module:track-changes/ui/view/basesuggestionthreadview~BaseSuggestionThreadView}.
23
+ * This means that {@link module:track-changes/ui/view/basesuggestionthreadview~BaseSuggestionThreadView} can also fire these
24
+ * events to communicate with CKEditor 5 collaboration features.
25
+ *
26
+ * For the usage examples check the {@glink features/collaboration/annotations/annotations-custom-view
27
+ * Annotations custom view} guide.
28
+ */
29
+ export default abstract class BaseSuggestionThreadView extends View {
30
+ /**
31
+ * The list of comment views. It should be used as a part of the view template when present.
32
+ */
33
+ commentsListView: CommentsListView | null;
34
+ /**
35
+ * The comment input area view. It should be used as a part of the view template when present.
36
+ */
37
+ commentThreadInputView: CommentThreadInputView | null;
38
+ /**
39
+ * A helper view that provides an ARIA description for the comment thread used by
40
+ * assistive technologies.
41
+ */
42
+ readonly ariaDescriptionView: AriaDescriptionView;
43
+ /**
44
+ * A boolean value that informs if the comment thread view is in the active state ("highlighted").
45
+ * A comment thread view is in this state when it is focused or was activated by the user in any different way.
46
+ *
47
+ * @observable
48
+ */
49
+ isActive: boolean;
50
+ /**
51
+ * Suggestion creation date.
52
+ *
53
+ * @observable
54
+ */
55
+ authoredAt: Date | null;
56
+ /**
57
+ * Flag that indicates whether suggestion acceptation is possible.
58
+ *
59
+ * @observable
60
+ */
61
+ canAccept: boolean;
62
+ /**
63
+ * Flag that indicates whether suggestion discarding is possible.
64
+ *
65
+ * @observable
66
+ */
67
+ canDiscard: boolean;
68
+ /**
69
+ * Stores description entries generated for this suggestion that describe what is the suggested change.
70
+ * They are used to create the final description presented in the suggestion view to the user.
71
+ *
72
+ * Note that one suggestion may include multiple changes.
73
+ *
74
+ * Most cases are simple and include just one description item:
75
+ *
76
+ * ```ts
77
+ * [
78
+ * { type: 'insertion', content: '*Insert:* "Foo"' }
79
+ * ]
80
+ * ```
81
+ *
82
+ * This description item represents a suggestion for inserting the "Foo" text. The `type` property describes the performed action
83
+ * while the `content` property contains additional information about the action and is optional.
84
+ *
85
+ * A more complex example is presented below:
86
+ *
87
+ * ```ts
88
+ * [
89
+ * { type: 'insertion', content: '*Insert:* 2 paragraphs' },
90
+ * { type: 'insertion', content: '*Insert:* image' },
91
+ * { type: 'replace', content: '*Replace:* "Foo" *with* "Bar"' }
92
+ * ]
93
+ * ```
94
+ *
95
+ * In this example, there are three description instances (or lines). Two new (empty) paragraphs were added,
96
+ * an image was added and then "Foo" text was replaced by "Bar". The above structure could be rendered as:
97
+ *
98
+ * ```html
99
+ * <p><strong>Insert:</strong> 2 paragraphs</p>
100
+ * <p><strong>Insert:</strong> image</p>
101
+ * <p><strong>Replace:</strong> "Foo" <strong>with</strong> "Bar"</p>
102
+ * ```
103
+ *
104
+ * @observable
105
+ */
106
+ descriptionParts: Array<Description>;
107
+ /**
108
+ * Informs whether the suggestion thread has any changes that have not been saved.
109
+ *
110
+ * @observable
111
+ */
112
+ isDirty: boolean;
113
+ /**
114
+ * Informs whether the suggestion can be accepted or discarded.
115
+ *
116
+ * @observable
117
+ */
118
+ isEnabled: boolean;
119
+ /**
120
+ * The number of items in the view, where the suggestion itself counts as one.
121
+ *
122
+ * In other words, it is equal to the number of comments in the suggestion thread view plus one.
123
+ *
124
+ * @observable
125
+ */
126
+ readonly length: number;
127
+ /**
128
+ * An accessible thread label text exposed to assistive technologies.
129
+ */
130
+ ariaLabel: string;
131
+ /**
132
+ * A collection of focusable child views.
133
+ */
134
+ readonly focusables: ViewCollection<FocusableView>;
135
+ /**
136
+ * Tracks information about DOM focus in the thread.
137
+ */
138
+ readonly focusTracker: FocusTracker;
139
+ /**
140
+ * Instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.
141
+ */
142
+ readonly keystrokes: KeystrokeHandler;
143
+ /**
144
+ * Helps cycling over focusable views in the thread.
145
+ */
146
+ readonly focusCycler: FocusCycler;
147
+ constructor(locale: Locale, model: Suggestion, localUser: User, config: SuggestionThreadConfig);
148
+ /**
149
+ * @inheritDoc
150
+ */
151
+ render(): void;
152
+ /**
153
+ * Focuses the view.
154
+ */
155
+ focus(): void;
156
+ /**
157
+ * @inheritDoc
158
+ */
159
+ destroy(): void;
160
+ }
161
+ /**
162
+ * Fired when a user performed an action that should lead to accepting the suggestion.
163
+ *
164
+ * This event is not fired by default by any component created by `BaseSuggestionThreadView`.
165
+ * If you create a view class extending `BaseSuggestionCommentView`, you should provide
166
+ * a UI element that will fire this event.
167
+ *
168
+ * @eventName ~BaseSuggestionThreadView#acceptSuggestion
169
+ */
170
+ export type AcceptSuggestionEvent = {
171
+ name: 'acceptSuggestion';
172
+ args: [
173
+ id: string
174
+ ];
175
+ };
176
+ /**
177
+ * Fired when a user performed an action that should lead to discarding the suggestion.
178
+ *
179
+ * This event is not fired by default by any component created by `BaseSuggestionThreadView`.
180
+ * If you create a view class extending `BaseSuggestionCommentView`, you should provide
181
+ * a UI element that will fire this event.
182
+ *
183
+ * @eventName ~BaseSuggestionThreadView#discardSuggestion
184
+ */
185
+ export type DiscardSuggestionEvent = {
186
+ name: 'discardSuggestion';
187
+ args: [
188
+ id: string
189
+ ];
190
+ };
191
+ /**
192
+ * Config used for suggestion thread views.
193
+ */
194
+ export interface SuggestionThreadConfig {
195
+ disableComments: boolean;
196
+ editorConfig: EditorConfig;
197
+ maxCommentsWhenCollapsed: number;
198
+ maxThreadTotalWeight: number;
199
+ maxCommentCharsWhenCollapsed: number;
200
+ formatDateTime: (date: Date | string) => string;
201
+ CommentView: typeof CommentView;
202
+ CommentsListView: typeof CommentsListView;
203
+ CommentThreadInputView: typeof CommentThreadInputView;
204
+ SuggestionView: typeof SuggestionView;
205
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ const _0x507929=_0x2b46;(function(_0x16f16c,_0x11b95b){const _0x2a94d9=_0x2b46,_0x580542=_0x16f16c();while(!![]){try{const _0x4259a7=parseInt(_0x2a94d9(0x108))/0x1+parseInt(_0x2a94d9(0xea))/0x2+parseInt(_0x2a94d9(0xe2))/0x3*(-parseInt(_0x2a94d9(0x110))/0x4)+parseInt(_0x2a94d9(0xf5))/0x5+parseInt(_0x2a94d9(0xe6))/0x6+parseInt(_0x2a94d9(0x113))/0x7*(parseInt(_0x2a94d9(0x11a))/0x8)+parseInt(_0x2a94d9(0x101))/0x9*(-parseInt(_0x2a94d9(0x114))/0xa);if(_0x4259a7===_0x11b95b)break;else _0x580542['push'](_0x580542['shift']());}catch(_0x26b6a4){_0x580542['push'](_0x580542['shift']());}}}(_0x4bfb,0xdaa6e));import{FocusCycler as _0x442de0,View as _0x1c6bb6,ViewCollection as _0x1a0bb5}from'ckeditor5/src/ui.js';import{FocusTracker as _0x1acb8a,KeystrokeHandler as _0x120901}from'ckeditor5/src/utils.js';import{AriaDescriptionView as _0x581443,setupThreadKeyboardNavigation as _0x50f829}from'ckeditor5-collaboration/src/collaboration-core.js';function _0x2b46(_0x240480,_0x1783f6){const _0x4bfb3f=_0x4bfb();return _0x2b46=function(_0x2b46d7,_0xb2c9a0){_0x2b46d7=_0x2b46d7-0xdc;let _0x3a7e4b=_0x4bfb3f[_0x2b46d7];return _0x3a7e4b;},_0x2b46(_0x240480,_0x1783f6);}import{getTranslation as _0x21af87}from'../../utils/common-translations.js';import{renderDescription as _0x5e6be8}from'../../utils/utils.js';export default class as extends _0x1c6bb6{constructor(_0x213967,_0x4485e8,_0xc5fd49,_0xe22fa){const _0x3db5df=_0x2b46;super(_0x213967),this[_0x3db5df(0x109)]=null,this[_0x3db5df(0xf8)]=null,this[_0x3db5df(0xe5)]=new _0x581443(_0x213967,_0x21af87(_0x213967,_0x3db5df(0x120))),this[_0x3db5df(0x10a)](_0x3db5df(0xf6),!0x1),this[_0x3db5df(0x10a)](_0x3db5df(0xf3),_0x4485e8[_0x3db5df(0xf3)]),this[_0x3db5df(0x11f)](_0x3db5df(0xf3))['to'](_0x4485e8),this[_0x3db5df(0x10a)](_0x3db5df(0xff),[]),this[_0x3db5df(0x10a)](_0x3db5df(0xdd),!0x1),this[_0x3db5df(0x10a)](_0x3db5df(0x107),!0x1),this[_0x3db5df(0x10a)](_0x3db5df(0xf9),!0x1),this[_0x3db5df(0x10a)](_0x3db5df(0x112),!0x1),this[_0x3db5df(0x11f)](_0x3db5df(0xfd))['to'](this,_0x3db5df(0x10e),_0x4485e8,_0x3db5df(0xf3),this,_0x3db5df(0xff),(_0x24c26d,_0x430afa,_0x481652)=>{const _0x51f7e1=_0x3db5df,_0x1c8b54=_0x481652[_0x51f7e1(0xf7)](_0x3c8091=>_0x5e6be8(_0x3c8091[_0x51f7e1(0xfa)]))[_0x51f7e1(0xe0)]('.\x20')+'.';return _0x21af87(this[_0x51f7e1(0xe9)],_0x51f7e1(0xfc),[_0x24c26d-0x1,_0x4485e8[_0x51f7e1(0x102)][_0x51f7e1(0x105)],_0x430afa?_0xe22fa[_0x51f7e1(0x11e)](_0x430afa):'',new DOMParser()[_0x51f7e1(0x100)](_0x1c8b54,_0x51f7e1(0x122))[_0x51f7e1(0xec)][_0x51f7e1(0x119)]]);}),this[_0x3db5df(0x104)]=new _0x1a0bb5(),this[_0x3db5df(0x103)]=new _0x1acb8a(),this[_0x3db5df(0xe8)]=new _0x120901(),this[_0x3db5df(0x10f)]=new _0x442de0({'focusables':this[_0x3db5df(0x104)],'focusTracker':this[_0x3db5df(0x103)],'keystrokeHandler':this[_0x3db5df(0xe8)],'keystrokeHandlerOptions':{'filter':_0x1dfae4=>_0x1dfae4[_0x3db5df(0xe4)]!==this[_0x3db5df(0x10c)]},'actions':{'focusPrevious':_0x3db5df(0xde),'focusNext':_0x3db5df(0xf4)}}),this[_0x3db5df(0x10d)]=_0x4485e8,this[_0x3db5df(0xee)]=_0xc5fd49,this[_0x3db5df(0x121)]=_0xe22fa,_0xe22fa[_0x3db5df(0x111)]?this[_0x3db5df(0x10a)](_0x3db5df(0x10e),0x1):this[_0x3db5df(0x106)]();}[_0x507929(0xeb)](){const _0x255907=_0x507929;super[_0x255907(0xeb)](),_0x50f829(this,this[_0x255907(0x104)]);}[_0x507929(0xf0)](){const _0x12d206=_0x507929;this[_0x12d206(0x10c)][_0x12d206(0xf0)]();}[_0x507929(0xed)](){const _0x55bed9=_0x507929;this[_0x55bed9(0x109)]&&this[_0x55bed9(0x109)][_0x55bed9(0xed)](),this[_0x55bed9(0xf8)]&&this[_0x55bed9(0xf8)][_0x55bed9(0xed)](),super[_0x55bed9(0xed)]();}[_0x507929(0x106)](){const _0x49aafc=_0x507929,{CommentsListView:_0x3d3f29}=this[_0x49aafc(0x121)];this[_0x49aafc(0x109)]=new _0x3d3f29(this[_0x49aafc(0xe9)],this[_0x49aafc(0x10d)][_0x49aafc(0x117)],Object[_0x49aafc(0x11d)]({'CommentView':this[_0x49aafc(0x121)][_0x49aafc(0x124)]},this[_0x49aafc(0x121)])),this[_0x49aafc(0x109)][_0x49aafc(0x11c)](_0x49aafc(0xdc))['to'](this),this[_0x49aafc(0x109)][_0x49aafc(0x11c)](_0x49aafc(0xef))['to'](this),this[_0x49aafc(0x109)][_0x49aafc(0x11f)](_0x49aafc(0xf6))['to'](this),this[_0x49aafc(0x10a)](_0x49aafc(0x10e),this[_0x49aafc(0x109)][_0x49aafc(0x10e)]+0x1),this[_0x49aafc(0x11f)](_0x49aafc(0x10e))['to'](this[_0x49aafc(0x109)],_0x49aafc(0x10e),_0x145c60=>_0x145c60+0x1),this[_0x49aafc(0xf8)]=this[_0x49aafc(0x116)](),this['on'](_0x49aafc(0xdc),()=>this[_0x49aafc(0xf0)]()),this[_0x49aafc(0x11f)](_0x49aafc(0xdd))['to'](this[_0x49aafc(0x109)],_0x49aafc(0x10b),this[_0x49aafc(0xf8)][_0x49aafc(0xf2)],_0x49aafc(0x115),(_0x265553,_0x5d88d4)=>_0x265553||!!_0x5d88d4);}[_0x507929(0x116)](){const _0x54b5cd=_0x507929,{CommentThreadInputView:_0x1fc753}=this[_0x54b5cd(0x121)],_0x2921e2=new _0x1fc753(this[_0x54b5cd(0xe9)],this[_0x54b5cd(0xee)],this[_0x54b5cd(0x121)][_0x54b5cd(0xe1)]),_0x146a2f=_0x2921e2[_0x54b5cd(0xf2)];return _0x2921e2[_0x54b5cd(0x11f)](_0x54b5cd(0xdf))['to'](this,_0x54b5cd(0xf6),this[_0x54b5cd(0x10d)][_0x54b5cd(0x117)],_0x54b5cd(0xfb),_0x146a2f,_0x54b5cd(0x115),(_0x1c4ea0,_0x3abcc0,_0x5964b3)=>!!_0x5964b3||_0x1c4ea0&&!_0x3abcc0),_0x146a2f['on'](_0x54b5cd(0xfe),(_0x4384be,_0xcb3926)=>{const _0x5de667=_0x54b5cd;this[_0x5de667(0xf1)](_0x5de667(0xe3),_0xcb3926),_0x146a2f[_0x5de667(0x11b)][_0x5de667(0x118)]('');}),_0x146a2f['on'](_0x54b5cd(0x123),()=>this[_0x54b5cd(0xf0)]()),_0x146a2f[_0x54b5cd(0x11f)](_0x54b5cd(0xe7))['to'](this[_0x54b5cd(0x10d)][_0x54b5cd(0x117)],_0x54b5cd(0xfb)),_0x2921e2;}}function _0x4bfb(){const _0xe446a1=['14LhYifG','150IwfMKd','value','_createCommentThreadInputView','commentThread','setData','textContent','4042792DMEWID','editor','delegate','assign','formatDateTime','bind','SUGGESTION_THREAD_DESCRIPTION','_config','text/html','cancel','CommentView','removeComment','isDirty','shift+tab','showInput','join','editorConfig','57YmhuIY','addComment','target','ariaDescriptionView','1648200FuipLL','disabledSubmit','keystrokes','locale','3247472PZgYgD','render','body','destroy','_localUser','updateComment','focus','fire','commentInputView','authoredAt','tab','7095450TnxwcA','isActive','map','commentThreadInputView','canAccept','content','isReadOnly','SUGGESTION_THREAD_ARIA_LABEL','ariaLabel','submit','descriptionParts','parseFromString','2675061JcvkUS','author','focusTracker','focusables','name','_createCommentViews','isEnabled','1128998jAxulM','commentsListView','set','hasDirtyComment','element','_model','length','focusCycler','21724SaxRmq','disableComments','canDiscard'];_0x4bfb=function(){return _0xe446a1;};return _0x4bfb();}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @module track-changes/ui/view/suggestionthreadview
7
+ * @publicApi
8
+ */
9
+ import { default as BaseSuggestionThreadView, type SuggestionThreadConfig } from './basesuggestionthreadview.js';
10
+ import { type TemplateDefinition, type ViewWithFocusCycler } from 'ckeditor5/src/ui.js';
11
+ import { type User } from 'ckeditor5-collaboration/src/collaboration-core.js';
12
+ import { type Locale } from 'ckeditor5/src/utils.js';
13
+ import type Suggestion from '../../suggestion.js';
14
+ import type SuggestionView from './suggestionview.js';
15
+ /**
16
+ * The default view for a suggestion thread.
17
+ *
18
+ * This view can be replaced by other view by overwriting the
19
+ * {@link module:track-changes/trackchangesconfig~TrackChangesConfig#SuggestionThreadView} configuration.
20
+ */
21
+ export default class SuggestionThreadView extends BaseSuggestionThreadView implements ViewWithFocusCycler {
22
+ /**
23
+ * The suggestion thread view type.
24
+ *
25
+ * This value is not equal to the suggestion (model) type. It is evaluated based on the type of the first suggestion for
26
+ * the suggestion thread view template purposes.
27
+ *
28
+ * @observable
29
+ */
30
+ type: 'format' | 'replace' | 'deletion' | 'insertion' | '';
31
+ /**
32
+ * A suggestion description explaining what has been changed. To be presented to the user.
33
+ *
34
+ * @observable
35
+ */
36
+ description: string;
37
+ /**
38
+ * A view displaying a detailed information about the suggestion as well as controls to accept or discard it.
39
+ */
40
+ suggestionView: SuggestionView;
41
+ constructor(locale: Locale, model: Suggestion, localUser: User, config: SuggestionThreadConfig);
42
+ /**
43
+ * Returns a template definition that will be passed to {@link module:ui/view~View#setTemplate}.
44
+ *
45
+ * Overwrite this method if you want to set a custom template for the suggestion thread view.
46
+ *
47
+ * The template looks as follows:
48
+ *
49
+ * ```ts
50
+ * const bind = this.bindTemplate;
51
+ * const suggestionThreadChildren = [
52
+ * this.suggestionView
53
+ * ];
54
+ *
55
+ * if ( this.commentsListView ) {
56
+ * suggestionThreadChildren.push( this.commentsListView );
57
+ * }
58
+ *
59
+ * if ( this.commentThreadInputView ) {
60
+ * suggestionThreadChildren.push( this.commentThreadInputView );
61
+ * }
62
+ *
63
+ * suggestionThreadChildren.push( this.ariaDescriptionView );
64
+ *
65
+ * return {
66
+ * tag: 'div',
67
+ * attributes: {
68
+ * class: [
69
+ * 'ck',
70
+ * 'ck-rounded-corners',
71
+ * 'ck-suggestion-wrapper',
72
+ * bind.if( 'isActive', 'ck-suggestion-wrapper--active' ),
73
+ * bind.to( 'type', value => `ck-suggestion-${ value }` ),
74
+ * this._config.disableComments && 'ck-suggestion--disabled-comments'
75
+ * ],
76
+ * 'data-suggestion-id': this._model.id,
77
+ * 'data-thread-id': this._model.commentThread!.id,
78
+ * 'data-author-id': this._model.author.id,
79
+ * // Needed for managing focus after adding new comment.
80
+ * tabindex: 0,
81
+ * role: 'listitem',
82
+ * 'aria-label': bind.to( 'ariaLabel' ),
83
+ * 'aria-describedby': this.ariaDescriptionView.id
84
+ * },
85
+ * children: suggestionThreadChildren
86
+ * };
87
+ * ```
88
+ */
89
+ getTemplate(): TemplateDefinition;
90
+ /**
91
+ * @inheritDoc
92
+ */
93
+ render(): void;
94
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ const _0x2cd7aa=_0x35d3;(function(_0x769807,_0x511749){const _0x4a19b6=_0x35d3,_0x1c8c57=_0x769807();while(!![]){try{const _0x4395cd=parseInt(_0x4a19b6(0x7e))/0x1*(-parseInt(_0x4a19b6(0xa4))/0x2)+parseInt(_0x4a19b6(0x7c))/0x3*(-parseInt(_0x4a19b6(0x7f))/0x4)+parseInt(_0x4a19b6(0x91))/0x5+parseInt(_0x4a19b6(0xa2))/0x6*(-parseInt(_0x4a19b6(0x87))/0x7)+parseInt(_0x4a19b6(0xa3))/0x8+-parseInt(_0x4a19b6(0xa0))/0x9+-parseInt(_0x4a19b6(0x96))/0xa*(-parseInt(_0x4a19b6(0x84))/0xb);if(_0x4395cd===_0x511749)break;else _0x1c8c57['push'](_0x1c8c57['shift']());}catch(_0x4218d6){_0x1c8c57['push'](_0x1c8c57['shift']());}}}(_0x4ee0,0xe7194));import{default as _0x10184c}from'./basesuggestionthreadview.js';function _0x35d3(_0x30ca81,_0x11c8a6){const _0x4ee01a=_0x4ee0();return _0x35d3=function(_0x35d342,_0x373186){_0x35d342=_0x35d342-0x70;let _0x33bd0e=_0x4ee01a[_0x35d342];return _0x33bd0e;},_0x35d3(_0x30ca81,_0x11c8a6);}function _0x4ee0(){const _0x4baddd=['_config','50919WzhEHZ','isActive','set','5422501AnvlLl','ck-rounded-corners','ariaLabel','suggestionView','ck-suggestion-wrapper','disableComments','discardButton','commentThreadInputView','formatDateTime','ck-suggestion-','6793775rSPUaK','descriptionParts','<p>','getTemplate','ariaDescriptionView','1790NqGwjI','delegate','_descriptionElement','setTemplate','render','div','content','add','commentThread','_model','3785589jFgkeQ','author','6zYZEwH','6540384mkJvYK','2qCuLwT','bind','acceptSuggestion','editorDestroyed','canAccept','canDiscard','discardSuggestion','ck-suggestion-wrapper--active','</p>','bindTemplate','commentsListView','description','acceptButton','listitem','SuggestionView','focusables','color','type','404007pkjVRD','push','728381XqZvBC','4wWMkmB','isEnabled','ck-suggestion--disabled-comments','editorReady'];_0x4ee0=function(){return _0x4baddd;};return _0x4ee0();}import{trimHtml as _0x49c82b}from'ckeditor5-collaboration/src/collaboration-core.js';import{renderDescription as _0x37e403}from'../../utils/utils.js';export default class de extends _0x10184c{constructor(_0x1e148a,_0x2bbffd,_0x510cae,_0x2dd407){const _0x4f43bb=_0x35d3;super(_0x1e148a,_0x2bbffd,_0x510cae,_0x2dd407),this[_0x4f43bb(0x86)](_0x4f43bb(0x7b),''),this[_0x4f43bb(0xa5)](_0x4f43bb(0x7b))['to'](this,_0x4f43bb(0x92),_0x235efc=>_0x235efc&&_0x235efc[0x0]?_0x235efc[0x0][_0x4f43bb(0x7b)]:''),this[_0x4f43bb(0xa5)](_0x4f43bb(0x75))['to'](this,_0x4f43bb(0x92),this,_0x4f43bb(0x85),(_0x581a51,_0x4997a7)=>{const _0x3417e1=_0x4f43bb;let _0x2331ca='';for(const _0xacac2c of _0x581a51)_0x2331ca+=_0x3417e1(0x93)+_0x37e403(_0xacac2c[_0x3417e1(0x9c)],_0xacac2c[_0x3417e1(0x7a)])+_0x3417e1(0x72);return _0x4997a7?_0x2331ca:_0x49c82b(_0x2331ca,{'limit':0x8c});}),this[_0x4f43bb(0x98)]=null,this[_0x4f43bb(0x8a)]=new _0x2dd407[(_0x4f43bb(0x78))](_0x1e148a,_0x2bbffd,{'formatDateTime':_0x2dd407[_0x4f43bb(0x8f)]}),this[_0x4f43bb(0x8a)][_0x4f43bb(0xa5)](_0x4f43bb(0x75))['to'](this),this[_0x4f43bb(0x8a)][_0x4f43bb(0x97)](_0x4f43bb(0xa6),_0x4f43bb(0x70))['to'](this),this[_0x4f43bb(0x8a)][_0x4f43bb(0x76)][_0x4f43bb(0xa5)](_0x4f43bb(0x80))['to'](this,_0x4f43bb(0xa8)),this[_0x4f43bb(0x8a)][_0x4f43bb(0x8d)][_0x4f43bb(0xa5)](_0x4f43bb(0x80))['to'](this,_0x4f43bb(0xa9)),this[_0x4f43bb(0x79)][_0x4f43bb(0x9d)](this[_0x4f43bb(0x8a)]),this[_0x4f43bb(0x74)]&&this[_0x4f43bb(0x79)][_0x4f43bb(0x9d)](this[_0x4f43bb(0x74)]),this[_0x4f43bb(0x8e)]&&this[_0x4f43bb(0x79)][_0x4f43bb(0x9d)](this[_0x4f43bb(0x8e)]),this[_0x4f43bb(0x99)](this[_0x4f43bb(0x94)]());}[_0x2cd7aa(0x94)](){const _0x141aa9=_0x2cd7aa,_0x147cff=this[_0x141aa9(0x73)],_0x535461=[this[_0x141aa9(0x8a)]];return this[_0x141aa9(0x74)]&&_0x535461[_0x141aa9(0x7d)](this[_0x141aa9(0x74)]),this[_0x141aa9(0x8e)]&&_0x535461[_0x141aa9(0x7d)](this[_0x141aa9(0x8e)]),_0x535461[_0x141aa9(0x7d)](this[_0x141aa9(0x95)]),{'tag':_0x141aa9(0x9b),'attributes':{'class':['ck',_0x141aa9(0x88),_0x141aa9(0x8b),_0x147cff['if'](_0x141aa9(0x85),_0x141aa9(0x71)),_0x147cff['to'](_0x141aa9(0x7b),_0x28a6e6=>_0x141aa9(0x90)+_0x28a6e6),this[_0x141aa9(0x83)][_0x141aa9(0x8c)]&&_0x141aa9(0x81)],'data-suggestion-id':this[_0x141aa9(0x9f)]['id'],'data-thread-id':this[_0x141aa9(0x9f)][_0x141aa9(0x9e)]['id'],'data-author-id':this[_0x141aa9(0x9f)][_0x141aa9(0xa1)]['id'],'tabindex':0x0,'role':_0x141aa9(0x77),'aria-label':_0x147cff['to'](_0x141aa9(0x89)),'aria-describedby':this[_0x141aa9(0x95)]['id']},'children':_0x535461};}[_0x2cd7aa(0x9a)](){const _0x4e469d=_0x2cd7aa;super[_0x4e469d(0x9a)](),this[_0x4e469d(0x74)]&&(this[_0x4e469d(0x74)][_0x4e469d(0x97)](_0x4e469d(0x82))['to'](this),this[_0x4e469d(0x74)][_0x4e469d(0x97)](_0x4e469d(0xa7))['to'](this)),this[_0x4e469d(0x8e)]&&(this[_0x4e469d(0x8e)][_0x4e469d(0x97)](_0x4e469d(0x82))['to'](this),this[_0x4e469d(0x8e)][_0x4e469d(0x97)](_0x4e469d(0xa7))['to'](this));}}
@@ -0,0 +1,190 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @module track-changes/ui/view/suggestionview
7
+ * @publicApi
8
+ */
9
+ import { FocusTracker, KeystrokeHandler, type Locale } from 'ckeditor5/src/utils.js';
10
+ import { View, type TemplateDefinition, type FocusableView, ViewCollection, FocusCycler } from 'ckeditor5/src/ui.js';
11
+ import { LateFocusButtonView, UserView } from 'ckeditor5-collaboration/src/collaboration-core.js';
12
+ import type Suggestion from '../../suggestion.js';
13
+ /**
14
+ * A view displaying a detailed information about the suggestion as well as controls to accept or discard it.
15
+ *
16
+ * This view can be replaced by other view by overwriting the
17
+ * {@link module:track-changes/trackchangesconfig~TrackChangesConfig#SuggestionView} configuration.
18
+ */
19
+ export default class SuggestionView extends View implements FocusableView {
20
+ /**
21
+ * A suggestion description explaining what has been changed. To be presented to the user.
22
+ *
23
+ * @observable
24
+ */
25
+ description: string;
26
+ /**
27
+ * A user view for the suggestion author.
28
+ */
29
+ userView: UserView;
30
+ /**
31
+ * A button view for the button that accepts the suggestion.
32
+ */
33
+ acceptButton: LateFocusButtonView;
34
+ /**
35
+ * A button view for the button that discards the suggestion.
36
+ */
37
+ discardButton: LateFocusButtonView;
38
+ /**
39
+ * A collection of focusable child views.
40
+ */
41
+ readonly focusables: ViewCollection<FocusableView>;
42
+ /**
43
+ * Tracks information about DOM focus in the suggestion.
44
+ */
45
+ readonly focusTracker: FocusTracker;
46
+ /**
47
+ * Instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.
48
+ */
49
+ readonly keystrokes: KeystrokeHandler;
50
+ /**
51
+ * Helps cycling over focusable views in the suggestion.
52
+ */
53
+ readonly focusCycler: FocusCycler;
54
+ /**
55
+ * Suggestion creation date.
56
+ *
57
+ * @observable
58
+ */
59
+ authoredAt: Date | null;
60
+ constructor(locale: Locale, model: Suggestion, config: SuggestionConfig);
61
+ /**
62
+ * @inheritDoc
63
+ */
64
+ render(): void;
65
+ /**
66
+ * Returns a template definition that will be passed to {@link module:ui/view~View#setTemplate}.
67
+ *
68
+ * Overwrite this method if you want to set a custom template for the suggestion view.
69
+ *
70
+ * The template looks as follows:
71
+ *
72
+ * ```ts
73
+ * const bind = this.bindTemplate;
74
+ * const suggestionContentElements = [
75
+ * {
76
+ * tag: 'div',
77
+ *
78
+ * attributes: {
79
+ * class: [ 'ck-suggestion__info', 'ck-annotation__info' ]
80
+ * },
81
+ *
82
+ * children: [
83
+ * {
84
+ * tag: 'span',
85
+ *
86
+ * children: [
87
+ * {
88
+ * text: this.userView.name
89
+ * }
90
+ * ],
91
+ *
92
+ * attributes: {
93
+ * class: [ 'ck-suggestion__info-name', 'ck-annotation__info-name' ]
94
+ * }
95
+ * },
96
+ * {
97
+ * tag: 'time',
98
+ *
99
+ * attributes: {
100
+ * datetime: bind.to( 'authoredAt' ),
101
+ * class: [ 'ck-comment__info-time', 'ck-annotation__info-time' ]
102
+ * },
103
+ *
104
+ * children: [
105
+ * {
106
+ * text: bind.to( 'authoredAt', value => this._config.formatDateTime( value ) )
107
+ * }
108
+ * ]
109
+ * }
110
+ * ]
111
+ * },
112
+ * {
113
+ * tag: 'div',
114
+ *
115
+ * attributes: {
116
+ * class: [ 'ck-suggestion__actions', 'ck-annotation__actions' ]
117
+ * },
118
+ *
119
+ * children: [
120
+ * this.acceptButton,
121
+ * this.discardButton
122
+ * ]
123
+ * },
124
+ * {
125
+ * tag: 'div',
126
+ *
127
+ * attributes: {
128
+ * class: [ 'ck-annotation__content-wrapper' ]
129
+ * }
130
+ * }
131
+ * ];
132
+ *
133
+ * if ( this._model.isExternal ) {
134
+ * suggestionContentElements.push( {
135
+ * tag: 'div',
136
+ *
137
+ * attributes: {
138
+ * class: [ 'ck-comment__external' ]
139
+ * },
140
+ *
141
+ * children: [ {
142
+ * text: this.getExternalSuggestionNote()
143
+ * } ]
144
+ * } );
145
+ * }
146
+ *
147
+ * return {
148
+ * tag: 'div',
149
+ *
150
+ * attributes: {
151
+ * class: [
152
+ * 'ck-suggestion',
153
+ * 'ck-annotation'
154
+ * ],
155
+ * tabindex: -1
156
+ * },
157
+ *
158
+ * children: [
159
+ * this.userView,
160
+ * {
161
+ * tag: 'div',
162
+ *
163
+ * attributes: {
164
+ * class: [ 'ck-suggestion__main', 'ck-annotation__main' ],
165
+ * role: 'presentation'
166
+ * },
167
+ *
168
+ * children: suggestionContentElements
169
+ * }
170
+ * ]
171
+ * };
172
+ * ```
173
+ */
174
+ getTemplate(): TemplateDefinition;
175
+ /**
176
+ * @inheritDoc
177
+ */
178
+ focus(): void;
179
+ /**
180
+ * Gets the translated notification text which indicates that the author name comes from an external source.
181
+ */
182
+ getUserViewNotificationText(): string | null;
183
+ /**
184
+ * Gets the translated note which indicates that the suggestion comes from an external source.
185
+ */
186
+ getExternalSuggestionNote(): string;
187
+ }
188
+ export interface SuggestionConfig {
189
+ formatDateTime: (date: Date | string) => string;
190
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ *
4
+ *
5
+ *
6
+ *
7
+ * +---------------------------------------------------------------------------------+
8
+ * | |
9
+ * | Hello stranger! |
10
+ * | |
11
+ * | |
12
+ * | What you're currently looking at is the source code of a legally protected, |
13
+ * | proprietary software. Any attempts to deobfuscate / disassemble this code |
14
+ * | are forbidden and will result in legal consequences. |
15
+ * | |
16
+ * | |
17
+ * +---------------------------------------------------------------------------------+
18
+ *
19
+ *
20
+ *
21
+ *
22
+ */
23
+ const _0x4bf85c=_0x34be;function _0x34be(_0x4abf1e,_0x243fff){const _0x5993ff=_0x5993();return _0x34be=function(_0x34beda,_0x585321){_0x34beda=_0x34beda-0x7f;let _0x42d34d=_0x5993ff[_0x34beda];return _0x42d34d;},_0x34be(_0x4abf1e,_0x243fff);}(function(_0x4aaada,_0xce0040){const _0x133b87=_0x34be,_0x30aa3b=_0x4aaada();while(!![]){try{const _0x52cd60=-parseInt(_0x133b87(0xa0))/0x1*(-parseInt(_0x133b87(0xd5))/0x2)+parseInt(_0x133b87(0xc7))/0x3*(parseInt(_0x133b87(0xd8))/0x4)+-parseInt(_0x133b87(0xc3))/0x5*(parseInt(_0x133b87(0x9c))/0x6)+parseInt(_0x133b87(0xd1))/0x7*(-parseInt(_0x133b87(0xd3))/0x8)+parseInt(_0x133b87(0xa7))/0x9*(-parseInt(_0x133b87(0xc9))/0xa)+parseInt(_0x133b87(0x9b))/0xb+parseInt(_0x133b87(0x89))/0xc;if(_0x52cd60===_0xce0040)break;else _0x30aa3b['push'](_0x30aa3b['shift']());}catch(_0x3c77d4){_0x30aa3b['push'](_0x30aa3b['shift']());}}}(_0x5993,0x36000));import{FocusTracker as _0x807c59,KeystrokeHandler as _0x47a18c}from'ckeditor5/src/utils.js';import{View as _0x306b1a,ViewCollection as _0x343820,FocusCycler as _0x190c1e}from'ckeditor5/src/ui.js';import{LateFocusButtonView as _0x4ea4fc,UserView as _0x401b66}from'ckeditor5-collaboration/src/collaboration-core.js';import{icons as _0x3ce8b8}from'ckeditor5/src/core.js';import{getTranslation as _0x11841d}from'../../utils/common-translations.js';export default class ue extends _0x306b1a{constructor(_0x3fc4f6,_0x3ffa24,_0x45cb99){const _0x2c11e9=_0x34be;super(_0x3fc4f6),this[_0x2c11e9(0x9f)]=_0x3ffa24,this[_0x2c11e9(0xbf)]=_0x45cb99,this[_0x2c11e9(0xaa)](_0x2c11e9(0xa1),''),this[_0x2c11e9(0xa3)](_0x2c11e9(0xd9))['to'](_0x3ffa24),this[_0x2c11e9(0x8b)]=this[_0x2c11e9(0xae)](_0x11841d(_0x3fc4f6,_0x2c11e9(0xc0)),_0x3ce8b8[_0x2c11e9(0xb2)],_0x2c11e9(0xbe),_0x2c11e9(0xc2),'sw'),this[_0x2c11e9(0xce)]=this[_0x2c11e9(0xae)](_0x11841d(_0x3fc4f6,_0x2c11e9(0xaf)),_0x3ce8b8[_0x2c11e9(0xcc)],_0x2c11e9(0xd7),_0x2c11e9(0xdb),'sw'),this[_0x2c11e9(0x84)]=new _0x401b66(_0x3fc4f6,_0x3ffa24[_0x2c11e9(0xa4)],this[_0x2c11e9(0x93)]()),this[_0x2c11e9(0x84)][_0x2c11e9(0xa8)]({'attributes':{'class':[_0x2c11e9(0x8d),_0x2c11e9(0x82)],'aria-hidden':!0x0}}),this[_0x2c11e9(0xd6)]=new _0x343820([this[_0x2c11e9(0x8b)],this[_0x2c11e9(0xce)]]),this[_0x2c11e9(0xbb)]=new _0x807c59(),this[_0x2c11e9(0xba)]=new _0x47a18c(),this[_0x2c11e9(0xb5)]=new _0x190c1e({'focusables':this[_0x2c11e9(0xd6)],'focusTracker':this[_0x2c11e9(0xbb)],'keystrokeHandler':this[_0x2c11e9(0xba)],'actions':{'focusPrevious':_0x2c11e9(0xd0),'focusNext':_0x2c11e9(0x88)},'keystrokeHandlerOptions':{'filter':_0x953f72=>_0x953f72[_0x2c11e9(0x87)]!==this[_0x2c11e9(0x81)]}}),this[_0x2c11e9(0xac)](this[_0x2c11e9(0x90)]());}[_0x4bf85c(0xb3)](){const _0x2de57e=_0x4bf85c;super[_0x2de57e(0xb3)]();const _0x7a812d=this[_0x2de57e(0x81)][_0x2de57e(0xcb)](_0x2de57e(0xb9));_0x7a812d[_0x2de57e(0xd4)]=this[_0x2de57e(0xa1)],this['on'](_0x2de57e(0xad),(_0x1d4dba,_0x24bb1e,_0x2cab88)=>{const _0x44bc14=_0x2de57e;_0x7a812d[_0x44bc14(0xd4)]=_0x2cab88;}),this[_0x2de57e(0xc4)]();}[_0x4bf85c(0x90)](){const _0x2dc61f=_0x4bf85c,_0x27ead9=this[_0x2dc61f(0x8c)],_0x5c982e=[{'tag':_0x2dc61f(0xcd),'attributes':{'class':[_0x2dc61f(0xb8),_0x2dc61f(0xa9)]},'children':[{'tag':_0x2dc61f(0xbd),'children':[{'text':this[_0x2dc61f(0x84)][_0x2dc61f(0xd2)]}],'attributes':{'class':[_0x2dc61f(0x83),_0x2dc61f(0x92)]}},{'tag':_0x2dc61f(0x9e),'attributes':{'datetime':_0x27ead9['to'](_0x2dc61f(0xd9)),'class':[_0x2dc61f(0xb6),_0x2dc61f(0xb4)]},'children':[{'text':_0x27ead9['to'](_0x2dc61f(0xd9),_0x79d71b=>this[_0x2dc61f(0xbf)][_0x2dc61f(0xc6)](_0x79d71b))}]}]},{'tag':_0x2dc61f(0xcd),'attributes':{'class':[_0x2dc61f(0xb7),_0x2dc61f(0x94)]},'children':[this[_0x2dc61f(0x8b)],this[_0x2dc61f(0xce)]]},{'tag':_0x2dc61f(0xcd),'attributes':{'class':[_0x2dc61f(0xa6)]}}];return this[_0x2dc61f(0x9f)][_0x2dc61f(0x8e)]&&_0x5c982e[_0x2dc61f(0x97)]({'tag':_0x2dc61f(0xcd),'attributes':{'class':[_0x2dc61f(0x98)]},'children':[{'text':this[_0x2dc61f(0x8f)]()}]}),{'tag':_0x2dc61f(0xcd),'attributes':{'class':[_0x2dc61f(0xc5),_0x2dc61f(0xcf)],'tabindex':-0x1},'children':[this[_0x2dc61f(0x84)],{'tag':_0x2dc61f(0xcd),'attributes':{'class':[_0x2dc61f(0x7f),_0x2dc61f(0xab)],'role':_0x2dc61f(0xbc)},'children':_0x5c982e}]};}[_0x4bf85c(0xca)](){const _0x4c56b8=_0x4bf85c;this[_0x4c56b8(0x81)][_0x4c56b8(0xca)]();}[_0x4bf85c(0x93)](){const _0x4c006c=_0x4bf85c;return this[_0x4c006c(0x9f)][_0x4c006c(0x8e)]?_0x4c006c(0x80)===this[_0x4c006c(0x9f)][_0x4c006c(0x86)][_0x4c006c(0xda)][_0x4c006c(0xa5)]?_0x11841d(this[_0x4c006c(0x96)],_0x4c006c(0x9a),this[_0x4c006c(0x9f)][_0x4c006c(0xc8)][_0x4c006c(0xd2)]):_0x11841d(this[_0x4c006c(0x96)],_0x4c006c(0xa2),this[_0x4c006c(0x9f)][_0x4c006c(0xc8)][_0x4c006c(0xd2)]):null;}[_0x4bf85c(0x8f)](){const _0x2e8425=_0x4bf85c;return _0x2e8425(0x80)===this[_0x2e8425(0x9f)][_0x2e8425(0x86)][_0x2e8425(0xda)][_0x2e8425(0xa5)]?_0x11841d(this[_0x2e8425(0x96)],_0x2e8425(0xb0)):_0x11841d(this[_0x2e8425(0x96)],_0x2e8425(0x85));}[_0x4bf85c(0xae)](_0x50f31e,_0x14b41a,_0x39f1ca,_0x5be218,_0x360432){const _0x1d8a27=_0x4bf85c,_0x79916a=new _0x4ea4fc(this[_0x1d8a27(0x96)]);return _0x79916a[_0x1d8a27(0xaa)]({'label':_0x50f31e,'icon':_0x14b41a,'tooltip':!0x0,'tooltipPosition':_0x360432}),_0x79916a[_0x1d8a27(0xa8)]({'attributes':{'class':_0x39f1ca}}),_0x79916a['on'](_0x1d8a27(0x9d),()=>{const _0x5e94c4=_0x1d8a27;this[_0x5e94c4(0x99)](_0x5be218,this[_0x5e94c4(0x9f)]['id']);}),_0x79916a;}[_0x4bf85c(0xc4)](){const _0x2476bb=_0x4bf85c,_0x1ff962=this[_0x2476bb(0x81)];this[_0x2476bb(0xba)][_0x2476bb(0x8a)](_0x1ff962);for(const _0x2544ea of this[_0x2476bb(0xd6)])this[_0x2476bb(0xbb)][_0x2476bb(0x91)](_0x2544ea[_0x2476bb(0x81)]),this[_0x2476bb(0xba)][_0x2476bb(0x8a)](_0x2544ea[_0x2476bb(0x81)]);this[_0x2476bb(0xba)][_0x2476bb(0xaa)](_0x2476bb(0xb1),(_0x403b2c,_0xbd0c56)=>{const _0x2ed197=_0x2476bb;_0x1ff962===_0x403b2c[_0x2ed197(0x87)]&&(this[_0x2ed197(0xb5)][_0x2ed197(0x95)](),_0xbd0c56());}),this[_0x2476bb(0xba)][_0x2476bb(0xaa)](_0x2476bb(0xc1),(_0x32946f,_0x4a28cd)=>{const _0x4f959d=_0x2476bb;_0x1ff962!==_0x32946f[_0x4f959d(0x87)]&&(this[_0x4f959d(0xca)](),_0x4a28cd());});}}function _0x5993(){const _0xf0ac3f=['span','ck-suggestion--accept','_config','Accept\x20suggestion','esc','acceptSuggestion','485NfUrZJ','_setupKeyboardNavigation','ck-suggestion','formatDateTime','24yBWJPm','creator','951410ElXnAX','focus','querySelector','cancel','div','discardButton','ck-annotation','shift+tab','553CrTuEW','name','38392CdXlug','innerHTML','4FXCENe','focusables','ck-suggestion--discard','107356OyZVFe','authoredAt','@external','discardSuggestion','ck-suggestion__main','importWord','element','ck-annotation__user','ck-suggestion__info-name','userView','EXTERNAL_SUGGESTION','attributes','target','tab','6961944xZdQlQ','listenTo','acceptButton','bindTemplate','ck-suggestion__user','isExternal','getExternalSuggestionNote','getTemplate','add','ck-annotation__info-name','getUserViewNotificationText','ck-annotation__actions','focusFirst','locale','push','ck-comment__external','fire','EXTERNAL_IMPORT_WORD_AVATAR','1696453jCVsBk','16476tLflhY','execute','time','_model','149067ZeiZjw','description','EXTERNAL_AVATAR','bind','author','source','ck-annotation__content-wrapper','36GNaIyv','extendTemplate','ck-annotation__info','set','ck-annotation__main','setTemplate','change:description','_createButton','Discard\x20suggestion','EXTERNAL_IMPORT_WORD_SUGGESTION','enter','check','render','ck-annotation__info-time','focusCycler','ck-comment__info-time','ck-suggestion__actions','ck-suggestion__info','.ck-annotation__content-wrapper','keystrokes','focusTracker','presentation'];_0x5993=function(){return _0xf0ac3f;};return _0x5993();}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @module track-changes/utils/common-translations
7
+ */
8
+ import { type Locale } from 'ckeditor5/src/utils.js';
9
+ export declare function getTranslation(locale: Locale, id: string, values?: number | string | ReadonlyArray<number | string>): string;