@ckeditor/ckeditor5-comments 42.0.2-alpha.2 → 43.0.0-alpha.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 (309) hide show
  1. package/CHANGELOG.md +1 -256
  2. package/build/comments.js +2 -2
  3. package/build/translations/af.js +1 -1
  4. package/build/translations/ar.js +1 -1
  5. package/build/translations/bg.js +1 -1
  6. package/build/translations/bn.js +1 -1
  7. package/build/translations/bs.js +1 -1
  8. package/build/translations/ca.js +1 -1
  9. package/build/translations/cs.js +1 -1
  10. package/build/translations/da.js +1 -1
  11. package/build/translations/de-ch.js +1 -1
  12. package/build/translations/de.js +1 -1
  13. package/build/translations/el.js +1 -1
  14. package/build/translations/en-au.js +1 -1
  15. package/build/translations/es-co.js +1 -1
  16. package/build/translations/es.js +1 -1
  17. package/build/translations/et.js +1 -1
  18. package/build/translations/fa.js +1 -1
  19. package/build/translations/fi.js +1 -1
  20. package/build/translations/fr.js +1 -1
  21. package/build/translations/gl.js +1 -1
  22. package/build/translations/he.js +1 -1
  23. package/build/translations/hi.js +1 -1
  24. package/build/translations/hr.js +1 -1
  25. package/build/translations/hu.js +1 -1
  26. package/build/translations/id.js +1 -1
  27. package/build/translations/it.js +1 -1
  28. package/build/translations/ja.js +1 -1
  29. package/build/translations/jv.js +1 -1
  30. package/build/translations/ko.js +1 -1
  31. package/build/translations/lt.js +1 -1
  32. package/build/translations/lv.js +1 -1
  33. package/build/translations/ms.js +1 -1
  34. package/build/translations/nl.js +1 -1
  35. package/build/translations/no.js +1 -1
  36. package/build/translations/pl.js +1 -1
  37. package/build/translations/pt-br.js +1 -1
  38. package/build/translations/pt.js +1 -1
  39. package/build/translations/ro.js +1 -1
  40. package/build/translations/ru.js +1 -1
  41. package/build/translations/sk.js +1 -1
  42. package/build/translations/sq.js +1 -1
  43. package/build/translations/sr-latn.js +1 -1
  44. package/build/translations/sr.js +1 -1
  45. package/build/translations/sv.js +1 -1
  46. package/build/translations/th.js +1 -1
  47. package/build/translations/ti.js +1 -1
  48. package/build/translations/tk.js +1 -1
  49. package/build/translations/tr.js +1 -1
  50. package/build/translations/tt.js +1 -1
  51. package/build/translations/ug.js +1 -1
  52. package/build/translations/uk.js +1 -1
  53. package/build/translations/ur.js +1 -1
  54. package/build/translations/vi.js +1 -1
  55. package/build/translations/zh-cn.js +1 -1
  56. package/build/translations/zh.js +1 -1
  57. package/dist/annotations/annotations.d.ts +1 -1
  58. package/dist/annotations/sidebar.d.ts +2 -2
  59. package/dist/annotations/view/annotationview.d.ts +4 -4
  60. package/dist/annotations/view/sidebaritemview.d.ts +7 -3
  61. package/dist/annotations/view/sidebarview.d.ts +25 -4
  62. package/dist/comments/commentsediting.d.ts +8 -0
  63. package/dist/comments/commentsrepository.d.ts +14 -2
  64. package/dist/comments/ui/view/basecommentthreadview.d.ts +32 -3
  65. package/dist/comments/ui/view/basecommentview.d.ts +41 -3
  66. package/dist/comments/ui/view/commentinputview.d.ts +17 -2
  67. package/dist/comments/ui/view/commentsarchiveview.d.ts +11 -3
  68. package/dist/comments/ui/view/commentslistview.d.ts +17 -5
  69. package/dist/comments/ui/view/commentthreadheadercontextview.d.ts +25 -0
  70. package/dist/comments/ui/view/commentthreadheaderview.d.ts +29 -3
  71. package/dist/comments/ui/view/commentthreadinputview.d.ts +13 -2
  72. package/dist/comments/ui/view/commentthreadview.d.ts +11 -6
  73. package/dist/comments/ui/view/commentview.d.ts +9 -12
  74. package/dist/index-editor.css +33 -2
  75. package/dist/index.css +95 -2
  76. package/dist/index.d.ts +1 -0
  77. package/dist/index.js +9 -9
  78. package/dist/translations/af.js +1 -1
  79. package/dist/translations/af.umd.js +1 -1
  80. package/dist/translations/ar.js +1 -1
  81. package/dist/translations/ar.umd.js +1 -1
  82. package/dist/translations/bg.js +1 -1
  83. package/dist/translations/bg.umd.js +1 -1
  84. package/dist/translations/bn.js +1 -1
  85. package/dist/translations/bn.umd.js +1 -1
  86. package/dist/translations/bs.js +1 -1
  87. package/dist/translations/bs.umd.js +1 -1
  88. package/dist/translations/ca.js +1 -1
  89. package/dist/translations/ca.umd.js +1 -1
  90. package/dist/translations/cs.js +1 -1
  91. package/dist/translations/cs.umd.js +1 -1
  92. package/dist/translations/da.js +1 -1
  93. package/dist/translations/da.umd.js +1 -1
  94. package/dist/translations/de-ch.js +1 -1
  95. package/dist/translations/de-ch.umd.js +1 -1
  96. package/dist/translations/de.js +1 -1
  97. package/dist/translations/de.umd.js +1 -1
  98. package/dist/translations/el.js +1 -1
  99. package/dist/translations/el.umd.js +1 -1
  100. package/dist/translations/en-au.js +1 -1
  101. package/dist/translations/en-au.umd.js +1 -1
  102. package/dist/translations/en.js +1 -1
  103. package/dist/translations/en.umd.js +1 -1
  104. package/dist/translations/es-co.js +1 -1
  105. package/dist/translations/es-co.umd.js +1 -1
  106. package/dist/translations/es.js +1 -1
  107. package/dist/translations/es.umd.js +1 -1
  108. package/dist/translations/et.js +1 -1
  109. package/dist/translations/et.umd.js +1 -1
  110. package/dist/translations/fa.js +1 -1
  111. package/dist/translations/fa.umd.js +1 -1
  112. package/dist/translations/fi.js +1 -1
  113. package/dist/translations/fi.umd.js +1 -1
  114. package/dist/translations/fr.js +1 -1
  115. package/dist/translations/fr.umd.js +1 -1
  116. package/dist/translations/gl.js +1 -1
  117. package/dist/translations/gl.umd.js +1 -1
  118. package/dist/translations/he.js +1 -1
  119. package/dist/translations/he.umd.js +1 -1
  120. package/dist/translations/hi.js +1 -1
  121. package/dist/translations/hi.umd.js +1 -1
  122. package/dist/translations/hr.js +1 -1
  123. package/dist/translations/hr.umd.js +1 -1
  124. package/dist/translations/hu.js +1 -1
  125. package/dist/translations/hu.umd.js +1 -1
  126. package/dist/translations/id.js +1 -1
  127. package/dist/translations/id.umd.js +1 -1
  128. package/dist/translations/it.js +1 -1
  129. package/dist/translations/it.umd.js +1 -1
  130. package/dist/translations/ja.js +1 -1
  131. package/dist/translations/ja.umd.js +1 -1
  132. package/dist/translations/jv.js +1 -1
  133. package/dist/translations/jv.umd.js +1 -1
  134. package/dist/translations/ko.js +1 -1
  135. package/dist/translations/ko.umd.js +1 -1
  136. package/dist/translations/lt.js +1 -1
  137. package/dist/translations/lt.umd.js +1 -1
  138. package/dist/translations/lv.js +1 -1
  139. package/dist/translations/lv.umd.js +1 -1
  140. package/dist/translations/ms.js +1 -1
  141. package/dist/translations/ms.umd.js +1 -1
  142. package/dist/translations/nl.js +1 -1
  143. package/dist/translations/nl.umd.js +1 -1
  144. package/dist/translations/no.js +1 -1
  145. package/dist/translations/no.umd.js +1 -1
  146. package/dist/translations/pl.js +1 -1
  147. package/dist/translations/pl.umd.js +1 -1
  148. package/dist/translations/pt-br.js +1 -1
  149. package/dist/translations/pt-br.umd.js +1 -1
  150. package/dist/translations/pt.js +1 -1
  151. package/dist/translations/pt.umd.js +1 -1
  152. package/dist/translations/ro.js +1 -1
  153. package/dist/translations/ro.umd.js +1 -1
  154. package/dist/translations/ru.js +1 -1
  155. package/dist/translations/ru.umd.js +1 -1
  156. package/dist/translations/sk.js +1 -1
  157. package/dist/translations/sk.umd.js +1 -1
  158. package/dist/translations/sq.js +1 -1
  159. package/dist/translations/sq.umd.js +1 -1
  160. package/dist/translations/sr-latn.js +1 -1
  161. package/dist/translations/sr-latn.umd.js +1 -1
  162. package/dist/translations/sr.js +1 -1
  163. package/dist/translations/sr.umd.js +1 -1
  164. package/dist/translations/sv.js +1 -1
  165. package/dist/translations/sv.umd.js +1 -1
  166. package/dist/translations/th.js +1 -1
  167. package/dist/translations/th.umd.js +1 -1
  168. package/dist/translations/ti.js +1 -1
  169. package/dist/translations/ti.umd.js +1 -1
  170. package/dist/translations/tk.js +1 -1
  171. package/dist/translations/tk.umd.js +1 -1
  172. package/dist/translations/tr.js +1 -1
  173. package/dist/translations/tr.umd.js +1 -1
  174. package/dist/translations/tt.js +1 -1
  175. package/dist/translations/tt.umd.js +1 -1
  176. package/dist/translations/ug.js +1 -1
  177. package/dist/translations/ug.umd.js +1 -1
  178. package/dist/translations/uk.js +1 -1
  179. package/dist/translations/uk.umd.js +1 -1
  180. package/dist/translations/ur.js +1 -1
  181. package/dist/translations/ur.umd.js +1 -1
  182. package/dist/translations/vi.js +1 -1
  183. package/dist/translations/vi.umd.js +1 -1
  184. package/dist/translations/zh-cn.js +1 -1
  185. package/dist/translations/zh-cn.umd.js +1 -1
  186. package/dist/translations/zh.js +1 -1
  187. package/dist/translations/zh.umd.js +1 -1
  188. package/dist/utils/common-translations.d.ts +1 -1
  189. package/lang/contexts.json +15 -0
  190. package/lang/translations/af.po +62 -0
  191. package/lang/translations/ar.po +68 -2
  192. package/lang/translations/bg.po +64 -2
  193. package/lang/translations/bn.po +64 -2
  194. package/lang/translations/bs.po +63 -0
  195. package/lang/translations/ca.po +64 -2
  196. package/lang/translations/cs.po +66 -2
  197. package/lang/translations/da.po +64 -2
  198. package/lang/translations/de-ch.po +62 -0
  199. package/lang/translations/de.po +64 -2
  200. package/lang/translations/el.po +64 -2
  201. package/lang/translations/en-au.po +62 -0
  202. package/lang/translations/en.po +64 -2
  203. package/lang/translations/es-co.po +63 -0
  204. package/lang/translations/es.po +65 -2
  205. package/lang/translations/et.po +64 -2
  206. package/lang/translations/fa.po +62 -0
  207. package/lang/translations/fi.po +64 -2
  208. package/lang/translations/fr.po +65 -2
  209. package/lang/translations/gl.po +64 -2
  210. package/lang/translations/he.po +65 -2
  211. package/lang/translations/hi.po +64 -2
  212. package/lang/translations/hr.po +63 -0
  213. package/lang/translations/hu.po +64 -2
  214. package/lang/translations/id.po +63 -2
  215. package/lang/translations/it.po +65 -2
  216. package/lang/translations/ja.po +63 -2
  217. package/lang/translations/jv.po +61 -0
  218. package/lang/translations/ko.po +63 -2
  219. package/lang/translations/lt.po +66 -2
  220. package/lang/translations/lv.po +65 -2
  221. package/lang/translations/ms.po +63 -2
  222. package/lang/translations/nl.po +64 -2
  223. package/lang/translations/no.po +64 -2
  224. package/lang/translations/pl.po +66 -2
  225. package/lang/translations/pt-br.po +65 -2
  226. package/lang/translations/pt.po +65 -2
  227. package/lang/translations/ro.po +65 -2
  228. package/lang/translations/ru.po +66 -2
  229. package/lang/translations/sk.po +66 -2
  230. package/lang/translations/sq.po +62 -0
  231. package/lang/translations/sr-latn.po +65 -2
  232. package/lang/translations/sr.po +65 -2
  233. package/lang/translations/sv.po +64 -2
  234. package/lang/translations/th.po +63 -2
  235. package/lang/translations/ti.po +62 -0
  236. package/lang/translations/tk.po +62 -0
  237. package/lang/translations/tr.po +64 -2
  238. package/lang/translations/tt.po +61 -0
  239. package/lang/translations/ug.po +64 -2
  240. package/lang/translations/uk.po +66 -2
  241. package/lang/translations/ur.po +62 -0
  242. package/lang/translations/vi.po +63 -2
  243. package/lang/translations/zh-cn.po +63 -2
  244. package/lang/translations/zh.po +63 -2
  245. package/package.json +14 -13
  246. package/src/annotations/annotation.js +2 -2
  247. package/src/annotations/annotationcollection.js +1 -1
  248. package/src/annotations/annotations.d.ts +1 -1
  249. package/src/annotations/annotations.js +1 -1
  250. package/src/annotations/annotationsuis.js +1 -1
  251. package/src/annotations/editorannotations.js +1 -1
  252. package/src/annotations/inlineannotations.js +1 -1
  253. package/src/annotations/narrowsidebar.js +1 -1
  254. package/src/annotations/sidebar.d.ts +2 -2
  255. package/src/annotations/sidebar.js +1 -1
  256. package/src/annotations/view/annotationcounterbuttonview.js +1 -1
  257. package/src/annotations/view/annotationview.d.ts +4 -4
  258. package/src/annotations/view/annotationview.js +1 -1
  259. package/src/annotations/view/sidebaritemview.d.ts +7 -3
  260. package/src/annotations/view/sidebaritemview.js +1 -1
  261. package/src/annotations/view/sidebarview.d.ts +25 -4
  262. package/src/annotations/view/sidebarview.js +1 -1
  263. package/src/annotations/widesidebar.js +1 -1
  264. package/src/comments/addcommentthreadcommand.js +1 -1
  265. package/src/comments/commentsarchive.js +1 -1
  266. package/src/comments/commentsarchiveui.js +1 -1
  267. package/src/comments/commentsediting.d.ts +8 -0
  268. package/src/comments/commentsediting.js +1 -1
  269. package/src/comments/commentsrepository.d.ts +14 -2
  270. package/src/comments/commentsrepository.js +3 -3
  271. package/src/comments/commentsui.js +1 -1
  272. package/src/comments/integrations/clipboard.js +1 -1
  273. package/src/comments/integrations/commentsrestrictededitingmode.js +1 -1
  274. package/src/comments/integrations/importword.js +1 -1
  275. package/src/comments/ui/commenteditor/commenteditor.js +2 -2
  276. package/src/comments/ui/commenteditor/commenteditorui.js +1 -1
  277. package/src/comments/ui/commenteditor/commenteditoruiview.js +1 -1
  278. package/src/comments/ui/commentthreadcontroller.js +2 -2
  279. package/src/comments/ui/view/basecommentthreadview.d.ts +32 -3
  280. package/src/comments/ui/view/basecommentthreadview.js +1 -1
  281. package/src/comments/ui/view/basecommentview.d.ts +41 -3
  282. package/src/comments/ui/view/basecommentview.js +1 -1
  283. package/src/comments/ui/view/collapsedcommentsview.js +1 -1
  284. package/src/comments/ui/view/commentcontentview.js +1 -1
  285. package/src/comments/ui/view/commentinputview.d.ts +17 -2
  286. package/src/comments/ui/view/commentinputview.js +1 -1
  287. package/src/comments/ui/view/commentsarchiveview.d.ts +11 -3
  288. package/src/comments/ui/view/commentsarchiveview.js +1 -1
  289. package/src/comments/ui/view/commentslistview.d.ts +17 -5
  290. package/src/comments/ui/view/commentslistview.js +1 -1
  291. package/src/comments/ui/view/commentthreadheadercontextview.d.ts +21 -0
  292. package/src/comments/ui/view/commentthreadheadercontextview.js +23 -0
  293. package/src/comments/ui/view/commentthreadheaderview.d.ts +29 -3
  294. package/src/comments/ui/view/commentthreadheaderview.js +1 -1
  295. package/src/comments/ui/view/commentthreadinputview.d.ts +13 -2
  296. package/src/comments/ui/view/commentthreadinputview.js +1 -1
  297. package/src/comments/ui/view/commentthreadview.d.ts +11 -6
  298. package/src/comments/ui/view/commentthreadview.js +2 -2
  299. package/src/comments/ui/view/commentview.d.ts +9 -12
  300. package/src/comments/ui/view/commentview.js +2 -2
  301. package/src/comments.js +1 -1
  302. package/src/commentsonly.js +1 -1
  303. package/src/index.d.ts +1 -0
  304. package/src/index.js +1 -1
  305. package/src/utils/common-translations.d.ts +1 -1
  306. package/src/utils/common-translations.js +1 -1
  307. package/src/utils/createmutationobserver.js +1 -1
  308. package/theme/comment.css +6 -0
  309. package/theme/commentthread.css +43 -2
