@one2x/medeo-rte 0.2.0 → 0.3.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 (39) hide show
  1. package/README.md +33 -5
  2. package/dist/index.js +2275 -1609
  3. package/dist/index.js.map +1 -1
  4. package/dist/style.css +32 -3
  5. package/dist/types/commands/shortcuts.d.ts +14 -0
  6. package/dist/types/commands/shortcuts.d.ts.map +1 -1
  7. package/dist/types/commands/types.d.ts +6 -0
  8. package/dist/types/commands/types.d.ts.map +1 -1
  9. package/dist/types/editor.d.ts +67 -0
  10. package/dist/types/editor.d.ts.map +1 -1
  11. package/dist/types/input/caretMotion.d.ts +23 -0
  12. package/dist/types/input/caretMotion.d.ts.map +1 -0
  13. package/dist/types/input/caretMotion.selfcheck.d.ts +2 -0
  14. package/dist/types/input/caretMotion.selfcheck.d.ts.map +1 -0
  15. package/dist/types/input/ime.d.ts +9 -0
  16. package/dist/types/input/ime.d.ts.map +1 -1
  17. package/dist/types/input/keyboard.d.ts.map +1 -1
  18. package/dist/types/layout/engine.d.ts.map +1 -1
  19. package/dist/types/layout/harness.d.ts.map +1 -1
  20. package/dist/types/layout/measure.d.ts +11 -0
  21. package/dist/types/layout/measure.d.ts.map +1 -1
  22. package/dist/types/layout/types.d.ts +8 -0
  23. package/dist/types/layout/types.d.ts.map +1 -1
  24. package/dist/types/model/blocks.d.ts.map +1 -1
  25. package/dist/types/model/types.d.ts +11 -3
  26. package/dist/types/model/types.d.ts.map +1 -1
  27. package/dist/types/operations/slice.d.ts.map +1 -1
  28. package/dist/types/operations/text.d.ts.map +1 -1
  29. package/dist/types/operations/virtualBlock.d.ts +6 -0
  30. package/dist/types/operations/virtualBlock.d.ts.map +1 -1
  31. package/dist/types/paint/canvasPainter.d.ts +27 -1
  32. package/dist/types/paint/canvasPainter.d.ts.map +1 -1
  33. package/dist/types/paint/htmlPainter.d.ts +3 -0
  34. package/dist/types/paint/htmlPainter.d.ts.map +1 -1
  35. package/dist/types/paint/types.d.ts +2 -0
  36. package/dist/types/paint/types.d.ts.map +1 -1
  37. package/dist/types/perf.d.ts +55 -0
  38. package/dist/types/perf.d.ts.map +1 -0
  39. package/package.json +2 -2
package/dist/style.css CHANGED
@@ -40,7 +40,8 @@
40
40
  font-weight: var(--mini-font-weight, 400);
41
41
  letter-spacing: 0;
42
42
  word-spacing: 0;
43
- font-kerning: none;
43
+ /* 与 canvas measureText 默认(kerning 开)一致,折行才不会比实际排出来的窄。 */
44
+ font-kerning: normal;
44
45
  font-variant: normal;
45
46
  font-feature-settings: normal;
46
47
  }
@@ -50,9 +51,15 @@
50
51
  * 编辑器把自己定位为可嵌入的容器自适应组件,而非固定尺寸的“页面/文档”。
51
52
  * 若宿主需要纸张观感(留白、阴影、整页最小高度),应在宿主层自行添加(参见 demo)。
52
53
  */
54
+ /*
55
+ * 左右各留 5px 可视区(负 margin 抵消,文字位置不变),让 mark 等块的 paddingX 在行首行尾
56
+ * 外扩时不被裁掉。数值需与 canvasPainter 的 CANVAS_GUTTER 一致。
57
+ */
53
58
  .mini-page-wrap {
54
59
  flex: 1;
55
60
  overflow: auto;
61
+ padding-inline: 5px;
62
+ margin-inline: -5px;
56
63
  }
57
64
 
58
65
  .mini-page {
@@ -75,11 +82,21 @@
75
82
  display: block;
76
83
  }
77
84
 
85
+ /*
86
+ * canvas 绘制模式的层叠顺序(自下而上):选区/光标画布 → 文字画布 → 嵌入层。
87
+ * 选区垫在文字后面,文字不会被半透明选区染色;文字画布因此必须始终透明,
88
+ * 白底由 .mini-surface 的背景提供。
89
+ */
90
+ .mini-surface-canvas > canvas.mini-canvas:not(.mini-canvas-chrome) {
91
+ position: relative;
92
+ z-index: 1;
93
+ }
94
+
78
95
  .mini-canvas-chrome {
79
96
  position: absolute;
80
97
  inset: 0;
81
98
  pointer-events: none;
82
- z-index: 4;
99
+ z-index: 0;
83
100
  }
84
101
 
