@univerjs/docs 0.4.2 → 0.5.0-nightly.202411091605

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.
package/lib/es/index.js CHANGED
@@ -1,96 +1,95 @@
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 { CommandType, RxDisposable, UniverInstanceType, ICommandService, IUniverInstanceService, Inject, LocaleService, isInternalEditorID, JSONX, Disposable, BuildTextUtils, Injector, Plugin, IConfigService, createInterceptorKey, DOCS_NORMAL_EDITOR_UNIT_ID_KEY, DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY, DisposableCollection, toDisposable, remove, composeInterceptors } from "@univerjs/core";
6
- import { NORMAL_TEXT_SELECTION_PLUGIN_STYLE, DocumentSkeleton, DocumentViewModel, IRenderManagerService } from "@univerjs/engine-render";
7
- import { Subject, BehaviorSubject, takeUntil } from "rxjs";
8
- const SetTextSelectionsOperation = {
1
+ var se = Object.defineProperty;
2
+ var ie = (i, e, t) => e in i ? se(i, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[e] = t;
3
+ var u = (i, e, t) => ie(i, typeof e != "symbol" ? e + "" : e, t);
4
+ import { CommandType as j, RxDisposable as A, UniverInstanceType as y, ICommandService as L, IUniverInstanceService as p, Inject as $, LocaleService as re, isInternalEditorID as oe, JSONX as O, Disposable as J, BuildTextUtils as x, Injector as ce, Plugin as ae, IConfigService as le, createInterceptorKey as Q, DOCS_NORMAL_EDITOR_UNIT_ID_KEY as ue, DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY as de, DisposableCollection as P, toDisposable as ge, remove as _e, composeInterceptors as he } from "@univerjs/core";
5
+ import { NORMAL_TEXT_SELECTION_PLUGIN_STYLE as fe, DocumentSkeleton as Se, DocumentViewModel as pe, IRenderManagerService as Ie } from "@univerjs/engine-render";
6
+ import { Subject as me, BehaviorSubject as D, takeUntil as Z } from "rxjs";
7
+ const X = {
9
8
  id: "doc.operation.set-selections",
10
- type: CommandType.OPERATION,
11
- handler: /* @__PURE__ */ __name(() => !0, "handler")
9
+ type: j.OPERATION,
10
+ handler: () => !0
12
11
  };
13
- var __defProp$4 = Object.defineProperty, __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor, __decorateClass$4 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
14
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
15
- (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
16
- return kind && result && __defProp$4(target, key, result), result;
17
- }, "__decorateClass$4"), __decorateParam$4 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$4"), _a;
18
- let DocSelectionManagerService = (_a = class extends RxDisposable {
19
- constructor(_commandService, _univerInstanceService) {
12
+ var ve = Object.defineProperty, Re = Object.getOwnPropertyDescriptor, Oe = (i, e, t, n) => {
13
+ for (var s = n > 1 ? void 0 : n ? Re(e, t) : e, r = i.length - 1, o; r >= 0; r--)
14
+ (o = i[r]) && (s = (n ? o(e, t, s) : o(s)) || s);
15
+ return n && s && ve(e, t, s), s;
16
+ }, W = (i, e) => (t, n) => e(t, n, i);
17
+ let m = class extends A {
18
+ constructor(e, t) {
20
19
  super();
21
- __publicField(this, "_currentSelection", null);
22
- __publicField(this, "_textSelectionInfo", /* @__PURE__ */ new Map());
23
- __publicField(this, "_textSelection$", new Subject());
24
- __publicField(this, "textSelection$", this._textSelection$.asObservable());
25
- __publicField(this, "_refreshSelection$", new BehaviorSubject(null));
26
- __publicField(this, "refreshSelection$", this._refreshSelection$.asObservable());
27
- this._commandService = _commandService, this._univerInstanceService = _univerInstanceService, this._listenCurrentUnit();
20
+ u(this, "_currentSelection", null);
21
+ u(this, "_textSelectionInfo", /* @__PURE__ */ new Map());
22
+ u(this, "_textSelection$", new me());
23
+ u(this, "textSelection$", this._textSelection$.asObservable());
24
+ u(this, "_refreshSelection$", new D(null));
25
+ u(this, "refreshSelection$", this._refreshSelection$.asObservable());
26
+ this._commandService = e, this._univerInstanceService = t, this._listenCurrentUnit();
28
27
  }
29
28
  _listenCurrentUnit() {
30
- this._univerInstanceService.getCurrentTypeOfUnit$(UniverInstanceType.UNIVER_DOC).pipe(takeUntil(this.dispose$)).subscribe((documentModel) => {
31
- if (documentModel == null)
29
+ this._univerInstanceService.getCurrentTypeOfUnit$(y.UNIVER_DOC).pipe(Z(this.dispose$)).subscribe((e) => {
30
+ if (e == null)
32
31
  return;
33
- const unitId = documentModel.getUnitId();
32
+ const t = e.getUnitId();
34
33
  this._setCurrentSelectionNotRefresh({
35
- unitId,
36
- subUnitId: unitId
34
+ unitId: t,
35
+ subUnitId: t
37
36
  });
38
37
  });
39
38
  }
40
39
  __getCurrentSelection() {
41
40
  return this._currentSelection;
42
41
  }
43
- getSelectionInfo(params = this._currentSelection) {
44
- return this._getTextRanges(params);
42
+ getSelectionInfo(e = this._currentSelection) {
43
+ return this._getTextRanges(e);
45
44
  }
46
- refreshSelection(params = this._currentSelection) {
47
- params != null && this._refresh(params);
45
+ refreshSelection(e = this._currentSelection) {
46
+ e != null && this._refresh(e);
48
47
  }
49
48
  // **Only used in test case** because this does not go through the render layer.
50
- __TEST_ONLY_setCurrentSelection(param) {
51
- this._currentSelection = param, this._refresh(param);
49
+ __TEST_ONLY_setCurrentSelection(e) {
50
+ this._currentSelection = e, this._refresh(e);
52
51
  }
53
- getTextRanges(params = this._currentSelection) {
54
- var _a6;
55
- return (_a6 = this._getTextRanges(params)) == null ? void 0 : _a6.textRanges;
52
+ getTextRanges(e = this._currentSelection) {
53
+ var t;
54
+ return (t = this._getTextRanges(e)) == null ? void 0 : t.textRanges;
56
55
  }
57
- getRectRanges(params = this._currentSelection) {
58
- var _a6;
59
- return (_a6 = this._getTextRanges(params)) == null ? void 0 : _a6.rectRanges;
56
+ getRectRanges(e = this._currentSelection) {
57
+ var t;
58
+ return (t = this._getTextRanges(e)) == null ? void 0 : t.rectRanges;
60
59
  }
61
- getDocRanges(params = this._currentSelection) {
62
- var _a6, _b;
63
- const textRanges = (_a6 = this.getTextRanges(params)) != null ? _a6 : [], rectRanges = (_b = this.getRectRanges(params)) != null ? _b : [];
64
- return [...textRanges, ...rectRanges].filter((range) => range.startOffset != null && range.endOffset != null).sort((a, b) => a.startOffset > b.startOffset ? 1 : a.startOffset < b.startOffset ? -1 : 0);
60
+ getDocRanges(e = this._currentSelection) {
61
+ var r, o;
62
+ const t = (r = this.getTextRanges(e)) != null ? r : [], n = (o = this.getRectRanges(e)) != null ? o : [];
63
+ return [...t, ...n].filter((c) => c.startOffset != null && c.endOffset != null).sort((c, a) => c.startOffset > a.startOffset ? 1 : c.startOffset < a.startOffset ? -1 : 0);
65
64
  }
66
65
  getActiveTextRange() {
67
- const selectionInfo = this._getTextRanges(this._currentSelection);
68
- if (selectionInfo == null)
66
+ const e = this._getTextRanges(this._currentSelection);
67
+ if (e == null)
69
68
  return;
70
- const { textRanges } = selectionInfo;
71
- return textRanges.find((textRange) => textRange.isActive);
69
+ const { textRanges: t } = e;
70
+ return t.find((n) => n.isActive);
72
71
  }
73
72
  /**
74
73
  *
75
74
  * @deprecated
76
75
  */
77
76
  getActiveRectRange() {
78
- const selectionInfo = this._getTextRanges(this._currentSelection);
79
- if (selectionInfo == null)
77
+ const e = this._getTextRanges(this._currentSelection);
78
+ if (e == null)
80
79
  return;
81
- const { rectRanges } = selectionInfo;
82
- return rectRanges.find((rectRange) => rectRange.isActive);
80
+ const { rectRanges: t } = e;
81
+ return t.find((n) => n.isActive);
83
82
  }
84
83
  // **Only used in test case** because this does not go through the render layer.
85
- __TEST_ONLY_add(textRanges, isEditing = !0) {
84
+ __TEST_ONLY_add(e, t = !0) {
86
85
  this._currentSelection != null && this._addByParam({
87
86
  ...this._currentSelection,
88
- textRanges,
87
+ textRanges: e,
89
88
  rectRanges: [],
90
89
  segmentId: "",
91
90
  segmentPage: -1,
92
- isEditing,
93
- style: NORMAL_TEXT_SELECTION_PLUGIN_STYLE
91
+ isEditing: t,
92
+ style: fe
94
93
  // mock style.
95
94
  });
96
95
  }
@@ -98,104 +97,104 @@ let DocSelectionManagerService = (_a = class extends RxDisposable {
98
97
  /**
99
98
  * @deprecated pls use replaceDocRanges.
100
99
  */
101
- replaceTextRanges(docRanges, isEditing = !0, options) {
100
+ replaceTextRanges(e, t = !0, n) {
102
101
  return this.replaceDocRanges(
103
- docRanges,
102
+ e,
104
103
  this._currentSelection,
105
- isEditing,
106
- options
104
+ t,
105
+ n
107
106
  );
108
107
  }
109
- replaceDocRanges(docRanges, params = this._currentSelection, isEditing = !0, options) {
110
- if (params == null)
108
+ replaceDocRanges(e, t = this._currentSelection, n = !0, s) {
109
+ if (t == null)
111
110
  return;
112
- const { unitId, subUnitId } = params;
111
+ const { unitId: r, subUnitId: o } = t;
113
112
  this._refreshSelection$.next({
114
- unitId,
115
- subUnitId,
116
- docRanges,
117
- isEditing,
118
- options
113
+ unitId: r,
114
+ subUnitId: o,
115
+ docRanges: e,
116
+ isEditing: n,
117
+ options: s
119
118
  });
120
119
  }
121
120
  // Only use in doc-selection-render.controller.ts
122
- __replaceTextRangesWithNoRefresh(textSelectionInfo) {
121
+ __replaceTextRangesWithNoRefresh(e, t) {
123
122
  if (this._currentSelection == null)
124
123
  return;
125
- const params = {
126
- ...this._currentSelection,
127
- ...textSelectionInfo
124
+ const n = {
125
+ ...e,
126
+ ...t
128
127
  };
129
- this._replaceByParam(params), this._textSelection$.next(params);
130
- const { unitId, subUnitId, segmentId, style, textRanges, rectRanges, isEditing } = params, ranges = [...textRanges, ...rectRanges].filter((range) => range.startOffset != null && range.endOffset != null).sort((a, b) => a.startOffset > b.startOffset ? 1 : a.startOffset < b.startOffset ? -1 : 0);
131
- this._commandService.executeCommand(SetTextSelectionsOperation.id, {
132
- unitId,
133
- subUnitId,
134
- segmentId,
135
- style,
136
- isEditing,
137
- ranges
128
+ this._replaceByParam(n), this._textSelection$.next(n);
129
+ const { unitId: s, subUnitId: r, segmentId: o, style: c, textRanges: a, rectRanges: l, isEditing: d } = n, h = [...a, ...l].filter((g) => g.startOffset != null && g.endOffset != null).sort((g, f) => g.startOffset > f.startOffset ? 1 : g.startOffset < f.startOffset ? -1 : 0);
130
+ this._commandService.executeCommand(X.id, {
131
+ unitId: s,
132
+ subUnitId: r,
133
+ segmentId: o,
134
+ style: c,
135
+ isEditing: d,
136
+ ranges: h
138
137
  });
139
138
  }
140
139
  dispose() {
141
140
  this._textSelection$.complete();
142
141
  }
143
- _setCurrentSelectionNotRefresh(param) {
144
- this._currentSelection = param;
142
+ _setCurrentSelectionNotRefresh(e) {
143
+ this._currentSelection = e;
145
144
  }
146
- _getTextRanges(param) {
147
- var _a6;
148
- if (param == null)
145
+ _getTextRanges(e) {
146
+ var s;
147
+ if (e == null)
149
148
  return;
150
- const { unitId, subUnitId = "" } = param;
151
- return (_a6 = this._textSelectionInfo.get(unitId)) == null ? void 0 : _a6.get(subUnitId);
149
+ const { unitId: t, subUnitId: n = "" } = e;
150
+ return (s = this._textSelectionInfo.get(t)) == null ? void 0 : s.get(n);
152
151
  }
153
- _refresh(param) {
154
- const allTextSelectionInfo = this._getTextRanges(param);
155
- if (allTextSelectionInfo == null)
152
+ _refresh(e) {
153
+ const t = this._getTextRanges(e);
154
+ if (t == null)
156
155
  return;
157
- const { textRanges, rectRanges } = allTextSelectionInfo, docRanges = [...textRanges, ...rectRanges], { unitId, subUnitId } = param;
156
+ const { textRanges: n, rectRanges: s } = t, r = [...n, ...s], { unitId: o, subUnitId: c } = e;
158
157
  this._refreshSelection$.next({
159
- unitId,
160
- subUnitId,
161
- docRanges,
158
+ unitId: o,
159
+ subUnitId: c,
160
+ docRanges: r,
162
161
  isEditing: !1
163
162
  });
164
163
  }
165
- _replaceByParam(insertParam) {
166
- const { unitId, subUnitId, ...selectionInsertParam } = insertParam;
167
- this._textSelectionInfo.has(unitId) || this._textSelectionInfo.set(unitId, /* @__PURE__ */ new Map()), this._textSelectionInfo.get(unitId).set(subUnitId, { ...selectionInsertParam });
168
- }
169
- _addByParam(insertParam) {
170
- const { unitId, subUnitId, ...selectionInsertParam } = insertParam;
171
- this._textSelectionInfo.has(unitId) || this._textSelectionInfo.set(unitId, /* @__PURE__ */ new Map());
172
- const unitTextRange = this._textSelectionInfo.get(unitId);
173
- unitTextRange.has(subUnitId) ? unitTextRange.get(subUnitId).textRanges.push(...insertParam.textRanges) : unitTextRange.set(subUnitId, { ...selectionInsertParam });
174
- }
175
- }, __name(_a, "DocSelectionManagerService"), _a);
176
- DocSelectionManagerService = __decorateClass$4([
177
- __decorateParam$4(0, ICommandService),
178
- __decorateParam$4(1, IUniverInstanceService)
179
- ], DocSelectionManagerService);
180
- var __defProp$3 = Object.defineProperty, __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor, __decorateClass$3 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
181
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
182
- (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
183
- return kind && result && __defProp$3(target, key, result), result;
184
- }, "__decorateClass$3"), __decorateParam$3 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$3"), _a2;
185
- let DocSkeletonManagerService = (_a2 = class extends RxDisposable {
186
- constructor(_context, _localeService, _univerInstanceService) {
164
+ _replaceByParam(e) {
165
+ const { unitId: t, subUnitId: n, ...s } = e;
166
+ this._textSelectionInfo.has(t) || this._textSelectionInfo.set(t, /* @__PURE__ */ new Map()), this._textSelectionInfo.get(t).set(n, { ...s });
167
+ }
168
+ _addByParam(e) {
169
+ const { unitId: t, subUnitId: n, ...s } = e;
170
+ this._textSelectionInfo.has(t) || this._textSelectionInfo.set(t, /* @__PURE__ */ new Map());
171
+ const r = this._textSelectionInfo.get(t);
172
+ r.has(n) ? r.get(n).textRanges.push(...e.textRanges) : r.set(n, { ...s });
173
+ }
174
+ };
175
+ m = Oe([
176
+ W(0, L),
177
+ W(1, p)
178
+ ], m);
179
+ var xe = Object.defineProperty, Ce = Object.getOwnPropertyDescriptor, Me = (i, e, t, n) => {
180
+ for (var s = n > 1 ? void 0 : n ? Ce(e, t) : e, r = i.length - 1, o; r >= 0; r--)
181
+ (o = i[r]) && (s = (n ? o(e, t, s) : o(s)) || s);
182
+ return n && s && xe(e, t, s), s;
183
+ }, Y = (i, e) => (t, n) => e(t, n, i);
184
+ let b = class extends A {
185
+ constructor(e, t, n) {
187
186
  super();
188
- __publicField(this, "_skeleton");
189
- __publicField(this, "_docViewModel");
190
- __publicField(this, "_currentSkeleton$", new BehaviorSubject(null));
191
- __publicField(this, "currentSkeleton$", this._currentSkeleton$.asObservable());
187
+ u(this, "_skeleton");
188
+ u(this, "_docViewModel");
189
+ u(this, "_currentSkeleton$", new D(null));
190
+ u(this, "currentSkeleton$", this._currentSkeleton$.asObservable());
192
191
  // CurrentSkeletonBefore for pre-triggered logic during registration
193
- __publicField(this, "_currentSkeletonBefore$", new BehaviorSubject(null));
194
- __publicField(this, "currentSkeletonBefore$", this._currentSkeletonBefore$.asObservable());
195
- __publicField(this, "_currentViewModel$", new BehaviorSubject(null));
196
- __publicField(this, "currentViewModel$", this._currentViewModel$.asObservable());
197
- this._context = _context, this._localeService = _localeService, this._univerInstanceService = _univerInstanceService, this._init(), this._univerInstanceService.getCurrentTypeOfUnit$(UniverInstanceType.UNIVER_DOC).pipe(takeUntil(this.dispose$)).subscribe((documentModel) => {
198
- documentModel && documentModel.getUnitId() === this._context.unitId && this._update(documentModel);
192
+ u(this, "_currentSkeletonBefore$", new D(null));
193
+ u(this, "currentSkeletonBefore$", this._currentSkeletonBefore$.asObservable());
194
+ u(this, "_currentViewModel$", new D(null));
195
+ u(this, "currentViewModel$", this._currentViewModel$.asObservable());
196
+ this._context = e, this._localeService = t, this._univerInstanceService = n, this._init(), this._univerInstanceService.getCurrentTypeOfUnit$(y.UNIVER_DOC).pipe(Z(this.dispose$)).subscribe((s) => {
197
+ s && s.getUnitId() === this._context.unitId && this._update(s);
199
198
  });
200
199
  }
201
200
  dispose() {
@@ -208,275 +207,398 @@ let DocSkeletonManagerService = (_a2 = class extends RxDisposable {
208
207
  return this._docViewModel;
209
208
  }
210
209
  _init() {
211
- const documentDataModel = this._context.unit;
212
- this._update(documentDataModel);
210
+ const e = this._context.unit;
211
+ this._update(e);
213
212
  }
214
- _update(documentDataModel) {
215
- const unitId = this._context.unitId;
216
- if (documentDataModel.getBody() == null)
213
+ _update(e) {
214
+ const t = this._context.unitId;
215
+ if (e.getBody() == null)
217
216
  return;
218
- this._docViewModel && isInternalEditorID(unitId) ? (this._docViewModel.reset(documentDataModel), this._context.unit = documentDataModel) : this._docViewModel || (this._docViewModel = this._buildDocViewModel(documentDataModel)), this._skeleton || (this._skeleton = this._buildSkeleton(this._docViewModel));
219
- const skeleton = this._skeleton;
220
- skeleton.calculate(), this._currentSkeletonBefore$.next(skeleton), this._currentSkeleton$.next(skeleton), this._currentViewModel$.next(this._docViewModel);
221
- }
222
- _buildSkeleton(documentViewModel) {
223
- return DocumentSkeleton.create(documentViewModel, this._localeService);
224
- }
225
- _buildDocViewModel(documentDataModel) {
226
- return new DocumentViewModel(documentDataModel);
227
- }
228
- }, __name(_a2, "DocSkeletonManagerService"), _a2);
229
- DocSkeletonManagerService = __decorateClass$3([
230
- __decorateParam$3(1, Inject(LocaleService)),
231
- __decorateParam$3(2, IUniverInstanceService)
232
- ], DocSkeletonManagerService);
233
- const _DocStateEmitService = class _DocStateEmitService extends RxDisposable {
217
+ this._docViewModel && oe(t) ? (this._docViewModel.reset(e), this._context.unit = e) : this._docViewModel || (this._docViewModel = this._buildDocViewModel(e)), this._skeleton || (this._skeleton = this._buildSkeleton(this._docViewModel));
218
+ const n = this._skeleton;
219
+ n.calculate(), this._currentSkeletonBefore$.next(n), this._currentSkeleton$.next(n), this._currentViewModel$.next(this._docViewModel);
220
+ }
221
+ _buildSkeleton(e) {
222
+ return Se.create(e, this._localeService);
223
+ }
224
+ _buildDocViewModel(e) {
225
+ return new pe(e);
226
+ }
227
+ };
228
+ b = Me([
229
+ Y(1, $(re)),
230
+ Y(2, p)
231
+ ], b);
232
+ class ee extends A {
234
233
  constructor() {
235
234
  super();
236
- __publicField(this, "_docStateChangeParams$", new BehaviorSubject(null));
237
- __publicField(this, "docStateChangeParams$", this._docStateChangeParams$.asObservable());
235
+ u(this, "_docStateChangeParams$", new D(null));
236
+ u(this, "docStateChangeParams$", this._docStateChangeParams$.asObservable());
238
237
  }
239
- emitStateChangeInfo(params) {
240
- this._docStateChangeParams$.next(params);
238
+ emitStateChangeInfo(t) {
239
+ this._docStateChangeParams$.next(t);
241
240
  }
242
241
  dispose() {
243
242
  super.dispose(), this._docStateChangeParams$.complete();
244
243
  }
245
- };
246
- __name(_DocStateEmitService, "DocStateEmitService");
247
- let DocStateEmitService = _DocStateEmitService;
248
- const RichTextEditingMutationId = "doc.mutation.rich-text-editing", RichTextEditingMutation = {
249
- id: RichTextEditingMutationId,
250
- type: CommandType.MUTATION,
244
+ }
245
+ const K = "doc.mutation.rich-text-editing", T = {
246
+ id: K,
247
+ type: j.MUTATION,
251
248
  // eslint-disable-next-line max-lines-per-function
252
- handler: /* @__PURE__ */ __name((accessor, params) => {
253
- var _a6, _b;
249
+ handler: (i, e) => {
250
+ var G, F;
254
251
  const {
255
- unitId,
256
- segmentId = "",
257
- actions,
258
- textRanges,
259
- prevTextRanges,
260
- trigger,
261
- noHistory,
262
- isCompositionEnd,
263
- noNeedSetTextRange,
264
- debounce,
265
- isEditing = !0,
266
- isSync,
267
- syncer
268
- } = params, univerInstanceService = accessor.get(IUniverInstanceService), renderManagerService = accessor.get(IRenderManagerService), docStateEmitService = accessor.get(DocStateEmitService), documentDataModel = univerInstanceService.getUniverDocInstance(unitId), documentViewModel = (_a6 = renderManagerService.getRenderById(unitId)) == null ? void 0 : _a6.with(DocSkeletonManagerService).getViewModel();
269
- if (documentDataModel == null || documentViewModel == null)
270
- throw new Error(`DocumentDataModel or documentViewModel not found for unitId: ${unitId}`);
271
- const docSelectionManagerService = accessor.get(DocSelectionManagerService), docRanges = (_b = docSelectionManagerService.getDocRanges()) != null ? _b : [], disabled = !!documentDataModel.getSnapshot().disabled;
272
- if (JSONX.isNoop(actions) || actions && actions.length === 0 || disabled)
252
+ unitId: t,
253
+ segmentId: n = "",
254
+ actions: s,
255
+ textRanges: r,
256
+ prevTextRanges: o,
257
+ trigger: c,
258
+ noHistory: a,
259
+ isCompositionEnd: l,
260
+ noNeedSetTextRange: d,
261
+ debounce: h,
262
+ isEditing: g = !0,
263
+ isSync: f,
264
+ syncer: v
265
+ } = e, I = i.get(p), S = i.get(Ie), R = i.get(ee), _ = I.getUniverDocInstance(t), C = (G = S.getRenderById(t)) == null ? void 0 : G.with(b).getViewModel();
266
+ if (_ == null || C == null)
267
+ throw new Error(`DocumentDataModel or documentViewModel not found for unitId: ${t}`);
268
+ const M = i.get(m), E = (F = M.getDocRanges()) != null ? F : [], te = !!_.getSnapshot().disabled;
269
+ if (O.isNoop(s) || s && s.length === 0 || te)
273
270
  return {
274
- unitId,
271
+ unitId: t,
275
272
  actions: [],
276
- textRanges: docRanges
273
+ textRanges: E
277
274
  };
278
- const undoActions = JSONX.invertWithDoc(actions, documentDataModel.getSnapshot());
279
- documentDataModel.apply(actions), documentViewModel.reset(documentDataModel), !noNeedSetTextRange && textRanges && trigger != null && queueMicrotask(() => {
280
- docSelectionManagerService.replaceDocRanges(textRanges, { unitId, subUnitId: unitId }, isEditing, params.options);
275
+ const z = O.invertWithDoc(s, _.getSnapshot());
276
+ _.apply(s), C.reset(_), !d && r && c != null && queueMicrotask(() => {
277
+ M.replaceDocRanges(r, { unitId: t, subUnitId: t }, g, e.options);
281
278
  });
282
- const changeState = {
283
- commandId: RichTextEditingMutationId,
284
- unitId,
285
- segmentId,
286
- trigger,
287
- noHistory,
288
- debounce,
279
+ const ne = {
280
+ commandId: K,
281
+ unitId: t,
282
+ segmentId: n,
283
+ trigger: c,
284
+ noHistory: a,
285
+ debounce: h,
289
286
  redoState: {
290
- actions,
291
- textRanges
287
+ actions: s,
288
+ textRanges: r
292
289
  },
293
290
  undoState: {
294
- actions: undoActions,
295
- textRanges: prevTextRanges != null ? prevTextRanges : docRanges
291
+ actions: z,
292
+ textRanges: o != null ? o : E
296
293
  },
297
- isCompositionEnd,
298
- isSync,
299
- syncer
294
+ isCompositionEnd: l,
295
+ isSync: f,
296
+ syncer: v
300
297
  };
301
- return docStateEmitService.emitStateChangeInfo(changeState), {
302
- unitId,
303
- actions: undoActions,
304
- textRanges: docRanges
298
+ return R.emitStateChangeInfo(ne), {
299
+ unitId: t,
300
+ actions: z,
301
+ textRanges: E
305
302
  };
306
- }, "handler")
307
- }, DocsRenameMutation = {
303
+ }
304
+ }, De = {
308
305
  id: "doc.mutation.rename-doc",
309
- type: CommandType.MUTATION,
310
- handler: /* @__PURE__ */ __name((accessor, params) => {
311
- const doc = accessor.get(IUniverInstanceService).getUnit(params.unitId, UniverInstanceType.UNIVER_DOC);
312
- return doc ? (doc.setName(params.name), !0) : !1;
313
- }, "handler")
314
- }, PLUGIN_CONFIG_KEY = "docs.config", defaultPluginConfig = {};
315
- var __defProp$2 = Object.defineProperty, __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor, __decorateClass$2 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
316
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
317
- (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
318
- return kind && result && __defProp$2(target, key, result), result;
319
- }, "__decorateClass$2"), __decorateParam$2 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$2"), _a3;
320
- let DocCustomRangeController = (_a3 = class extends Disposable {
321
- constructor(_commandService, _textSelectionManagerService, _univerInstanceService) {
322
- super(), this._commandService = _commandService, this._textSelectionManagerService = _textSelectionManagerService, this._univerInstanceService = _univerInstanceService, this._initSelectionChange();
323
- }
324
- _transformCustomRange(doc, selection) {
325
- var _a6;
326
- const { startOffset, endOffset, collapsed } = selection, customRanges = (_a6 = doc.getCustomRanges()) == null ? void 0 : _a6.filter((range) => !range.wholeEntity || startOffset <= range.startIndex && endOffset > range.endIndex ? !1 : collapsed ? range.startIndex < startOffset && range.endIndex >= endOffset : BuildTextUtils.range.isIntersects(startOffset, endOffset - 1, range.startIndex, range.endIndex));
327
- if (customRanges != null && customRanges.length) {
328
- let start = startOffset, end = endOffset;
329
- return customRanges.forEach((range) => {
330
- start = Math.min(range.startIndex, start), end = Math.max(range.endIndex + 1, end);
306
+ type: j.MUTATION,
307
+ handler: (i, e) => {
308
+ const n = i.get(p).getUnit(e.unitId, y.UNIVER_DOC);
309
+ return n ? (n.setName(e.name), !0) : !1;
310
+ }
311
+ }, Te = "docs.config", be = {};
312
+ var we = Object.defineProperty, ye = Object.getOwnPropertyDescriptor, $e = (i, e, t, n) => {
313
+ for (var s = n > 1 ? void 0 : n ? ye(e, t) : e, r = i.length - 1, o; r >= 0; r--)
314
+ (o = i[r]) && (s = (n ? o(e, t, s) : o(s)) || s);
315
+ return n && s && we(e, t, s), s;
316
+ }, N = (i, e) => (t, n) => e(t, n, i);
317
+ let w = class extends J {
318
+ constructor(i, e, t) {
319
+ super(), this._commandService = i, this._textSelectionManagerService = e, this._univerInstanceService = t, this._initSelectionChange();
320
+ }
321
+ _transformCustomRange(i, e) {
322
+ var o;
323
+ const { startOffset: t, endOffset: n, collapsed: s } = e, r = (o = i.getCustomRanges()) == null ? void 0 : o.filter((c) => !c.wholeEntity || t <= c.startIndex && n > c.endIndex ? !1 : s ? c.startIndex < t && c.endIndex >= n : x.range.isIntersects(t, n - 1, c.startIndex, c.endIndex));
324
+ if (r != null && r.length) {
325
+ let c = t, a = n;
326
+ return r.forEach((l) => {
327
+ c = Math.min(l.startIndex, c), a = Math.max(l.endIndex + 1, a);
331
328
  }), {
332
- ...selection,
333
- startOffset: start,
334
- endOffset: end,
335
- collapsed: start === end
329
+ ...e,
330
+ startOffset: c,
331
+ endOffset: a,
332
+ collapsed: c === a
336
333
  };
337
334
  }
338
- return selection;
335
+ return e;
339
336
  }
340
337
  _initSelectionChange() {
341
- this.disposeWithMe(this._commandService.onCommandExecuted((commandInfo) => {
342
- if (commandInfo.id === SetTextSelectionsOperation.id) {
343
- const params = commandInfo.params, { unitId, ranges, isEditing } = params, doc = this._univerInstanceService.getUnit(unitId);
344
- if (!doc)
338
+ this.disposeWithMe(this._commandService.onCommandExecuted((i) => {
339
+ if (i.id === X.id) {
340
+ const e = i.params, { unitId: t, ranges: n, isEditing: s } = e, r = this._univerInstanceService.getUnit(t);
341
+ if (!r)
345
342
  return;
346
- const transformedRanges = ranges.map((range) => this._transformCustomRange(doc, range));
347
- transformedRanges.some((range, i) => ranges[i] !== range) && this._textSelectionManagerService.replaceTextRanges(transformedRanges, isEditing);
343
+ const o = n.map((c) => this._transformCustomRange(r, c));
344
+ o.some((c, a) => n[a] !== c) && this._textSelectionManagerService.replaceTextRanges(o, s);
348
345
  }
349
346
  }));
350
347
  }
351
- }, __name(_a3, "DocCustomRangeController"), _a3);
352
- DocCustomRangeController = __decorateClass$2([
353
- __decorateParam$2(0, ICommandService),
354
- __decorateParam$2(1, Inject(DocSelectionManagerService)),
355
- __decorateParam$2(2, IUniverInstanceService)
356
- ], DocCustomRangeController);
357
- var __defProp$1 = Object.defineProperty, __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor, __decorateClass$1 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
358
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
359
- (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
360
- return kind && result && __defProp$1(target, key, result), result;
361
- }, "__decorateClass$1"), __decorateParam$1 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$1");
362
- const PLUGIN_NAME = "DOCS_PLUGIN";
363
- var _a4;
364
- let UniverDocsPlugin = (_a4 = class extends Plugin {
348
+ };
349
+ w = $e([
350
+ N(0, L),
351
+ N(1, $(m)),
352
+ N(2, p)
353
+ ], w);
354
+ var Ue = Object.defineProperty, Ee = Object.getOwnPropertyDescriptor, Pe = (i, e, t, n) => {
355
+ for (var s = n > 1 ? void 0 : n ? Ee(e, t) : e, r = i.length - 1, o; r >= 0; r--)
356
+ (o = i[r]) && (s = (n ? o(e, t, s) : o(s)) || s);
357
+ return n && s && Ue(e, t, s), s;
358
+ }, H = (i, e) => (t, n) => e(t, n, i);
359
+ const Ne = "DOCS_PLUGIN";
360
+ var B;
361
+ let k = (B = class extends ae {
365
362
  // static override type = UniverInstanceType.UNIVER_DOC;
366
- constructor(_config = defaultPluginConfig, _injector, _configService) {
367
- super(), this._config = _config, this._injector = _injector, this._configService = _configService;
368
- const { ...rest } = this._config;
369
- this._configService.setConfig(PLUGIN_CONFIG_KEY, rest);
363
+ constructor(i = be, e, t) {
364
+ super(), this._config = i, this._injector = e, this._configService = t;
365
+ const { ...n } = this._config;
366
+ this._configService.setConfig(Te, n);
370
367
  }
371
368
  onStarting() {
372
369
  this._initializeDependencies(), this._initializeCommands();
373
370
  }
374
371
  _initializeCommands() {
375
372
  [
376
- RichTextEditingMutation,
377
- DocsRenameMutation,
378
- SetTextSelectionsOperation
379
- ].forEach((command) => {
380
- this._injector.get(ICommandService).registerCommand(command);
373
+ T,
374
+ De,
375
+ X
376
+ ].forEach((i) => {
377
+ this._injector.get(L).registerCommand(i);
381
378
  });
382
379
  }
383
380
  _initializeDependencies() {
384
381
  [
385
- [DocSelectionManagerService],
386
- [DocStateEmitService],
387
- [DocCustomRangeController]
388
- ].forEach((d) => this._injector.add(d));
382
+ [m],
383
+ [ee],
384
+ [w]
385
+ ].forEach((i) => this._injector.add(i));
389
386
  }
390
387
  onReady() {
391
- this._injector.get(DocCustomRangeController);
392
- }
393
- }, __name(_a4, "UniverDocsPlugin"), __publicField(_a4, "pluginName", PLUGIN_NAME), _a4);
394
- UniverDocsPlugin = __decorateClass$1([
395
- __decorateParam$1(1, Inject(Injector)),
396
- __decorateParam$1(2, IConfigService)
397
- ], UniverDocsPlugin);
398
- const CUSTOM_RANGE = createInterceptorKey("CUSTOM_RANGE"), CUSTOM_DECORATION = createInterceptorKey("CUSTOM_DECORATION"), DOC_INTERCEPTOR_POINT = {
399
- CUSTOM_RANGE,
400
- CUSTOM_DECORATION
388
+ this._injector.get(w);
389
+ }
390
+ }, u(B, "pluginName", Ne), B);
391
+ k = Pe([
392
+ H(1, $(ce)),
393
+ H(2, le)
394
+ ], k);
395
+ const Ve = Q("CUSTOM_RANGE"), Be = Q("CUSTOM_DECORATION"), V = {
396
+ CUSTOM_RANGE: Ve,
397
+ CUSTOM_DECORATION: Be
401
398
  };
402
- var __defProp2 = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __decorateClass = /* @__PURE__ */ __name((decorators, target, key, kind) => {
403
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
404
- (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
405
- return kind && result && __defProp2(target, key, result), result;
406
- }, "__decorateClass"), __decorateParam = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam"), _a5;
407
- let DocInterceptorService = (_a5 = class extends Disposable {
408
- constructor(_context, _docSkeletonManagerService) {
399
+ var je = Object.defineProperty, Ae = Object.getOwnPropertyDescriptor, Le = (i, e, t, n) => {
400
+ for (var s = n > 1 ? void 0 : n ? Ae(e, t) : e, r = i.length - 1, o; r >= 0; r--)
401
+ (o = i[r]) && (s = (n ? o(e, t, s) : o(s)) || s);
402
+ return n && s && je(e, t, s), s;
403
+ }, Xe = (i, e) => (t, n) => e(t, n, i);
404
+ let q = class extends J {
405
+ constructor(e, t) {
409
406
  super();
410
- __publicField(this, "_interceptorsByName", /* @__PURE__ */ new Map());
411
- this._context = _context, this._docSkeletonManagerService = _docSkeletonManagerService;
412
- const viewModel = this._docSkeletonManagerService.getViewModel(), unitId = viewModel.getDataModel().getUnitId();
413
- if (unitId === DOCS_NORMAL_EDITOR_UNIT_ID_KEY || unitId === DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)
407
+ u(this, "_interceptorsByName", /* @__PURE__ */ new Map());
408
+ this._context = e, this._docSkeletonManagerService = t;
409
+ const n = this._docSkeletonManagerService.getViewModel(), s = n.getDataModel().getUnitId();
410
+ if (s === ue || s === de)
414
411
  return;
415
- this.disposeWithMe(this.interceptDocumentViewModel(viewModel)), this.disposeWithMe(this.intercept(DOC_INTERCEPTOR_POINT.CUSTOM_RANGE, {
412
+ this.disposeWithMe(this.interceptDocumentViewModel(n)), this.disposeWithMe(this.intercept(V.CUSTOM_RANGE, {
416
413
  priority: -1,
417
- handler: /* @__PURE__ */ __name((data, pos, next) => next(data), "handler")
414
+ handler: (o, c, a) => a(o)
418
415
  }));
419
- let disposableCollection = new DisposableCollection();
420
- viewModel.segmentViewModels$.subscribe((segmentViewModels) => {
421
- disposableCollection.dispose(), disposableCollection = new DisposableCollection(), segmentViewModels.forEach((segmentViewModel) => {
422
- disposableCollection.add(this.interceptDocumentViewModel(segmentViewModel));
416
+ let r = new P();
417
+ n.segmentViewModels$.subscribe((o) => {
418
+ r.dispose(), r = new P(), o.forEach((c) => {
419
+ r.add(this.interceptDocumentViewModel(c));
423
420
  });
424
- }), this.disposeWithMe(disposableCollection);
425
- }
426
- intercept(name, interceptor) {
427
- const key = name;
428
- this._interceptorsByName.has(key) || this._interceptorsByName.set(key, []);
429
- const interceptors = this._interceptorsByName.get(key);
430
- return interceptors.push(interceptor), this._interceptorsByName.set(
431
- key,
432
- interceptors.sort((a, b) => {
433
- var _a6, _b;
434
- return ((_a6 = b.priority) != null ? _a6 : 0) - ((_b = a.priority) != null ? _b : 0);
421
+ }), this.disposeWithMe(r);
422
+ }
423
+ intercept(e, t) {
424
+ const n = e;
425
+ this._interceptorsByName.has(n) || this._interceptorsByName.set(n, []);
426
+ const s = this._interceptorsByName.get(n);
427
+ return s.push(t), this._interceptorsByName.set(
428
+ n,
429
+ s.sort((r, o) => {
430
+ var c, a;
431
+ return ((c = o.priority) != null ? c : 0) - ((a = r.priority) != null ? a : 0);
435
432
  })
436
- ), this.disposeWithMe(toDisposable(() => remove(this._interceptorsByName.get(key), interceptor)));
437
- }
438
- fetchThroughInterceptors(name) {
439
- const key = name, interceptors = this._interceptorsByName.get(key);
440
- return composeInterceptors(interceptors || []);
441
- }
442
- interceptDocumentViewModel(viewModel) {
443
- const disposableCollection = new DisposableCollection();
444
- return disposableCollection.add(viewModel.registerCustomRangeInterceptor({
445
- getCustomRange: /* @__PURE__ */ __name((index) => {
446
- var _a6;
447
- return this.fetchThroughInterceptors(DOC_INTERCEPTOR_POINT.CUSTOM_RANGE)(
448
- viewModel.getCustomRangeRaw(index),
433
+ ), this.disposeWithMe(ge(() => _e(this._interceptorsByName.get(n), t)));
434
+ }
435
+ fetchThroughInterceptors(e) {
436
+ const t = e, n = this._interceptorsByName.get(t);
437
+ return he(n || []);
438
+ }
439
+ interceptDocumentViewModel(e) {
440
+ const t = new P();
441
+ return t.add(e.registerCustomRangeInterceptor({
442
+ getCustomRange: (n) => {
443
+ var s;
444
+ return this.fetchThroughInterceptors(V.CUSTOM_RANGE)(
445
+ e.getCustomRangeRaw(n),
449
446
  {
450
- index,
451
- unitId: viewModel.getDataModel().getUnitId(),
452
- customRanges: (_a6 = viewModel.getDataModel().getCustomRanges()) != null ? _a6 : []
447
+ index: n,
448
+ unitId: e.getDataModel().getUnitId(),
449
+ customRanges: (s = e.getDataModel().getCustomRanges()) != null ? s : []
453
450
  }
454
451
  );
455
- }, "getCustomRange"),
456
- getCustomDecoration: /* @__PURE__ */ __name((index) => {
457
- var _a6;
458
- return this.fetchThroughInterceptors(DOC_INTERCEPTOR_POINT.CUSTOM_DECORATION)(
459
- viewModel.getCustomDecorationRaw(index),
452
+ },
453
+ getCustomDecoration: (n) => {
454
+ var s;
455
+ return this.fetchThroughInterceptors(V.CUSTOM_DECORATION)(
456
+ e.getCustomDecorationRaw(n),
460
457
  {
461
- index,
462
- unitId: viewModel.getDataModel().getUnitId(),
463
- customDecorations: (_a6 = viewModel.getDataModel().getCustomDecorations()) != null ? _a6 : []
458
+ index: n,
459
+ unitId: e.getDataModel().getUnitId(),
460
+ customDecorations: (s = e.getDataModel().getCustomDecorations()) != null ? s : []
464
461
  }
465
462
  );
466
- }, "getCustomDecoration")
467
- })), disposableCollection;
463
+ }
464
+ })), t;
468
465
  }
469
- }, __name(_a5, "DocInterceptorService"), _a5);
470
- DocInterceptorService = __decorateClass([
471
- __decorateParam(1, Inject(DocSkeletonManagerService))
472
- ], DocInterceptorService);
466
+ };
467
+ q = Le([
468
+ Xe(1, $(b))
469
+ ], q);
470
+ function U(i, e = "") {
471
+ if (!e)
472
+ return ["body"];
473
+ const { headers: t, footers: n } = i.getSnapshot();
474
+ if (t == null && n == null)
475
+ throw new Error("Document data model must have headers or footers when update by segment id");
476
+ if ((t == null ? void 0 : t[e]) != null)
477
+ return ["headers", e, "body"];
478
+ if ((n == null ? void 0 : n[e]) != null)
479
+ return ["footers", e, "body"];
480
+ throw new Error("Segment id not found in headers or footers");
481
+ }
482
+ function Ye(i, e, t) {
483
+ const { unitId: n, segmentId: s } = e, o = i.get(p).getUnit(n);
484
+ if (!o)
485
+ return !1;
486
+ const c = {
487
+ id: T.id,
488
+ params: {
489
+ unitId: e.unitId,
490
+ actions: [],
491
+ textRanges: void 0
492
+ }
493
+ }, a = O.getInstance(), l = x.customRange.add({ ...e, body: t });
494
+ if (!l)
495
+ return !1;
496
+ const d = U(o, s);
497
+ return c.params.actions = a.editOp(l.serialize(), d), c;
498
+ }
499
+ function Ke(i, e) {
500
+ var M;
501
+ const { rangeId: t, rangeType: n, wholeEntity: s, properties: r, unitId: o, selection: c } = e, a = i.get(m), l = i.get(p), d = c != null ? c : (M = a.getTextRanges({ unitId: o, subUnitId: o })) == null ? void 0 : M[0], h = d == null ? void 0 : d.segmentId;
502
+ if (!d)
503
+ return !1;
504
+ const g = l.getUnit(o, y.UNIVER_DOC);
505
+ if (!g)
506
+ return !1;
507
+ const f = g.getSelfOrHeaderFooterModel(d.segmentId).getBody();
508
+ if (!f)
509
+ return !1;
510
+ const { startOffset: v, endOffset: I } = x.selection.normalizeSelection(d), S = x.customRange.add({
511
+ range: { startOffset: v, endOffset: I, collapsed: v === I },
512
+ rangeId: t,
513
+ rangeType: n,
514
+ segmentId: h,
515
+ wholeEntity: s,
516
+ properties: r,
517
+ body: f
518
+ });
519
+ if (!S)
520
+ return !1;
521
+ const R = O.getInstance(), _ = {
522
+ id: T.id,
523
+ params: {
524
+ unitId: o,
525
+ actions: [],
526
+ textRanges: S.selections
527
+ },
528
+ textX: S
529
+ }, C = U(g, h);
530
+ return _.params.actions = R.editOp(S.serialize(), C), _;
531
+ }
532
+ function He(i, e) {
533
+ const { unitId: t, segmentId: n, insert: s } = e, o = i.get(p).getUnit(t);
534
+ if (!o)
535
+ return !1;
536
+ const c = {
537
+ id: T.id,
538
+ params: {
539
+ unitId: e.unitId,
540
+ actions: [],
541
+ textRanges: void 0,
542
+ segmentId: n
543
+ }
544
+ }, a = O.getInstance(), l = x.customRange.delete(i, {
545
+ documentDataModel: o,
546
+ rangeId: e.rangeId,
547
+ insert: s,
548
+ segmentId: n
549
+ });
550
+ if (!l)
551
+ return !1;
552
+ const d = U(o, n);
553
+ return c.params.actions = a.editOp(l.serialize(), d), c.params.textRanges = l.selections, c;
554
+ }
555
+ function ke(i, e) {
556
+ var I, S, R, _;
557
+ const { unitId: t, body: n, doc: s } = e;
558
+ let r = s;
559
+ if (r || (r = i.get(p).getUnit(t)), !r)
560
+ return !1;
561
+ const o = (I = e.selection) == null ? void 0 : I.segmentId, c = (S = r.getSelfOrHeaderFooterModel(o)) == null ? void 0 : S.getBody();
562
+ if (!c) return !1;
563
+ const a = i.get(m), l = (R = e.selection) != null ? R : a.getActiveTextRange();
564
+ if (!l || !c)
565
+ return !1;
566
+ const d = (_ = e.textRanges) != null ? _ : [{
567
+ startOffset: l.startOffset + n.dataStream.length,
568
+ endOffset: l.startOffset + n.dataStream.length,
569
+ collapsed: !0,
570
+ segmentId: o
571
+ }], h = x.selection.replace({
572
+ selection: l,
573
+ body: n,
574
+ doc: r
575
+ });
576
+ if (!h)
577
+ return !1;
578
+ const g = {
579
+ id: T.id,
580
+ params: {
581
+ unitId: t,
582
+ actions: [],
583
+ textRanges: d,
584
+ debounce: !0,
585
+ segmentId: o
586
+ },
587
+ textX: h
588
+ }, f = O.getInstance(), v = U(r, o);
589
+ return g.params.actions = f.editOp(h.serialize(), v), g;
590
+ }
473
591
  export {
474
- DOC_INTERCEPTOR_POINT,
475
- DocInterceptorService,
476
- DocSelectionManagerService,
477
- DocSkeletonManagerService,
478
- DocStateEmitService,
479
- RichTextEditingMutation,
480
- SetTextSelectionsOperation,
481
- UniverDocsPlugin
592
+ V as DOC_INTERCEPTOR_POINT,
593
+ q as DocInterceptorService,
594
+ m as DocSelectionManagerService,
595
+ b as DocSkeletonManagerService,
596
+ ee as DocStateEmitService,
597
+ T as RichTextEditingMutation,
598
+ X as SetTextSelectionsOperation,
599
+ k as UniverDocsPlugin,
600
+ Ke as addCustomRangeBySelectionFactory,
601
+ Ye as addCustomRangeFactory,
602
+ He as deleteCustomRangeFactory,
603
+ ke as replaceSelectionFactory
482
604
  };