@dpuse/dpuse-tool-d3-visualiser 0.0.18

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 (56) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +419 -0
  3. package/dist/axis-B7xlWKkC.js +1621 -0
  4. package/dist/axis-B7xlWKkC.js.map +1 -0
  5. package/dist/billboardJs-BTW-G9h0.js +7313 -0
  6. package/dist/billboardJs-BTW-G9h0.js.map +1 -0
  7. package/dist/bump-znhpCF6A.js +75 -0
  8. package/dist/bump-znhpCF6A.js.map +1 -0
  9. package/dist/dpuse-tool-d3-visualiser.css +11 -0
  10. package/dist/dpuse-tool-d3-visualiser.es.js +68 -0
  11. package/dist/dpuse-tool-d3-visualiser.es.js.map +1 -0
  12. package/dist/drag-B46QGUMq.js +173 -0
  13. package/dist/drag-B46QGUMq.js.map +1 -0
  14. package/dist/erdDiagram-b-qDkEhY.js +1934 -0
  15. package/dist/erdDiagram-b-qDkEhY.js.map +1 -0
  16. package/dist/linear-J4iYa1Bf.js +34 -0
  17. package/dist/linear-J4iYa1Bf.js.map +1 -0
  18. package/dist/link-Dti9fi9g.js +33 -0
  19. package/dist/link-Dti9fi9g.js.map +1 -0
  20. package/dist/networkDiagram-QWVy8iRy.js +493 -0
  21. package/dist/networkDiagram-QWVy8iRy.js.map +1 -0
  22. package/dist/observablePlot-D7o8-dnK.js +7008 -0
  23. package/dist/observablePlot-D7o8-dnK.js.map +1 -0
  24. package/dist/path-Bt1sPr2f.js +65 -0
  25. package/dist/path-Bt1sPr2f.js.map +1 -0
  26. package/dist/sankeyDiagram-Dgf87Zt4.js +360 -0
  27. package/dist/sankeyDiagram-Dgf87Zt4.js.map +1 -0
  28. package/dist/select-BIuoFcZG.js +649 -0
  29. package/dist/select-BIuoFcZG.js.map +1 -0
  30. package/dist/src-B7SGbtRQ.js +332 -0
  31. package/dist/src-B7SGbtRQ.js.map +1 -0
  32. package/dist/src-DnMaAyIP.js +1194 -0
  33. package/dist/src-DnMaAyIP.js.map +1 -0
  34. package/dist/sum-BAZU479z.js +36 -0
  35. package/dist/sum-BAZU479z.js.map +1 -0
  36. package/dist/treeDiagram-BJ_QF4os.js +277 -0
  37. package/dist/treeDiagram-BJ_QF4os.js.map +1 -0
  38. package/dist/types/eslint.config.d.ts +3 -0
  39. package/dist/types/src/billboardJs.d.ts +15 -0
  40. package/dist/types/src/erdDiagram.d.ts +29 -0
  41. package/dist/types/src/index.d.ts +33 -0
  42. package/dist/types/src/networkDiagram.d.ts +22 -0
  43. package/dist/types/src/observablePlot.d.ts +8 -0
  44. package/dist/types/src/palette.d.ts +15 -0
  45. package/dist/types/src/sankeyDiagram.d.ts +24 -0
  46. package/dist/types/src/treeDiagram.d.ts +22 -0
  47. package/dist/types/tests/billboardJs.test.d.ts +1 -0
  48. package/dist/types/tests/erdDiagram.test.d.ts +1 -0
  49. package/dist/types/tests/importIndex.test.d.ts +1 -0
  50. package/dist/types/tests/networkDiagram.test.d.ts +1 -0
  51. package/dist/types/tests/observablePlot.test.d.ts +1 -0
  52. package/dist/types/tests/sankeyDiagram.test.d.ts +1 -0
  53. package/dist/types/tests/treeDiagram.test.d.ts +1 -0
  54. package/dist/types/vite.config.d.ts +2 -0
  55. package/dist/types/vitest.config.d.ts +2 -0
  56. package/package.json +97 -0
