@univerjs/docs-thread-comment-ui 0.5.5-nightly.202501210604 → 0.5.5-nightly.202501210849

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 (2) hide show
  1. package/lib/es/index.js +408 -399
  2. package/package.json +8 -8
package/lib/es/index.js CHANGED
@@ -1,45 +1,46 @@
1
- var Re = Object.defineProperty;
2
- var ye = (e, t, r) => t in e ? Re(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
- var K = (e, t, r) => ye(e, typeof t != "symbol" ? t + "" : t, r);
4
- import { Inject as v, Disposable as B, CommandType as w, ICommandService as M, CustomDecorationType as X, sequenceExecute as se, UniverInstanceType as S, SHEET_EDITOR_UNITS as Te, useDependency as P, IUniverInstanceService as F, Injector as de, isInternalEditorID as ce, useObservable as G, UserManagerService as Ue, BuildTextUtils as Pe, DependentOn as Ee, Plugin as we, merge as Ne, IConfigService as Ae } from "@univerjs/core";
5
- import { IRenderManagerService as L, DocumentEditArea as te } from "@univerjs/engine-render";
6
- import { ThreadCommentPanelService as T, SetActiveCommentOperation as ae, ThreadCommentPanel as $e, UniverThreadCommentUIPlugin as Ve } from "@univerjs/thread-comment-ui";
7
- import { DocSelectionManagerService as H, DocSkeletonManagerService as je, RichTextEditingMutation as me, SetTextSelectionsOperation as Be, DocInterceptorService as Fe, DOC_INTERCEPTOR_POINT as Le } from "@univerjs/docs";
8
- import { addCustomDecorationBySelectionFactory as He, deleteCustomDecorationFactory as We, DocSelectionRenderService as qe, DocBackScrollRenderController as Je, DocRenderController as Ke } from "@univerjs/docs-ui";
9
- import { IThreadCommentDataSourceService as Ge, AddCommentMutation as Ze, getDT as ze, ThreadCommentModel as le } from "@univerjs/thread-comment";
10
- import { ISidebarService as W, MenuItemType as ue, getMenuHiddenObservable as fe, RibbonStartGroup as Ye, ContextMenuPosition as Qe, ContextMenuGroup as Xe, ComponentManager as ke, IMenuManagerService as et } from "@univerjs/ui";
11
- import { BehaviorSubject as tt, Observable as he, debounceTime as Ce, filter as nt } from "rxjs";
12
- import rt, { useMemo as Z, useState as it, useEffect as ot, forwardRef as _e, useRef as st, createElement as pe } from "react";
13
- const dt = "DOC_THREAD_COMMENT_UI_PLUGIN", I = "default_doc", ct = "docs-thread-comment-ui.config", ne = {};
14
- var at = Object.defineProperty, mt = Object.getOwnPropertyDescriptor, lt = (e, t, r, n) => {
15
- for (var i = n > 1 ? void 0 : n ? mt(t, r) : t, o = e.length - 1, s; o >= 0; o--)
16
- (s = e[o]) && (i = (n ? s(t, r, i) : s(i)) || i);
17
- return n && i && at(t, r, i), i;
18
- }, re = (e, t) => (r, n) => t(r, n, e);
19
- let R = class extends B {
20
- constructor(t, r) {
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;
3
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != "symbol" ? key + "" : key, value);
5
+ import { Inject, Disposable, CommandType, ICommandService, CustomDecorationType, sequenceExecute, UniverInstanceType, SHEET_EDITOR_UNITS, useDependency, IUniverInstanceService, Injector, isInternalEditorID, useObservable, UserManagerService, BuildTextUtils, DependentOn, Plugin, merge, IConfigService } from "@univerjs/core";
6
+ import { IRenderManagerService, DocumentEditArea } from "@univerjs/engine-render";
7
+ import { ThreadCommentPanelService, SetActiveCommentOperation, ThreadCommentPanel, UniverThreadCommentUIPlugin } from "@univerjs/thread-comment-ui";
8
+ import { DocSelectionManagerService, DocSkeletonManagerService, RichTextEditingMutation, SetTextSelectionsOperation, DocInterceptorService, DOC_INTERCEPTOR_POINT } from "@univerjs/docs";
9
+ import { addCustomDecorationBySelectionFactory, deleteCustomDecorationFactory, DocSelectionRenderService, DocBackScrollRenderController, DocRenderController } from "@univerjs/docs-ui";
10
+ import { IThreadCommentDataSourceService, AddCommentMutation, getDT, ThreadCommentModel } from "@univerjs/thread-comment";
11
+ import { ISidebarService, MenuItemType, getMenuHiddenObservable, RibbonStartGroup, ContextMenuPosition, ContextMenuGroup, ComponentManager, IMenuManagerService } from "@univerjs/ui";
12
+ import { BehaviorSubject, Observable, debounceTime, filter } from "rxjs";
13
+ import require$$0, { useMemo, useState, useEffect, forwardRef, useRef, createElement } from "react";
14
+ const PLUGIN_NAME = "DOC_THREAD_COMMENT_UI_PLUGIN", DEFAULT_DOC_SUBUNIT_ID = "default_doc", DOCS_THREAD_COMMENT_UI_PLUGIN_CONFIG_KEY = "docs-thread-comment-ui.config", defaultPluginConfig = {};
15
+ var __defProp$4 = Object.defineProperty, __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor, __decorateClass$4 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
16
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
17
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
18
+ return kind && result && __defProp$4(target, key, result), result;
19
+ }, "__decorateClass$4"), __decorateParam$4 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$4"), _a;
20
+ let DocThreadCommentService = (_a = class extends Disposable {
21
+ constructor(_sidebarService, _threadCommentPanelService) {
21
22
  super();
22
- K(this, "_addingComment$", new tt(void 0));
23
- K(this, "addingComment$", this._addingComment$.asObservable());
24
- this._sidebarService = t, this._threadCommentPanelService = r, this.disposeWithMe(() => {
23
+ __publicField(this, "_addingComment$", new BehaviorSubject(void 0));
24
+ __publicField(this, "addingComment$", this._addingComment$.asObservable());
25
+ this._sidebarService = _sidebarService, this._threadCommentPanelService = _threadCommentPanelService, this.disposeWithMe(() => {
25
26
  this._addingComment$.complete();
26
27
  });
27
28
  }
28
29
  get addingComment() {
29
30
  return this._addingComment$.getValue();
30
31
  }
31
- startAdd(t) {
32
- this._addingComment$.next(t);
32
+ startAdd(comment) {
33
+ this._addingComment$.next(comment);
33
34
  }
34
35
  endAdd() {
35
36
  this._addingComment$.next(void 0);
36
37
  }
37
- };
38
- R = lt([
39
- re(0, W),
40
- re(1, v(T))
41
- ], R);
42
- var z = { exports: {} }, E = {};
38
+ }, __name(_a, "DocThreadCommentService"), _a);
39
+ DocThreadCommentService = __decorateClass$4([
40
+ __decorateParam$4(0, ISidebarService),
41
+ __decorateParam$4(1, Inject(ThreadCommentPanelService))
42
+ ], DocThreadCommentService);
43
+ var jsxRuntime = { exports: {} }, reactJsxRuntime_production_min = {};
43
44
  /**
44
45
  * @license React
45
46
  * react-jsx-runtime.production.min.js
@@ -49,265 +50,269 @@ var z = { exports: {} }, E = {};
49
50
  * This source code is licensed under the MIT license found in the
50
51
  * LICENSE file in the root directory of this source tree.
51
52
  */
52
- var ie;
53
- function ut() {
54
- if (ie) return E;
55
- ie = 1;
56
- var e = rt, t = Symbol.for("react.element"), r = Symbol.for("react.fragment"), n = Object.prototype.hasOwnProperty, i = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, o = { key: !0, ref: !0, __self: !0, __source: !0 };
57
- function s(d, a, u) {
58
- var c, f = {}, C = null, _ = null;
59
- u !== void 0 && (C = "" + u), a.key !== void 0 && (C = "" + a.key), a.ref !== void 0 && (_ = a.ref);
60
- for (c in a) n.call(a, c) && !o.hasOwnProperty(c) && (f[c] = a[c]);
61
- if (d && d.defaultProps) for (c in a = d.defaultProps, a) f[c] === void 0 && (f[c] = a[c]);
62
- return { $$typeof: t, type: d, key: C, ref: _, props: f, _owner: i.current };
53
+ var hasRequiredReactJsxRuntime_production_min;
54
+ function requireReactJsxRuntime_production_min() {
55
+ if (hasRequiredReactJsxRuntime_production_min) return reactJsxRuntime_production_min;
56
+ hasRequiredReactJsxRuntime_production_min = 1;
57
+ var f = require$$0, k = Symbol.for("react.element"), l = Symbol.for("react.fragment"), m = Object.prototype.hasOwnProperty, n = f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, p = { key: !0, ref: !0, __self: !0, __source: !0 };
58
+ function q(c, a, g) {
59
+ var b, d = {}, e = null, h = null;
60
+ g !== void 0 && (e = "" + g), a.key !== void 0 && (e = "" + a.key), a.ref !== void 0 && (h = a.ref);
61
+ for (b in a) m.call(a, b) && !p.hasOwnProperty(b) && (d[b] = a[b]);
62
+ if (c && c.defaultProps) for (b in a = c.defaultProps, a) d[b] === void 0 && (d[b] = a[b]);
63
+ return { $$typeof: k, type: c, key: e, ref: h, props: d, _owner: n.current };
63
64
  }
64
- return E.Fragment = r, E.jsx = s, E.jsxs = s, E;
65
+ return __name(q, "q"), reactJsxRuntime_production_min.Fragment = l, reactJsxRuntime_production_min.jsx = q, reactJsxRuntime_production_min.jsxs = q, reactJsxRuntime_production_min;
65
66
  }
66
- var oe;
67
- function ft() {
68
- return oe || (oe = 1, z.exports = ut()), z.exports;
67
+ __name(requireReactJsxRuntime_production_min, "requireReactJsxRuntime_production_min");
68
+ var hasRequiredJsxRuntime;
69
+ function requireJsxRuntime() {
70
+ return hasRequiredJsxRuntime || (hasRequiredJsxRuntime = 1, jsxRuntime.exports = requireReactJsxRuntime_production_min()), jsxRuntime.exports;
69
71
  }
70
- var ht = ft();
71
- const ve = {
72
+ __name(requireJsxRuntime, "requireJsxRuntime");
73
+ var jsxRuntimeExports = requireJsxRuntime();
74
+ const AddDocCommentComment = {
72
75
  id: "docs.command.add-comment",
73
- type: w.COMMAND,
74
- async handler(e, t) {
75
- if (!t)
76
+ type: CommandType.COMMAND,
77
+ async handler(accessor, params) {
78
+ if (!params)
76
79
  return !1;
77
- const { comment: r, unitId: n } = t, o = await e.get(Ge).addComment(r), s = e.get(M), d = He(
78
- e,
80
+ const { comment: originComment, unitId } = params, comment = await accessor.get(IThreadCommentDataSourceService).addComment(originComment), commandService = accessor.get(ICommandService), doMutation = addCustomDecorationBySelectionFactory(
81
+ accessor,
79
82
  {
80
- id: o.threadId,
81
- type: X.COMMENT,
82
- unitId: n
83
+ id: comment.threadId,
84
+ type: CustomDecorationType.COMMENT,
85
+ unitId
83
86
  }
84
87
  );
85
- if (d) {
86
- const a = {
87
- id: Ze.id,
88
+ if (doMutation) {
89
+ const addComment = {
90
+ id: AddCommentMutation.id,
88
91
  params: {
89
- unitId: n,
90
- subUnitId: I,
91
- comment: o
92
+ unitId,
93
+ subUnitId: DEFAULT_DOC_SUBUNIT_ID,
94
+ comment
92
95
  }
93
- }, u = {
94
- id: ae.id,
96
+ }, activeOperation = {
97
+ id: SetActiveCommentOperation.id,
95
98
  params: {
96
- unitId: n,
97
- subUnitId: I,
98
- commentId: o.id
99
+ unitId,
100
+ subUnitId: DEFAULT_DOC_SUBUNIT_ID,
101
+ commentId: comment.id
99
102
  }
100
103
  };
101
- return (await se([a, d, u], s)).result;
104
+ return (await sequenceExecute([addComment, doMutation, activeOperation], commandService)).result;
102
105
  }
103
106
  return !1;
104
107
  }
105
- }, ge = {
108
+ }, DeleteDocCommentComment = {
106
109
  id: "docs.command.delete-comment",
107
- type: w.COMMAND,
108
- async handler(e, t) {
109
- if (!t)
110
+ type: CommandType.COMMAND,
111
+ async handler(accessor, params) {
112
+ if (!params)
110
113
  return !1;
111
- const { commentId: r, unitId: n } = t, i = e.get(M), o = We(e, {
112
- id: r,
113
- unitId: n
114
+ const { commentId, unitId } = params, commandService = accessor.get(ICommandService), doMutation = deleteCustomDecorationFactory(accessor, {
115
+ id: commentId,
116
+ unitId
114
117
  });
115
- return o ? (await se([o], i)).result : !1;
118
+ return doMutation ? (await sequenceExecute([doMutation], commandService)).result : !1;
116
119
  }
117
- }, Ie = (e) => {
118
- const t = e.get(L), r = e.get(H), n = t.getCurrent(), i = n == null ? void 0 : n.with(je).getSkeleton(), o = i == null ? void 0 : i.getViewModel().getEditArea();
119
- if (o === te.FOOTER || o === te.HEADER)
120
+ }, shouldDisableAddComment = /* @__PURE__ */ __name((accessor) => {
121
+ const renderManagerService = accessor.get(IRenderManagerService), docSelectionManagerService = accessor.get(DocSelectionManagerService), render2 = renderManagerService.getCurrent(), skeleton = render2 == null ? void 0 : render2.with(DocSkeletonManagerService).getSkeleton(), editArea = skeleton == null ? void 0 : skeleton.getViewModel().getEditArea();
122
+ if (editArea === DocumentEditArea.FOOTER || editArea === DocumentEditArea.HEADER)
120
123
  return !0;
121
- const s = r.getActiveTextRange();
122
- return !!(s == null || s.collapsed);
123
- };
124
- function Ct(e) {
124
+ const range = docSelectionManagerService.getActiveTextRange();
125
+ return !!(range == null || range.collapsed);
126
+ }, "shouldDisableAddComment");
127
+ function AddDocCommentMenuItemFactory(accessor) {
125
128
  return {
126
- id: q.id,
127
- type: ue.BUTTON,
129
+ id: StartAddCommentOperation.id,
130
+ type: MenuItemType.BUTTON,
128
131
  icon: "CommentSingle",
129
132
  title: "threadCommentUI.panel.addComment",
130
133
  tooltip: "threadCommentUI.panel.addComment",
131
- hidden$: fe(e, S.UNIVER_DOC, void 0, Te),
132
- disabled$: new he(function(t) {
133
- const n = e.get(H).textSelection$.pipe(Ce(16)).subscribe(() => {
134
- t.next(Ie(e));
134
+ hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC, void 0, SHEET_EDITOR_UNITS),
135
+ disabled$: new Observable(function(subscribe) {
136
+ const observer = accessor.get(DocSelectionManagerService).textSelection$.pipe(debounceTime(16)).subscribe(() => {
137
+ subscribe.next(shouldDisableAddComment(accessor));
135
138
  });
136
139
  return () => {
137
- n.unsubscribe();
140
+ observer.unsubscribe();
138
141
  };
139
142
  })
140
143
  };
141
144
  }
142
- function _t(e) {
145
+ __name(AddDocCommentMenuItemFactory, "AddDocCommentMenuItemFactory");
146
+ function ToolbarDocCommentMenuItemFactory(accessor) {
143
147
  return {
144
- id: ee.id,
145
- type: ue.BUTTON,
148
+ id: ToggleCommentPanelOperation.id,
149
+ type: MenuItemType.BUTTON,
146
150
  icon: "CommentSingle",
147
151
  title: "threadCommentUI.panel.addComment",
148
152
  tooltip: "threadCommentUI.panel.addComment",
149
- hidden$: fe(e, S.UNIVER_DOC)
153
+ hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC)
150
154
  };
151
155
  }
152
- const y = () => {
153
- const e = P(F), t = P(de), r = Z(() => e.getCurrentTypeOfUnit$(S.UNIVER_DOC).pipe(nt((m) => !!m && !ce(m.getUnitId()))), [e]), n = G(r), i = Z(() => new he((m) => m.next(I)), []), o = P(H), s = Z(
154
- () => o.textSelection$.pipe(Ce(16)),
155
- [o.textSelection$]
156
+ __name(ToolbarDocCommentMenuItemFactory, "ToolbarDocCommentMenuItemFactory");
157
+ const DocThreadCommentPanel = /* @__PURE__ */ __name(() => {
158
+ const univerInstanceService = useDependency(IUniverInstanceService), injector = useDependency(Injector), doc$ = useMemo(() => univerInstanceService.getCurrentTypeOfUnit$(UniverInstanceType.UNIVER_DOC).pipe(filter((doc2) => !!doc2 && !isInternalEditorID(doc2.getUnitId()))), [univerInstanceService]), doc = useObservable(doc$), subUnitId$ = useMemo(() => new Observable((sub) => sub.next(DEFAULT_DOC_SUBUNIT_ID)), []), docSelectionManagerService = useDependency(DocSelectionManagerService), selectionChange$ = useMemo(
159
+ () => docSelectionManagerService.textSelection$.pipe(debounceTime(16)),
160
+ [docSelectionManagerService.textSelection$]
156
161
  );
157
- G(s);
158
- const d = P(M), a = P(R), u = G(a.addingComment$), [c, f] = it([]);
159
- if (ot(() => {
160
- var b;
161
- const m = /* @__PURE__ */ new Set(), l = n == null ? void 0 : n.getCustomDecorations();
162
- f((b = l == null ? void 0 : l.map((h) => h.id).filter((h) => {
163
- const O = m.has(h);
164
- return m.add(h), !O;
165
- })) != null ? b : []);
166
- const g = d.onCommandExecuted((h) => {
167
- var O;
168
- if (h.id === me.id) {
169
- const U = /* @__PURE__ */ new Set(), J = n == null ? void 0 : n.getCustomDecorations();
170
- f((O = J == null ? void 0 : J.map((N) => N.id).filter((N) => {
171
- const De = U.has(N);
172
- return U.add(N), !De;
173
- })) != null ? O : []);
162
+ useObservable(selectionChange$);
163
+ const commandService = useDependency(ICommandService), docCommentService = useDependency(DocThreadCommentService), tempComment = useObservable(docCommentService.addingComment$), [commentIds, setCommentIds] = useState([]);
164
+ if (useEffect(() => {
165
+ var _a6;
166
+ const set = /* @__PURE__ */ new Set(), customRanges = doc == null ? void 0 : doc.getCustomDecorations();
167
+ setCommentIds((_a6 = customRanges == null ? void 0 : customRanges.map((r) => r.id).filter((i) => {
168
+ const hasRepeat = set.has(i);
169
+ return set.add(i), !hasRepeat;
170
+ })) != null ? _a6 : []);
171
+ const dispose = commandService.onCommandExecuted((command) => {
172
+ var _a7;
173
+ if (command.id === RichTextEditingMutation.id) {
174
+ const set2 = /* @__PURE__ */ new Set(), customRanges2 = doc == null ? void 0 : doc.getCustomDecorations();
175
+ setCommentIds((_a7 = customRanges2 == null ? void 0 : customRanges2.map((r) => r.id).filter((i) => {
176
+ const hasRepeat = set2.has(i);
177
+ return set2.add(i), !hasRepeat;
178
+ })) != null ? _a7 : []);
174
179
  }
175
180
  });
176
181
  return () => {
177
- g.dispose();
182
+ dispose.dispose();
178
183
  };
179
- }, [d, n]), !n)
184
+ }, [commandService, doc]), !doc)
180
185
  return null;
181
- const C = Ie(t), _ = n.getUnitId();
182
- return /* @__PURE__ */ ht.jsx(
183
- $e,
186
+ const isInValidSelection = shouldDisableAddComment(injector), unitId = doc.getUnitId();
187
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
188
+ ThreadCommentPanel,
184
189
  {
185
- unitId: _,
186
- subUnitId$: i,
187
- type: S.UNIVER_DOC,
188
- onAdd: () => {
189
- d.executeCommand(q.id);
190
- },
191
- getSubUnitName: () => "",
192
- disableAdd: C,
193
- tempComment: u,
194
- onAddComment: (m) => {
195
- if (!m.parentId) {
196
- const l = {
197
- unitId: _,
198
- range: u,
199
- comment: m
190
+ unitId,
191
+ subUnitId$,
192
+ type: UniverInstanceType.UNIVER_DOC,
193
+ onAdd: /* @__PURE__ */ __name(() => {
194
+ commandService.executeCommand(StartAddCommentOperation.id);
195
+ }, "onAdd"),
196
+ getSubUnitName: /* @__PURE__ */ __name(() => "", "getSubUnitName"),
197
+ disableAdd: isInValidSelection,
198
+ tempComment,
199
+ onAddComment: /* @__PURE__ */ __name((comment) => {
200
+ if (!comment.parentId) {
201
+ const params = {
202
+ unitId,
203
+ range: tempComment,
204
+ comment
200
205
  };
201
- return d.executeCommand(ve.id, l), a.endAdd(), !1;
206
+ return commandService.executeCommand(AddDocCommentComment.id, params), docCommentService.endAdd(), !1;
202
207
  }
203
208
  return !0;
204
- },
205
- onDeleteComment: (m) => {
206
- if (!m.parentId) {
207
- const l = {
208
- unitId: _,
209
- commentId: m.id
209
+ }, "onAddComment"),
210
+ onDeleteComment: /* @__PURE__ */ __name((comment) => {
211
+ if (!comment.parentId) {
212
+ const params = {
213
+ unitId,
214
+ commentId: comment.id
210
215
  };
211
- return d.executeCommand(ge.id, l), !1;
216
+ return commandService.executeCommand(DeleteDocCommentComment.id, params), !1;
212
217
  }
213
218
  return !0;
214
- },
215
- showComments: c
219
+ }, "onDeleteComment"),
220
+ showComments: commentIds
216
221
  }
217
222
  );
218
- };
219
- y.componentKey = "univer.doc.thread-comment-panel";
220
- const A = {
223
+ }, "DocThreadCommentPanel");
224
+ DocThreadCommentPanel.componentKey = "univer.doc.thread-comment-panel";
225
+ const ShowCommentPanelOperation = {
221
226
  id: "docs.operation.show-comment-panel",
222
- type: w.OPERATION,
223
- handler(e, t) {
224
- var i;
225
- const r = e.get(T), n = e.get(W);
226
- return (!r.panelVisible || ((i = n.options.children) == null ? void 0 : i.label) !== y.componentKey) && (n.open({
227
+ type: CommandType.OPERATION,
228
+ handler(accessor, params) {
229
+ var _a6;
230
+ const panelService = accessor.get(ThreadCommentPanelService), sidebarService = accessor.get(ISidebarService);
231
+ return (!panelService.panelVisible || ((_a6 = sidebarService.options.children) == null ? void 0 : _a6.label) !== DocThreadCommentPanel.componentKey) && (sidebarService.open({
227
232
  header: { title: "threadCommentUI.panel.title" },
228
- children: { label: y.componentKey },
233
+ children: { label: DocThreadCommentPanel.componentKey },
229
234
  width: 320,
230
- onClose: () => r.setPanelVisible(!1)
231
- }), r.setPanelVisible(!0)), t && r.setActiveComment(t == null ? void 0 : t.activeComment), !0;
235
+ onClose: /* @__PURE__ */ __name(() => panelService.setPanelVisible(!1), "onClose")
236
+ }), panelService.setPanelVisible(!0)), params && panelService.setActiveComment(params == null ? void 0 : params.activeComment), !0;
232
237
  }
233
- }, ee = {
238
+ }, ToggleCommentPanelOperation = {
234
239
  id: "docs.operation.toggle-comment-panel",
235
- type: w.OPERATION,
236
- handler(e) {
237
- var n;
238
- const t = e.get(T), r = e.get(W);
239
- return !t.panelVisible || ((n = r.options.children) == null ? void 0 : n.label) !== y.componentKey ? (r.open({
240
+ type: CommandType.OPERATION,
241
+ handler(accessor) {
242
+ var _a6;
243
+ const panelService = accessor.get(ThreadCommentPanelService), sidebarService = accessor.get(ISidebarService);
244
+ return !panelService.panelVisible || ((_a6 = sidebarService.options.children) == null ? void 0 : _a6.label) !== DocThreadCommentPanel.componentKey ? (sidebarService.open({
240
245
  header: { title: "threadCommentUI.panel.title" },
241
- children: { label: y.componentKey },
246
+ children: { label: DocThreadCommentPanel.componentKey },
242
247
  width: 320,
243
- onClose: () => t.setPanelVisible(!1)
244
- }), t.setPanelVisible(!0)) : (r.close(), t.setPanelVisible(!1), t.setActiveComment(null)), !0;
248
+ onClose: /* @__PURE__ */ __name(() => panelService.setPanelVisible(!1), "onClose")
249
+ }), panelService.setPanelVisible(!0)) : (sidebarService.close(), panelService.setPanelVisible(!1), panelService.setActiveComment(null)), !0;
245
250
  }
246
- }, q = {
251
+ }, StartAddCommentOperation = {
247
252
  id: "docs.operation.start-add-comment",
248
- type: w.OPERATION,
249
- handler(e) {
250
- var h, O, U;
251
- const t = e.get(T), n = e.get(F).getCurrentUnitForType(S.UNIVER_DOC), i = e.get(H), o = e.get(L), s = e.get(Ue), d = e.get(R), a = e.get(M), u = e.get(W), c = i.getActiveTextRange();
252
- if (!n || !c)
253
+ type: CommandType.OPERATION,
254
+ handler(accessor) {
255
+ var _a6, _b, _c;
256
+ const panelService = accessor.get(ThreadCommentPanelService), doc = accessor.get(IUniverInstanceService).getCurrentUnitForType(UniverInstanceType.UNIVER_DOC), docSelectionManagerService = accessor.get(DocSelectionManagerService), renderManagerService = accessor.get(IRenderManagerService), userManagerService = accessor.get(UserManagerService), docCommentService = accessor.get(DocThreadCommentService), commandService = accessor.get(ICommandService), sidebarService = accessor.get(ISidebarService), textRange = docSelectionManagerService.getActiveTextRange();
257
+ if (!doc || !textRange)
253
258
  return !1;
254
- const f = (h = o.getRenderById(n.getUnitId())) == null ? void 0 : h.with(qe);
255
- if (f == null || f.setReserveRangesStatus(!0), c.collapsed)
256
- return t.panelVisible ? (t.setPanelVisible(!1), u.close()) : a.executeCommand(A.id), !0;
257
- a.executeCommand(A.id);
258
- const C = n.getUnitId(), _ = ((U = (O = n.getBody()) == null ? void 0 : O.dataStream) != null ? U : "").slice(c.startOffset, c.endOffset), m = Pe.transform.getPlainText(_), l = I, g = "", b = {
259
- unitId: C,
260
- subUnitId: l,
261
- id: g,
262
- ref: m,
263
- dT: ze(),
264
- personId: s.getCurrentUser().userID,
259
+ const docSelectionRenderManager = (_a6 = renderManagerService.getRenderById(doc.getUnitId())) == null ? void 0 : _a6.with(DocSelectionRenderService);
260
+ if (docSelectionRenderManager == null || docSelectionRenderManager.setReserveRangesStatus(!0), textRange.collapsed)
261
+ return panelService.panelVisible ? (panelService.setPanelVisible(!1), sidebarService.close()) : commandService.executeCommand(ShowCommentPanelOperation.id), !0;
262
+ commandService.executeCommand(ShowCommentPanelOperation.id);
263
+ const unitId = doc.getUnitId(), dataStream = ((_c = (_b = doc.getBody()) == null ? void 0 : _b.dataStream) != null ? _c : "").slice(textRange.startOffset, textRange.endOffset), text = BuildTextUtils.transform.getPlainText(dataStream), subUnitId = DEFAULT_DOC_SUBUNIT_ID, commentId = "", comment = {
264
+ unitId,
265
+ subUnitId,
266
+ id: commentId,
267
+ ref: text,
268
+ dT: getDT(),
269
+ personId: userManagerService.getCurrentUser().userID,
265
270
  text: {
266
271
  dataStream: `\r
267
272
  `
268
273
  },
269
- startOffset: c.startOffset,
270
- endOffset: c.endOffset,
274
+ startOffset: textRange.startOffset,
275
+ endOffset: textRange.endOffset,
271
276
  collapsed: !0,
272
- threadId: g
277
+ threadId: commentId
273
278
  };
274
- return f == null || f.blur(), d.startAdd(b), t.setActiveComment({
275
- unitId: C,
276
- subUnitId: l,
277
- commentId: g
279
+ return docSelectionRenderManager == null || docSelectionRenderManager.blur(), docCommentService.startAdd(comment), panelService.setActiveComment({
280
+ unitId,
281
+ subUnitId,
282
+ commentId
278
283
  }), !0;
279
284
  }
280
285
  };
281
- var pt = Object.defineProperty, vt = Object.getOwnPropertyDescriptor, gt = (e, t, r, n) => {
282
- for (var i = n > 1 ? void 0 : n ? vt(t, r) : t, o = e.length - 1, s; o >= 0; o--)
283
- (s = e[o]) && (i = (n ? s(t, r, i) : s(i)) || i);
284
- return n && i && pt(t, r, i), i;
285
- }, x = (e, t) => (r, n) => t(r, n, e);
286
- let $ = class extends B {
287
- constructor(e, t, r, n, i, o) {
288
- super(), this._threadCommentPanelService = e, this._univerInstanceService = t, this._commandService = r, this._docThreadCommentService = n, this._renderManagerService = i, this._threadCommentModel = o, this._initSelectionChange(), this._initActiveCommandChange();
286
+ var __defProp$3 = Object.defineProperty, __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor, __decorateClass$3 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
287
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
288
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
289
+ return kind && result && __defProp$3(target, key, result), result;
290
+ }, "__decorateClass$3"), __decorateParam$3 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$3"), _a2;
291
+ let DocThreadCommentSelectionController = (_a2 = class extends Disposable {
292
+ constructor(_threadCommentPanelService, _univerInstanceService, _commandService, _docThreadCommentService, _renderManagerService, _threadCommentModel) {
293
+ super(), this._threadCommentPanelService = _threadCommentPanelService, this._univerInstanceService = _univerInstanceService, this._commandService = _commandService, this._docThreadCommentService = _docThreadCommentService, this._renderManagerService = _renderManagerService, this._threadCommentModel = _threadCommentModel, this._initSelectionChange(), this._initActiveCommandChange();
289
294
  }
290
295
  _initSelectionChange() {
291
- let e;
296
+ let lastSelection;
292
297
  this.disposeWithMe(
293
- this._commandService.onCommandExecuted((t) => {
294
- var r, n, i, o;
295
- if (t.id === Be.id) {
296
- const s = t.params, { unitId: d, ranges: a } = s;
297
- if (ce(d)) return;
298
- const u = this._univerInstanceService.getUnit(d, S.UNIVER_DOC), c = a[0];
299
- if ((e == null ? void 0 : e.startOffset) === (c == null ? void 0 : c.startOffset) && (e == null ? void 0 : e.endOffset) === (c == null ? void 0 : c.endOffset))
298
+ this._commandService.onCommandExecuted((commandInfo) => {
299
+ var _a6, _b, _c, _d;
300
+ if (commandInfo.id === SetTextSelectionsOperation.id) {
301
+ const params = commandInfo.params, { unitId, ranges } = params;
302
+ if (isInternalEditorID(unitId)) return;
303
+ const doc = this._univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_DOC), primary = ranges[0];
304
+ if ((lastSelection == null ? void 0 : lastSelection.startOffset) === (primary == null ? void 0 : primary.startOffset) && (lastSelection == null ? void 0 : lastSelection.endOffset) === (primary == null ? void 0 : primary.endOffset))
300
305
  return;
301
- if (e = c, c && u) {
302
- const { startOffset: f, endOffset: C, collapsed: _ } = c;
303
- let m;
304
- if (_ ? m = (n = (r = u.getBody()) == null ? void 0 : r.customDecorations) == null ? void 0 : n.find((l) => l.startIndex <= f && l.endIndex >= C - 1) : m = (o = (i = u.getBody()) == null ? void 0 : i.customDecorations) == null ? void 0 : o.find((l) => l.startIndex <= f && l.endIndex >= C - 1), m) {
305
- const l = this._threadCommentModel.getComment(d, I, m.id);
306
- l && !l.resolved && this._commandService.executeCommand(A.id, {
306
+ if (lastSelection = primary, primary && doc) {
307
+ const { startOffset, endOffset, collapsed } = primary;
308
+ let customRange;
309
+ if (collapsed ? customRange = (_b = (_a6 = doc.getBody()) == null ? void 0 : _a6.customDecorations) == null ? void 0 : _b.find((value) => value.startIndex <= startOffset && value.endIndex >= endOffset - 1) : customRange = (_d = (_c = doc.getBody()) == null ? void 0 : _c.customDecorations) == null ? void 0 : _d.find((value) => value.startIndex <= startOffset && value.endIndex >= endOffset - 1), customRange) {
310
+ const comment = this._threadCommentModel.getComment(unitId, DEFAULT_DOC_SUBUNIT_ID, customRange.id);
311
+ comment && !comment.resolved && this._commandService.executeCommand(ShowCommentPanelOperation.id, {
307
312
  activeComment: {
308
- unitId: d,
309
- subUnitId: I,
310
- commentId: m.id
313
+ unitId,
314
+ subUnitId: DEFAULT_DOC_SUBUNIT_ID,
315
+ commentId: customRange.id
311
316
  }
312
317
  });
313
318
  return;
@@ -315,260 +320,264 @@ let $ = class extends B {
315
320
  }
316
321
  if (!this._threadCommentPanelService.activeCommentId)
317
322
  return;
318
- this._commandService.executeCommand(ae.id);
323
+ this._commandService.executeCommand(SetActiveCommentOperation.id);
319
324
  }
320
325
  })
321
326
  );
322
327
  }
323
328
  _initActiveCommandChange() {
324
- this.disposeWithMe(this._threadCommentPanelService.activeCommentId$.subscribe((e) => {
325
- var t, r, n, i;
326
- if (e) {
327
- const o = this._univerInstanceService.getUnit(e.unitId);
328
- if (o) {
329
- const s = (t = this._renderManagerService.getRenderById(e.unitId)) == null ? void 0 : t.with(Je), d = (n = (r = o.getBody()) == null ? void 0 : r.customDecorations) == null ? void 0 : n.find((a) => a.id === e.commentId);
330
- d && s && s.scrollToRange({
331
- startOffset: d.startIndex,
332
- endOffset: d.endIndex,
329
+ this.disposeWithMe(this._threadCommentPanelService.activeCommentId$.subscribe((activeComment) => {
330
+ var _a6, _b, _c, _d;
331
+ if (activeComment) {
332
+ const doc = this._univerInstanceService.getUnit(activeComment.unitId);
333
+ if (doc) {
334
+ const backScrollController = (_a6 = this._renderManagerService.getRenderById(activeComment.unitId)) == null ? void 0 : _a6.with(DocBackScrollRenderController), customRange = (_c = (_b = doc.getBody()) == null ? void 0 : _b.customDecorations) == null ? void 0 : _c.find((range) => range.id === activeComment.commentId);
335
+ customRange && backScrollController && backScrollController.scrollToRange({
336
+ startOffset: customRange.startIndex,
337
+ endOffset: customRange.endIndex,
333
338
  collapsed: !1
334
339
  });
335
340
  }
336
341
  }
337
- (!e || e.commentId !== ((i = this._docThreadCommentService.addingComment) == null ? void 0 : i.id)) && this._docThreadCommentService.endAdd();
342
+ (!activeComment || activeComment.commentId !== ((_d = this._docThreadCommentService.addingComment) == null ? void 0 : _d.id)) && this._docThreadCommentService.endAdd();
338
343
  }));
339
344
  }
340
- };
341
- $ = gt([
342
- x(0, v(T)),
343
- x(1, F),
344
- x(2, M),
345
- x(3, v(R)),
346
- x(4, L),
347
- x(5, v(le))
348
- ], $);
349
- var p = function() {
350
- return p = Object.assign || function(e) {
351
- for (var t, r = 1, n = arguments.length; r < n; r++) {
352
- t = arguments[r];
353
- for (var i in t) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]);
345
+ }, __name(_a2, "DocThreadCommentSelectionController"), _a2);
346
+ DocThreadCommentSelectionController = __decorateClass$3([
347
+ __decorateParam$3(0, Inject(ThreadCommentPanelService)),
348
+ __decorateParam$3(1, IUniverInstanceService),
349
+ __decorateParam$3(2, ICommandService),
350
+ __decorateParam$3(3, Inject(DocThreadCommentService)),
351
+ __decorateParam$3(4, IRenderManagerService),
352
+ __decorateParam$3(5, Inject(ThreadCommentModel))
353
+ ], DocThreadCommentSelectionController);
354
+ var __assign = function() {
355
+ return __assign = Object.assign || function(t) {
356
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
357
+ s = arguments[i];
358
+ for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && (t[p] = s[p]);
354
359
  }
355
- return e;
356
- }, p.apply(this, arguments);
357
- }, It = function(e, t) {
358
- var r = {};
359
- for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (r[n] = e[n]);
360
- if (e != null && typeof Object.getOwnPropertySymbols == "function")
361
- for (var i = 0, n = Object.getOwnPropertySymbols(e); i < n.length; i++)
362
- t.indexOf(n[i]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[i]) && (r[n[i]] = e[n[i]]);
363
- return r;
364
- }, Se = _e(function(e, t) {
365
- var r = e.icon, n = e.id, i = e.className, o = e.extend, s = It(e, ["icon", "id", "className", "extend"]), d = "univerjs-icon univerjs-icon-".concat(n, " ").concat(i || "").trim(), a = st("_".concat(Mt()));
366
- return Oe(r, "".concat(n), { defIds: r.defIds, idSuffix: a.current }, p({ ref: t, className: d }, s), o);
360
+ return t;
361
+ }, __assign.apply(this, arguments);
362
+ }, __rest = function(s, e) {
363
+ var t = {};
364
+ for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
365
+ if (s != null && typeof Object.getOwnPropertySymbols == "function")
366
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)
367
+ e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]) && (t[p[i]] = s[p[i]]);
368
+ return t;
369
+ }, IconBase = forwardRef(function(props, ref) {
370
+ var icon = props.icon, id = props.id, className = props.className, extend = props.extend, restProps = __rest(props, ["icon", "id", "className", "extend"]), cls = "univerjs-icon univerjs-icon-".concat(id, " ").concat(className || "").trim(), idSuffix = useRef("_".concat(generateShortUuid()));
371
+ return render(icon, "".concat(id), { defIds: icon.defIds, idSuffix: idSuffix.current }, __assign({ ref, className: cls }, restProps), extend);
367
372
  });
368
- function Oe(e, t, r, n, i) {
369
- return pe(e.tag, p(p({ key: t }, St(e, r, i)), n), (Ot(e, r).children || []).map(function(o, s) {
370
- return Oe(o, "".concat(t, "-").concat(e.tag, "-").concat(s), r, void 0, i);
373
+ function render(node, id, runtimeProps, rootProps, extend) {
374
+ return createElement(node.tag, __assign(__assign({ key: id }, replaceRuntimeIdsAndExtInAttrs(node, runtimeProps, extend)), rootProps), (replaceRuntimeIdsInDefs(node, runtimeProps).children || []).map(function(child, index) {
375
+ return render(child, "".concat(id, "-").concat(node.tag, "-").concat(index), runtimeProps, void 0, extend);
371
376
  }));
372
377
  }
373
- function St(e, t, r) {
374
- var n = p({}, e.attrs);
375
- r != null && r.colorChannel1 && n.fill === "colorChannel1" && (n.fill = r.colorChannel1);
376
- var i = t.defIds;
377
- return !i || i.length === 0 || (e.tag === "use" && n["xlink:href"] && (n["xlink:href"] = n["xlink:href"] + t.idSuffix), Object.entries(n).forEach(function(o) {
378
- var s = o[0], d = o[1];
379
- typeof d == "string" && (n[s] = d.replace(/url\(#(.*)\)/, "url(#$1".concat(t.idSuffix, ")")));
380
- })), n;
378
+ __name(render, "render");
379
+ function replaceRuntimeIdsAndExtInAttrs(node, runtimeProps, extend) {
380
+ var attrs = __assign({}, node.attrs);
381
+ extend != null && extend.colorChannel1 && attrs.fill === "colorChannel1" && (attrs.fill = extend.colorChannel1);
382
+ var defIds = runtimeProps.defIds;
383
+ return !defIds || defIds.length === 0 || (node.tag === "use" && attrs["xlink:href"] && (attrs["xlink:href"] = attrs["xlink:href"] + runtimeProps.idSuffix), Object.entries(attrs).forEach(function(_a6) {
384
+ var key = _a6[0], value = _a6[1];
385
+ typeof value == "string" && (attrs[key] = value.replace(/url\(#(.*)\)/, "url(#$1".concat(runtimeProps.idSuffix, ")")));
386
+ })), attrs;
381
387
  }
382
- function Ot(e, t) {
383
- var r, n = t.defIds;
384
- return !n || n.length === 0 ? e : e.tag === "defs" && (!((r = e.children) === null || r === void 0) && r.length) ? p(p({}, e), { children: e.children.map(function(i) {
385
- return typeof i.attrs.id == "string" && n && n.indexOf(i.attrs.id) > -1 ? p(p({}, i), { attrs: p(p({}, i.attrs), { id: i.attrs.id + t.idSuffix }) }) : i;
386
- }) }) : e;
388
+ __name(replaceRuntimeIdsAndExtInAttrs, "replaceRuntimeIdsAndExtInAttrs");
389
+ function replaceRuntimeIdsInDefs(node, runtimeProps) {
390
+ var _a6, defIds = runtimeProps.defIds;
391
+ return !defIds || defIds.length === 0 ? node : node.tag === "defs" && (!((_a6 = node.children) === null || _a6 === void 0) && _a6.length) ? __assign(__assign({}, node), { children: node.children.map(function(child) {
392
+ return typeof child.attrs.id == "string" && defIds && defIds.indexOf(child.attrs.id) > -1 ? __assign(__assign({}, child), { attrs: __assign(__assign({}, child.attrs), { id: child.attrs.id + runtimeProps.idSuffix }) }) : child;
393
+ }) }) : node;
387
394
  }
388
- function Mt() {
395
+ __name(replaceRuntimeIdsInDefs, "replaceRuntimeIdsInDefs");
396
+ function generateShortUuid() {
389
397
  return Math.random().toString(36).substring(2, 8);
390
398
  }
391
- Se.displayName = "UniverIcon";
392
- var bt = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 17 17", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M5.83725 6.78345C6.22188 6.78345 6.53368 7.10742 6.53368 7.50706V8.41159C6.53368 8.81123 6.22188 9.13521 5.83725 9.13521C5.45263 9.13521 5.14082 8.81123 5.14082 8.41159V7.50706C5.14082 7.10742 5.45263 6.78345 5.83725 6.78345ZM8.73904 6.78345C9.12366 6.78345 9.43546 7.10742 9.43546 7.50706V8.41159C9.43546 8.81123 9.12366 9.13521 8.73904 9.13521C8.35441 9.13521 8.04261 8.81123 8.04261 8.41159V7.50706C8.04261 7.10742 8.35441 6.78345 8.73904 6.78345ZM11.6408 6.78345C12.0254 6.78345 12.3372 7.10742 12.3372 7.50706V8.41159C12.3372 8.81123 12.0254 9.13521 11.6408 9.13521C11.2562 9.13521 10.9444 8.81123 10.9444 8.41159V7.50706C10.9444 7.10742 11.2562 6.78345 11.6408 6.78345Z", fillRule: "evenodd", clipRule: "evenodd" } }, { tag: "path", attrs: { fill: "currentColor", d: "M5.83725 6.78345C6.22188 6.78345 6.53368 7.10742 6.53368 7.50706V8.41159C6.53368 8.81123 6.22188 9.13521 5.83725 9.13521 5.45263 9.13521 5.14082 8.81123 5.14082 8.41159V7.50706C5.14082 7.10742 5.45263 6.78345 5.83725 6.78345zM8.73904 6.78345C9.12366 6.78345 9.43546 7.10742 9.43546 7.50706V8.41159C9.43546 8.81123 9.12366 9.13521 8.73904 9.13521 8.35441 9.13521 8.04261 8.81123 8.04261 8.41159V7.50706C8.04261 7.10742 8.35441 6.78345 8.73904 6.78345zM11.6408 6.78345C12.0254 6.78345 12.3372 7.10742 12.3372 7.50706V8.41159C12.3372 8.81123 12.0254 9.13521 11.6408 9.13521 11.2562 9.13521 10.9444 8.81123 10.9444 8.41159V7.50706C10.9444 7.10742 11.2562 6.78345 11.6408 6.78345z" } }, { tag: "path", attrs: { fill: "currentColor", d: "M1.84351 3.41861C1.84351 3.01861 2.15531 2.69434 2.53993 2.69434H14.9381C15.3228 2.69434 15.6346 3.01861 15.6346 3.41861V12.4611C15.6346 12.8612 15.3228 13.1854 14.9381 13.1854H8.82117L6.06643 14.6179C5.85054 14.7301 5.59416 14.7181 5.38884 14.5862C5.18352 14.4542 5.05855 14.2211 5.05855 13.9701V13.1854H2.53993C2.15531 13.1854 1.84351 12.8612 1.84351 12.4611L1.84351 3.41861ZM6.45141 12.7982L8.34531 12.0135C8.44201 11.9632 8.54864 11.9371 8.65676 11.9371H14.2417C14.3522 11.9371 14.4417 11.8475 14.4417 11.7371V4.14271C14.4417 4.03225 14.3522 3.94271 14.2417 3.94271H3.23636C3.12591 3.94271 3.03636 4.03225 3.03636 4.14271L3.03636 11.7371C3.03636 11.8475 3.12591 11.9371 3.23636 11.9371L5.75498 11.9371C6.1396 11.9371 6.45141 12.0611 6.45141 12.4611V12.7982Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, Me = _e(function(e, t) {
393
- return pe(Se, Object.assign({}, e, {
399
+ __name(generateShortUuid, "generateShortUuid");
400
+ IconBase.displayName = "UniverIcon";
401
+ var element = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 17 17", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M5.83725 6.78345C6.22188 6.78345 6.53368 7.10742 6.53368 7.50706V8.41159C6.53368 8.81123 6.22188 9.13521 5.83725 9.13521C5.45263 9.13521 5.14082 8.81123 5.14082 8.41159V7.50706C5.14082 7.10742 5.45263 6.78345 5.83725 6.78345ZM8.73904 6.78345C9.12366 6.78345 9.43546 7.10742 9.43546 7.50706V8.41159C9.43546 8.81123 9.12366 9.13521 8.73904 9.13521C8.35441 9.13521 8.04261 8.81123 8.04261 8.41159V7.50706C8.04261 7.10742 8.35441 6.78345 8.73904 6.78345ZM11.6408 6.78345C12.0254 6.78345 12.3372 7.10742 12.3372 7.50706V8.41159C12.3372 8.81123 12.0254 9.13521 11.6408 9.13521C11.2562 9.13521 10.9444 8.81123 10.9444 8.41159V7.50706C10.9444 7.10742 11.2562 6.78345 11.6408 6.78345Z", fillRule: "evenodd", clipRule: "evenodd" } }, { tag: "path", attrs: { fill: "currentColor", d: "M5.83725 6.78345C6.22188 6.78345 6.53368 7.10742 6.53368 7.50706V8.41159C6.53368 8.81123 6.22188 9.13521 5.83725 9.13521 5.45263 9.13521 5.14082 8.81123 5.14082 8.41159V7.50706C5.14082 7.10742 5.45263 6.78345 5.83725 6.78345zM8.73904 6.78345C9.12366 6.78345 9.43546 7.10742 9.43546 7.50706V8.41159C9.43546 8.81123 9.12366 9.13521 8.73904 9.13521 8.35441 9.13521 8.04261 8.81123 8.04261 8.41159V7.50706C8.04261 7.10742 8.35441 6.78345 8.73904 6.78345zM11.6408 6.78345C12.0254 6.78345 12.3372 7.10742 12.3372 7.50706V8.41159C12.3372 8.81123 12.0254 9.13521 11.6408 9.13521 11.2562 9.13521 10.9444 8.81123 10.9444 8.41159V7.50706C10.9444 7.10742 11.2562 6.78345 11.6408 6.78345z" } }, { tag: "path", attrs: { fill: "currentColor", d: "M1.84351 3.41861C1.84351 3.01861 2.15531 2.69434 2.53993 2.69434H14.9381C15.3228 2.69434 15.6346 3.01861 15.6346 3.41861V12.4611C15.6346 12.8612 15.3228 13.1854 14.9381 13.1854H8.82117L6.06643 14.6179C5.85054 14.7301 5.59416 14.7181 5.38884 14.5862C5.18352 14.4542 5.05855 14.2211 5.05855 13.9701V13.1854H2.53993C2.15531 13.1854 1.84351 12.8612 1.84351 12.4611L1.84351 3.41861ZM6.45141 12.7982L8.34531 12.0135C8.44201 11.9632 8.54864 11.9371 8.65676 11.9371H14.2417C14.3522 11.9371 14.4417 11.8475 14.4417 11.7371V4.14271C14.4417 4.03225 14.3522 3.94271 14.2417 3.94271H3.23636C3.12591 3.94271 3.03636 4.03225 3.03636 4.14271L3.03636 11.7371C3.03636 11.8475 3.12591 11.9371 3.23636 11.9371L5.75498 11.9371C6.1396 11.9371 6.45141 12.0611 6.45141 12.4611V12.7982Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, CommentSingle = forwardRef(function(props, ref) {
402
+ return createElement(IconBase, Object.assign({}, props, {
394
403
  id: "comment-single",
395
- ref: t,
396
- icon: bt
404
+ ref,
405
+ icon: element
397
406
  }));
398
407
  });
399
- Me.displayName = "CommentSingle";
400
- const xt = {
401
- [Ye.OTHERS]: {
402
- [ee.id]: {
408
+ CommentSingle.displayName = "CommentSingle";
409
+ const menuSchema = {
410
+ [RibbonStartGroup.OTHERS]: {
411
+ [ToggleCommentPanelOperation.id]: {
403
412
  order: 1,
404
- menuItemFactory: _t
413
+ menuItemFactory: ToolbarDocCommentMenuItemFactory
405
414
  }
406
415
  },
407
- [Qe.MAIN_AREA]: {
408
- [Xe.DATA]: {
409
- [q.id]: {
416
+ [ContextMenuPosition.MAIN_AREA]: {
417
+ [ContextMenuGroup.DATA]: {
418
+ [StartAddCommentOperation.id]: {
410
419
  order: 1,
411
- menuItemFactory: Ct
420
+ menuItemFactory: AddDocCommentMenuItemFactory
412
421
  }
413
422
  }
414
423
  }
415
424
  };
416
- var Dt = Object.defineProperty, Rt = Object.getOwnPropertyDescriptor, yt = (e, t, r, n) => {
417
- for (var i = n > 1 ? void 0 : n ? Rt(t, r) : t, o = e.length - 1, s; o >= 0; o--)
418
- (s = e[o]) && (i = (n ? s(t, r, i) : s(i)) || i);
419
- return n && i && Dt(t, r, i), i;
420
- }, Y = (e, t) => (r, n) => t(r, n, e);
421
- let V = class extends B {
422
- constructor(e, t, r) {
423
- super(), this._commandService = e, this._menuManagerService = t, this._componentManager = r, this._initCommands(), this._initMenus(), this._initComponents();
425
+ var __defProp$2 = Object.defineProperty, __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor, __decorateClass$2 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
426
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
427
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
428
+ return kind && result && __defProp$2(target, key, result), result;
429
+ }, "__decorateClass$2"), __decorateParam$2 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$2"), _a3;
430
+ let DocThreadCommentUIController = (_a3 = class extends Disposable {
431
+ constructor(_commandService, _menuManagerService, _componentManager) {
432
+ super(), this._commandService = _commandService, this._menuManagerService = _menuManagerService, this._componentManager = _componentManager, this._initCommands(), this._initMenus(), this._initComponents();
424
433
  }
425
434
  _initCommands() {
426
435
  [
427
- ve,
428
- ge,
429
- A,
430
- q,
431
- ee
432
- ].forEach((e) => {
433
- this.disposeWithMe(this._commandService.registerCommand(e));
436
+ AddDocCommentComment,
437
+ DeleteDocCommentComment,
438
+ ShowCommentPanelOperation,
439
+ StartAddCommentOperation,
440
+ ToggleCommentPanelOperation
441
+ ].forEach((command) => {
442
+ this.disposeWithMe(this._commandService.registerCommand(command));
434
443
  });
435
444
  }
436
445
  _initMenus() {
437
- this._menuManagerService.mergeMenu(xt);
446
+ this._menuManagerService.mergeMenu(menuSchema);
438
447
  }
439
448
  _initComponents() {
440
- [y].forEach((e) => {
441
- this.disposeWithMe(this._componentManager.register(e.componentKey, e));
442
- }), this.disposeWithMe(this._componentManager.register("CommentSingle", Me));
449
+ [DocThreadCommentPanel].forEach((comp) => {
450
+ this.disposeWithMe(this._componentManager.register(comp.componentKey, comp));
451
+ }), this.disposeWithMe(this._componentManager.register("CommentSingle", CommentSingle));
443
452
  }
444
- };
445
- V = yt([
446
- Y(0, M),
447
- Y(1, et),
448
- Y(2, v(ke))
449
- ], V);
450
- var Tt = Object.defineProperty, Ut = Object.getOwnPropertyDescriptor, Pt = (e, t, r, n) => {
451
- for (var i = n > 1 ? void 0 : n ? Ut(t, r) : t, o = e.length - 1, s; o >= 0; o--)
452
- (s = e[o]) && (i = (n ? s(t, r, i) : s(i)) || i);
453
- return n && i && Tt(t, r, i), i;
454
- }, D = (e, t) => (r, n) => t(r, n, e);
455
- let k = class extends B {
456
- constructor(e, t, r, n, i, o, s) {
457
- super(), this._context = e, this._docInterceptorService = t, this._threadCommentPanelService = r, this._docRenderController = n, this._univerInstanceService = i, this._threadCommentModel = o, this._commandService = s, this._interceptorViewModel(), this._initReRender(), this._initSyncComments();
453
+ }, __name(_a3, "DocThreadCommentUIController"), _a3);
454
+ DocThreadCommentUIController = __decorateClass$2([
455
+ __decorateParam$2(0, ICommandService),
456
+ __decorateParam$2(1, IMenuManagerService),
457
+ __decorateParam$2(2, Inject(ComponentManager))
458
+ ], DocThreadCommentUIController);
459
+ var __defProp$1 = Object.defineProperty, __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor, __decorateClass$1 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
460
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
461
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
462
+ return kind && result && __defProp$1(target, key, result), result;
463
+ }, "__decorateClass$1"), __decorateParam$1 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$1"), _a4;
464
+ let DocThreadCommentRenderController = (_a4 = class extends Disposable {
465
+ constructor(_context, _docInterceptorService, _threadCommentPanelService, _docRenderController, _univerInstanceService, _threadCommentModel, _commandService) {
466
+ super(), this._context = _context, this._docInterceptorService = _docInterceptorService, this._threadCommentPanelService = _threadCommentPanelService, this._docRenderController = _docRenderController, this._univerInstanceService = _univerInstanceService, this._threadCommentModel = _threadCommentModel, this._commandService = _commandService, this._interceptorViewModel(), this._initReRender(), this._initSyncComments();
458
467
  }
459
468
  _initReRender() {
460
- this.disposeWithMe(this._threadCommentPanelService.activeCommentId$.subscribe((e) => {
461
- var r;
462
- if (e) {
463
- this._docRenderController.reRender(e.unitId);
469
+ this.disposeWithMe(this._threadCommentPanelService.activeCommentId$.subscribe((activeComment) => {
470
+ var _a6;
471
+ if (activeComment) {
472
+ this._docRenderController.reRender(activeComment.unitId);
464
473
  return;
465
474
  }
466
- const t = (r = this._univerInstanceService.getCurrentUnitForType(S.UNIVER_DOC)) == null ? void 0 : r.getUnitId();
467
- t && this._docRenderController.reRender(t);
468
- })), this.disposeWithMe(this._threadCommentModel.commentUpdate$.subscribe((e) => {
469
- e.type === "resolve" && this._docRenderController.reRender(e.unitId);
475
+ const unitId = (_a6 = this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_DOC)) == null ? void 0 : _a6.getUnitId();
476
+ unitId && this._docRenderController.reRender(unitId);
477
+ })), this.disposeWithMe(this._threadCommentModel.commentUpdate$.subscribe((update) => {
478
+ update.type === "resolve" && this._docRenderController.reRender(update.unitId);
470
479
  }));
471
480
  }
472
481
  _interceptorViewModel() {
473
- this._docInterceptorService.intercept(Le.CUSTOM_DECORATION, {
474
- handler: (e, t, r) => {
475
- if (!e)
476
- return r(e);
477
- const { unitId: n, index: i, customDecorations: o } = t, s = this._threadCommentPanelService.activeCommentId, { commentId: d, unitId: a } = s || {}, u = o.find((_) => _.id === d), c = this._threadCommentModel.getComment(n, I, e.id);
478
- if (!c)
479
- return r({
480
- ...e,
482
+ this._docInterceptorService.intercept(DOC_INTERCEPTOR_POINT.CUSTOM_DECORATION, {
483
+ handler: /* @__PURE__ */ __name((data, pos, next) => {
484
+ if (!data)
485
+ return next(data);
486
+ const { unitId, index, customDecorations } = pos, activeComment = this._threadCommentPanelService.activeCommentId, { commentId, unitId: commentUnitID } = activeComment || {}, activeCustomDecoration = customDecorations.find((i) => i.id === commentId), comment = this._threadCommentModel.getComment(unitId, DEFAULT_DOC_SUBUNIT_ID, data.id);
487
+ if (!comment)
488
+ return next({
489
+ ...data,
481
490
  show: !1
482
491
  });
483
- const f = u && i >= u.startIndex && i <= u.endIndex, C = a === n && e.id === d;
484
- return r({
485
- ...e,
486
- active: C || f,
487
- show: !c.resolved
492
+ const isActiveIndex = activeCustomDecoration && index >= activeCustomDecoration.startIndex && index <= activeCustomDecoration.endIndex, isActive = commentUnitID === unitId && data.id === commentId;
493
+ return next({
494
+ ...data,
495
+ active: isActive || isActiveIndex,
496
+ show: !comment.resolved
488
497
  });
489
- }
498
+ }, "handler")
490
499
  });
491
500
  }
492
501
  _initSyncComments() {
493
- var i, o, s;
494
- const e = this._context.unit.getUnitId(), t = I, r = (s = (o = (i = this._context.unit.getBody()) == null ? void 0 : i.customDecorations) == null ? void 0 : o.filter((d) => d.type === X.COMMENT).map((d) => d.id)) != null ? s : [];
495
- r.forEach((d) => {
496
- this._threadCommentModel.getComment(e, t, d) || this._threadCommentModel.addComment(e, t, { id: d, threadId: d, ref: "", dT: "", personId: "", text: { dataStream: "" }, unitId: e, subUnitId: t });
497
- }), r.length && this._threadCommentModel.syncThreadComments(this._context.unit.getUnitId(), I, r);
498
- let n = r.sort();
499
- this.disposeWithMe(this._commandService.onCommandExecuted((d) => {
500
- var a, u, c;
501
- if (d.id === me.id) {
502
- if (d.params.unitId !== this._context.unit.getUnitId())
502
+ var _a6, _b, _c;
503
+ const unitId = this._context.unit.getUnitId(), subUnitId = DEFAULT_DOC_SUBUNIT_ID, threadIds = (_c = (_b = (_a6 = this._context.unit.getBody()) == null ? void 0 : _a6.customDecorations) == null ? void 0 : _b.filter((i) => i.type === CustomDecorationType.COMMENT).map((i) => i.id)) != null ? _c : [];
504
+ threadIds.forEach((id) => {
505
+ this._threadCommentModel.getComment(unitId, subUnitId, id) || this._threadCommentModel.addComment(unitId, subUnitId, { id, threadId: id, ref: "", dT: "", personId: "", text: { dataStream: "" }, unitId, subUnitId });
506
+ }), threadIds.length && this._threadCommentModel.syncThreadComments(this._context.unit.getUnitId(), DEFAULT_DOC_SUBUNIT_ID, threadIds);
507
+ let prevThreadIds = threadIds.sort();
508
+ this.disposeWithMe(this._commandService.onCommandExecuted((commandInfo) => {
509
+ var _a7, _b2, _c2;
510
+ if (commandInfo.id === RichTextEditingMutation.id) {
511
+ if (commandInfo.params.unitId !== this._context.unit.getUnitId())
503
512
  return;
504
- const C = (c = (u = (a = this._context.unit.getBody()) == null ? void 0 : a.customDecorations) == null ? void 0 : u.filter((m) => m.type === X.COMMENT).map((m) => m.id)) != null ? c : [], _ = C.sort();
505
- if (JSON.stringify(n) !== JSON.stringify(_)) {
506
- const m = new Set(n), l = new Set(_), g = /* @__PURE__ */ new Set(), b = /* @__PURE__ */ new Set();
507
- C.forEach((h) => {
508
- m.has(h) || g.add(h);
509
- }), n.forEach((h) => {
510
- l.has(h) || b.add(h);
511
- }), n = _, g.forEach((h) => {
512
- this._threadCommentModel.getComment(e, t, h) || this._threadCommentModel.addComment(e, t, { id: h, threadId: h, ref: "", dT: "", personId: "", text: { dataStream: "" }, unitId: e, subUnitId: t });
513
- }), this._threadCommentModel.syncThreadComments(e, t, [...g]);
513
+ const currentThreadIds = (_c2 = (_b2 = (_a7 = this._context.unit.getBody()) == null ? void 0 : _a7.customDecorations) == null ? void 0 : _b2.filter((i) => i.type === CustomDecorationType.COMMENT).map((i) => i.id)) != null ? _c2 : [], currentThreadIdsSorted = currentThreadIds.sort();
514
+ if (JSON.stringify(prevThreadIds) !== JSON.stringify(currentThreadIdsSorted)) {
515
+ const preIds = new Set(prevThreadIds), currentIds = new Set(currentThreadIdsSorted), addIds = /* @__PURE__ */ new Set(), deleteIds = /* @__PURE__ */ new Set();
516
+ currentThreadIds.forEach((id) => {
517
+ preIds.has(id) || addIds.add(id);
518
+ }), prevThreadIds.forEach((id) => {
519
+ currentIds.has(id) || deleteIds.add(id);
520
+ }), prevThreadIds = currentThreadIdsSorted, addIds.forEach((id) => {
521
+ this._threadCommentModel.getComment(unitId, subUnitId, id) || this._threadCommentModel.addComment(unitId, subUnitId, { id, threadId: id, ref: "", dT: "", personId: "", text: { dataStream: "" }, unitId, subUnitId });
522
+ }), this._threadCommentModel.syncThreadComments(unitId, subUnitId, [...addIds]);
514
523
  }
515
524
  }
516
525
  }));
517
526
  }
518
- };
519
- k = Pt([
520
- D(1, v(Fe)),
521
- D(2, v(T)),
522
- D(3, v(Ke)),
523
- D(4, F),
524
- D(5, v(le)),
525
- D(6, M)
526
- ], k);
527
- var be = Object.defineProperty, Et = Object.getOwnPropertyDescriptor, wt = (e, t, r) => t in e ? be(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Nt = (e, t, r, n) => {
528
- for (var i = n > 1 ? void 0 : n ? Et(t, r) : t, o = e.length - 1, s; o >= 0; o--)
529
- (s = e[o]) && (i = (n ? s(t, r, i) : s(i)) || i);
530
- return n && i && be(t, r, i), i;
531
- }, Q = (e, t) => (r, n) => t(r, n, e), xe = (e, t, r) => wt(e, typeof t != "symbol" ? t + "" : t, r);
532
- let j = class extends we {
533
- constructor(e = ne, t, r, n) {
534
- super(), this._config = e, this._injector = t, this._renderManagerSrv = r, this._configService = n;
535
- const { menu: i, ...o } = Ne(
527
+ }, __name(_a4, "DocThreadCommentRenderController"), _a4);
528
+ DocThreadCommentRenderController = __decorateClass$1([
529
+ __decorateParam$1(1, Inject(DocInterceptorService)),
530
+ __decorateParam$1(2, Inject(ThreadCommentPanelService)),
531
+ __decorateParam$1(3, Inject(DocRenderController)),
532
+ __decorateParam$1(4, IUniverInstanceService),
533
+ __decorateParam$1(5, Inject(ThreadCommentModel)),
534
+ __decorateParam$1(6, ICommandService)
535
+ ], DocThreadCommentRenderController);
536
+ var __defProp2 = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __defNormalProp2 = /* @__PURE__ */ __name((obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value, "__defNormalProp"), __decorateClass = /* @__PURE__ */ __name((decorators, target, key, kind) => {
537
+ for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
538
+ (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
539
+ return kind && result && __defProp2(target, key, result), result;
540
+ }, "__decorateClass"), __decorateParam = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam"), __publicField2 = /* @__PURE__ */ __name((obj, key, value) => __defNormalProp2(obj, typeof key != "symbol" ? key + "" : key, value), "__publicField"), _a5;
541
+ let UniverDocsThreadCommentUIPlugin = (_a5 = class extends Plugin {
542
+ constructor(_config = defaultPluginConfig, _injector, _renderManagerSrv, _configService) {
543
+ super(), this._config = _config, this._injector = _injector, this._renderManagerSrv = _renderManagerSrv, this._configService = _configService;
544
+ const { menu, ...rest } = merge(
536
545
  {},
537
- ne,
546
+ defaultPluginConfig,
538
547
  this._config
539
548
  );
540
- i && this._configService.setConfig("menu", i, { merge: !0 }), this._configService.setConfig(ct, o);
549
+ menu && this._configService.setConfig("menu", menu, { merge: !0 }), this._configService.setConfig(DOCS_THREAD_COMMENT_UI_PLUGIN_CONFIG_KEY, rest);
541
550
  }
542
551
  onStarting() {
543
552
  [
544
- [V],
545
- [$],
546
- [R]
547
- ].forEach((e) => {
548
- this._injector.add(e);
553
+ [DocThreadCommentUIController],
554
+ [DocThreadCommentSelectionController],
555
+ [DocThreadCommentService]
556
+ ].forEach((dep) => {
557
+ this._injector.add(dep);
549
558
  });
550
559
  }
551
560
  onRendered() {
552
- this._initRenderModule(), this._injector.get($), this._injector.get(V);
561
+ this._initRenderModule(), this._injector.get(DocThreadCommentSelectionController), this._injector.get(DocThreadCommentUIController);
553
562
  }
554
563
  _initRenderModule() {
555
- [k].forEach((e) => {
556
- this._renderManagerSrv.registerRenderModule(S.UNIVER_DOC, e);
564
+ [DocThreadCommentRenderController].forEach((dep) => {
565
+ this._renderManagerSrv.registerRenderModule(UniverInstanceType.UNIVER_DOC, dep);
557
566
  });
558
567
  }
559
- };
560
- xe(j, "pluginName", dt);
561
- xe(j, "type", S.UNIVER_DOC);
562
- j = Nt([
563
- Ee(Ve),
564
- Q(1, v(de)),
565
- Q(2, L),
566
- Q(3, Ae)
567
- ], j);
568
+ }, __name(_a5, "UniverDocsThreadCommentUIPlugin"), _a5);
569
+ __publicField2(UniverDocsThreadCommentUIPlugin, "pluginName", PLUGIN_NAME);
570
+ __publicField2(UniverDocsThreadCommentUIPlugin, "type", UniverInstanceType.UNIVER_DOC);
571
+ UniverDocsThreadCommentUIPlugin = __decorateClass([
572
+ DependentOn(UniverThreadCommentUIPlugin),
573
+ __decorateParam(1, Inject(Injector)),
574
+ __decorateParam(2, IRenderManagerService),
575
+ __decorateParam(3, IConfigService)
576
+ ], UniverDocsThreadCommentUIPlugin);
568
577
  export {
569
- ve as AddDocCommentComment,
570
- ge as DeleteDocCommentComment,
571
- A as ShowCommentPanelOperation,
572
- q as StartAddCommentOperation,
573
- j as UniverDocsThreadCommentUIPlugin
578
+ AddDocCommentComment,
579
+ DeleteDocCommentComment,
580
+ ShowCommentPanelOperation,
581
+ StartAddCommentOperation,
582
+ UniverDocsThreadCommentUIPlugin
574
583
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/docs-thread-comment-ui",
3
- "version": "0.5.5-nightly.202501210604",
3
+ "version": "0.5.5-nightly.202501210849",
4
4
  "private": false,
5
5
  "description": "Univer thread comment plugin",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -49,13 +49,13 @@
49
49
  "dependencies": {
50
50
  "@univerjs/icons": "^0.2.12",
51
51
  "clsx": "^2.1.1",
52
- "@univerjs/core": "0.5.5-nightly.202501210604",
53
- "@univerjs/docs": "0.5.5-nightly.202501210604",
54
- "@univerjs/thread-comment": "0.5.5-nightly.202501210604",
55
- "@univerjs/docs-ui": "0.5.5-nightly.202501210604",
56
- "@univerjs/engine-render": "0.5.5-nightly.202501210604",
57
- "@univerjs/thread-comment-ui": "0.5.5-nightly.202501210604",
58
- "@univerjs/ui": "0.5.5-nightly.202501210604"
52
+ "@univerjs/core": "0.5.5-nightly.202501210849",
53
+ "@univerjs/docs": "0.5.5-nightly.202501210849",
54
+ "@univerjs/docs-ui": "0.5.5-nightly.202501210849",
55
+ "@univerjs/engine-render": "0.5.5-nightly.202501210849",
56
+ "@univerjs/thread-comment": "0.5.5-nightly.202501210849",
57
+ "@univerjs/ui": "0.5.5-nightly.202501210849",
58
+ "@univerjs/thread-comment-ui": "0.5.5-nightly.202501210849"
59
59
  },
60
60
  "devDependencies": {
61
61
  "postcss": "^8.4.49",