@ckeditor/ckeditor5-track-changes 0.0.0-nightly-20240422.0 → 0.0.0-nightly-20240424.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 (238) hide show
  1. package/build/track-changes.js +1 -1
  2. package/dist/index-content.css +4 -0
  3. package/dist/index-editor.css +4 -0
  4. package/dist/index.css +4 -0
  5. package/dist/index.js +23 -0
  6. package/dist/translations/ar.d.ts +8 -0
  7. package/dist/translations/ar.js +23 -0
  8. package/dist/translations/az.d.ts +8 -0
  9. package/dist/translations/az.js +23 -0
  10. package/dist/translations/bg.d.ts +8 -0
  11. package/dist/translations/bg.js +23 -0
  12. package/dist/translations/bn.d.ts +8 -0
  13. package/dist/translations/bn.js +23 -0
  14. package/dist/translations/ca.d.ts +8 -0
  15. package/dist/translations/ca.js +23 -0
  16. package/dist/translations/cs.d.ts +8 -0
  17. package/dist/translations/cs.js +23 -0
  18. package/dist/translations/da.d.ts +8 -0
  19. package/dist/translations/da.js +23 -0
  20. package/dist/translations/de.d.ts +8 -0
  21. package/dist/translations/de.js +23 -0
  22. package/dist/translations/el.d.ts +8 -0
  23. package/dist/translations/el.js +23 -0
  24. package/dist/translations/en-au.d.ts +8 -0
  25. package/dist/translations/en-au.js +23 -0
  26. package/dist/translations/en.d.ts +8 -0
  27. package/dist/translations/en.js +23 -0
  28. package/dist/translations/es.d.ts +8 -0
  29. package/dist/translations/es.js +23 -0
  30. package/dist/translations/et.d.ts +8 -0
  31. package/dist/translations/et.js +23 -0
  32. package/dist/translations/fi.d.ts +8 -0
  33. package/dist/translations/fi.js +23 -0
  34. package/dist/translations/fr.d.ts +8 -0
  35. package/dist/translations/fr.js +23 -0
  36. package/dist/translations/gl.d.ts +8 -0
  37. package/dist/translations/gl.js +23 -0
  38. package/dist/translations/he.d.ts +8 -0
  39. package/dist/translations/he.js +23 -0
  40. package/dist/translations/hi.d.ts +8 -0
  41. package/dist/translations/hi.js +23 -0
  42. package/dist/translations/hr.d.ts +8 -0
  43. package/dist/translations/hr.js +23 -0
  44. package/dist/translations/hu.d.ts +8 -0
  45. package/dist/translations/hu.js +23 -0
  46. package/dist/translations/id.d.ts +8 -0
  47. package/dist/translations/id.js +23 -0
  48. package/dist/translations/it.d.ts +8 -0
  49. package/dist/translations/it.js +23 -0
  50. package/dist/translations/ja.d.ts +8 -0
  51. package/dist/translations/ja.js +23 -0
  52. package/dist/translations/ko.d.ts +8 -0
  53. package/dist/translations/ko.js +23 -0
  54. package/dist/translations/lt.d.ts +8 -0
  55. package/dist/translations/lt.js +23 -0
  56. package/dist/translations/lv.d.ts +8 -0
  57. package/dist/translations/lv.js +23 -0
  58. package/dist/translations/ms.d.ts +8 -0
  59. package/dist/translations/ms.js +23 -0
  60. package/dist/translations/nl.d.ts +8 -0
  61. package/dist/translations/nl.js +23 -0
  62. package/dist/translations/no.d.ts +8 -0
  63. package/dist/translations/no.js +23 -0
  64. package/dist/translations/pl.d.ts +8 -0
  65. package/dist/translations/pl.js +23 -0
  66. package/dist/translations/pt-br.d.ts +8 -0
  67. package/dist/translations/pt-br.js +23 -0
  68. package/dist/translations/pt.d.ts +8 -0
  69. package/dist/translations/pt.js +23 -0
  70. package/dist/translations/ro.d.ts +8 -0
  71. package/dist/translations/ro.js +23 -0
  72. package/dist/translations/ru.d.ts +8 -0
  73. package/dist/translations/ru.js +23 -0
  74. package/dist/translations/sk.d.ts +8 -0
  75. package/dist/translations/sk.js +23 -0
  76. package/dist/translations/sq.d.ts +8 -0
  77. package/dist/translations/sq.js +23 -0
  78. package/dist/translations/sr-latn.d.ts +8 -0
  79. package/dist/translations/sr-latn.js +23 -0
  80. package/dist/translations/sr.d.ts +8 -0
  81. package/dist/translations/sr.js +23 -0
  82. package/dist/translations/sv.d.ts +8 -0
  83. package/dist/translations/sv.js +23 -0
  84. package/dist/translations/th.d.ts +8 -0
  85. package/dist/translations/th.js +23 -0
  86. package/dist/translations/tk.d.ts +8 -0
  87. package/dist/translations/tk.js +23 -0
  88. package/dist/translations/tr.d.ts +8 -0
  89. package/dist/translations/tr.js +23 -0
  90. package/dist/translations/tt.d.ts +8 -0
  91. package/dist/translations/tt.js +23 -0
  92. package/dist/translations/uk.d.ts +8 -0
  93. package/dist/translations/uk.js +23 -0
  94. package/dist/translations/ur.d.ts +8 -0
  95. package/dist/translations/ur.js +23 -0
  96. package/dist/translations/vi.d.ts +8 -0
  97. package/dist/translations/vi.js +23 -0
  98. package/dist/translations/zh-cn.d.ts +8 -0
  99. package/dist/translations/zh-cn.js +23 -0
  100. package/dist/translations/zh.d.ts +8 -0
  101. package/dist/translations/zh.js +23 -0
  102. package/dist/types/augmentation.d.ts +44 -0
  103. package/dist/types/commands/acceptsuggestioncommand.d.ts +28 -0
  104. package/dist/types/commands/discardsuggestioncommand.d.ts +28 -0
  105. package/dist/types/commands/executeonallsuggestionscommand.d.ts +28 -0
  106. package/dist/types/commands/executeonselectedsuggestionscommand.d.ts +28 -0
  107. package/dist/types/commands/trackchangescommand.d.ts +30 -0
  108. package/dist/types/index.d.ts +20 -0
  109. package/dist/types/integrations/aiassistant.d.ts +21 -0
  110. package/dist/types/integrations/alignment.d.ts +21 -0
  111. package/dist/types/integrations/basicstyles.d.ts +21 -0
  112. package/dist/types/integrations/blockquote.d.ts +21 -0
  113. package/dist/types/integrations/casechange.d.ts +21 -0
  114. package/dist/types/integrations/ckbox.d.ts +21 -0
  115. package/dist/types/integrations/codeblock.d.ts +21 -0
  116. package/dist/types/integrations/comments.d.ts +18 -0
  117. package/dist/types/integrations/deletecommand.d.ts +21 -0
  118. package/dist/types/integrations/entercommand.d.ts +20 -0
  119. package/dist/types/integrations/findandreplace.d.ts +25 -0
  120. package/dist/types/integrations/font.d.ts +21 -0
  121. package/dist/types/integrations/formatpainter.d.ts +21 -0
  122. package/dist/types/integrations/heading.d.ts +21 -0
  123. package/dist/types/integrations/highlight.d.ts +21 -0
  124. package/dist/types/integrations/horizontalline.d.ts +21 -0
  125. package/dist/types/integrations/htmlembed.d.ts +21 -0
  126. package/dist/types/integrations/image.d.ts +21 -0
  127. package/dist/types/integrations/imagereplace.d.ts +21 -0
  128. package/dist/types/integrations/imagestyle.d.ts +21 -0
  129. package/dist/types/integrations/importword.d.ts +22 -0
  130. package/dist/types/integrations/indent.d.ts +21 -0
  131. package/dist/types/integrations/inputcommand.d.ts +20 -0
  132. package/dist/types/integrations/legacylist.d.ts +21 -0
  133. package/dist/types/integrations/legacylistproperties.d.ts +33 -0
  134. package/dist/types/integrations/link.d.ts +21 -0
  135. package/dist/types/integrations/list.d.ts +21 -0
  136. package/dist/types/integrations/listproperties.d.ts +24 -0
  137. package/dist/types/integrations/mediaembed.d.ts +21 -0
  138. package/dist/types/integrations/mention.d.ts +21 -0
  139. package/dist/types/integrations/multilevellist.d.ts +28 -0
  140. package/dist/types/integrations/pagebreak.d.ts +21 -0
  141. package/dist/types/integrations/paragraph.d.ts +21 -0
  142. package/dist/types/integrations/removeformat.d.ts +21 -0
  143. package/dist/types/integrations/restrictededitingmode.d.ts +21 -0
  144. package/dist/types/integrations/shiftentercommand.d.ts +20 -0
  145. package/dist/types/integrations/standardeditingmode.d.ts +21 -0
  146. package/dist/types/integrations/style.d.ts +21 -0
  147. package/dist/types/integrations/table.d.ts +46 -0
  148. package/dist/types/integrations/tablecaption.d.ts +26 -0
  149. package/dist/types/integrations/tableclipboard.d.ts +23 -0
  150. package/dist/types/integrations/tablecolumnresize.d.ts +30 -0
  151. package/dist/types/integrations/tableheadings.d.ts +26 -0
  152. package/dist/types/integrations/tablemergesplit.d.ts +26 -0
  153. package/dist/types/integrations/tableofcontents.d.ts +21 -0
  154. package/dist/types/integrations/tableproperties.d.ts +31 -0
  155. package/dist/types/integrations/template.d.ts +21 -0
  156. package/dist/types/integrations/title.d.ts +21 -0
  157. package/dist/types/integrations/undo.d.ts +21 -0
  158. package/dist/types/integrations/utils.d.ts +25 -0
  159. package/dist/types/suggestion.d.ts +295 -0
  160. package/dist/types/suggestiondescriptionfactory.d.ts +187 -0
  161. package/dist/types/trackchanges.d.ts +184 -0
  162. package/dist/types/trackchangesconfig.d.ts +82 -0
  163. package/dist/types/trackchangesdata.d.ts +45 -0
  164. package/dist/types/trackchangesediting.d.ts +530 -0
  165. package/dist/types/trackchangesui.d.ts +42 -0
  166. package/dist/types/ui/suggestioncontroller.d.ts +41 -0
  167. package/dist/types/ui/view/basesuggestionthreadview.d.ts +174 -0
  168. package/dist/types/ui/view/suggestionthreadview.d.ts +186 -0
  169. package/dist/types/utils/common-translations.d.ts +13 -0
  170. package/dist/types/utils/utils.d.ts +34 -0
  171. package/package.json +4 -3
  172. package/src/commands/acceptsuggestioncommand.js +1 -1
  173. package/src/commands/discardsuggestioncommand.js +1 -1
  174. package/src/commands/executeonallsuggestionscommand.js +1 -1
  175. package/src/commands/executeonselectedsuggestionscommand.js +1 -1
  176. package/src/commands/trackchangescommand.js +1 -1
  177. package/src/index.js +1 -1
  178. package/src/integrations/aiassistant.js +1 -1
  179. package/src/integrations/alignment.js +1 -1
  180. package/src/integrations/basicstyles.js +1 -1
  181. package/src/integrations/blockquote.js +1 -1
  182. package/src/integrations/casechange.js +1 -1
  183. package/src/integrations/ckbox.js +1 -1
  184. package/src/integrations/codeblock.js +1 -1
  185. package/src/integrations/comments.js +1 -1
  186. package/src/integrations/deletecommand.js +1 -1
  187. package/src/integrations/entercommand.js +1 -1
  188. package/src/integrations/findandreplace.js +1 -1
  189. package/src/integrations/font.js +1 -1
  190. package/src/integrations/formatpainter.js +1 -1
  191. package/src/integrations/heading.js +1 -1
  192. package/src/integrations/highlight.js +1 -1
  193. package/src/integrations/horizontalline.js +1 -1
  194. package/src/integrations/htmlembed.js +1 -1
  195. package/src/integrations/image.js +1 -1
  196. package/src/integrations/imagereplace.js +1 -1
  197. package/src/integrations/imagestyle.js +1 -1
  198. package/src/integrations/importword.js +1 -1
  199. package/src/integrations/indent.js +1 -1
  200. package/src/integrations/inputcommand.js +1 -1
  201. package/src/integrations/legacylist.js +1 -1
  202. package/src/integrations/legacylistproperties.js +1 -1
  203. package/src/integrations/link.js +1 -1
  204. package/src/integrations/list.js +1 -1
  205. package/src/integrations/listproperties.js +1 -1
  206. package/src/integrations/mediaembed.js +1 -1
  207. package/src/integrations/mention.js +1 -1
  208. package/src/integrations/multilevellist.js +1 -1
  209. package/src/integrations/pagebreak.js +1 -1
  210. package/src/integrations/paragraph.js +1 -1
  211. package/src/integrations/removeformat.js +1 -1
  212. package/src/integrations/restrictededitingmode.js +1 -1
  213. package/src/integrations/shiftentercommand.js +1 -1
  214. package/src/integrations/standardeditingmode.js +1 -1
  215. package/src/integrations/style.js +1 -1
  216. package/src/integrations/table.js +1 -1
  217. package/src/integrations/tablecaption.js +1 -1
  218. package/src/integrations/tableclipboard.js +1 -1
  219. package/src/integrations/tablecolumnresize.js +1 -1
  220. package/src/integrations/tableheadings.js +1 -1
  221. package/src/integrations/tablemergesplit.js +1 -1
  222. package/src/integrations/tableofcontents.js +1 -1
  223. package/src/integrations/tableproperties.js +1 -1
  224. package/src/integrations/template.js +1 -1
  225. package/src/integrations/title.js +1 -1
  226. package/src/integrations/undo.js +1 -1
  227. package/src/integrations/utils.js +1 -1
  228. package/src/suggestion.js +1 -1
  229. package/src/suggestiondescriptionfactory.js +1 -1
  230. package/src/trackchanges.js +1 -1
  231. package/src/trackchangesdata.js +1 -1
  232. package/src/trackchangesediting.js +1 -1
  233. package/src/trackchangesui.js +1 -1
  234. package/src/ui/suggestioncontroller.js +1 -1
  235. package/src/ui/view/basesuggestionthreadview.js +1 -1
  236. package/src/ui/view/suggestionthreadview.js +1 -1
  237. package/src/utils/common-translations.js +1 -1
  238. package/src/utils/utils.js +1 -1
