@univerjs-pro/boards-ui 1.0.0-alpha.7 → 1.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/lib/cjs/facade.js +1 -0
  2. package/lib/cjs/index.js +1 -1
  3. package/lib/cjs/locale/ar-SA.js +1 -1
  4. package/lib/cjs/locale/ca-ES.js +1 -1
  5. package/lib/cjs/locale/de-DE.js +1 -1
  6. package/lib/cjs/locale/en-US.js +1 -1
  7. package/lib/cjs/locale/es-ES.js +1 -1
  8. package/lib/cjs/locale/fa-IR.js +1 -1
  9. package/lib/cjs/locale/fr-FR.js +1 -1
  10. package/lib/cjs/locale/id-ID.js +1 -1
  11. package/lib/cjs/locale/it-IT.js +1 -1
  12. package/lib/cjs/locale/ja-JP.js +1 -1
  13. package/lib/cjs/locale/ko-KR.js +1 -1
  14. package/lib/cjs/locale/pl-PL.js +1 -1
  15. package/lib/cjs/locale/pt-BR.js +1 -1
  16. package/lib/cjs/locale/ru-RU.js +1 -1
  17. package/lib/cjs/locale/sk-SK.js +1 -1
  18. package/lib/cjs/locale/vi-VN.js +1 -1
  19. package/lib/cjs/locale/zh-CN.js +1 -1
  20. package/lib/cjs/locale/zh-HK.js +1 -1
  21. package/lib/cjs/locale/zh-TW.js +1 -1
  22. package/lib/cjs/shape-preset-labels-C4G0G9GI.js +1 -1
  23. package/lib/es/facade.js +1 -0
  24. package/lib/es/index.js +1 -1
  25. package/lib/es/locale/ar-SA.js +1 -1
  26. package/lib/es/locale/ca-ES.js +1 -1
  27. package/lib/es/locale/de-DE.js +1 -1
  28. package/lib/es/locale/en-US.js +1 -1
  29. package/lib/es/locale/es-ES.js +1 -1
  30. package/lib/es/locale/fa-IR.js +1 -1
  31. package/lib/es/locale/fr-FR.js +1 -1
  32. package/lib/es/locale/id-ID.js +1 -1
  33. package/lib/es/locale/it-IT.js +1 -1
  34. package/lib/es/locale/ja-JP.js +1 -1
  35. package/lib/es/locale/ko-KR.js +1 -1
  36. package/lib/es/locale/pl-PL.js +1 -1
  37. package/lib/es/locale/pt-BR.js +1 -1
  38. package/lib/es/locale/ru-RU.js +1 -1
  39. package/lib/es/locale/sk-SK.js +1 -1
  40. package/lib/es/locale/vi-VN.js +1 -1
  41. package/lib/es/locale/zh-CN.js +1 -1
  42. package/lib/es/locale/zh-HK.js +1 -1
  43. package/lib/es/locale/zh-TW.js +1 -1
  44. package/lib/es/shape-preset-labels-092BdVw3.js +1 -1
  45. package/lib/facade.js +1 -0
  46. package/lib/index.css +57 -83
  47. package/lib/index.js +1 -1
  48. package/lib/locale/ar-SA.js +1 -1
  49. package/lib/locale/ca-ES.js +1 -1
  50. package/lib/locale/de-DE.js +1 -1
  51. package/lib/locale/en-US.js +1 -1
  52. package/lib/locale/es-ES.js +1 -1
  53. package/lib/locale/fa-IR.js +1 -1
  54. package/lib/locale/fr-FR.js +1 -1
  55. package/lib/locale/id-ID.js +1 -1
  56. package/lib/locale/it-IT.js +1 -1
  57. package/lib/locale/ja-JP.js +1 -1
  58. package/lib/locale/ko-KR.js +1 -1
  59. package/lib/locale/pl-PL.js +1 -1
  60. package/lib/locale/pt-BR.js +1 -1
  61. package/lib/locale/ru-RU.js +1 -1
  62. package/lib/locale/sk-SK.js +1 -1
  63. package/lib/locale/vi-VN.js +1 -1
  64. package/lib/locale/zh-CN.js +1 -1
  65. package/lib/locale/zh-HK.js +1 -1
  66. package/lib/locale/zh-TW.js +1 -1
  67. package/lib/shape-preset-labels-092BdVw3.js +1 -1
  68. package/lib/types/commands/commands/analyze-board-rendered-layout.command.d.ts +8 -0
  69. package/lib/types/commands/commands/capture-board-screenshot.command.d.ts +7 -0
  70. package/lib/types/commands/operations/board-selection.operation.d.ts +6 -0
  71. package/lib/types/common/board-shortcuts.d.ts +1 -1
  72. package/lib/types/common/shape-presets.d.ts +4 -0
  73. package/lib/types/config/config.d.ts +0 -4
  74. package/lib/types/controllers/board-connector-interaction.render-controller.d.ts +11 -6
  75. package/lib/types/controllers/board-element-selection.controller.d.ts +11 -3
  76. package/lib/types/controllers/board-element-transform.controller.d.ts +9 -1
  77. package/lib/types/controllers/board-ink-interaction.render-controller.d.ts +0 -2
  78. package/lib/types/controllers/board-render.controller.d.ts +5 -1
  79. package/lib/types/controllers/board-selection-overlay.render-controller.d.ts +1 -0
  80. package/lib/types/controllers/board-shape-adjust.render-controller.d.ts +1 -1
  81. package/lib/types/controllers/board-text-editing.render-controller.d.ts +3 -1
  82. package/lib/types/controllers/board-viewport-input.render-controller.d.ts +8 -1
  83. package/lib/types/facade/f-board-layout.d.ts +51 -0
  84. package/lib/types/facade/index.d.ts +1 -0
  85. package/lib/types/index.d.ts +9 -1
  86. package/lib/types/locale/en-US.d.ts +21 -35
  87. package/lib/types/render-adapters/board-element-render-adapter.d.ts +11 -1
  88. package/lib/types/render-objects/board-connector-object.d.ts +31 -2
  89. package/lib/types/render-objects/board-element-render-layer.d.ts +65 -0
  90. package/lib/types/render-objects/board-selection-marquee-object.d.ts +1 -0
  91. package/lib/types/services/board-element-edit.service.d.ts +5 -2
  92. package/lib/types/services/board-screenshot.service.d.ts +38 -0
  93. package/lib/types/services/board-selection-overlay.service.d.ts +2 -0
  94. package/lib/types/services/board-selection.service.d.ts +6 -1
  95. package/lib/types/services/board-tool.service.d.ts +0 -1
  96. package/lib/types/services/board-viewport.service.d.ts +4 -1
  97. package/lib/types/utils/board-alignment-guides.util.d.ts +2 -0
  98. package/lib/types/utils/board-connector-marker-anchor.util.d.ts +2 -2
  99. package/lib/types/utils/board-connector-quick-connect.util.d.ts +1 -0
  100. package/lib/types/utils/board-connector-router.util.d.ts +1 -0
  101. package/lib/types/utils/board-connector-routing.util.d.ts +34 -2
  102. package/lib/types/utils/board-container-membership-update.util.d.ts +5 -0
  103. package/lib/types/utils/board-container-spatial-index.util.d.ts +2 -0
  104. package/lib/types/utils/board-floating-toolbar-selection.util.d.ts +22 -1
  105. package/lib/types/utils/board-guide-candidates.util.d.ts +13 -0
  106. package/lib/types/utils/board-selection-geometry.util.d.ts +4 -1
  107. package/lib/types/utils/board-selection-hit-test.util.d.ts +2 -0
  108. package/lib/types/utils/board-selection-interaction.util.d.ts +3 -1
  109. package/lib/types/utils/board-selection-move.util.d.ts +1 -2
  110. package/lib/types/utils/board-snap-session.util.d.ts +2 -43
  111. package/lib/types/utils/board-spacing-guides.util.d.ts +2 -0
  112. package/lib/types/utils/board-viewport.util.d.ts +9 -1
  113. package/lib/types/views/BoardCanvasView.d.ts +3 -1
  114. package/lib/types/views/BoardConnectorFloatingToolbar.d.ts +7 -14
  115. package/lib/types/views/BoardConnectorFloatingToolbarControls.d.ts +35 -0
  116. package/lib/types/views/BoardRenamePopup.d.ts +7 -0
  117. package/lib/types/views/BoardSettingsMenu.d.ts +1 -0
  118. package/lib/types/views/BoardWorkbench.d.ts +1 -0
  119. package/lib/types/views/board-shape-floating-toolbar/BoardSwimlaneToolbarMenu.d.ts +12 -0
  120. package/lib/umd/facade.js +1 -0
  121. package/lib/umd/index.js +1 -1
  122. package/lib/umd/locale/ar-SA.js +1 -1
  123. package/lib/umd/locale/ca-ES.js +1 -1
  124. package/lib/umd/locale/de-DE.js +1 -1
  125. package/lib/umd/locale/en-US.js +1 -1
  126. package/lib/umd/locale/es-ES.js +1 -1
  127. package/lib/umd/locale/fa-IR.js +1 -1
  128. package/lib/umd/locale/fr-FR.js +1 -1
  129. package/lib/umd/locale/id-ID.js +1 -1
  130. package/lib/umd/locale/it-IT.js +1 -1
  131. package/lib/umd/locale/ja-JP.js +1 -1
  132. package/lib/umd/locale/ko-KR.js +1 -1
  133. package/lib/umd/locale/pl-PL.js +1 -1
  134. package/lib/umd/locale/pt-BR.js +1 -1
  135. package/lib/umd/locale/ru-RU.js +1 -1
  136. package/lib/umd/locale/sk-SK.js +1 -1
  137. package/lib/umd/locale/vi-VN.js +1 -1
  138. package/lib/umd/locale/zh-CN.js +1 -1
  139. package/lib/umd/locale/zh-HK.js +1 -1
  140. package/lib/umd/locale/zh-TW.js +1 -1
  141. package/package.json +29 -20
  142. package/lib/types/common/settings-actions.d.ts +0 -26
  143. package/lib/types/controllers/board-mermaid-import.controller.d.ts +0 -9
  144. package/lib/types/services/board-mermaid-import.service.d.ts +0 -82
  145. package/lib/types/services/board-settings-action.service.d.ts +0 -21
  146. package/lib/types/utils/board-draft-insert-position.util.d.ts +0 -13
  147. package/lib/types/utils/board-mermaid-preview.util.d.ts +0 -4
  148. package/lib/types/views/BoardContainerRenamePopup.d.ts +0 -6
  149. package/lib/types/views/BoardMermaidImportDialog.d.ts +0 -1
  150. package/lib/types/views/BoardSwimlaneLaneRenamePopup.d.ts +0 -6
