@html-graph/html-graph 8.10.0 → 8.12.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.
package/README.md CHANGED
@@ -2,10 +2,32 @@
2
2
  <img src="/media/logo-label.svg" alt="HTMLGraph" width="520" height="100"/>
3
3
  </p>
4
4
 
5
+ <div align="center">
6
+ <h3>
7
+ Graph visualization library that enables rich nodes customization using HTML
8
+ </h3>
9
+ </div>
10
+
5
11
  <a target="_blank" href="https://html-graph.github.io">
6
- <img width="100%" src="https://raw.githubusercontent.com/html-graph/html-graph/master/media/full-demo.gif"/>
12
+ <img src="https://raw.githubusercontent.com/html-graph/html-graph/master/media/preview.jpg">
7
13
  </a>
8
14
 
9
- ### Graph visualization library that enables rich nodes customization using HTML
15
+ ## Getting Started
16
+
17
+ ```bash
18
+ npm i @html-graph/html-graph
19
+ ```
20
+
21
+ ```typescript
22
+ import { CanvasBuilder } from "@html-graph/html-graph";
23
+
24
+ const element = document.getElementById("canvas");
25
+
26
+ const canvas = new CanvasBuilder(element)
27
+ .enableUserTransformableViewport()
28
+ .enableUserDraggableNodes()
29
+ .enableBackground()
30
+ .build();
31
+ ```
10
32
 
11
33
  Visit the <a target="_blank" href="https://html-graph.github.io">DOCUMENTATION</a> for examples and API reference.
@@ -190,6 +190,8 @@ export declare class CanvasBuilder {
190
190
  private virtualScrollConfig;
191
191
  private layoutConfig;
192
192
  private animatedLayoutConfig;
193
+ private userSelectableNodesConfig;
194
+ private userSelectableCanvasConfig;
193
195
  private hasDraggableNodes;
194
196
  private hasTransformableViewport;
195
197
  private hasNodeResizeReactiveEdges;
@@ -203,15 +205,17 @@ export declare class CanvasBuilder {
203
205
  private readonly animationStaticNodes;
204
206
  constructor(element: HTMLElement);
205
207
  setDefaults(defaults: CanvasDefaults): CanvasBuilder;
206
- enableUserDraggableNodes(config?: DraggableNodesConfig): CanvasBuilder;
207
- enableUserTransformableViewport(config?: ViewportTransformConfig): CanvasBuilder;
208
+ enableUserDraggableNodes(config?: DraggableNodesConfig | undefined): CanvasBuilder;
209
+ enableUserTransformableViewport(config?: ViewportTransformConfig | undefined): CanvasBuilder;
208
210
  enableNodeResizeReactiveEdges(): CanvasBuilder;
209
211
  enableVirtualScroll(config: VirtualScrollConfig): CanvasBuilder;
210
- enableBackground(config?: BackgroundConfig): CanvasBuilder;
211
- enableUserConnectablePorts(config?: ConnectablePortsConfig): CanvasBuilder;
212
- enableUserDraggableEdges(config?: DraggableEdgesConfig): CanvasBuilder;
213
- enableLayout(config?: LayoutConfig): CanvasBuilder;
214
- enableAnimatedLayout(config?: AnimatedLayoutConfig): CanvasBuilder;
212
+ enableBackground(config?: BackgroundConfig | undefined): CanvasBuilder;
213
+ enableUserConnectablePorts(config?: ConnectablePortsConfig | undefined): CanvasBuilder;
214
+ enableUserDraggableEdges(config?: DraggableEdgesConfig | undefined): CanvasBuilder;
215
+ enableLayout(config?: LayoutConfig | undefined): CanvasBuilder;
216
+ enableAnimatedLayout(config?: AnimatedLayoutConfig | undefined): CanvasBuilder;
217
+ enableUserSelectableNodes(config: UserSelectableNodesConfig): CanvasBuilder;
218
+ enableUserSelectableCanvas(config: UserSelectableCanvasConfig): CanvasBuilder;
215
219
  build(): Canvas;
216
220
  private createHtmlView;
217
221
  }
@@ -258,6 +262,11 @@ export declare interface CanvasDefaults {
258
262
  readonly priority?: Priority;
259
263
  };
260
264
  readonly focus?: {
265
+ readonly contentPadding?: number;
266
+ /**
267
+ * @deprecated
268
+ * use contentPadding instead
269
+ */
261
270
  readonly contentOffset?: number;
262
271
  readonly minContentScale?: number;
263
272
  readonly animationDuration?: number;
@@ -430,6 +439,11 @@ export declare class EventSubject<T> implements EventEmitter<T>, EventHandler<T>
430
439
  }
431
440
 
432
441
  export declare type FocusConfig = {
442
+ readonly contentPadding?: number | undefined;
443
+ /**
444
+ * @deprecated
445
+ * use contentPadding instead
446
+ */
433
447
  readonly contentOffset?: number | undefined;
434
448
  readonly nodes?: Iterable<Identifier> | undefined;
435
449
  readonly minContentScale?: number | undefined;
@@ -979,6 +993,20 @@ declare interface UpdatePortRequest_2 {
979
993
  readonly direction?: number;
980
994
  }
981
995
 
996
+ export declare interface UserSelectableCanvasConfig {
997
+ readonly onCanvasSelected: () => void;
998
+ readonly mouseDownEventVerifier?: MouseEventVerifier | undefined;
999
+ readonly mouseUpEventVerifier?: MouseEventVerifier | undefined;
1000
+ readonly movementThreshold?: number | undefined;
1001
+ }
1002
+
1003
+ export declare interface UserSelectableNodesConfig {
1004
+ readonly onNodeSelected: (nodeId: Identifier) => void;
1005
+ readonly mouseDownEventVerifier?: MouseEventVerifier | undefined;
1006
+ readonly mouseUpEventVerifier?: MouseEventVerifier | undefined;
1007
+ readonly movementThreshold?: number | undefined;
1008
+ }
1009
+
982
1010
  export declare interface VerticalEdgeParams {
983
1011
  readonly color?: string | undefined;
984
1012
  readonly width?: number | undefined;
@@ -1048,7 +1076,7 @@ declare class ViewportController {
1048
1076
 
1049
1077
  declare interface ViewportControllerParams {
1050
1078
  readonly focus: {
1051
- readonly contentOffset: number;
1079
+ readonly contentPadding: number;
1052
1080
  readonly minContentScale: number;
1053
1081
  readonly schedule: ScheduleFn;
1054
1082
  readonly animationDuration: number;