@@ -5,7 +5,7 @@
5
5
  /**
6
6
  * @module comments/comments/ui/view/commentinputview
7
7
  */
8
- import { View, ButtonView } from 'ckeditor5/src/ui.js';
8
+ import { View, FocusCycler, ButtonView, type FocusableView, type ViewCollection } from 'ckeditor5/src/ui.js';
9
9
  import { FocusTracker, KeystrokeHandler, type Locale } from 'ckeditor5/src/utils.js';
10
10
  import { type EditorConfig, type DataApi } from 'ckeditor5/src/core.js';
11
11
  import CommentEditor from '../commenteditor/commenteditor.js';
@@ -56,6 +56,14 @@ export default class CommentInputView extends View {
56
56
  * Focus tracker for the view.
57
57
  */
58
58
  focusTracker: FocusTracker;
59
+ /**
60
+ * Collection of focusable sub-views in the input component.
61
+ */
62
+ focusables: ViewCollection<FocusableView>;
63
+ /**
64
+ * Helps providing keyboard navigation between {@link #focusables}.
65
+ */
66
+ focusCycler: FocusCycler;
59
67
  /**
60
68
  * Button view for the button which submits the comment.
61
69
  */
@@ -78,9 +86,16 @@ export default class CommentInputView extends View {
78
86
  /**
79
87
  * Focuses the view.
80
88
  */
81
- focus(): void;
89
+ focus(direction?: 1 | -1): void;
82
90
  /**
83
91
  * @inheritDoc
84
92
  */
85
93
  destroy(): Promise<void>;
86
94
  }
95
+ /**
96
+ * An event fired when a user successfully submits a comment. The event carries the comment content.
97
+ */
98
+ export type CommentInputSubmitEvent = {
99
+ name: 'submit';
100
+ args: [cotnent: string];
101
+ };
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- const _0x1bc33d=_0x2641;function _0x2641(_0x18a016,_0x36a538){const _0x5b6655=_0x5b66();return _0x2641=function(_0x264170,_0x59de04){_0x264170=_0x264170-0x1e2;let _0xa6ab28=_0x5b6655[_0x264170];return _0xa6ab28;},_0x2641(_0x18a016,_0x36a538);}(function(_0x52841d,_0x14e9bd){const _0x5484d0=_0x2641,_0x5971ca=_0x52841d();while(!![]){try{const _0x4abc41=parseInt(_0x5484d0(0x226))/0x1+-parseInt(_0x5484d0(0x21a))/0x2+-parseInt(_0x5484d0(0x202))/0x3*(parseInt(_0x5484d0(0x22b))/0x4)+parseInt(_0x5484d0(0x219))/0x5+parseInt(_0x5484d0(0x205))/0x6*(parseInt(_0x5484d0(0x1fe))/0x7)+-parseInt(_0x5484d0(0x20c))/0x8*(parseInt(_0x5484d0(0x1e9))/0x9)+-parseInt(_0x5484d0(0x1f2))/0xa;if(_0x4abc41===_0x14e9bd)break;else _0x5971ca['push'](_0x5971ca['shift']());}catch(_0x55b53d){_0x5971ca['push'](_0x5971ca['shift']());}}}(_0x5b66,0xa3b7f));import{View as _0x2ba3d9,ViewCollection as _0x54e7fb,FocusCycler as _0x41fe3d,ButtonView as _0x5c42f8}from'ckeditor5/src/ui.js';import{FocusTracker as _0x6d506f,KeystrokeHandler as _0x3bb6b9}from'ckeditor5/src/utils.js';import _0x1a0747 from'../commenteditor/commenteditor.js';import{getTranslation as _0x41df12}from'../../../utils/common-translations.js';export default class ei extends _0x2ba3d9{constructor(_0x48aa41,_0x381f71={}){const _0x4e3ac7=_0x2641;super(_0x48aa41),this[_0x4e3ac7(0x213)]=null,this[_0x4e3ac7(0x1f9)]=_0x381f71,this[_0x4e3ac7(0x210)]=new _0x3bb6b9(),this[_0x4e3ac7(0x1e3)]=new _0x6d506f(),this[_0x4e3ac7(0x204)](_0x4e3ac7(0x22e),_0x381f71[_0x4e3ac7(0x20a)]||''),this[_0x4e3ac7(0x204)](_0x4e3ac7(0x230),!0x1),this[_0x4e3ac7(0x204)](_0x4e3ac7(0x1fd),!0x0),this[_0x4e3ac7(0x204)](_0x4e3ac7(0x1e6),_0x41df12(_0x48aa41,_0x4e3ac7(0x209))),this[_0x4e3ac7(0x204)](_0x4e3ac7(0x203),_0x41df12(_0x48aa41,_0x4e3ac7(0x207))),this[_0x4e3ac7(0x222)]=this[_0x4e3ac7(0x1ec)](),this[_0x4e3ac7(0x1ee)]=this[_0x4e3ac7(0x1eb)](),this[_0x4e3ac7(0x21c)]({'tag':_0x4e3ac7(0x227),'attributes':{'class':[_0x4e3ac7(0x224)]},'children':[{'tag':_0x4e3ac7(0x227),'attributes':{'class':[_0x4e3ac7(0x228),this[_0x4e3ac7(0x211)]['if'](_0x4e3ac7(0x1fd),_0x4e3ac7(0x22c))]},'children':[this[_0x4e3ac7(0x222)],this[_0x4e3ac7(0x1ee)]]}]}),this[_0x4e3ac7(0x210)][_0x4e3ac7(0x204)](_0x4e3ac7(0x1f4),(_0x586405,_0x3fd8c9)=>{const _0x632316=_0x4e3ac7;this[_0x632316(0x1ee)][_0x632316(0x1f3)](_0x632316(0x220)),_0x3fd8c9();}),this['on'](_0x4e3ac7(0x1ed),(_0x5d5de8,_0x24ec4a)=>{const _0x509cef=_0x4e3ac7;_0x24ec4a[_0x509cef(0x20d)]>0xfde8?(alert(_0x41df12(_0x48aa41,_0x509cef(0x1e8),[_0x24ec4a[_0x509cef(0x20d)],0xfde8])),_0x5d5de8[_0x509cef(0x225)]()):this[_0x509cef(0x213)][_0x509cef(0x1ea)]('');},{'priority':_0x4e3ac7(0x1fb)});}[_0x1bc33d(0x22a)](){const _0x48243c=_0x1bc33d;super[_0x48243c(0x22a)](),this[_0x48243c(0x210)][_0x48243c(0x1f0)](this[_0x48243c(0x1e7)]),this[_0x48243c(0x1e3)][_0x48243c(0x212)](this[_0x48243c(0x1e7)]);}[_0x1bc33d(0x1f5)](){const _0x321130=_0x1bc33d;return this[_0x321130(0x213)]||(this[_0x321130(0x213)]=new _0x1a0747(this[_0x321130(0x1f9)]),this[_0x321130(0x21d)]=this[_0x321130(0x213)][_0x321130(0x201)]()[_0x321130(0x1f7)](()=>{const _0x2f8dc4=_0x321130;if(this[_0x2f8dc4(0x1e2)])return;const _0x382959=this[_0x2f8dc4(0x213)];this[_0x2f8dc4(0x1e7)][_0x2f8dc4(0x208)](_0x382959['ui'][_0x2f8dc4(0x1e7)],this[_0x2f8dc4(0x1e7)][_0x2f8dc4(0x206)]),_0x382959[_0x2f8dc4(0x1e4)][_0x2f8dc4(0x22d)]['on'](_0x2f8dc4(0x20f),()=>this[_0x2f8dc4(0x22e)]=_0x382959[_0x2f8dc4(0x217)]()),_0x382959[_0x2f8dc4(0x21b)](_0x2f8dc4(0x1e6))['to'](this),this[_0x2f8dc4(0x1e5)](this[_0x2f8dc4(0x213)]),this[_0x2f8dc4(0x1f3)](_0x2f8dc4(0x215),this[_0x2f8dc4(0x213)]);})),this[_0x321130(0x21d)];}[_0x1bc33d(0x223)](){const _0x5da565=_0x1bc33d;this[_0x5da565(0x213)]&&this[_0x5da565(0x213)][_0x5da565(0x223)]();}async[_0x1bc33d(0x1f8)](){const _0x22f65d=_0x1bc33d;this[_0x22f65d(0x1e2)]||(this[_0x22f65d(0x1e2)]=!0x0,this[_0x22f65d(0x213)]&&(await this[_0x22f65d(0x21d)],await this[_0x22f65d(0x213)][_0x22f65d(0x1f8)](),this[_0x22f65d(0x1f3)](_0x22f65d(0x1fc),this[_0x22f65d(0x213)])),await super[_0x22f65d(0x1f8)]());}[_0x1bc33d(0x1ec)](){const _0x543856=_0x1bc33d,{locale:_0x25d07c}=this,_0x15fde9=new _0x5c42f8(_0x25d07c);return _0x15fde9[_0x543856(0x21f)]({'attributes':{'class':[_0x543856(0x218)]}}),_0x15fde9[_0x543856(0x1ff)]=!0x0,_0x15fde9[_0x543856(0x21b)](_0x543856(0x20e))['to'](this,_0x543856(0x203)),_0x15fde9['on'](_0x543856(0x220),()=>{const _0x445c10=_0x543856;this[_0x445c10(0x1f3)](_0x445c10(0x1ed),this[_0x445c10(0x22e)]);}),_0x15fde9[_0x543856(0x21b)](_0x543856(0x22f))['to'](this,_0x543856(0x22e),this,_0x543856(0x230),(_0x369d7c,_0x19370b)=>!_0x19370b&&!!_0x369d7c[_0x543856(0x229)]()),_0x15fde9;}[_0x1bc33d(0x1eb)](){const _0x40d0be=_0x1bc33d,{locale:_0x428be6}=this,_0x27bcda=new _0x5c42f8(_0x428be6);return _0x27bcda[_0x40d0be(0x21f)]({'attributes':{'class':[_0x40d0be(0x216)]}}),_0x27bcda[_0x40d0be(0x20e)]=_0x41df12(_0x428be6,_0x40d0be(0x20b)),_0x27bcda[_0x40d0be(0x1ff)]=!0x0,_0x27bcda['on'](_0x40d0be(0x220),()=>{const _0xfb8b28=_0x40d0be;this[_0xfb8b28(0x213)][_0xfb8b28(0x1ea)](''),this[_0xfb8b28(0x1f3)](_0xfb8b28(0x1f1));}),_0x27bcda;}[_0x1bc33d(0x1e5)](_0x2dbf89){const _0x308d5b=_0x1bc33d,_0x508564=this[_0x308d5b(0x1e3)],_0xb85e9=new _0x54e7fb();[_0x2dbf89['ui'][_0x308d5b(0x1fa)],this[_0x308d5b(0x222)],this[_0x308d5b(0x1ee)]][_0x308d5b(0x214)](_0x53959c=>{const _0x5ba9ea=_0x308d5b;_0xb85e9[_0x5ba9ea(0x212)](_0x53959c),_0x508564[_0x5ba9ea(0x212)](_0x53959c[_0x5ba9ea(0x1e7)]);});const _0xc5a980=new _0x41fe3d({'focusables':_0xb85e9,'focusTracker':_0x508564});this[_0x308d5b(0x210)][_0x308d5b(0x204)](_0x308d5b(0x221),(_0xf7280e,_0x3eeede)=>{const _0x2e58bb=_0x308d5b;_0xc5a980[_0x2e58bb(0x1f6)](),_0x3eeede();},{'priority':_0x308d5b(0x21e)}),this[_0x308d5b(0x210)][_0x308d5b(0x204)](_0x308d5b(0x200),(_0x2bc4ef,_0x560eb3)=>{const _0x20807d=_0x308d5b;_0xc5a980[_0x20807d(0x1ef)](),_0x560eb3();},{'priority':_0x308d5b(0x21e)});}}function _0x5b66(){const _0x56b3c4=['placeholder','element','TOO_LONG_COMMENT_ALERT','9EAdGww','setData','_createCancelButton','_createSubmitButton','submit','cancelButtonView','focusPrevious','listenTo','cancel','4489540ZRKQXA','fire','Esc','createEditor','focusNext','then','destroy','_editorConfig','view','high','editorDestroyed','showButtons','7EueMUY','withText','shift\x20+\x20tab','create','9QFKYRX','submitLabel','set','6088998kykkmR','firstChild','Reply','insertBefore','Reply...','initialData','Cancel','3375200fkcVEQ','length','label','change','keystrokes','bindTemplate','add','editor','forEach','editorReady','ck-comment__input-actions--cancel','getData','ck-comment__input-actions--submit','5793040SGbIhq','1091844GFiVSw','bind','setTemplate','_editorCreationPromise','low','extendTemplate','execute','tab','submitButtonView','focus','ck-comment__input-wrapper','stop','85688CMCXLy','div','ck-comment__input-actions','trim','render','229016FqCIlV','ck-comment__input-actions--active','document','value','isEnabled','disabledSubmit','_isDestroyed','focusTracker','model','_initializeFocusCycling'];_0x5b66=function(){return _0x56b3c4;};return _0x5b66();}
23
+ const _0x3ecce1=_0xfb9e;(function(_0x5ce90d,_0x3e9d76){const _0x5b9007=_0xfb9e,_0x39cb6f=_0x5ce90d();while(!![]){try{const _0xc37afc=parseInt(_0x5b9007(0xd8))/0x1*(-parseInt(_0x5b9007(0xc9))/0x2)+-parseInt(_0x5b9007(0xe4))/0x3*(-parseInt(_0x5b9007(0xe6))/0x4)+-parseInt(_0x5b9007(0xd5))/0x5*(-parseInt(_0x5b9007(0xa1))/0x6)+parseInt(_0x5b9007(0xdd))/0x7*(-parseInt(_0x5b9007(0xc4))/0x8)+-parseInt(_0x5b9007(0xb2))/0x9+-parseInt(_0x5b9007(0xe2))/0xa*(-parseInt(_0x5b9007(0xf0))/0xb)+parseInt(_0x5b9007(0xe9))/0xc;if(_0xc37afc===_0x3e9d76)break;else _0x39cb6f['push'](_0x39cb6f['shift']());}catch(_0x7a7a79){_0x39cb6f['push'](_0x39cb6f['shift']());}}}(_0x2652,0xab8b6));import{View as _0x3be5b3,FocusCycler as _0x128507,ButtonView as _0x4f6c80}from'ckeditor5/src/ui.js';import{FocusTracker as _0x381c9b,KeystrokeHandler as _0x423a5d}from'ckeditor5/src/utils.js';function _0xfb9e(_0x2b9ca0,_0x571ab8){const _0x265289=_0x2652();return _0xfb9e=function(_0xfb9e6f,_0x3133c5){_0xfb9e6f=_0xfb9e6f-0x9d;let _0x2e977f=_0x265289[_0xfb9e6f];return _0x2e977f;},_0xfb9e(_0x2b9ca0,_0x571ab8);}import _0x44ad75 from'../commenteditor/commenteditor.js';function _0x2652(){const _0x3fc2e2=['isEnabled','editorReady','12qyGwDj','focus','submitLabel','_createSubmitButton','focusTracker','1533DMFuHK','cancel','firstChild','model','ck-comment__input-wrapper','250DSMDAW','bind','42XfSrHE','createCollection','64820dsgYCZ','destroy','ck-comment__input-actions--active','11910528WxHWgj','Reply...','focusCycler','add','listenTo','setTemplate','extendTemplate','349877Wdvoio','_setupKeyboardNavigation','ck-comment__input-actions','high','submitButtonView','forEach','Esc','set','6Kntlkd','div','disabledSubmit','create','value','withText','_editorCreationPromise','insertBefore','setData','shift+tab','_isDestroyed','added','trim','length','editor','keystrokes','TOO_LONG_COMMENT_ALERT','1640817mJZDwX','focusables','focusLast','document','Cancel','from','view','getData','reverse','stop','focusFirst','showButtons','ck-comment__input-actions--cancel','ck-comment__input-actions--submit','render','fire','_editorConfig','cancelButtonView','41064rdzlDC','Ctrl+Enter','createEditor','Reply','initialData','219154RdyDjm','change','submit','editorDestroyed','_createCancelButton','execute','tab','then','element','placeholder','bindTemplate','label','6547105AjyMie'];_0x2652=function(){return _0x3fc2e2;};return _0x2652();}import{getTranslation as _0x46d157}from'../../../utils/common-translations.js';export default class rs extends _0x3be5b3{constructor(_0x43537b,_0x32643b={}){const _0x5cd850=_0xfb9e;super(_0x43537b),this[_0x5cd850(0xaf)]=null,this[_0x5cd850(0xc2)]=_0x32643b,this[_0x5cd850(0xa0)](_0x5cd850(0xa5),_0x32643b[_0x5cd850(0xc8)]||''),this[_0x5cd850(0xa0)](_0x5cd850(0xa3),!0x1),this[_0x5cd850(0xa0)](_0x5cd850(0xbd),!0x0),this[_0x5cd850(0xa0)](_0x5cd850(0xd2),_0x46d157(_0x43537b,_0x5cd850(0xea))),this[_0x5cd850(0xa0)](_0x5cd850(0xda),_0x46d157(_0x43537b,_0x5cd850(0xc7))),this[_0x5cd850(0x9d)]=this[_0x5cd850(0xdb)](),this[_0x5cd850(0xc3)]=this[_0x5cd850(0xcd)](),this[_0x5cd850(0xb3)]=this[_0x5cd850(0xe5)]([this[_0x5cd850(0x9d)],this[_0x5cd850(0xc3)]]),this[_0x5cd850(0xb0)]=new _0x423a5d(),this[_0x5cd850(0xdc)]=new _0x381c9b(),this[_0x5cd850(0xeb)]=new _0x128507({'focusables':this[_0x5cd850(0xb3)],'focusTracker':this[_0x5cd850(0xdc)],'keystrokeHandler':this[_0x5cd850(0xb0)],'actions':{'focusPrevious':_0x5cd850(0xaa),'focusNext':_0x5cd850(0xcf)}}),this[_0x5cd850(0xee)]({'tag':_0x5cd850(0xa2),'attributes':{'class':[_0x5cd850(0xe1)]},'children':[{'tag':_0x5cd850(0xa2),'attributes':{'class':[_0x5cd850(0xf2),this[_0x5cd850(0xd3)]['if'](_0x5cd850(0xbd),_0x5cd850(0xe8))]},'children':[this[_0x5cd850(0x9d)],this[_0x5cd850(0xc3)]]}]}),this[_0x5cd850(0xb0)][_0x5cd850(0xa0)](_0x5cd850(0x9f),(_0x50df77,_0x2cedd3)=>{const _0x504bbe=_0x5cd850;this[_0x504bbe(0xc3)][_0x504bbe(0xc1)](_0x504bbe(0xce)),_0x2cedd3();}),this[_0x5cd850(0xb0)][_0x5cd850(0xa0)](_0x5cd850(0xc5),(_0x58aa26,_0x10fae7)=>{const _0x372e7d=_0x5cd850;this[_0x372e7d(0x9d)][_0x372e7d(0xd6)]&&(this[_0x372e7d(0x9d)][_0x372e7d(0xc1)](_0x372e7d(0xce)),_0x10fae7());}),this['on'](_0x5cd850(0xcb),(_0x516952,_0x4d0c84)=>{const _0x7add0c=_0x5cd850;_0x4d0c84[_0x7add0c(0xae)]>0xfde8?(alert(_0x46d157(_0x43537b,_0x7add0c(0xb1),[_0x4d0c84[_0x7add0c(0xae)],0xfde8])),_0x516952[_0x7add0c(0xbb)]()):this[_0x7add0c(0xaf)][_0x7add0c(0xa9)]('');},{'priority':_0x5cd850(0xf3)});}[_0x3ecce1(0xc0)](){const _0x6500f1=_0x3ecce1;super[_0x6500f1(0xc0)](),this[_0x6500f1(0xf1)]();}[_0x3ecce1(0xc6)](){const _0xccf3ac=_0x3ecce1;return this[_0xccf3ac(0xaf)]||(this[_0xccf3ac(0xaf)]=new _0x44ad75(this[_0xccf3ac(0xc2)]),this[_0xccf3ac(0xa7)]=this[_0xccf3ac(0xaf)][_0xccf3ac(0xa4)]()[_0xccf3ac(0xd0)](()=>{const _0x146857=_0xccf3ac;if(this[_0x146857(0xab)])return;const _0x19466d=this[_0x146857(0xaf)];this[_0x146857(0xd1)][_0x146857(0xa8)](_0x19466d['ui'][_0x146857(0xd1)],this[_0x146857(0xd1)][_0x146857(0xdf)]),_0x19466d[_0x146857(0xe0)][_0x146857(0xb5)]['on'](_0x146857(0xca),()=>this[_0x146857(0xa5)]=_0x19466d[_0x146857(0xb9)]()),_0x19466d[_0x146857(0xe3)](_0x146857(0xd2))['to'](this),this[_0x146857(0xb3)][_0x146857(0xec)](_0x19466d['ui'][_0x146857(0xb8)],0x0),this[_0x146857(0xc1)](_0x146857(0xd7),this[_0x146857(0xaf)]);})),this[_0xccf3ac(0xa7)];}[_0x3ecce1(0xd9)](_0x2aa06e){const _0x37ed0b=_0x3ecce1;-0x1===_0x2aa06e?(this[_0x37ed0b(0xeb)][_0x37ed0b(0xbc)](),this[_0x37ed0b(0xeb)][_0x37ed0b(0xb4)]()):this[_0x37ed0b(0xeb)][_0x37ed0b(0xbc)]();}async[_0x3ecce1(0xe7)](){const _0x4666d7=_0x3ecce1;this[_0x4666d7(0xab)]||(this[_0x4666d7(0xab)]=!0x0,this[_0x4666d7(0xaf)]&&(await this[_0x4666d7(0xa7)],await this[_0x4666d7(0xaf)][_0x4666d7(0xe7)](),this[_0x4666d7(0xc1)](_0x4666d7(0xcc),this[_0x4666d7(0xaf)])),await super[_0x4666d7(0xe7)]());}[_0x3ecce1(0xdb)](){const _0x389ba6=_0x3ecce1,{locale:_0x3382a1}=this,_0x5ced9d=new _0x4f6c80(_0x3382a1);return _0x5ced9d[_0x389ba6(0xef)]({'attributes':{'class':[_0x389ba6(0xbf)]}}),_0x5ced9d[_0x389ba6(0xa6)]=!0x0,_0x5ced9d[_0x389ba6(0xe3)](_0x389ba6(0xd4))['to'](this,_0x389ba6(0xda)),_0x5ced9d['on'](_0x389ba6(0xce),()=>{const _0x23b649=_0x389ba6;this[_0x23b649(0xc1)](_0x23b649(0xcb),this[_0x23b649(0xa5)]);}),_0x5ced9d[_0x389ba6(0xe3)](_0x389ba6(0xd6))['to'](this,_0x389ba6(0xa5),this,_0x389ba6(0xa3),(_0x397c00,_0x2e5cc0)=>!_0x2e5cc0&&!!_0x397c00[_0x389ba6(0xad)]()),_0x5ced9d;}[_0x3ecce1(0xcd)](){const _0x4c9884=_0x3ecce1,{locale:_0x166f87}=this,_0x45b4c1=new _0x4f6c80(_0x166f87);return _0x45b4c1[_0x4c9884(0xef)]({'attributes':{'class':[_0x4c9884(0xbe)]}}),_0x45b4c1[_0x4c9884(0xd4)]=_0x46d157(_0x166f87,_0x4c9884(0xb6)),_0x45b4c1[_0x4c9884(0xa6)]=!0x0,_0x45b4c1['on'](_0x4c9884(0xce),()=>{const _0x56841d=_0x4c9884;this[_0x56841d(0xaf)][_0x56841d(0xa9)](''),this[_0x56841d(0xc1)](_0x56841d(0xde));}),_0x45b4c1;}[_0x3ecce1(0xf1)](){const _0x2f1206=_0x3ecce1;this[_0x2f1206(0xb0)][_0x2f1206(0xed)](this[_0x2f1206(0xd1)]),this[_0x2f1206(0xb3)][_0x2f1206(0x9e)](_0x1247a3=>{const _0x313516=_0x2f1206;this[_0x313516(0xdc)][_0x313516(0xec)](_0x1247a3[_0x313516(0xd1)]);}),this[_0x2f1206(0xb3)]['on'](_0x2f1206(0xca),(_0x39988a,_0x8c111a)=>{const _0x3e57f2=_0x2f1206;for(const _0x15368d of Array[_0x3e57f2(0xb7)](_0x8c111a[_0x3e57f2(0xac)])[_0x3e57f2(0xba)]())this[_0x3e57f2(0xdc)][_0x3e57f2(0xec)](_0x15368d[_0x3e57f2(0xd1)]);});}}
@@ -5,19 +5,27 @@
5
5
  /**
6
6
  * @module comments/comments/ui/view/commentslistview
7
7
  */
8
- import { View, type ViewCollection } from 'ckeditor5/src/ui.js';
9
- import { type Locale } from 'ckeditor5/src/utils.js';
8
+ import { View, FocusCycler, type ViewCollection, type FocusableView } from 'ckeditor5/src/ui.js';
9
+ import { FocusTracker, type Locale } from 'ckeditor5/src/utils.js';
10
10
  import type AnnotationView from '../../../annotations/view/annotationview.js';
11
11
  /**
12
12
  * A view representing the content of comments archive.
13
13
  */
14
- export default class CommentsArchiveView extends View {
14
+ export default class CommentsArchiveView extends View implements FocusableView {
15
15
  /**
16
16
  * The flag indicating whether there are items to display in the comments archive.
17
17
  *
18
18
  * @observable
19
19
  */
20
20
  isEmpty: boolean;
21
+ /**
22
+ * Tracks information about the DOM focus in the comments archive.
23
+ */
24
+ readonly focusTracker: FocusTracker;
25
+ /**
26
+ * Helps cycling over {@link #_focusables} in the form.
27
+ */
28
+ readonly focusCycler: FocusCycler;
21
29
  /**
22
30
  * @param locale The localization service instance.
23
31
  * @param annotationViews Resolved comment thread annotation views to render inside the comments archive.
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- const _0x39e0f3=_0x5a9a;function _0x5a9a(_0x1e2908,_0x2f4b7a){const _0x793f76=_0x793f();return _0x5a9a=function(_0x5a9a7c,_0x2e7197){_0x5a9a7c=_0x5a9a7c-0x77;let _0x37676d=_0x793f76[_0x5a9a7c];return _0x37676d;},_0x5a9a(_0x1e2908,_0x2f4b7a);}(function(_0x2b7a94,_0x295fcf){const _0x23eff3=_0x5a9a,_0x158b6c=_0x2b7a94();while(!![]){try{const _0xc39359=-parseInt(_0x23eff3(0x98))/0x1+-parseInt(_0x23eff3(0x9b))/0x2+-parseInt(_0x23eff3(0x79))/0x3+parseInt(_0x23eff3(0x7b))/0x4*(parseInt(_0x23eff3(0x8e))/0x5)+-parseInt(_0x23eff3(0x95))/0x6*(parseInt(_0x23eff3(0x84))/0x7)+-parseInt(_0x23eff3(0x8a))/0x8+parseInt(_0x23eff3(0x83))/0x9;if(_0xc39359===_0x295fcf)break;else _0x158b6c['push'](_0x158b6c['shift']());}catch(_0x412e86){_0x158b6c['push'](_0x158b6c['shift']());}}}(_0x793f,0xb5f8b));import{View as _0x3f681d,FocusCycler as _0x40c4ae}from'ckeditor5/src/ui.js';import{FocusTracker as _0x50ac1c,KeystrokeHandler as _0x41633d}from'ckeditor5/src/utils.js';import{getTranslation as _0x245f19}from'../../../utils/common-translations.js';export default class X extends _0x3f681d{constructor(_0x1109e5,_0x133e27){const _0x378767=_0x5a9a;super(_0x1109e5),this[_0x378767(0x77)](_0x378767(0x7e),!_0x133e27[_0x378767(0x80)]),this[_0x378767(0x7f)]=new _0x50ac1c(),this[_0x378767(0x88)]=new _0x41633d(),this[_0x378767(0x8d)]=_0x133e27,this[_0x378767(0x78)]=new _0x40c4ae({'focusables':this[_0x378767(0x8d)],'focusTracker':this[_0x378767(0x7f)],'keystrokeHandler':this[_0x378767(0x88)],'actions':{'focusPrevious':_0x378767(0x89),'focusNext':_0x378767(0x85)}}),this[_0x378767(0x9c)](_0x133e27,_0x378767(0x8c),()=>{const _0x2e3982=_0x378767;this[_0x2e3982(0x7e)]=!0x1;}),this[_0x378767(0x9c)](_0x133e27,_0x378767(0x8b),(_0x1e820,_0x5c6c13)=>{const _0xb3346e=_0x378767;_0x5c6c13[_0xb3346e(0x9f)]&&this[_0xb3346e(0x81)](),_0x133e27[_0xb3346e(0x80)]||(this[_0xb3346e(0x7e)]=!0x0);});const _0x53138d=this[_0x378767(0x7c)];this[_0x378767(0x96)]({'tag':_0x378767(0x9d),'attributes':{'dir':_0x378767(0x7d),'class':['ck',_0x378767(0xa0)],'tabindex':-0x1},'children':[{'tag':_0x378767(0x9d),'attributes':{'class':[_0x378767(0x90)]},'children':[{'tag':_0x378767(0x9d),'children':_0x133e27},{'tag':'p','attributes':{'class':[_0x378767(0x9e),_0x53138d['if'](_0x378767(0x7e),_0x378767(0x87),_0x2ab156=>!_0x2ab156)]},'children':[{'text':_0x245f19(_0x1109e5,_0x378767(0x7a))}]}]}]});}[_0x39e0f3(0x99)](){const _0x1e7c67=_0x39e0f3;super[_0x1e7c67(0x99)](),this[_0x1e7c67(0x88)][_0x1e7c67(0x9c)](this[_0x1e7c67(0x8f)]);const _0x514f6a=_0x5bfbda=>_0x5bfbda[_0x1e7c67(0x91)]();this[_0x1e7c67(0x88)][_0x1e7c67(0x77)](_0x1e7c67(0x92),_0x514f6a),this[_0x1e7c67(0x88)][_0x1e7c67(0x77)](_0x1e7c67(0x86),_0x514f6a),this[_0x1e7c67(0x88)][_0x1e7c67(0x77)](_0x1e7c67(0x82),_0x514f6a),this[_0x1e7c67(0x88)][_0x1e7c67(0x77)](_0x1e7c67(0x94),_0x514f6a),this[_0x1e7c67(0x9c)](this[_0x1e7c67(0x8f)],_0x1e7c67(0x9a),(_0x65cd67,_0x2acf4b)=>{const _0xdb0b83=_0x1e7c67;_0x2acf4b[_0xdb0b83(0x91)]();},{'priority':_0x1e7c67(0x97)});}[_0x39e0f3(0x93)](){const _0x1b7e03=_0x39e0f3;super[_0x1b7e03(0x93)](),this[_0x1b7e03(0x7f)][_0x1b7e03(0x93)](),this[_0x1b7e03(0x88)][_0x1b7e03(0x93)]();}[_0x39e0f3(0x81)](){const _0x48bebb=_0x39e0f3;this[_0x48bebb(0x8f)][_0x48bebb(0x81)]();}}function _0x793f(){const _0x45977e=['272428lHWlur','listenTo','div','ck-comments-archive__info','isActive','ck-comments-archive','set','_focusCycler','2516346zRjoet','EMPTY_COMMENTS_ARCHIVE','156192RrflAf','bindTemplate','auto','isEmpty','_focusTracker','length','focus','arrowup','18405711sQevBX','844109AnOmNx','tab','arrowleft','ck-hidden','_keystrokes','shift\x20+\x20tab','1156112iyFgSK','remove','add','_focusables','135vPSbOl','element','ck-comments-archive__content','stopPropagation','arrowright','destroy','arrowdown','60fLFVnM','setTemplate','high','28640LMVWDk','render','selectstart'];_0x793f=function(){return _0x45977e;};return _0x793f();}
23
+ const _0x2ac28b=_0x96a2;(function(_0x4620df,_0xef08dd){const _0x502c48=_0x96a2,_0xe4c87=_0x4620df();while(!![]){try{const _0x2534d3=parseInt(_0x502c48(0x91))/0x1*(parseInt(_0x502c48(0x88))/0x2)+parseInt(_0x502c48(0xa8))/0x3*(parseInt(_0x502c48(0xaa))/0x4)+-parseInt(_0x502c48(0xa5))/0x5+parseInt(_0x502c48(0xae))/0x6+parseInt(_0x502c48(0xa2))/0x7+-parseInt(_0x502c48(0x8b))/0x8*(parseInt(_0x502c48(0x92))/0x9)+parseInt(_0x502c48(0xa7))/0xa;if(_0x2534d3===_0xef08dd)break;else _0xe4c87['push'](_0xe4c87['shift']());}catch(_0x3803bd){_0xe4c87['push'](_0xe4c87['shift']());}}}(_0x35d9,0xbbf31));import{View as _0xe6d15a,FocusCycler as _0x12e101}from'ckeditor5/src/ui.js';function _0x35d9(){const _0x47650c=['2686524erTycM','auto','ck-hidden','isEmpty','delegate','element','ck-comments-archive','69718zvZlsF','setTemplate','EMPTY_COMMENTS_ARCHIVE','2532304yLhnxa','focusTracker','isActive','first','change','arrowup','6shaZOE','18sYodpi','list','presentation','length','destroy','add','focusFirst','focusNext','set','div','ck-comments-archive__info','COMMENTS_ARCHIVE_LIST_LABEL','render','remove','_setupKeyboardNavigation','_annotationViews','5020792YOjiuQ','focusCycler','focusPrevious','5159800ktmRmC','listenTo','9332770gGPEKw','6PQNaJF','focus','254872OjZHMn','arrowdown','bindTemplate','ck-comments-archive__content'];_0x35d9=function(){return _0x47650c;};return _0x35d9();}import{FocusTracker as _0x11f5b1}from'ckeditor5/src/utils.js';import{getTranslation as _0x2adaaf}from'../../../utils/common-translations.js';function _0x96a2(_0x1d3414,_0x5d36e1){const _0x35d92d=_0x35d9();return _0x96a2=function(_0x96a28c,_0x18bbfc){_0x96a28c=_0x96a28c-0x82;let _0x3ff6fa=_0x35d92d[_0x96a28c];return _0x3ff6fa;},_0x96a2(_0x1d3414,_0x5d36e1);}export default class Y extends _0xe6d15a{constructor(_0x8d3b9f,_0x49d201){const _0x21f0a5=_0x96a2;super(_0x8d3b9f),this[_0x21f0a5(0x9a)](_0x21f0a5(0x84),!_0x49d201[_0x21f0a5(0x95)]),this[_0x21f0a5(0x8c)]=new _0x11f5b1(),this[_0x21f0a5(0xa1)]=_0x49d201,this[_0x21f0a5(0xa1)][_0x21f0a5(0x85)](_0x21f0a5(0x90),_0x21f0a5(0xab))['to'](this),this['on'](_0x21f0a5(0x90),()=>{const _0x24b2b4=_0x21f0a5;this[_0x24b2b4(0xa3)][_0x24b2b4(0xa4)]();}),this['on'](_0x21f0a5(0xab),()=>{const _0x13b9ac=_0x21f0a5;this[_0x13b9ac(0xa3)][_0x13b9ac(0x99)]();}),this[_0x21f0a5(0xa3)]=new _0x12e101({'focusables':_0x49d201,'focusTracker':this[_0x21f0a5(0x8c)]}),this[_0x21f0a5(0xa6)](_0x49d201,_0x21f0a5(0x97),()=>{const _0x44b15e=_0x21f0a5;this[_0x44b15e(0x84)]=!0x1;}),this[_0x21f0a5(0xa6)](_0x49d201,_0x21f0a5(0x9f),(_0x164e87,_0x3bc552)=>{const _0x386f5c=_0x21f0a5;_0x3bc552[_0x386f5c(0x8d)]&&this[_0x386f5c(0xa9)](),_0x49d201[_0x386f5c(0x95)]||(this[_0x386f5c(0x84)]=!0x0);});const _0xa118a2=this[_0x21f0a5(0xac)];this[_0x21f0a5(0x89)]({'tag':_0x21f0a5(0x9b),'attributes':{'dir':_0x21f0a5(0x82),'class':['ck',_0x21f0a5(0x87)],'tabindex':-0x1,'role':_0x21f0a5(0x93),'aria-label':_0x2adaaf(_0x8d3b9f,_0x21f0a5(0x9d))},'children':[{'tag':_0x21f0a5(0x9b),'attributes':{'class':[_0x21f0a5(0xad)],'role':_0x21f0a5(0x94)},'children':[{'tag':_0x21f0a5(0x9b),'attributes':{'role':_0x21f0a5(0x94)},'children':_0x49d201},{'tag':'p','attributes':{'class':[_0x21f0a5(0x9c),_0xa118a2['if'](_0x21f0a5(0x84),_0x21f0a5(0x83),_0x4ed4aa=>!_0x4ed4aa)]},'children':[{'text':_0x2adaaf(_0x8d3b9f,_0x21f0a5(0x8a))}]}]}]});}[_0x2ac28b(0x9e)](){const _0x40d7a3=_0x2ac28b;super[_0x40d7a3(0x9e)](),this[_0x40d7a3(0xa0)]();}[_0x2ac28b(0x96)](){const _0x130e51=_0x2ac28b;super[_0x130e51(0x96)](),this[_0x130e51(0x8c)][_0x130e51(0x96)]();}[_0x2ac28b(0xa9)](){const _0x46e862=_0x2ac28b;this[_0x46e862(0xa3)][_0x46e862(0x8e)]?this[_0x46e862(0xa3)][_0x46e862(0x98)]():this[_0x46e862(0x86)][_0x46e862(0xa9)]();}[_0x2ac28b(0xa0)](){const _0x4d944b=_0x2ac28b;for(const _0x2893d1 of this[_0x4d944b(0xa1)])this[_0x4d944b(0x8c)][_0x4d944b(0x97)](_0x2893d1[_0x4d944b(0x86)]);this[_0x4d944b(0xa1)]['on'](_0x4d944b(0x8f),(_0x23e519,{added:_0x28db51,removed:_0x433a84})=>{const _0x317505=_0x4d944b;for(const _0x26e0ad of _0x28db51)this[_0x317505(0x8c)][_0x317505(0x97)](_0x26e0ad[_0x317505(0x86)]);for(const _0x3f4245 of _0x433a84)this[_0x317505(0x8c)][_0x317505(0x9f)](_0x3f4245[_0x317505(0x86)]);});}}
@@ -5,15 +5,15 @@
5
5
  /**
6
6
  * @module comments/comments/ui/view/commentslistview
7
7
  */
8
- import { View, type ViewCollection } from 'ckeditor5/src/ui.js';
9
- import { type Locale } from 'ckeditor5/src/utils.js';
8
+ import { View, FocusCycler, type ViewCollection, type FocusableView } from 'ckeditor5/src/ui.js';
9
+ import { FocusTracker, KeystrokeHandler, type Locale } from 'ckeditor5/src/utils.js';
10
10
  import type { CommentThread } from '../../commentsrepository.js';
11
11
  import type CommentView from './commentview.js';
12
12
  import type { CommentThreadConfig } from '../../../config.js';
13
13
  /**
14
14
  * A view representing the list of comments. It should be used as a part of the comment thread view.
15
15
  */
16
- export default class CommentsListView extends View {
16
+ export default class CommentsListView extends View implements FocusableView {
17
17
  locale: Locale;
18
18
  /**
19
19
  * Informs whether the list contains any comment view that is in the editing mode.
@@ -46,13 +46,25 @@ export default class CommentsListView extends View {
46
46
  *
47
47
  * @readonly
48
48
  */
49
- readonly commentViews: ViewCollection;
49
+ readonly commentViews: ViewCollection<CommentView>;
50
50
  /**
51
51
  * Comment view used to display information that comment has been resolved.
52
52
  *
53
53
  * @readonly
54
54
  */
55
55
  resolvedCommentView: CommentView | null;
56
+ /**
57
+ * Tracks information about DOM focus in the comments list.
58
+ */
59
+ readonly focusTracker: FocusTracker;
60
+ /**
61
+ * Instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.
62
+ */
63
+ readonly keystrokes: KeystrokeHandler;
64
+ /**
65
+ * Helps cycling over focusable {@link #commentViews} in the list.
66
+ */
67
+ readonly focusCycler: FocusCycler;
56
68
  /**
57
69
  * @param locale The localization service instance.
58
70
  * @param model The model on which the view will base.
@@ -66,7 +78,7 @@ export default class CommentsListView extends View {
66
78
  /**
67
79
  * Focuses the view.
68
80
  */
69
- focus(): void;
81
+ focus(direction?: 1 | -1): void;
70
82
  /**
71
83
  * @inheritDoc
72
84
  */
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- const _0x1c3b99=_0x3ba0;function _0x3ba0(_0x4d9e6f,_0x50d7e1){const _0x11ee05=_0x11ee();return _0x3ba0=function(_0x3ba088,_0x18f368){_0x3ba088=_0x3ba088-0x1ec;let _0x37cb78=_0x11ee05[_0x3ba088];return _0x37cb78;},_0x3ba0(_0x4d9e6f,_0x50d7e1);}(function(_0x3a20f1,_0x598eaf){const _0x3bb903=_0x3ba0,_0x46c2d=_0x3a20f1();while(!![]){try{const _0x21491d=-parseInt(_0x3bb903(0x211))/0x1+-parseInt(_0x3bb903(0x1f8))/0x2+-parseInt(_0x3bb903(0x21c))/0x3*(-parseInt(_0x3bb903(0x200))/0x4)+parseInt(_0x3bb903(0x209))/0x5+parseInt(_0x3bb903(0x20a))/0x6+-parseInt(_0x3bb903(0x238))/0x7*(-parseInt(_0x3bb903(0x1f7))/0x8)+-parseInt(_0x3bb903(0x216))/0x9;if(_0x21491d===_0x598eaf)break;else _0x46c2d['push'](_0x46c2d['shift']());}catch(_0x41dcaf){_0x46c2d['push'](_0x46c2d['shift']());}}}(_0x11ee,0x8070c));import{View as _0x4af9b0}from'ckeditor5/src/ui.js';import{diff as _0x2fddbe,Collection as _0x29b64d}from'ckeditor5/src/utils.js';import{getTranslation as _0x3bda71}from'../../../utils/common-translations.js';import _0x14d6cf from'./collapsedcommentsview.js';function _0x11ee(){const _0x1a813f=['change:isEditMode','_handleNewCommentModel','_rearrangeExpand','resolvedCommentView','locale','from','removeComment','_findOptimalIndex','8048936HHEuBM','230996tyXHqy','get','remove','isEditMode','render','weight','set','ck-thread__comments','24140UERdBU','formatDateTime','resolved','add','commentViews','resolveCommentThread','editorDestroyed','_handleRemoveCommentModel','viewUid','1784945MgeQQg','323634bqhqbW','insert','editorReady','_shouldCollapse','change:hasDirtyComment','expand','commentUpdated','369499GCsoAA','delegate','Marked\x20as\x20resolved','resolvedAt','updateComment','11149074gUvoZS','delete','collapse','hasDirtyComment','_handleInfoComment','stopListening','414lfAVtB','CommentView','_rearrangeCollapse','visibleViews','createCollection','some','length','maxThreadTotalWeight','destroy','refreshVisibleViews','isActive','change:isResolved','resolvedBy','equal','element','authoredAt','focus','maxCommentsWhenCollapsed','_model','count','_updateHasDirtyComment','comments','bind','change:isActive','_config','_calculatePosition','listenTo','maxCommentCharsWhenCollapsed','7CKQKuP','editorConfig','_collapsedCommentsView','setTemplate'];_0x11ee=function(){return _0x1a813f;};return _0x11ee();}export default class xt extends _0x4af9b0{constructor(_0x337f33,_0x41804a,_0x2e6faa){const _0x4336bb=_0x3ba0;super(_0x337f33),this[_0x4336bb(0x1fe)](_0x4336bb(0x219),!0x1),this[_0x4336bb(0x1fe)](_0x4336bb(0x222),_0x41804a[_0x4336bb(0x231)][_0x4336bb(0x222)]),this[_0x4336bb(0x1fe)](_0x4336bb(0x226),!0x1),this[_0x4336bb(0x22e)]=_0x41804a,this[_0x4336bb(0x234)]=_0x2e6faa,this[_0x4336bb(0x204)]=this[_0x4336bb(0x220)](),this[_0x4336bb(0x21f)]=this[_0x4336bb(0x220)](),this[_0x4336bb(0x1f2)]=null,this[_0x4336bb(0x1ed)]=new _0x14d6cf(_0x337f33),this[_0x4336bb(0x1ed)][_0x4336bb(0x232)](_0x4336bb(0x22f))['to'](this,_0x4336bb(0x222),_0x5ad1aa=>_0x5ad1aa-this[_0x4336bb(0x234)][_0x4336bb(0x22d)]);for(const _0x7850e of _0x41804a[_0x4336bb(0x231)])this[_0x4336bb(0x1f0)](_0x7850e);this[_0x4336bb(0x21a)](),this[_0x4336bb(0x236)](_0x41804a[_0x4336bb(0x231)],_0x4336bb(0x203),(_0x87a982,_0x283756)=>{const _0x3f07e8=_0x4336bb,_0x416cf5=this[_0x3f07e8(0x235)](_0x283756);this[_0x3f07e8(0x222)]++,this[_0x3f07e8(0x1f0)](_0x283756,_0x416cf5),this[_0x3f07e8(0x225)]();}),this[_0x4336bb(0x236)](_0x41804a[_0x4336bb(0x231)],_0x4336bb(0x1fa),(_0x22cc6e,_0x4cc7e6)=>{const _0x32e737=_0x4336bb;this[_0x32e737(0x222)]--,this[_0x32e737(0x207)](_0x4cc7e6),this[_0x32e737(0x225)]();}),this[_0x4336bb(0x236)](_0x41804a,_0x4336bb(0x210),()=>this[_0x4336bb(0x225)]()),this[_0x4336bb(0x236)](_0x41804a,_0x4336bb(0x227),()=>this[_0x4336bb(0x21a)]()),this['on'](_0x4336bb(0x233),()=>this[_0x4336bb(0x225)]()),this['on'](_0x4336bb(0x20e),()=>this[_0x4336bb(0x225)]()),this[_0x4336bb(0x1ee)]({'tag':'ul','attributes':{'class':[_0x4336bb(0x1ff)]},'children':this[_0x4336bb(0x21f)]});}get[_0x1c3b99(0x20d)](){const _0x527b0a=_0x1c3b99;return this[_0x527b0a(0x22e)][_0x527b0a(0x1fd)]>this[_0x527b0a(0x234)][_0x527b0a(0x223)]&&!this[_0x527b0a(0x226)]&&!this[_0x527b0a(0x219)];}[_0x1c3b99(0x1fc)](){const _0x33964a=_0x1c3b99;super[_0x33964a(0x1fc)](),this[_0x33964a(0x225)]();}[_0x1c3b99(0x22c)](){const _0x5de9ca=_0x1c3b99;this[_0x5de9ca(0x22a)][_0x5de9ca(0x22c)]();}[_0x1c3b99(0x224)](){const _0x3fcb44=_0x1c3b99;this[_0x3fcb44(0x1ed)][_0x3fcb44(0x224)]();for(const _0x5decd1 of this[_0x3fcb44(0x204)])_0x5decd1[_0x3fcb44(0x224)]();super[_0x3fcb44(0x224)]();}[_0x1c3b99(0x225)](){const _0x30dc0b=_0x1c3b99;this[_0x30dc0b(0x20d)]?this[_0x30dc0b(0x21e)]():this[_0x30dc0b(0x1f1)]();}[_0x1c3b99(0x1f0)](_0x2e2677,_0x25e70d){const _0x3edb0b=_0x1c3b99,_0x46f1cf=new this[(_0x3edb0b(0x234))][(_0x3edb0b(0x21d))](this[_0x3edb0b(0x1f3)],_0x2e2677,{'maxCommentCharsWhenCollapsed':this[_0x3edb0b(0x234)][_0x3edb0b(0x237)],'formatDateTime':this[_0x3edb0b(0x234)][_0x3edb0b(0x201)],'editorConfig':this[_0x3edb0b(0x234)][_0x3edb0b(0x1ec)]});_0x46f1cf[_0x3edb0b(0x208)]=_0x2e2677['id'],_0x46f1cf[_0x3edb0b(0x212)](_0x3edb0b(0x1f5))['to'](this),_0x46f1cf[_0x3edb0b(0x212)](_0x3edb0b(0x215))['to'](this),_0x46f1cf[_0x3edb0b(0x212)](_0x3edb0b(0x205))['to'](this),_0x46f1cf[_0x3edb0b(0x212)](_0x3edb0b(0x20c))['to'](this),_0x46f1cf[_0x3edb0b(0x212)](_0x3edb0b(0x206))['to'](this),this[_0x3edb0b(0x236)](_0x46f1cf,_0x3edb0b(0x1ef),()=>this[_0x3edb0b(0x230)]()),this[_0x3edb0b(0x204)][_0x3edb0b(0x203)](_0x46f1cf,_0x25e70d);}[_0x1c3b99(0x235)](_0x3b3457){const _0x16f1b5=_0x1c3b99,_0x2ff1a4=this[_0x16f1b5(0x22e)][_0x16f1b5(0x1f6)](_0x3b3457);return this[_0x16f1b5(0x1f2)]?this[_0x16f1b5(0x1f2)][_0x16f1b5(0x22b)]>_0x3b3457[_0x16f1b5(0x22b)]?_0x2ff1a4-0x1:_0x2ff1a4:_0x2ff1a4-0x1;}[_0x1c3b99(0x21a)](){const _0xcc4be0=_0x1c3b99;if(this[_0xcc4be0(0x22e)][_0xcc4be0(0x228)]&&this[_0xcc4be0(0x22e)][_0xcc4be0(0x214)]){const _0x5174ab={'id':_0xcc4be0(0x202),'author':this[_0xcc4be0(0x22e)][_0xcc4be0(0x228)],'authoredAt':this[_0xcc4be0(0x22e)][_0xcc4be0(0x214)],'content':_0x3bda71(this[_0xcc4be0(0x1f3)],_0xcc4be0(0x213)),'attributes':{}};this[_0xcc4be0(0x1f2)]=new this[(_0xcc4be0(0x234))][(_0xcc4be0(0x21d))](this[_0xcc4be0(0x1f3)],_0x5174ab,{'maxCommentCharsWhenCollapsed':this[_0xcc4be0(0x234)][_0xcc4be0(0x237)],'formatDateTime':this[_0xcc4be0(0x234)][_0xcc4be0(0x201)],'editorConfig':this[_0xcc4be0(0x234)][_0xcc4be0(0x1ec)],'isSystemComment':!0x0}),this[_0xcc4be0(0x204)][_0xcc4be0(0x203)](this[_0xcc4be0(0x1f2)],this[_0xcc4be0(0x22e)][_0xcc4be0(0x1f6)](_0x5174ab));}else this[_0xcc4be0(0x1f2)]&&(this[_0xcc4be0(0x204)][_0xcc4be0(0x1fa)](this[_0xcc4be0(0x1f2)]),this[_0xcc4be0(0x1f2)][_0xcc4be0(0x224)](),this[_0xcc4be0(0x1f2)]=null);this[_0xcc4be0(0x225)]();}[_0x1c3b99(0x207)](_0xb8d179){const _0x112288=_0x1c3b99,_0x4b3d65=this[_0x112288(0x204)][_0x112288(0x1fa)](_0xb8d179['id']);this[_0x112288(0x21b)](_0x4b3d65),_0x4b3d65[_0x112288(0x1fb)]&&this[_0x112288(0x230)](),_0x4b3d65[_0x112288(0x224)]();}[_0x1c3b99(0x230)](){const _0x28ab79=_0x1c3b99;this[_0x28ab79(0x219)]=Array[_0x28ab79(0x1f4)](this[_0x28ab79(0x204)])[_0x28ab79(0x221)](_0x268b43=>_0x268b43[_0x28ab79(0x1fb)]);}[_0x1c3b99(0x21e)](){const _0x99c39c=_0x1c3b99,_0x16dfe0=function(_0x17cc34){const _0x29b125=_0x3ba0,_0x35250a=new _0x29b64d();for(const _0x112158 of _0x17cc34)_0x35250a[_0x29b125(0x203)](_0x112158);return _0x35250a;}(this[_0x99c39c(0x204)]),_0x5e2428=this[_0x99c39c(0x1ed)][_0x99c39c(0x22f)];for(let _0x15eb46=0x1;_0x15eb46<=_0x5e2428;_0x15eb46++)_0x16dfe0[_0x99c39c(0x1fa)](0x1);for(const _0x5d5c21 of _0x16dfe0)_0x5d5c21[_0x99c39c(0x218)]();_0x5e2428>0x0&&_0x16dfe0[_0x99c39c(0x203)](this[_0x99c39c(0x1ed)],0x1),is(_0x2fddbe(Array[_0x99c39c(0x1f4)](this[_0x99c39c(0x21f)]),Array[_0x99c39c(0x1f4)](_0x16dfe0)),this[_0x99c39c(0x21f)],_0x16dfe0);}[_0x1c3b99(0x1f1)](){const _0xadf252=_0x1c3b99;is(_0x2fddbe(Array[_0xadf252(0x1f4)](this[_0xadf252(0x21f)]),Array[_0xadf252(0x1f4)](this[_0xadf252(0x204)])),this[_0xadf252(0x21f)],this[_0xadf252(0x204)]);for(const _0x312619 of this[_0xadf252(0x21f)])_0x312619[_0xadf252(0x20f)]();}}function is(_0x1f5f3f,_0x4892c7,_0xda31d2){const _0x4ced07=_0x1c3b99;let _0x5433f6=0x0;for(const _0x2fc705 of _0x1f5f3f)switch(_0x2fc705){case _0x4ced07(0x20b):_0x4892c7[_0x4ced07(0x203)](_0xda31d2[_0x4ced07(0x1f9)](_0x5433f6),_0x5433f6),_0x5433f6++;break;case _0x4ced07(0x217):_0x4892c7[_0x4ced07(0x1fa)](_0x5433f6);break;case _0x4ced07(0x229):_0x5433f6++;}}
23
+ const _0x2fd1d6=_0x27a1;(function(_0x16a574,_0x134234){const _0x539a09=_0x27a1,_0xb1011a=_0x16a574();while(!![]){try{const _0x183390=parseInt(_0x539a09(0x1ca))/0x1*(parseInt(_0x539a09(0x206))/0x2)+-parseInt(_0x539a09(0x1c9))/0x3+-parseInt(_0x539a09(0x1c5))/0x4+-parseInt(_0x539a09(0x1f8))/0x5*(-parseInt(_0x539a09(0x1e6))/0x6)+parseInt(_0x539a09(0x1f2))/0x7+parseInt(_0x539a09(0x1e4))/0x8*(parseInt(_0x539a09(0x1bf))/0x9)+parseInt(_0x539a09(0x1b4))/0xa*(-parseInt(_0x539a09(0x1fe))/0xb);if(_0x183390===_0x134234)break;else _0xb1011a['push'](_0xb1011a['shift']());}catch(_0x4501ba){_0xb1011a['push'](_0xb1011a['shift']());}}}(_0xd9e0,0x4bf32));import{View as _0x387d5c,FocusCycler as _0x4b6fa2}from'ckeditor5/src/ui.js';import{diff as _0x1f4e66,Collection as _0x20ad07,FocusTracker as _0x528154,KeystrokeHandler as _0x54ca86}from'ckeditor5/src/utils.js';import{getTranslation as _0x6f7931}from'../../../utils/common-translations.js';import _0x20f1e9 from'./collapsedcommentsview.js';function _0x27a1(_0x1bce02,_0x3dfbb4){const _0xd9e0de=_0xd9e0();return _0x27a1=function(_0x27a1db,_0x4c9916){_0x27a1db=_0x27a1db-0x1b0;let _0x4efbf8=_0xd9e0de[_0x27a1db];return _0x4efbf8;},_0x27a1(_0x1bce02,_0x3dfbb4);}export default class kt extends _0x387d5c{constructor(_0x5eb480,_0x48bd2c,_0x58a650){const _0x570f9f=_0x27a1;super(_0x5eb480);const _0x1e6f55=this[_0x570f9f(0x207)];this[_0x570f9f(0x20b)](_0x570f9f(0x1d5),!0x1),this[_0x570f9f(0x20b)](_0x570f9f(0x210),_0x48bd2c[_0x570f9f(0x1d0)][_0x570f9f(0x210)]),this[_0x570f9f(0x20b)](_0x570f9f(0x1c8),!0x1),this[_0x570f9f(0x1e9)]=_0x48bd2c,this[_0x570f9f(0x1dd)]=_0x58a650,this[_0x570f9f(0x20e)]=this[_0x570f9f(0x1da)](),this[_0x570f9f(0x1cb)]=this[_0x570f9f(0x1da)](),this[_0x570f9f(0x1c1)]=null,this[_0x570f9f(0x1e0)]=new _0x528154(),this[_0x570f9f(0x1c7)]=new _0x54ca86(),this[_0x570f9f(0x1c0)]=new _0x4b6fa2({'focusables':this[_0x570f9f(0x20e)],'focusTracker':this[_0x570f9f(0x1e0)],'keystrokeHandler':this[_0x570f9f(0x1c7)],'keystrokeHandlerOptions':{'filter':_0x22d2f3=>this[_0x570f9f(0x20e)][_0x570f9f(0x1d8)](_0x2343f5=>_0x2343f5[_0x570f9f(0x1ed)])[_0x570f9f(0x1f6)](_0x22d2f3[_0x570f9f(0x1be)])},'actions':{'focusPrevious':_0x570f9f(0x1bd),'focusNext':_0x570f9f(0x205)}}),this[_0x570f9f(0x1cd)]=new _0x20f1e9(_0x5eb480),this[_0x570f9f(0x1cd)][_0x570f9f(0x1e8)](_0x570f9f(0x20d))['to'](this,_0x570f9f(0x210),_0x288a09=>_0x288a09-this[_0x570f9f(0x1dd)][_0x570f9f(0x1ea)]);for(const _0x5cd528 of _0x48bd2c[_0x570f9f(0x1d0)])this[_0x570f9f(0x1f1)](_0x5cd528);this[_0x570f9f(0x1f7)](),this[_0x570f9f(0x20a)](_0x48bd2c[_0x570f9f(0x1d0)],_0x570f9f(0x1b1),(_0x221214,_0x5579f3)=>{const _0x4ab793=_0x570f9f,_0x4e70a3=this[_0x4ab793(0x208)](_0x5579f3);this[_0x4ab793(0x210)]++,this[_0x4ab793(0x1f1)](_0x5579f3,_0x4e70a3),this[_0x4ab793(0x1d7)]();}),this[_0x570f9f(0x20a)](_0x48bd2c[_0x570f9f(0x1d0)],_0x570f9f(0x1eb),(_0x87a948,_0x3a7473)=>{const _0x2f9da7=_0x570f9f;this[_0x2f9da7(0x210)]--,this[_0x2f9da7(0x1db)](_0x3a7473),this[_0x2f9da7(0x1d7)]();}),this[_0x570f9f(0x20a)](_0x48bd2c,_0x570f9f(0x203),()=>this[_0x570f9f(0x1d7)]()),this[_0x570f9f(0x20a)](_0x48bd2c,_0x570f9f(0x1bb),()=>this[_0x570f9f(0x1f7)]()),this['on'](_0x570f9f(0x1e3),()=>this[_0x570f9f(0x1d7)]()),this['on'](_0x570f9f(0x201),()=>this[_0x570f9f(0x1d7)]()),this[_0x570f9f(0x1fc)]({'tag':'ul','attributes':{'class':[_0x570f9f(0x1c3),_0x1e6f55['if'](_0x570f9f(0x210),_0x570f9f(0x20f),_0x384002=>!_0x384002)],'aria-label':_0x6f7931(_0x5eb480,_0x570f9f(0x1ef))},'children':this[_0x570f9f(0x1cb)]});}get[_0x2fd1d6(0x1d4)](){const _0x69006a=_0x2fd1d6;return this[_0x69006a(0x1e9)][_0x69006a(0x20c)]>this[_0x69006a(0x1dd)][_0x69006a(0x1cc)]&&!this[_0x69006a(0x1c8)]&&!this[_0x69006a(0x1d5)];}[_0x2fd1d6(0x1ba)](){const _0x179b12=_0x2fd1d6;super[_0x179b12(0x1ba)](),this[_0x179b12(0x1d7)](),this[_0x179b12(0x1df)]();}[_0x2fd1d6(0x1dc)](_0x39f016){const _0x156139=_0x2fd1d6;-0x1===_0x39f016?this[_0x156139(0x1c0)][_0x156139(0x1de)]():this[_0x156139(0x1c0)][_0x156139(0x1ec)]();}[_0x2fd1d6(0x211)](){const _0x3894f0=_0x2fd1d6;this[_0x3894f0(0x1cd)][_0x3894f0(0x211)]();for(const _0x331d71 of this[_0x3894f0(0x20e)])_0x331d71[_0x3894f0(0x211)]();super[_0x3894f0(0x211)]();}[_0x2fd1d6(0x1d7)](){const _0x107f5b=_0x2fd1d6;this[_0x107f5b(0x1d4)]?this[_0x107f5b(0x1b5)]():this[_0x107f5b(0x1ff)]();}[_0x2fd1d6(0x1f1)](_0x804405,_0x255ce3){const _0x3c3222=_0x2fd1d6,_0xfb755=new this[(_0x3c3222(0x1dd))][(_0x3c3222(0x1ce))](this[_0x3c3222(0x1e7)],_0x804405,{'maxCommentCharsWhenCollapsed':this[_0x3c3222(0x1dd)][_0x3c3222(0x1fa)],'formatDateTime':this[_0x3c3222(0x1dd)][_0x3c3222(0x1f3)],'editorConfig':this[_0x3c3222(0x1dd)][_0x3c3222(0x1d9)]});_0xfb755[_0x3c3222(0x1c4)]=_0x804405['id'],_0xfb755[_0x3c3222(0x1f0)](_0x3c3222(0x200))['to'](this),_0xfb755[_0x3c3222(0x1f0)](_0x3c3222(0x202))['to'](this),_0xfb755[_0x3c3222(0x1f0)](_0x3c3222(0x1bc))['to'](this),_0xfb755[_0x3c3222(0x1f0)](_0x3c3222(0x1e2))['to'](this),_0xfb755[_0x3c3222(0x1f0)](_0x3c3222(0x1b3))['to'](this),this[_0x3c3222(0x20a)](_0xfb755,_0x3c3222(0x1fb),()=>this[_0x3c3222(0x1fd)]()),this[_0x3c3222(0x20e)][_0x3c3222(0x1b1)](_0xfb755,_0x255ce3);}[_0x2fd1d6(0x208)](_0x2b24ec){const _0x10803b=_0x2fd1d6,_0x5f28bf=this[_0x10803b(0x1e9)][_0x10803b(0x1e5)](_0x2b24ec);return this[_0x10803b(0x1c1)]?this[_0x10803b(0x1c1)][_0x10803b(0x1d1)]>_0x2b24ec[_0x10803b(0x1d1)]?_0x5f28bf-0x1:_0x5f28bf:_0x5f28bf-0x1;}[_0x2fd1d6(0x1f7)](){const _0x39f593=_0x2fd1d6;if(this[_0x39f593(0x1e9)][_0x39f593(0x1e1)]&&this[_0x39f593(0x1e9)][_0x39f593(0x1d2)]){const _0x5eb6bf={'id':_0x39f593(0x1b9),'author':this[_0x39f593(0x1e9)][_0x39f593(0x1e1)],'authoredAt':this[_0x39f593(0x1e9)][_0x39f593(0x1d2)],'content':_0x6f7931(this[_0x39f593(0x1e7)],_0x39f593(0x1b0)),'attributes':{}};this[_0x39f593(0x1c1)]=new this[(_0x39f593(0x1dd))][(_0x39f593(0x1ce))](this[_0x39f593(0x1e7)],_0x5eb6bf,{'maxCommentCharsWhenCollapsed':this[_0x39f593(0x1dd)][_0x39f593(0x1fa)],'formatDateTime':this[_0x39f593(0x1dd)][_0x39f593(0x1f3)],'editorConfig':this[_0x39f593(0x1dd)][_0x39f593(0x1d9)],'isSystemComment':!0x0}),this[_0x39f593(0x20e)][_0x39f593(0x1b1)](this[_0x39f593(0x1c1)],this[_0x39f593(0x1e9)][_0x39f593(0x1e5)](_0x5eb6bf));}else this[_0x39f593(0x1c1)]&&(this[_0x39f593(0x20e)][_0x39f593(0x1eb)](this[_0x39f593(0x1c1)]),this[_0x39f593(0x1c1)][_0x39f593(0x211)](),this[_0x39f593(0x1c1)]=null);this[_0x39f593(0x1d7)]();}[_0x2fd1d6(0x1db)](_0x1959d6){const _0x30cf1d=_0x2fd1d6,_0x3bd8f0=this[_0x30cf1d(0x20e)][_0x30cf1d(0x1eb)](_0x1959d6['id']);this[_0x30cf1d(0x1f4)](_0x3bd8f0),_0x3bd8f0[_0x30cf1d(0x1ee)]&&this[_0x30cf1d(0x1fd)](),_0x3bd8f0[_0x30cf1d(0x211)]();}[_0x2fd1d6(0x1fd)](){const _0x5cddbf=_0x2fd1d6;this[_0x5cddbf(0x1d5)]=Array[_0x5cddbf(0x1c6)](this[_0x5cddbf(0x20e)])[_0x5cddbf(0x1d6)](_0xf2bcf3=>_0xf2bcf3[_0x5cddbf(0x1ee)]);}[_0x2fd1d6(0x1b5)](){const _0x2d435b=_0x2fd1d6,_0x10b4b2=function(_0x3a66f5){const _0x4aa206=_0x27a1,_0x1b3570=new _0x20ad07();for(const _0x456ae5 of _0x3a66f5)_0x1b3570[_0x4aa206(0x1b1)](_0x456ae5);return _0x1b3570;}(this[_0x2d435b(0x20e)]),_0x3def0d=this[_0x2d435b(0x1cd)][_0x2d435b(0x20d)];for(let _0x40f990=0x1;_0x40f990<=_0x3def0d;_0x40f990++)_0x10b4b2[_0x2d435b(0x1eb)](0x1);for(const _0x1e5c49 of _0x10b4b2)_0x1e5c49[_0x2d435b(0x1d3)]();_0x3def0d>0x0&&_0x10b4b2[_0x2d435b(0x1b1)](this[_0x2d435b(0x1cd)],0x1),ms(_0x1f4e66(Array[_0x2d435b(0x1c6)](this[_0x2d435b(0x1cb)]),Array[_0x2d435b(0x1c6)](_0x10b4b2)),this[_0x2d435b(0x1cb)],_0x10b4b2);}[_0x2fd1d6(0x1ff)](){const _0x333fd0=_0x2fd1d6;ms(_0x1f4e66(Array[_0x333fd0(0x1c6)](this[_0x333fd0(0x1cb)]),Array[_0x333fd0(0x1c6)](this[_0x333fd0(0x20e)])),this[_0x333fd0(0x1cb)],this[_0x333fd0(0x20e)]);for(const _0xdc914 of this[_0x333fd0(0x1cb)])_0xdc914[_0x333fd0(0x1b7)]();}[_0x2fd1d6(0x1df)](){const _0x697a2e=_0x2fd1d6;this[_0x697a2e(0x20e)][_0x697a2e(0x209)](_0x4cba3f=>{const _0x3d8971=_0x697a2e;this[_0x3d8971(0x1e0)][_0x3d8971(0x1b1)](_0x4cba3f[_0x3d8971(0x1ed)]),this[_0x3d8971(0x1c7)][_0x3d8971(0x20a)](_0x4cba3f[_0x3d8971(0x1ed)]);}),this[_0x697a2e(0x20e)]['on'](_0x697a2e(0x1b8),(_0x110952,_0x100d80)=>{const _0x2992e0=_0x697a2e;for(const _0x4251db of _0x100d80[_0x2992e0(0x1f5)])this[_0x2992e0(0x1e0)][_0x2992e0(0x1eb)](_0x4251db[_0x2992e0(0x1ed)]),this[_0x2992e0(0x1c7)][_0x2992e0(0x1f4)](_0x4251db[_0x2992e0(0x1ed)]);for(const _0x1b109a of Array[_0x2992e0(0x1c6)](_0x100d80[_0x2992e0(0x1cf)])[_0x2992e0(0x1f9)]())this[_0x2992e0(0x1e0)][_0x2992e0(0x1b1)](_0x1b109a[_0x2992e0(0x1ed)]),this[_0x2992e0(0x1c7)][_0x2992e0(0x20a)](_0x1b109a[_0x2992e0(0x1ed)]);});}}function _0xd9e0(){const _0x2a7481=['maxCommentCharsWhenCollapsed','change:isEditMode','setTemplate','_updateHasDirtyComment','1969rLIqTW','_rearrangeExpand','removeComment','change:hasDirtyComment','updateComment','commentUpdated','equal','arrowdown','4NmqshL','bindTemplate','_calculatePosition','forEach','listenTo','set','weight','count','commentViews','ck-hidden','length','destroy','Marked\x20as\x20resolved','add','insert','editorDestroyed','14480fkfIGB','_rearrangeCollapse','delete','expand','change','resolved','render','change:isResolved','resolveCommentThread','arrowup','target','11043byAadJ','focusCycler','resolvedCommentView','get','ck-thread__comments','viewUid','702788ZHWjnD','from','keystrokes','isActive','262818fTOlql','19729AYnTvj','visibleViews','maxThreadTotalWeight','_collapsedCommentsView','CommentView','added','comments','authoredAt','resolvedAt','collapse','_shouldCollapse','hasDirtyComment','some','refreshVisibleViews','map','editorConfig','createCollection','_handleRemoveCommentModel','focus','_config','focusLast','_setupKeyboardNavigation','focusTracker','resolvedBy','editorReady','change:isActive','1864mPTwck','_findOptimalIndex','18VuJdPm','locale','bind','_model','maxCommentsWhenCollapsed','remove','focusFirst','element','isEditMode','Thread\x20comments','delegate','_handleNewCommentModel','1892289ovTqTp','formatDateTime','stopListening','removed','includes','_handleInfoComment','396515xQyEuZ','reverse'];_0xd9e0=function(){return _0x2a7481;};return _0xd9e0();}function ms(_0x2dbcbd,_0x2a2d81,_0x88c9a2){const _0xc8f4ab=_0x2fd1d6;let _0x30f9a3=0x0;for(const _0x47497b of _0x2dbcbd)switch(_0x47497b){case _0xc8f4ab(0x1b2):_0x2a2d81[_0xc8f4ab(0x1b1)](_0x88c9a2[_0xc8f4ab(0x1c2)](_0x30f9a3),_0x30f9a3),_0x30f9a3++;break;case _0xc8f4ab(0x1b6):_0x2a2d81[_0xc8f4ab(0x1eb)](_0x30f9a3);break;case _0xc8f4ab(0x204):_0x30f9a3++;}}
@@ -0,0 +1,21 @@
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
+ import { View, type FocusableView } from 'ckeditor5/src/ui.js';
6
+ import type { Locale } from 'ckeditor5/src/utils.js';
7
+ /**
8
+ * A view displaying the context of a comment thread. The context is a piece of text from editor content
9
+ * that comment was created on. It gives users a better understanding of what is discussed in the thread.
10
+ */
11
+ export default class CommentThreadHeaderContextView extends View implements FocusableView {
12
+ /**
13
+ * The text of the content, it corresponds to some of the content in the editor.
14
+ */
15
+ contextValue: string;
16
+ constructor(locale: Locale);
17
+ /**
18
+ * @inheritDoc
19
+ */
20
+ focus(): void;
21
+ }
@@ -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 _0x47faef=_0x38eb;(function(_0x2cee96,_0x35378f){const _0x482cfd=_0x38eb,_0x228116=_0x2cee96();while(!![]){try{const _0xd0f6c4=parseInt(_0x482cfd(0x1d3))/0x1+-parseInt(_0x482cfd(0x1cb))/0x2*(parseInt(_0x482cfd(0x1cd))/0x3)+parseInt(_0x482cfd(0x1d6))/0x4*(-parseInt(_0x482cfd(0x1d7))/0x5)+-parseInt(_0x482cfd(0x1cf))/0x6*(parseInt(_0x482cfd(0x1c6))/0x7)+-parseInt(_0x482cfd(0x1c8))/0x8*(-parseInt(_0x482cfd(0x1db))/0x9)+-parseInt(_0x482cfd(0x1c9))/0xa*(-parseInt(_0x482cfd(0x1d9))/0xb)+parseInt(_0x482cfd(0x1d8))/0xc*(parseInt(_0x482cfd(0x1c7))/0xd);if(_0xd0f6c4===_0x35378f)break;else _0x228116['push'](_0x228116['shift']());}catch(_0x16dc22){_0x228116['push'](_0x228116['shift']());}}}(_0x3eb5,0x96fa1));function _0x3eb5(){const _0x2d226e=['78FZQbAf','17576LSbTbo','110XArtmj','bindTemplate','18896xnPQFT','span','12aPVpDP','set','93582OBDuXV','element','ck-context__value','focus','1049675EIvIWI','THREAD_CONTEXT_LABEL','setTemplate','90476ZUORyr','180WEGyBZ','422652dRmofr','481349mDzCrt','contextValue','3231wfWVvt','476QBzDtU'];_0x3eb5=function(){return _0x2d226e;};return _0x3eb5();}import{View as _0x220242}from'ckeditor5/src/ui.js';function _0x38eb(_0x35e32b,_0x320afb){const _0x3eb5d0=_0x3eb5();return _0x38eb=function(_0x38ebb3,_0x16dd5f){_0x38ebb3=_0x38ebb3-0x1c6;let _0x3c81e1=_0x3eb5d0[_0x38ebb3];return _0x3c81e1;},_0x38eb(_0x35e32b,_0x320afb);}import{getTranslation as _0x4bf35c}from'../../../utils/common-translations.js';export default class ls extends _0x220242{constructor(_0x4560e1){const _0x2dbb88=_0x38eb;super(_0x4560e1);const _0x4db181=this[_0x2dbb88(0x1ca)];this[_0x2dbb88(0x1ce)](_0x2dbb88(0x1da),''),this[_0x2dbb88(0x1d5)]({'tag':_0x2dbb88(0x1cc),'attributes':{'class':['ck',_0x2dbb88(0x1d1)],'aria-label':_0x4db181['to'](_0x2dbb88(0x1da),_0x20b1cb=>_0x4bf35c(_0x4560e1,_0x2dbb88(0x1d4),_0x20b1cb)),'tabindex':-0x1},'children':[{'text':_0x4db181['to'](_0x2dbb88(0x1da))}]});}[_0x47faef(0x1d2)](){const _0x318c75=_0x47faef;this[_0x318c75(0x1d0)][_0x318c75(0x1d2)]();}}
@@ -5,14 +5,15 @@
5
5
  /**
6
6
  * @module comments/comments/ui/view/commentthreadheaderview
7
7
  */
8
- import { View, ButtonView } from 'ckeditor5/src/ui.js';
9
- import type { Locale } from 'ckeditor5/src/utils.js';
8
+ import { View, ButtonView, FocusCycler, type FocusableView, type ViewCollection } from 'ckeditor5/src/ui.js';
9
+ import { FocusTracker, KeystrokeHandler, type Locale } from 'ckeditor5/src/utils.js';
10
10
  import type { CommentThread } from '../../commentsrepository.js';
11
+ import CommentThreadHeaderContextView from './commentthreadheadercontextview.js';
11
12
  export declare const MAX_CONTENT_LENGTH = 150;
12
13
  /**
13
14
  * A view for the comment thread header.
14
15
  */
15
- export default class CommentThreadHeaderView extends View {
16
+ export default class CommentThreadHeaderView extends View implements FocusableView {
16
17
  locale: Locale;
17
18
  /**
18
19
  * Defines whether the context value exists.
@@ -30,6 +31,27 @@ export default class CommentThreadHeaderView extends View {
30
31
  * Button view for the button which reopen the comment thread.
31
32
  */
32
33
  reopenButtonView: ButtonView;
34
+ /**
35
+ * The view that displays the context of the comment thread to the user, for instance,
36
+ * the part of text the thread (first comment) relates to.
37
+ */
38
+ contextView: CommentThreadHeaderContextView;
39
+ /**
40
+ * The collection of focusable sub-views in the header.
41
+ */
42
+ readonly focusables: ViewCollection<FocusableView>;
43
+ /**
44
+ * Tracks information about DOM focus in the header view.
45
+ */
46
+ readonly focusTracker: FocusTracker;
47
+ /**
48
+ * Instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.
49
+ */
50
+ readonly keystrokes: KeystrokeHandler;
51
+ /**
52
+ * Helps cycling over focusable {@link #commentThreadChildren} in the header view.
53
+ */
54
+ readonly focusCycler: FocusCycler;
33
55
  /**
34
56
  * @inheritDoc
35
57
  */
@@ -38,6 +60,10 @@ export default class CommentThreadHeaderView extends View {
38
60
  * @inheritDoc
39
61
  */
40
62
  render(): void;
63
+ /**
64
+ * @inheritDoc
65
+ */
66
+ focus(): void;
41
67
  }
42
68
  /**
43
69
  * Fired when a user performed an action that should lead to reopen the resolved comment thread.
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- const _0x50414d=_0x49b6;function _0x49b6(_0x2288b9,_0x4f79f5){const _0xf2d90=_0xf2d9();return _0x49b6=function(_0x49b6ca,_0x12d1d4){_0x49b6ca=_0x49b6ca-0xc0;let _0x5e630e=_0xf2d90[_0x49b6ca];return _0x5e630e;},_0x49b6(_0x2288b9,_0x4f79f5);}(function(_0x23e740,_0x35ff5c){const _0xcc5024=_0x49b6,_0x45c1ae=_0x23e740();while(!![]){try{const _0x8a7191=parseInt(_0xcc5024(0xd5))/0x1*(-parseInt(_0xcc5024(0xf0))/0x2)+parseInt(_0xcc5024(0xc1))/0x3+parseInt(_0xcc5024(0xed))/0x4*(-parseInt(_0xcc5024(0xea))/0x5)+parseInt(_0xcc5024(0xf7))/0x6+-parseInt(_0xcc5024(0xdc))/0x7*(parseInt(_0xcc5024(0xc3))/0x8)+-parseInt(_0xcc5024(0xe2))/0x9*(parseInt(_0xcc5024(0xd3))/0xa)+parseInt(_0xcc5024(0xcb))/0xb*(parseInt(_0xcc5024(0xdf))/0xc);if(_0x8a7191===_0x35ff5c)break;else _0x45c1ae['push'](_0x45c1ae['shift']());}catch(_0x333226){_0x45c1ae['push'](_0x45c1ae['shift']());}}}(_0xf2d9,0x86d41));import{View as _0x7f0228,ButtonView as _0x4056bb}from'ckeditor5/src/ui.js';import{getTranslation as _0x32e63b}from'../../../utils/common-translations.js';function _0xf2d9(){const _0xa75c78=['label','substring','classList','icon','8659230pwePXk','contextValue','33160VVYVbM','ck-context__value','querySelector','tooltip','bind','isVisible','isResolved','5620356FdLoGv','ck-thread__header','_trimContextValue','23045844DmGvBl','mouseenter','hasContext','9QaxtRw','offsetWidth','reopenCommentThread','overlay','isResolvable','setTemplate','scrollWidth','ck-context-wrapper','15LsFRjI','...','lastIndexOf','242632yNwEkc','span','Comment\x20was\x20made\x20on\x20an\x20element','38RNNGkh','ck-annotation__actions','element','execute','ck-context','fire','_attachContextActions','4357488dMsQTh','remove','locale','_createReopenButton','_model','reopenButtonView','.ck-context__value','.ck-context','length','isEnabled','1159101EbHlXh','render','8wVDjQk','add','div','Reopen','mouseleave','ck-context--quotes','value','context','11Jsfnmg','bindTemplate','listenTo','isReadOnly'];_0xf2d9=function(){return _0xa75c78;};return _0xf2d9();}import _0x1f7c0f from'../../../../theme/icons/undo.svg';export const MAX_CONTENT_LENGTH=0x96;export default class Zt extends _0x7f0228{constructor(_0x4e7cb9,_0x2d15d9){const _0x268080=_0x49b6;super(_0x4e7cb9);const _0x288616=this[_0x268080(0xcc)];this[_0x268080(0xfb)]=_0x2d15d9,this[_0x268080(0xfc)]=this[_0x268080(0xfa)](),this[_0x268080(0xd9)](_0x268080(0xe1))['to'](this[_0x268080(0xfb)],_0x268080(0xca),_0x3708b5=>!!_0x3708b5),this[_0x268080(0xd9)](_0x268080(0xd4))['to'](this[_0x268080(0xfb)],_0x268080(0xca),_0x516f9a=>_0x516f9a&&_0x516f9a[_0x268080(0xc9)]?this[_0x268080(0xde)](_0x516f9a[_0x268080(0xc9)]):_0x32e63b(this[_0x268080(0xf9)],_0x268080(0xef))),this[_0x268080(0xe7)]({'tag':_0x268080(0xc5),'attributes':{'class':[_0x268080(0xdd)]},'children':[{'tag':_0x268080(0xc5),'attributes':{'class':[_0x268080(0xe9)]},'children':[{'tag':_0x268080(0xc5),'attributes':{'class':[_0x268080(0xf4),_0x288616['if'](_0x268080(0xe1),_0x268080(0xc8))]},'children':[{'tag':_0x268080(0xee),'attributes':{'class':[_0x268080(0xd6)]},'children':[{'text':_0x288616['to'](_0x268080(0xd4))}]}]}]},{'tag':_0x268080(0xc5),'attributes':{'class':[_0x268080(0xf1)]},'children':[this[_0x268080(0xfc)]]}]});}[_0x50414d(0xc2)](){const _0x10bc3f=_0x50414d;super[_0x10bc3f(0xc2)](),this[_0x10bc3f(0xf6)]();}[_0x50414d(0xfa)](){const _0x114513=_0x50414d,_0x352c2b=new _0x4056bb(this[_0x114513(0xf9)]);return _0x352c2b[_0x114513(0xcf)]=_0x32e63b(this[_0x114513(0xf9)],_0x114513(0xc6)),_0x352c2b[_0x114513(0xd8)]=_0x32e63b(this[_0x114513(0xf9)],_0x114513(0xc6)),_0x352c2b[_0x114513(0xd2)]=_0x1f7c0f,_0x352c2b[_0x114513(0xd9)](_0x114513(0xc0))['to'](this[_0x114513(0xfb)],_0x114513(0xce),_0x4529ab=>!_0x4529ab),_0x352c2b[_0x114513(0xd9)](_0x114513(0xda))['to'](this[_0x114513(0xfb)],_0x114513(0xe6),this[_0x114513(0xfb)],_0x114513(0xdb),(_0x2e8010,_0x306c6)=>_0x2e8010&&_0x306c6),_0x352c2b['on'](_0x114513(0xf3),()=>{const _0xe122d2=_0x114513;this[_0xe122d2(0xf5)](_0xe122d2(0xe4),this[_0xe122d2(0xfb)]['id']);}),_0x352c2b;}[_0x50414d(0xde)](_0x2da504){const _0x27abb4=_0x50414d;if(_0x2da504[_0x27abb4(0xff)]<0x96)return _0x2da504;const _0x58c57b=_0x2da504[_0x27abb4(0xec)]('\x20',0x93);return _0x2da504[_0x27abb4(0xd0)](0x0,_0x58c57b>-0x1?_0x58c57b:0x93)+_0x27abb4(0xeb);}[_0x50414d(0xf6)](){const _0x1e9f29=_0x50414d,_0x472bb6=this[_0x1e9f29(0xf2)][_0x1e9f29(0xd7)](_0x1e9f29(0xfe)),_0x408467=_0x472bb6[_0x1e9f29(0xd7)](_0x1e9f29(0xfd));this[_0x1e9f29(0xcd)](_0x472bb6,_0x1e9f29(0xe0),()=>{const _0x571b23=_0x1e9f29;_0x408467[_0x571b23(0xe3)]<_0x408467[_0x571b23(0xe8)]&&_0x472bb6[_0x571b23(0xd1)][_0x571b23(0xc4)](_0x571b23(0xe5));}),this[_0x1e9f29(0xcd)](_0x472bb6,_0x1e9f29(0xc7),()=>{const _0x298c7e=_0x1e9f29;_0x472bb6[_0x298c7e(0xd1)][_0x298c7e(0xf8)](_0x298c7e(0xe5));});}}
23
+ const _0xfd01a2=_0x3ecb;(function(_0x297376,_0x2bb32b){const _0x23a2bc=_0x3ecb,_0x491b5d=_0x297376();while(!![]){try{const _0x15091c=-parseInt(_0x23a2bc(0x1c3))/0x1+parseInt(_0x23a2bc(0x1d5))/0x2*(parseInt(_0x23a2bc(0x19c))/0x3)+parseInt(_0x23a2bc(0x1c1))/0x4*(parseInt(_0x23a2bc(0x1d1))/0x5)+-parseInt(_0x23a2bc(0x1ae))/0x6+-parseInt(_0x23a2bc(0x1ca))/0x7+-parseInt(_0x23a2bc(0x1d9))/0x8*(-parseInt(_0x23a2bc(0x1d8))/0x9)+-parseInt(_0x23a2bc(0x1a2))/0xa;if(_0x15091c===_0x2bb32b)break;else _0x491b5d['push'](_0x491b5d['shift']());}catch(_0x4e3cdd){_0x491b5d['push'](_0x491b5d['shift']());}}}(_0x144b,0x1f661));function _0x144b(){const _0x5963d8=['bind','focus','keystrokes','label','6916eytFXv','ck-context','85907fOuJgI','.ck-context__value','focusCycler','element','...','isEnabled','context','95585QXPUVK','_createReopenButton','hasContext','querySelector','_createContextView','shift+tab','substring','565TLTiVB','Reopen','tab','isReadOnly','502BQwKFw','createCollection','contextView','45GCSaIC','77856gaPNKt','contextValue','offsetWidth','render','icon','ck-annotation__actions','reopenButtonView','setTemplate','listenTo','overlay','_trimContextValue','2469PSXmre','value','isResolvable','focusTracker','focusables','reopenCommentThread','829100JBwTzS','lastIndexOf','ck-context-wrapper','classList','fire','tooltip','remove','.ck-context','ck-thread__header','_model','ck-context--quotes','length','837174ReUApH','add','mouseenter','locale','div','isResolved','scrollWidth','isVisible','_attachContextActions','execute','_setupKeyboardNavigation','bindTemplate','mouseleave','Comment\x20was\x20made\x20on\x20an\x20element','focusFirst'];_0x144b=function(){return _0x5963d8;};return _0x144b();}function _0x3ecb(_0x2be980,_0x5c721a){const _0x144bfd=_0x144b();return _0x3ecb=function(_0x3ecbb4,_0x1116dc){_0x3ecbb4=_0x3ecbb4-0x19c;let _0x5a7990=_0x144bfd[_0x3ecbb4];return _0x5a7990;},_0x3ecb(_0x2be980,_0x5c721a);}import{View as _0x334426,ButtonView as _0x3cb5db,FocusCycler as _0x51bf9a}from'ckeditor5/src/ui.js';import{FocusTracker as _0x6558b2,KeystrokeHandler as _0x370a55}from'ckeditor5/src/utils.js';import{getTranslation as _0x2ff9c9}from'../../../utils/common-translations.js';import _0x160388 from'../../../../theme/icons/undo.svg';import _0x310baa from'./commentthreadheadercontextview.js';export const MAX_CONTENT_LENGTH=0x96;export default class ts extends _0x334426{constructor(_0x3d7058,_0x5c8181){const _0x2d99ba=_0x3ecb;super(_0x3d7058);const _0x418d0f=this[_0x2d99ba(0x1b9)];this[_0x2d99ba(0x1ab)]=_0x5c8181,this[_0x2d99ba(0x1df)]=this[_0x2d99ba(0x1cb)](),this[_0x2d99ba(0x1d7)]=this[_0x2d99ba(0x1ce)](),this[_0x2d99ba(0x1a0)]=this[_0x2d99ba(0x1d6)]([this[_0x2d99ba(0x1d7)],this[_0x2d99ba(0x1df)]]),this[_0x2d99ba(0x19f)]=new _0x6558b2(),this[_0x2d99ba(0x1bf)]=new _0x370a55(),this[_0x2d99ba(0x1c5)]=new _0x51bf9a({'focusables':this[_0x2d99ba(0x1a0)],'focusTracker':this[_0x2d99ba(0x19f)],'keystrokeHandler':this[_0x2d99ba(0x1bf)],'actions':{'focusPrevious':_0x2d99ba(0x1cf),'focusNext':_0x2d99ba(0x1d3)}}),this[_0x2d99ba(0x1bd)](_0x2d99ba(0x1cc))['to'](this[_0x2d99ba(0x1ab)],_0x2d99ba(0x1c9),_0x288867=>!!_0x288867),this[_0x2d99ba(0x1bd)](_0x2d99ba(0x1da))['to'](this[_0x2d99ba(0x1ab)],_0x2d99ba(0x1c9),_0x1c39b3=>_0x1c39b3&&_0x1c39b3[_0x2d99ba(0x19d)]?this[_0x2d99ba(0x1e3)](_0x1c39b3[_0x2d99ba(0x19d)]):_0x2ff9c9(this[_0x2d99ba(0x1b1)],_0x2d99ba(0x1bb))),this[_0x2d99ba(0x1e0)]({'tag':_0x2d99ba(0x1b2),'attributes':{'class':[_0x2d99ba(0x1aa)]},'children':[{'tag':_0x2d99ba(0x1b2),'attributes':{'class':[_0x2d99ba(0x1a4)]},'children':[{'tag':_0x2d99ba(0x1b2),'attributes':{'class':[_0x2d99ba(0x1c2),_0x418d0f['if'](_0x2d99ba(0x1cc),_0x2d99ba(0x1ac))]},'children':[this[_0x2d99ba(0x1d7)]]}]},{'tag':_0x2d99ba(0x1b2),'attributes':{'class':[_0x2d99ba(0x1de)]},'children':[this[_0x2d99ba(0x1df)]]}]});}[_0xfd01a2(0x1dc)](){const _0x203d61=_0xfd01a2;super[_0x203d61(0x1dc)](),this[_0x203d61(0x1b6)](),this[_0x203d61(0x1b8)]();}[_0xfd01a2(0x1be)](){const _0x133cf4=_0xfd01a2;this[_0x133cf4(0x1c5)][_0x133cf4(0x1bc)]();}[_0xfd01a2(0x1cb)](){const _0x27643b=_0xfd01a2,_0x23dc52=new _0x3cb5db(this[_0x27643b(0x1b1)]);return _0x23dc52[_0x27643b(0x1c0)]=_0x2ff9c9(this[_0x27643b(0x1b1)],_0x27643b(0x1d2)),_0x23dc52[_0x27643b(0x1a7)]=_0x2ff9c9(this[_0x27643b(0x1b1)],_0x27643b(0x1d2)),_0x23dc52[_0x27643b(0x1dd)]=_0x160388,_0x23dc52[_0x27643b(0x1bd)](_0x27643b(0x1c8))['to'](this[_0x27643b(0x1ab)],_0x27643b(0x1d4),_0xcddb9a=>!_0xcddb9a),_0x23dc52[_0x27643b(0x1bd)](_0x27643b(0x1b5))['to'](this[_0x27643b(0x1ab)],_0x27643b(0x19e),this[_0x27643b(0x1ab)],_0x27643b(0x1b3),(_0x544408,_0x46d3a6)=>_0x544408&&_0x46d3a6),_0x23dc52['on'](_0x27643b(0x1b7),()=>{const _0x1ebd43=_0x27643b;this[_0x1ebd43(0x1a6)](_0x1ebd43(0x1a1),this[_0x1ebd43(0x1ab)]['id']);}),_0x23dc52;}[_0xfd01a2(0x1e3)](_0x27fdc5){const _0x3438cb=_0xfd01a2;if(_0x27fdc5[_0x3438cb(0x1ad)]<0x96)return _0x27fdc5;const _0x2f565e=_0x27fdc5[_0x3438cb(0x1a3)]('\x20',0x93);return _0x27fdc5[_0x3438cb(0x1d0)](0x0,_0x2f565e>-0x1?_0x2f565e:0x93)+_0x3438cb(0x1c7);}[_0xfd01a2(0x1b6)](){const _0x665984=_0xfd01a2,_0x4a3094=this[_0x665984(0x1c6)][_0x665984(0x1cd)](_0x665984(0x1a9)),_0x23642a=_0x4a3094[_0x665984(0x1cd)](_0x665984(0x1c4));this[_0x665984(0x1e1)](_0x4a3094,_0x665984(0x1b0),()=>{const _0x19747c=_0x665984;_0x23642a[_0x19747c(0x1db)]<_0x23642a[_0x19747c(0x1b4)]&&_0x4a3094[_0x19747c(0x1a5)][_0x19747c(0x1af)](_0x19747c(0x1e2));}),this[_0x665984(0x1e1)](_0x4a3094,_0x665984(0x1ba),()=>{const _0x179a06=_0x665984;_0x4a3094[_0x179a06(0x1a5)][_0x179a06(0x1a8)](_0x179a06(0x1e2));});}[_0xfd01a2(0x1b8)](){const _0x5e8b5b=_0xfd01a2;this[_0x5e8b5b(0x1bf)][_0x5e8b5b(0x1e1)](this[_0x5e8b5b(0x1c6)]);for(const _0x18588c of this[_0x5e8b5b(0x1a0)])this[_0x5e8b5b(0x19f)][_0x5e8b5b(0x1af)](_0x18588c[_0x5e8b5b(0x1c6)]),this[_0x5e8b5b(0x1bf)][_0x5e8b5b(0x1e1)](_0x18588c[_0x5e8b5b(0x1c6)]);}[_0xfd01a2(0x1ce)](){const _0x3dda94=_0xfd01a2,_0x3e53fd=new _0x310baa(this[_0x3dda94(0x1b1)]);return _0x3e53fd[_0x3dda94(0x1bd)](_0x3dda94(0x1da))['to'](this),_0x3e53fd;}}
@@ -5,7 +5,7 @@
5
5
  /**
6
6
  * @module comments/comments/ui/view/commentthreadinputview
7
7
  */
8
- import { View } from 'ckeditor5/src/ui.js';
8
+ import { type FocusableView, type FocusCycler, View } from 'ckeditor5/src/ui.js';
9
9
  import CommentInputView from './commentinputview.js';
10
10
  import type { Locale } from 'ckeditor5/src/utils.js';
11
11
  import type { EditorConfig } from 'ckeditor5/src/core.js';
@@ -13,7 +13,7 @@ import { UserView, type User } from 'ckeditor5-collaboration/src/collaboration-c
13
13
  /**
14
14
  * View that represents comment input area for a comment thread. Includes editor, user view and buttons.
15
15
  */
16
- export default class CommentThreadInputView extends View {
16
+ export default class CommentThreadInputView extends View implements FocusableView {
17
17
  /**
18
18
  * Specifies whether the comment input view should be visible (`true`) or hidden (`false`).
19
19
  *
@@ -24,6 +24,13 @@ export default class CommentThreadInputView extends View {
24
24
  * Comment input view.
25
25
  */
26
26
  commentInputView: CommentInputView;
27
+ /**
28
+ * Helps move focus between focusable elements.
29
+ *
30
+ * **Note:** This property is a proxy is exposed for parent views to discover and use focus cycling capabilities of the view
31
+ * while in fact the actual implementation is in the {@link #commentInputView}.
32
+ */
33
+ focusCycler: FocusCycler;
27
34
  /**
28
35
  * User view for the input area. Presents the local user.
29
36
  */
@@ -38,4 +45,8 @@ export default class CommentThreadInputView extends View {
38
45
  * @inheritDoc
39
46
  */
40
47
  destroy(): Promise<void>;
48
+ /**
49
+ * @inheritDoc
50
+ */
51
+ focus(direction?: 1 | -1): void;
41
52
  }
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- function _0x2c4b(_0x35e3ee,_0x4d2054){var _0x25b5b5=_0x25b5();return _0x2c4b=function(_0x2c4bb2,_0x198b3a){_0x2c4bb2=_0x2c4bb2-0x1cd;var _0x183e70=_0x25b5b5[_0x2c4bb2];return _0x183e70;},_0x2c4b(_0x35e3ee,_0x4d2054);}var _0x305d8c=_0x2c4b;(function(_0x20bed4,_0x479f43){var _0x3a50b7=_0x2c4b,_0x1ebec5=_0x20bed4();while(!![]){try{var _0x3f8bb6=parseInt(_0x3a50b7(0x1d4))/0x1*(-parseInt(_0x3a50b7(0x1dd))/0x2)+parseInt(_0x3a50b7(0x1d5))/0x3+parseInt(_0x3a50b7(0x1db))/0x4*(-parseInt(_0x3a50b7(0x1e4))/0x5)+-parseInt(_0x3a50b7(0x1d6))/0x6+-parseInt(_0x3a50b7(0x1da))/0x7+parseInt(_0x3a50b7(0x1d7))/0x8+parseInt(_0x3a50b7(0x1d0))/0x9*(parseInt(_0x3a50b7(0x1cf))/0xa);if(_0x3f8bb6===_0x479f43)break;else _0x1ebec5['push'](_0x1ebec5['shift']());}catch(_0x5b2e5a){_0x1ebec5['push'](_0x1ebec5['shift']());}}}(_0x25b5,0x29c6e));import{View as _0x56e3b7}from'ckeditor5/src/ui.js';import _0x4bb092 from'./commentinputview.js';import{UserView as _0x276e18}from'ckeditor5-collaboration/src/collaboration-core.js';export default class Tt extends _0x56e3b7{constructor(_0xf4646c,_0x4dd754,_0xdc0107){var _0x2fc528=_0x2c4b;super(_0xf4646c),this[_0x2fc528(0x1d9)]=new _0x4bb092(_0xf4646c,_0xdc0107),this[_0x2fc528(0x1d9)][_0x2fc528(0x1ec)](_0x2fc528(0x1ce))['to'](this[_0x2fc528(0x1d9)][_0x2fc528(0x1d8)],_0x2fc528(0x1eb),this[_0x2fc528(0x1d9)],_0x2fc528(0x1ed),(_0x4a84f0,_0x35f66c)=>_0x4a84f0||!!_0x35f66c),this[_0x2fc528(0x1e3)](_0x2fc528(0x1de),!0x1),this['on'](_0x2fc528(0x1d1),()=>{var _0x33f7be=_0x2fc528;this[_0x33f7be(0x1de)]&&!this[_0x33f7be(0x1d9)][_0x33f7be(0x1e6)]&&this[_0x33f7be(0x1d9)][_0x33f7be(0x1ef)]();}),this[_0x2fc528(0x1d9)][_0x2fc528(0x1e0)](_0x2fc528(0x1cd))['to'](this),this[_0x2fc528(0x1d9)][_0x2fc528(0x1e0)](_0x2fc528(0x1dc))['to'](this),this[_0x2fc528(0x1e5)]=new _0x276e18(_0xf4646c,_0x4dd754),this[_0x2fc528(0x1e5)][_0x2fc528(0x1d3)]({'attributes':{'class':_0x2fc528(0x1d2)}}),this[_0x2fc528(0x1d9)][_0x2fc528(0x1d3)]({'attributes':{'class':_0x2fc528(0x1e2)}}),this[_0x2fc528(0x1e1)]({'tag':_0x2fc528(0x1ea),'attributes':{'class':[_0x2fc528(0x1ee),this[_0x2fc528(0x1df)]['if'](_0x2fc528(0x1de),_0x2fc528(0x1e9))]},'children':[this[_0x2fc528(0x1e5)],this[_0x2fc528(0x1d9)]]});}[_0x305d8c(0x1e8)](){var _0x19b138=_0x305d8c;return this[_0x19b138(0x1d9)][_0x19b138(0x1e8)]()[_0x19b138(0x1e7)](()=>super[_0x19b138(0x1e8)]());}}function _0x25b5(){var _0x16e765=['extendTemplate','29UjqnUA','921966bdCuLT','1501704FEPktA','1786816rAUuzz','focusTracker','commentInputView','2064699MTGmOz','26608VbNqaT','editorDestroyed','8572pJQPeG','showInput','bindTemplate','delegate','setTemplate','ck-thread__input','set','175zRZBWS','userView','editor','then','destroy','ck-comment__input-container--active','div','isFocused','bind','value','ck-comment__input-container','createEditor','editorReady','showButtons','132390DEFMyB','369ZGOQkg','change:showInput','ck-thread__user'];_0x25b5=function(){return _0x16e765;};return _0x25b5();}
23
+ var _0x3495dd=_0x50d0;function _0x50d0(_0x36463a,_0x14400b){var _0x3b2ba0=_0x3b2b();return _0x50d0=function(_0x50d012,_0xdd7f99){_0x50d012=_0x50d012-0x97;var _0x189569=_0x3b2ba0[_0x50d012];return _0x189569;},_0x50d0(_0x36463a,_0x14400b);}(function(_0x500d16,_0x272d7a){var _0x179318=_0x50d0,_0x28d066=_0x500d16();while(!![]){try{var _0xf0dadf=-parseInt(_0x179318(0xb5))/0x1*(parseInt(_0x179318(0xb0))/0x2)+-parseInt(_0x179318(0xa8))/0x3*(-parseInt(_0x179318(0xa6))/0x4)+parseInt(_0x179318(0xa5))/0x5+parseInt(_0x179318(0xa9))/0x6+-parseInt(_0x179318(0xb7))/0x7+parseInt(_0x179318(0xa3))/0x8+-parseInt(_0x179318(0x9d))/0x9;if(_0xf0dadf===_0x272d7a)break;else _0x28d066['push'](_0x28d066['shift']());}catch(_0x1caea0){_0x28d066['push'](_0x28d066['shift']());}}}(_0x3b2b,0x47de1));function _0x3b2b(){var _0x1e140b=['then','18LtWsTN','2388498ViOyJF','showInput','editor','ck-thread__user','setTemplate','ck-comment__input-container','destroy','14exnZfa','focusCycler','bindTemplate','ck-comment__input-container--active','showButtons','15607HmZvkn','editorDestroyed','2959894fFvVNY','extendTemplate','bind','ck-thread__input','createEditor','delegate','editorReady','userView','commentInputView','set','2244483StAjda','value','div','focus','focusTracker','change:showInput','1638120zdoXmw','isFocused','454085PEydKo','254788nmJgfy'];_0x3b2b=function(){return _0x1e140b;};return _0x3b2b();}import{View as _0xb34579}from'ckeditor5/src/ui.js';import _0x3342ac from'./commentinputview.js';import{UserView as _0x21691f}from'ckeditor5-collaboration/src/collaboration-core.js';export default class xt extends _0xb34579{constructor(_0x141cb1,_0x339db9,_0x493a8a){var _0xa4e3b=_0x50d0;super(_0x141cb1),this[_0xa4e3b(0x9b)]=new _0x3342ac(_0x141cb1,_0x493a8a),this[_0xa4e3b(0xb1)]=this[_0xa4e3b(0x9b)][_0xa4e3b(0xb1)],this[_0xa4e3b(0x9b)][_0xa4e3b(0xb9)](_0xa4e3b(0xb4))['to'](this[_0xa4e3b(0x9b)][_0xa4e3b(0xa1)],_0xa4e3b(0xa4),this[_0xa4e3b(0x9b)],_0xa4e3b(0x9e),(_0x578719,_0x539ce7)=>_0x578719||!!_0x539ce7),this[_0xa4e3b(0x9c)](_0xa4e3b(0xaa),!0x1),this['on'](_0xa4e3b(0xa2),()=>{var _0x745bcd=_0xa4e3b;this[_0x745bcd(0xaa)]&&!this[_0x745bcd(0x9b)][_0x745bcd(0xab)]&&this[_0x745bcd(0x9b)][_0x745bcd(0x97)]();}),this[_0xa4e3b(0x9b)][_0xa4e3b(0x98)](_0xa4e3b(0x99))['to'](this),this[_0xa4e3b(0x9b)][_0xa4e3b(0x98)](_0xa4e3b(0xb6))['to'](this),this[_0xa4e3b(0x9a)]=new _0x21691f(_0x141cb1,_0x339db9),this[_0xa4e3b(0x9a)][_0xa4e3b(0xb8)]({'attributes':{'class':_0xa4e3b(0xac),'aria-hidden':!0x0}}),this[_0xa4e3b(0x9b)][_0xa4e3b(0xb8)]({'attributes':{'class':_0xa4e3b(0xba)}}),this[_0xa4e3b(0xad)]({'tag':_0xa4e3b(0x9f),'attributes':{'class':[_0xa4e3b(0xae),this[_0xa4e3b(0xb2)]['if'](_0xa4e3b(0xaa),_0xa4e3b(0xb3))]},'children':[this[_0xa4e3b(0x9a)],this[_0xa4e3b(0x9b)]]});}[_0x3495dd(0xaf)](){var _0x1de784=_0x3495dd;return this[_0x1de784(0x9b)][_0x1de784(0xaf)]()[_0x1de784(0xa7)](()=>super[_0x1de784(0xaf)]());}[_0x3495dd(0xa0)](_0x365c45){var _0x5174bf=_0x3495dd;this[_0x5174bf(0x9b)][_0x5174bf(0xa0)](_0x365c45);}}
@@ -7,8 +7,8 @@
7
7
  * @publicApi
8
8
  */
9
9
  import { type Locale } from 'ckeditor5/src/utils.js';
10
- import { type User } from 'ckeditor5-collaboration/src/collaboration-core.js';
11
- import { ButtonView, type TemplateDefinition, type ViewCollection } from 'ckeditor5/src/ui.js';
10
+ import { LateFocusButtonView, type User } from 'ckeditor5-collaboration/src/collaboration-core.js';
11
+ import { type View, type ViewWithFocusCycler, type TemplateDefinition, type ViewCollection } from 'ckeditor5/src/ui.js';
12
12
  import BaseCommentThreadView from './basecommentthreadview.js';
13
13
  import type { CommentThread } from '../../commentsrepository.js';
14
14
  import type { CommentThreadConfig } from '../../../config.js';
@@ -16,7 +16,7 @@ declare const CommentThreadView_base: import("ckeditor5/src/utils.js").Mixed<typ
16
16
  /**
17
17
  * The default view for comment thread.
18
18
  */
19
- export default class CommentThreadView extends /* #__PURE__ -- @preserve */ CommentThreadView_base {
19
+ export default class CommentThreadView extends /* #__PURE__ -- @preserve */ CommentThreadView_base implements ViewWithFocusCycler {
20
20
  isConfirm: boolean;
21
21
  cancelConfirm: () => void;
22
22
  showConfirm: (key: string, element: unknown) => Promise<void>;
@@ -46,7 +46,7 @@ export default class CommentThreadView extends /* #__PURE__ -- @preserve */ Comm
46
46
  *
47
47
  * @readonly
48
48
  */
49
- readonly commentThreadChildren: ViewCollection;
49
+ readonly commentThreadChildren: ViewCollection<View>;
50
50
  /**
51
51
  * `ConfirmView` uses this element as a container for confirmation dialog.
52
52
  *
@@ -60,7 +60,7 @@ export default class CommentThreadView extends /* #__PURE__ -- @preserve */ Comm
60
60
  *
61
61
  * @readonly
62
62
  */
63
- readonly resolveButton: ButtonView;
63
+ readonly resolveButton: LateFocusButtonView;
64
64
  /**
65
65
  * @inheritDoc
66
66
  */
@@ -80,8 +80,10 @@ export default class CommentThreadView extends /* #__PURE__ -- @preserve */ Comm
80
80
  *
81
81
  * attributes: {
82
82
  * class: [
83
+ * 'ck',
83
84
  * 'ck-thread',
84
85
  * 'ck-reset_all-excluded',
86
+ * 'ck-rounded-corners',
85
87
  * bind.if( 'isActive', 'ck-thread--active' ),
86
88
  * bind.if( 'isUnlinked', 'ck-thread--unlinked' ),
87
89
  * bind.if( 'isConfirm', 'ck-thread--remove-confirmation' ),
@@ -89,7 +91,10 @@ export default class CommentThreadView extends /* #__PURE__ -- @preserve */ Comm
89
91
  * ],
90
92
  * 'data-thread-id': this._model.id,
91
93
  * // Needed for managing focus after adding new comment.
92
- * tabindex: -1
94
+ * tabindex: 0,
95
+ * role: 'listitem',
96
+ * 'aria-label': bind.to( 'ariaLabel' ),
97
+ * 'aria-describedby': this.ariaDescriptionView.id
93
98
  * },
94
99
  *
95
100
  * children: [