@univerjs/docs-ui 1.0.0-beta.0 → 1.0.0-beta.1

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 (100) hide show
  1. package/lib/cjs/index.js +960 -254
  2. package/lib/cjs/locale/ar-SA.js +17 -8
  3. package/lib/cjs/locale/ca-ES.js +17 -8
  4. package/lib/cjs/locale/de-DE.js +17 -8
  5. package/lib/cjs/locale/en-US.js +17 -8
  6. package/lib/cjs/locale/es-ES.js +17 -8
  7. package/lib/cjs/locale/fa-IR.js +17 -8
  8. package/lib/cjs/locale/fr-FR.js +17 -8
  9. package/lib/cjs/locale/id-ID.js +17 -8
  10. package/lib/cjs/locale/it-IT.js +17 -8
  11. package/lib/cjs/locale/ja-JP.js +17 -8
  12. package/lib/cjs/locale/ko-KR.js +17 -8
  13. package/lib/cjs/locale/pl-PL.js +17 -8
  14. package/lib/cjs/locale/pt-BR.js +17 -8
  15. package/lib/cjs/locale/ru-RU.js +17 -8
  16. package/lib/cjs/locale/sk-SK.js +17 -8
  17. package/lib/cjs/locale/vi-VN.js +17 -8
  18. package/lib/cjs/locale/zh-CN.js +17 -8
  19. package/lib/cjs/locale/zh-HK.js +17 -8
  20. package/lib/cjs/locale/zh-TW.js +17 -8
  21. package/lib/es/index.js +962 -258
  22. package/lib/es/locale/ar-SA.js +17 -8
  23. package/lib/es/locale/ca-ES.js +17 -8
  24. package/lib/es/locale/de-DE.js +17 -8
  25. package/lib/es/locale/en-US.js +17 -8
  26. package/lib/es/locale/es-ES.js +17 -8
  27. package/lib/es/locale/fa-IR.js +17 -8
  28. package/lib/es/locale/fr-FR.js +17 -8
  29. package/lib/es/locale/id-ID.js +17 -8
  30. package/lib/es/locale/it-IT.js +17 -8
  31. package/lib/es/locale/ja-JP.js +17 -8
  32. package/lib/es/locale/ko-KR.js +17 -8
  33. package/lib/es/locale/pl-PL.js +17 -8
  34. package/lib/es/locale/pt-BR.js +17 -8
  35. package/lib/es/locale/ru-RU.js +17 -8
  36. package/lib/es/locale/sk-SK.js +17 -8
  37. package/lib/es/locale/vi-VN.js +17 -8
  38. package/lib/es/locale/zh-CN.js +17 -8
  39. package/lib/es/locale/zh-HK.js +17 -8
  40. package/lib/es/locale/zh-TW.js +17 -8
  41. package/lib/index.css +154 -16
  42. package/lib/index.js +962 -258
  43. package/lib/locale/ar-SA.js +17 -8
  44. package/lib/locale/ca-ES.js +17 -8
  45. package/lib/locale/de-DE.js +17 -8
  46. package/lib/locale/en-US.js +17 -8
  47. package/lib/locale/es-ES.js +17 -8
  48. package/lib/locale/fa-IR.js +17 -8
  49. package/lib/locale/fr-FR.js +17 -8
  50. package/lib/locale/id-ID.js +17 -8
  51. package/lib/locale/it-IT.js +17 -8
  52. package/lib/locale/ja-JP.js +17 -8
  53. package/lib/locale/ko-KR.js +17 -8
  54. package/lib/locale/pl-PL.js +17 -8
  55. package/lib/locale/pt-BR.js +17 -8
  56. package/lib/locale/ru-RU.js +17 -8
  57. package/lib/locale/sk-SK.js +17 -8
  58. package/lib/locale/vi-VN.js +17 -8
  59. package/lib/locale/zh-CN.js +17 -8
  60. package/lib/locale/zh-HK.js +17 -8
  61. package/lib/locale/zh-TW.js +17 -8
  62. package/lib/types/commands/commands/clipboard.inner.command.d.ts +8 -2
  63. package/lib/types/commands/commands/doc-select-all.command.d.ts +2 -0
  64. package/lib/types/commands/commands/replace-content.command.d.ts +1 -0
  65. package/lib/types/config/config.d.ts +1 -0
  66. package/lib/types/controllers/render-controllers/doc-ime-input.controller.d.ts +3 -2
  67. package/lib/types/controllers/render-controllers/doc-input.controller.d.ts +1 -1
  68. package/lib/types/controllers/render-controllers/doc-paragraph-placeholder.render-controller.d.ts +1 -1
  69. package/lib/types/controllers/render-controllers/doc.render-controller.d.ts +2 -0
  70. package/lib/types/index.d.ts +1 -0
  71. package/lib/types/locale/en-US.d.ts +16 -7
  72. package/lib/types/services/doc-ime-input-manager.service.d.ts +17 -0
  73. package/lib/types/services/doc-menu-style.service.d.ts +3 -2
  74. package/lib/types/services/doc-render-background.d.ts +1 -1
  75. package/lib/types/services/selection/doc-selection-render.service.d.ts +2 -0
  76. package/lib/types/services/selection/text-range.d.ts +3 -0
  77. package/lib/types/views/doc-statistics/DocStatistics.d.ts +16 -0
  78. package/lib/types/views/doc-statistics/use-doc-statistics.d.ts +30 -0
  79. package/lib/types/views/list-type-picker/Picker.d.ts +1 -4
  80. package/lib/umd/index.js +9 -9
  81. package/lib/umd/locale/ar-SA.js +1 -1
  82. package/lib/umd/locale/ca-ES.js +1 -1
  83. package/lib/umd/locale/de-DE.js +1 -1
  84. package/lib/umd/locale/en-US.js +1 -1
  85. package/lib/umd/locale/es-ES.js +1 -1
  86. package/lib/umd/locale/fa-IR.js +1 -1
  87. package/lib/umd/locale/fr-FR.js +1 -1
  88. package/lib/umd/locale/id-ID.js +1 -1
  89. package/lib/umd/locale/it-IT.js +1 -1
  90. package/lib/umd/locale/ja-JP.js +1 -1
  91. package/lib/umd/locale/ko-KR.js +1 -1
  92. package/lib/umd/locale/pl-PL.js +1 -1
  93. package/lib/umd/locale/pt-BR.js +1 -1
  94. package/lib/umd/locale/ru-RU.js +1 -1
  95. package/lib/umd/locale/sk-SK.js +1 -1
  96. package/lib/umd/locale/vi-VN.js +1 -1
  97. package/lib/umd/locale/zh-CN.js +1 -1
  98. package/lib/umd/locale/zh-HK.js +1 -1
  99. package/lib/umd/locale/zh-TW.js +1 -1
  100. package/package.json +8 -8