85
102
  .mini-layer {
@@ -124,7 +141,7 @@
124
141
  pointer-events: none;
125
142
  letter-spacing: 0;
126
143
  word-spacing: 0;
127
- font-kerning: none;
144
+ font-kerning: normal;
128
145
  /*
129
146
  * 关闭 CJK 与拉丁/数字之间的自动间距。排版测量走 canvas measureText,不会在中西文
130
147
  * 边界插入任何间距;若绘制端沿用浏览器默认的 text-autospace: normal,DOM 会在每个
@@ -672,6 +689,14 @@
672
689
  * imeBar 叠成两条线。这里把靶子裁成 1px 并整体透明,只留候选框锚点。
673
690
  * 可见的组合区提示交给自绘的 imeBar 与光标。
674
691
  */
692
+ .mini-ime.is-ctxmenu {
693
+ pointer-events: auto;
694
+ user-select: text;
695
+ -webkit-user-select: text;
696
+ z-index: 20;
697
+ overflow: hidden;
698
+ }
699
+
675
700
  .mini-ime.is-composing {
676
701
  opacity: 0;
677
702
  width: 1px;
@@ -713,6 +738,10 @@
713
738
  box-shadow: 0 0 0 1px rgba(31, 35, 41, 0.25);
714
739
  }
715
740
 
741
+ .mini-surface.is-over-slot {
742
+ cursor: pointer;
743
+ }
744
+
716
745
  .mini-surface.is-col-resize {
717
746
  cursor: col-resize;
718
747
  }
@@ -13,6 +13,12 @@ export interface KeyStroke {
13
13
  /** Cmd(mac)或 Ctrl */
14
14
  mod: boolean;
15
15
  shift: boolean;
16
+ /** Option(mac)/ Alt */
17
+ alt: boolean;
18
+ /** 单独的 Cmd(mac)。省略时视为没按;`mod` 仍是 Cmd||Ctrl 的并集 */
19
+ meta?: boolean;
20
+ /** 单独的 Ctrl。省略时视为没按 */
21
+ ctrl?: boolean;
16
22
  }
17
23
  export interface Shortcut {
18
24
  /** 匹配的键名,单字母键写小写 */
@@ -21,6 +27,14 @@ export interface Shortcut {
21
27
  mod?: boolean;
22
28
  /** true 要求按 Shift,false 要求没按,省略则不管 */
23
29
  shift?: boolean;
30
+ /**
31
+ * true 要求按 Alt/Option,false 要求没按,省略则不管。
32
+ *
33
+ * 省略=不管(而不是像 `mod` 那样默认没按),是为了不改变既有行为:Option+方向键、
34
+ * Option+Backspace 现在都落在无修饰键的条目上。需要区分时,把 `alt: true` 的条目
35
+ * 排在无修饰键条目之前即可,与「带修饰键的排在前面」的顺序约定一致。
36
+ */
37
+ alt?: boolean;
24
38
  /**
25
39
  * 这个键本身会引发一次文本输入(beforeInput)。吞掉按键之后还得把那次输入一并
26
40
  * 压掉,否则内容会被写两遍。只有真正产生输入的键要标。
@@ -1 +1 @@
1
- {"version":3,"file":"shortcuts.d.ts","sourceRoot":"","sources":["../../../src/commands/shortcuts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAY,YAAY,EAAE,MAAM,SAAS,CAAC;AAEjD,2BAA2B;AAC3B,MAAM,WAAW,SAAS;IACxB,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,qBAAqB;IACrB,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,oBAAoB;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,6CAA6C;IAC7C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,sCAAsC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,8BAA8B;IAC9B,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC;CACzD;AAOD;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,QAAQ,EAoB/B,CAAC;AASF,eAAO,MAAM,eAAe,EAAE,QAAQ,EAerC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,MAAM,GAAE,SAAS,GAAG,OAAO,GAAG,aAAyB,GACtD,QAAQ,EAAE,CAkBZ;AAWD,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,GAAE,QAAQ,EAAc,GAAG,QAAQ,GAAG,IAAI,CAE9F"}
1
+ {"version":3,"file":"shortcuts.d.ts","sourceRoot":"","sources":["../../../src/commands/shortcuts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAY,YAAY,EAAE,MAAM,SAAS,CAAC;AAEjD,2BAA2B;AAC3B,MAAM,WAAW,SAAS;IACxB,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,qBAAqB;IACrB,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,uBAAuB;IACvB,GAAG,EAAE,OAAO,CAAC;IACb,kDAAkD;IAClD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uBAAuB;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,oBAAoB;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,6CAA6C;IAC7C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,sCAAsC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,8BAA8B;IAC9B,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC;CACzD;AAoDD;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,QAAQ,EAqB/B,CAAC;AASF,eAAO,MAAM,eAAe,EAAE,QAAQ,EAgBrC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,MAAM,GAAE,SAAS,GAAG,OAAO,GAAG,aAAyB,GACtD,QAAQ,EAAE,CAkBZ;AAYD,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,GAAE,QAAQ,EAAc,GAAG,QAAQ,GAAG,IAAI,CAE9F"}
@@ -6,6 +6,7 @@
6
6
  * 指针、宿主的工具栏)往里打,编辑器把表填上。
7
7
  */
8
8
  import { SlotKind } from '../model/types';
9
+ import type { MoveUnit } from '../input/caretMotion';
9
10
  /** 编辑命令集合。宿主搭建自己的工具栏时调这些。 */
10
11
  export interface EditorCommands {
11
12
  toggleBold(): void;
@@ -63,6 +64,11 @@ export interface CommandTable extends EditorCommands {
63
64
  /** Tab:列表里改嵌套层级,表格里跳格 */
64
65
  indentOrNextCell(dir: 1 | -1): void;
65
66
  moveCaret(key: ArrowKey, extend: boolean): void;
67
+ /**
68
+ * 按粒度跳光标:词 / 行首行尾 / 段落首尾 / 文首文尾。`dir` 为 -1 向前、1 向后;
69
+ * `extend` 为真时只动焦点端(Shift 扩选)。
70
+ */
71
+ moveCaretBy(unit: MoveUnit, dir: 1 | -1, extend: boolean): void;
66
72
  /** 退出同步块内部编辑。不在同步块里时返回 false */
67
73
  exitFragment(): boolean;
68
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,6BAA6B;AAC7B,MAAM,WAAW,cAAc;IAC7B,UAAU,IAAI,IAAI,CAAC;IACnB,YAAY,IAAI,IAAI,CAAC;IACrB,eAAe,IAAI,IAAI,CAAC;IACxB,YAAY,IAAI,IAAI,CAAC;IACrB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC;IACnD,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACpC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,UAAU,IAAI,IAAI,CAAC;IACnB,aAAa,IAAI,IAAI,CAAC;IACtB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACjC;;;;OAIG;IACH,eAAe,CACb,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,OAAO,EACd,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GACvC,IAAI,CAAC;IACR,WAAW,IAAI,IAAI,CAAC;IACpB,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,IAAI,IAAI,CAAC;IACf,SAAS,IAAI,IAAI,CAAC;IAClB,SAAS,IAAI,IAAI,CAAC;IAClB,UAAU,IAAI,IAAI,CAAC;IACnB,UAAU,IAAI,IAAI,CAAC;IACnB,SAAS,IAAI,IAAI,CAAC;IAClB,SAAS,IAAI,IAAI,CAAC;IAClB,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,IAAI,CAAC;CACd;AAED,yCAAyC;AACzC,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,eAAe,CAAC,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAClD,SAAS,IAAI,IAAI,CAAC;IAClB,aAAa,IAAI,IAAI,CAAC;IACtB,SAAS,IAAI,IAAI,CAAC;IAClB,yBAAyB;IACzB,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IACpC,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAChD,gCAAgC;IAChC,YAAY,IAAI,OAAO,CAAC;CACzB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,6BAA6B;AAC7B,MAAM,WAAW,cAAc;IAC7B,UAAU,IAAI,IAAI,CAAC;IACnB,YAAY,IAAI,IAAI,CAAC;IACrB,eAAe,IAAI,IAAI,CAAC;IACxB,YAAY,IAAI,IAAI,CAAC;IACrB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC;IACnD,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACpC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,UAAU,IAAI,IAAI,CAAC;IACnB,aAAa,IAAI,IAAI,CAAC;IACtB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACjC;;;;OAIG;IACH,eAAe,CACb,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,OAAO,EACd,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GACvC,IAAI,CAAC;IACR,WAAW,IAAI,IAAI,CAAC;IACpB,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,IAAI,IAAI,CAAC;IACf,SAAS,IAAI,IAAI,CAAC;IAClB,SAAS,IAAI,IAAI,CAAC;IAClB,UAAU,IAAI,IAAI,CAAC;IACnB,UAAU,IAAI,IAAI,CAAC;IACnB,SAAS,IAAI,IAAI,CAAC;IAClB,SAAS,IAAI,IAAI,CAAC;IAClB,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,IAAI,CAAC;CACd;AAED,yCAAyC;AACzC,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,eAAe,CAAC,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAClD,SAAS,IAAI,IAAI,CAAC;IAClB,aAAa,IAAI,IAAI,CAAC;IACtB,SAAS,IAAI,IAAI,CAAC;IAClB,yBAAyB;IACzB,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IACpC,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAChD;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAChE,gCAAgC;IAChC,YAAY,IAAI,OAAO,CAAC;CACzB"}
@@ -3,6 +3,7 @@ import { EmbedPlugin } from './embed/types';
3
3
  import type { Shortcut } from './commands';
4
4
  import { CommandTable } from './commands';
5
5
  import { DocLayout } from './layout/types';
6
+ import { PerfProbe } from './perf';
6
7
  import { DocumentModel } from './model/document';
7
8
  import type { ImagePatch, VirtualBlockSpec } from './operations';
8
9
  import { EmbedEntity, Selection, Slice, TextProps, VirtualBlockChrome } from './model/types';
@@ -142,6 +143,8 @@ export declare class Editor {
142
143
  readonly root: HTMLElement;
143
144
  /** 编辑命令集合,宿主自建工具栏时用。 */
144
145
  readonly commands: CommandTable;
146
+ /** 开发用性能探针:`editor.perf.start()` … `editor.perf.report()`。默认关闭,零开销 */
147
+ readonly perf: PerfProbe;
145
148
  /** 构造时传入的宿主容器。'fill' 模式下从它测量可用宽度。 */
146
149
  private parent;
147
150
  /** 内容宽度策略,见 {@link EditorOptions.width}。 */
@@ -178,6 +181,9 @@ export declare class Editor {
178
181
  private caretRaf;
179
182
  private caretTrails;
180
183
  private lastCaretKey;
184
+ /** 光标闪烁相位起点:每次光标移动/重置都从“亮”重新开始,和原生光标一致。 */
185
+ private blinkEpoch;
186
+ private blinkPosKey;
181
187
  private composeText;
182
188
  /** 组合串镜像插入模型的起点;null 表示当前没有进行中的组合。 */
183
189
  private composeAnchor;
@@ -239,6 +245,23 @@ export declare class Editor {
239
245
  start?: number;
240
246
  end?: number;
241
247
  }): string | null;
248
+ /**
249
+ * 虚拟块当前在屏幕上的位置(clientX/Y 坐标,已含滚动),用来定位业务浮层。
250
+ * `lines` 是每一行的片段(折行的块有多个);`left/top/width/height` 是它们的外接矩形。
251
+ * 块不存在或还没排版出来时返回 null。滚动、重排之后需重新取。
252
+ */
253
+ getVirtualBlockRect(id: string): {
254
+ left: number;
255
+ top: number;
256
+ width: number;
257
+ height: number;
258
+ lines: {
259
+ left: number;
260
+ top: number;
261
+ width: number;
262
+ height: number;
263
+ }[];
264
+ } | null;
242
265
  updateVirtualBlock(id: string, chrome: VirtualBlockChrome): void;
243
266
  removeVirtualBlock(id: string): void;
244
267
  /**
@@ -287,6 +310,13 @@ export declare class Editor {
287
310
  private emit;
288
311
  private bindSurface;
289
312
  private unbindSurface;
313
+ private hoverMarkId;
314
+ private onSurfaceLeave;
315
+ /** 鼠标是否在虚拟块文本槽(输入框)上。 */
316
+ private overVirtualSlot;
317
+ private setHoverMark;
318
+ /** 鼠标下配置了 hoverBackground 的 mark(折行时命中任一行片段都算)。 */
319
+ private markAt;
290
320
  private bind;
291
321
  destroy(): void;
292
322
  private onWindowResize;
@@ -369,6 +399,8 @@ export declare class Editor {
369
399
  private exitRefEdit;
370
400
  private onRefJump;
371
401
  private onDoubleClick;
402
+ /** 双击选词。点在嵌入对象上、空白或标点上时不处理,保留 mousedown 已定的光标。 */
403
+ private selectWordAt;
372
404
  private applyEmbedPatch;
373
405
  private onEmbedMeasure;
374
406
  private onEmbedChange;
@@ -405,8 +437,35 @@ export declare class Editor {
405
437
  private syncToolbar;
406
438
  private syncStatus;
407
439
  private resetBlink;
440
+ /** 从内到外找出真正会滚动的祖先(编辑器自己的 page、宿主限高容器、整页)。 */
441
+ /** scrollParents 结果缓存:祖先链上的 overflow 很少变,300ms 内复用,省掉每次按键的 getComputedStyle。 */
442
+ private scrollParentsCache;
443
+ /**
444
+ * 上次 scrollCaret 真正读到的几何:各滚动容器的可视区与 surface 顶部(client 坐标)。
445
+ * 任何滚动 / 窗口尺寸变化都会清掉;用它先判断光标还在不在可视区里,在就不碰布局。
446
+ */
447
+ private viewGeom;
448
+ private onAnyScroll;
449
+ private scrollParents;
408
450
  private scrollCaret;
451
+ private lastDragEvent;
452
+ private dragScrollRaf;
453
+ /** 拖选时鼠标停在视图外也要持续滚动并扩选,行为同原生。 */
454
+ /** 上下键的目标列:x 是出发时的光标横坐标,focus 是上一次落点,用来判断 goal 是否仍有效 */
455
+ private verticalGoal;
456
+ private dragScrollTick;
457
+ private extendDragTo;
409
458
  private localPoint;
459
+ private ctxMenuOrigin;
460
+ private endContextMenu;
461
+ /** copy/cut/paste 事件还要送达编辑器自己的处理函数,等它们跑完再收。 */
462
+ private endContextMenuSoon;
463
+ private onCtxMenuMove;
464
+ /**
465
+ * 右键菜单:canvas 上右键会得到“存储图片”菜单,这里改成原生的 剪切/拷贝/粘贴。
466
+ * 嵌入控件里的输入框等保留浏览器默认菜单。
467
+ */
468
+ private onContextMenu;
410
469
  private onDocMouseDown;
411
470
  private onRootMouseDown;
412
471
  private onFocusChange;
@@ -439,8 +498,14 @@ export declare class Editor {
439
498
  private expandSel;
440
499
  private applyColResize;
441
500
  private moveCaret;
501
+ /** 光标所在的可视行(折行边界上的同一下标以光标实际画的那一行为准)。 */
502
+ private lineAt;
503
+ private motionTarget;
504
+ private moveCaretBy;
442
505
  private moveFragmentCaret;
443
506
  private stackTop;
507
+ /** 参与选中/进出/吸附的块;mark 是纯样式叠层,交互上当作不存在。 */
508
+ private interactiveBlocks;
444
509
  private selectedVblock;
445
510
  private selectedRegion;
446
511
  private editingSlot;
@@ -464,6 +529,8 @@ export declare class Editor {
464
529
  private setSel;
465
530
  private afterCaretMove;
466
531
  private stepIndex;
532
+ /** 上下移动的出发 x:选中的是整个嵌入对象(芯片 / 图片)时取它的中心,否则取光标位置。 */
533
+ private verticalStartX;
467
534
  private verticalMove;
468
535
  }
469
536
  //# sourceMappingURL=editor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/editor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /** 方向键跳转的粒度 */
2
+ export type MoveUnit = 'word' | 'line' | 'paragraph' | 'doc';
3
+ /** 文档里允许放光标的最大下标:末尾那个段落符之后不是真实位置。 */
4
+ export declare function maxCaretIndex(spacers: string): number;
5
+ /**
6
+ * Option/Ctrl+←→ 的目标:向右到“下一个词的末尾”,向左到“上一个词的开头”。
7
+ * 标点、空白、段落符都当作词间隔跳过。
8
+ */
9
+ export declare function wordTarget(spacers: string, index: number, dir: 1 | -1): number;
10
+ /**
11
+ * Option/Ctrl+↑↓ 的目标:向上到本段开头(已在开头则到上一段开头),
12
+ * 向下到本段末尾(已在末尾则到下一段末尾)。
13
+ */
14
+ export declare function paragraphTarget(spacers: string, index: number, dir: 1 | -1): number;
15
+ /**
16
+ * 双击选词:返回 `index` 所在(或紧邻左侧)的词的范围;落在空白/标点上返回 null。
17
+ * 光标恰在两词交界时取右边那个词,和原生一致。
18
+ */
19
+ export declare function wordRangeAt(spacers: string, index: number): {
20
+ start: number;
21
+ end: number;
22
+ } | null;
23
+ //# sourceMappingURL=caretMotion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caretMotion.d.ts","sourceRoot":"","sources":["../../../src/input/caretMotion.ts"],"names":[],"mappings":"AAQA,eAAe;AACf,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,KAAK,CAAC;AAW7D,qCAAqC;AACrC,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AA0BD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAQ9E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAanF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAIjG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=caretMotion.selfcheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caretMotion.selfcheck.d.ts","sourceRoot":"","sources":["../../../src/input/caretMotion.selfcheck.ts"],"names":[],"mappings":""}
@@ -11,9 +11,18 @@ export declare class ImeSurface {
11
11
  composing: boolean;
12
12
  private handler;
13
13
  private keyConsumed;
14
+ private ctxMenu;
14
15
  constructor(handler: ImeHandler);
15
16
  focus(): void;
16
17
  markKeyConsumed(): void;
18
+ /**
19
+ * 右键菜单:把隐藏的 contenteditable 临时挪到鼠标下并放入选中文字、全选。
20
+ * 浏览器按 contextmenu 事件时鼠标下的元素决定菜单种类,落在 canvas 上会弹出
21
+ * “存储图片”之类;落在可编辑文本上才是 剪切/拷贝/粘贴。复制/剪切/粘贴事件
22
+ * 仍由编辑器接管,所以这里的文字只用来启用菜单项,不会被当作输入。
23
+ */
24
+ beginContextMenu(x: number, y: number, text: string): void;
25
+ endContextMenu(): void;
17
26
  moveTo(x: number, y: number, h: number): void;
18
27
  clear(): void;
19
28
  destroy(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ime.d.ts","sourceRoot":"","sources":["../../../src/input/ime.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,IAAI,IAAI,CAAC;IAC1B,WAAW,IAAI,IAAI,CAAC;IACpB,eAAe,IAAI,IAAI,CAAC;IACxB,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC;IACzC,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1D;AAED,qBAAa,UAAU;IACrB,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,SAAS,UAAS;IAClB,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,EAAE,UAAU;IAgB/B,KAAK;IAIL,eAAe;IAIf,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAMtC,KAAK;IAIL,OAAO;IAUP,OAAO,CAAC,WAAW,CAIjB;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,SAAS,CAOf;IAEF,OAAO,CAAC,aAAa,CA0CnB;IAEF,OAAO,CAAC,OAAO,CAGb;IAEF,OAAO,CAAC,cAAc,CAEpB;CACH"}
1
+ {"version":3,"file":"ime.d.ts","sourceRoot":"","sources":["../../../src/input/ime.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,IAAI,IAAI,CAAC;IAC1B,WAAW,IAAI,IAAI,CAAC;IACpB,eAAe,IAAI,IAAI,CAAC;IACxB,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC;IACzC,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1D;AAED,qBAAa,UAAU;IACrB,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,SAAS,UAAS;IAClB,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,UAAU;IAgB/B,KAAK;IAIL,eAAe;IAIf;;;;;OAKG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAmBnD,cAAc;IAQd,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAOtC,KAAK;IAIL,OAAO;IAUP,OAAO,CAAC,WAAW,CAIjB;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,SAAS,CAOf;IAEF,OAAO,CAAC,aAAa,CA0CnB;IAEF,OAAO,CAAC,OAAO,CAGb;IAEF,OAAO,CAAC,cAAc,CAEpB;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../../src/input/keyboard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,YAAY,EAAgB,SAAS,EAAE,QAAQ,EAAa,MAAM,aAAa,CAAC;AAQzF,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,mCAAmC;IACnC,OAAO,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IACnC,gBAAgB;IAChB,SAAS,IAAI,OAAO,CAAC;IACrB,kCAAkC;IAClC,aAAa,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,aAAa,GAAG,SAAS,CAEpD;AAED,4BAA4B;AAC5B,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,IAAI,CAuB3D"}
1
+ {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../../src/input/keyboard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,YAAY,EAAgB,SAAS,EAAE,QAAQ,EAAa,MAAM,aAAa,CAAC;AAQzF,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,mCAAmC;IACnC,OAAO,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IACnC,gBAAgB;IAChB,SAAS,IAAI,OAAO,CAAC;IACrB,kCAAkC;IAClC,aAAa,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,aAAa,GAAG,SAAS,CASpD;AAED,4BAA4B;AAC5B,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,IAAI,CAuB3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/layout/engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAGL,SAAS,EACT,SAAS,EAGV,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,QAAQ,EAAyB,SAAS,EAAY,QAAQ,EAA4B,OAAO,EAA+B,MAAM,SAAS,CAAC;AAGzJ,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAqX5C;;;;;;;;;GASG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAc;IAC3B,4CAA4C;IAC5C,OAAO,CAAC,MAAM,CAAW;gBAEb,KAAK,EAAE,SAAS,EAAE;IAU9B,gCAAgC;IAChC,OAAO,CAAC,UAAU;IAWlB;;;;;;OAMG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM;CAa7D;AAmFD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,wBAAgB,eAAe,IAAI,WAAW,CAE7C;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,YAAY,SAAqB,EACjC,IAAI,CAAC,EAAE,SAAS,EAChB,MAAM,GAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAA6C,EAC3E,KAAK,SAAI,GACR,SAAS,CA6JX;AAYD,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAkCzE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CActF;AAiCD,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,EAAE,CAyB3E;AAqBD,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAE5E;AA8BD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAc9D"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/layout/engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAGL,SAAS,EACT,SAAS,EAGV,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,QAAQ,EAAyB,SAAS,EAAY,QAAQ,EAA4B,OAAO,EAA+B,MAAM,SAAS,CAAC;AAGzJ,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AA8Y5C;;;;;;;;;GASG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAc;IAC3B,4CAA4C;IAC5C,OAAO,CAAC,MAAM,CAAW;gBAEb,KAAK,EAAE,SAAS,EAAE;IAU9B,gCAAgC;IAChC,OAAO,CAAC,UAAU;IAWlB;;;;;;OAMG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM;CAa7D;AAuKD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,wBAAgB,eAAe,IAAI,WAAW,CAE7C;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,YAAY,SAAqB,EACjC,IAAI,CAAC,EAAE,SAAS,EAChB,MAAM,GAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAA6C,EAC3E,KAAK,SAAI,GACR,SAAS,CAwLX;AA0BD,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAezE;AAuCD,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CActF;AAiCD,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,EAAE,CAyB3E;AAqBD,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAE5E;AA8BD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAc9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../../src/layout/harness.ts"],"names":[],"mappings":"AA+BA,gCAAgC;AAChC,wBAAgB,kBAAkB,SAQjC"}
1
+ {"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../../src/layout/harness.ts"],"names":[],"mappings":"AAiCA,gCAAgC;AAChC,wBAAgB,kBAAkB,SAQjC"}
@@ -31,6 +31,17 @@ export declare function canvasFont(props: TextProps): string;
31
31
  * 同一 font+text 只 prepare 一次。
32
32
  */
33
33
  export declare function measureWidth(text: string, props: TextProps): number;
34
+ /**
35
+ * 一段文字里每个 UTF-16 单元的前进宽度,用于摆字(glyph.x / caret stop)。
36
+ *
37
+ * 折行用的是整串测宽(带字距调整,如 `Te` 比两个字单独相加窄)。如果摆字改用
38
+ * 「每个字单独测宽再累加」,同一行的实际宽度会比折行时认为的宽,最后一个字就会
39
+ * 越过版心被裁掉。所以这里取前缀宽度之差:`w[k] = width(text[0..k]) - width(text[0..k-1])`,
40
+ * 一整段的宽度之和与 {@link measureWidth}(text) 严格相等。
41
+ *
42
+ * 代理对:高位单元带整个码点的宽度,低位单元为 0,保持 `text.length` 个元素。
43
+ */
44
+ export declare function measureGlyphWidths(text: string, props: TextProps): number[];
34
45
  export declare function lineHeightOf(props: TextProps): number;
35
46
  export declare function isCjk(ch: string): boolean;
36
47
  export declare function canBreakAfter(ch: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"measure.d.ts","sourceRoot":"","sources":["../../../src/layout/measure.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,WAAW,2EAAqE,CAAC;AAE9F,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,QAAQ,IAAI,CAAC;AAC1B,0BAA0B;AAC1B,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,cAAc,IAAI,CAAC;AAKhC,wBAAgB,YAAY,SAI3B;AAED,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,MAAM,CAK7D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAO7G;AAED,iDAAiD;AACjD,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAGnD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAWnE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAErD;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAQzC;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAIjD"}
1
+ {"version":3,"file":"measure.d.ts","sourceRoot":"","sources":["../../../src/layout/measure.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,WAAW,2EAAqE,CAAC;AAE9F,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,QAAQ,IAAI,CAAC;AAC1B,0BAA0B;AAC1B,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,cAAc,IAAI,CAAC;AAKhC,wBAAgB,YAAY,SAI3B;AAED,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,MAAM,CAK7D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAO7G;AAED,iDAAiD;AACjD,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAGnD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAWnE;AAUD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE,CAuB3E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAErD;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAQzC;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAIjD"}
@@ -40,6 +40,9 @@ export interface VBlockFragment {
40
40
  h: number;
41
41
  chrome: VirtualBlockChrome;
42
42
  empty?: boolean;
43
+ /** 是否是该块的第一行 / 最后一行片段(单行时两者都为真);圆角据此只落在首行上两角、末行下两角 */
44
+ first: boolean;
45
+ last: boolean;
43
46
  }
44
47
  export interface LineBox {
45
48
  paragraphStart: number;
@@ -111,6 +114,11 @@ export interface DocLayout {
111
114
  top: number;
112
115
  bottom: number;
113
116
  };
117
+ /**
118
+ * 已经作为 prev 喂给过一次增量排版。增量排版会把复用的块就地平移(不深拷贝),
119
+ * 所以同一份布局只能被消费一次;再次传入时退回拷贝路径,结果仍正确只是慢。
120
+ */
121
+ consumed?: boolean;
114
122
  }
115
123
  export interface CaretPos {
116
124
  x: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/layout/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/layout/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../src/model/blocks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,aAAa,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,KAAK,GAAG,cAAc,GAAG,UAAU,CAAC;AAEhD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,CAyBpD;AA0CD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAO7E;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAG1E;AAED,gDAAgD;AAChD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,cAAc,CAAC;CACrD,GAAG,OAAO,CAaV;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAsBhF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,CAsB/F;AAeD,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GAAG,IAAI,CAgBnI;AAED,6BAA6B;AAC7B,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQvE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAKrF;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAI7F;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAgBxF;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAgBrH;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAUpE"}
1
+ {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../src/model/blocks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,aAAa,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,KAAK,GAAG,cAAc,GAAG,UAAU,CAAC;AAShD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,CAQpD;AAqED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAO7E;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAG1E;AAED,gDAAgD;AAChD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,cAAc,CAAC;CACrD,GAAG,OAAO,CAaV;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAsBhF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,CAsB/F;AAeD,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GAAG,IAAI,CAgBnI;AAED,6BAA6B;AAC7B,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQvE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAKrF;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAI7F;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAgBxF;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAgBrH;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAUpE"}
@@ -89,19 +89,27 @@ export interface Fragment {
89
89
  export type ImageEntity = EmbedEntity;
90
90
  /** 视频默认宽高比 */
91
91
  export declare const VIDEO_ASPECT: number;
92
- /** 虚拟块种类:region 是一层皮,virtualSlot 是最内层文本槽。 */
93
- export type VirtualBlockKind = 'region' | 'virtualSlot';
92
+ /**
93
+ * 虚拟块种类:
94
+ * - `region`:一层皮,整体选中/进出,文字不可直接编辑;
95
+ * - `virtualSlot`:最内层文本槽,像输入框(placeholder、选中、进出);
96
+ * - `mark`:纯样式区间,只给文本流加背景/边框/文字缺省,交互与普通文本完全一致。
97
+ * 不参与区间树(parentId 恒为 null)、不进选中/编辑状态机,可与其它块任意叠放。
98
+ */
99
+ export type VirtualBlockKind = 'region' | 'virtualSlot' | 'mark';
94
100
  /**
95
101
  * 虚拟块的皮和文字缺省。块皮(底、边、圆角、内边距)只能放这里;
96
102
  * 文字字段与 {@link TextProps} 对齐,作排版期 fallback,不是 applyStyle 轨道。
97
103
  */
98
104
  export interface VirtualBlockChrome {
99
105
  background?: string;
106
+ /** 仅 mark:鼠标悬停在该区间上时用这个底色替换 background(整段、含折行各行) */
107
+ hoverBackground?: string;
100
108
  borderColor?: string;
101
109
  borderWidth?: number;
102
110
  radius?: number;
111
+ /** 水平内边距:只外扩底色/边框(行首行尾也外扩),不影响排版。编辑器 padding.x 小于它时,边缘处会被裁 */
103
112
  paddingX?: number;
104
- paddingY?: number;
105
113
  color?: string;
106
114
  fontSize?: number;
107
115
  fontFamily?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/model/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/model/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"slice.d.ts","sourceRoot":"","sources":["../../../src/operations/slice.ts"],"names":[],"mappings":"AAOA,OAAO,EAAsC,KAAK,EAAa,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAWjG,OAAO,EAAE,SAAS,EAAgB,MAAM,WAAW,CAAC;AAkCpD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,UAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CA4DzF;AAED,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAuB5E;AAED,0CAA0C;AAC1C,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAG5F;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAgBhH;AAED,yCAAyC;AACzC,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAW9E;AAED,sCAAsC;AACtC,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAYjE"}
1
+ {"version":3,"file":"slice.d.ts","sourceRoot":"","sources":["../../../src/operations/slice.ts"],"names":[],"mappings":"AAOA,OAAO,EAAsC,KAAK,EAAa,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAWjG,OAAO,EAAE,SAAS,EAAgB,MAAM,WAAW,CAAC;AAkCpD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,UAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CA6DzF;AAED,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAuB5E;AAED,0CAA0C;AAC1C,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAG5F;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAgBhH;AAED,yCAAyC;AACzC,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAW9E;AAED,sCAAsC;AACtC,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAYjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/operations/text.ts"],"names":[],"mappings":"AAQA,OAAO,EAAmD,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGnG,OAAO,EAAE,SAAS,EAAoB,MAAM,WAAW,CAAC;AAgDxD,iDAAiD;AACjD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAqB9F;AAED,0CAA0C;AAC1C,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAgDhE;AAED,8BAA8B;AAC9B,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAYxE;AAED,MAAM,MAAM,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,IAAI,CAAC;AAE5E,gDAAgD;AAChD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAkC7D;AAED,iCAAiC;AACjC,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAoBjE;AAED,iDAAiD;AACjD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAwDtE"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/operations/text.ts"],"names":[],"mappings":"AAQA,OAAO,EAAmD,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGnG,OAAO,EAAE,SAAS,EAAoB,MAAM,WAAW,CAAC;AAgDxD,iDAAiD;AACjD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAsB9F;AAED,0CAA0C;AAC1C,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAgDhE;AAED,8BAA8B;AAC9B,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAYxE;AAED,MAAM,MAAM,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,IAAI,CAAC;AAE5E,gDAAgD;AAChD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAkC7D;AAED,iCAAiC;AACjC,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAoBjE;AAED,iDAAiD;AACjD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAwDtE"}
@@ -41,4 +41,10 @@ export declare function coverAncestorsOf(id: string, start: number, end: number)
41
41
  /** 插入后把指定块(及仍在的祖先)撑开盖住 [start, end)。 */
42
42
  export declare function coverVirtualBlocks(ids: string[], start: number, end: number): Operation<void>;
43
43
  export declare function remapIncomingVirtualBlocks(blocks: VirtualBlock[], offset: number, occupied: Set<string>): VirtualBlock[];
44
+ /**
45
+ * 在 index 处插入了 text 之后,把「恰好在 index 结束」的 mark 向右撑开,
46
+ * 让右边缘继续输入算区间内;遇到换行就断(只撑到第一个 \n 之前)。
47
+ * 插入本身已由调用方 emit,这里只补区间。
48
+ */
49
+ export declare function extendMarksAtEnd(index: number, text: string): Operation<void>;
44
50
  //# sourceMappingURL=virtualBlock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"virtualBlock.d.ts","sourceRoot":"","sources":["../../../src/operations/virtualBlock.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAiC,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAI9H,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAItC,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAMD,wBAAgB,cAAc,CAAC,GAAG,EAAE;IAAE,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAAE,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAoBpH;AAkBD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAmCnF;AAED,iCAAiC;AACjC,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAYjE;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC,OAAO,CAAC,CAOnG;AA8BD,6CAA6C;AAC7C,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAcxD;AAED,gCAAgC;AAChC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAoBhG;AAED,yCAAyC;AACzC,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAcxF;AAED,wCAAwC;AACxC,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAkB7F;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,YAAY,EAAE,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,GACpB,YAAY,EAAE,CAoBhB"}
1
+ {"version":3,"file":"virtualBlock.d.ts","sourceRoot":"","sources":["../../../src/operations/virtualBlock.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAiC,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAI9H,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAItC,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAMD,wBAAgB,cAAc,CAAC,GAAG,EAAE;IAAE,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAAE,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAsBpH;AAmBD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAoCnF;AAED,iCAAiC;AACjC,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAYjE;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC,OAAO,CAAC,CAOnG;AA8BD,6CAA6C;AAC7C,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAcxD;AAED,gCAAgC;AAChC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAoBhG;AAED,yCAAyC;AACzC,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAcxF;AAED,wCAAwC;AACxC,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAkB7F;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,YAAY,EAAE,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,GACpB,YAAY,EAAE,CAoBhB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAU7E"}