@node-edit-utils/core 2.3.1 → 2.3.3
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/dist/lib/canvas/helpers/getCanvasContainerOrBody.d.ts +1 -0
- package/dist/lib/canvas/helpers/getCanvasWindowValue.d.ts +1 -1
- package/dist/lib/helpers/adjustForZoom.d.ts +1 -0
- package/dist/lib/helpers/createDragHandler.d.ts +69 -0
- package/dist/lib/helpers/getNodeProvider.d.ts +1 -0
- package/dist/lib/helpers/getNodeTools.d.ts +2 -0
- package/dist/lib/helpers/getViewportDimensions.d.ts +4 -0
- package/dist/lib/helpers/index.d.ts +9 -1
- package/dist/lib/helpers/parseTransform.d.ts +8 -0
- package/dist/lib/helpers/toggleClass.d.ts +1 -0
- package/dist/lib/node-tools/select/helpers/isInsideViewport.d.ts +1 -0
- package/dist/lib/viewport/constants.d.ts +2 -2
- package/dist/lib/viewport/label/getViewportLabelsOverlay.d.ts +1 -0
- package/dist/lib/viewport/label/helpers/getLabelPosition.d.ts +4 -0
- package/dist/lib/viewport/label/helpers/getTransformValues.d.ts +4 -0
- package/dist/lib/viewport/label/helpers/getZoomValue.d.ts +1 -0
- package/dist/lib/viewport/label/helpers/selectFirstViewportNode.d.ts +5 -0
- package/dist/lib/viewport/label/index.d.ts +4 -0
- package/dist/lib/viewport/label/isViewportLabelDragging.d.ts +2 -0
- package/dist/lib/viewport/label/refreshViewportLabels.d.ts +1 -0
- package/dist/lib/viewport/label/setupViewportLabelDrag.d.ts +1 -0
- package/dist/node-edit-utils.cjs.js +437 -172
- package/dist/node-edit-utils.esm.js +437 -172
- package/dist/node-edit-utils.umd.js +437 -172
- package/dist/node-edit-utils.umd.min.js +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
- package/src/lib/canvas/createCanvasObserver.ts +16 -2
- package/src/lib/canvas/helpers/getCanvasContainerOrBody.ts +6 -0
- package/src/lib/canvas/helpers/getCanvasWindowValue.ts +2 -3
- package/src/lib/helpers/adjustForZoom.ts +4 -0
- package/src/lib/helpers/createDragHandler.ts +171 -0
- package/src/lib/helpers/getNodeProvider.ts +4 -0
- package/src/lib/helpers/getNodeTools.ts +6 -0
- package/src/lib/helpers/getViewportDimensions.ts +7 -0
- package/src/lib/helpers/index.ts +9 -1
- package/src/lib/helpers/parseTransform.ts +9 -0
- package/src/lib/helpers/toggleClass.ts +9 -0
- package/src/lib/node-tools/createNodeTools.ts +11 -5
- package/src/lib/node-tools/highlight/clearHighlightFrame.ts +2 -3
- package/src/lib/node-tools/highlight/createHighlightFrame.ts +5 -9
- package/src/lib/node-tools/highlight/createToolsContainer.ts +3 -6
- package/src/lib/node-tools/highlight/helpers/getElementBounds.ts +6 -5
- package/src/lib/node-tools/highlight/helpers/getHighlightFrameElement.ts +2 -3
- package/src/lib/node-tools/highlight/highlightNode.ts +7 -15
- package/src/lib/node-tools/highlight/refreshHighlightFrame.ts +12 -42
- package/src/lib/node-tools/highlight/updateHighlightFrameVisibility.ts +2 -3
- package/src/lib/node-tools/select/helpers/isInsideViewport.ts +19 -0
- package/src/lib/node-tools/select/selectNode.ts +13 -1
- package/src/lib/node-tools/text/events/setupMutationObserver.ts +1 -0
- package/src/lib/styles/styles.css +48 -1
- package/src/lib/viewport/constants.ts +2 -2
- package/src/lib/viewport/createViewport.ts +56 -41
- package/src/lib/viewport/label/getViewportLabelsOverlay.ts +32 -0
- package/src/lib/viewport/label/helpers/getLabelPosition.ts +6 -0
- package/src/lib/viewport/label/helpers/getTransformValues.ts +6 -0
- package/src/lib/viewport/label/helpers/getZoomValue.ts +4 -0
- package/src/lib/viewport/label/helpers/selectFirstViewportNode.ts +18 -0
- package/src/lib/viewport/label/index.ts +4 -0
- package/src/lib/viewport/label/isViewportLabelDragging.ts +9 -0
- package/src/lib/viewport/label/refreshViewportLabels.ts +69 -0
- package/src/lib/viewport/label/setupViewportLabelDrag.ts +70 -0
- package/src/lib/window/bindToWindow.ts +1 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getCanvasContainerOrBody: () => HTMLElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const getCanvasWindowValue: (path: string[], canvasName?: string) =>
|
|
1
|
+
export declare const getCanvasWindowValue: (path: string[], canvasName?: string) => unknown;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const adjustForZoom: (value: number, zoom: number, precision?: number) => number;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* State tracked during a drag operation
|
|
3
|
+
*/
|
|
4
|
+
export interface DragState {
|
|
5
|
+
isDragging: boolean;
|
|
6
|
+
hasDragged: boolean;
|
|
7
|
+
startX: number;
|
|
8
|
+
startY: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Callbacks for drag operations
|
|
12
|
+
*/
|
|
13
|
+
export interface DragCallbacks {
|
|
14
|
+
/**
|
|
15
|
+
* Called when drag starts
|
|
16
|
+
* @param event - Mouse event that started the drag
|
|
17
|
+
* @param state - Current drag state
|
|
18
|
+
*/
|
|
19
|
+
onStart?: (event: MouseEvent, state: DragState) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Called during drag movement
|
|
22
|
+
* @param event - Mouse move event
|
|
23
|
+
* @param state - Current drag state with updated deltas
|
|
24
|
+
*/
|
|
25
|
+
onDrag: (event: MouseEvent, state: DragState & {
|
|
26
|
+
deltaX: number;
|
|
27
|
+
deltaY: number;
|
|
28
|
+
}) => void;
|
|
29
|
+
/**
|
|
30
|
+
* Called when drag stops
|
|
31
|
+
* @param event - Mouse event that stopped the drag
|
|
32
|
+
* @param state - Final drag state
|
|
33
|
+
*/
|
|
34
|
+
onStop?: (event: MouseEvent, state: DragState) => void;
|
|
35
|
+
/**
|
|
36
|
+
* Called when drag is cancelled (e.g., window blur)
|
|
37
|
+
* @param state - Current drag state
|
|
38
|
+
*/
|
|
39
|
+
onCancel?: (state: DragState) => void;
|
|
40
|
+
/**
|
|
41
|
+
* Called on click events to prevent default behavior
|
|
42
|
+
* @param event - Click event
|
|
43
|
+
* @param state - Current drag state
|
|
44
|
+
*/
|
|
45
|
+
onPreventClick?: (event: MouseEvent, state: DragState) => void;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Options for configuring the drag handler
|
|
49
|
+
*/
|
|
50
|
+
export interface DragHandlerOptions {
|
|
51
|
+
/**
|
|
52
|
+
* Whether to prevent default behavior on start/stop events
|
|
53
|
+
* @default true
|
|
54
|
+
*/
|
|
55
|
+
preventDefault?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Whether to stop event propagation on start/stop events
|
|
58
|
+
* @default true
|
|
59
|
+
*/
|
|
60
|
+
stopPropagation?: boolean;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Creates a reusable drag handler for mouse drag operations
|
|
64
|
+
* @param element - Element that triggers the drag (mousedown listener attached here)
|
|
65
|
+
* @param callbacks - Callbacks for drag lifecycle events
|
|
66
|
+
* @param options - Configuration options
|
|
67
|
+
* @returns Cleanup function to remove all event listeners
|
|
68
|
+
*/
|
|
69
|
+
export declare function createDragHandler(element: HTMLElement | SVGElement, callbacks: DragCallbacks, options?: DragHandlerOptions): () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getNodeProvider: () => HTMLElement | null;
|
|
@@ -1 +1,9 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { adjustForZoom } from "./adjustForZoom";
|
|
2
|
+
export type { DragCallbacks, DragHandlerOptions, DragState } from "./createDragHandler";
|
|
3
|
+
export { createDragHandler } from "./createDragHandler";
|
|
4
|
+
export { getNodeProvider } from "./getNodeProvider";
|
|
5
|
+
export { getNodeTools } from "./getNodeTools";
|
|
6
|
+
export { getViewportDimensions } from "./getViewportDimensions";
|
|
7
|
+
export { parseTransform2d, parseTransform3d } from "./parseTransform";
|
|
8
|
+
export { toggleClass } from "./toggleClass";
|
|
9
|
+
export { withDoubleRAF, withRAF, withRAFThrottle } from "./withRAF";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const toggleClass: (element: Element | null, className: string, condition: boolean) => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isInsideViewport: (element: Element) => boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare const DEFAULT_WIDTH = 400;
|
|
2
2
|
export declare const RESIZE_CONFIG: {
|
|
3
|
-
readonly minWidth:
|
|
4
|
-
readonly maxWidth:
|
|
3
|
+
readonly minWidth: 4;
|
|
4
|
+
readonly maxWidth: 2560;
|
|
5
5
|
};
|
|
6
6
|
export declare const RESIZE_PRESETS: readonly [{
|
|
7
7
|
readonly name: "Mobile";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getViewportLabelsOverlay: () => SVGSVGElement;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getZoomValue: () => number;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { getViewportLabelsOverlay } from "./getViewportLabelsOverlay";
|
|
2
|
+
export { isViewportLabelDragging } from "./isViewportLabelDragging";
|
|
3
|
+
export { refreshViewportLabels } from "./refreshViewportLabels";
|
|
4
|
+
export { setupViewportLabelDrag } from "./setupViewportLabelDrag";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const refreshViewportLabels: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const setupViewportLabelDrag: (labelElement: SVGTextElement, viewportElement: HTMLElement, viewportName: string) => (() => void);
|