@dpuse/dpuse-tool-d3 0.0.2 → 0.0.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.
@@ -1,9 +1,16 @@
1
1
  import { PresentationView } from '@dpuse/dpuse-shared/component/presentation';
2
+ import { NetworkDiagramData, NetworkDiagramOptions } from './networkDiagram';
2
3
  import { SankeyDiagramData, SankeyDiagramOptions } from './sankeyDiagram';
4
+ export type { NetworkDiagramData, NetworkDiagramLink, NetworkDiagramNode, NetworkDiagramOptions } from './networkDiagram';
3
5
  export type { SankeyDiagramData, SankeyDiagramLink, SankeyDiagramNode, SankeyDiagramOptions } from './sankeyDiagram';
4
6
  export interface D3View extends PresentationView {
5
7
  svg: SVGSVGElement;
6
8
  }
9
+ export interface D3NetworkView extends D3View {
10
+ destroy: () => void;
11
+ triggerAutoLayout: () => void;
12
+ }
7
13
  export declare class D3Tool {
14
+ renderNetworkDiagram(data: NetworkDiagramData, renderTo: HTMLElement, options?: NetworkDiagramOptions, callback?: () => void): D3NetworkView;
8
15
  renderSankeyDiagram(data: SankeyDiagramData, renderTo: HTMLElement, options?: SankeyDiagramOptions, callback?: () => void): D3View;
9
16
  }
@@ -0,0 +1,22 @@
1
+ export interface NetworkDiagramNode {
2
+ id: string;
3
+ }
4
+ export interface NetworkDiagramLink {
5
+ source: string;
6
+ target: string;
7
+ }
8
+ export interface NetworkDiagramData {
9
+ links: NetworkDiagramLink[];
10
+ nodes: NetworkDiagramNode[];
11
+ }
12
+ export interface NetworkDiagramOptions {
13
+ chargeStrength?: number;
14
+ linkDistance?: number;
15
+ }
16
+ export interface NetworkDiagramHandle {
17
+ destroy: () => void;
18
+ resize: () => void;
19
+ svg: SVGSVGElement;
20
+ triggerAutoLayout: () => void;
21
+ }
22
+ export declare function renderNetworkDiagram(data: NetworkDiagramData, renderTo: HTMLElement, options?: NetworkDiagramOptions): NetworkDiagramHandle;
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@dpuse/dpuse-tool-d3",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "private": false,
5
- "description": "A TypeScript wrapper for D3 that implements the Data Positioning chart-rendering interface, starting with a Sankey diagram renderer built on d3-sankey.",
5
+ "description": "A TypeScript wrapper for D3 that implements the Data Positioning chart-rendering interface, providing Sankey diagram (d3-sankey) and network diagram (d3-force) renderers.",
6
6
  "license": "MIT",
7
7
  "author": "Jonathan Terrell <terrell.jm@gmail.com>",
8
8
  "type": "module",
@@ -56,14 +56,20 @@
56
56
  },
57
57
  "dependencies": {
58
58
  "@dpuse/dpuse-shared": "^0.3.758",
59
+ "d3-drag": "^3.0.0",
60
+ "d3-force": "^3.0.0",
59
61
  "d3-sankey": "^0.12.3",
60
- "d3-selection": "^3.0.0"
62
+ "d3-selection": "^3.0.0",
63
+ "d3-zoom": "^3.0.0"
61
64
  },
62
65
  "devDependencies": {
63
66
  "@dpuse/dpuse-development": "^0.3.699",
64
67
  "@dpuse/eslint-config-dpuse": "^1.0.113",
68
+ "@types/d3-drag": "^3.0.7",
69
+ "@types/d3-force": "^3.0.10",
65
70
  "@types/d3-sankey": "^0.12.5",
66
71
  "@types/d3-selection": "^3.0.11",
72
+ "@types/d3-zoom": "^3.0.8",
67
73
  "@types/node": "^26.1.2",
68
74
  "eslint": "^10.8.0",
69
75
  "happy-dom": "^20.11.1",
@@ -73,6 +79,6 @@
73
79
  "vite": "^8.2.0",
74
80
  "vite-plugin-dts": "^5.0.3",
75
81
  "vitest": "^4.1.10",
76
- "wrangler": "^4.116.0"
82
+ "wrangler": "^4.117.0"
77
83
  }
78
84
  }