@html-graph/html-graph 8.0.0 → 8.2.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.
@@ -18,7 +18,7 @@ export declare type AddNodePorts = Iterable<MarkNodePortRequest>;
18
18
 
19
19
  export declare interface AddNodeRequest {
20
20
  readonly id?: Identifier | undefined;
21
- readonly element: HTMLElement;
21
+ readonly element: NodeElement;
22
22
  readonly x?: number | null | undefined;
23
23
  readonly y?: number | null | undefined;
24
24
  readonly ports?: AddNodePorts | undefined;
@@ -28,7 +28,7 @@ export declare interface AddNodeRequest {
28
28
 
29
29
  declare interface AddNodeRequest_2 {
30
30
  readonly id: Identifier;
31
- readonly element: HTMLElement;
31
+ readonly element: NodeElement;
32
32
  readonly x: number | null;
33
33
  readonly y: number | null;
34
34
  readonly centerFn: CenterFn;
@@ -38,7 +38,7 @@ declare interface AddNodeRequest_2 {
38
38
  declare interface AddPortRequest {
39
39
  readonly id: Identifier;
40
40
  readonly nodeId: Identifier;
41
- readonly element: HTMLElement;
41
+ readonly element: PortElement;
42
42
  readonly direction: number;
43
43
  }
44
44
 
@@ -46,6 +46,26 @@ export declare interface AnimatedLayoutAlgorithm {
46
46
  calculateNextCoordinates(params: AnimatedLayoutAlgorithmParams): ReadonlyMap<Identifier, Point>;
47
47
  }
48
48
 
49
+ export declare type AnimatedLayoutAlgorithmConfig = {
50
+ readonly type: "custom";
51
+ readonly instance: AnimatedLayoutAlgorithm;
52
+ } | {
53
+ readonly type?: "forceDirected";
54
+ readonly maxTimeDeltaSec?: number;
55
+ readonly nodeCharge?: number;
56
+ readonly nodeMass?: number;
57
+ readonly edgeEquilibriumLength?: number;
58
+ readonly edgeStiffness?: number;
59
+ readonly seed?: string;
60
+ readonly convergenceVelocity?: number;
61
+ readonly maxForce?: number;
62
+ readonly nodeForceCoefficient?: number;
63
+ readonly barnesHut?: {
64
+ readonly theta?: number;
65
+ readonly areaRadiusThreshold?: number;
66
+ };
67
+ };
68
+
49
69
  export declare interface AnimatedLayoutAlgorithmParams {
50
70
  readonly graph: Graph;
51
71
  readonly dt: number;
@@ -53,25 +73,8 @@ export declare interface AnimatedLayoutAlgorithmParams {
53
73
  }
54
74
 
55
75
  export declare interface AnimatedLayoutConfig {
56
- readonly algorithm?: {
57
- readonly type: "custom";
58
- readonly instance: AnimatedLayoutAlgorithm;
59
- } | {
60
- readonly type?: "forceDirected";
61
- readonly maxTimeDeltaSec?: number;
62
- readonly nodeCharge?: number;
63
- readonly nodeMass?: number;
64
- readonly edgeEquilibriumLength?: number;
65
- readonly edgeStiffness?: number;
66
- readonly seed?: string;
67
- readonly convergenceVelocity?: number;
68
- readonly maxForce?: number;
69
- readonly nodeForceCoefficient?: number;
70
- readonly barnesHut?: {
71
- readonly theta?: number;
72
- readonly areaRadiusThreshold?: number;
73
- };
74
- } | undefined;
76
+ readonly algorithm?: AnimatedLayoutAlgorithmConfig | undefined;
77
+ readonly staticNodeResolver?: ((nodeId: Identifier) => boolean) | undefined;
75
78
  }
76
79
 
77
80
  export declare type ArrowRenderer = (params: ArrowRenderingParams) => string;
@@ -554,13 +557,13 @@ export declare class Graph {
554
557
  constructor(graphStore: GraphStore);
555
558
  hasNode(nodeId: Identifier): boolean;
556
559
  getNode(nodeId: Identifier): GraphNode;
557
- findNodeIdByElement(element: HTMLElement): Identifier | undefined;
560
+ findNodeIdByElement(element: Element): Identifier | undefined;
558
561
  getAllNodeIds(): readonly Identifier[];
559
562
  hasPort(portId: Identifier): boolean;
560
563
  getPort(portId: Identifier): GraphPort;
561
564
  getAllPortIds(): readonly Identifier[];
562
565
  getNodePortIds(nodeId: Identifier): readonly Identifier[];
563
- findPortIdsByElement(element: HTMLElement): readonly Identifier[];
566
+ findPortIdsByElement(element: Element): readonly Identifier[];
564
567
  getAllEdgeIds(): readonly Identifier[];
565
568
  hasEdge(edgeId: Identifier): boolean;
566
569
  getEdge(edgeId: Identifier): GraphEdge;
@@ -582,7 +585,7 @@ export declare interface GraphEdge {
582
585
  }
583
586
 
584
587
  export declare interface GraphNode {
585
- readonly element: HTMLElement;
588
+ readonly element: NodeElement;
586
589
  readonly x: number | null;
587
590
  readonly y: number | null;
588
591
  readonly centerFn: CenterFn;
@@ -590,7 +593,7 @@ export declare interface GraphNode {
590
593
  }
591
594
 
592
595
  export declare interface GraphPort {
593
- readonly element: HTMLElement;
596
+ readonly element: PortElement;
594
597
  readonly direction: number;
595
598
  readonly nodeId: Identifier;
596
599
  }
@@ -635,7 +638,7 @@ declare class GraphStore {
635
638
  getNode(nodeId: Identifier): StoreNode;
636
639
  addNode(request: AddNodeRequest_2): void;
637
640
  getAllNodeIds(): readonly Identifier[];
638
- findNodeIdByElement(element: HTMLElement): Identifier | undefined;
641
+ findNodeIdByElement(element: Element): Identifier | undefined;
639
642
  updateNode(nodeId: Identifier, request: UpdateNodeRequest_2): void;
640
643
  removeNode(nodeId: Identifier): void;
641
644
  hasPort(portId: Identifier): boolean;
@@ -643,7 +646,7 @@ declare class GraphStore {
643
646
  addPort(request: AddPortRequest): void;
644
647
  updatePort(portId: Identifier, request: UpdatePortRequest_2): void;
645
648
  getAllPortIds(): readonly Identifier[];
646
- findPortIdsByElement(element: HTMLElement): readonly Identifier[];
649
+ findPortIdsByElement(element: Element): readonly Identifier[];
647
650
  getNodePortIds(nodeId: Identifier): readonly Identifier[];
648
651
  removePort(portId: Identifier): void;
649
652
  hasEdge(edgeId: Identifier): boolean;
@@ -785,17 +788,18 @@ export declare type LayoutApplyOn = {
785
788
  export declare interface LayoutConfig {
786
789
  readonly algorithm?: LayoutAlgorithmConfig | undefined;
787
790
  readonly applyOn?: LayoutApplyOn | undefined;
791
+ readonly staticNodeResolver?: (nodeId: Identifier) => boolean;
788
792
  }
789
793
 
790
794
  export declare type MarkNodePortRequest = {
791
795
  readonly id?: Identifier | undefined;
792
- readonly element: HTMLElement;
796
+ readonly element: PortElement;
793
797
  readonly direction?: number | undefined;
794
798
  };
795
799
 
796
800
  export declare interface MarkPortRequest {
797
801
  readonly id?: Identifier | undefined;
798
- readonly element: HTMLElement;
802
+ readonly element: PortElement;
799
803
  readonly nodeId: Identifier;
800
804
  readonly direction?: number | undefined;
801
805
  }
@@ -815,6 +819,8 @@ export declare class MidpointEdgeShape implements StructuredEdgeShape {
815
819
 
816
820
  export declare type MouseEventVerifier = (event: MouseEvent) => boolean;
817
821
 
822
+ export declare type NodeElement = HTMLElement | SVGSVGElement;
823
+
818
824
  export declare interface PatchMatrixRequest {
819
825
  readonly scale?: number | undefined;
820
826
  readonly x?: number | undefined;
@@ -832,6 +838,8 @@ export declare interface Point {
832
838
  readonly y: number;
833
839
  }
834
840
 
841
+ export declare type PortElement = HTMLElement | SVGElement;
842
+
835
843
  declare type Priority = ConstantPriority | IncrementalPriority | CustomPriority;
836
844
 
837
845
  export declare type PriorityFn = () => number;
@@ -858,18 +866,18 @@ declare interface StoreEdge {
858
866
  }
859
867
 
860
868
  declare interface StoreNode {
861
- readonly element: HTMLElement;
869
+ readonly element: NodeElement;
862
870
  readonly payload: {
863
871
  x: number | null;
864
872
  y: number | null;
865
873
  centerFn: CenterFn;
866
874
  priority: number;
867
875
  };
868
- readonly ports: Map<Identifier, HTMLElement>;
876
+ readonly ports: Map<Identifier, PortElement>;
869
877
  }
870
878
 
871
879
  declare interface StorePort {
872
- readonly element: HTMLElement;
880
+ readonly element: PortElement;
873
881
  readonly payload: {
874
882
  direction: number;
875
883
  };