@@ -0,0 +1,42 @@
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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module track-changes/trackchangesui
11
+ */
12
+ import { Plugin, type Editor } from 'ckeditor5/src/core.js';
13
+ import { Users } from 'ckeditor5-collaboration/src/collaboration-core.js';
14
+ import TrackChangesEditing from './trackchangesediting.js';
15
+ /**
16
+ * Provides UI for track changes plugin.
17
+ *
18
+ * This plugin displays {@link module:track-changes/suggestion~Suggestion suggestions} as a
19
+ * {@link module:comments/annotations/annotations~Annotations}.
20
+ */
21
+ export default class TrackChangesUI extends Plugin {
22
+ /**
23
+ * @inheritDoc
24
+ */
25
+ static get requires(): readonly [typeof TrackChangesEditing, typeof Users, "CommentsRepository", "Annotations", "EditorAnnotations"];
26
+ /**
27
+ * @inheritDoc
28
+ */
29
+ static get pluginName(): "TrackChangesUI";
30
+ /**
31
+ * @inheritDoc
32
+ */
33
+ constructor(editor: Editor);
34
+ /**
35
+ * @inheritDoc
36
+ */
37
+ init(): void;
38
+ /**
39
+ * @inheritDoc
40
+ */
41
+ destroy(): void;
42
+ }
@@ -0,0 +1,41 @@
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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ import type { Editor } from 'ckeditor5/src/core.js';
10
+ import type Suggestion from '../suggestion.js';
11
+ import type BaseSuggestionThreadView from './view/basesuggestionthreadview.js';
12
+ import type { CommentThreadController } from '@ckeditor/ckeditor5-comments';
13
+ declare const SuggestionController_base: {
14
+ new (): import("ckeditor5/src/utils.js").Observable;
15
+ prototype: import("ckeditor5/src/utils.js").Observable;
16
+ };
17
+ /**
18
+ * A controller for a suggestion.
19
+ *
20
+ * It takes a suggestion thread view, listens to events fired by that view and based on them performs actions
21
+ * on the provided suggestion model.
22
+ */
23
+ export default class SuggestionController extends SuggestionController_base {
24
+ model: Suggestion;
25
+ view: BaseSuggestionThreadView;
26
+ commentThreadController: CommentThreadController;
27
+ constructor(editor: Editor, model: Suggestion, view: BaseSuggestionThreadView, commentThreadController: CommentThreadController);
28
+ /**
29
+ * Accepts the suggestion that belongs to this controller.
30
+ */
31
+ acceptSuggestion(): void;
32
+ /**
33
+ * Discards the suggestion that belongs to this controller.
34
+ */
35
+ discardSuggestion(): void;
36
+ /**
37
+ * Destroys `SuggestionController` instance.
38
+ */
39
+ destroy(): void;
40
+ }
41
+ export {};
@@ -0,0 +1,174 @@
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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module track-changes/ui/view/basesuggestionthreadview
11
+ * @publicApi
12
+ */
13
+ import { View } from 'ckeditor5/src/ui.js';
14
+ import type { Locale } from 'ckeditor5/src/utils.js';
15
+ import type { EditorConfig } from 'ckeditor5/src/core.js';
16
+ import type Suggestion from '../../suggestion.js';
17
+ import type { CommentsListView, CommentThreadInputView, CommentView } from '@ckeditor/ckeditor5-comments';
18
+ import type { User } from 'ckeditor5-collaboration/src/collaboration-core.js';
19
+ import type { Description } from '../../suggestiondescriptionfactory.js';
20
+ /**
21
+ * An abstract suggestion thread view class that should be used as a base for suggestion thread view implementations.
22
+ * It provides some behaviors, flags and building blocks to use when creating a custom suggestion thread view class.
23
+ *
24
+ * All events fired by {@link module:comments/comments/ui/view/basecommentview~BaseCommentView}
25
+ * are delegated to {@link module:track-changes/ui/view/basesuggestionthreadview~BaseSuggestionThreadView}.
26
+ * This means that {@link module:track-changes/ui/view/basesuggestionthreadview~BaseSuggestionThreadView} can also fire these
27
+ * events to communicate with CKEditor 5 collaboration features.
28
+ *
29
+ * For the usage examples check the {@glink features/collaboration/annotations/annotations-custom-view
30
+ * Annotations custom view} guide.
31
+ */
32
+ export default abstract class BaseSuggestionThreadView extends View {
33
+ /**
34
+ * The list of comment views. It should be used as a part of the view template when present.
35
+ */
36
+ commentsListView: CommentsListView | null;
37
+ /**
38
+ * The comment input area view. It should be used as a part of the view template when present.
39
+ */
40
+ commentThreadInputView: CommentThreadInputView | null;
41
+ /**
42
+ * A boolean value that informs if the comment thread view is in the active state ("highlighted").
43
+ * A comment thread view is in this state when it is focused or was activated by the user in any different way.
44
+ *
45
+ * @observable
46
+ */
47
+ isActive: boolean;
48
+ /**
49
+ * Suggestion creation date.
50
+ *
51
+ * @observable
52
+ */
53
+ authoredAt: Date | null;
54
+ /**
55
+ * Flag that indicates whether suggestion acceptation is possible.
56
+ *
57
+ * @observable
58
+ */
59
+ canAccept: boolean;
60
+ /**
61
+ * Flag that indicates whether suggestion discarding is possible.
62
+ *
63
+ * @observable
64
+ */
65
+ canDiscard: boolean;
66
+ /**
67
+ * Stores description entries generated for this suggestion that describe what is the suggested change.
68
+ * They are used to create the final description presented in the suggestion view to the user.
69
+ *
70
+ * Note that one suggestion may include multiple changes.
71
+ *
72
+ * Most cases are simple and include just one description item:
73
+ *
74
+ * ```ts
75
+ * [
76
+ * { type: 'insertion', content: '*Insert:* "Foo"' }
77
+ * ]
78
+ * ```
79
+ *
80
+ * This description item represents a suggestion for inserting the "Foo" text. The `type` property describes the performed action
81
+ * while the `content` property contains additional information about the action and is optional.
82
+ *
83
+ * A more complex example is presented below:
84
+ *
85
+ * ```ts
86
+ * [
87
+ * { type: 'insertion', content: '*Insert:* 2 paragraphs' },
88
+ * { type: 'insertion', content: '*Insert:* image' },
89
+ * { type: 'replace', content: '*Replace:* "Foo" *with* "Bar"' }
90
+ * ]
91
+ * ```
92
+ *
93
+ * In this example, there are three description instances (or lines). Two new (empty) paragraphs were added,
94
+ * an image was added and then "Foo" text was replaced by "Bar". The above structure could be rendered as:
95
+ *
96
+ * ```html
97
+ * <p><strong>Insert:</strong> 2 paragraphs</p>
98
+ * <p><strong>Insert:</strong> image</p>
99
+ * <p><strong>Replace:</strong> "Foo" <strong>with</strong> "Bar"</p>
100
+ * ```
101
+ *
102
+ * @observable
103
+ */
104
+ descriptionParts: Array<Description>;
105
+ /**
106
+ * Informs whether the suggestion thread has any changes that have not been saved.
107
+ *
108
+ * @observable
109
+ */
110
+ isDirty: boolean;
111
+ /**
112
+ * Informs whether the suggestion can be accepted or discarded.
113
+ *
114
+ * @observable
115
+ */
116
+ isEnabled: boolean;
117
+ /**
118
+ * The number of items in the view, where the suggestion itself counts as one.
119
+ *
120
+ * In other words, it is equal to the number of comments in the suggestion thread view plus one.
121
+ *
122
+ * @observable
123
+ */
124
+ readonly length: number;
125
+ constructor(locale: Locale, model: Suggestion, localUser: User, config: SuggestionThreadConfig);
126
+ /**
127
+ * Focuses the view.
128
+ */
129
+ focus(): void;
130
+ /**
131
+ * @inheritDoc
132
+ */
133
+ destroy(): void;
134
+ }
135
+ /**
136
+ * Fired when a user performed an action that should lead to accepting the suggestion.
137
+ *
138
+ * This event is not fired by default by any component created by `BaseSuggestionThreadView`.
139
+ * If you create a view class extending `BaseSuggestionCommentView`, you should provide
140
+ * a UI element that will fire this event.
141
+ *
142
+ * @eventName ~BaseSuggestionThreadView#acceptSuggestion
143
+ */
144
+ export type AcceptSuggestionEvent = {
145
+ name: 'acceptSuggestion';
146
+ args: [];
147
+ };
148
+ /**
149
+ * Fired when a user performed an action that should lead to discarding the suggestion.
150
+ *
151
+ * This event is not fired by default by any component created by `BaseSuggestionThreadView`.
152
+ * If you create a view class extending `BaseSuggestionCommentView`, you should provide
153
+ * a UI element that will fire this event.
154
+ *
155
+ * @eventName ~BaseSuggestionThreadView#discardSuggestion
156
+ */
157
+ export type DiscardSuggestionEvent = {
158
+ name: 'discardSuggestion';
159
+ args: [];
160
+ };
161
+ /**
162
+ * Config used for suggestion thread views.
163
+ */
164
+ export interface SuggestionThreadConfig {
165
+ disableComments: boolean;
166
+ editorConfig: EditorConfig;
167
+ maxCommentsWhenCollapsed: number;
168
+ maxThreadTotalWeight: number;
169
+ maxCommentCharsWhenCollapsed: number;
170
+ formatDateTime: (date: Date | string) => string;
171
+ CommentView: typeof CommentView;
172
+ CommentsListView: typeof CommentsListView;
173
+ CommentThreadInputView: typeof CommentThreadInputView;
174
+ }
@@ -0,0 +1,186 @@
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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ import { default as BaseSuggestionThreadView, type SuggestionThreadConfig } from './basesuggestionthreadview.js';
10
+ import { ButtonView, type TemplateDefinition } from 'ckeditor5/src/ui.js';
11
+ import { UserView, 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
+ /**
15
+ * The default view for a suggestion thread.
16
+ *
17
+ * This view can be replaced by other view by overwriting the
18
+ * {@link module:track-changes/trackchangesconfig~TrackChangesConfig#SuggestionThreadView} configuration.
19
+ */
20
+ export default class SuggestionThreadView extends BaseSuggestionThreadView {
21
+ /**
22
+ * The suggestion thread view type.
23
+ *
24
+ * This value is not equal to the suggestion (model) type. It is evaluated based on the type of the first suggestion for
25
+ * the suggestion thread view template purposes.
26
+ *
27
+ * @observable
28
+ */
29
+ type: 'format' | 'replace' | 'deletion' | 'insertion' | '';
30
+ /**
31
+ * A suggestion description explaining what has been changed. To be presented to the user.
32
+ *
33
+ * @observable
34
+ */
35
+ description: string;
36
+ /**
37
+ * A user view for the suggestion author.
38
+ */
39
+ userView: UserView;
40
+ /**
41
+ * A button view for the button that accepts the suggestion.
42
+ */
43
+ acceptButton: ButtonView | null;
44
+ /**
45
+ * A button view for the button that discards the suggestion.
46
+ */
47
+ discardButton: ButtonView | null;
48
+ constructor(locale: Locale, model: Suggestion, localUser: User, config: SuggestionThreadConfig);
49
+ /**
50
+ * Returns a template definition that will be passed to {@link module:ui/view~View#setTemplate}.
51
+ *
52
+ * Overwrite this method if you want to set a custom template for the suggestion thread view.
53
+ *
54
+ * The template looks as follows:
55
+ *
56
+ * ```ts
57
+ * {
58
+ * tag: 'div',
59
+ * attributes: {
60
+ * class: [
61
+ * 'ck-suggestion-wrapper',
62
+ * bind.if( 'isActive', 'ck-suggestion-wrapper--active' ),
63
+ * bind.to( 'type', value => `ck-suggestion-${ value }` ),
64
+ * this._config.disableComments && 'ck-suggestion--disabled-comments'
65
+ * ],
66
+ * 'data-suggestion-id': this._model.id,
67
+ * 'data-thread-id': this._model.commentThread.id,
68
+ * 'data-author-id': this._model.author.id,
69
+ * // Needed for managing focus after adding a new comment.
70
+ * tabindex: -1
71
+ * },
72
+ * children: [
73
+ * {
74
+ * tag: 'div',
75
+ *
76
+ * attributes: {
77
+ * class: [
78
+ * 'ck-suggestion',
79
+ * 'ck-annotation'
80
+ * ]
81
+ * },
82
+ *
83
+ * children: [
84
+ * this.userView,
85
+ * {
86
+ * tag: 'div',
87
+ *
88
+ * attributes: {
89
+ * class: [ 'ck-suggestion__main', 'ck-annotation__main' ]
90
+ * },
91
+ *
92
+ * children: [
93
+ * {
94
+ * tag: 'div',
95
+ *
96
+ * attributes: {
97
+ * class: [ 'ck-suggestion__info', 'ck-annotation__info' ]
98
+ * },
99
+ *
100
+ * children: [
101
+ * {
102
+ * tag: 'span',
103
+ *
104
+ * children: [
105
+ * {
106
+ * text: this.userView.name
107
+ * }
108
+ * ],
109
+ *
110
+ * attributes: {
111
+ * class: [ 'ck-suggestion__info-name', 'ck-annotation__info-name' ]
112
+ * }
113
+ * },
114
+ * {
115
+ * tag: 'time',
116
+ *
117
+ * attributes: {
118
+ * datetime: bind.to( 'authoredAt' ),
119
+ * class: [ 'ck-comment__info-time', 'ck-annotation__info-time' ]
120
+ * },
121
+ *
122
+ * children: [
123
+ * {
124
+ * text: bind.to( 'authoredAt', value => this._config.formatDateTime( value ) )
125
+ * }
126
+ * ]
127
+ * }
128
+ * ]
129
+ * },
130
+ * {
131
+ * tag: 'div',
132
+ *
133
+ * attributes: {
134
+ * class: [
135
+ * 'ck-suggestion__actions',
136
+ * 'ck-annotation__actions'
137
+ * ]
138
+ * },
139
+ *
140
+ * children: [
141
+ * this.acceptButton,
142
+ * this.discardButton
143
+ * ]
144
+ * },
145
+ * {
146
+ * tag: 'div',
147
+ *
148
+ * attributes: {
149
+ * class: [ 'ck-annotation__content-wrapper' ]
150
+ * }
151
+ * },
152
+ * {
153
+ * tag: 'div',
154
+ *
155
+ * attributes: {
156
+ * class: [ 'ck-comment__external' ]
157
+ * },
158
+ *
159
+ * children: [ {
160
+ * text: getTranslation( this.locale, 'EXTERNAL_SUGGESTION' )
161
+ * } ]
162
+ * }
163
+ * ]
164
+ * }
165
+ * ]
166
+ * },
167
+ * this.commentsListView,
168
+ * this.commentThreadInputView
169
+ * ]
170
+ * }
171
+ * ```
172
+ */
173
+ getTemplate(): TemplateDefinition;
174
+ /**
175
+ * @inheritDoc
176
+ */
177
+ render(): void;
178
+ /**
179
+ * Gets the translated note which indicates that the suggestion comes from an external source.
180
+ */
181
+ getExternalSuggestionNote(): string;
182
+ /**
183
+ * Gets the translated notification text which indicates that the author name comes from an external source.
184
+ */
185
+ getUserViewNotificationText(): string | null;
186
+ }
@@ -0,0 +1,13 @@
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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module track-changes/utils/common-translations
11
+ */
12
+ import { type Locale } from 'ckeditor5/src/utils.js';
13
+ export declare function getTranslation(locale: Locale, id: string, values?: number | string | ReadonlyArray<number | string>): string;
@@ -0,0 +1,34 @@
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
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module track-changes/utils/utils
11
+ */
12
+ import type { Command } from 'ckeditor5/src/core.js';
13
+ import type { DocumentSelection, Model } from 'ckeditor5/src/engine.js';
14
+ import type Suggestion from '../suggestion.js';
15
+ import type { Description } from '../suggestiondescriptionfactory.js';
16
+ /**
17
+ * Used in tests for easy suggestion comparison.
18
+ */
19
+ export declare function normalizeDescription(description: Array<Description> | Description): string;
20
+ export declare function sortSuggestions(suggestions: Array<Suggestion>): Array<Suggestion>;
21
+ /**
22
+ * From the list of passed `suggestions` returns those that are selected by given `selection`.
23
+ */
24
+ export declare function getSelectedSuggestions(selection: DocumentSelection, suggestions: Array<Suggestion>): Set<Suggestion>;
25
+ /**
26
+ * How many suggestion actions should be put into one batch when multiple suggestions are accepted or discarded.
27
+ */
28
+ export declare const MAX_SUGGESTION_ACTIONS_IN_BATCH = 100;
29
+ /**
30
+ * Executes given `command` for given `suggestions`. If there is a lot of suggestions, the command executions is split into batches.
31
+ * There is at most `MAX_SUGGESTION_ACTIONS_IN_BATCH` exeuctions in one batch. As a result, this limits number of actions to be done
32
+ * in one undo step but may create multiple undo steps.
33
+ */
34
+ export declare function executeCommandForSuggestions(model: Model, command: Command, suggestions: Array<Suggestion>): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckeditor/ckeditor5-track-changes",
3
- "version": "0.0.0-nightly-20240422.0",
3
+ "version": "0.0.0-nightly-20240424.0",
4
4
  "description": "CKEditor 5 track changes plugin.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "CKSource (http://cksource.com/)",
@@ -32,6 +32,7 @@
32
32
  "main": "src/index.js",
33
33
  "files": [
34
34
  "build",
35
+ "dist",
35
36
  "lang",
36
37
  "src/**/*.js",
37
38
  "src/**/*.d.ts",
@@ -40,8 +41,8 @@
40
41
  "CHANGELOG.md"
41
42
  ],
42
43
  "dependencies": {
43
- "ckeditor5": "0.0.0-nightly-20240422.0",
44
- "ckeditor5-collaboration": "0.0.0-nightly-20240422.0",
44
+ "ckeditor5": "0.0.0-nightly-20240424.0",
45
+ "ckeditor5-collaboration": "0.0.0-nightly-20240424.0",
45
46
  "lodash-es": "4.17.21"
46
47
  },
47
48
  "types": "src/index.d.ts",
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- const _0x341f16=_0x1e29;(function(_0x1a594b,_0x2871ed){const _0x14620c=_0x1e29,_0x4927a7=_0x1a594b();while(!![]){try{const _0x595921=-parseInt(_0x14620c(0x1d5))/0x1+parseInt(_0x14620c(0x1cb))/0x2*(-parseInt(_0x14620c(0x1c4))/0x3)+-parseInt(_0x14620c(0x1c9))/0x4+parseInt(_0x14620c(0x1d8))/0x5+parseInt(_0x14620c(0x1cc))/0x6+-parseInt(_0x14620c(0x1cd))/0x7+parseInt(_0x14620c(0x1ce))/0x8;if(_0x595921===_0x2871ed)break;else _0x4927a7['push'](_0x4927a7['shift']());}catch(_0x394d82){_0x4927a7['push'](_0x4927a7['shift']());}}}(_0x120b,0xd0c03));function _0x1e29(_0xfc4283,_0x503730){const _0x120b2e=_0x120b();return _0x1e29=function(_0x1e291b,_0x556e55){_0x1e291b=_0x1e291b-0x1c3;let _0x58e870=_0x120b2e[_0x1e291b];return _0x58e870;},_0x1e29(_0xfc4283,_0x503730);}import{Command as _0x2d344f}from'ckeditor5/src/core.js';import{CKEditorError as _0x5ba21d}from'ckeditor5/src/utils.js';function _0x120b(){const _0x4f95af=['_isEnabledBasedOnSelection','editor','216452tMIJzX','canEditAt','84YFLAZK','5033508JQEJlV','8676850IlprYz','25117648lIFyco','getRanges','plugins','isEnabled','_suggestions','refresh','execute','728632TZWubX','TrackChangesEditing','acceptSuggestion','2570380fyhrks','get','115383sBSshk','track-changes-accept-suggestion-not-found','model'];_0x120b=function(){return _0x4f95af;};return _0x120b();}export default class $ extends _0x2d344f{constructor(_0x4c2728,_0x196e04){const _0x163293=_0x1e29;super(_0x4c2728),this[_0x163293(0x1d2)]=_0x196e04,this[_0x163293(0x1d3)](),this[_0x163293(0x1c7)]=!0x1;}[_0x341f16(0x1d3)](){const _0x1dd3fe=_0x341f16;this[_0x1dd3fe(0x1d1)]=!0x0;}[_0x341f16(0x1d4)](_0x565a69){const _0x49dd19=_0x341f16,_0x336825=this[_0x49dd19(0x1d2)][_0x49dd19(0x1c3)](_0x565a69);if(!_0x336825)throw new _0x5ba21d(_0x49dd19(0x1c5),this);const _0x570f89=_0x336825[_0x49dd19(0x1cf)]();this[_0x49dd19(0x1c8)][_0x49dd19(0x1c6)][_0x49dd19(0x1ca)](_0x570f89)&&this[_0x49dd19(0x1c8)][_0x49dd19(0x1d0)][_0x49dd19(0x1c3)](_0x49dd19(0x1d6))[_0x49dd19(0x1d7)](_0x336825);}}
23
+ const _0x5719a1=_0x4192;(function(_0x371fc2,_0x3796e7){const _0x49d092=_0x4192,_0x56f253=_0x371fc2();while(!![]){try{const _0x546842=parseInt(_0x49d092(0x114))/0x1*(-parseInt(_0x49d092(0x121))/0x2)+parseInt(_0x49d092(0x119))/0x3*(-parseInt(_0x49d092(0x11a))/0x4)+parseInt(_0x49d092(0x120))/0x5+-parseInt(_0x49d092(0x116))/0x6+-parseInt(_0x49d092(0x124))/0x7+-parseInt(_0x49d092(0x125))/0x8+parseInt(_0x49d092(0x122))/0x9*(parseInt(_0x49d092(0x127))/0xa);if(_0x546842===_0x3796e7)break;else _0x56f253['push'](_0x56f253['shift']());}catch(_0x360353){_0x56f253['push'](_0x56f253['shift']());}}}(_0x2c50,0xecc2c));import{Command as _0x3481cb}from'ckeditor5/src/core.js';function _0x4192(_0x4cfc98,_0x5e5a08){const _0x2c50b1=_0x2c50();return _0x4192=function(_0x419259,_0x20bc2d){_0x419259=_0x419259-0x111;let _0x2b108e=_0x2c50b1[_0x419259];return _0x2b108e;},_0x4192(_0x4cfc98,_0x5e5a08);}import{CKEditorError as _0x4c0959}from'ckeditor5/src/utils.js';function _0x2c50(){const _0x2597b7=['execute','track-changes-accept-suggestion-not-found','7767030QkKjuU','739308gEisOW','35396703pjLAjB','isEnabled','11511500CXNGic','6076736rKIBLR','_suggestions','10LIiOHL','editor','refresh','TrackChangesEditing','_isEnabledBasedOnSelection','1JMIeNL','canEditAt','1547232YaJKGe','getRanges','acceptSuggestion','234471FnrQEc','76NWloww','model','get','plugins'];_0x2c50=function(){return _0x2597b7;};return _0x2c50();}export default class $ extends _0x3481cb{constructor(_0x1710ea,_0x1d4a26){const _0x2409d4=_0x4192;super(_0x1710ea),this[_0x2409d4(0x126)]=_0x1d4a26,this[_0x2409d4(0x111)](),this[_0x2409d4(0x113)]=!0x1;}[_0x5719a1(0x111)](){const _0xae0ab0=_0x5719a1;this[_0xae0ab0(0x123)]=!0x0;}[_0x5719a1(0x11e)](_0x334018){const _0x4685e0=_0x5719a1,_0x5c8308=this[_0x4685e0(0x126)][_0x4685e0(0x11c)](_0x334018);if(!_0x5c8308)throw new _0x4c0959(_0x4685e0(0x11f),this);const _0x4a67bd=_0x5c8308[_0x4685e0(0x117)]();this[_0x4685e0(0x128)][_0x4685e0(0x11b)][_0x4685e0(0x115)](_0x4a67bd)&&this[_0x4685e0(0x128)][_0x4685e0(0x11d)][_0x4685e0(0x11c)](_0x4685e0(0x112))[_0x4685e0(0x118)](_0x5c8308);}}
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- const _0x4db922=_0x4a26;(function(_0x3481ac,_0xd138aa){const _0x3c3ea8=_0x4a26,_0x4497cf=_0x3481ac();while(!![]){try{const _0x2af44b=-parseInt(_0x3c3ea8(0x1d9))/0x1+parseInt(_0x3c3ea8(0x1e7))/0x2+parseInt(_0x3c3ea8(0x1e8))/0x3+parseInt(_0x3c3ea8(0x1e0))/0x4*(parseInt(_0x3c3ea8(0x1e5))/0x5)+-parseInt(_0x3c3ea8(0x1d6))/0x6+-parseInt(_0x3c3ea8(0x1e9))/0x7+-parseInt(_0x3c3ea8(0x1eb))/0x8*(parseInt(_0x3c3ea8(0x1e6))/0x9);if(_0x2af44b===_0xd138aa)break;else _0x4497cf['push'](_0x4497cf['shift']());}catch(_0x289c2e){_0x4497cf['push'](_0x4497cf['shift']());}}}(_0x3d65,0x9d196));import{Command as _0x2f7b4f}from'ckeditor5/src/core.js';function _0x3d65(){const _0x22b6f5=['get','discardSuggestion','isEnabled','4OtbJJF','_suggestions','plugins','track-changes-discard-suggestion-not-found','_isEnabledBasedOnSelection','2142145hinkqJ','9wOaaQQ','2418708yJNxBD','3741045SsXZVU','1864331ZnrnWi','editor','7941008dwPRqD','TrackChangesEditing','5843598jUFARr','canEditAt','model','8428ZGHzFO','getRanges','refresh','execute'];_0x3d65=function(){return _0x22b6f5;};return _0x3d65();}import{CKEditorError as _0x10e8fc}from'ckeditor5/src/utils.js';function _0x4a26(_0x17c158,_0x2f1ae6){const _0x3d65dc=_0x3d65();return _0x4a26=function(_0x4a2653,_0x5e37bf){_0x4a2653=_0x4a2653-0x1d5;let _0x5d56b5=_0x3d65dc[_0x4a2653];return _0x5d56b5;},_0x4a26(_0x17c158,_0x2f1ae6);}export default class B extends _0x2f7b4f{constructor(_0xf231cc,_0x16dad4){const _0x2baba0=_0x4a26;super(_0xf231cc),this[_0x2baba0(0x1e1)]=_0x16dad4,this[_0x2baba0(0x1db)](),this[_0x2baba0(0x1e4)]=!0x1;}[_0x4db922(0x1db)](){const _0x5c2bbf=_0x4db922;this[_0x5c2bbf(0x1df)]=!0x0;}[_0x4db922(0x1dc)](_0x574059){const _0x9dad2b=_0x4db922,_0x1536ee=this[_0x9dad2b(0x1e1)][_0x9dad2b(0x1dd)](_0x574059);if(!_0x1536ee)throw new _0x10e8fc(_0x9dad2b(0x1e3),this);const _0x2dd5ff=_0x1536ee[_0x9dad2b(0x1da)]();this[_0x9dad2b(0x1ea)][_0x9dad2b(0x1d8)][_0x9dad2b(0x1d7)](_0x2dd5ff)&&this[_0x9dad2b(0x1ea)][_0x9dad2b(0x1e2)][_0x9dad2b(0x1dd)](_0x9dad2b(0x1d5))[_0x9dad2b(0x1de)](_0x1536ee);}}
23
+ const _0x395427=_0x2671;function _0x39eb(){const _0x876ef9=['3ImVFxo','track-changes-discard-suggestion-not-found','refresh','get','TrackChangesEditing','discardSuggestion','1zuehNo','5304248ZKivTe','plugins','1777420JFwZBu','isEnabled','model','_isEnabledBasedOnSelection','_suggestions','984720ygoheF','execute','9509460dAOhRc','2565375WcAQhe','1433316gAdBAh','7awWwIp','getRanges','editor','canEditAt','663714szBjeH'];_0x39eb=function(){return _0x876ef9;};return _0x39eb();}(function(_0x2edcd8,_0x184b24){const _0x5eeba4=_0x2671,_0x2f518e=_0x2edcd8();while(!![]){try{const _0x703984=-parseInt(_0x5eeba4(0x1b7))/0x1*(parseInt(_0x5eeba4(0x1a2))/0x2)+-parseInt(_0x5eeba4(0x1b1))/0x3*(-parseInt(_0x5eeba4(0x1a7))/0x4)+-parseInt(_0x5eeba4(0x1aa))/0x5+parseInt(_0x5eeba4(0x1ab))/0x6+-parseInt(_0x5eeba4(0x1ac))/0x7*(-parseInt(_0x5eeba4(0x1b8))/0x8)+-parseInt(_0x5eeba4(0x1b0))/0x9+parseInt(_0x5eeba4(0x1a9))/0xa;if(_0x703984===_0x184b24)break;else _0x2f518e['push'](_0x2f518e['shift']());}catch(_0x493b91){_0x2f518e['push'](_0x2f518e['shift']());}}}(_0x39eb,0x98398));import{Command as _0x1de117}from'ckeditor5/src/core.js';import{CKEditorError as _0x4a88b2}from'ckeditor5/src/utils.js';function _0x2671(_0xb24ed3,_0x3b5502){const _0x39eb89=_0x39eb();return _0x2671=function(_0x26710d,_0x2efe38){_0x26710d=_0x26710d-0x1a1;let _0x2f326e=_0x39eb89[_0x26710d];return _0x2f326e;},_0x2671(_0xb24ed3,_0x3b5502);}export default class B extends _0x1de117{constructor(_0xbb50d1,_0x6c862e){const _0x48b888=_0x2671;super(_0xbb50d1),this[_0x48b888(0x1a6)]=_0x6c862e,this[_0x48b888(0x1b3)](),this[_0x48b888(0x1a5)]=!0x1;}[_0x395427(0x1b3)](){const _0x1e5301=_0x395427;this[_0x1e5301(0x1a3)]=!0x0;}[_0x395427(0x1a8)](_0x296783){const _0x3b8e48=_0x395427,_0x21d874=this[_0x3b8e48(0x1a6)][_0x3b8e48(0x1b4)](_0x296783);if(!_0x21d874)throw new _0x4a88b2(_0x3b8e48(0x1b2),this);const _0x58b6ad=_0x21d874[_0x3b8e48(0x1ad)]();this[_0x3b8e48(0x1ae)][_0x3b8e48(0x1a4)][_0x3b8e48(0x1af)](_0x58b6ad)&&this[_0x3b8e48(0x1ae)][_0x3b8e48(0x1a1)][_0x3b8e48(0x1b4)](_0x3b8e48(0x1b5))[_0x3b8e48(0x1b6)](_0x21d874);}}
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- const _0x44e762=_0x54c1;(function(_0x1e6a9a,_0x110e34){const _0x2b38fe=_0x54c1,_0x5d3d50=_0x1e6a9a();while(!![]){try{const _0x21701e=parseInt(_0x2b38fe(0x1a9))/0x1*(parseInt(_0x2b38fe(0x1b3))/0x2)+parseInt(_0x2b38fe(0x1bc))/0x3*(parseInt(_0x2b38fe(0x1a5))/0x4)+parseInt(_0x2b38fe(0x1ad))/0x5*(parseInt(_0x2b38fe(0x1aa))/0x6)+parseInt(_0x2b38fe(0x1b5))/0x7*(parseInt(_0x2b38fe(0x1ae))/0x8)+parseInt(_0x2b38fe(0x1b7))/0x9*(-parseInt(_0x2b38fe(0x1a4))/0xa)+-parseInt(_0x2b38fe(0x1ba))/0xb*(parseInt(_0x2b38fe(0x1a2))/0xc)+parseInt(_0x2b38fe(0x1b1))/0xd*(-parseInt(_0x2b38fe(0x1b6))/0xe);if(_0x21701e===_0x110e34)break;else _0x5d3d50['push'](_0x5d3d50['shift']());}catch(_0x529c19){_0x5d3d50['push'](_0x5d3d50['shift']());}}}(_0x18c8,0x4864d));import{Command as _0x55dfde}from'ckeditor5/src/core.js';import{sortSuggestions as _0x894191,executeCommandForSuggestions as _0x18ee07}from'../utils/utils.js';function _0x54c1(_0x5af324,_0x3303fa){const _0x18c8dc=_0x18c8();return _0x54c1=function(_0x54c10c,_0x331bf6){_0x54c10c=_0x54c10c-0x1a1;let _0x6805e6=_0x18c8dc[_0x54c10c];return _0x6805e6;},_0x54c1(_0x5af324,_0x3303fa);}export default class x extends _0x55dfde{constructor(_0x22a2db,_0x5d0c73,_0x26bffc){const _0x5603db=_0x54c1;super(_0x22a2db),this[_0x5603db(0x1ab)]=_0x5d0c73,this[_0x5603db(0x1ac)]=_0x26bffc,this[_0x5603db(0x1b9)](),this[_0x5603db(0x1b2)]=!0x1;}[_0x44e762(0x1b9)](){const _0x1ac461=_0x44e762,_0x4ceca3=Array[_0x1ac461(0x1a1)](this[_0x1ac461(0x1ac)][_0x1ac461(0x1b8)]())[_0x1ac461(0x1a7)](_0x2cd59f=>_0x2cd59f[_0x1ac461(0x1a8)]);this[_0x1ac461(0x1b4)]=this[_0x1ac461(0x1ab)][_0x1ac461(0x1b4)]&&_0x4ceca3;}[_0x44e762(0x1b0)](){const _0x5358fb=_0x44e762,_0x1a22e2=_0x894191(Array[_0x5358fb(0x1a1)](this[_0x5358fb(0x1ac)][_0x5358fb(0x1b8)]()));for(const _0x2386d3 of _0x1a22e2){const _0x5b9034=_0x2386d3[_0x5358fb(0x1af)]();if(!this[_0x5358fb(0x1a6)][_0x5358fb(0x1bb)][_0x5358fb(0x1a3)](_0x5b9034))return;}_0x18ee07(this[_0x5358fb(0x1a6)][_0x5358fb(0x1bb)],this[_0x5358fb(0x1ab)],_0x1a22e2);}}function _0x18c8(){const _0x187492=['model','75627cwpNTg','from','1476iqJDOP','canEditAt','310Rpiyuh','52MlKnmP','editor','some','isInContent','547451gdCgLC','726qdwfMj','_command','_suggestions','19870QZQOSz','8HXGCpX','getRanges','execute','234bvyWge','_isEnabledBasedOnSelection','2pktCMH','isEnabled','562709bcboEz','159586tbNWat','119349oIgknA','values','refresh','46827mRdDGK'];_0x18c8=function(){return _0x187492;};return _0x18c8();}
23
+ function _0x15ed(_0x566dd2,_0x50926d){const _0x3096bc=_0x3096();return _0x15ed=function(_0x15ed38,_0x34587){_0x15ed38=_0x15ed38-0x1e1;let _0x5d6530=_0x3096bc[_0x15ed38];return _0x5d6530;},_0x15ed(_0x566dd2,_0x50926d);}const _0x437942=_0x15ed;function _0x3096(){const _0x35e8c2=['3050hAIeYP','_suggestions','refresh','some','354651ICnVjg','79922mBjEfS','values','2644NMrNkf','isEnabled','1015kdBqdz','editor','isInContent','_isEnabledBasedOnSelection','2853GXnClK','6738Sfyara','2083056eMttMJ','canEditAt','75685JvCqgt','150ZHFhTY','from','6MtEHga','execute','model','getRanges','_command'];_0x3096=function(){return _0x35e8c2;};return _0x3096();}(function(_0xc020da,_0x4e3175){const _0x553e5f=_0x15ed,_0x5eecf8=_0xc020da();while(!![]){try{const _0x543aaa=-parseInt(_0x553e5f(0x1f7))/0x1+-parseInt(_0x553e5f(0x1eb))/0x2*(parseInt(_0x553e5f(0x1e1))/0x3)+parseInt(_0x553e5f(0x1ed))/0x4*(parseInt(_0x553e5f(0x1f8))/0x5)+-parseInt(_0x553e5f(0x1f4))/0x6*(-parseInt(_0x553e5f(0x1ef))/0x7)+parseInt(_0x553e5f(0x1f5))/0x8+parseInt(_0x553e5f(0x1f3))/0x9*(-parseInt(_0x553e5f(0x1e6))/0xa)+parseInt(_0x553e5f(0x1ea))/0xb;if(_0x543aaa===_0x4e3175)break;else _0x5eecf8['push'](_0x5eecf8['shift']());}catch(_0x521c0c){_0x5eecf8['push'](_0x5eecf8['shift']());}}}(_0x3096,0x36714));import{Command as _0x3fb3a0}from'ckeditor5/src/core.js';import{sortSuggestions as _0x5c71b7,executeCommandForSuggestions as _0x4dffa6}from'../utils/utils.js';export default class x extends _0x3fb3a0{constructor(_0x331b92,_0x561f02,_0x18b644){const _0x1b0ae3=_0x15ed;super(_0x331b92),this[_0x1b0ae3(0x1e5)]=_0x561f02,this[_0x1b0ae3(0x1e7)]=_0x18b644,this[_0x1b0ae3(0x1e8)](),this[_0x1b0ae3(0x1f2)]=!0x1;}[_0x437942(0x1e8)](){const _0x41f557=_0x437942,_0x4619c9=Array[_0x41f557(0x1f9)](this[_0x41f557(0x1e7)][_0x41f557(0x1ec)]())[_0x41f557(0x1e9)](_0x2e36fe=>_0x2e36fe[_0x41f557(0x1f1)]);this[_0x41f557(0x1ee)]=this[_0x41f557(0x1e5)][_0x41f557(0x1ee)]&&_0x4619c9;}[_0x437942(0x1e2)](){const _0x327434=_0x437942,_0x44b069=_0x5c71b7(Array[_0x327434(0x1f9)](this[_0x327434(0x1e7)][_0x327434(0x1ec)]()));for(const _0x460fd6 of _0x44b069){const _0x403e29=_0x460fd6[_0x327434(0x1e4)]();if(!this[_0x327434(0x1f0)][_0x327434(0x1e3)][_0x327434(0x1f6)](_0x403e29))return;}_0x4dffa6(this[_0x327434(0x1f0)][_0x327434(0x1e3)],this[_0x327434(0x1e5)],_0x44b069);}}
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- const _0x263918=_0x4c97;function _0x4c97(_0x274d07,_0x3e1445){const _0x4e9f06=_0x4e9f();return _0x4c97=function(_0x4c974a,_0xa7ab67){_0x4c974a=_0x4c974a-0x1b7;let _0x549bc1=_0x4e9f06[_0x4c974a];return _0x549bc1;},_0x4c97(_0x274d07,_0x3e1445);}(function(_0x4e4596,_0x5303cc){const _0x434b85=_0x4c97,_0x54ff1f=_0x4e4596();while(!![]){try{const _0x2ce3b4=-parseInt(_0x434b85(0x1c2))/0x1+parseInt(_0x434b85(0x1c3))/0x2*(parseInt(_0x434b85(0x1b8))/0x3)+-parseInt(_0x434b85(0x1be))/0x4*(parseInt(_0x434b85(0x1ca))/0x5)+-parseInt(_0x434b85(0x1c6))/0x6+parseInt(_0x434b85(0x1ba))/0x7+-parseInt(_0x434b85(0x1cc))/0x8*(parseInt(_0x434b85(0x1cd))/0x9)+parseInt(_0x434b85(0x1b9))/0xa*(parseInt(_0x434b85(0x1cf))/0xb);if(_0x2ce3b4===_0x5303cc)break;else _0x54ff1f['push'](_0x54ff1f['shift']());}catch(_0x2429eb){_0x54ff1f['push'](_0x54ff1f['shift']());}}}(_0x4e9f,0x4cb38));import{Command as _0x2803da}from'ckeditor5/src/core.js';function _0x4e9f(){const _0x25a201=['selection','35419pKFkrl','364942YGzOPx','_selectedSuggestions','execute','801036kRfUDZ','_command','values','refresh','707335zgaLeK','from','1784Fbdgku','9657XTVFxN','model','88tGNbzq','editor','canEditAt','size','3myzqUc','303090zPrEPS','4062541gSDuAu','_isEnabledBasedOnSelection','_suggestions','document','8YzvGVI','isEnabled','getRanges'];_0x4e9f=function(){return _0x25a201;};return _0x4e9f();}import{sortSuggestions as _0x3b6c7f,getSelectedSuggestions as _0x5b6797,executeCommandForSuggestions as _0x58114d}from'../utils/utils.js';export default class R extends _0x2803da{constructor(_0x49b6cc,_0x2a36a6,_0x1ec5ab){const _0x1b79ee=_0x4c97;super(_0x49b6cc),this[_0x1b79ee(0x1c7)]=_0x2a36a6,this[_0x1b79ee(0x1bc)]=_0x1ec5ab,this[_0x1b79ee(0x1c4)]=new Set(),this[_0x1b79ee(0x1c9)](),this[_0x1b79ee(0x1bb)]=!0x1;}[_0x263918(0x1c9)](){const _0x243305=_0x263918,_0x4f83f4=this[_0x243305(0x1d0)][_0x243305(0x1ce)][_0x243305(0x1bd)][_0x243305(0x1c1)],_0x2250a6=Array[_0x243305(0x1cb)](this[_0x243305(0x1bc)][_0x243305(0x1c8)]());this[_0x243305(0x1c4)]=_0x5b6797(_0x4f83f4,_0x2250a6),this[_0x243305(0x1bf)]=this[_0x243305(0x1c7)][_0x243305(0x1bf)]&&!!this[_0x243305(0x1c4)][_0x243305(0x1b7)];}[_0x263918(0x1c5)](){const _0x7fd49e=_0x263918,_0x35b47f=_0x3b6c7f(Array[_0x7fd49e(0x1cb)](this[_0x7fd49e(0x1c4)]));for(const _0x44fe00 of _0x35b47f){const _0x51c3a5=_0x44fe00[_0x7fd49e(0x1c0)]();if(!this[_0x7fd49e(0x1d0)][_0x7fd49e(0x1ce)][_0x7fd49e(0x1d1)](_0x51c3a5))return;}_0x58114d(this[_0x7fd49e(0x1d0)][_0x7fd49e(0x1ce)],this[_0x7fd49e(0x1c7)],_0x35b47f);}}
23
+ const _0x1b4e98=_0x1a05;(function(_0x1ad37d,_0x48a862){const _0x502579=_0x1a05,_0x425721=_0x1ad37d();while(!![]){try{const _0x3f5969=parseInt(_0x502579(0xce))/0x1*(-parseInt(_0x502579(0xda))/0x2)+parseInt(_0x502579(0xd8))/0x3+-parseInt(_0x502579(0xd1))/0x4+parseInt(_0x502579(0xd4))/0x5*(parseInt(_0x502579(0xc1))/0x6)+-parseInt(_0x502579(0xd7))/0x7*(-parseInt(_0x502579(0xc6))/0x8)+-parseInt(_0x502579(0xc8))/0x9*(parseInt(_0x502579(0xca))/0xa)+parseInt(_0x502579(0xd9))/0xb;if(_0x3f5969===_0x48a862)break;else _0x425721['push'](_0x425721['shift']());}catch(_0x552d79){_0x425721['push'](_0x425721['shift']());}}}(_0x7415,0x7671d));function _0x1a05(_0x25809f,_0x535d48){const _0x74157a=_0x7415();return _0x1a05=function(_0x1a0519,_0x206e06){_0x1a0519=_0x1a0519-0xc1;let _0x535edd=_0x74157a[_0x1a0519];return _0x535edd;},_0x1a05(_0x25809f,_0x535d48);}import{Command as _0x4c2ade}from'ckeditor5/src/core.js';import{sortSuggestions as _0x27667c,getSelectedSuggestions as _0x51f5b3,executeCommandForSuggestions as _0x5c02c4}from'../utils/utils.js';function _0x7415(){const _0x44e5c6=['464544lIkfxM','_selectedSuggestions','3301101aUGsPE','document','20zDmuop','getRanges','refresh','from','899830VutLVz','selection','_isEnabledBasedOnSelection','2152840kDPOBA','execute','editor','5fpEdIj','model','_suggestions','14rrFflT','1422105ktHOIc','16383334ipqbFH','2XvTyfq','values','3463212aYSkgq','size','_command','canEditAt','isEnabled'];_0x7415=function(){return _0x44e5c6;};return _0x7415();}export default class R extends _0x4c2ade{constructor(_0x13f5ac,_0x4ed1b8,_0x268c8f){const _0x48fa4e=_0x1a05;super(_0x13f5ac),this[_0x48fa4e(0xc3)]=_0x4ed1b8,this[_0x48fa4e(0xd6)]=_0x268c8f,this[_0x48fa4e(0xc7)]=new Set(),this[_0x48fa4e(0xcc)](),this[_0x48fa4e(0xd0)]=!0x1;}[_0x1b4e98(0xcc)](){const _0x154ebb=_0x1b4e98,_0x4e24ac=this[_0x154ebb(0xd3)][_0x154ebb(0xd5)][_0x154ebb(0xc9)][_0x154ebb(0xcf)],_0x2e974b=Array[_0x154ebb(0xcd)](this[_0x154ebb(0xd6)][_0x154ebb(0xdb)]());this[_0x154ebb(0xc7)]=_0x51f5b3(_0x4e24ac,_0x2e974b),this[_0x154ebb(0xc5)]=this[_0x154ebb(0xc3)][_0x154ebb(0xc5)]&&!!this[_0x154ebb(0xc7)][_0x154ebb(0xc2)];}[_0x1b4e98(0xd2)](){const _0x320aca=_0x1b4e98,_0x333128=_0x27667c(Array[_0x320aca(0xcd)](this[_0x320aca(0xc7)]));for(const _0x32b8f3 of _0x333128){const _0x4fd485=_0x32b8f3[_0x320aca(0xcb)]();if(!this[_0x320aca(0xd3)][_0x320aca(0xd5)][_0x320aca(0xc4)](_0x4fd485))return;}_0x5c02c4(this[_0x320aca(0xd3)][_0x320aca(0xd5)],this[_0x320aca(0xc3)],_0x333128);}}
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- function _0x25b9(){const _0x28cc81=['26sWDNom','isEnabled','refresh','4291483StUESh','TrackChangesCommand','value','execute','has','6brtnJR','11sUZmsU','524632uwifHJ','clearForceDisabled','132391uvqPBk','editor','forceDisabled','1871118QbdRRD','_isEnabledBasedOnSelection','108vsDOwW','10vUUJMl','_disableUnsupportedCommands','4376570rAhXDD','_enabledCommands','affectsData','2675568fYrIPR','commands','96604hxSZbE','2MnIRhI','_enableCommands'];_0x25b9=function(){return _0x28cc81;};return _0x25b9();}function _0x37a1(_0x5a8b23,_0x1e7c6f){const _0x25b94d=_0x25b9();return _0x37a1=function(_0x37a1d7,_0x4cbe07){_0x37a1d7=_0x37a1d7-0x9f;let _0x45ccf0=_0x25b94d[_0x37a1d7];return _0x45ccf0;},_0x37a1(_0x5a8b23,_0x1e7c6f);}const _0x1a5025=_0x37a1;(function(_0x376e49,_0xf746dd){const _0x2c3ca8=_0x37a1,_0x4b5ba5=_0x376e49();while(!![]){try{const _0x456206=parseInt(_0x2c3ca8(0xba))/0x1*(parseInt(_0x2c3ca8(0xac))/0x2)+-parseInt(_0x2c3ca8(0xa1))/0x3+parseInt(_0x2c3ca8(0xab))/0x4*(parseInt(_0x2c3ca8(0xa4))/0x5)+-parseInt(_0x2c3ca8(0xb6))/0x6*(parseInt(_0x2c3ca8(0xb1))/0x7)+parseInt(_0x2c3ca8(0xb8))/0x8*(parseInt(_0x2c3ca8(0xa3))/0x9)+-parseInt(_0x2c3ca8(0xa6))/0xa*(-parseInt(_0x2c3ca8(0xb7))/0xb)+parseInt(_0x2c3ca8(0xa9))/0xc*(parseInt(_0x2c3ca8(0xae))/0xd);if(_0x456206===_0xf746dd)break;else _0x4b5ba5['push'](_0x4b5ba5['shift']());}catch(_0x3e102a){_0x4b5ba5['push'](_0x4b5ba5['shift']());}}}(_0x25b9,0x96033));import{Command as _0x4d1d6c}from'ckeditor5/src/core.js';export default class M extends _0x4d1d6c{constructor(_0x2ee099,_0x562f44){const _0x312b89=_0x37a1;super(_0x2ee099),this[_0x312b89(0xa7)]=_0x562f44,this[_0x312b89(0xb3)]=!0x1,this[_0x312b89(0xb0)](),this[_0x312b89(0xa2)]=!0x1;}[_0x1a5025(0xb0)](){const _0x4b0c01=_0x1a5025;this[_0x4b0c01(0xaf)]=!0x0;}[_0x1a5025(0xb4)](){const _0x5d72c5=_0x1a5025;this[_0x5d72c5(0xb3)]=!this[_0x5d72c5(0xb3)],this[_0x5d72c5(0xb3)]?this[_0x5d72c5(0xa5)]():this[_0x5d72c5(0xad)]();}[_0x1a5025(0xa5)](){const _0x1373ee=_0x1a5025;for(const _0x8ba572 of this[_0x1373ee(0x9f)][_0x1373ee(0xaa)][_0x1373ee(0xaa)]())_0x8ba572[_0x1373ee(0xa8)]&&!this[_0x1373ee(0xa7)][_0x1373ee(0xb5)](_0x8ba572)&&_0x8ba572[_0x1373ee(0xa0)](_0x1373ee(0xb2));}[_0x1a5025(0xad)](){const _0x18fd52=_0x1a5025;for(const _0x330e9d of this[_0x18fd52(0x9f)][_0x18fd52(0xaa)][_0x18fd52(0xaa)]())_0x330e9d[_0x18fd52(0xa8)]&&!this[_0x18fd52(0xa7)][_0x18fd52(0xb5)](_0x330e9d)&&_0x330e9d[_0x18fd52(0xb9)](_0x18fd52(0xb2));}}
23
+ const _0x1d0dac=_0x4002;(function(_0x228179,_0x296573){const _0x1af72a=_0x4002,_0x53de4b=_0x228179();while(!![]){try{const _0x7ce857=-parseInt(_0x1af72a(0x1a5))/0x1+parseInt(_0x1af72a(0x199))/0x2+-parseInt(_0x1af72a(0x1ac))/0x3*(parseInt(_0x1af72a(0x196))/0x4)+parseInt(_0x1af72a(0x1a6))/0x5+parseInt(_0x1af72a(0x1a1))/0x6*(parseInt(_0x1af72a(0x1aa))/0x7)+parseInt(_0x1af72a(0x1a4))/0x8*(parseInt(_0x1af72a(0x197))/0x9)+-parseInt(_0x1af72a(0x1ad))/0xa;if(_0x7ce857===_0x296573)break;else _0x53de4b['push'](_0x53de4b['shift']());}catch(_0x3871f7){_0x53de4b['push'](_0x53de4b['shift']());}}}(_0x409f,0xce9b8));function _0x409f(){const _0x12c140=['isEnabled','_enableCommands','clearForceDisabled','_isEnabledBasedOnSelection','editor','_enabledCommands','execute','126PapKlI','value','TrackChangesCommand','286312mjHMGm','54496osHkwX','2343195oIZniU','forceDisabled','refresh','commands','130739LnRgiO','has','492357izokXB','17407150gNhUFC','affectsData','16qzWRLM','207qCgXBh','_disableUnsupportedCommands','3227896vBdnLN'];_0x409f=function(){return _0x12c140;};return _0x409f();}import{Command as _0x4a9a7f}from'ckeditor5/src/core.js';function _0x4002(_0x5c352e,_0x18dfe1){const _0x409f86=_0x409f();return _0x4002=function(_0x400253,_0x2d0792){_0x400253=_0x400253-0x196;let _0x3a25ea=_0x409f86[_0x400253];return _0x3a25ea;},_0x4002(_0x5c352e,_0x18dfe1);}export default class M extends _0x4a9a7f{constructor(_0x3234fd,_0xab0550){const _0x113020=_0x4002;super(_0x3234fd),this[_0x113020(0x19f)]=_0xab0550,this[_0x113020(0x1a2)]=!0x1,this[_0x113020(0x1a8)](),this[_0x113020(0x19d)]=!0x1;}[_0x1d0dac(0x1a8)](){const _0x4fc814=_0x1d0dac;this[_0x4fc814(0x19a)]=!0x0;}[_0x1d0dac(0x1a0)](){const _0x3e960f=_0x1d0dac;this[_0x3e960f(0x1a2)]=!this[_0x3e960f(0x1a2)],this[_0x3e960f(0x1a2)]?this[_0x3e960f(0x198)]():this[_0x3e960f(0x19b)]();}[_0x1d0dac(0x198)](){const _0x344764=_0x1d0dac;for(const _0x10ac97 of this[_0x344764(0x19e)][_0x344764(0x1a9)][_0x344764(0x1a9)]())_0x10ac97[_0x344764(0x1ae)]&&!this[_0x344764(0x19f)][_0x344764(0x1ab)](_0x10ac97)&&_0x10ac97[_0x344764(0x1a7)](_0x344764(0x1a3));}[_0x1d0dac(0x19b)](){const _0x5b7893=_0x1d0dac;for(const _0xe96fd7 of this[_0x5b7893(0x19e)][_0x5b7893(0x1a9)][_0x5b7893(0x1a9)]())_0xe96fd7[_0x5b7893(0x1ae)]&&!this[_0x5b7893(0x19f)][_0x5b7893(0x1ab)](_0xe96fd7)&&_0xe96fd7[_0x5b7893(0x19c)](_0x5b7893(0x1a3));}}
package/src/index.js CHANGED
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- (function(_0x128863,_0x14c309){var _0x2323f1=_0x2513,_0x5b2c92=_0x128863();while(!![]){try{var _0x1a57a8=parseInt(_0x2323f1(0x1ad))/0x1+-parseInt(_0x2323f1(0x1ae))/0x2*(-parseInt(_0x2323f1(0x1ac))/0x3)+-parseInt(_0x2323f1(0x1b1))/0x4*(-parseInt(_0x2323f1(0x1af))/0x5)+-parseInt(_0x2323f1(0x1b0))/0x6*(-parseInt(_0x2323f1(0x1ab))/0x7)+parseInt(_0x2323f1(0x1b2))/0x8*(parseInt(_0x2323f1(0x1a8))/0x9)+-parseInt(_0x2323f1(0x1a9))/0xa+-parseInt(_0x2323f1(0x1aa))/0xb;if(_0x1a57a8===_0x14c309)break;else _0x5b2c92['push'](_0x5b2c92['shift']());}catch(_0x27365a){_0x5b2c92['push'](_0x5b2c92['shift']());}}}(_0x50b8,0xb5422));export{default as TrackChanges}from'./trackchanges.js';function _0x2513(_0x57a442,_0x5c33ac){var _0x50b89c=_0x50b8();return _0x2513=function(_0x2513c2,_0x1543e0){_0x2513c2=_0x2513c2-0x1a8;var _0x58792d=_0x50b89c[_0x2513c2];return _0x58792d;},_0x2513(_0x57a442,_0x5c33ac);}function _0x50b8(){var _0x3050c5=['989310EikcVq','74216YaOFjH','5JjUJgc','6pMPukg','5360244tvLYdT','8Bdsbsy','6708447GqtyWh','9491850GucIwO','34433388qtFhKX','7294847GiLnGR','57MzJDUa'];_0x50b8=function(){return _0x3050c5;};return _0x50b8();}export{default as TrackChangesData}from'./trackchangesdata.js';export{default as TrackChangesEditing}from'./trackchangesediting.js';export{default as BaseSuggestionThreadView}from'./ui/view/basesuggestionthreadview.js';import'./augmentation.js';
23
+ (function(_0x409e23,_0x4981fb){var _0x44032b=_0x2209,_0x3a962e=_0x409e23();while(!![]){try{var _0x4fbfda=-parseInt(_0x44032b(0xc4))/0x1*(parseInt(_0x44032b(0xbe))/0x2)+parseInt(_0x44032b(0xc3))/0x3+-parseInt(_0x44032b(0xc7))/0x4*(-parseInt(_0x44032b(0xbf))/0x5)+parseInt(_0x44032b(0xc5))/0x6*(-parseInt(_0x44032b(0xc0))/0x7)+parseInt(_0x44032b(0xc1))/0x8*(parseInt(_0x44032b(0xbd))/0x9)+-parseInt(_0x44032b(0xc2))/0xa+-parseInt(_0x44032b(0xc6))/0xb*(parseInt(_0x44032b(0xc8))/0xc);if(_0x4fbfda===_0x4981fb)break;else _0x3a962e['push'](_0x3a962e['shift']());}catch(_0x20ed45){_0x3a962e['push'](_0x3a962e['shift']());}}}(_0x3cc8,0xb17e6));export{default as TrackChanges}from'./trackchanges.js';export{default as TrackChangesData}from'./trackchangesdata.js';function _0x2209(_0x428f59,_0x44df5f){var _0x3cc8aa=_0x3cc8();return _0x2209=function(_0x220975,_0x359938){_0x220975=_0x220975-0xbd;var _0xebe16d=_0x3cc8aa[_0x220975];return _0xebe16d;},_0x2209(_0x428f59,_0x44df5f);}function _0x3cc8(){var _0x2193bf=['2515566kaxNPO','51763aStvXC','3135648ZRQlFV','11dzEBMq','4UWqeNX','1809960HouZFE','252153FTbloM','36gMtfiy','2737030AmYIBt','7PFxVct','344RsroQK','2584730MOEHLP'];_0x3cc8=function(){return _0x2193bf;};return _0x3cc8();}export{default as TrackChangesEditing}from'./trackchangesediting.js';export{default as BaseSuggestionThreadView}from'./ui/view/basesuggestionthreadview.js';import'./augmentation.js';