package/lib/cjs/index.js CHANGED
@@ -173,7 +173,7 @@ function getTextRunAtPosition(body, position, defaultStyle, cacheStyle, isCellEd
173
173
  const retTextRun = {
174
174
  st: 0,
175
175
  ed: 0,
176
- ts: {}
176
+ ts: !defaultStyle.cl ? {} : { cl: { ...defaultStyle.cl } }
177
177
  };
178
178
  if (isFormula) return retTextRun;
179
179
  for (let i = textRuns.length - 1; i >= 0; i--) {
@@ -361,11 +361,12 @@ const DEFAULT_TEXT_STYLE = {
361
361
  fs: BODY_DEFAULT_FONTSIZE
362
362
  };
363
363
  let DocMenuStyleService = class DocMenuStyleService extends _univerjs_core.Disposable {
364
- constructor(_textSelectionManagerService, _univerInstanceService, _renderManagerService) {
364
+ constructor(_textSelectionManagerService, _univerInstanceService, _renderManagerService, _themeService) {
365
365
  super();
366
366
  this._textSelectionManagerService = _textSelectionManagerService;
367
367
  this._univerInstanceService = _univerInstanceService;
368
368
  this._renderManagerService = _renderManagerService;
369
+ this._themeService = _themeService;
369
370
  _defineProperty(this, "_cacheStyle", null);
370
371
  this._init();
371
372
  }
@@ -382,15 +383,19 @@ let DocMenuStyleService = class DocMenuStyleService extends _univerjs_core.Dispo
382
383
  }
383
384
  getDefaultStyle() {
384
385
  var _this$_renderManagerS;
386
+ const defaultTextStyle = {
387
+ ...DEFAULT_TEXT_STYLE,
388
+ cl: { rgb: this._themeService.getColorFromTheme("gray.900") }
389
+ };
385
390
  const docDataModel = this._univerInstanceService.getCurrentUnitOfType(_univerjs_core.UniverInstanceType.UNIVER_DOC);
386
- if (docDataModel == null) return { ...DEFAULT_TEXT_STYLE };
391
+ if (docDataModel == null) return { ...defaultTextStyle };
387
392
  const unitId = docDataModel === null || docDataModel === void 0 ? void 0 : docDataModel.getUnitId();
388
393
  const docSkeletonManagerService = (_this$_renderManagerS = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS === void 0 ? void 0 : _this$_renderManagerS.with(_univerjs_docs.DocSkeletonManagerService);
389
394
  const docViewModel = docSkeletonManagerService === null || docSkeletonManagerService === void 0 ? void 0 : docSkeletonManagerService.getViewModel();
390
- if (docViewModel == null) return { ...DEFAULT_TEXT_STYLE };
391
- if (docViewModel.getEditArea() === _univerjs_engine_render.DocumentEditArea.BODY) return { ...DEFAULT_TEXT_STYLE };
395
+ if (docViewModel == null) return { ...defaultTextStyle };
396
+ if (docViewModel.getEditArea() === _univerjs_engine_render.DocumentEditArea.BODY) return { ...defaultTextStyle };
392
397
  else return {
393
- ...DEFAULT_TEXT_STYLE,
398
+ ...defaultTextStyle,
394
399
  fs: HEADER_FOOTER_DEFAULT_FONTSIZE
395
400
  };
396
401
  }
@@ -407,7 +412,8 @@ let DocMenuStyleService = class DocMenuStyleService extends _univerjs_core.Dispo
407
412
  DocMenuStyleService = __decorate([
408
413
  __decorateParam(0, (0, _univerjs_core.Inject)(_univerjs_docs.DocSelectionManagerService)),
409
414
  __decorateParam(1, _univerjs_core.IUniverInstanceService),
410
- __decorateParam(2, _univerjs_engine_render.IRenderManagerService)
415
+ __decorateParam(2, _univerjs_engine_render.IRenderManagerService),
416
+ __decorateParam(3, (0, _univerjs_core.Inject)(_univerjs_core.ThemeService))
411
417
  ], DocMenuStyleService);
412
418
 
413
419
  //#endregion
@@ -1087,17 +1093,18 @@ const InnerPasteCommand = {
1087
1093
  id: "doc.command.inner-paste",
1088
1094
  type: _univerjs_core.CommandType.COMMAND,
1089
1095
  handler: async (accessor, params) => {
1090
- var _docDataModel$getSelf, _body$tables, _body$customBlocks, _body$blockRanges;
1096
+ var _docDataModel$getSelf, _body$tables, _body$customBlocks, _body$blockRanges, _selectionInfo$option;
1091
1097
  const { customRangeMappings = [], segmentId, textRanges, doc } = params;
1092
1098
  const commandService = accessor.get(_univerjs_core.ICommandService);
1093
1099
  const undoRedoService = accessor.get(_univerjs_core.IUndoRedoService);
1094
1100
  const docSelectionManagerService = accessor.get(_univerjs_docs.DocSelectionManagerService);
1095
1101
  const univerInstanceService = accessor.get(_univerjs_core.IUniverInstanceService);
1096
1102
  const pasteAdapterService = getPasteAdapterService(accessor);
1097
- const selections = docSelectionManagerService.getTextRanges();
1098
- const rectRanges = docSelectionManagerService.getRectRanges();
1103
+ const selections = docSelectionManagerService.getTextRanges() ?? [];
1104
+ const rectRanges = docSelectionManagerService.getRectRanges() ?? [];
1105
+ const selectionInfo = docSelectionManagerService.getSelectionInfo();
1099
1106
  const { body, tableSource, drawings } = doc;
1100
- if (!Array.isArray(selections) || selections.length === 0 || body == null) return false;
1107
+ if (selections.length === 0 && rectRanges.length === 0 || body == null) return false;
1101
1108
  const docDataModel = univerInstanceService.getCurrentUnitOfType(_univerjs_core.UniverInstanceType.UNIVER_DOC);
1102
1109
  const originBody = docDataModel === null || docDataModel === void 0 || (_docDataModel$getSelf = docDataModel.getSelfOrHeaderFooterModel(segmentId)) === null || _docDataModel$getSelf === void 0 ? void 0 : _docDataModel$getSelf.getBody();
1103
1110
  if (docDataModel == null || originBody == null) return false;
@@ -1108,7 +1115,8 @@ const InnerPasteCommand = {
1108
1115
  unitId,
1109
1116
  actions: [],
1110
1117
  textRanges,
1111
- segmentId
1118
+ segmentId,
1119
+ trigger: InnerPasteCommand.id
1112
1120
  }
1113
1121
  };
1114
1122
  const memoryCursor = new _univerjs_core.MemoryCursor();
@@ -1123,10 +1131,34 @@ const InnerPasteCommand = {
1123
1131
  const hasCustomBlock = !!((_body$customBlocks = body.customBlocks) === null || _body$customBlocks === void 0 ? void 0 : _body$customBlocks.length);
1124
1132
  const hasBlockRange = !!((_body$blockRanges = body.blockRanges) === null || _body$blockRanges === void 0 ? void 0 : _body$blockRanges.length);
1125
1133
  if (hasTable && segmentId) return false;
1126
- if (hasTable && hasRangeInTable(selections)) return false;
1127
- if (selections.length && (rectRanges === null || rectRanges === void 0 ? void 0 : rectRanges.length)) return false;
1128
- for (let i = 0; i < selections.length; i++) {
1129
- const selection = selections[i];
1134
+ if (hasTable && (hasRangeInTable(selections) || rectRanges.some((range) => !range.spanEntireTable))) return false;
1135
+ const replacesComplexSelection = rectRanges.length > 0 || (selectionInfo === null || selectionInfo === void 0 || (_selectionInfo$option = selectionInfo.options) === null || _selectionInfo$option === void 0 ? void 0 : _selectionInfo$option.wholeDocument) === true;
1136
+ let selectionCutActions = [];
1137
+ let pasteSelections = selections;
1138
+ if (replacesComplexSelection) {
1139
+ var _selectionInfo$option2, _selections$find;
1140
+ const docSkeletonManagerService = getCommandSkeleton(accessor, unitId);
1141
+ if (!docSkeletonManagerService) return false;
1142
+ const wholeBodySelected = (selectionInfo === null || selectionInfo === void 0 || (_selectionInfo$option2 = selectionInfo.options) === null || _selectionInfo$option2 === void 0 ? void 0 : _selectionInfo$option2.wholeDocument) === true || isWholeBodySelected(selections, rectRanges, originBody);
1143
+ const insertOffset = wholeBodySelected ? 0 : getDocRangeInsertOffset(selections, rectRanges);
1144
+ if (insertOffset == null) return false;
1145
+ selectionCutActions = getCutActionsFromDocRanges(selections, rectRanges, docDataModel, docSkeletonManagerService.getViewModel(), segmentId, wholeBodySelected);
1146
+ pasteSelections = [{
1147
+ startOffset: insertOffset,
1148
+ endOffset: insertOffset,
1149
+ collapsed: true,
1150
+ segmentId
1151
+ }];
1152
+ doMutation.params.textRanges = [{
1153
+ startOffset: insertOffset + body.dataStream.length,
1154
+ endOffset: insertOffset + body.dataStream.length,
1155
+ collapsed: true,
1156
+ segmentId,
1157
+ style: (_selections$find = selections.find((range) => range.isActive)) === null || _selections$find === void 0 ? void 0 : _selections$find.style
1158
+ }];
1159
+ }
1160
+ for (let i = 0; i < pasteSelections.length; i++) {
1161
+ const selection = pasteSelections[i];
1130
1162
  const { startOffset, endOffset, collapsed } = selection;
1131
1163
  const len = startOffset - memoryCursor.cursor;
1132
1164
  const cloneBody = _univerjs_core.Tools.deepClone(body);
@@ -1218,7 +1250,7 @@ const InnerPasteCommand = {
1218
1250
  len: body.dataStream.length
1219
1251
  });
1220
1252
  } else {
1221
- const dos = _univerjs_core.BuildTextUtils.selection.delete([selection], body, memoryCursor.cursor, cloneBody, selections.length === 1);
1253
+ const dos = _univerjs_core.BuildTextUtils.selection.delete([selection], body, memoryCursor.cursor, cloneBody, pasteSelections.length === 1);
1222
1254
  textX.push(...dos);
1223
1255
  }
1224
1256
  memoryCursor.reset();
@@ -1226,9 +1258,10 @@ const InnerPasteCommand = {
1226
1258
  }
1227
1259
  const path = (0, _univerjs_core.getRichTextEditPath)(docDataModel, segmentId);
1228
1260
  rawActions.push(jsonX.editOp(textX.serialize(), path));
1229
- doMutation.params.actions = rawActions.reduce((acc, cur) => {
1261
+ const pasteActions = rawActions.reduce((acc, cur) => {
1230
1262
  return _univerjs_core.JSONX.compose(acc, cur);
1231
1263
  }, null);
1264
+ doMutation.params.actions = selectionCutActions && selectionCutActions.length > 0 ? _univerjs_core.JSONX.compose(selectionCutActions, pasteActions) : pasteActions;
1232
1265
  if (!executeResourceMutationGroups(resourceMutationGroups, commandService)) return false;
1233
1266
  const historyId = `doc-paste-resource:${unitId}:${Date.now()}`;
1234
1267
  let batchingDisposable = null;
@@ -1296,20 +1329,8 @@ function getCutActionsFromTextRanges(selections, docDataModel, segmentId) {
1296
1329
  const rawActions = [];
1297
1330
  if (originBody == null) return rawActions;
1298
1331
  const { tables = [] } = originBody;
1299
- const memoryCursor = new _univerjs_core.MemoryCursor();
1300
- memoryCursor.reset();
1301
- for (let i = 0; i < selections.length; i++) {
1302
- const selection = adjustSelectionByTable(selections[i], tables);
1303
- const { startOffset, endOffset, collapsed } = selection;
1304
- const len = startOffset - memoryCursor.cursor;
1305
- if (collapsed) textX.push({
1306
- t: _univerjs_core.TextXActionType.RETAIN,
1307
- len
1308
- });
1309
- else textX.push(..._univerjs_core.BuildTextUtils.selection.delete([selection], originBody, memoryCursor.cursor, null, false));
1310
- memoryCursor.reset();
1311
- memoryCursor.moveCursor(endOffset);
1312
- }
1332
+ const adjustedSelections = selections.map((selection) => adjustSelectionByTable(selection, tables));
1333
+ textX.push(..._univerjs_core.BuildTextUtils.selection.delete(adjustedSelections, originBody, 0, null, false));
1313
1334
  const path = (0, _univerjs_core.getRichTextEditPath)(docDataModel, segmentId);
1314
1335
  rawActions.push(jsonX.editOp(textX.serialize(), path));
1315
1336
  const removedCustomBlockIds = (0, _univerjs_core.getCustomBlockIdsInSelections)(originBody, selections);
@@ -1333,10 +1354,94 @@ function getCutActionsFromTextRanges(selections, docDataModel, segmentId) {
1333
1354
  return _univerjs_core.JSONX.compose(acc, cur);
1334
1355
  }, null);
1335
1356
  }
1336
- function getCutActionsFromRectRanges(ranges, docDataModel, viewModel, segmentId) {
1357
+ const IMPLICIT_WHOLE_BODY_SELECTION_TOKENS = /* @__PURE__ */ new Set([
1358
+ _univerjs_core.DataStreamTreeTokenType.PARAGRAPH,
1359
+ _univerjs_core.DataStreamTreeTokenType.SECTION_BREAK,
1360
+ _univerjs_core.DataStreamTreeTokenType.BLOCK_START,
1361
+ _univerjs_core.DataStreamTreeTokenType.BLOCK_END,
1362
+ _univerjs_core.DataStreamTreeTokenType.COLUMN_GROUP_START,
1363
+ _univerjs_core.DataStreamTreeTokenType.COLUMN_START,
1364
+ _univerjs_core.DataStreamTreeTokenType.COLUMN_END,
1365
+ _univerjs_core.DataStreamTreeTokenType.COLUMN_GROUP_END
1366
+ ]);
1367
+ function isWholeBodySelected(textRanges, rectRanges, body) {
1368
+ const intervals = (Array.isArray(textRanges) ? textRanges : []).filter((range) => !range.collapsed).map(({ startOffset, endOffset }) => ({
1369
+ startOffset,
1370
+ endOffset
1371
+ }));
1372
+ for (const rectRange of Array.isArray(rectRanges) ? rectRanges : []) {
1373
+ if (!rectRange.spanEntireTable) continue;
1374
+ const table = (body.tables ?? []).find((item) => rectRange.tableId && item.tableId === rectRange.tableId || item.startIndex === rectRange.startOffset);
1375
+ if (table) intervals.push((0, _univerjs_core.getTableRangeInterval)(table));
1376
+ }
1377
+ intervals.sort((left, right) => left.startOffset - right.startOffset || left.endOffset - right.endOffset);
1378
+ const editableEnd = Math.max(0, body.dataStream.length - 2);
1379
+ let intervalIndex = 0;
1380
+ for (let offset = 0; offset < editableEnd; offset++) {
1381
+ var _intervals$intervalIn;
1382
+ while (((_intervals$intervalIn = intervals[intervalIndex]) === null || _intervals$intervalIn === void 0 ? void 0 : _intervals$intervalIn.endOffset) <= offset) intervalIndex++;
1383
+ const interval = intervals[intervalIndex];
1384
+ if (interval && interval.startOffset <= offset && offset < interval.endOffset) continue;
1385
+ if (!IMPLICIT_WHOLE_BODY_SELECTION_TOKENS.has(body.dataStream[offset])) return false;
1386
+ }
1387
+ return editableEnd > 0;
1388
+ }
1389
+ function getWholeBodyCutActions(selections, docDataModel, segmentId) {
1337
1390
  var _docDataModel$getSelf3;
1391
+ const body = (_docDataModel$getSelf3 = docDataModel.getSelfOrHeaderFooterModel(segmentId)) === null || _docDataModel$getSelf3 === void 0 ? void 0 : _docDataModel$getSelf3.getBody();
1392
+ if (!body) return [];
1393
+ const emptyBody = {
1394
+ dataStream: _univerjs_core.DataStreamTreeTokenType.PARAGRAPH,
1395
+ paragraphs: [{
1396
+ paragraphId: (0, _univerjs_core.createParagraphId)(new Set((body.paragraphs ?? []).map((paragraph) => paragraph.paragraphId))),
1397
+ startIndex: 0
1398
+ }]
1399
+ };
1400
+ const deleteLength = Math.max(0, body.dataStream.length - 1);
1401
+ const textX = new _univerjs_core.TextX();
1402
+ textX.push({
1403
+ t: _univerjs_core.TextXActionType.INSERT,
1404
+ len: emptyBody.dataStream.length,
1405
+ body: emptyBody
1406
+ });
1407
+ textX.push({
1408
+ t: _univerjs_core.TextXActionType.DELETE,
1409
+ len: deleteLength
1410
+ });
1411
+ const jsonX = _univerjs_core.JSONX.getInstance();
1412
+ const path = (0, _univerjs_core.getRichTextEditPath)(docDataModel, segmentId);
1413
+ const rawActions = [];
1414
+ const editAction = jsonX.editOp(textX.serialize(), path);
1415
+ if (editAction) rawActions.push(editAction);
1416
+ const drawings = docDataModel.getDrawings() ?? {};
1417
+ const drawingOrder = docDataModel.getDrawingsOrder() ?? [];
1418
+ const removedCustomBlockIds = (0, _univerjs_core.getCustomBlockIdsInSelections)(body, [{
1419
+ ...selections[0] ?? { collapsed: false },
1420
+ startOffset: 0,
1421
+ endOffset: deleteLength,
1422
+ collapsed: false
1423
+ }]).sort((left, right) => drawingOrder.indexOf(right) - drawingOrder.indexOf(left));
1424
+ for (const blockId of removedCustomBlockIds) {
1425
+ const drawing = drawings[blockId];
1426
+ const drawingIndex = drawingOrder.indexOf(blockId);
1427
+ if (drawing == null || drawingIndex < 0) continue;
1428
+ const removeDrawingAction = jsonX.removeOp(["drawings", blockId], drawing);
1429
+ const removeDrawingOrderAction = jsonX.removeOp(["drawingsOrder", drawingIndex], blockId);
1430
+ if (removeDrawingAction) rawActions.push(removeDrawingAction);
1431
+ if (removeDrawingOrderAction) rawActions.push(removeDrawingOrderAction);
1432
+ }
1433
+ for (const table of body.tables ?? []) {
1434
+ const removeTableSourceAction = jsonX.removeOp(["tableSource", table.tableId]);
1435
+ if (removeTableSourceAction) rawActions.push(removeTableSourceAction);
1436
+ }
1437
+ let actions = null;
1438
+ for (const action of rawActions) actions = actions == null ? action : _univerjs_core.JSONX.compose(actions, action);
1439
+ return actions ?? [];
1440
+ }
1441
+ function getCutActionsFromRectRanges(ranges, docDataModel, viewModel, segmentId) {
1442
+ var _docDataModel$getSelf4;
1338
1443
  const rawActions = [];
1339
- if (((_docDataModel$getSelf3 = docDataModel.getSelfOrHeaderFooterModel(segmentId)) === null || _docDataModel$getSelf3 === void 0 ? void 0 : _docDataModel$getSelf3.getBody()) == null) return rawActions;
1444
+ if (((_docDataModel$getSelf4 = docDataModel.getSelfOrHeaderFooterModel(segmentId)) === null || _docDataModel$getSelf4 === void 0 ? void 0 : _docDataModel$getSelf4.getBody()) == null) return rawActions;
1340
1445
  const textX = new _univerjs_core.TextX();
1341
1446
  const jsonX = _univerjs_core.JSONX.getInstance();
1342
1447
  const memoryCursor = new _univerjs_core.MemoryCursor();
@@ -1417,8 +1522,11 @@ function getCutActionsFromRectRanges(ranges, docDataModel, viewModel, segmentId)
1417
1522
  return _univerjs_core.JSONX.compose(acc, cur);
1418
1523
  }, null);
1419
1524
  }
1420
- function getCutActionsFromDocRanges(textRanges, rectRanges, docDataModel, viewModel, segmentId) {
1525
+ function getCutActionsFromDocRanges(textRanges, rectRanges, docDataModel, viewModel, segmentId, wholeBodySelected = false) {
1526
+ var _docDataModel$getSelf5;
1421
1527
  let rawActions = [];
1528
+ const body = (_docDataModel$getSelf5 = docDataModel.getSelfOrHeaderFooterModel(segmentId)) === null || _docDataModel$getSelf5 === void 0 ? void 0 : _docDataModel$getSelf5.getBody();
1529
+ if (body && Array.isArray(textRanges) && Array.isArray(rectRanges) && (wholeBodySelected || isWholeBodySelected(textRanges, rectRanges, body))) return getWholeBodyCutActions(textRanges, docDataModel, segmentId);
1422
1530
  if (Array.isArray(textRanges) && (textRanges === null || textRanges === void 0 ? void 0 : textRanges.length) !== 0) rawActions = getCutActionsFromTextRanges(textRanges, docDataModel, segmentId);
1423
1531
  if (Array.isArray(rectRanges) && (rectRanges === null || rectRanges === void 0 ? void 0 : rectRanges.length) !== 0) {
1424
1532
  const actions = getCutActionsFromRectRanges(rectRanges, docDataModel, viewModel, segmentId);
@@ -1427,14 +1535,42 @@ function getCutActionsFromDocRanges(textRanges, rectRanges, docDataModel, viewMo
1427
1535
  }
1428
1536
  return rawActions;
1429
1537
  }
1538
+ function getReplaceDocRangesActions(textRanges, rectRanges, docDataModel, viewModel, segmentId, insertBody, wholeBodySelected = false) {
1539
+ var _docDataModel$getSelf6;
1540
+ const body = (_docDataModel$getSelf6 = docDataModel.getSelfOrHeaderFooterModel(segmentId)) === null || _docDataModel$getSelf6 === void 0 ? void 0 : _docDataModel$getSelf6.getBody();
1541
+ const insertOffset = wholeBodySelected || body && isWholeBodySelected(textRanges, rectRanges, body) ? 0 : getDocRangeInsertOffset(textRanges, rectRanges);
1542
+ if (insertOffset == null) return null;
1543
+ const cutActions = getCutActionsFromDocRanges(textRanges, rectRanges, docDataModel, viewModel, segmentId, wholeBodySelected);
1544
+ const textX = new _univerjs_core.TextX();
1545
+ if (insertOffset > 0) textX.push({
1546
+ t: _univerjs_core.TextXActionType.RETAIN,
1547
+ len: insertOffset
1548
+ });
1549
+ if (insertBody.dataStream.length > 0) textX.push({
1550
+ t: _univerjs_core.TextXActionType.INSERT,
1551
+ body: insertBody,
1552
+ len: insertBody.dataStream.length
1553
+ });
1554
+ const insertAction = _univerjs_core.JSONX.getInstance().editOp(textX.serialize(), (0, _univerjs_core.getRichTextEditPath)(docDataModel, segmentId));
1555
+ return {
1556
+ actions: insertAction == null ? cutActions : cutActions == null || cutActions.length === 0 ? insertAction : _univerjs_core.JSONX.compose(cutActions, insertAction),
1557
+ insertOffset
1558
+ };
1559
+ }
1560
+ function getDocRangeInsertOffset(textRanges, rectRanges) {
1561
+ const insertOffset = [...Array.isArray(textRanges) ? textRanges : [], ...Array.isArray(rectRanges) ? rectRanges : []].filter((range) => range.startOffset != null && range.endOffset != null).reduce((offset, range) => Math.min(offset, range.startOffset), Number.POSITIVE_INFINITY);
1562
+ return Number.isFinite(insertOffset) ? insertOffset : null;
1563
+ }
1430
1564
  const CutContentCommand = {
1431
1565
  id: "doc.command.inner-cut",
1432
1566
  type: _univerjs_core.CommandType.COMMAND,
1433
1567
  handler: (accessor, params) => {
1568
+ var _selectionInfo$option3;
1434
1569
  const docSelectionManagerService = accessor.get(_univerjs_docs.DocSelectionManagerService);
1435
1570
  const commandService = accessor.get(_univerjs_core.ICommandService);
1436
1571
  const univerInstanceService = accessor.get(_univerjs_core.IUniverInstanceService);
1437
- const { segmentId, textRanges, selections = docSelectionManagerService.getTextRanges(), rectRanges = docSelectionManagerService.getRectRanges() } = params;
1572
+ const selectionInfo = docSelectionManagerService.getSelectionInfo();
1573
+ const { segmentId, textRanges, selections = docSelectionManagerService.getTextRanges(), rectRanges = docSelectionManagerService.getRectRanges(), wholeBodySelected = (selectionInfo === null || selectionInfo === void 0 || (_selectionInfo$option3 = selectionInfo.options) === null || _selectionInfo$option3 === void 0 ? void 0 : _selectionInfo$option3.wholeDocument) === true } = params;
1438
1574
  if ((!Array.isArray(selections) || selections.length === 0) && (!Array.isArray(rectRanges) || rectRanges.length === 0)) return false;
1439
1575
  const docDataModel = univerInstanceService.getCurrentUnitOfType(_univerjs_core.UniverInstanceType.UNIVER_DOC);
1440
1576
  if (docDataModel == null) return false;
@@ -1447,10 +1583,11 @@ const CutContentCommand = {
1447
1583
  params: {
1448
1584
  unitId,
1449
1585
  actions: [],
1450
- textRanges
1586
+ textRanges,
1587
+ trigger: CutContentCommand.id
1451
1588
  }
1452
1589
  };
1453
- doMutation.params.actions = getCutActionsFromDocRanges(selections, rectRanges, docDataModel, viewModel, segmentId);
1590
+ doMutation.params.actions = getCutActionsFromDocRanges(selections, rectRanges, docDataModel, viewModel, segmentId, wholeBodySelected);
1454
1591
  const result = commandService.syncExecuteCommand(doMutation.id, doMutation.params);
1455
1592
  return Boolean(result);
1456
1593
  }
@@ -3398,8 +3535,7 @@ function processNode(node, doc, result) {
3398
3535
  return childResult.html;
3399
3536
  }).join("");
3400
3537
  if (childHtml) {
3401
- if (hasVisibleHtml(inlineHtml)) renderParagraphNodeHtml(doc, paragraph, startIndex, endIndex, inlineHtml, style, result);
3402
- else closeListStack(result);
3538
+ closeListStack(result);
3403
3539
  result.html += childHtml;
3404
3540
  break;
3405
3541
  }
@@ -3817,10 +3953,12 @@ let DocClipboardService = class DocClipboardService extends _univerjs_core.Dispo
3817
3953
  var _copy$paragraphStyle;
3818
3954
  if ((_copy$paragraphStyle = copy.paragraphStyle) === null || _copy$paragraphStyle === void 0 ? void 0 : _copy$paragraphStyle.headingId) copy.paragraphStyle.headingId = (0, _univerjs_core.generateRandomId)(6);
3819
3955
  });
3820
- const { segmentId, endOffset: activeEndOffset, style } = this._docSelectionManagerService.getActiveTextRange() || {};
3821
- const ranges = this._docSelectionManagerService.getTextRanges();
3956
+ const activeRange = this._docSelectionManagerService.getActiveTextRange();
3957
+ const docRanges = this._docSelectionManagerService.getDocRanges();
3958
+ const { segmentId, endOffset: activeEndOffset, style } = (activeRange ?? docRanges.find((range) => range.isActive) ?? docRanges[0]) || {};
3959
+ const ranges = this._docSelectionManagerService.getTextRanges() ?? [];
3822
3960
  if (segmentId == null) this._logService.error("[DocClipboardController] segmentId does not exist!");
3823
- if (activeEndOffset == null || ranges == null) return false;
3961
+ if (activeEndOffset == null) return false;
3824
3962
  const originBody = segmentId == null ? null : (_currentDocument$getS = currentDocument.getSelfOrHeaderFooterModel(segmentId)) === null || _currentDocument$getS === void 0 ? void 0 : _currentDocument$getS.getBody();
3825
3963
  if (originBody) ensureParagraphAtStructuralGap(body, originBody, ranges);
3826
3964
  try {
@@ -4525,27 +4663,37 @@ const InsertHorizontalLineBellowCommand = {
4525
4663
  const DocSelectAllCommand = {
4526
4664
  id: "doc.command.select-all",
4527
4665
  type: _univerjs_core.CommandType.COMMAND,
4528
- handler: async (accessor) => {
4666
+ handler: async (accessor, params) => {
4529
4667
  var _docDataModel$getSelf;
4530
4668
  const univerInstanceService = accessor.get(_univerjs_core.IUniverInstanceService);
4531
4669
  const docSelectionManagerService = accessor.get(_univerjs_docs.DocSelectionManagerService);
4532
4670
  const docDataModel = univerInstanceService.getCurrentUnitOfType(_univerjs_core.UniverInstanceType.UNIVER_DOC);
4533
4671
  const docRanges = docSelectionManagerService.getDocRanges();
4534
4672
  const activeRange = docRanges.find((range) => range.isActive) ?? docRanges[0];
4535
- if (docDataModel == null || activeRange == null) return false;
4536
- const { segmentId } = activeRange;
4673
+ if (docDataModel == null) return false;
4674
+ const segmentId = (params === null || params === void 0 ? void 0 : params.segmentId) ?? (activeRange === null || activeRange === void 0 ? void 0 : activeRange.segmentId);
4675
+ if (segmentId == null) return false;
4537
4676
  const unitId = docDataModel.getUnitId();
4538
4677
  const body = (_docDataModel$getSelf = docDataModel.getSelfOrHeaderFooterModel(segmentId)) === null || _docDataModel$getSelf === void 0 ? void 0 : _docDataModel$getSelf.getBody();
4539
4678
  if (body == null) return false;
4540
4679
  const { dataStream } = body;
4541
4680
  if (dataStream === "\r\n") return true;
4542
- const scopes = getSelectAllScopes(body, activeRange);
4543
- const currentScopeIndex = scopes.findIndex((scope) => isSameRanges(docRanges, scope));
4544
- const textRanges = scopes[Math.min(currentScopeIndex + 1, scopes.length - 1)];
4681
+ let textRanges;
4682
+ let wholeDocument;
4683
+ if (params === null || params === void 0 ? void 0 : params.wholeDocument) {
4684
+ textRanges = getWholeDocumentRanges(body);
4685
+ wholeDocument = true;
4686
+ } else {
4687
+ if (activeRange == null) return false;
4688
+ const scopes = getSelectAllScopes(body, activeRange);
4689
+ const currentScopeIndex = scopes.findIndex((scope) => isSameRanges(docRanges, scope));
4690
+ textRanges = scopes[Math.min(currentScopeIndex + 1, scopes.length - 1)];
4691
+ wholeDocument = textRanges === scopes[scopes.length - 1];
4692
+ }
4545
4693
  docSelectionManagerService.replaceDocRanges(textRanges, {
4546
4694
  unitId,
4547
4695
  subUnitId: unitId
4548
- }, false);
4696
+ }, false, { wholeDocument });
4549
4697
  return true;
4550
4698
  }
4551
4699
  };
@@ -4717,6 +4865,9 @@ var DocIMEInputManagerService = class extends _univerjs_core.RxDisposable {
4717
4865
  super();
4718
4866
  this._context = _context;
4719
4867
  _defineProperty(this, "_previousActiveRange", null);
4868
+ _defineProperty(this, "_previousDocRanges", []);
4869
+ _defineProperty(this, "_compositionRange", null);
4870
+ _defineProperty(this, "_previousSelectionOptions", null);
4720
4871
  _defineProperty(this, "_undoMutationParamsCache", []);
4721
4872
  _defineProperty(this, "_redoMutationParamsCache", []);
4722
4873
  }
@@ -4739,6 +4890,25 @@ var DocIMEInputManagerService = class extends _univerjs_core.RxDisposable {
4739
4890
  }
4740
4891
  setActiveRange(range) {
4741
4892
  this._previousActiveRange = range;
4893
+ this._compositionRange = range;
4894
+ }
4895
+ getCompositionRange() {
4896
+ return this._compositionRange;
4897
+ }
4898
+ setCompositionRange(range) {
4899
+ this._compositionRange = range;
4900
+ }
4901
+ getPreviousDocRanges() {
4902
+ return this._previousDocRanges;
4903
+ }
4904
+ setPreviousDocRanges(ranges) {
4905
+ this._previousDocRanges = ranges;
4906
+ }
4907
+ getPreviousSelectionOptions() {
4908
+ return this._previousSelectionOptions;
4909
+ }
4910
+ setPreviousSelectionOptions(options) {
4911
+ this._previousSelectionOptions = options;
4742
4912
  }
4743
4913
  pushUndoRedoMutationParams(undoParams, redoParams) {
4744
4914
  this._undoMutationParamsCache.push(undoParams);
@@ -4747,12 +4917,15 @@ var DocIMEInputManagerService = class extends _univerjs_core.RxDisposable {
4747
4917
  fetchComposedUndoRedoMutationParams() {
4748
4918
  if (this._undoMutationParamsCache.length === 0 || this._previousActiveRange == null || this._redoMutationParamsCache.length === 0) return null;
4749
4919
  const { unitId } = this._undoMutationParamsCache[0];
4920
+ const firstUndoParams = this._undoMutationParamsCache[0];
4921
+ const lastRedoParams = this._redoMutationParamsCache.at(-1);
4750
4922
  const undoMutationParams = {
4751
4923
  unitId,
4752
4924
  actions: this._undoMutationParamsCache.reverse().reduce((acc, cur) => {
4753
4925
  return _univerjs_core.JSONX.compose(acc, cur.actions);
4754
4926
  }, null),
4755
- textRanges: []
4927
+ textRanges: [],
4928
+ segmentId: firstUndoParams.segmentId
4756
4929
  };
4757
4930
  return {
4758
4931
  redoMutationParams: {
@@ -4760,16 +4933,24 @@ var DocIMEInputManagerService = class extends _univerjs_core.RxDisposable {
4760
4933
  actions: this._redoMutationParamsCache.reduce((acc, cur) => {
4761
4934
  return _univerjs_core.JSONX.compose(acc, cur.actions);
4762
4935
  }, null),
4763
- textRanges: []
4936
+ textRanges: (lastRedoParams === null || lastRedoParams === void 0 ? void 0 : lastRedoParams.textRanges) ?? [],
4937
+ segmentId: lastRedoParams === null || lastRedoParams === void 0 ? void 0 : lastRedoParams.segmentId,
4938
+ options: lastRedoParams === null || lastRedoParams === void 0 ? void 0 : lastRedoParams.options,
4939
+ isEditing: lastRedoParams === null || lastRedoParams === void 0 ? void 0 : lastRedoParams.isEditing
4764
4940
  },
4765
4941
  undoMutationParams,
4766
- previousActiveRange: this._previousActiveRange
4942
+ previousActiveRange: this._previousActiveRange,
4943
+ previousDocRanges: this._previousDocRanges,
4944
+ previousSelectionOptions: this._previousSelectionOptions
4767
4945
  };
4768
4946
  }
4769
4947
  dispose() {
4770
4948
  this._undoMutationParamsCache = [];
4771
4949
  this._redoMutationParamsCache = [];
4772
4950
  this._previousActiveRange = null;
4951
+ this._previousDocRanges = [];
4952
+ this._compositionRange = null;
4953
+ this._previousSelectionOptions = null;
4773
4954
  }
4774
4955
  };
4775
4956
 
@@ -4779,7 +4960,7 @@ const IMEInputCommand = {
4779
4960
  id: "doc.command.ime-input",
4780
4961
  type: _univerjs_core.CommandType.COMMAND,
4781
4962
  handler: async (accessor, params) => {
4782
- var _renderManagerService, _docDataModel$getSelf;
4963
+ var _renderManagerService, _docDataModel$getSelf, _imeInputManagerServi;
4783
4964
  const { unitId, newText, oldTextLen, isCompositionEnd, isCompositionStart } = params;
4784
4965
  const commandService = accessor.get(_univerjs_core.ICommandService);
4785
4966
  const renderManagerService = accessor.get(_univerjs_engine_render.IRenderManagerService);
@@ -4788,82 +4969,121 @@ const IMEInputCommand = {
4788
4969
  const imeInputManagerService = (_renderManagerService = renderManagerService.getRenderUnitById(unitId)) === null || _renderManagerService === void 0 ? void 0 : _renderManagerService.with(DocIMEInputManagerService);
4789
4970
  const docDataModel = univerInstanceService.getUnit(unitId, _univerjs_core.UniverInstanceType.UNIVER_DOC);
4790
4971
  if (docDataModel == null || imeInputManagerService == null) return false;
4791
- const previousActiveRange = imeInputManagerService.getActiveRange();
4972
+ const previousActiveRange = imeInputManagerService.getCompositionRange();
4792
4973
  if (previousActiveRange == null) return false;
4793
4974
  const { style, segmentId } = previousActiveRange;
4794
4975
  const body = (_docDataModel$getSelf = docDataModel.getSelfOrHeaderFooterModel(segmentId)) === null || _docDataModel$getSelf === void 0 ? void 0 : _docDataModel$getSelf.getBody();
4795
4976
  if (body == null) return false;
4796
4977
  Object.assign(previousActiveRange, previousActiveRange);
4797
4978
  const { startOffset, endOffset } = previousActiveRange;
4979
+ const previousDocRanges = imeInputManagerService.getPreviousDocRanges();
4980
+ const previousRectRanges = previousDocRanges.filter(isRectRange);
4981
+ const previousTextRanges = previousDocRanges.filter((range) => !isRectRange(range));
4982
+ const wholeBodySelected = ((_imeInputManagerServi = imeInputManagerService.getPreviousSelectionOptions()) === null || _imeInputManagerServi === void 0 ? void 0 : _imeInputManagerServi.wholeDocument) === true;
4983
+ const replacesComplexSelection = isCompositionStart && (wholeBodySelected || previousRectRanges.length > 0 || previousTextRanges.length > 1);
4984
+ let replacementOffset = replacesComplexSelection ? wholeBodySelected ? 0 : getDocRangeInsertOffset(previousTextRanges, previousRectRanges) : startOffset;
4985
+ if (replacementOffset == null) return false;
4798
4986
  const len = newText.length;
4799
4987
  const textRanges = [{
4800
- startOffset: startOffset + len,
4801
- endOffset: startOffset + len,
4988
+ startOffset: replacementOffset + len,
4989
+ endOffset: replacementOffset + len,
4802
4990
  collapsed: true,
4803
- style
4991
+ style,
4992
+ segmentId
4804
4993
  }];
4805
4994
  const doMutation = {
4806
4995
  id: _univerjs_docs.RichTextEditingMutation.id,
4807
4996
  params: {
4808
4997
  unitId,
4809
4998
  actions: [],
4810
- textRanges
4999
+ textRanges,
5000
+ segmentId,
5001
+ trigger: IMEInputCommand.id
4811
5002
  }
4812
5003
  };
4813
5004
  const defaultTextStyle = docMenuStyleService.getDefaultStyle();
4814
5005
  const styleCache = docMenuStyleService.getStyleCache();
4815
- const curCustomRange = getCustomRangeAtPosition(body.customRanges ?? [], startOffset + oldTextLen, _univerjs_core.SHEET_EDITOR_UNITS.includes(unitId));
4816
- const curTextRun = getTextRunAtPosition(body, isCompositionStart ? endOffset : startOffset + oldTextLen, defaultTextStyle, styleCache, _univerjs_core.SHEET_EDITOR_UNITS.includes(unitId));
4817
- const customDecorations = getCustomDecorationAtPosition(body.customDecorations ?? [], startOffset + oldTextLen);
5006
+ const styleOffset = replacesComplexSelection ? replacementOffset : startOffset + oldTextLen;
5007
+ const curCustomRange = getCustomRangeAtPosition(body.customRanges ?? [], styleOffset, _univerjs_core.SHEET_EDITOR_UNITS.includes(unitId));
5008
+ const curTextRun = getTextRunAtPosition(body, replacesComplexSelection ? replacementOffset : isCompositionStart ? endOffset : startOffset + oldTextLen, defaultTextStyle, styleCache, _univerjs_core.SHEET_EDITOR_UNITS.includes(unitId));
5009
+ const customDecorations = getCustomDecorationAtPosition(body.customDecorations ?? [], styleOffset);
5010
+ const insertBody = {
5011
+ dataStream: newText,
5012
+ textRuns: curTextRun ? [{
5013
+ ...curTextRun,
5014
+ st: 0,
5015
+ ed: newText.length
5016
+ }] : [],
5017
+ customRanges: curCustomRange ? [{
5018
+ ...curCustomRange,
5019
+ startIndex: 0,
5020
+ endIndex: newText.length - 1
5021
+ }] : [],
5022
+ customDecorations: customDecorations.map((customDecoration) => ({
5023
+ ...customDecoration,
5024
+ startIndex: 0,
5025
+ endIndex: newText.length - 1
5026
+ }))
5027
+ };
4818
5028
  const textX = new _univerjs_core.TextX();
4819
5029
  const jsonX = _univerjs_core.JSONX.getInstance();
4820
- if (!previousActiveRange.collapsed && isCompositionStart) {
5030
+ if (replacesComplexSelection) {
5031
+ var _renderManagerService2;
5032
+ const docSkeletonManagerService = (_renderManagerService2 = renderManagerService.getRenderUnitById(unitId)) === null || _renderManagerService2 === void 0 ? void 0 : _renderManagerService2.with(_univerjs_docs.DocSkeletonManagerService);
5033
+ if (!docSkeletonManagerService) return false;
5034
+ const replacement = getReplaceDocRangesActions(previousTextRanges, previousRectRanges, docDataModel, docSkeletonManagerService.getViewModel(), segmentId ?? "", insertBody, wholeBodySelected);
5035
+ if (!replacement) return false;
5036
+ replacementOffset = replacement.insertOffset;
5037
+ doMutation.params.actions = replacement.actions;
5038
+ doMutation.params.textRanges = [{
5039
+ startOffset: replacementOffset + len,
5040
+ endOffset: replacementOffset + len,
5041
+ collapsed: true,
5042
+ style,
5043
+ segmentId
5044
+ }];
5045
+ } else if (!previousActiveRange.collapsed && isCompositionStart) {
4821
5046
  const dos = _univerjs_core.BuildTextUtils.selection.delete([previousActiveRange], body, 0, null, false);
4822
5047
  textX.push(...dos);
4823
5048
  doMutation.params.textRanges = [{
4824
- startOffset: startOffset + len,
4825
- endOffset: startOffset + len,
4826
- collapsed: true
5049
+ startOffset: replacementOffset + len,
5050
+ endOffset: replacementOffset + len,
5051
+ collapsed: true,
5052
+ segmentId
4827
5053
  }];
4828
5054
  } else textX.push({
4829
5055
  t: _univerjs_core.TextXActionType.RETAIN,
4830
5056
  len: startOffset
4831
5057
  });
4832
- if (oldTextLen > 0) textX.push({
5058
+ if (!replacesComplexSelection && oldTextLen > 0) textX.push({
4833
5059
  t: _univerjs_core.TextXActionType.DELETE,
4834
5060
  len: oldTextLen
4835
5061
  });
4836
- textX.push({
5062
+ if (!replacesComplexSelection) textX.push({
4837
5063
  t: _univerjs_core.TextXActionType.INSERT,
4838
- body: {
4839
- dataStream: newText,
4840
- textRuns: curTextRun ? [{
4841
- ...curTextRun,
4842
- st: 0,
4843
- ed: newText.length
4844
- }] : [],
4845
- customRanges: curCustomRange ? [{
4846
- ...curCustomRange,
4847
- startIndex: 0,
4848
- endIndex: newText.length - 1
4849
- }] : [],
4850
- customDecorations: customDecorations.map((customDecoration) => ({
4851
- ...customDecoration,
4852
- startIndex: 0,
4853
- endIndex: newText.length - 1
4854
- }))
4855
- },
5064
+ body: insertBody,
4856
5065
  len: newText.length
4857
5066
  });
4858
- const path = (0, _univerjs_core.getRichTextEditPath)(docDataModel, segmentId);
4859
- doMutation.params.actions = jsonX.editOp(textX.serialize(), path);
5067
+ if (!replacesComplexSelection) {
5068
+ const path = (0, _univerjs_core.getRichTextEditPath)(docDataModel, segmentId);
5069
+ doMutation.params.actions = jsonX.editOp(textX.serialize(), path);
5070
+ }
4860
5071
  doMutation.params.noHistory = !isCompositionEnd;
4861
5072
  doMutation.params.isCompositionEnd = isCompositionEnd;
4862
5073
  const result = commandService.syncExecuteCommand(doMutation.id, doMutation.params);
4863
5074
  imeInputManagerService.pushUndoRedoMutationParams(result, doMutation.params);
5075
+ if (replacesComplexSelection) imeInputManagerService.setCompositionRange({
5076
+ ...previousActiveRange,
5077
+ startOffset: replacementOffset,
5078
+ endOffset: replacementOffset,
5079
+ collapsed: true
5080
+ });
4864
5081
  return Boolean(result);
4865
5082
  }
4866
5083
  };
5084
+ function isRectRange(range) {
5085
+ return "tableId" in range;
5086
+ }
4867
5087
 
4868
5088
  //#endregion
4869
5089
  //#region src/commands/commands/inline-format.command.ts
@@ -5336,28 +5556,46 @@ const ReplaceSelectionCommand = {
5336
5556
  id: "doc.command.replace-selection",
5337
5557
  type: _univerjs_core.CommandType.COMMAND,
5338
5558
  handler(accessor, params) {
5559
+ var _docSelectionManagerS, _docDataModel$getSelf2, _body$blockRanges, _body$columnGroups, _body$customBlocks, _body$tables, _selectionInfo$option, _selectionInfo$option2, _docSelectionManagerS2;
5339
5560
  if (!params) return false;
5340
5561
  const commandService = accessor.get(_univerjs_core.ICommandService);
5341
- const { unitId, body: insertBody, textRanges } = params;
5562
+ const { unitId, body: insertBody, textRanges, segmentId } = params;
5342
5563
  const docDataModel = accessor.get(_univerjs_core.IUniverInstanceService).getUnit(unitId);
5343
5564
  const docSelectionManagerService = accessor.get(_univerjs_docs.DocSelectionManagerService);
5344
5565
  if (!docDataModel) return false;
5345
- const body = docDataModel.getBody();
5346
5566
  const selection = params.selection ?? docSelectionManagerService.getActiveTextRange();
5567
+ const targetSegmentId = segmentId ?? ((_docSelectionManagerS = docSelectionManagerService.getActiveTextRange()) === null || _docSelectionManagerS === void 0 ? void 0 : _docSelectionManagerS.segmentId) ?? "";
5568
+ const body = (_docDataModel$getSelf2 = docDataModel.getSelfOrHeaderFooterModel(targetSegmentId)) === null || _docDataModel$getSelf2 === void 0 ? void 0 : _docDataModel$getSelf2.getBody();
5347
5569
  if (!selection || !body) return false;
5570
+ const selectionInfo = docSelectionManagerService.getSelectionInfo();
5571
+ const selectedTextRanges = params.selection ? [params.selection] : docSelectionManagerService.getTextRanges() ?? [];
5572
+ const selectedRectRanges = params.selection ? [] : docSelectionManagerService.getRectRanges() ?? [];
5573
+ const docSkeletonManagerService = !selection.collapsed && (Boolean((_body$blockRanges = body.blockRanges) === null || _body$blockRanges === void 0 ? void 0 : _body$blockRanges.length) || Boolean((_body$columnGroups = body.columnGroups) === null || _body$columnGroups === void 0 ? void 0 : _body$columnGroups.length) || Boolean((_body$customBlocks = body.customBlocks) === null || _body$customBlocks === void 0 ? void 0 : _body$customBlocks.length) || Boolean((_body$tables = body.tables) === null || _body$tables === void 0 ? void 0 : _body$tables.length)) || selectedRectRanges.length > 0 || selectedTextRanges.length > 1 || (selectionInfo === null || selectionInfo === void 0 || (_selectionInfo$option = selectionInfo.options) === null || _selectionInfo$option === void 0 ? void 0 : _selectionInfo$option.wholeDocument) === true ? getCommandSkeleton(accessor, unitId) : null;
5574
+ const replacement = docSkeletonManagerService ? getReplaceDocRangesActions(selectedTextRanges, selectedRectRanges, docDataModel, docSkeletonManagerService.getViewModel(), targetSegmentId, insertBody, (selectionInfo === null || selectionInfo === void 0 || (_selectionInfo$option2 = selectionInfo.options) === null || _selectionInfo$option2 === void 0 ? void 0 : _selectionInfo$option2.wholeDocument) === true) : null;
5575
+ const insertOffset = (replacement === null || replacement === void 0 ? void 0 : replacement.insertOffset) ?? selection.startOffset;
5348
5576
  const doMutation = {
5349
5577
  id: _univerjs_docs.RichTextEditingMutation.id,
5350
5578
  params: {
5351
5579
  unitId,
5352
5580
  actions: [],
5353
- textRanges,
5354
- debounce: true
5581
+ textRanges: textRanges ?? [{
5582
+ startOffset: insertOffset + insertBody.dataStream.length,
5583
+ endOffset: insertOffset + insertBody.dataStream.length,
5584
+ collapsed: true,
5585
+ style: (_docSelectionManagerS2 = docSelectionManagerService.getActiveTextRange()) === null || _docSelectionManagerS2 === void 0 ? void 0 : _docSelectionManagerS2.style,
5586
+ segmentId: targetSegmentId
5587
+ }],
5588
+ segmentId: targetSegmentId,
5589
+ debounce: true,
5590
+ trigger: ReplaceSelectionCommand.id
5355
5591
  }
5356
5592
  };
5357
- const textX = new _univerjs_core.TextX();
5358
- const jsonX = _univerjs_core.JSONX.getInstance();
5359
- textX.push(..._univerjs_core.BuildTextUtils.selection.delete([selection], body, 0, insertBody));
5360
- doMutation.params.actions = jsonX.editOp(textX.serialize());
5593
+ if (replacement) doMutation.params.actions = replacement.actions;
5594
+ else {
5595
+ const textX = new _univerjs_core.TextX();
5596
+ textX.push(..._univerjs_core.BuildTextUtils.selection.delete([selection], body, 0, insertBody));
5597
+ doMutation.params.actions = _univerjs_core.JSONX.getInstance().editOp(textX.serialize(), (0, _univerjs_core.getRichTextEditPath)(docDataModel, targetSegmentId));
5598
+ }
5361
5599
  return commandService.syncExecuteCommand(doMutation.id, doMutation.params);
5362
5600
  }
5363
5601
  };
@@ -5365,13 +5603,13 @@ const ReplaceTextRunsCommand = {
5365
5603
  id: "doc.command.replace-text-runs",
5366
5604
  type: _univerjs_core.CommandType.COMMAND,
5367
5605
  handler: (accessor, params) => {
5368
- var _docDataModel$getSelf2;
5606
+ var _docDataModel$getSelf3;
5369
5607
  const { unitId, body, textRanges, segmentId = "", options } = params;
5370
5608
  const univerInstanceService = accessor.get(_univerjs_core.IUniverInstanceService);
5371
5609
  const commandService = accessor.get(_univerjs_core.ICommandService);
5372
5610
  const themeService = accessor.get(_univerjs_core.ThemeService);
5373
5611
  const docDataModel = univerInstanceService.getUnit(unitId, _univerjs_core.UniverInstanceType.UNIVER_DOC);
5374
- const prevBody = docDataModel === null || docDataModel === void 0 || (_docDataModel$getSelf2 = docDataModel.getSelfOrHeaderFooterModel(segmentId)) === null || _docDataModel$getSelf2 === void 0 ? void 0 : _docDataModel$getSelf2.getBody();
5612
+ const prevBody = docDataModel === null || docDataModel === void 0 || (_docDataModel$getSelf3 = docDataModel.getSelfOrHeaderFooterModel(segmentId)) === null || _docDataModel$getSelf3 === void 0 ? void 0 : _docDataModel$getSelf3.getBody();
5375
5613
  if (docDataModel == null || prevBody == null) return false;
5376
5614
  const textX = _univerjs_core.BuildTextUtils.selection.replaceTextRuns({
5377
5615
  doc: docDataModel,
@@ -5714,10 +5952,7 @@ const QuickListCommand = {
5714
5952
  indentFirstLine: void 0
5715
5953
  },
5716
5954
  bullet: {
5717
- ...paragraph.bullet ?? {
5718
- nestingLevel: 0,
5719
- textStyle: { fs: 20 }
5720
- },
5955
+ ...paragraph.bullet ?? { nestingLevel: 0 },
5721
5956
  listType,
5722
5957
  listId
5723
5958
  }
@@ -7157,6 +7392,7 @@ const TEXT_RANGE_KEY_PREFIX = "__TestSelectionRange__";
7157
7392
  const TEXT_ANCHOR_KEY_PREFIX = "__TestSelectionAnchor__";
7158
7393
  const ID_LENGTH$1 = 6;
7159
7394
  const BLINK_ON = 500;
7395
+ const DEFAULT_CARET_COLOR = "gray.1000";
7160
7396
  const TEXT_RANGE_LAYER_INDEX = 3;
7161
7397
  function cursorConvertToTextRange(scene, range, docSkeleton, document) {
7162
7398
  const { startOffset, endOffset, style = _univerjs_engine_render.NORMAL_TEXT_SELECTION_PLUGIN_STYLE, segmentId = "", segmentPage } = range;
@@ -7213,6 +7449,7 @@ var TextRange = class {
7213
7449
  _defineProperty(this, "_anchorShape", void 0);
7214
7450
  _defineProperty(this, "_cursorList", []);
7215
7451
  _defineProperty(this, "_anchorBlinkTimer", null);
7452
+ _defineProperty(this, "_anchorActiveStroke", DEFAULT_CARET_COLOR);
7216
7453
  this._anchorBlink();
7217
7454
  this.refresh();
7218
7455
  }
@@ -7308,27 +7545,36 @@ var TextRange = class {
7308
7545
  return this._anchorShape;
7309
7546
  }
7310
7547
  activeStatic() {
7311
- var _this$_anchorShape, _this$style;
7312
- (_this$_anchorShape = this._anchorShape) === null || _this$_anchorShape === void 0 || _this$_anchorShape.setProps({ stroke: ((_this$style = this.style) === null || _this$style === void 0 ? void 0 : _this$style.strokeActive) || (0, _univerjs_engine_render.getColor)(_univerjs_core.COLORS.black, 1) });
7548
+ var _this$_anchorShape;
7549
+ (_this$_anchorShape = this._anchorShape) === null || _this$_anchorShape === void 0 || _this$_anchorShape.setProps({ stroke: this._anchorActiveStroke });
7313
7550
  }
7314
7551
  deactivateStatic() {
7315
- var _this$_anchorShape2, _this$style2;
7316
- (_this$_anchorShape2 = this._anchorShape) === null || _this$_anchorShape2 === void 0 || _this$_anchorShape2.setProps({ stroke: ((_this$style2 = this.style) === null || _this$style2 === void 0 ? void 0 : _this$style2.stroke) || (0, _univerjs_engine_render.getColor)(_univerjs_core.COLORS.black, 0) });
7552
+ var _this$_anchorShape2, _this$style;
7553
+ (_this$_anchorShape2 = this._anchorShape) === null || _this$_anchorShape2 === void 0 || _this$_anchorShape2.setProps({ stroke: ((_this$style = this.style) === null || _this$style === void 0 ? void 0 : _this$style.stroke) || (0, _univerjs_engine_render.getColor)(_univerjs_core.COLORS.black, 0) });
7317
7554
  }
7318
7555
  isActive() {
7319
7556
  return this._current === true;
7320
7557
  }
7321
7558
  activate() {
7322
7559
  this._current = true;
7560
+ if (this._isCollapsed()) {
7561
+ var _this$_anchorShape3;
7562
+ (_this$_anchorShape3 = this._anchorShape) === null || _this$_anchorShape3 === void 0 || _this$_anchorShape3.show();
7563
+ this.activeStatic();
7564
+ }
7323
7565
  }
7324
7566
  deactivate() {
7325
7567
  this._current = false;
7568
+ if (this._isCollapsed()) {
7569
+ var _this$_anchorShape4;
7570
+ (_this$_anchorShape4 = this._anchorShape) === null || _this$_anchorShape4 === void 0 || _this$_anchorShape4.hide();
7571
+ }
7326
7572
  }
7327
7573
  dispose() {
7328
- var _this$_rangeShape, _this$_anchorShape3;
7574
+ var _this$_rangeShape, _this$_anchorShape5;
7329
7575
  (_this$_rangeShape = this._rangeShape) === null || _this$_rangeShape === void 0 || _this$_rangeShape.dispose();
7330
7576
  this._rangeShape = null;
7331
- (_this$_anchorShape3 = this._anchorShape) === null || _this$_anchorShape3 === void 0 || _this$_anchorShape3.dispose();
7577
+ (_this$_anchorShape5 = this._anchorShape) === null || _this$_anchorShape5 === void 0 || _this$_anchorShape5.dispose();
7332
7578
  this._anchorShape = null;
7333
7579
  if (this._anchorBlinkTimer) {
7334
7580
  clearInterval(this._anchorBlinkTimer);
@@ -7342,11 +7588,11 @@ var TextRange = class {
7342
7588
  return activeStart <= compareEnd && activeEnd >= compareStart;
7343
7589
  }
7344
7590
  refresh() {
7345
- var _this$_anchorShape4, _this$_rangeShape2;
7591
+ var _this$_anchorShape6, _this$_rangeShape2;
7346
7592
  const { _document, _docSkeleton } = this;
7347
7593
  const anchor = this.anchorNodePosition;
7348
7594
  const focus = this.focusNodePosition;
7349
- (_this$_anchorShape4 = this._anchorShape) === null || _this$_anchorShape4 === void 0 || _this$_anchorShape4.hide();
7595
+ (_this$_anchorShape6 = this._anchorShape) === null || _this$_anchorShape6 === void 0 || _this$_anchorShape6.hide();
7350
7596
  (_this$_rangeShape2 = this._rangeShape) === null || _this$_rangeShape2 === void 0 || _this$_rangeShape2.hide();
7351
7597
  if (this._isEmpty()) return;
7352
7598
  const documentOffsetConfig = _document.getOffsetConfig();
@@ -7379,7 +7625,7 @@ var TextRange = class {
7379
7625
  return true;
7380
7626
  }
7381
7627
  _createOrUpdateRange(pointsGroup, left, top) {
7382
- var _this$style3;
7628
+ var _this$style2;
7383
7629
  if (this._rangeShape) {
7384
7630
  this._rangeShape.translate(left, top);
7385
7631
  this._rangeShape.updatePointGroup(pointsGroup);
@@ -7388,7 +7634,7 @@ var TextRange = class {
7388
7634
  }
7389
7635
  const polygon = new _univerjs_engine_render.RegularPolygon(TEXT_RANGE_KEY_PREFIX + (0, _univerjs_core.generateRandomId)(ID_LENGTH$1), {
7390
7636
  pointsGroup,
7391
- fill: ((_this$style3 = this.style) === null || _this$style3 === void 0 ? void 0 : _this$style3.fill) || (0, _univerjs_engine_render.getColor)(_univerjs_core.COLORS.black, .3),
7637
+ fill: ((_this$style2 = this.style) === null || _this$style2 === void 0 ? void 0 : _this$style2.fill) || (0, _univerjs_engine_render.getColor)(_univerjs_core.COLORS.black, .3),
7392
7638
  left,
7393
7639
  top,
7394
7640
  evented: false,
@@ -7398,7 +7644,7 @@ var TextRange = class {
7398
7644
  this._scene.addObject(polygon, 3);
7399
7645
  }
7400
7646
  _createOrUpdateAnchor(pointsGroup, docsLeft, docsTop, glyph) {
7401
- var _glyph$ts, _this$style4, _this$style5;
7647
+ var _glyph$ts, _this$style3;
7402
7648
  const bounding = getAnchorBounding(pointsGroup);
7403
7649
  const { left: boundingLeft } = bounding;
7404
7650
  let { top: boundingTop, height } = bounding;
@@ -7411,6 +7657,7 @@ var TextRange = class {
7411
7657
  let left = boundingLeft + docsLeft;
7412
7658
  const top = boundingTop + docsTop;
7413
7659
  const isItalic = (glyph === null || glyph === void 0 || (_glyph$ts = glyph.ts) === null || _glyph$ts === void 0 ? void 0 : _glyph$ts.it) === _univerjs_core.BooleanNumber.TRUE;
7660
+ this._anchorActiveStroke = this._getAnchorActiveStroke(glyph);
7414
7661
  if (isItalic) left += height * Math.tan(ITALIC_DEGREE * Math.PI / 180) / 2;
7415
7662
  if (this._anchorShape) {
7416
7663
  this._anchorShape.transformByState({
@@ -7421,14 +7668,15 @@ var TextRange = class {
7421
7668
  this._anchorShape.show();
7422
7669
  if (isItalic) this._anchorShape.skew(-12, 0);
7423
7670
  else this._anchorShape.skew(0, 0);
7671
+ this.activeStatic();
7424
7672
  return;
7425
7673
  }
7426
7674
  const anchor = new _univerjs_engine_render.Rect(TEXT_ANCHOR_KEY_PREFIX + (0, _univerjs_core.generateRandomId)(ID_LENGTH$1), {
7427
7675
  left,
7428
7676
  top,
7429
7677
  height,
7430
- strokeWidth: ((_this$style4 = this.style) === null || _this$style4 === void 0 ? void 0 : _this$style4.strokeWidth) || 1,
7431
- stroke: ((_this$style5 = this.style) === null || _this$style5 === void 0 ? void 0 : _this$style5.strokeActive) || (0, _univerjs_engine_render.getColor)(_univerjs_core.COLORS.black, 1),
7678
+ strokeWidth: ((_this$style3 = this.style) === null || _this$style3 === void 0 ? void 0 : _this$style3.strokeWidth) || 1,
7679
+ stroke: this._anchorActiveStroke,
7432
7680
  evented: false
7433
7681
  });
7434
7682
  if (isItalic) anchor.skew(-12, 0);
@@ -7436,6 +7684,33 @@ var TextRange = class {
7436
7684
  this._scene.addObject(anchor, 3);
7437
7685
  this.activeStatic();
7438
7686
  }
7687
+ _getAnchorActiveStroke(glyph) {
7688
+ var _this$style4, _this$_scene$getEngin, _this$_scene;
7689
+ if (((_this$style4 = this.style) === null || _this$style4 === void 0 ? void 0 : _this$style4.strokeActive) && this.style.strokeActive !== _univerjs_engine_render.NORMAL_TEXT_SELECTION_PLUGIN_STYLE.strokeActive) return this.style.strokeActive;
7690
+ const colorService = (_this$_scene$getEngin = (_this$_scene = this._scene).getEngine) === null || _this$_scene$getEngin === void 0 || (_this$_scene$getEngin = _this$_scene$getEngin.call(_this$_scene)) === null || _this$_scene$getEngin === void 0 ? void 0 : _this$_scene$getEngin.canvasColorService;
7691
+ if (!colorService) return DEFAULT_CARET_COLOR;
7692
+ try {
7693
+ const backgroundColorKit = new _univerjs_core.ColorKit(colorService.getRenderColor(this._getAnchorBackgroundColor(glyph)));
7694
+ if (!backgroundColorKit.isValid) return DEFAULT_CARET_COLOR;
7695
+ return _univerjs_core.ColorKit.getContrastRatio(colorService.getRenderColor("gray.0"), backgroundColorKit) > _univerjs_core.ColorKit.getContrastRatio(colorService.getRenderColor(DEFAULT_CARET_COLOR), backgroundColorKit) ? "gray.0" : DEFAULT_CARET_COLOR;
7696
+ } catch {
7697
+ return DEFAULT_CARET_COLOR;
7698
+ }
7699
+ }
7700
+ _getAnchorBackgroundColor(glyph) {
7701
+ var _glyph$parent, _line$parent, _glyph$ts2;
7702
+ const line = glyph === null || glyph === void 0 || (_glyph$parent = glyph.parent) === null || _glyph$parent === void 0 ? void 0 : _glyph$parent.parent;
7703
+ const page = line === null || line === void 0 || (_line$parent = line.parent) === null || _line$parent === void 0 || (_line$parent = _line$parent.parent) === null || _line$parent === void 0 ? void 0 : _line$parent.parent;
7704
+ let cellBackground;
7705
+ if ((page === null || page === void 0 ? void 0 : page.type) === _univerjs_engine_render.DocumentSkeletonPageType.CELL && page.parent && "rowSource" in page.parent) {
7706
+ var _row$rowSource$tableC;
7707
+ const row = page.parent;
7708
+ const cellIndex = row.cells.indexOf(page);
7709
+ cellBackground = (_row$rowSource$tableC = row.rowSource.tableCells[cellIndex]) === null || _row$rowSource$tableC === void 0 ? void 0 : _row$rowSource$tableC.backgroundColor;
7710
+ }
7711
+ const background = (glyph === null || glyph === void 0 || (_glyph$ts2 = glyph.ts) === null || _glyph$ts2 === void 0 ? void 0 : _glyph$ts2.bg) ?? (line === null || line === void 0 ? void 0 : line.backgroundColor) ?? cellBackground;
7712
+ return (background === null || background === void 0 ? void 0 : background.rgb) ?? (0, _univerjs_core.getColorStyle)(background) ?? "gray.0";
7713
+ }
7439
7714
  _setCursorList(cursorList) {
7440
7715
  if (cursorList.length === 0) return;
7441
7716
  this._cursorList = cursorList;
@@ -8007,6 +8282,20 @@ let DocSelectionRenderService = class DocSelectionRenderService extends _univerj
8007
8282
  const activeElement = ownerDocument.activeElement;
8008
8283
  return !this._shouldPreserveExternalFocus() && (this.isFocusing || activeElement === ownerDocument.body || activeElement === null || activeElement instanceof HTMLElement && this._containsCurrentEmbedRuntimeElement(activeElement));
8009
8284
  }
8285
+ cancelPointerSelection() {
8286
+ if (!this._onPointerEvent) return;
8287
+ this._scenePointerMoveSubs.forEach((subscription) => subscription.unsubscribe());
8288
+ this._scenePointerUpSubs.forEach((subscription) => subscription.unsubscribe());
8289
+ this._scenePointerMoveSubs = [];
8290
+ this._scenePointerUpSubs = [];
8291
+ this._onPointerEvent = false;
8292
+ this._anchorNodePosition = null;
8293
+ this._focusNodePosition = null;
8294
+ this._removeAllRanges();
8295
+ this._removeAllCacheRanges();
8296
+ this._disposeScrollTimers();
8297
+ this._context.scene.enableObjectsEvent();
8298
+ }
8010
8299
  constructor(_context, _layoutService, _logService, _univerInstanceService, _docSkeletonManagerService, _embedInteractionBoundaryService, _embedRuntimeFocusCoordinator) {
8011
8300
  super();
8012
8301
  this._context = _context;
@@ -8143,6 +8432,7 @@ let DocSelectionRenderService = class DocSelectionRenderService extends _univerj
8143
8432
  }
8144
8433
  else generalAddRange(startOffset, endOffset, rangeStyle);
8145
8434
  }
8435
+ this._hideCollapsedCaretsForVisibleSelection();
8146
8436
  this._textSelectionInner$.next({
8147
8437
  textRanges: this._getAllTextRanges(),
8148
8438
  rectRanges: this._getAllRectRanges(),
@@ -8520,6 +8810,13 @@ let DocSelectionRenderService = class DocSelectionRenderService extends _univerj
8520
8810
  }
8521
8811
  this._rangeList = newRanges;
8522
8812
  }
8813
+ _hideCollapsedCaretsForVisibleSelection() {
8814
+ var _expandedTextRanges;
8815
+ const expandedTextRanges = this._rangeList.filter((range) => !range.collapsed);
8816
+ if (expandedTextRanges.length === 0 && this._rectRangeList.length === 0) return;
8817
+ this._deactivateAllTextRanges();
8818
+ (_expandedTextRanges = expandedTextRanges[expandedTextRanges.length - 1]) === null || _expandedTextRanges === void 0 || _expandedTextRanges.activate();
8819
+ }
8523
8820
  _deactivateAllTextRanges() {
8524
8821
  this._rangeList.forEach((range) => {
8525
8822
  range.deactivate();
@@ -8698,7 +8995,7 @@ let DocSelectionRenderService = class DocSelectionRenderService extends _univerj
8698
8995
  this.disposeWithMe((0, rxjs.fromEvent)(this._input, "input").subscribe((e) => {
8699
8996
  if (this._shouldSuppressHostHiddenEditorEvent(e)) return;
8700
8997
  if (e.inputType === "historyUndo" || e.inputType === "historyRedo") return;
8701
- if (this._rectRangeList.length > 0) {
8998
+ if (this._rectRangeList.length > 0 && this._getActiveRange() == null) {
8702
8999
  e.stopPropagation();
8703
9000
  return e.preventDefault();
8704
9001
  }
@@ -8710,7 +9007,7 @@ let DocSelectionRenderService = class DocSelectionRenderService extends _univerj
8710
9007
  }));
8711
9008
  this.disposeWithMe((0, rxjs.fromEvent)(this._input, "compositionstart").subscribe((e) => {
8712
9009
  if (this._shouldSuppressHostHiddenEditorEvent(e)) return;
8713
- if (this._rectRangeList.length > 0) {
9010
+ if (this._rectRangeList.length > 0 && this._getActiveRange() == null) {
8714
9011
  e.stopPropagation();
8715
9012
  return e.preventDefault();
8716
9013
  }
@@ -9642,15 +9939,19 @@ const DEFAULT_DOC_FIT_TO_WIDTH_OPTIONS = {
9642
9939
  const defaultPluginConfig = {
9643
9940
  toc: false,
9644
9941
  footer: true,
9942
+ wordCount: true,
9645
9943
  placeholder: true,
9646
9944
  fitToWidth: DEFAULT_DOC_FIT_TO_WIDTH_OPTIONS
9647
9945
  };
9648
9946
 
9649
9947
  //#endregion
9650
9948
  //#region src/services/doc-render-background.ts
9651
- const DOC_TRADITIONAL_WORKSPACE_BACKGROUND_COLOR = "#fafafa";
9652
- const DOC_MODERN_WORKSPACE_BACKGROUND_COLOR = "#fff";
9949
+ const DOC_TRADITIONAL_WORKSPACE_BACKGROUND_COLOR = "var(--univer-gray-100)";
9950
+ const DOC_MODERN_WORKSPACE_BACKGROUND_COLOR = "var(--univer-gray-0)";
9951
+ const DOC_UNSPECIFIED_WORKSPACE_BACKGROUND_COLOR = "var(--univer-gray-100)";
9653
9952
  const DOC_EDITOR_INTERNAL_BACKGROUND_COLOR = "transparent";
9953
+ const DOC_TRADITIONAL_WORKSPACE_BACKGROUND_TOKEN = "gray.100";
9954
+ const DOC_MODERN_WORKSPACE_BACKGROUND_TOKEN = "gray.0";
9654
9955
  function resolveDocRenderBackground(options) {
9655
9956
  const { documentFlavor, canvasColorService, editorBackgroundColor, isEditor } = options;
9656
9957
  const backgroundColor = editorBackgroundColor ?? getDefaultDocCanvasBackgroundColor(documentFlavor, isEditor);
@@ -9658,14 +9959,30 @@ function resolveDocRenderBackground(options) {
9658
9959
  canvasElementBackgroundColor: backgroundColor,
9659
9960
  docBackgroundFillColor: DOC_EDITOR_INTERNAL_BACKGROUND_COLOR
9660
9961
  };
9962
+ if (editorBackgroundColor != null) return {
9963
+ canvasElementBackgroundColor: (canvasColorService === null || canvasColorService === void 0 ? void 0 : canvasColorService.getRenderColor(editorBackgroundColor)) ?? editorBackgroundColor,
9964
+ docBackgroundFillColor: void 0
9965
+ };
9966
+ if (documentFlavor !== _univerjs_core.DocumentFlavor.TRADITIONAL && documentFlavor !== _univerjs_core.DocumentFlavor.MODERN) return {
9967
+ canvasElementBackgroundColor: backgroundColor,
9968
+ docBackgroundFillColor: void 0
9969
+ };
9970
+ const renderBackgroundColor = getDefaultDocCanvasBackgroundToken(documentFlavor);
9661
9971
  return {
9662
- canvasElementBackgroundColor: (canvasColorService === null || canvasColorService === void 0 ? void 0 : canvasColorService.getRenderColor(backgroundColor)) ?? backgroundColor,
9972
+ canvasElementBackgroundColor: (canvasColorService === null || canvasColorService === void 0 ? void 0 : canvasColorService.getRenderColor(renderBackgroundColor)) ?? backgroundColor,
9663
9973
  docBackgroundFillColor: void 0
9664
9974
  };
9665
9975
  }
9666
9976
  function getDefaultDocCanvasBackgroundColor(documentFlavor, isEditor) {
9667
9977
  if (isEditor) return DOC_EDITOR_INTERNAL_BACKGROUND_COLOR;
9668
- return documentFlavor === _univerjs_core.DocumentFlavor.MODERN ? DOC_MODERN_WORKSPACE_BACKGROUND_COLOR : DOC_TRADITIONAL_WORKSPACE_BACKGROUND_COLOR;
9978
+ switch (documentFlavor) {
9979
+ case _univerjs_core.DocumentFlavor.MODERN: return DOC_MODERN_WORKSPACE_BACKGROUND_COLOR;
9980
+ case _univerjs_core.DocumentFlavor.TRADITIONAL: return DOC_TRADITIONAL_WORKSPACE_BACKGROUND_COLOR;
9981
+ default: return DOC_UNSPECIFIED_WORKSPACE_BACKGROUND_COLOR;
9982
+ }
9983
+ }
9984
+ function getDefaultDocCanvasBackgroundToken(documentFlavor) {
9985
+ return documentFlavor === _univerjs_core.DocumentFlavor.MODERN ? DOC_MODERN_WORKSPACE_BACKGROUND_TOKEN : DOC_TRADITIONAL_WORKSPACE_BACKGROUND_TOKEN;
9669
9986
  }
9670
9987
 
9671
9988
  //#endregion
@@ -10127,7 +10444,7 @@ DocBackScrollRenderController = __decorate([
10127
10444
 
10128
10445
  //#endregion
10129
10446
  //#region src/controllers/render-controllers/doc-paragraph-placeholder.render-controller.ts
10130
- const PLACEHOLDER_COLOR = "rgba(0, 0, 0, 0.35)";
10447
+ const PLACEHOLDER_COLOR = "gray.400";
10131
10448
  const DEFAULT_PLACEHOLDER_FONT_SIZE = 12;
10132
10449
  const MIN_BODY_TEXT_PLACEHOLDER_FONT_SIZE = 16;
10133
10450
  const DEFAULT_PLACEHOLDER_FONT_FAMILY = "Arial";
@@ -10147,6 +10464,9 @@ let DocParagraphPlaceholderRenderController = class DocParagraphPlaceholderRende
10147
10464
  const documents = this._context.mainComponent;
10148
10465
  if (!documents) return;
10149
10466
  this.disposeWithMe(documents.pageRender$.subscribe((pageRenderConfig) => this._drawPagePlaceholders(pageRenderConfig)));
10467
+ this.disposeWithMe(this._docSelectionManagerService.textSelection$.subscribe(({ unitId }) => {
10468
+ if (unitId === this._context.unitId) documents.makeDirty(true);
10469
+ }));
10150
10470
  }
10151
10471
  _drawPagePlaceholders({ page, pageLeft, pageTop, ctx }) {
10152
10472
  var _this$_context$unit$g, _this$_context$mainCo;
@@ -10154,6 +10474,7 @@ let DocParagraphPlaceholderRenderController = class DocParagraphPlaceholderRende
10154
10474
  if (!body) return;
10155
10475
  const activeRange = this._docSelectionManagerService.getActiveTextRange();
10156
10476
  if (!activeRange || (activeRange.segmentId ?? "") !== (page.segmentId ?? "")) return;
10477
+ if (activeRange.startOffset == null || activeRange.endOffset == null || activeRange.startOffset !== activeRange.endOffset) return;
10157
10478
  const placeholders = getParagraphPlaceholderLayouts(page, body, this._getLocale(), pageLeft, pageTop, activeRange.startOffset, {
10158
10479
  docsLeft: (_this$_context$mainCo = this._context.mainComponent) === null || _this$_context$mainCo === void 0 ? void 0 : _this$_context$mainCo.getOffsetConfig().docsLeft,
10159
10480
  unitId: this._context.unitId
@@ -10220,7 +10541,7 @@ function visitColumn(column, body, paragraphs, locale, layouts, originLeft, orig
10220
10541
  if (!line.paragraphStart) continue;
10221
10542
  const paragraphStart = line.st;
10222
10543
  const paragraphEnd = line.paragraphIndex;
10223
- if (activeOffset != null && !isOffsetInParagraph(activeOffset, paragraphStart, paragraphEnd)) continue;
10544
+ if (!isOffsetInParagraph(activeOffset, paragraphStart, paragraphEnd)) continue;
10224
10545
  const paragraph = paragraphs.get(paragraphEnd);
10225
10546
  if (!paragraph || !isEmptyParagraph(body.dataStream, line.st, line.paragraphIndex)) continue;
10226
10547
  const text = getPlaceholderText(paragraph, locale);
@@ -10456,7 +10777,7 @@ let DocPageLayoutService = class DocPageLayoutService extends _univerjs_core.Dis
10456
10777
  } else {
10457
10778
  docsLeft = horizontalMargin;
10458
10779
  sceneWidth = docsWidth + horizontalMargin * 2;
10459
- scrollToX = isStartAlignedFit ? 0 : (sceneWidth - engineWidth / viewScale) / 2;
10780
+ scrollToX = 0;
10460
10781
  }
10461
10782
  if (engineHeight > docsHeight) sceneHeight = (engineHeight - pageMarginTop * 2) / viewScale;
10462
10783
  else sceneHeight = docsHeight + pageMarginTop * 2;
@@ -10493,6 +10814,7 @@ let DocRenderController = class DocRenderController extends _univerjs_core.RxDis
10493
10814
  this._textSelectionManagerService = _textSelectionManagerService;
10494
10815
  this._docViewScaleService = _docViewScaleService;
10495
10816
  this._themeService = _themeService;
10817
+ _defineProperty(this, "_changesetRenderScheduled", false);
10496
10818
  this._addNewRender();
10497
10819
  this._initRenderRefresh();
10498
10820
  this._initCommandListener();
@@ -10595,15 +10917,28 @@ let DocRenderController = class DocRenderController extends _univerjs_core.RxDis
10595
10917
  }
10596
10918
  _initCommandListener() {
10597
10919
  const updateCommandList = [_univerjs_docs.RichTextEditingMutation.id];
10598
- this.disposeWithMe(this._commandService.onCommandExecuted((command) => {
10599
- if (updateCommandList.includes(command.id)) {
10600
- const { unitId } = command.params;
10601
- this.reRender(unitId);
10920
+ this.disposeWithMe(this._commandService.onCommandExecuted((command, options) => {
10921
+ if (!updateCommandList.includes(command.id)) return;
10922
+ const { unitId } = command.params;
10923
+ if (unitId !== this._context.unitId) return;
10924
+ if (options === null || options === void 0 ? void 0 : options.fromChangeset) {
10925
+ this._scheduleChangesetRender();
10926
+ return;
10602
10927
  }
10928
+ this.reRender(unitId);
10603
10929
  }));
10604
10930
  }
10931
+ _scheduleChangesetRender() {
10932
+ if (this._changesetRenderScheduled) return;
10933
+ this._changesetRenderScheduled = true;
10934
+ queueMicrotask(() => {
10935
+ this._changesetRenderScheduled = false;
10936
+ if (this._disposed) return;
10937
+ this.reRender(this._context.unitId);
10938
+ });
10939
+ }
10605
10940
  _initThemeListener() {
10606
- this.disposeWithMe(this._themeService.darkMode$.pipe((0, rxjs.takeUntil)(this.dispose$)).subscribe(() => {
10941
+ this.disposeWithMe((0, rxjs.combineLatest)([this._themeService.currentTheme$, this._themeService.darkMode$]).pipe((0, rxjs.takeUntil)(this.dispose$)).subscribe(() => {
10607
10942
  var _this$_context$mainCo3, _this$_context$compon;
10608
10943
  this._syncCanvasBackground();
10609
10944
  (_this$_context$mainCo3 = this._context.mainComponent) === null || _this$_context$mainCo3 === void 0 || _this$_context$mainCo3.makeDirty(true);
@@ -11071,7 +11406,7 @@ const getModernWidthMode = (size) => {
11071
11406
  function SettingsLabel(props) {
11072
11407
  const { children, muted } = props;
11073
11408
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
11074
- className: (0, _univerjs_design.clsx)("univer-text-sm univer-font-medium", muted ? "univer-text-gray-500" : "univer-text-gray-900 dark:!univer-text-white"),
11409
+ className: (0, _univerjs_design.clsx)("univer-text-sm univer-font-medium", muted ? "univer-text-gray-500" : "univer-text-gray-900 dark:!univer-text-gray-0"),
11075
11410
  children
11076
11411
  });
11077
11412
  }
@@ -11136,7 +11471,7 @@ function PageSettings(props) {
11136
11471
  className: "univer-grid univer-grid-cols-3 univer-gap-2",
11137
11472
  children: MODERN_WIDTH_OPTIONS.map((option) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
11138
11473
  type: "button",
11139
- className: (0, _univerjs_design.clsx)(_univerjs_design.resetButtonClassName, _univerjs_design.borderClassName, "univer-h-16 univer-flex-col univer-gap-1 univer-rounded-lg univer-bg-white univer-text-sm univer-font-medium univer-text-gray-700 univer-transition-colors hover:univer-border-primary-500 hover:univer-text-primary-600 dark:!univer-bg-gray-900 dark:!univer-text-gray-100", { "!univer-border-primary-500 !univer-bg-primary-50 !univer-text-primary-600 dark:!univer-bg-primary-900": settings.modernWidth === option }),
11474
+ className: (0, _univerjs_design.clsx)(_univerjs_design.resetButtonClassName, _univerjs_design.borderClassName, "univer-h-16 univer-flex-col univer-gap-1 univer-rounded-lg univer-bg-gray-0 univer-text-sm univer-font-medium univer-text-gray-700 univer-transition-colors hover:univer-border-primary-500 hover:univer-text-primary-600 dark:!univer-bg-gray-900 dark:!univer-text-gray-100", { "!univer-border-primary-500 !univer-bg-primary-50 !univer-text-primary-600 dark:!univer-bg-primary-900": settings.modernWidth === option }),
11140
11475
  onClick: () => handleModernWidthChange(option),
11141
11476
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: localeService.t(`docs-ui.page-settings.modern-width-${option}`) }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
11142
11477
  className: "univer-text-xs univer-font-normal univer-text-gray-400",
@@ -11710,88 +12045,93 @@ const COMPONENT_PREFIX = "UI_PLUGIN_DOCS";
11710
12045
  */
11711
12046
  const ListTypePicker = (props) => {
11712
12047
  const { value, onChange, options } = props;
12048
+ const previewRows = [
12049
+ {
12050
+ id: "level-0-top",
12051
+ levelIndex: 0
12052
+ },
12053
+ {
12054
+ id: "level-1",
12055
+ levelIndex: 1
12056
+ },
12057
+ {
12058
+ id: "level-2",
12059
+ levelIndex: 2
12060
+ },
12061
+ {
12062
+ id: "level-0-bottom",
12063
+ levelIndex: 0
12064
+ }
12065
+ ];
12066
+ const previewIndentClassNames = [
12067
+ "",
12068
+ "univer-pl-2",
12069
+ "univer-pl-4"
12070
+ ];
12071
+ const getOrderedGlyph = (glyphType) => {
12072
+ switch (glyphType) {
12073
+ case _univerjs_core.ListGlyphType.DECIMAL_ZERO: return "01";
12074
+ case _univerjs_core.ListGlyphType.UPPER_LETTER: return "A";
12075
+ case _univerjs_core.ListGlyphType.LOWER_LETTER: return "a";
12076
+ case _univerjs_core.ListGlyphType.UPPER_ROMAN: return "I";
12077
+ case _univerjs_core.ListGlyphType.LOWER_ROMAN: return "i";
12078
+ default: return "1";
12079
+ }
12080
+ };
12081
+ const getMarker = (listType, levelIndex) => {
12082
+ var _level$glyphFormat;
12083
+ const levels = _univerjs_core.PRESET_LIST_TYPE[listType].nestingLevel;
12084
+ const level = levels[levelIndex];
12085
+ if (level.glyphSymbol) return level.glyphSymbol;
12086
+ return ((_level$glyphFormat = level.glyphFormat) === null || _level$glyphFormat === void 0 ? void 0 : _level$glyphFormat.replace(/%(\d+)/g, (_match, index) => {
12087
+ var _levels;
12088
+ return getOrderedGlyph((_levels = levels[Number(index) - 1]) === null || _levels === void 0 ? void 0 : _levels.glyphType);
12089
+ })) ?? "1.";
12090
+ };
11713
12091
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
11714
12092
  className: "univer-grid univer-grid-cols-3 univer-gap-2 univer-p-1.5",
11715
12093
  "data-u-editor-interaction-boundary": "true",
11716
- children: options.map((item) => {
11717
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
11718
- className: (0, _univerjs_design.clsx)("univer-block univer-h-20 univer-w-[72px] univer-cursor-pointer univer-overflow-hidden univer-rounded univer-transition-all hover:univer-border-primary-500", _univerjs_design.borderClassName, { "univer-border-primary-500": value === item.value }),
11719
- onClick: () => {
11720
- onChange(item.value);
11721
- },
11722
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
11723
- className: "univer-size-full",
11724
- src: item.img,
11725
- draggable: false
11726
- })
11727
- }, item.value);
11728
- })
12094
+ children: options.map((item) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
12095
+ className: (0, _univerjs_design.clsx)("univer-block univer-h-20 univer-w-[72px] univer-cursor-pointer univer-overflow-hidden univer-rounded univer-transition-all hover:univer-border-primary-500", _univerjs_design.borderClassName, { "univer-border-primary-500": value === item }),
12096
+ onClick: () => onChange(item),
12097
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
12098
+ className: "univer-box-border univer-grid univer-size-full univer-grid-rows-4 univer-gap-1 univer-bg-gray-50 univer-p-2 univer-text-gray-900",
12099
+ "data-u-comp": "list-type-preview",
12100
+ children: previewRows.map(({ id, levelIndex }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
12101
+ className: (0, _univerjs_design.clsx)("univer-flex univer-items-center univer-gap-1", previewIndentClassNames[levelIndex]),
12102
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
12103
+ className: "univer-w-3 univer-shrink-0 univer-overflow-hidden univer-text-center univer-text-[10px] univer-leading-none",
12104
+ children: getMarker(item, levelIndex)
12105
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "univer-h-1 univer-flex-1 univer-rounded univer-bg-gray-200" })]
12106
+ }, id))
12107
+ })
12108
+ }, item))
11729
12109
  });
11730
12110
  };
11731
12111
  const orderListOptions = [
11732
- {
11733
- value: _univerjs_core.PresetListType.ORDER_LIST,
11734
- img: "data:image/jpeg;base64,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"
11735
- },
11736
- {
11737
- value: _univerjs_core.PresetListType.ORDER_LIST_1,
11738
- img: "data:image/jpeg;base64,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"
11739
- },
11740
- {
11741
- value: _univerjs_core.PresetListType.ORDER_LIST_2,
11742
- img: "data:image/jpeg;base64,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"
11743
- },
11744
- {
11745
- value: _univerjs_core.PresetListType.ORDER_LIST_3,
11746
- img: "data:image/jpeg;base64,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"
11747
- },
11748
- {
11749
- value: _univerjs_core.PresetListType.ORDER_LIST_4,
11750
- img: "data:image/jpeg;base64,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"
11751
- },
11752
- {
11753
- value: _univerjs_core.PresetListType.ORDER_LIST_5,
11754
- img: "data:image/jpeg;base64,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"
11755
- }
12112
+ _univerjs_core.PresetListType.ORDER_LIST,
12113
+ _univerjs_core.PresetListType.ORDER_LIST_1,
12114
+ _univerjs_core.PresetListType.ORDER_LIST_2,
12115
+ _univerjs_core.PresetListType.ORDER_LIST_3,
12116
+ _univerjs_core.PresetListType.ORDER_LIST_4,
12117
+ _univerjs_core.PresetListType.ORDER_LIST_5
11756
12118
  ];
11757
- const OrderListTypePicker = (props) => {
11758
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ListTypePicker, {
11759
- ...props,
11760
- options: orderListOptions
11761
- });
11762
- };
12119
+ const OrderListTypePicker = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ListTypePicker, {
12120
+ ...props,
12121
+ options: orderListOptions
12122
+ });
11763
12123
  const bulletOptions = [
11764
- {
11765
- value: _univerjs_core.PresetListType.BULLET_LIST,
11766
- img: "data:image/jpeg;base64,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"
11767
- },
11768
- {
11769
- value: _univerjs_core.PresetListType.BULLET_LIST_1,
11770
- img: "data:image/jpeg;base64,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"
11771
- },
11772
- {
11773
- value: _univerjs_core.PresetListType.BULLET_LIST_2,
11774
- img: "data:image/jpeg;base64,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"
11775
- },
11776
- {
11777
- value: _univerjs_core.PresetListType.BULLET_LIST_3,
11778
- img: "data:image/jpeg;base64,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"
11779
- },
11780
- {
11781
- value: _univerjs_core.PresetListType.BULLET_LIST_4,
11782
- img: "data:image/jpeg;base64,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"
11783
- },
11784
- {
11785
- value: _univerjs_core.PresetListType.BULLET_LIST_5,
11786
- img: "data:image/jpeg;base64,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"
11787
- }
12124
+ _univerjs_core.PresetListType.BULLET_LIST,
12125
+ _univerjs_core.PresetListType.BULLET_LIST_1,
12126
+ _univerjs_core.PresetListType.BULLET_LIST_2,
12127
+ _univerjs_core.PresetListType.BULLET_LIST_3,
12128
+ _univerjs_core.PresetListType.BULLET_LIST_4,
12129
+ _univerjs_core.PresetListType.BULLET_LIST_5
11788
12130
  ];
11789
- const BulletListTypePicker = (props) => {
11790
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ListTypePicker, {
11791
- ...props,
11792
- options: bulletOptions
11793
- });
11794
- };
12131
+ const BulletListTypePicker = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ListTypePicker, {
12132
+ ...props,
12133
+ options: bulletOptions
12134
+ });
11795
12135
 
11796
12136
  //#endregion
11797
12137
  //#region src/views/list-type-picker/index.ts
@@ -12462,7 +12802,7 @@ function TextColorSelectorMenuItemFactory(accessor) {
12462
12802
  selectable: false
12463
12803
  },
12464
12804
  value$: new rxjs.Observable((subscriber) => {
12465
- const defaultValue = _univerjs_core.DEFAULT_STYLES.cl.rgb;
12805
+ const defaultValue = themeService.getColorFromTheme("gray.900");
12466
12806
  const calc = () => {
12467
12807
  var _textRun$ts9;
12468
12808
  if (shouldSuppressDocMenuStateRefresh(accessor)) return;
@@ -12855,19 +13195,25 @@ function CheckListMenuItemFactory(accessor) {
12855
13195
  };
12856
13196
  }
12857
13197
  function ResetTextColorMenuItemFactory(accessor) {
13198
+ const themeService = accessor.get(_univerjs_core.ThemeService);
12858
13199
  return {
12859
13200
  id: ResetInlineFormatTextColorCommand.id,
13201
+ commandId: SetInlineFormatTextColorCommand.id,
12860
13202
  type: _univerjs_ui.MenuItemType.BUTTON,
12861
13203
  title: "docs-ui.toolbar.resetColor",
12862
- icon: "NoColorDoubleIcon"
13204
+ icon: "NoColorDoubleIcon",
13205
+ params: () => ({ value: themeService.getColorFromTheme("gray.900") })
12863
13206
  };
12864
13207
  }
12865
13208
  function ResetBackgroundColorMenuItemFactory(accessor) {
13209
+ const themeService = accessor.get(_univerjs_core.ThemeService);
12866
13210
  return {
12867
13211
  id: ResetInlineFormatTextBackgroundColorCommand.id,
13212
+ commandId: SetInlineFormatTextBackgroundColorCommand.id,
12868
13213
  type: _univerjs_ui.MenuItemType.BUTTON,
12869
13214
  title: "docs-ui.toolbar.resetColor",
12870
- icon: "NoColorDoubleIcon"
13215
+ icon: "NoColorDoubleIcon",
13216
+ params: () => ({ value: themeService.getColorFromTheme("primary.600") })
12871
13217
  };
12872
13218
  }
12873
13219
  function BackgroundColorSelectorMenuItemFactory(accessor) {
@@ -13533,12 +13879,15 @@ function ParagraphMenuNoBackgroundMenuItemFactory(accessor) {
13533
13879
  };
13534
13880
  }
13535
13881
  function ParagraphMenuResetTextColorMenuItemFactory(accessor) {
13882
+ const themeService = accessor.get(_univerjs_core.ThemeService);
13536
13883
  return {
13537
13884
  id: ResetInlineFormatTextColorCommand.id,
13885
+ commandId: SetInlineFormatTextColorCommand.id,
13538
13886
  type: _univerjs_ui.MenuItemType.BUTTON,
13539
13887
  icon: "NoColorDoubleIcon",
13540
13888
  title: "docs-ui.toolbar.resetColor",
13541
13889
  tooltip: "docs-ui.toolbar.resetColor",
13890
+ params: () => ({ value: themeService.getColorFromTheme("gray.900") }),
13542
13891
  hidden$: (0, _univerjs_ui.getMenuHiddenObservable)(accessor, _univerjs_core.UniverInstanceType.UNIVER_DOC)
13543
13892
  };
13544
13893
  }
@@ -14584,13 +14933,333 @@ function CountBar(_props) {
14584
14933
  });
14585
14934
  }
14586
14935
 
14936
+ //#endregion
14937
+ //#region src/views/doc-statistics/use-doc-statistics.ts
14938
+ const STATISTICS_DEBOUNCE_TIME = 200;
14939
+ const EMPTY_STATISTICS = {
14940
+ words: 0,
14941
+ charactersWithoutSpaces: 0,
14942
+ charactersWithSpaces: 0,
14943
+ paragraphs: 0,
14944
+ nonAsianWords: 0,
14945
+ asianCharactersAndKoreanWords: 0
14946
+ };
14947
+ const EMPTY_LAYOUT_STATISTICS = {
14948
+ pages: 0,
14949
+ lines: 0
14950
+ };
14951
+ function getBodySelectionRanges(selectionManager) {
14952
+ return (selectionManager.getTextRanges() ?? []).filter((range) => !range.collapsed && !range.segmentId).map(({ collapsed, direction, endOffset, isActive, rangeType, segmentId, segmentPage, startOffset }) => ({
14953
+ collapsed,
14954
+ direction,
14955
+ endOffset,
14956
+ isActive,
14957
+ rangeType,
14958
+ segmentId,
14959
+ segmentPage,
14960
+ startOffset
14961
+ }));
14962
+ }
14963
+ function rangeIntersectsLine(range, startOffset, endOffset) {
14964
+ const rangeStart = Math.min(range.startOffset, range.endOffset);
14965
+ const rangeEnd = Math.max(range.startOffset, range.endOffset);
14966
+ return rangeStart < endOffset && rangeEnd > startOffset;
14967
+ }
14968
+ function getDocLayoutStatistics(skeleton, ranges = [], calculatePages = true) {
14969
+ var _skeleton$getSkeleton;
14970
+ const pages = (skeleton === null || skeleton === void 0 || (_skeleton$getSkeleton = skeleton.getSkeletonData()) === null || _skeleton$getSkeleton === void 0 ? void 0 : _skeleton$getSkeleton.pages) ?? [];
14971
+ if (ranges.length === 0) {
14972
+ let lines = 0;
14973
+ (0, _univerjs_engine_render.documentSkeletonLineIterator)(pages, {}, () => lines++);
14974
+ return {
14975
+ lines,
14976
+ pages: calculatePages ? pages.length : 0
14977
+ };
14978
+ }
14979
+ let lines = 0;
14980
+ const selectedPages = calculatePages ? /* @__PURE__ */ new Set() : null;
14981
+ (0, _univerjs_engine_render.documentSkeletonLineIterator)(pages, {}, ({ line, pageIndex }) => {
14982
+ if (ranges.some((range) => rangeIntersectsLine(range, line.st, line.ed))) {
14983
+ lines += 1;
14984
+ selectedPages === null || selectedPages === void 0 || selectedPages.add(pageIndex);
14985
+ }
14986
+ });
14987
+ return {
14988
+ lines,
14989
+ pages: (selectedPages === null || selectedPages === void 0 ? void 0 : selectedPages.size) ?? 0
14990
+ };
14991
+ }
14992
+ async function calculateStatistics({ calculateLayout, calculatePages, documentDataModel, cachedStatistics, locale, selectionRanges, signal, skeleton }) {
14993
+ const documentLayout = calculateLayout ? getDocLayoutStatistics(skeleton, [], calculatePages) : EMPTY_LAYOUT_STATISTICS;
14994
+ const selectionLayout = calculateLayout && selectionRanges.length > 0 ? getDocLayoutStatistics(skeleton, selectionRanges, calculatePages) : EMPTY_LAYOUT_STATISTICS;
14995
+ const [documentStatistics, selectionStatistics] = await Promise.all([cachedStatistics ?? documentDataModel.getStatistics({
14996
+ locale,
14997
+ signal
14998
+ }), selectionRanges.length > 0 ? documentDataModel.getStatistics({
14999
+ locale,
15000
+ ranges: selectionRanges,
15001
+ signal
15002
+ }) : null]);
15003
+ return {
15004
+ document: {
15005
+ ...documentStatistics,
15006
+ ...documentLayout
15007
+ },
15008
+ selection: selectionStatistics ? {
15009
+ ...selectionStatistics,
15010
+ ...selectionLayout
15011
+ } : null
15012
+ };
15013
+ }
15014
+ function cacheDocumentStatistics(cacheRef, documentDataModel, locale, revision, statistics) {
15015
+ cacheRef.current = {
15016
+ documentDataModel,
15017
+ locale,
15018
+ revision,
15019
+ statistics: {
15020
+ words: statistics.words,
15021
+ charactersWithoutSpaces: statistics.charactersWithoutSpaces,
15022
+ charactersWithSpaces: statistics.charactersWithSpaces,
15023
+ paragraphs: statistics.paragraphs,
15024
+ nonAsianWords: statistics.nonAsianWords,
15025
+ asianCharactersAndKoreanWords: statistics.asianCharactersAndKoreanWords
15026
+ }
15027
+ };
15028
+ }
15029
+ function useStatisticsSelection(documentDataModel, selectionManager) {
15030
+ return (0, _univerjs_ui.useObservable)(documentDataModel ? () => (0, rxjs.combineLatest)([selectionManager.textSelection$.pipe((0, rxjs.startWith)(void 0)), documentDataModel.change$]).pipe((0, rxjs.map)(([, revision]) => ({
15031
+ ranges: getBodySelectionRanges(selectionManager),
15032
+ revision
15033
+ }))) : null, {
15034
+ ranges: [],
15035
+ revision: 0
15036
+ }, false, [documentDataModel, selectionManager]);
15037
+ }
15038
+ function useDocumentSkeleton(documentDataModel, renderManagerService) {
15039
+ var _renderManagerService;
15040
+ const skeletonManager = documentDataModel ? (_renderManagerService = renderManagerService.getRenderUnitById(documentDataModel.getUnitId())) === null || _renderManagerService === void 0 ? void 0 : _renderManagerService.with(_univerjs_docs.DocSkeletonManagerService) : null;
15041
+ return (0, _univerjs_ui.useObservable)(skeletonManager ? skeletonManager.currentSkeleton$.pipe((0, rxjs.map)((value) => ({ value }))) : null, { value: (skeletonManager === null || skeletonManager === void 0 ? void 0 : skeletonManager.getSkeleton()) ?? null }, false, [skeletonManager]).value;
15042
+ }
15043
+ function useDocStatistics(calculateLayout = false) {
15044
+ const instanceService = (0, _univerjs_ui.useDependency)(_univerjs_core.IUniverInstanceService);
15045
+ const localeService = (0, _univerjs_ui.useDependency)(_univerjs_core.LocaleService);
15046
+ const renderManagerService = (0, _univerjs_ui.useDependency)(_univerjs_engine_render.IRenderManagerService);
15047
+ const selectionManager = (0, _univerjs_ui.useDependency)(_univerjs_docs.DocSelectionManagerService);
15048
+ const documentStatisticsCacheRef = (0, react.useRef)(null);
15049
+ const documentDataModel = (0, _univerjs_ui.useObservable)((0, react.useMemo)(() => instanceService.getCurrentTypeOfUnit$(_univerjs_core.UniverInstanceType.UNIVER_DOC), [instanceService]));
15050
+ const selectionSnapshot = useStatisticsSelection(documentDataModel, selectionManager);
15051
+ const locale = (0, _univerjs_ui.useObservable)(localeService.currentLocale$, localeService.getCurrentLocale());
15052
+ const showPages = (documentDataModel === null || documentDataModel === void 0 ? void 0 : documentDataModel.getDocumentStyle().documentFlavor) !== _univerjs_core.DocumentFlavor.MODERN;
15053
+ const skeleton = useDocumentSkeleton(calculateLayout ? documentDataModel : null, renderManagerService);
15054
+ const [state, setState] = (0, react.useState)({
15055
+ document: {
15056
+ ...EMPTY_STATISTICS,
15057
+ lines: 0,
15058
+ pages: 0
15059
+ },
15060
+ selection: null,
15061
+ loading: true
15062
+ });
15063
+ const selectionRanges = selectionSnapshot.ranges;
15064
+ (0, react.useEffect)(() => {
15065
+ if (!(documentDataModel === null || documentDataModel === void 0 ? void 0 : documentDataModel.getBody())) return;
15066
+ const currentDocumentDataModel = documentDataModel;
15067
+ const cachedDocumentStatistics = documentStatisticsCacheRef.current;
15068
+ const hasCachedDocumentStatistics = (cachedDocumentStatistics === null || cachedDocumentStatistics === void 0 ? void 0 : cachedDocumentStatistics.documentDataModel) === currentDocumentDataModel && cachedDocumentStatistics.locale === locale && cachedDocumentStatistics.revision === selectionSnapshot.revision;
15069
+ const abortController = new AbortController();
15070
+ const timeout = setTimeout(async () => {
15071
+ setState((current) => ({
15072
+ ...current,
15073
+ loading: true
15074
+ }));
15075
+ try {
15076
+ const result = await calculateStatistics({
15077
+ calculateLayout,
15078
+ calculatePages: showPages,
15079
+ documentDataModel: currentDocumentDataModel,
15080
+ cachedStatistics: hasCachedDocumentStatistics ? cachedDocumentStatistics.statistics : void 0,
15081
+ locale,
15082
+ selectionRanges,
15083
+ signal: abortController.signal,
15084
+ skeleton: skeleton ?? null
15085
+ });
15086
+ if (!hasCachedDocumentStatistics) cacheDocumentStatistics(documentStatisticsCacheRef, currentDocumentDataModel, locale, selectionSnapshot.revision, result.document);
15087
+ setState({
15088
+ ...result,
15089
+ loading: false
15090
+ });
15091
+ } catch {
15092
+ if (!abortController.signal.aborted) setState((current) => ({
15093
+ ...current,
15094
+ loading: false
15095
+ }));
15096
+ }
15097
+ }, STATISTICS_DEBOUNCE_TIME);
15098
+ return () => {
15099
+ clearTimeout(timeout);
15100
+ abortController.abort();
15101
+ };
15102
+ }, [
15103
+ calculateLayout,
15104
+ documentDataModel,
15105
+ locale,
15106
+ selectionRanges,
15107
+ selectionSnapshot,
15108
+ showPages,
15109
+ skeleton
15110
+ ]);
15111
+ return {
15112
+ ...state,
15113
+ showPages
15114
+ };
15115
+ }
15116
+
15117
+ //#endregion
15118
+ //#region src/views/doc-statistics/DocStatistics.tsx
15119
+ const STATISTIC_ROWS = [
15120
+ {
15121
+ key: "pages",
15122
+ label: "docs-ui.statistics.pages"
15123
+ },
15124
+ {
15125
+ key: "words",
15126
+ label: "docs-ui.statistics.words"
15127
+ },
15128
+ {
15129
+ key: "charactersWithoutSpaces",
15130
+ label: "docs-ui.statistics.charactersWithoutSpaces"
15131
+ },
15132
+ {
15133
+ key: "charactersWithSpaces",
15134
+ label: "docs-ui.statistics.charactersWithSpaces"
15135
+ },
15136
+ {
15137
+ key: "paragraphs",
15138
+ label: "docs-ui.statistics.paragraphs"
15139
+ },
15140
+ {
15141
+ key: "lines",
15142
+ label: "docs-ui.statistics.lines"
15143
+ },
15144
+ {
15145
+ key: "nonAsianWords",
15146
+ label: "docs-ui.statistics.nonAsianWords"
15147
+ },
15148
+ {
15149
+ key: "asianCharactersAndKoreanWords",
15150
+ label: "docs-ui.statistics.asianCharactersAndKoreanWords"
15151
+ }
15152
+ ];
15153
+ function StatisticsPanel({ statistics, selection, showPages }) {
15154
+ const localeService = (0, _univerjs_ui.useDependency)(_univerjs_core.LocaleService);
15155
+ const localeTag = _univerjs_core.LOCALE_META[localeService.getCurrentLocale()].tag;
15156
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
15157
+ role: "dialog",
15158
+ "aria-label": localeService.t("docs-ui.statistics.title"),
15159
+ className: "univer-w-80 univer-rounded-lg univer-border univer-border-gray-200 univer-bg-gray-0 univer-p-4 univer-shadow-lg dark:!univer-border-gray-600 dark:!univer-bg-gray-800",
15160
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
15161
+ className: "univer-mb-3",
15162
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
15163
+ className: "univer-text-sm univer-font-medium",
15164
+ children: localeService.t("docs-ui.statistics.title")
15165
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
15166
+ className: "univer-mt-0.5 univer-text-xs univer-text-gray-500 dark:!univer-text-gray-400",
15167
+ children: localeService.t(selection ? "docs-ui.statistics.selection" : "docs-ui.statistics.document")
15168
+ })]
15169
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("dl", {
15170
+ className: "univer-grid univer-grid-cols-[1fr_auto] univer-gap-x-5 univer-gap-y-2 univer-text-sm",
15171
+ children: STATISTIC_ROWS.filter(({ key }) => showPages || key !== "pages").map(({ key, label }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
15172
+ className: "univer-contents",
15173
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("dt", { children: localeService.t(label) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("dd", {
15174
+ className: "univer-m-0 univer-text-right univer-font-medium univer-tabular-nums",
15175
+ children: statistics[key].toLocaleString(localeTag)
15176
+ })]
15177
+ }, String(key)))
15178
+ })]
15179
+ });
15180
+ }
15181
+ function DocStatistics() {
15182
+ const localeService = (0, _univerjs_ui.useDependency)(_univerjs_core.LocaleService);
15183
+ const [open, setOpen] = (0, react.useState)(false);
15184
+ const { document, selection, loading, showPages } = useDocStatistics(open);
15185
+ const triggerRef = (0, react.useRef)(null);
15186
+ const anchorRect$ = (0, react.useMemo)(() => new rxjs.BehaviorSubject({
15187
+ left: 0,
15188
+ right: 0,
15189
+ top: 0,
15190
+ bottom: 0
15191
+ }), []);
15192
+ const localeTag = _univerjs_core.LOCALE_META[localeService.getCurrentLocale()].tag;
15193
+ const displayedStatistics = selection ?? document;
15194
+ const openLabel = localeService.t("docs-ui.statistics.open");
15195
+ const label = selection ? localeService.t("docs-ui.statistics.selectedWords", selection.words.toLocaleString(localeTag), document.words.toLocaleString(localeTag)) : localeService.t("docs-ui.statistics.wordCount", document.words.toLocaleString(localeTag));
15196
+ (0, react.useEffect)(() => {
15197
+ if (!open) return;
15198
+ const updatePosition = () => {
15199
+ var _triggerRef$current;
15200
+ const rect = (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.getBoundingClientRect();
15201
+ if (!rect) return;
15202
+ anchorRect$.next({
15203
+ left: rect.left,
15204
+ right: rect.right,
15205
+ top: rect.top,
15206
+ bottom: rect.bottom
15207
+ });
15208
+ };
15209
+ const closeOnEscape = (event) => {
15210
+ if (event.key === "Escape") setOpen(false);
15211
+ };
15212
+ updatePosition();
15213
+ window.addEventListener("resize", updatePosition);
15214
+ window.addEventListener("scroll", updatePosition, true);
15215
+ window.addEventListener("keydown", closeOnEscape);
15216
+ return () => {
15217
+ window.removeEventListener("resize", updatePosition);
15218
+ window.removeEventListener("scroll", updatePosition, true);
15219
+ window.removeEventListener("keydown", closeOnEscape);
15220
+ };
15221
+ }, [anchorRect$, open]);
15222
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
15223
+ ref: triggerRef,
15224
+ title: open ? void 0 : openLabel,
15225
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_ui.ToolbarButton, {
15226
+ noIcon: true,
15227
+ active: open,
15228
+ className: "!univer-h-7 univer-px-2 univer-text-xs !univer-text-gray-600 focus-visible:univer-ring-2 focus-visible:univer-ring-primary-500 dark:!univer-text-gray-300",
15229
+ "aria-expanded": open,
15230
+ "aria-haspopup": "dialog",
15231
+ "aria-label": openLabel,
15232
+ onClick: () => setOpen((visible) => !visible),
15233
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
15234
+ className: "univer-flex univer-items-center univer-gap-1.5",
15235
+ children: [
15236
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.StatisticalFunctionIcon, { className: "univer-size-4" }),
15237
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: label }),
15238
+ loading && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.LoadingMultiIcon, { className: "univer-size-3.5 univer-animate-spin" })
15239
+ ]
15240
+ })
15241
+ })
15242
+ }), open && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_ui.RectPopup, {
15243
+ portal: true,
15244
+ anchorRect$,
15245
+ direction: "top-left",
15246
+ onClickOutside: () => setOpen(false),
15247
+ onContextMenu: () => setOpen(false),
15248
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StatisticsPanel, {
15249
+ statistics: displayedStatistics,
15250
+ selection: selection != null,
15251
+ showPages
15252
+ })
15253
+ })] });
15254
+ }
15255
+
14587
15256
  //#endregion
14588
15257
  //#region src/views/doc-footer/DocFooter.tsx
14589
15258
  function DocFooterContent() {
14590
15259
  const config = (0, _univerjs_ui.useConfigValue)(DOCS_UI_PLUGIN_CONFIG_KEY);
14591
15260
  return ((config === null || config === void 0 ? void 0 : config.footer) ?? true) && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
14592
15261
  className: "univer-box-border univer-flex univer-items-center univer-justify-between univer-px-5 univer-py-1.5",
14593
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CountBar, {})]
15262
+ children: [(config === null || config === void 0 ? void 0 : config.wordCount) !== false && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DocStatistics, {}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CountBar, {})]
14594
15263
  });
14595
15264
  }
14596
15265
  function DocFooter() {
@@ -15620,11 +16289,11 @@ const SideMenu = (0, react.forwardRef)((props, ref) => {
15620
16289
  style: wrapperStyle,
15621
16290
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
15622
16291
  onClick: () => onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(!open),
15623
- className: (0, _univerjs_design.clsx)("univer-absolute univer-left-5 univer-top-4 univer-z-[100] univer-flex univer-size-8 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-bg-white univer-text-gray-800 univer-shadow-sm dark:!univer-bg-gray-600 dark:!univer-text-gray-200", iconClass),
16292
+ className: (0, _univerjs_design.clsx)("univer-absolute univer-left-5 univer-top-4 univer-z-[100] univer-flex univer-size-8 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-bg-gray-0 univer-text-gray-800 univer-shadow-sm dark:!univer-bg-gray-600 dark:!univer-text-gray-200", iconClass),
15624
16293
  style: iconStyle,
15625
16294
  children: open ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.MoreLeftIcon, {}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.CatalogueIcon, {})
15626
16295
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
15627
- className: (0, _univerjs_design.clsx)(className, "univer-absolute univer-left-0 univer-top-0 univer-box-border univer-flex univer-min-w-[180px] univer-flex-col univer-px-4 univer-pb-4 univer-pt-14 univer-transition-all univer-duration-300", { "univer-rounded-r-2xl univer-bg-white univer-shadow univer-backdrop-blur-[10px] dark:!univer-bg-gray-900": isSideBar }),
16296
+ className: (0, _univerjs_design.clsx)(className, "univer-absolute univer-left-0 univer-top-0 univer-box-border univer-flex univer-min-w-[180px] univer-flex-col univer-px-4 univer-pb-4 univer-pt-14 univer-transition-all univer-duration-300", { "univer-rounded-r-2xl univer-bg-gray-0 univer-shadow univer-backdrop-blur-[10px] dark:!univer-bg-gray-900": isSideBar }),
15628
16297
  style: {
15629
16298
  ...style,
15630
16299
  transform: open ? "translateX(0)" : "translateX(-100%)",
@@ -16163,7 +16832,7 @@ function resolveDocsCustomBlockRenderViewport(params) {
16163
16832
  //#endregion
16164
16833
  //#region package.json
16165
16834
  var name = "@univerjs/docs-ui";
16166
- var version = "1.0.0-beta.0";
16835
+ var version = "1.0.0-beta.1";
16167
16836
 
16168
16837
  //#endregion
16169
16838
  //#region src/commands/commands/doc-paragraph-setting.command.ts
@@ -16266,6 +16935,7 @@ function resolveFloatToolbarMenus(menuManagerService, avaliableMenus) {
16266
16935
  function FloatToolbar(props) {
16267
16936
  const { avaliableMenus = DEFAULT_AVALIABLE_MENUS } = props;
16268
16937
  const menuManagerService = (0, _univerjs_ui.useDependency)(_univerjs_ui.IMenuManagerService);
16938
+ const toolbarRef = (0, react.useRef)(null);
16269
16939
  const [menus, setMenus] = (0, react.useState)([]);
16270
16940
  const [extraMenus, setExtraMenus] = (0, react.useState)([]);
16271
16941
  (0, react.useEffect)(() => {
@@ -16280,8 +16950,14 @@ function FloatToolbar(props) {
16280
16950
  subscription.unsubscribe();
16281
16951
  };
16282
16952
  }, [avaliableMenus, menuManagerService]);
16953
+ (0, react.useEffect)(() => {
16954
+ const toolbar = toolbarRef.current;
16955
+ if (!toolbar) return;
16956
+ return (0, _univerjs_ui.preventBrowserZoomInContainers)([toolbar]);
16957
+ }, []);
16283
16958
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
16284
- className: (0, _univerjs_design.clsx)("univer-box-border univer-flex univer-rounded univer-bg-white univer-py-1.5 univer-shadow-sm dark:!univer-border-gray-700 dark:!univer-bg-gray-900", _univerjs_design.borderClassName),
16959
+ ref: toolbarRef,
16960
+ className: (0, _univerjs_design.clsx)("univer-box-border univer-flex univer-rounded univer-bg-gray-0 univer-py-1.5 univer-shadow-sm dark:!univer-border-gray-700 dark:!univer-bg-gray-900", _univerjs_design.borderClassName),
16285
16961
  children: [
16286
16962
  menus.map((groupItem) => groupItem.item && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
16287
16963
  className: "univer-flex univer-flex-nowrap univer-gap-2 univer-px-2",
@@ -17084,7 +17760,7 @@ function ParagraphSetting() {
17084
17760
  title: localeService.t("docs-ui.doc.paragraphSetting.alignment"),
17085
17761
  first: true,
17086
17762
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
17087
- className: (0, _univerjs_design.clsx)("univer-flex univer-grid-cols-4 univer-items-center univer-justify-around univer-gap-2 univer-rounded-lg univer-bg-white univer-p-1 dark:!univer-bg-gray-900", _univerjs_design.borderClassName),
17763
+ className: (0, _univerjs_design.clsx)("univer-flex univer-grid-cols-4 univer-items-center univer-justify-around univer-gap-2 univer-rounded-lg univer-bg-gray-0 univer-p-1 dark:!univer-bg-gray-900", _univerjs_design.borderClassName),
17088
17764
  children: ALIGNMENT_OPTIONS.map((item) => {
17089
17765
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_design.Tooltip, {
17090
17766
  title: localeService.t(item.label),
@@ -18465,6 +19141,7 @@ function ParagraphMenuBase({ popup, tableBlockOnly = false }) {
18465
19141
  const hoverOpenSchedulerRef = (0, react.useRef)(createParagraphMenuHoverOpenScheduler(() => openMenuRef.current()));
18466
19142
  const commandService = (0, _univerjs_ui.useDependency)(_univerjs_core.ICommandService);
18467
19143
  const localeService = (0, _univerjs_ui.useDependency)(_univerjs_core.LocaleService);
19144
+ const themeService = (0, _univerjs_ui.useDependency)(_univerjs_core.ThemeService);
18468
19145
  const docSelectionManagerService = (0, _univerjs_ui.useDependency)(_univerjs_docs.DocSelectionManagerService);
18469
19146
  const direction = (0, _univerjs_ui.useObservable)(localeService.direction$, "ltr");
18470
19147
  const docClipboardService = (0, _univerjs_ui.useDependency)(IDocClipboardService);
@@ -18633,8 +19310,8 @@ function ParagraphMenuBase({ popup, tableBlockOnly = false }) {
18633
19310
  if (!commandId) return;
18634
19311
  if (commandId === "doc.menu.paragraph-t.reset-colors") {
18635
19312
  if (formattingRange) replaceSelection(formattingRange);
18636
- await commandService.executeCommand(SetInlineFormatTextColorCommand.id, { value: "#000000" });
18637
- await commandService.executeCommand(ResetInlineFormatTextBackgroundColorCommand.id);
19313
+ await commandService.executeCommand(SetInlineFormatTextColorCommand.id, { value: themeService.getColorFromTheme("gray.900") });
19314
+ await commandService.executeCommand(SetInlineFormatTextBackgroundColorCommand.id, { value: themeService.getColorFromTheme("primary.600") });
18638
19315
  finishParagraphMenuCommand(docParagraphMenuService, layoutService, handleHideMenu);
18639
19316
  return;
18640
19317
  }
@@ -18748,7 +19425,7 @@ function ParagraphMenuBase({ popup, tableBlockOnly = false }) {
18748
19425
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
18749
19426
  "data-u-comp": "paragraph-menu",
18750
19427
  ref: anchorRef,
18751
- className: (0, _univerjs_design.clsx)("univer-mr-1 univer-inline-flex univer-h-7 univer-cursor-pointer univer-items-center univer-gap-1 univer-rounded-md univer-border univer-border-gray-200 univer-bg-white univer-px-2 univer-py-0 univer-shadow-sm univer-transition-colors hover:univer-bg-gray-50 hover:univer-shadow-md dark:!univer-border-gray-700 dark:!univer-bg-gray-900 dark:hover:!univer-bg-gray-800", { "univer-bg-gray-100 univer-shadow-md dark:!univer-bg-gray-800": visible }),
19428
+ className: (0, _univerjs_design.clsx)("univer-mr-1 univer-inline-flex univer-h-7 univer-cursor-pointer univer-items-center univer-gap-1 univer-rounded-md univer-border univer-border-gray-200 univer-bg-gray-0 univer-px-2 univer-py-0 univer-shadow-sm univer-transition-colors hover:univer-bg-gray-50 hover:univer-shadow-md dark:!univer-border-gray-700 dark:!univer-bg-gray-900 dark:hover:!univer-bg-gray-800", { "univer-bg-gray-100 univer-shadow-md dark:!univer-bg-gray-800": visible }),
18752
19429
  onMouseEnter: (e) => {
18753
19430
  var _popup$onPointerEnter;
18754
19431
  (_popup$onPointerEnter = popup.onPointerEnter) === null || _popup$onPointerEnter === void 0 || _popup$onPointerEnter.call(popup, e);
@@ -18768,7 +19445,7 @@ function ParagraphMenuBase({ popup, tableBlockOnly = false }) {
18768
19445
  isMouseOver.current = true;
18769
19446
  hoverOpenSchedulerRef.current.openNow();
18770
19447
  },
18771
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(TargetIcon, { className: (0, _univerjs_design.clsx)(getParagraphMenuIconSizeClass(targetIconKey), "univer-shrink-0 univer-text-gray-700 dark:!univer-text-white") }), (currentActiveTarget === null || currentActiveTarget === void 0 ? void 0 : currentActiveTarget.draggable) && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
19448
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(TargetIcon, { className: (0, _univerjs_design.clsx)(getParagraphMenuIconSizeClass(targetIconKey), "univer-shrink-0 univer-text-gray-700 dark:!univer-text-gray-0") }), (currentActiveTarget === null || currentActiveTarget === void 0 ? void 0 : currentActiveTarget.draggable) && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
18772
19449
  type: "button",
18773
19450
  className: "univer-group univer-flex univer-h-4 univer-w-2.5 univer-cursor-grab univer-items-center univer-justify-center univer-border-none univer-bg-transparent univer-p-0 active:univer-cursor-grabbing",
18774
19451
  "aria-label": localeService.t("docs-ui.doc.blockMenu.dragBlock"),
@@ -18961,11 +19638,19 @@ function shouldUseInsertBelowRange(commandId, params) {
18961
19638
  if (normalized.includes("table") && normalized.includes("create")) return true;
18962
19639
  return normalized === "doc.command.create-table" || normalized === "doc.operation.create-table" || normalized === "doc.menu.paragraph-t.insert-below.command";
18963
19640
  }
19641
+ const DRAG_HANDLE_DOTS = [
19642
+ "top-left",
19643
+ "top-right",
19644
+ "middle-left",
19645
+ "middle-right",
19646
+ "bottom-left",
19647
+ "bottom-right"
19648
+ ];
18964
19649
  function DragHandleDotsIcon() {
18965
19650
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
18966
19651
  className: "univer-grid univer-h-3.5 univer-w-2 univer-grid-cols-2 univer-place-items-center univer-gap-x-0.5 univer-gap-y-px",
18967
19652
  "aria-hidden": "true",
18968
- children: Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "univer-size-0.5 univer-rounded-full univer-bg-gray-400 univer-transition-colors group-hover:univer-bg-gray-500 dark:!univer-bg-gray-500 dark:group-hover:!univer-bg-gray-300" }, index))
19653
+ children: DRAG_HANDLE_DOTS.map((key) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "univer-size-0.5 univer-rounded-full univer-bg-gray-400 univer-transition-colors group-hover:univer-bg-gray-500 dark:!univer-bg-gray-500 dark:group-hover:!univer-bg-gray-300" }, key))
18969
19654
  });
18970
19655
  }
18971
19656
 
@@ -19809,8 +20494,9 @@ var TextBubbleShape = class TextBubbleShape extends _univerjs_engine_render.Shap
19809
20494
 
19810
20495
  //#endregion
19811
20496
  //#region src/controllers/doc-header-footer.controller.ts
19812
- const HEADER_FOOTER_STROKE_COLOR = "rgba(58, 96, 247, 1)";
19813
- const HEADER_FOOTER_FILL_COLOR = "rgba(58, 96, 247, 0.08)";
20497
+ const HEADER_FOOTER_COVER_COLOR = "alpha(gray.0, 0.5)";
20498
+ const HEADER_FOOTER_STROKE_COLOR = "primary.600";
20499
+ const HEADER_FOOTER_LABEL_COLOR = "alpha(primary.600, 0.08)";
19814
20500
  function checkCreateHeaderFooterType(viewModel, editArea, segmentPage, page) {
19815
20501
  const { sectionId, config } = getDocPageSectionContext(viewModel.getDataModel().getSnapshot(), page);
19816
20502
  const { defaultHeaderId, defaultFooterId, evenPageHeaderId, evenPageFooterId, firstPageHeaderId, firstPageFooterId, evenAndOddHeaders, useFirstPageHeaderFooter } = config;
@@ -19950,7 +20636,7 @@ let DocHeaderFooterController = class DocHeaderFooterController extends _univerj
19950
20636
  top: 0,
19951
20637
  width: pageWidth,
19952
20638
  height: marginTop,
19953
- fill: "rgba(255, 255, 255, 0.5)"
20639
+ fill: HEADER_FOOTER_COVER_COLOR
19954
20640
  });
19955
20641
  ctx.save();
19956
20642
  ctx.translate(0, pageHeight - marginBottom);
@@ -19959,7 +20645,7 @@ let DocHeaderFooterController = class DocHeaderFooterController extends _univerj
19959
20645
  top: 0,
19960
20646
  width: pageWidth,
19961
20647
  height: marginBottom,
19962
- fill: "rgba(255, 255, 255, 0.5)"
20648
+ fill: HEADER_FOOTER_COVER_COLOR
19963
20649
  });
19964
20650
  ctx.restore();
19965
20651
  } else {
@@ -19970,7 +20656,7 @@ let DocHeaderFooterController = class DocHeaderFooterController extends _univerj
19970
20656
  top: marginTop,
19971
20657
  width: pageWidth,
19972
20658
  height: pageHeight - marginTop - marginBottom,
19973
- fill: "rgba(255, 255, 255, 0.5)"
20659
+ fill: HEADER_FOOTER_COVER_COLOR
19974
20660
  });
19975
20661
  ctx.restore();
19976
20662
  }
@@ -20002,12 +20688,12 @@ let DocHeaderFooterController = class DocHeaderFooterController extends _univerj
20002
20688
  ctx.translate(0, marginTop + 1);
20003
20689
  TextBubbleShape.drawWith(ctx, {
20004
20690
  text: localeService.t("docs-ui.headerFooter.header"),
20005
- color: HEADER_FOOTER_FILL_COLOR
20691
+ color: HEADER_FOOTER_LABEL_COLOR
20006
20692
  });
20007
20693
  ctx.translate(0, pageHeight - marginTop - marginBottom);
20008
20694
  TextBubbleShape.drawWith(ctx, {
20009
20695
  text: localeService.t("docs-ui.headerFooter.footer"),
20010
- color: HEADER_FOOTER_FILL_COLOR
20696
+ color: HEADER_FOOTER_LABEL_COLOR
20011
20697
  });
20012
20698
  }
20013
20699
  ctx.restore();
@@ -21028,13 +21714,14 @@ DocEditorBridgeController = __decorate([
21028
21714
  //#endregion
21029
21715
  //#region src/controllers/render-controllers/doc-ime-input.controller.ts
21030
21716
  let DocIMEInputController = class DocIMEInputController extends _univerjs_core.Disposable {
21031
- constructor(_context, _docSelectionRenderService, _docImeInputManagerService, _docSkeletonManagerService, _docStateEmitService, _commandService) {
21717
+ constructor(_context, _docSelectionRenderService, _docImeInputManagerService, _docSkeletonManagerService, _docStateEmitService, _docSelectionManagerService, _commandService) {
21032
21718
  super();
21033
21719
  this._context = _context;
21034
21720
  this._docSelectionRenderService = _docSelectionRenderService;
21035
21721
  this._docImeInputManagerService = _docImeInputManagerService;
21036
21722
  this._docSkeletonManagerService = _docSkeletonManagerService;
21037
21723
  this._docStateEmitService = _docStateEmitService;
21724
+ this._docSelectionManagerService = _docSelectionManagerService;
21038
21725
  this._commandService = _commandService;
21039
21726
  _defineProperty(this, "_previousIMEContent", "");
21040
21727
  _defineProperty(this, "_isCompositionStart", true);
@@ -21056,11 +21743,14 @@ let DocIMEInputController = class DocIMEInputController extends _univerjs_core.D
21056
21743
  }
21057
21744
  _initialOnCompositionstart() {
21058
21745
  this._onStartSubscription = this._docSelectionRenderService.onCompositionstart$.subscribe((config) => {
21746
+ var _this$_docSelectionMa;
21059
21747
  if (config == null) return;
21060
21748
  this._resetIME();
21061
- const { activeRange } = config;
21749
+ const { activeRange, rangeList = [] } = config;
21062
21750
  if (activeRange == null) return;
21063
21751
  this._docImeInputManagerService.setActiveRange(_univerjs_core.Tools.deepClone(activeRange));
21752
+ this._docImeInputManagerService.setPreviousDocRanges(_univerjs_core.Tools.deepClone([...rangeList, ...this._docSelectionRenderService.getAllRectRanges()]));
21753
+ this._docImeInputManagerService.setPreviousSelectionOptions(_univerjs_core.Tools.deepClone(((_this$_docSelectionMa = this._docSelectionManagerService.getSelectionInfo()) === null || _this$_docSelectionMa === void 0 ? void 0 : _this$_docSelectionMa.options) ?? null));
21064
21754
  });
21065
21755
  }
21066
21756
  _initialOnCompositionUpdate() {
@@ -21112,11 +21802,12 @@ let DocIMEInputController = class DocIMEInputController extends _univerjs_core.D
21112
21802
  trigger: IMEInputCommand.id,
21113
21803
  redoState: {
21114
21804
  actions: [],
21115
- textRanges: [previousActiveRange]
21805
+ textRanges: this._docImeInputManagerService.getPreviousDocRanges().length ? this._docImeInputManagerService.getPreviousDocRanges() : [previousActiveRange]
21116
21806
  },
21117
21807
  undoState: {
21118
21808
  actions: [],
21119
- textRanges: [previousActiveRange]
21809
+ textRanges: this._docImeInputManagerService.getPreviousDocRanges().length ? this._docImeInputManagerService.getPreviousDocRanges() : [previousActiveRange],
21810
+ options: this._docImeInputManagerService.getPreviousSelectionOptions() ?? void 0
21120
21811
  },
21121
21812
  isCompositionEnd: true
21122
21813
  });
@@ -21126,6 +21817,8 @@ let DocIMEInputController = class DocIMEInputController extends _univerjs_core.D
21126
21817
  this._isCompositionStart = true;
21127
21818
  this._docImeInputManagerService.clearUndoRedoMutationParamsCache();
21128
21819
  this._docImeInputManagerService.setActiveRange(null);
21820
+ this._docImeInputManagerService.setPreviousDocRanges([]);
21821
+ this._docImeInputManagerService.setPreviousSelectionOptions(null);
21129
21822
  }
21130
21823
  };
21131
21824
  DocIMEInputController = __decorate([
@@ -21133,7 +21826,8 @@ DocIMEInputController = __decorate([
21133
21826
  __decorateParam(2, (0, _univerjs_core.Inject)(DocIMEInputManagerService)),
21134
21827
  __decorateParam(3, (0, _univerjs_core.Inject)(_univerjs_docs.DocSkeletonManagerService)),
21135
21828
  __decorateParam(4, (0, _univerjs_core.Inject)(_univerjs_docs.DocStateEmitService)),
21136
- __decorateParam(5, _univerjs_core.ICommandService)
21829
+ __decorateParam(5, (0, _univerjs_core.Inject)(_univerjs_docs.DocSelectionManagerService)),
21830
+ __decorateParam(6, _univerjs_core.ICommandService)
21137
21831
  ], DocIMEInputController);
21138
21832
 
21139
21833
  //#endregion
@@ -21160,10 +21854,10 @@ let DocInputController = class DocInputController extends _univerjs_core.Disposa
21160
21854
  }
21161
21855
  _initialNormalInput() {
21162
21856
  this._onInputSubscription = this._docSelectionRenderService.onInput$.subscribe(async (config) => {
21163
- var _docDataModel$getSelf;
21857
+ var _docDataModel$getSelf, _originBody$blockRang, _originBody$columnGro, _originBody$customBlo, _originBody$tables;
21164
21858
  if (config == null) return;
21165
21859
  const { unitId } = this._context;
21166
- const { event, content = "", activeRange } = config;
21860
+ const { event, content = "", activeRange, rangeList = [] } = config;
21167
21861
  const e = event;
21168
21862
  if (e.defaultPrevented) return;
21169
21863
  if (!_univerjs_core.SHEET_EDITOR_UNITS.includes(unitId) && this._isEmbedChildInputActive(unitId, e)) return;
@@ -21177,26 +21871,32 @@ let DocInputController = class DocInputController extends _univerjs_core.Disposa
21177
21871
  const curCustomRange = getCustomRangeAtPosition((originBody === null || originBody === void 0 ? void 0 : originBody.customRanges) ?? [], activeRange.endOffset, _univerjs_core.SHEET_EDITOR_UNITS.includes(unitId));
21178
21872
  const curTextRun = getTextRunAtPosition(originBody, activeRange.endOffset, defaultTextStyle, cacheStyle, _univerjs_core.SHEET_EDITOR_UNITS.includes(unitId));
21179
21873
  const curCustomDecorations = getCustomDecorationAtPosition((originBody === null || originBody === void 0 ? void 0 : originBody.customDecorations) ?? [], activeRange.endOffset);
21180
- await this._commandService.executeCommand(_univerjs_docs.InsertTextCommand.id, {
21874
+ const insertBody = {
21875
+ dataStream: content,
21876
+ textRuns: curTextRun ? [{
21877
+ ...curTextRun,
21878
+ st: 0,
21879
+ ed: content.length
21880
+ }] : [],
21881
+ customRanges: curCustomRange ? [{
21882
+ ...curCustomRange,
21883
+ startIndex: 0,
21884
+ endIndex: content.length - 1
21885
+ }] : [],
21886
+ customDecorations: curCustomDecorations.map((customDecoration) => ({
21887
+ ...customDecoration,
21888
+ startIndex: 0,
21889
+ endIndex: content.length - 1
21890
+ }))
21891
+ };
21892
+ if (!activeRange.collapsed && (Boolean((_originBody$blockRang = originBody.blockRanges) === null || _originBody$blockRang === void 0 ? void 0 : _originBody$blockRang.length) || Boolean((_originBody$columnGro = originBody.columnGroups) === null || _originBody$columnGro === void 0 ? void 0 : _originBody$columnGro.length) || Boolean((_originBody$customBlo = originBody.customBlocks) === null || _originBody$customBlo === void 0 ? void 0 : _originBody$customBlo.length) || Boolean((_originBody$tables = originBody.tables) === null || _originBody$tables === void 0 ? void 0 : _originBody$tables.length)) || rangeList.length > 1 || this._docSelectionRenderService.getAllRectRanges().length > 0) await this._commandService.executeCommand(ReplaceSelectionCommand.id, {
21181
21893
  unitId,
21182
- body: {
21183
- dataStream: content,
21184
- textRuns: curTextRun ? [{
21185
- ...curTextRun,
21186
- st: 0,
21187
- ed: content.length
21188
- }] : [],
21189
- customRanges: curCustomRange ? [{
21190
- ...curCustomRange,
21191
- startIndex: 0,
21192
- endIndex: content.length - 1
21193
- }] : [],
21194
- customDecorations: curCustomDecorations.map((customDecoration) => ({
21195
- ...customDecoration,
21196
- startIndex: 0,
21197
- endIndex: content.length - 1
21198
- }))
21199
- },
21894
+ body: insertBody,
21895
+ segmentId
21896
+ });
21897
+ else await this._commandService.executeCommand(_univerjs_docs.InsertTextCommand.id, {
21898
+ unitId,
21899
+ body: insertBody,
21200
21900
  range: activeRange,
21201
21901
  segmentId
21202
21902
  });
@@ -21578,17 +22278,21 @@ let DocIMEStateChangeInterceptorService = class DocIMEStateChangeInterceptorServ
21578
22278
  if (imeInputManagerService == null) return null;
21579
22279
  const historyParams = imeInputManagerService.fetchComposedUndoRedoMutationParams();
21580
22280
  if (historyParams == null) throw new Error("historyParams is null in RichTextEditingMutation");
21581
- const { undoMutationParams, redoMutationParams, previousActiveRange } = historyParams;
22281
+ const { undoMutationParams, redoMutationParams, previousActiveRange, previousDocRanges, previousSelectionOptions } = historyParams;
21582
22282
  return {
21583
22283
  ...changeStateInfo,
21584
22284
  redoState: {
21585
22285
  ...changeStateInfo.redoState,
21586
- actions: redoMutationParams.actions
22286
+ actions: redoMutationParams.actions,
22287
+ textRanges: redoMutationParams.textRanges,
22288
+ options: redoMutationParams.options,
22289
+ isEditing: redoMutationParams.isEditing
21587
22290
  },
21588
22291
  undoState: {
21589
22292
  ...changeStateInfo.undoState,
21590
22293
  actions: undoMutationParams.actions,
21591
- textRanges: [previousActiveRange]
22294
+ textRanges: previousDocRanges.length ? previousDocRanges : [previousActiveRange],
22295
+ options: previousSelectionOptions ?? void 0
21592
22296
  }
21593
22297
  };
21594
22298
  }
@@ -22645,6 +23349,7 @@ exports.BackgroundColorSelectorMenuItemFactory = BackgroundColorSelectorMenuItem
22645
23349
  exports.BoldMenuItemFactory = BoldMenuItemFactory;
22646
23350
  exports.BreakLineCommand = BreakLineCommand;
22647
23351
  exports.BulletListCommand = BulletListCommand;
23352
+ exports.BulletListTypePicker = BulletListTypePicker;
22648
23353
  exports.ChangeListNestingLevelCommand = ChangeListNestingLevelCommand;
22649
23354
  exports.ChangeListNestingLevelType = ChangeListNestingLevelType;
22650
23355
  exports.ChangeListTypeCommand = ChangeListTypeCommand;
@@ -22807,6 +23512,7 @@ exports.NORMAL_TEXT_SELECTION_PLUGIN_NAME = NORMAL_TEXT_SELECTION_PLUGIN_NAME;
22807
23512
  exports.NodePositionConvertToCursor = NodePositionConvertToCursor;
22808
23513
  exports.NodePositionConvertToRectRange = NodePositionConvertToRectRange;
22809
23514
  exports.OrderListCommand = OrderListCommand;
23515
+ exports.OrderListTypePicker = OrderListTypePicker;
22810
23516
  exports.ParagraphMenuInsertBelowSubmenuItemFactory = ParagraphMenuInsertBelowSubmenuItemFactory;
22811
23517
  exports.PastePluginLark = LarkPastePlugin;
22812
23518
  exports.PastePluginUniver = UniverPastePlugin;