@@ -3,7 +3,10 @@ import type { IShapeFormulaPresentation } from '@univerjs-pro/shape-editor';
3
3
  import type { IImageIoService, LocaleService } from '@univerjs/core';
4
4
  import type { BaseObject } from '@univerjs/engine-render';
5
5
  import type { IBoardFocusedSwimlaneLane } from '../services/board-element-state.service';
6
+ import { BoardConnectorObject } from '../render-objects/board-connector-object';
6
7
  export declare const BOARD_ELEMENT_OBJECT_PREFIX = "board-element";
8
+ type BoardConnectorLineJumpCacheOption = ConstructorParameters<typeof BoardConnectorObject>[1]['lineJumpCache'];
9
+ type BoardConnectorRoutingCacheOption = ConstructorParameters<typeof BoardConnectorObject>[1]['routingCache'];
7
10
  export interface IBoardElementRenderObjectKey {
8
11
  unitId: string;
9
12
  elementId: string;
@@ -24,6 +27,8 @@ export interface ICreateBoardElementRenderObjectOptions {
24
27
  zIndex?: number;
25
28
  imageIoService?: IImageIoService;
26
29
  localeService?: LocaleService;
30
+ lineJumpCache?: BoardConnectorLineJumpCacheOption;
31
+ routingCache?: BoardConnectorRoutingCacheOption;
27
32
  adapters?: readonly IBoardElementRenderAdapter[];
28
33
  focusedSwimlaneLane?: IBoardFocusedSwimlaneLane | null;
29
34
  formulaPresentation?: IShapeFormulaPresentation;
@@ -38,6 +43,8 @@ export interface ISyncBoardElementRenderObjectOptions {
38
43
  focusedSwimlaneLane?: IBoardFocusedSwimlaneLane | null;
39
44
  formulaPresentation?: IShapeFormulaPresentation;
40
45
  animateFormulaPresentation?: boolean;
46
+ lineJumpCache?: BoardConnectorLineJumpCacheOption;
47
+ routingCache?: BoardConnectorRoutingCacheOption;
41
48
  }
42
49
  export interface IBoardElementRenderAdapterContext {
43
50
  unitId: string;
@@ -48,6 +55,8 @@ export interface IBoardElementRenderAdapterContext {
48
55
  zIndex?: number;
49
56
  imageIoService?: IImageIoService;
50
57
  localeService?: LocaleService;
58
+ lineJumpCache?: BoardConnectorLineJumpCacheOption;
59
+ routingCache?: BoardConnectorRoutingCacheOption;
51
60
  focusedSwimlaneLane?: IBoardFocusedSwimlaneLane | null;
52
61
  formulaPresentation?: IShapeFormulaPresentation;
53
62
  animateFormulaPresentation?: boolean;
@@ -68,5 +77,6 @@ export declare const BOARD_CONNECTOR_ELEMENT_RENDER_ADAPTER: IBoardElementRender
68
77
  export declare const BOARD_SHAPE_ELEMENT_RENDER_ADAPTER: IBoardElementRenderAdapter;
69
78
  export declare const BOARD_IMAGE_ELEMENT_RENDER_ADAPTER: IBoardElementRenderAdapter;
70
79
  export declare const BOARD_ELEMENT_RENDER_ADAPTERS: readonly IBoardElementRenderAdapter[];
71
- export declare function createBoardElementRenderObject({ unitId, elementDataItem, elementData, zIndex, imageIoService, localeService, adapters, focusedSwimlaneLane, formulaPresentation, }: ICreateBoardElementRenderObjectOptions): BaseObject | null;
80
+ export declare function createBoardElementRenderObject({ unitId, elementDataItem, elementData, zIndex, imageIoService, localeService, lineJumpCache, routingCache, adapters, focusedSwimlaneLane, formulaPresentation, }: ICreateBoardElementRenderObjectOptions): BaseObject | null;
72
81
  export declare function syncBoardElementRenderObject(object: BaseObject, elementDataItem: IBoardElementData, options?: ISyncBoardElementRenderObjectOptions): boolean;
82
+ export {};
@@ -1,7 +1,8 @@
1
1
  import type { IBoardConnectorElement, IBoardConnectorPoint, IBoardElementData } from '@univerjs-pro/boards';
2
- import type { LocaleService } from '@univerjs/core';
2
+ import type { IDocumentData, LocaleService } from '@univerjs/core';
3
3
  import type { IObjectFullState, IViewportInfo, UniverRenderingContext, Vector2 } from '@univerjs/engine-render';
4
4
  import type { IBoardConnectorLabelRect } from '../utils/board-connector-label.util';
5
+ import type { BoardConnectorRoutingCache } from '../utils/board-connector-routing.util';
5
6
  import { BaseObject } from '@univerjs/engine-render';
6
7
  import { resolveBoardConnectorPathBounds, resolveBoardConnectorPathCommands, resolveBoardConnectorRoutePoints } from '../utils/board-connector-routing.util';
7
8
  export interface IBoardConnectorObjectProps {
@@ -15,6 +16,8 @@ export interface IBoardConnectorObjectProps {
15
16
  evented?: boolean;
16
17
  element: IBoardConnectorElement;
17
18
  elementData?: Record<string, IBoardElementData>;
19
+ lineJumpCache?: BoardConnectorLineJumpCache;
20
+ routingCache?: BoardConnectorRoutingCache;
18
21
  localeService?: LocaleService;
19
22
  }
20
23
  export interface IBoardConnectorRouteCache {
@@ -22,10 +25,30 @@ export interface IBoardConnectorRouteCache {
22
25
  pathCommands: ReturnType<typeof resolveBoardConnectorPathCommands>;
23
26
  bounds: ReturnType<typeof resolveBoardConnectorPathBounds>;
24
27
  }
28
+ interface IBoardConnectorLineJump {
29
+ x: number;
30
+ y: number;
31
+ distance: number;
32
+ }
33
+ type BoardConnectorRouteResolver = typeof resolveBoardConnectorRoutePoints;
34
+ export declare class BoardConnectorLineJumpCache {
35
+ private readonly _resolveRoutePoints;
36
+ private _elementData?;
37
+ private readonly _routePointsByConnectorId;
38
+ private readonly _lineJumpsByConnectorId;
39
+ constructor(_resolveRoutePoints?: BoardConnectorRouteResolver);
40
+ invalidate(elementData?: Record<string, IBoardElementData>): void;
41
+ resolveLineJumpsForRoute(connectorId: string, routePoints: readonly IBoardConnectorPoint[]): readonly IBoardConnectorLineJump[][];
42
+ private _clear;
43
+ private _getRoutePoints;
44
+ private _resolveLineJumpsForSegment;
45
+ }
25
46
  export declare class BoardConnectorObject extends BaseObject {
26
47
  private _element;
27
48
  private _elementData?;
28
49
  private readonly _localeService?;
50
+ private readonly _lineJumpCache;
51
+ private readonly _routingCache?;
29
52
  private readonly _documentTextRenderCache;
30
53
  private _routeCache;
31
54
  private _routeStabilityHint;
@@ -36,9 +59,12 @@ export declare class BoardConnectorObject extends BaseObject {
36
59
  getElement(): IBoardConnectorElement;
37
60
  setEditing(isEditing: boolean): void;
38
61
  getRoutePoints(): IBoardConnectorPoint[];
62
+ getCachedRoutePoints(): readonly IBoardConnectorPoint[] | null;
39
63
  getPathCommands(): import("../utils/board-connector-routing.util").BoardConnectorPathCommand[];
64
+ getRenderBounds(): ReturnType<typeof resolveBoardConnectorPathBounds>;
40
65
  getLabelPathPoints(): IBoardConnectorPoint[];
41
66
  getLabelRect(): IBoardConnectorLabelRect | null;
67
+ measureLabelNaturalHeight(width: number, documentData?: IDocumentData): number | null;
42
68
  isLabelHit(point: IBoardConnectorPoint): boolean;
43
69
  private _getRouteCache;
44
70
  private _getRenderBounds;
@@ -46,13 +72,16 @@ export declare class BoardConnectorObject extends BaseObject {
46
72
  private _shouldUseRouteStabilityHint;
47
73
  transformByState(option: IObjectFullState): this;
48
74
  isHit(coord: Vector2): boolean;
75
+ hitTest(point: IBoardConnectorPoint): boolean;
49
76
  render(ctx: UniverRenderingContext, _bounds: IViewportInfo): this;
77
+ private _clipRouteAroundLabel;
50
78
  private _drawRoute;
51
79
  private _drawRoundedOrthogonalRoute;
52
80
  private _drawRouteWithLineJumps;
53
- private _resolveLineJumpsForSegment;
54
81
  private _drawPathCommands;
55
82
  private _drawMarkers;
56
83
  private _resolveEndpointVisualGap;
57
84
  private _drawLabel;
85
+ private _drawLabelFrame;
58
86
  }
87
+ export {};
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Copyright 2023-present DreamNum Co., Ltd.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import type { Scene, UniverRenderingContext } from '@univerjs/engine-render';
17
+ import { BaseObject, Layer } from '@univerjs/engine-render';
18
+ export interface IBoardElementRenderLayerMetrics {
19
+ cacheHits: number;
20
+ directRenders: number;
21
+ fullCacheRenders: number;
22
+ incrementalCacheRenders: number;
23
+ zoomPreviews: number;
24
+ }
25
+ /**
26
+ * Board-specific cache for the persistent element layer. Render objects stay as direct layer
27
+ * children, so object ordering and hit testing continue to use the engine's normal paths.
28
+ */
29
+ export declare class BoardElementRenderLayer extends Layer {
30
+ private readonly _elementCacheCanvas;
31
+ private readonly _cacheProxy;
32
+ private readonly _metrics;
33
+ private _cacheState;
34
+ private _cacheContentValid;
35
+ private _rebuildRequested;
36
+ private _quietRevision;
37
+ private _quietFrame;
38
+ private _settleFrame;
39
+ constructor(scene: Scene, zIndex: number);
40
+ getMetrics(): Readonly<IBoardElementRenderLayerMetrics>;
41
+ addObject(object: BaseObject): this;
42
+ removeObject(object: BaseObject | string): void;
43
+ removeObjects(objects: BaseObject[] | string[]): void;
44
+ render(parentCtx?: UniverRenderingContext, isMaxLayer?: boolean): this;
45
+ private _paint;
46
+ private _canCache;
47
+ private _createCacheState;
48
+ private _refreshCache;
49
+ private _recenterCache;
50
+ private _getNewAreaBounds;
51
+ private _renderObjectsToCache;
52
+ private _renderDirect;
53
+ private _drawElementCache;
54
+ private _filterObjects;
55
+ private _shouldRecenter;
56
+ private _isSameScale;
57
+ private _markObjectsClean;
58
+ private _clearCanvas;
59
+ private _invalidateContent;
60
+ private _scheduleQuietRebuild;
61
+ private _cancelQuietFrames;
62
+ private _cancelQuietRebuild;
63
+ private _resetCache;
64
+ dispose(): void;
65
+ }
@@ -2,6 +2,7 @@ import type { IViewportInfo, UniverRenderingContext, Vector2 } from '@univerjs/e
2
2
  import type { IBoardSelectionRect } from '../utils/board-selection-geometry.util';
3
3
  import { BaseObject } from '@univerjs/engine-render';
4
4
  export interface IBoardSelectionMarqueeObjectState {
5
+ preciseSelection?: boolean;
5
6
  rect: IBoardSelectionRect | null;
6
7
  zoomRatio?: number;
7
8
  }
@@ -1,5 +1,6 @@
1
1
  import type { BoardConnectorRouting, BoardModel, IBoardConnectorLabel, IBoardConnectorStyle, IBoardSwimlaneData, ICommitBoardContainerTransformOperationParams, IRemoveBoardElementsOperationParams, IRemoveBoardSwimlaneLaneOperationParams, IUpdateBoardElementCommandParams, IUpdateBoardElementsCommandItem, IUpdateBoardElementsCommandParams } from '@univerjs-pro/boards';
2
- import type { IBoardElementSelectionMoveDelta } from '../utils/board-selection-move.util';
2
+ import type { BoardContainerMembershipUpdateMode } from '../utils/board-container-membership-update.util';
3
+ import type { IBoardSelectionMoveDelta } from '../utils/board-selection-move.util';
3
4
  import type { IBoardElementSelectionResizeResult } from '../utils/board-selection-resize.util';
4
5
  import type { IBoardSelectionContext } from './board-element-state.service';
5
6
  import { IBoardElementService } from '@univerjs-pro/boards';
@@ -12,8 +13,9 @@ export interface IBoardElementEditSelectionSnapshot {
12
13
  }
13
14
  export interface IBoardElementMoveSelectedOptions {
14
15
  selectedIds: string[];
15
- delta: IBoardElementSelectionMoveDelta;
16
+ delta: IBoardSelectionMoveDelta;
16
17
  focusedId?: string | null;
18
+ membershipMode?: BoardContainerMembershipUpdateMode;
17
19
  }
18
20
  export interface IBoardElementResizeSelectionOptions {
19
21
  selectedIds: string[];
@@ -79,6 +81,7 @@ export interface IBoardElementUpdateElementsOptions {
79
81
  subUnitId: string;
80
82
  updates: IBoardElementUpdateElementsOperationItem[];
81
83
  forceCaptureElementIds?: readonly string[];
84
+ membershipMode?: BoardContainerMembershipUpdateMode;
82
85
  }
83
86
  export declare class BoardElementEditService {
84
87
  private readonly _commandService;
@@ -0,0 +1,38 @@
1
+ import type { IBoardRect } from '@univerjs-pro/boards';
2
+ import { IBoardElementService } from '@univerjs-pro/boards';
3
+ import { IShapeHostAdapterRegistry } from '@univerjs-pro/engine-shape';
4
+ import { ShapeFormulaService } from '@univerjs-pro/shape-editor';
5
+ import { IRenderManagerService } from '@univerjs/engine-render';
6
+ import { IBoardElementStateService } from './board-element-state.service';
7
+ import { IBoardUIStateService } from './board-ui-state.service';
8
+ export declare const BOARD_SCREENSHOT_MIN_SCALE = 0.1;
9
+ export declare const BOARD_SCREENSHOT_MAX_SCALE = 4;
10
+ export interface IBoardScreenshotOptions {
11
+ bounds: IBoardRect;
12
+ scale?: number;
13
+ }
14
+ export interface IBoardScreenshotResult {
15
+ contentBounds: IBoardRect;
16
+ dataUrl: string;
17
+ height: number;
18
+ scale: number;
19
+ subUnitId: string;
20
+ unitId: string;
21
+ width: number;
22
+ }
23
+ export declare class BoardScreenshotService {
24
+ private readonly _boardElementService;
25
+ private readonly _boardElementStateService;
26
+ private readonly _boardUIStateService;
27
+ private readonly _renderManagerService;
28
+ private readonly _shapeHostAdapterRegistry;
29
+ private readonly _shapeFormulaService;
30
+ constructor(_boardElementService: IBoardElementService, _boardElementStateService: IBoardElementStateService, _boardUIStateService: IBoardUIStateService, _renderManagerService: IRenderManagerService, _shapeHostAdapterRegistry: IShapeHostAdapterRegistry, _shapeFormulaService: ShapeFormulaService);
31
+ capture(unitId: string, subUnitId: string, options: IBoardScreenshotOptions): Promise<IBoardScreenshotResult | false>;
32
+ private _prepareCaptureState;
33
+ private _restoreCaptureState;
34
+ private _waitForElements;
35
+ private _waitForFormulaShapes;
36
+ private _waitForViewport;
37
+ private _waitForStableImage;
38
+ }
@@ -3,6 +3,8 @@ import { Disposable } from '@univerjs/core';
3
3
  export interface IBoardSelectionDraft {
4
4
  start: IBoardSelectionPoint;
5
5
  current: IBoardSelectionPoint;
6
+ dragSelection: boolean;
7
+ preciseSelection: boolean;
6
8
  }
7
9
  export declare class BoardSelectionOverlayService extends Disposable {
8
10
  private readonly _selectionDraft$;
@@ -1,18 +1,23 @@
1
1
  import type { BoardModel } from '@univerjs-pro/boards';
2
2
  import type { IBoardSelectionPoint } from '../utils/board-selection-interaction.util';
3
3
  import { IBoardElementService } from '@univerjs-pro/boards';
4
+ import { IRenderManagerService } from '@univerjs/engine-render';
4
5
  import { IBoardElementStateService } from './board-element-state.service';
5
6
  export interface IBoardPointerSelectionOptions {
6
7
  boardModel: BoardModel | null | undefined;
7
8
  start: IBoardSelectionPoint;
8
9
  end: IBoardSelectionPoint;
10
+ dragSelection: boolean;
9
11
  preciseSelection: boolean;
10
12
  invertSelection?: boolean;
11
13
  }
12
14
  export declare class BoardSelectionService {
13
15
  private readonly _boardElementService;
14
16
  private readonly _elementStateService;
15
- constructor(_boardElementService: IBoardElementService, _elementStateService: IBoardElementStateService);
17
+ private readonly _renderManagerService;
18
+ constructor(_boardElementService: IBoardElementService, _elementStateService: IBoardElementStateService, _renderManagerService: Pick<IRenderManagerService, 'getRenderUnitById'>);
16
19
  selectByPointerGesture(options: IBoardPointerSelectionOptions): boolean;
20
+ private _createRenderBoundsResolver;
21
+ private _createRenderHitTester;
17
22
  private _resolveInvertedSelection;
18
23
  }
@@ -71,7 +71,6 @@ export declare class BoardToolService {
71
71
  root: IBoardToolMindMapBlueprintNode;
72
72
  };
73
73
  }): void;
74
- private _beginImport;
75
74
  private _resolveShapePendingInsert;
76
75
  beginShapeInsert(shapeType: BoardShapeType | string, options?: IBoardShapeInsertOptions): void;
77
76
  beginShapeInsertDrag(shapeType: BoardShapeType | string, options?: IBoardShapeInsertOptions): void;
@@ -1,6 +1,7 @@
1
1
  import type { BoardModel } from '@univerjs-pro/boards';
2
2
  import type { IBoardViewportSize, IBoardViewportZoomConfig } from '../utils/board-viewport.util';
3
3
  import { IBoardElementService } from '@univerjs-pro/boards';
4
+ import { IRenderManagerService } from '@univerjs/engine-render';
4
5
  import { IBoardUIStateService } from './board-ui-state.service';
5
6
  export interface IBoardViewportFitContentOptions {
6
7
  viewportSize: IBoardViewportSize;
@@ -10,6 +11,8 @@ export interface IBoardViewportFitContentOptions {
10
11
  export declare class BoardViewportService {
11
12
  private readonly _boardElementService;
12
13
  private readonly _uiStateService;
13
- constructor(_boardElementService: IBoardElementService, _uiStateService: IBoardUIStateService);
14
+ private readonly _renderManagerService;
15
+ constructor(_boardElementService: IBoardElementService, _uiStateService: IBoardUIStateService, _renderManagerService: Pick<IRenderManagerService, 'getRenderUnitById'>);
14
16
  fitContent(boardModel: BoardModel | null | undefined, options: IBoardViewportFitContentOptions): boolean;
17
+ private _createRenderBoundsResolver;
15
18
  }
@@ -1,4 +1,5 @@
1
1
  import type { IBoardElementData } from '@univerjs-pro/boards';
2
+ import type { IBoardGuideCandidate } from './board-guide-candidates.util';
2
3
  import type { IBoardSelectionRect } from './board-selection-geometry.util';
3
4
  export interface IBoardAlignmentGuide {
4
5
  position: number;
@@ -15,6 +16,7 @@ export interface IResolveBoardElementAlignmentGuidesOptions {
15
16
  elementData: Record<string, IBoardElementData>;
16
17
  elementOrder: string[];
17
18
  threshold: number;
19
+ candidates?: readonly IBoardGuideCandidate[];
18
20
  }
19
21
  export interface IBoardAlignmentSnap {
20
22
  delta: {
@@ -1,4 +1,4 @@
1
- import type { IBoardConnectorData, IBoardConnectorPoint, IBoardElementData } from '@univerjs-pro/boards';
1
+ import type { BoardConnectorRouting, IBoardConnectorData, IBoardConnectorPoint, IBoardElementData } from '@univerjs-pro/boards';
2
2
  import type { BoardConnectorPathCommand } from './board-connector-routing.util';
3
3
  export interface IBoardConnectorMarkerAnchor {
4
4
  point: IBoardConnectorPoint;
@@ -14,4 +14,4 @@ export interface IResolveBoardConnectorMarkerAnchorsOptions {
14
14
  endpointGap?: number;
15
15
  }
16
16
  export declare const BOARD_CONNECTOR_ENDPOINT_VISUAL_GAP = 5;
17
- export declare function resolveBoardConnectorMarkerAnchors(routing: string, points: readonly IBoardConnectorPoint[], pathCommands: readonly BoardConnectorPathCommand[], options?: IResolveBoardConnectorMarkerAnchorsOptions): IBoardConnectorMarkerAnchors | null;
17
+ export declare function resolveBoardConnectorMarkerAnchors(_routing: BoardConnectorRouting, points: readonly IBoardConnectorPoint[], pathCommands: readonly BoardConnectorPathCommand[], options?: IResolveBoardConnectorMarkerAnchorsOptions): IBoardConnectorMarkerAnchors | null;
@@ -1,6 +1,7 @@
1
1
  import type { BoardConnectorRouting, IBoardConnectorElement, IBoardConnectorEndpoint, IBoardConnectorPoint, IBoardConnectorStyle, IBoardElementData, IBoardShapeElement } from '@univerjs-pro/boards';
2
2
  import { ShapeTypeEnum } from '@univerjs-pro/engine-shape';
3
3
  export declare const BOARD_QUICK_CONNECT_GAP = 200;
4
+ export declare const BOARD_QUICK_CONNECT_SIBLING_GAP = 40;
4
5
  export interface ICreateBoardConnectorQuickConnectElementsOptions {
5
6
  sourceEndpoint: IBoardConnectorEndpoint;
6
7
  sourcePoint: IBoardConnectorPoint;
@@ -56,6 +56,7 @@ export interface IResolveBoardOrthogonalObstacleRouteOptions {
56
56
  };
57
57
  fallbackRoute?: () => IBoardConnectorPoint[];
58
58
  }
59
+ export declare function createBoardConnectorRoutingObstaclesForElementIds(elementData: Record<string, IBoardElementData>, elementIds: Iterable<string>, clearance?: number): IBoardRoutingObstacle[];
59
60
  export declare function createBoardConnectorRoutingObstacleIndex(elementData: Record<string, IBoardElementData> | undefined, options?: ICreateBoardConnectorRoutingObstaclesOptions): IBoardRoutingObstacleIndex;
60
61
  export declare function isBoardRoutingPointInsideObstacle(point: IBoardConnectorPoint, obstacle: IBoardRoutingObstacle): boolean;
61
62
  export declare function doesBoardRoutingSegmentIntersectObstacle(segment: IBoardRoutingSegment, obstacle: IBoardRoutingObstacle): boolean;
@@ -1,5 +1,5 @@
1
- import type { IBoardConnectorData, IBoardConnectorEndpoint, IBoardConnectorPoint, IBoardElementData, IBoardElementTransform } from '@univerjs-pro/boards';
2
- import type { IBoardRoutingSegment } from './board-connector-router.util';
1
+ import type { IBoardConnectorData, IBoardConnectorElement, IBoardConnectorEndpoint, IBoardConnectorPoint, IBoardElementData, IBoardElementTransform } from '@univerjs-pro/boards';
2
+ import type { IBoardRoutingObstacleIndex, IBoardRoutingSegment } from './board-connector-router.util';
3
3
  export interface IBoardConnectorRouteBounds {
4
4
  left: number;
5
5
  top: number;
@@ -23,6 +23,14 @@ export type BoardConnectorPathCommand = {
23
23
  control2: IBoardConnectorPoint;
24
24
  point: IBoardConnectorPoint;
25
25
  };
26
+ export interface IBoardConnectorPathEndpointGeometry {
27
+ point: IBoardConnectorPoint;
28
+ tangent: IBoardConnectorPoint | null;
29
+ }
30
+ export interface IBoardConnectorPathGeometry {
31
+ start: IBoardConnectorPathEndpointGeometry;
32
+ end: IBoardConnectorPathEndpointGeometry;
33
+ }
26
34
  export interface IResolveBoardConnectorEndpointPointOptions {
27
35
  elementData?: Record<string, IBoardElementData>;
28
36
  connectorId?: string;
@@ -36,18 +44,42 @@ export interface IResolveBoardConnectorRoutePointsOptions extends IResolveBoardC
36
44
  tolerance?: number;
37
45
  };
38
46
  resolvedRoutePoints?: readonly IBoardConnectorPoint[];
47
+ routingCache?: BoardConnectorRoutingCache;
39
48
  }
40
49
  export declare const BOARD_CONNECTOR_MIN_BOUNDS_SIZE = 1;
50
+ type IBoardConnectorElementData = IBoardElementData & {
51
+ element: IBoardConnectorElement;
52
+ };
41
53
  export declare function resolveBoardConnectorEndpointPoint(endpoint: IBoardConnectorEndpoint, options?: IResolveBoardConnectorEndpointPointOptions): IBoardConnectorPoint | null;
42
54
  export declare function resolveBoardConnectorEndpoint(endpoint: IBoardConnectorEndpoint, options?: IResolveBoardConnectorEndpointOptions): IBoardConnectorResolvedEndpoint | null;
43
55
  export declare function isBoardConnectorTerminalSegmentAlignedWithEndpointNormal(segment: IBoardRoutingSegment, endpoint: IBoardConnectorResolvedEndpoint, terminal: 'start' | 'end'): boolean;
44
56
  export declare function isBoardConnectorRouteAlignedWithEndpoints(connectorData: IBoardConnectorData, routePoints: readonly IBoardConnectorPoint[] | undefined, options?: IResolveBoardConnectorEndpointPointOptions): routePoints is readonly IBoardConnectorPoint[];
45
57
  export declare function normalizeBoardConnectorEndpointManualRoutePoints(connectorData: IBoardConnectorData, options?: IResolveBoardConnectorEndpointOptions): IBoardConnectorData;
58
+ export declare class BoardConnectorRoutingCache {
59
+ private _elementData?;
60
+ private readonly _obstacleIndexesByExclusion;
61
+ private readonly _routePointsByConnectorId;
62
+ private readonly _crossingRoutePointsByConnectorId;
63
+ invalidate(elementData?: Record<string, IBoardElementData>, invalidatedElementIds?: Iterable<string>): string[];
64
+ getObstacleIndex(elementData: Record<string, IBoardElementData> | undefined, excludeElementIds: readonly string[]): IBoardRoutingObstacleIndex;
65
+ resolveRoutePoints(connectorData: IBoardConnectorData, options?: IResolveBoardConnectorRoutePointsOptions): IBoardConnectorPoint[];
66
+ private _resolveRouteDependency;
67
+ resolveCrossingRoutePoints(item: IBoardConnectorElementData, elementData: Record<string, IBoardElementData>): IBoardConnectorPoint[];
68
+ }
46
69
  export declare function resolveBoardConnectorRoutePoints(connectorData: IBoardConnectorData, options?: IResolveBoardConnectorRoutePointsOptions): IBoardConnectorPoint[];
47
70
  export declare function resolveBoardConnectorPathCommands(connectorData: IBoardConnectorData, options?: IResolveBoardConnectorRoutePointsOptions): BoardConnectorPathCommand[];
48
71
  export declare function resolveBoardConnectorPathBounds(commands: readonly BoardConnectorPathCommand[], fallbackTransform?: IBoardElementTransform): IBoardConnectorRouteBounds;
72
+ /**
73
+ * Resolves marker-facing endpoint tangents from the final rendered path.
74
+ *
75
+ * The start tangent points backward from the route into the start marker; the end tangent points forward from the
76
+ * route into the end marker. Repeated points and coincident Bézier handles are skipped so callers never need a
77
+ * routing-specific marker rule or an arbitrary axis fallback.
78
+ */
79
+ export declare function resolveBoardConnectorPathGeometry(commands: readonly BoardConnectorPathCommand[]): IBoardConnectorPathGeometry | null;
49
80
  export declare function trimBoardConnectorPathCommands(commands: readonly BoardConnectorPathCommand[], startTrim: number, endTrim: number): BoardConnectorPathCommand[];
50
81
  export declare function hitTestBoardConnectorPath(point: IBoardConnectorPoint, commands: readonly BoardConnectorPathCommand[], tolerance: number): boolean;
51
82
  export declare function resolveBoardConnectorRouteBounds(points: readonly IBoardConnectorPoint[], fallbackTransform?: IBoardElementTransform): IBoardConnectorRouteBounds;
52
83
  export declare function distanceToBoardConnectorSegment(point: IBoardConnectorPoint, start: IBoardConnectorPoint, end: IBoardConnectorPoint): number;
53
84
  export declare function trimBoardConnectorRoute(points: readonly IBoardConnectorPoint[], startTrim: number, endTrim: number): IBoardConnectorPoint[];
85
+ export {};
@@ -6,5 +6,10 @@ export interface IResolveBoardContainerMembershipUpdateItemsOptions {
6
6
  updates: readonly IUpdateBoardElementsCommandItem[];
7
7
  forceCaptureElementIds?: readonly string[];
8
8
  spatialIndex?: IBoardElementSpatialIndex;
9
+ mode?: BoardContainerMembershipUpdateMode;
10
+ }
11
+ export declare enum BoardContainerMembershipUpdateMode {
12
+ Spatial = "spatial",
13
+ Preserve = "preserve"
9
14
  }
10
15
  export declare function resolveBoardContainerMembershipUpdateItems(options: IResolveBoardContainerMembershipUpdateItemsOptions): IUpdateBoardElementsCommandItem[];
@@ -1,4 +1,5 @@
1
1
  import type { IBoardElementData, IBoardRect } from '@univerjs-pro/boards';
2
+ import { resolveBoardElementBounds } from './board-selection-geometry.util';
2
3
  export interface IBoardPoint {
3
4
  x: number;
4
5
  y: number;
@@ -7,6 +8,7 @@ export interface ICreateBoardElementSpatialIndexOptions {
7
8
  unitId: string;
8
9
  subUnitId: string;
9
10
  elementData: Record<string, IBoardElementData>;
11
+ resolveElementBounds?: Parameters<typeof resolveBoardElementBounds>[2];
10
12
  }
11
13
  export interface IBoardElementSpatialIndex {
12
14
  queryIntersecting(bounds: IBoardRect): string[];
@@ -1,5 +1,8 @@
1
- import type { BoardConnectorRouting, IBoardConnectorStyle, IBoardElementData } from '@univerjs-pro/boards';
1
+ import type { BoardConnectorRouting, IBoardConnectorStyle, IBoardContainerElement, IBoardElementData, IBoardSwimlaneLane, IBoardTextStyle } from '@univerjs-pro/boards';
2
2
  import type { IShapeData } from '@univerjs-pro/engine-shape';
3
+ import type { buildShapeTextDataUpdate } from '@univerjs-pro/shape-editor-ui';
4
+ import type { ITextStyle } from '@univerjs/core';
5
+ import { HorizontalAlign, VerticalAlign } from '@univerjs/core';
3
6
  export type BoardFloatingToolbarOwner = 'common' | 'connector' | 'mind-map' | 'none' | 'shape' | 'table';
4
7
  export interface IBoardFloatingToolbarSelection {
5
8
  elements: IBoardElementData[];
@@ -13,6 +16,24 @@ export interface IResolveBoardFloatingToolbarSelectionOptions {
13
16
  selectedIds: readonly string[];
14
17
  getElementById: (unitId: string, subUnitId: string, elementId: string) => IBoardElementData | null | undefined;
15
18
  }
19
+ export interface IBoardSwimlaneLaneTypographyTarget {
20
+ container: IBoardContainerElement;
21
+ lane: IBoardSwimlaneLane;
22
+ }
23
+ export declare function boardTextStyleToToolbarTextStyle(style: IBoardTextStyle | undefined, fallbackFontSize: number): ITextStyle;
24
+ export declare function getContainerTitleStyle(element: IBoardContainerElement | undefined): IBoardTextStyle | undefined;
25
+ export declare function getSwimlaneLaneTypographyTarget(element: IBoardContainerElement | undefined, laneId: string | undefined): IBoardSwimlaneLaneTypographyTarget | null;
26
+ export declare function getSwimlaneLaneTitleTextModel(target: IBoardSwimlaneLaneTypographyTarget | null): {
27
+ ha?: HorizontalAlign;
28
+ va?: VerticalAlign;
29
+ } | null;
30
+ export declare function getSwimlaneContainerTitleTextModel(element: IBoardContainerElement | undefined): {
31
+ ha?: HorizontalAlign;
32
+ va?: VerticalAlign;
33
+ } | null;
34
+ export declare function isUnfocusedSwimlaneTypographyTarget(element: IBoardContainerElement, laneTarget: IBoardSwimlaneLaneTypographyTarget | null): boolean;
35
+ export declare function buildTitleStyleUpdate(currentStyle: IBoardTextStyle | undefined, params: Parameters<typeof buildShapeTextDataUpdate>[1]): IBoardTextStyle;
36
+ export declare function buildContainerTitleStyleUpdate(element: IBoardContainerElement, params: Parameters<typeof buildShapeTextDataUpdate>[1]): IBoardTextStyle;
16
37
  /**
17
38
  * Resolves one owner for the selection-level floating toolbar.
18
39
  *
@@ -0,0 +1,13 @@
1
+ import type { IBoardElementData } from '@univerjs-pro/boards';
2
+ import type { IBoardSelectionRect } from './board-selection-geometry.util';
3
+ export interface IBoardGuideCandidate {
4
+ elementId: string;
5
+ rect: IBoardSelectionRect;
6
+ }
7
+ export interface ICreateBoardGuideCandidatesOptions {
8
+ activeIds: readonly string[];
9
+ bounds?: IBoardSelectionRect;
10
+ elementData: Record<string, IBoardElementData>;
11
+ elementOrder: readonly string[];
12
+ }
13
+ export declare function createBoardGuideCandidates(options: ICreateBoardGuideCandidatesOptions): IBoardGuideCandidate[];
@@ -6,17 +6,20 @@ export interface IBoardSelectionRect {
6
6
  width: number;
7
7
  height: number;
8
8
  }
9
+ export type BoardElementBoundsResolver = (elementDataItem: IBoardElementData) => IBoardSelectionRect | null | undefined;
9
10
  export interface ISelectBoardElementsByRectOptions {
10
11
  elementData: Record<string, IBoardElementData>;
11
12
  elementOrder: string[];
12
13
  rect: IBoardSelectionRect;
13
14
  preciseSelection: boolean;
15
+ resolveElementBounds?: BoardElementBoundsResolver;
14
16
  spatialIndex?: IBoardElementSpatialIndex;
15
17
  }
16
18
  export interface IResolveBoardElementsBoundsOptions {
17
19
  elementData: Record<string, IBoardElementData>;
18
20
  elementOrder: string[];
19
21
  includeHidden?: boolean;
22
+ resolveElementBounds?: BoardElementBoundsResolver;
20
23
  }
21
24
  export interface IBoardElementSelectionResult {
22
25
  unitId: string;
@@ -25,7 +28,7 @@ export interface IBoardElementSelectionResult {
25
28
  element: IBoardElementData['element'];
26
29
  transform: IBoardElementData['transform'];
27
30
  }
28
- export declare function resolveBoardElementBounds(elementDataItem: IBoardElementData, elementData: Record<string, IBoardElementData>): IBoardSelectionRect;
31
+ export declare function resolveBoardElementBounds(elementDataItem: IBoardElementData, elementData: Record<string, IBoardElementData>, resolveElementBounds?: BoardElementBoundsResolver): IBoardSelectionRect;
29
32
  export declare function isBoardElementVisibleInTree(elementData: Record<string, IBoardElementData>, elementDataItem: IBoardElementData | undefined): elementDataItem is IBoardElementData;
30
33
  export declare function selectBoardElementsByRect(options: ISelectBoardElementsByRectOptions): IBoardElementSelectionResult[];
31
34
  export declare function resolveBoardElementsBounds(options: IResolveBoardElementsBoundsOptions): IBoardSelectionRect | null;
@@ -5,8 +5,10 @@ export interface IHitTestBoardElementAtPointOptions {
5
5
  elementData: Record<string, IBoardElementData>;
6
6
  elementOrder: string[];
7
7
  point: IBoardSelectionPoint;
8
+ hitTestElement?: BoardElementHitTester;
8
9
  spatialIndex?: IBoardElementSpatialIndex;
9
10
  }
11
+ export type BoardElementHitTester = (elementDataItem: IBoardElementData, point: IBoardSelectionPoint) => boolean | undefined;
10
12
  export interface IBoardElementHitTestResult {
11
13
  unitId: string;
12
14
  subUnitId: string;
@@ -1,6 +1,6 @@
1
1
  import type { IBoardElementData } from '@univerjs-pro/boards';
2
2
  import type { IBoardElementSpatialIndex } from './board-container-spatial-index.util';
3
- import type { IBoardSelectionRect } from './board-selection-geometry.util';
3
+ import type { BoardElementBoundsResolver, IBoardSelectionRect } from './board-selection-geometry.util';
4
4
  export declare const BOARD_SELECTION_DRAG_THRESHOLD = 4;
5
5
  export interface IBoardSelectionPoint {
6
6
  x: number;
@@ -11,7 +11,9 @@ export interface IResolveBoardElementDragSelectionOptions {
11
11
  elementOrder: string[];
12
12
  start: IBoardSelectionPoint;
13
13
  end: IBoardSelectionPoint;
14
+ dragSelection: boolean;
14
15
  preciseSelection: boolean;
16
+ resolveElementBounds?: BoardElementBoundsResolver;
15
17
  spatialIndex?: IBoardElementSpatialIndex;
16
18
  }
17
19
  export interface IResolvedBoardDragSelection {
@@ -8,10 +8,9 @@ export interface IBoardElementSelectionMoveResult {
8
8
  element: IBoardElementData['element'];
9
9
  transform: IBoardElementData['transform'];
10
10
  }
11
- export type IBoardElementSelectionMoveDelta = IBoardSelectionMoveDelta;
12
11
  export interface IResolveBoardElementSelectionMoveOptions {
13
12
  selectedIds: string[];
14
13
  elementData: Record<string, IBoardElementData>;
15
- delta: IBoardElementSelectionMoveDelta;
14
+ delta: IBoardSelectionMoveDelta;
16
15
  }
17
16
  export declare function resolveBoardElementSelectionMove(options: IResolveBoardElementSelectionMoveOptions): IBoardElementSelectionMoveResult[];