@mhamz.01/easyflow-whiteboard 2.168.0 → 2.170.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 (34) hide show
  1. package/dist/components/node/custom-node-overlay-layer.d.ts +2 -43
  2. package/dist/components/node/custom-node-overlay-layer.d.ts.map +1 -1
  3. package/dist/components/node/custom-node-overlay-layer.js +89 -568
  4. package/dist/components/node/custom-node.d.ts +2 -5
  5. package/dist/components/node/custom-node.d.ts.map +1 -1
  6. package/dist/components/node/custom-node.js +11 -22
  7. package/dist/components/node/document-node.d.ts +2 -5
  8. package/dist/components/node/document-node.d.ts.map +1 -1
  9. package/dist/components/node/document-node.js +25 -42
  10. package/dist/components/node/hooks/useFabricSync.d.ts +30 -0
  11. package/dist/components/node/hooks/useFabricSync.d.ts.map +1 -0
  12. package/dist/components/node/hooks/useFabricSync.js +89 -0
  13. package/dist/components/node/hooks/useKeyboardShortcuts.d.ts +22 -8
  14. package/dist/components/node/hooks/useKeyboardShortcuts.d.ts.map +1 -1
  15. package/dist/components/node/hooks/useKeyboardShortcuts.js +30 -21
  16. package/dist/components/node/hooks/useNodeDrag.d.ts +31 -18
  17. package/dist/components/node/hooks/useNodeDrag.d.ts.map +1 -1
  18. package/dist/components/node/hooks/useNodeDrag.js +128 -78
  19. package/dist/components/node/hooks/useNodeSelection.d.ts +28 -0
  20. package/dist/components/node/hooks/useNodeSelection.d.ts.map +1 -0
  21. package/dist/components/node/hooks/useNodeSelection.js +55 -0
  22. package/dist/components/node/hooks/useNodeState.d.ts +15 -0
  23. package/dist/components/node/hooks/useNodeState.d.ts.map +1 -0
  24. package/dist/components/node/hooks/useNodeState.js +24 -0
  25. package/dist/components/node/hooks/useSelectionBox.d.ts +14 -3
  26. package/dist/components/node/hooks/useSelectionBox.d.ts.map +1 -1
  27. package/dist/components/node/hooks/useSelectionBox.js +39 -18
  28. package/dist/components/node/hooks/useWheelZoom.d.ts +16 -6
  29. package/dist/components/node/hooks/useWheelZoom.d.ts.map +1 -1
  30. package/dist/components/node/hooks/useWheelZoom.js +41 -44
  31. package/dist/components/node/types/overlay-types.d.ts +11 -8
  32. package/dist/components/node/types/overlay-types.d.ts.map +1 -1
  33. package/dist/styles.css +0 -3
  34. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
- import { FabricObject, Canvas } from "fabric";
1
+ import type { RefObject, MutableRefObject, MouseEvent as ReactMouseEvent, TouchEvent as ReactTouchEvent } from "react";
2
+ import type { FabricObject, Canvas } from "fabric";
2
3
  export interface Task {
3
4
  id: string;
4
5
  title: string;
@@ -20,6 +21,13 @@ export interface Document {
20
21
  x: number;
21
22
  y: number;
22
23
  }
24
+ /** Shared contract every draggable/selectable node must satisfy. */
25
+ export interface BaseNodeProps {
26
+ id: string;
27
+ isSelected?: boolean;
28
+ onSelect?: (id: string, e?: ReactMouseEvent) => void;
29
+ onDragStart?: (id: string, e: ReactMouseEvent | ReactTouchEvent) => void;
30
+ }
23
31
  export interface CanvasOverlayLayerProps {
24
32
  tasks: Task[];
25
33
  documents: Document[];
@@ -37,9 +45,9 @@ export interface CanvasOverlayLayerProps {
37
45
  y2: number;
38
46
  } | null;
39
47
  selectedCanvasObjects?: FabricObject[];
40
- overlayRef: React.RefObject<HTMLDivElement | null>;
41
- fabricCanvas?: React.RefObject<Canvas | null>;
48
+ fabricCanvas?: RefObject<Canvas | null>;
42
49
  canvasReady?: boolean;
50
+ clearHtmlSelectionRef?: MutableRefObject<() => void>;
43
51
  }
44
52
  export interface DragState {
45
53
  isDragging: boolean;
@@ -59,9 +67,4 @@ export interface PointerCoords {
59
67
  clientX: number;
60
68
  clientY: number;
61
69
  }
62
- export interface ViewportTransform {
63
- zoom: number;
64
- vpX: number;
65
- vpY: number;
66
- }
67
70
  //# sourceMappingURL=overlay-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"overlay-types.d.ts","sourceRoot":"","sources":["../../../../src/components/node/types/overlay-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,CAAC;IACxC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,IAAI,EAAE,CAAC;IAEd,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACxC,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,YAAY,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACzE,qBAAqB,CAAC,EAAE,YAAY,EAAE,CAAC;IACvC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACnD,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,qBAAqB,EAAE,GAAG,CAAC,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb"}
1
+ {"version":3,"file":"overlay-types.d.ts","sourceRoot":"","sources":["../../../../src/components/node/types/overlay-types.ts"],"names":[],"mappings":"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"}
package/dist/styles.css CHANGED
@@ -347,9 +347,6 @@
347
347
  .h-px {
348
348
  height: 1px;
349
349
  }
350
- .h-screen {
351
- height: 100vh;
352
- }
353
350
  .max-h-\(--radix-dropdown-menu-content-available-height\) {
354
351
  max-height: var(--radix-dropdown-menu-content-available-height);
355
352
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mhamz.01/easyflow-whiteboard",
3
- "version": "2.168.0",
3
+ "version": "2.170.0",
4
4
  "description": "A feature-rich whiteboard component built with Fabric.js and React",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",