@@ -0,0 +1,3 @@
1
+ export default config;
2
+ /** @type {import('eslint').Linter.Config[]} */
3
+ declare const config: import("eslint").Linter.Config[];
@@ -0,0 +1,15 @@
1
+ import { Chart } from 'billboard.js';
2
+ export interface BarChartSeries {
3
+ name: string;
4
+ values: number[];
5
+ }
6
+ export interface BarChartData {
7
+ categories: string[];
8
+ series: BarChartSeries[];
9
+ }
10
+ export interface BillboardJSHandle {
11
+ chart: Chart;
12
+ destroy: () => void;
13
+ resize: () => void;
14
+ }
15
+ export declare function renderBillboardJS(data: BarChartData, renderTo: HTMLElement): BillboardJSHandle;
@@ -0,0 +1,29 @@
1
+ export type ErdDiagramNodeTypeId = 'child' | 'primary';
2
+ export interface ErdDiagramNode {
3
+ id: string;
4
+ label: string;
5
+ typeId: ErdDiagramNodeTypeId;
6
+ }
7
+ export interface ErdDiagramEdge {
8
+ source: string;
9
+ target: string;
10
+ }
11
+ export interface ErdDiagramData {
12
+ edges: ErdDiagramEdge[];
13
+ nodes: ErdDiagramNode[];
14
+ }
15
+ export interface ErdDiagramOptions {
16
+ nodeColors?: Record<ErdDiagramNodeTypeId, {
17
+ fill: string;
18
+ stroke: string;
19
+ }>;
20
+ nodeHeight?: number;
21
+ nodeWidth?: number;
22
+ padding?: number;
23
+ selfEdgeSize?: number;
24
+ }
25
+ export interface ErdDiagramHandle {
26
+ resize: () => void;
27
+ svg: SVGSVGElement;
28
+ }
29
+ export declare function renderErdDiagram(data: ErdDiagramData, renderTo: HTMLElement, options?: ErdDiagramOptions): ErdDiagramHandle;
@@ -0,0 +1,33 @@
1
+ import { Chart } from 'billboard.js';
2
+ import { PresentationView } from '@dpuse/dpuse-shared/component/presentation';
3
+ import { BarChartData } from './billboardJs';
4
+ import { ObservablePlotChartTypeId } from './observablePlot';
5
+ import { ErdDiagramData, ErdDiagramOptions } from './erdDiagram';
6
+ import { NetworkDiagramData, NetworkDiagramOptions } from './networkDiagram';
7
+ import { SankeyDiagramData, SankeyDiagramOptions } from './sankeyDiagram';
8
+ import { TreeDiagramNode, TreeDiagramOptions } from './treeDiagram';
9
+ export type { BarChartData, BarChartSeries } from './billboardJs';
10
+ export type { ErdDiagramData, ErdDiagramEdge, ErdDiagramNode, ErdDiagramNodeTypeId, ErdDiagramOptions } from './erdDiagram';
11
+ export type { NetworkDiagramData, NetworkDiagramLink, NetworkDiagramNode, NetworkDiagramOptions } from './networkDiagram';
12
+ export type { ObservablePlotChartTypeId } from './observablePlot';
13
+ export type { SankeyDiagramData, SankeyDiagramLink, SankeyDiagramNode, SankeyDiagramOptions } from './sankeyDiagram';
14
+ export type { TreeDiagramNode, TreeDiagramNodeRoleId, TreeDiagramOptions } from './treeDiagram';
15
+ export interface D3View extends PresentationView {
16
+ svg: SVGSVGElement;
17
+ }
18
+ export interface D3NetworkView extends D3View {
19
+ destroy: () => void;
20
+ triggerAutoLayout: () => void;
21
+ }
22
+ export interface D3BarChartView extends PresentationView {
23
+ chart: Chart;
24
+ destroy: () => void;
25
+ }
26
+ export declare class D3Tool {
27
+ renderBillboardJS(data: BarChartData, renderTo: HTMLElement, callback?: () => void): Promise<D3BarChartView>;
28
+ renderObservablePlot(typeId: ObservablePlotChartTypeId, data: BarChartData, renderTo: HTMLElement, callback?: () => void): Promise<D3View>;
29
+ renderErdDiagram(data: ErdDiagramData, renderTo: HTMLElement, options?: ErdDiagramOptions, callback?: () => void): Promise<D3View>;
30
+ renderNetworkDiagram(data: NetworkDiagramData, renderTo: HTMLElement, options?: NetworkDiagramOptions, callback?: () => void): Promise<D3NetworkView>;
31
+ renderSankeyDiagram(data: SankeyDiagramData, renderTo: HTMLElement, options?: SankeyDiagramOptions, callback?: () => void): Promise<D3View>;
32
+ renderTreeDiagram(data: TreeDiagramNode, renderTo: HTMLElement, options?: TreeDiagramOptions, callback?: () => void): Promise<D3View>;
33
+ }
@@ -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,8 @@
1
+ import { BarChartData } from './billboardJs';
2
+ export type { BarChartData, BarChartSeries } from './billboardJs';
3
+ export type ObservablePlotChartTypeId = 'bar';
4
+ export interface ObservablePlotHandle {
5
+ resize: () => void;
6
+ svg: SVGSVGElement;
7
+ }
8
+ export declare function renderObservablePlot(typeId: ObservablePlotChartTypeId, data: BarChartData, renderTo: HTMLElement): ObservablePlotHandle;
@@ -0,0 +1,15 @@
1
+ export type ColorModeId = 'dark' | 'light';
2
+ export declare const CATEGORICAL_PALETTE: readonly {
3
+ readonly dark: string;
4
+ readonly light: string;
5
+ }[];
6
+ export declare const INK: Readonly<Record<ColorModeId, {
7
+ readonly muted: string;
8
+ readonly primary: string;
9
+ readonly secondary: string;
10
+ }>>;
11
+ export declare const SURFACE: Readonly<Record<ColorModeId, {
12
+ readonly border: string;
13
+ readonly chart: string;
14
+ }>>;
15
+ export declare function categoricalColor(index: number, colorModeId: ColorModeId): string;
@@ -0,0 +1,24 @@
1
+ import { ColorModeId } from './palette';
2
+ export interface SankeyDiagramNode {
3
+ id: string;
4
+ name: string;
5
+ }
6
+ export interface SankeyDiagramLink {
7
+ source: string;
8
+ target: string;
9
+ value: number;
10
+ }
11
+ export interface SankeyDiagramData {
12
+ links: SankeyDiagramLink[];
13
+ nodes: SankeyDiagramNode[];
14
+ }
15
+ export interface SankeyDiagramOptions {
16
+ colorModeId?: ColorModeId;
17
+ nodePadding?: number;
18
+ nodeWidth?: number;
19
+ }
20
+ export interface SankeyDiagramHandle {
21
+ resize: () => void;
22
+ svg: SVGSVGElement;
23
+ }
24
+ export declare function renderSankeyDiagram(data: SankeyDiagramData, renderTo: HTMLElement, options?: SankeyDiagramOptions): SankeyDiagramHandle;
@@ -0,0 +1,22 @@
1
+ export type TreeDiagramNodeRoleId = 'branch' | 'leaf' | 'root';
2
+ export interface TreeDiagramNode {
3
+ children?: TreeDiagramNode[];
4
+ id: string;
5
+ label: string;
6
+ }
7
+ export interface TreeDiagramOptions {
8
+ levelGap?: number;
9
+ nodeColors?: Record<TreeDiagramNodeRoleId, {
10
+ fill: string;
11
+ stroke: string;
12
+ }>;
13
+ nodeHeight?: number;
14
+ nodeWidth?: number;
15
+ padding?: number;
16
+ siblingGap?: number;
17
+ }
18
+ export interface TreeDiagramHandle {
19
+ resize: () => void;
20
+ svg: SVGSVGElement;
21
+ }
22
+ export declare function renderTreeDiagram(data: TreeDiagramNode, renderTo: HTMLElement, options?: TreeDiagramOptions): TreeDiagramHandle;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vite').UserConfig;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vite').UserConfig;
2
+ export default _default;
package/package.json ADDED
@@ -0,0 +1,97 @@
1
+ {
2
+ "name": "@dpuse/dpuse-tool-d3-visualiser",
3
+ "version": "0.0.18",
4
+ "private": false,
5
+ "description": "A TypeScript wrapper for D3, Billboard.js, and Observable Plot that implements the Data Positioning chart-rendering interface, providing ERD (dagre), Sankey (d3-sankey), network (d3-force), tree (d3-hierarchy), and bar chart (billboard.js, Observable Plot) renderers.",
6
+ "license": "MIT",
7
+ "author": "Jonathan Terrell <terrell.jm@gmail.com>",
8
+ "type": "module",
9
+ "sideEffects": false,
10
+ "homepage": "https://www.dpuse.app",
11
+ "bugs": {
12
+ "url": "https://github.com/dpuse/dpuse-tool-d3-visualiser/issues"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/dpuse/dpuse-tool-d3-visualiser.git"
17
+ },
18
+ "module": "./dist/dpuse-tool-d3-visualiser.es.js",
19
+ "types": "./dist/types/src/index.d.ts",
20
+ "exports": {
21
+ ".": {
22
+ "import": "./dist/dpuse-tool-d3-visualiser.es.js",
23
+ "types": "./dist/types/src/index.d.ts"
24
+ }
25
+ },
26
+ "files": [
27
+ "dist"
28
+ ],
29
+ "engines": {
30
+ "node": ">=23.11",
31
+ "npm": ">=11"
32
+ },
33
+ "prettier": "@dpuse/dpuse-development/prettierrc",
34
+ "allowScripts": {
35
+ "esbuild@0.28.1": true,
36
+ "fsevents@2.3.3": true,
37
+ "sharp@0.34.5": true,
38
+ "unrs-resolver@1.12.2": true,
39
+ "workerd@1.20260730.1": true
40
+ },
41
+ "scripts": {
42
+ "audit": "node -e \"import('@dpuse/dpuse-development').then(m => m.auditDependencies())\"",
43
+ "build": "node -e \"import('@dpuse/dpuse-development').then(m => m.buildProject({ moduleLevel: true }))\" && npm run documentBundleSizes",
44
+ "check": "node -e \"import('@dpuse/dpuse-development').then(m => m.checkConfigFiles())\" && node -e \"import('@dpuse/dpuse-development').then(m => m.checkDependencies())\"",
45
+ "document": "npm run documentOpening && npm run documentUsage && npm run documentDependencies && npm run documentGovernance",
46
+ "documentBundleSizes": "node -e \"import('@dpuse/dpuse-development').then(m => m.documentBundleSizes({ moduleLevel: true }))\"",
47
+ "documentDependencies": "node -e \"import('@dpuse/dpuse-development').then(m => m.documentDependencies('BSD-3-Clause;ISC;MIT;Unlicense'))\"",
48
+ "documentGovernance": "node -e \"import('@dpuse/dpuse-development').then(m => m.documentGovernance())\"",
49
+ "documentOpening": "node -e \"import('@dpuse/dpuse-development').then(m => m.documentOpening())\"",
50
+ "documentUsage": "node -e \"import('@dpuse/dpuse-development').then(m => m.documentUsage())\"",
51
+ "format": "node -e \"import('@dpuse/dpuse-development').then(m => m.formatCode())\"",
52
+ "lint": "node -e \"import('@dpuse/dpuse-development').then(m => m.lintCode())\"",
53
+ "release": "op run --env-file=.env -- node -e \"import('@dpuse/dpuse-development').then(m => m.releaseProject())\"",
54
+ "sync": "node -e \"import('@dpuse/dpuse-development').then(m => m.syncProjectWithGitHub())\"",
55
+ "test": "node -e \"import('@dpuse/dpuse-development').then(m => m.testProject())\""
56
+ },
57
+ "dependencies": {
58
+ "@dagrejs/dagre": "^3.0.0",
59
+ "@dpuse/dpuse-shared": "^0.3.760",
60
+ "@observablehq/plot": "^0.6.17",
61
+ "billboard.js": "^4.0.3",
62
+ "d3-drag": "^3.0.0",
63
+ "d3-force": "^3.0.0",
64
+ "d3-hierarchy": "^3.1.2",
65
+ "d3-sankey": "^0.12.3",
66
+ "d3-selection": "^3.0.0",
67
+ "d3-shape": "^3.2.0",
68
+ "d3-zoom": "^3.0.0"
69
+ },
70
+ "devDependencies": {
71
+ "@dpuse/dpuse-development": "^0.3.703",
72
+ "@dpuse/eslint-config-dpuse": "^1.0.113",
73
+ "@types/d3-drag": "^3.0.7",
74
+ "@types/d3-force": "^3.0.10",
75
+ "@types/d3-hierarchy": "^3.1.7",
76
+ "@types/d3-sankey": "^0.12.5",
77
+ "@types/d3-selection": "^3.0.11",
78
+ "@types/d3-shape": "^3.1.8",
79
+ "@types/d3-zoom": "^3.0.8",
80
+ "@types/node": "^26.1.2",
81
+ "eslint": "^10.8.0",
82
+ "happy-dom": "^20.11.1",
83
+ "prettier": "^3.9.6",
84
+ "sonda": "^0.14.0",
85
+ "typescript": "^6.0.3",
86
+ "vite": "^8.2.0",
87
+ "vite-plugin-dts": "^5.0.3",
88
+ "vitest": "^4.1.10",
89
+ "wrangler": "^4.118.0"
90
+ },
91
+ "overrides": {
92
+ "d3-array": "^3.2.4",
93
+ "d3-path": "^3.1.0",
94
+ "d3-shape": "^3.2.0",
95
+ "internmap": "^2.0.3"
96
+ }
97
+ }