@flowscape-ui/core-sdk 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -6
- package/dist/index.cjs +58 -4
- package/dist/index.d.cts +97 -1
- package/dist/index.d.ts +97 -1
- package/dist/index.js +58 -4
- package/package.json +10 -5
package/dist/index.d.cts
CHANGED
|
@@ -526,6 +526,36 @@ interface EllipseNodeOptions extends BaseNodeOptions {
|
|
|
526
526
|
strokeWidth?: number;
|
|
527
527
|
}
|
|
528
528
|
|
|
529
|
+
interface FrameOptions {
|
|
530
|
+
x: number;
|
|
531
|
+
y: number;
|
|
532
|
+
width: number;
|
|
533
|
+
height: number;
|
|
534
|
+
background?: string;
|
|
535
|
+
label?: string;
|
|
536
|
+
labelColor?: string;
|
|
537
|
+
labelHoverColor?: string;
|
|
538
|
+
template?: string;
|
|
539
|
+
draggable?: boolean;
|
|
540
|
+
id?: string;
|
|
541
|
+
name?: string;
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
type FrameNodeOptions = FrameOptions & BaseNodeOptions;
|
|
545
|
+
declare class FrameNode extends BaseNode<Konva.Group> {
|
|
546
|
+
private _rect;
|
|
547
|
+
private _contentGroup;
|
|
548
|
+
private _container;
|
|
549
|
+
constructor(options: FrameNodeOptions);
|
|
550
|
+
getRect(): Konva.Rect;
|
|
551
|
+
getContentGroup(): Konva.Group;
|
|
552
|
+
/**
|
|
553
|
+
* Resize visual frame area without affecting child nodes.
|
|
554
|
+
* Updates rect size and clipping container.
|
|
555
|
+
*/
|
|
556
|
+
resize(width: number, height: number): void;
|
|
557
|
+
}
|
|
558
|
+
|
|
529
559
|
interface MediaPlaceholderOptions {
|
|
530
560
|
text: string;
|
|
531
561
|
textColor: string;
|
|
@@ -895,9 +925,12 @@ declare class NodeManager {
|
|
|
895
925
|
private _nodes;
|
|
896
926
|
private _stage;
|
|
897
927
|
private _eventBus;
|
|
928
|
+
private _frameLabels;
|
|
929
|
+
private _selectedFrame;
|
|
898
930
|
private _batchDrawScheduled;
|
|
899
931
|
private _listCache;
|
|
900
932
|
private _listCacheInvalidated;
|
|
933
|
+
private _hadFrameInLastMultiSelection;
|
|
901
934
|
constructor(stage: Konva.Stage, eventBus: EventBus<CoreEvents>);
|
|
902
935
|
get layer(): Konva.Layer;
|
|
903
936
|
get world(): Konva.Group;
|
|
@@ -917,6 +950,7 @@ declare class NodeManager {
|
|
|
917
950
|
addSvg(options: SvgNodeOptions): SvgNodeHandle;
|
|
918
951
|
addVideo(options: VideoNodeOptions): VideoNodeHandle;
|
|
919
952
|
addGif(options: GifNodeOptions): GifNodeHandle;
|
|
953
|
+
addFrame(options: FrameNodeOptions): FrameNode;
|
|
920
954
|
remove(node: BaseNode): void;
|
|
921
955
|
findById(id: string): BaseNode | undefined;
|
|
922
956
|
list(): BaseNode[];
|
|
@@ -925,6 +959,14 @@ declare class NodeManager {
|
|
|
925
959
|
* CRITICAL OPTIMIZATION: group multiple node additions
|
|
926
960
|
*/
|
|
927
961
|
private _scheduleBatchDraw;
|
|
962
|
+
private _listFrames;
|
|
963
|
+
private _attachFrameAutogroupHandlers;
|
|
964
|
+
/**
|
|
965
|
+
* Обновить позицию overlay label над соответствующими фреймами
|
|
966
|
+
* (используется при создании и drag фреймов)
|
|
967
|
+
*/
|
|
968
|
+
private _updateFrameLabelsPosition;
|
|
969
|
+
private _enforceFrameDraggableInvariant;
|
|
928
970
|
}
|
|
929
971
|
|
|
930
972
|
interface LODLevel {
|
|
@@ -1052,6 +1094,7 @@ declare class VirtualizationManager {
|
|
|
1052
1094
|
private _viewport;
|
|
1053
1095
|
private _visibleNodes;
|
|
1054
1096
|
private _hiddenNodes;
|
|
1097
|
+
private _tempMultiNodeIds;
|
|
1055
1098
|
private _updateScheduled;
|
|
1056
1099
|
private _lod;
|
|
1057
1100
|
constructor(_stage: Konva.Stage, _world: Konva.Group, _nodeManager: NodeManager, options?: VirtualizationOptions);
|
|
@@ -1396,6 +1439,8 @@ declare class AreaSelectionPlugin extends Plugin {
|
|
|
1396
1439
|
constructor(options?: AreaSelectionPluginOptions);
|
|
1397
1440
|
protected onAttach(core: CoreEngine): void;
|
|
1398
1441
|
protected onDetach(core: CoreEngine): void;
|
|
1442
|
+
/** Проверить, что прямоугольник `inner` полностью содержится внутри `outer`. */
|
|
1443
|
+
private _rectContains;
|
|
1399
1444
|
private _startAutoPanLoop;
|
|
1400
1445
|
private _stopAutoPanLoop;
|
|
1401
1446
|
private _finalizeArea;
|
|
@@ -2144,6 +2189,7 @@ declare class SelectionPlugin extends Plugin {
|
|
|
2144
2189
|
private _cornerHandles;
|
|
2145
2190
|
private _cornerHandlesSuppressed;
|
|
2146
2191
|
private _transformOppositeCorner;
|
|
2192
|
+
private _isTransforming;
|
|
2147
2193
|
private _sizeLabel;
|
|
2148
2194
|
private _radiusLabel;
|
|
2149
2195
|
private _rotateHandlesGroup;
|
|
@@ -2153,6 +2199,10 @@ declare class SelectionPlugin extends Plugin {
|
|
|
2153
2199
|
private _prevStageDraggableBeforeRotate;
|
|
2154
2200
|
private _worldSyncRafId;
|
|
2155
2201
|
private _onCameraZoomEvent;
|
|
2202
|
+
private _onFrameChildrenChangedBound;
|
|
2203
|
+
private _onFrameLabelClickedBound;
|
|
2204
|
+
private _onFrameLabelDragStartBound;
|
|
2205
|
+
private _onFrameLabelDragEndBound;
|
|
2156
2206
|
private _hoverTr;
|
|
2157
2207
|
private _isPointerDown;
|
|
2158
2208
|
private _autoPanRafId;
|
|
@@ -2160,6 +2210,7 @@ declare class SelectionPlugin extends Plugin {
|
|
|
2160
2210
|
private _autoPanEdgePx;
|
|
2161
2211
|
private _autoPanMaxSpeedPx;
|
|
2162
2212
|
private _draggingNode;
|
|
2213
|
+
private _tempMultiTransformingGroup;
|
|
2163
2214
|
private _ratioKeyPressed;
|
|
2164
2215
|
private _onGlobalKeyDown;
|
|
2165
2216
|
private _onGlobalKeyUp;
|
|
@@ -2168,6 +2219,13 @@ declare class SelectionPlugin extends Plugin {
|
|
|
2168
2219
|
private _tempMultiInitialTransforms;
|
|
2169
2220
|
private _tempMultiGroup;
|
|
2170
2221
|
private _tempOverlay;
|
|
2222
|
+
/**
|
|
2223
|
+
* Public readonly access to the currently selected BaseNode
|
|
2224
|
+
* (or null if there is no selection). Mutable selection logic
|
|
2225
|
+
* still lives inside SelectionPlugin; this method is used only
|
|
2226
|
+
* for safe inspection from other plugins.
|
|
2227
|
+
*/
|
|
2228
|
+
getSelected(): BaseNode | null;
|
|
2171
2229
|
getMultiGroupController(): MultiGroupController;
|
|
2172
2230
|
private _multiCtrl;
|
|
2173
2231
|
private _startAutoPanLoop;
|
|
@@ -2185,6 +2243,18 @@ declare class SelectionPlugin extends Plugin {
|
|
|
2185
2243
|
private _uiUpdateDebounce;
|
|
2186
2244
|
constructor(options?: SelectionPluginOptions);
|
|
2187
2245
|
setOptions(patch: Partial<SelectionPluginOptions>): void;
|
|
2246
|
+
/**
|
|
2247
|
+
* Select a single node from area (lasso) selection, without creating temp-multi.
|
|
2248
|
+
* Used by AreaSelectionPlugin so that single-node selection (including FrameNode)
|
|
2249
|
+
* reuses the same transformer and resize logic as обычный клик.
|
|
2250
|
+
*/
|
|
2251
|
+
selectSingleFromArea(node: BaseNode): void;
|
|
2252
|
+
/**
|
|
2253
|
+
* Clear current selection (single + temp-multi) when starting lasso
|
|
2254
|
+
* in special cases (e.g. inside FrameNode background) to mirror
|
|
2255
|
+
* behavior of clicking on empty space in world.
|
|
2256
|
+
*/
|
|
2257
|
+
clearSelectionFromAreaLasso(): void;
|
|
2188
2258
|
protected onAttach(core: CoreEngine): void;
|
|
2189
2259
|
protected onDetach(core: CoreEngine): void;
|
|
2190
2260
|
private _onMouseDown;
|
|
@@ -2210,10 +2280,26 @@ declare class SelectionPlugin extends Plugin {
|
|
|
2210
2280
|
private _ensureTempMulti;
|
|
2211
2281
|
private _destroyTempMultiOverlayOnly;
|
|
2212
2282
|
private _destroyTempMulti;
|
|
2283
|
+
/**
|
|
2284
|
+
* FRAME-SPECIFIC: автогруппировка для временной multi-группы.
|
|
2285
|
+
* Для каждой ноды из tempMultiSet повторяет логику
|
|
2286
|
+
* NodeManager._attachFrameAutogroupHandlers:
|
|
2287
|
+
* - если нода была внутри FrameNode и вышла за его пределы, возвращаем её в world;
|
|
2288
|
+
* - если нода была в world и её центр оказался внутри фрейма, переносим в contentGroup.
|
|
2289
|
+
* Поведение вне FrameNode остаётся без изменений.
|
|
2290
|
+
*/
|
|
2291
|
+
private _autogroupTempMultiInFrames;
|
|
2213
2292
|
private _commitTempMultiToGroup;
|
|
2214
2293
|
private _tryUngroupSelectedGroup;
|
|
2215
2294
|
private _ensureHoverTr;
|
|
2216
2295
|
private _destroyHoverTr;
|
|
2296
|
+
/**
|
|
2297
|
+
* Frame-specific selectability rules for direct clicks/hover:
|
|
2298
|
+
* - If the owning BaseNode is a FrameNode and it has at least one child inside contentGroup,
|
|
2299
|
+
* the frame is not directly selectable/hoverable (selection only via lasso).
|
|
2300
|
+
* - Empty frames and all other nodes remain selectable.
|
|
2301
|
+
*/
|
|
2302
|
+
private _isSelectableByFrameRules;
|
|
2217
2303
|
private _onHoverMoveThrottled;
|
|
2218
2304
|
private _onHoverMove;
|
|
2219
2305
|
private _onHoverDown;
|
|
@@ -2271,6 +2357,7 @@ declare class VisualGuidesPlugin extends Plugin {
|
|
|
2271
2357
|
private _core?;
|
|
2272
2358
|
private _options;
|
|
2273
2359
|
private _layer;
|
|
2360
|
+
private _maxGuideDistancePx;
|
|
2274
2361
|
private _dragMoveHandler;
|
|
2275
2362
|
private _dragEndHandler;
|
|
2276
2363
|
private _nodesAddHandler;
|
|
@@ -2459,4 +2546,13 @@ declare class ThrottleHelper {
|
|
|
2459
2546
|
getThrottle(): number;
|
|
2460
2547
|
}
|
|
2461
2548
|
|
|
2462
|
-
|
|
2549
|
+
declare const frameTemplates: {
|
|
2550
|
+
readonly desktopFrame: {
|
|
2551
|
+
width: number;
|
|
2552
|
+
height: number;
|
|
2553
|
+
template: string;
|
|
2554
|
+
label: string;
|
|
2555
|
+
};
|
|
2556
|
+
};
|
|
2557
|
+
|
|
2558
|
+
export { type ArcNodeHandle, type ArcNodeOptions, AreaSelectionPlugin, type AreaSelectionPluginOptions, type ArrowNodeHandle, type ArrowNodeOptions, type BaseNodeOptions, type CameraHotkeysOptions, CameraHotkeysPlugin, CameraManager, type CircleNodeHandle, type CircleNodeOptions, ContentFromClipboardPlugin, type ContentFromClipboardPluginOptions, CoreEngine, type CoreEngineOptions, type CoreEvents, DebounceHelper, type EllipseNodeHandle, type EllipseNodeOptions, EventBus, FrameNode, type FrameNodeOptions, type FrameOptions, type GifNodeHandle, type GifNodeOptions, GridPlugin, type GridPluginOptions, type GroupNodeHandle, type GroupNodeOptions, type HistoryAction, HistoryManager, HistoryPlugin, type HistoryPluginOptions, ImageHoverFilterAddon, type ImageNodeHandle, type ImageNodeOptions, type ImageSource, type KonvaArc, type KonvaArrow, type KonvaCircle, type KonvaEllipse, type KonvaGroup, type KonvaGroupConfig, type KonvaImage, type KonvaLayer, type KonvaNode, type KonvaNodeConfig, type KonvaRegularPolygon, type KonvaRing, type KonvaShape, type KonvaStage, type KonvaStar, type KonvaText, type LogoOptions, LogoPlugin, MediaPlaceholder, type MediaPlaceholderOptions, NodeAddon, NodeAddons, type NodeAddonsHandle, type NodeHandle, type NodeHotkeysOptions, NodeHotkeysPlugin, NodeManager, PluginAddon, Plugins, type RegularPolygonNodeHandle, type RegularPolygonNodeOptions, type RingNodeHandle, type RingNodeOptions, RulerGuidesAddon, RulerGuidesPlugin, type RulerGuidesPluginOptions, RulerHighlightAddon, RulerHighlightPlugin, type RulerHighlightPluginOptions, RulerManagerAddon, RulerManagerPlugin, type RulerManagerPluginOptions, RulerPlugin, type RulerPluginOptions, SelectionPlugin, type SelectionPluginOptions, ShapeHoverHighlightAddon, type ShapeNodeHandle, type ShapeNodeOptions, type StarNodeHandle, type StarNodeOptions, type SvgNodeHandle, type SvgNodeOptions, TextAutoTrimAddon, type TextNodeHandle, type TextNodeOptions, ThrottleHelper, type VideoNodeHandle, type VideoNodeOptions, VideoOverlayAddon, type VideoOverlayAddonOptions, VisualGuidesPlugin, type VisualGuidesPluginOptions, frameTemplates };
|
package/dist/index.d.ts
CHANGED
|
@@ -526,6 +526,36 @@ interface EllipseNodeOptions extends BaseNodeOptions {
|
|
|
526
526
|
strokeWidth?: number;
|
|
527
527
|
}
|
|
528
528
|
|
|
529
|
+
interface FrameOptions {
|
|
530
|
+
x: number;
|
|
531
|
+
y: number;
|
|
532
|
+
width: number;
|
|
533
|
+
height: number;
|
|
534
|
+
background?: string;
|
|
535
|
+
label?: string;
|
|
536
|
+
labelColor?: string;
|
|
537
|
+
labelHoverColor?: string;
|
|
538
|
+
template?: string;
|
|
539
|
+
draggable?: boolean;
|
|
540
|
+
id?: string;
|
|
541
|
+
name?: string;
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
type FrameNodeOptions = FrameOptions & BaseNodeOptions;
|
|
545
|
+
declare class FrameNode extends BaseNode<Konva.Group> {
|
|
546
|
+
private _rect;
|
|
547
|
+
private _contentGroup;
|
|
548
|
+
private _container;
|
|
549
|
+
constructor(options: FrameNodeOptions);
|
|
550
|
+
getRect(): Konva.Rect;
|
|
551
|
+
getContentGroup(): Konva.Group;
|
|
552
|
+
/**
|
|
553
|
+
* Resize visual frame area without affecting child nodes.
|
|
554
|
+
* Updates rect size and clipping container.
|
|
555
|
+
*/
|
|
556
|
+
resize(width: number, height: number): void;
|
|
557
|
+
}
|
|
558
|
+
|
|
529
559
|
interface MediaPlaceholderOptions {
|
|
530
560
|
text: string;
|
|
531
561
|
textColor: string;
|
|
@@ -895,9 +925,12 @@ declare class NodeManager {
|
|
|
895
925
|
private _nodes;
|
|
896
926
|
private _stage;
|
|
897
927
|
private _eventBus;
|
|
928
|
+
private _frameLabels;
|
|
929
|
+
private _selectedFrame;
|
|
898
930
|
private _batchDrawScheduled;
|
|
899
931
|
private _listCache;
|
|
900
932
|
private _listCacheInvalidated;
|
|
933
|
+
private _hadFrameInLastMultiSelection;
|
|
901
934
|
constructor(stage: Konva.Stage, eventBus: EventBus<CoreEvents>);
|
|
902
935
|
get layer(): Konva.Layer;
|
|
903
936
|
get world(): Konva.Group;
|
|
@@ -917,6 +950,7 @@ declare class NodeManager {
|
|
|
917
950
|
addSvg(options: SvgNodeOptions): SvgNodeHandle;
|
|
918
951
|
addVideo(options: VideoNodeOptions): VideoNodeHandle;
|
|
919
952
|
addGif(options: GifNodeOptions): GifNodeHandle;
|
|
953
|
+
addFrame(options: FrameNodeOptions): FrameNode;
|
|
920
954
|
remove(node: BaseNode): void;
|
|
921
955
|
findById(id: string): BaseNode | undefined;
|
|
922
956
|
list(): BaseNode[];
|
|
@@ -925,6 +959,14 @@ declare class NodeManager {
|
|
|
925
959
|
* CRITICAL OPTIMIZATION: group multiple node additions
|
|
926
960
|
*/
|
|
927
961
|
private _scheduleBatchDraw;
|
|
962
|
+
private _listFrames;
|
|
963
|
+
private _attachFrameAutogroupHandlers;
|
|
964
|
+
/**
|
|
965
|
+
* Обновить позицию overlay label над соответствующими фреймами
|
|
966
|
+
* (используется при создании и drag фреймов)
|
|
967
|
+
*/
|
|
968
|
+
private _updateFrameLabelsPosition;
|
|
969
|
+
private _enforceFrameDraggableInvariant;
|
|
928
970
|
}
|
|
929
971
|
|
|
930
972
|
interface LODLevel {
|
|
@@ -1052,6 +1094,7 @@ declare class VirtualizationManager {
|
|
|
1052
1094
|
private _viewport;
|
|
1053
1095
|
private _visibleNodes;
|
|
1054
1096
|
private _hiddenNodes;
|
|
1097
|
+
private _tempMultiNodeIds;
|
|
1055
1098
|
private _updateScheduled;
|
|
1056
1099
|
private _lod;
|
|
1057
1100
|
constructor(_stage: Konva.Stage, _world: Konva.Group, _nodeManager: NodeManager, options?: VirtualizationOptions);
|
|
@@ -1396,6 +1439,8 @@ declare class AreaSelectionPlugin extends Plugin {
|
|
|
1396
1439
|
constructor(options?: AreaSelectionPluginOptions);
|
|
1397
1440
|
protected onAttach(core: CoreEngine): void;
|
|
1398
1441
|
protected onDetach(core: CoreEngine): void;
|
|
1442
|
+
/** Проверить, что прямоугольник `inner` полностью содержится внутри `outer`. */
|
|
1443
|
+
private _rectContains;
|
|
1399
1444
|
private _startAutoPanLoop;
|
|
1400
1445
|
private _stopAutoPanLoop;
|
|
1401
1446
|
private _finalizeArea;
|
|
@@ -2144,6 +2189,7 @@ declare class SelectionPlugin extends Plugin {
|
|
|
2144
2189
|
private _cornerHandles;
|
|
2145
2190
|
private _cornerHandlesSuppressed;
|
|
2146
2191
|
private _transformOppositeCorner;
|
|
2192
|
+
private _isTransforming;
|
|
2147
2193
|
private _sizeLabel;
|
|
2148
2194
|
private _radiusLabel;
|
|
2149
2195
|
private _rotateHandlesGroup;
|
|
@@ -2153,6 +2199,10 @@ declare class SelectionPlugin extends Plugin {
|
|
|
2153
2199
|
private _prevStageDraggableBeforeRotate;
|
|
2154
2200
|
private _worldSyncRafId;
|
|
2155
2201
|
private _onCameraZoomEvent;
|
|
2202
|
+
private _onFrameChildrenChangedBound;
|
|
2203
|
+
private _onFrameLabelClickedBound;
|
|
2204
|
+
private _onFrameLabelDragStartBound;
|
|
2205
|
+
private _onFrameLabelDragEndBound;
|
|
2156
2206
|
private _hoverTr;
|
|
2157
2207
|
private _isPointerDown;
|
|
2158
2208
|
private _autoPanRafId;
|
|
@@ -2160,6 +2210,7 @@ declare class SelectionPlugin extends Plugin {
|
|
|
2160
2210
|
private _autoPanEdgePx;
|
|
2161
2211
|
private _autoPanMaxSpeedPx;
|
|
2162
2212
|
private _draggingNode;
|
|
2213
|
+
private _tempMultiTransformingGroup;
|
|
2163
2214
|
private _ratioKeyPressed;
|
|
2164
2215
|
private _onGlobalKeyDown;
|
|
2165
2216
|
private _onGlobalKeyUp;
|
|
@@ -2168,6 +2219,13 @@ declare class SelectionPlugin extends Plugin {
|
|
|
2168
2219
|
private _tempMultiInitialTransforms;
|
|
2169
2220
|
private _tempMultiGroup;
|
|
2170
2221
|
private _tempOverlay;
|
|
2222
|
+
/**
|
|
2223
|
+
* Public readonly access to the currently selected BaseNode
|
|
2224
|
+
* (or null if there is no selection). Mutable selection logic
|
|
2225
|
+
* still lives inside SelectionPlugin; this method is used only
|
|
2226
|
+
* for safe inspection from other plugins.
|
|
2227
|
+
*/
|
|
2228
|
+
getSelected(): BaseNode | null;
|
|
2171
2229
|
getMultiGroupController(): MultiGroupController;
|
|
2172
2230
|
private _multiCtrl;
|
|
2173
2231
|
private _startAutoPanLoop;
|
|
@@ -2185,6 +2243,18 @@ declare class SelectionPlugin extends Plugin {
|
|
|
2185
2243
|
private _uiUpdateDebounce;
|
|
2186
2244
|
constructor(options?: SelectionPluginOptions);
|
|
2187
2245
|
setOptions(patch: Partial<SelectionPluginOptions>): void;
|
|
2246
|
+
/**
|
|
2247
|
+
* Select a single node from area (lasso) selection, without creating temp-multi.
|
|
2248
|
+
* Used by AreaSelectionPlugin so that single-node selection (including FrameNode)
|
|
2249
|
+
* reuses the same transformer and resize logic as обычный клик.
|
|
2250
|
+
*/
|
|
2251
|
+
selectSingleFromArea(node: BaseNode): void;
|
|
2252
|
+
/**
|
|
2253
|
+
* Clear current selection (single + temp-multi) when starting lasso
|
|
2254
|
+
* in special cases (e.g. inside FrameNode background) to mirror
|
|
2255
|
+
* behavior of clicking on empty space in world.
|
|
2256
|
+
*/
|
|
2257
|
+
clearSelectionFromAreaLasso(): void;
|
|
2188
2258
|
protected onAttach(core: CoreEngine): void;
|
|
2189
2259
|
protected onDetach(core: CoreEngine): void;
|
|
2190
2260
|
private _onMouseDown;
|
|
@@ -2210,10 +2280,26 @@ declare class SelectionPlugin extends Plugin {
|
|
|
2210
2280
|
private _ensureTempMulti;
|
|
2211
2281
|
private _destroyTempMultiOverlayOnly;
|
|
2212
2282
|
private _destroyTempMulti;
|
|
2283
|
+
/**
|
|
2284
|
+
* FRAME-SPECIFIC: автогруппировка для временной multi-группы.
|
|
2285
|
+
* Для каждой ноды из tempMultiSet повторяет логику
|
|
2286
|
+
* NodeManager._attachFrameAutogroupHandlers:
|
|
2287
|
+
* - если нода была внутри FrameNode и вышла за его пределы, возвращаем её в world;
|
|
2288
|
+
* - если нода была в world и её центр оказался внутри фрейма, переносим в contentGroup.
|
|
2289
|
+
* Поведение вне FrameNode остаётся без изменений.
|
|
2290
|
+
*/
|
|
2291
|
+
private _autogroupTempMultiInFrames;
|
|
2213
2292
|
private _commitTempMultiToGroup;
|
|
2214
2293
|
private _tryUngroupSelectedGroup;
|
|
2215
2294
|
private _ensureHoverTr;
|
|
2216
2295
|
private _destroyHoverTr;
|
|
2296
|
+
/**
|
|
2297
|
+
* Frame-specific selectability rules for direct clicks/hover:
|
|
2298
|
+
* - If the owning BaseNode is a FrameNode and it has at least one child inside contentGroup,
|
|
2299
|
+
* the frame is not directly selectable/hoverable (selection only via lasso).
|
|
2300
|
+
* - Empty frames and all other nodes remain selectable.
|
|
2301
|
+
*/
|
|
2302
|
+
private _isSelectableByFrameRules;
|
|
2217
2303
|
private _onHoverMoveThrottled;
|
|
2218
2304
|
private _onHoverMove;
|
|
2219
2305
|
private _onHoverDown;
|
|
@@ -2271,6 +2357,7 @@ declare class VisualGuidesPlugin extends Plugin {
|
|
|
2271
2357
|
private _core?;
|
|
2272
2358
|
private _options;
|
|
2273
2359
|
private _layer;
|
|
2360
|
+
private _maxGuideDistancePx;
|
|
2274
2361
|
private _dragMoveHandler;
|
|
2275
2362
|
private _dragEndHandler;
|
|
2276
2363
|
private _nodesAddHandler;
|
|
@@ -2459,4 +2546,13 @@ declare class ThrottleHelper {
|
|
|
2459
2546
|
getThrottle(): number;
|
|
2460
2547
|
}
|
|
2461
2548
|
|
|
2462
|
-
|
|
2549
|
+
declare const frameTemplates: {
|
|
2550
|
+
readonly desktopFrame: {
|
|
2551
|
+
width: number;
|
|
2552
|
+
height: number;
|
|
2553
|
+
template: string;
|
|
2554
|
+
label: string;
|
|
2555
|
+
};
|
|
2556
|
+
};
|
|
2557
|
+
|
|
2558
|
+
export { type ArcNodeHandle, type ArcNodeOptions, AreaSelectionPlugin, type AreaSelectionPluginOptions, type ArrowNodeHandle, type ArrowNodeOptions, type BaseNodeOptions, type CameraHotkeysOptions, CameraHotkeysPlugin, CameraManager, type CircleNodeHandle, type CircleNodeOptions, ContentFromClipboardPlugin, type ContentFromClipboardPluginOptions, CoreEngine, type CoreEngineOptions, type CoreEvents, DebounceHelper, type EllipseNodeHandle, type EllipseNodeOptions, EventBus, FrameNode, type FrameNodeOptions, type FrameOptions, type GifNodeHandle, type GifNodeOptions, GridPlugin, type GridPluginOptions, type GroupNodeHandle, type GroupNodeOptions, type HistoryAction, HistoryManager, HistoryPlugin, type HistoryPluginOptions, ImageHoverFilterAddon, type ImageNodeHandle, type ImageNodeOptions, type ImageSource, type KonvaArc, type KonvaArrow, type KonvaCircle, type KonvaEllipse, type KonvaGroup, type KonvaGroupConfig, type KonvaImage, type KonvaLayer, type KonvaNode, type KonvaNodeConfig, type KonvaRegularPolygon, type KonvaRing, type KonvaShape, type KonvaStage, type KonvaStar, type KonvaText, type LogoOptions, LogoPlugin, MediaPlaceholder, type MediaPlaceholderOptions, NodeAddon, NodeAddons, type NodeAddonsHandle, type NodeHandle, type NodeHotkeysOptions, NodeHotkeysPlugin, NodeManager, PluginAddon, Plugins, type RegularPolygonNodeHandle, type RegularPolygonNodeOptions, type RingNodeHandle, type RingNodeOptions, RulerGuidesAddon, RulerGuidesPlugin, type RulerGuidesPluginOptions, RulerHighlightAddon, RulerHighlightPlugin, type RulerHighlightPluginOptions, RulerManagerAddon, RulerManagerPlugin, type RulerManagerPluginOptions, RulerPlugin, type RulerPluginOptions, SelectionPlugin, type SelectionPluginOptions, ShapeHoverHighlightAddon, type ShapeNodeHandle, type ShapeNodeOptions, type StarNodeHandle, type StarNodeOptions, type SvgNodeHandle, type SvgNodeOptions, TextAutoTrimAddon, type TextNodeHandle, type TextNodeOptions, ThrottleHelper, type VideoNodeHandle, type VideoNodeOptions, VideoOverlayAddon, type VideoOverlayAddonOptions, VisualGuidesPlugin, type VisualGuidesPluginOptions, frameTemplates };
|