From 8e7b6f2ccd2ffec5e336b6739056f5470a8b33e2 Mon Sep 17 00:00:00 2001 From: Gordon Smith Date: Thu, 23 Jan 2025 15:57:56 +0000 Subject: [PATCH] feat: Add lit-html enabled graph Signed-off-by: Gordon Smith --- package-lock.json | 27 ++- packages/comms/package.json | 5 +- packages/graph/index.html | 42 ++++ packages/graph/package.json | 3 +- packages/graph/src/__tests__/test5.ts | 2 +- packages/graph/src/common/graphT.css | 33 +++ .../graph/src/{graph2 => common}/graphT.ts | 7 +- packages/graph/src/common/index.ts | 3 + .../src/{graph2 => common}/layouts/circle.ts | 0 .../src/{graph2 => common}/layouts/dagre.ts | 0 .../{graph2 => common}/layouts/dagreWorker.ts | 0 .../layouts/forceDirected.ts | 0 .../layouts/forceDirectedWorker.ts | 0 .../layouts/geoForceDirected.ts | 0 .../{graph2 => common}/layouts/graphviz.ts | 0 .../layouts/graphvizWorker.ts | 0 .../src/{graph2 => common}/layouts/index.ts | 0 .../src/{graph2 => common}/layouts/layout.ts | 0 .../src/{graph2 => common}/layouts/null.ts | 0 .../layouts/placeholders.ts | 1 + .../src/{graph2 => common}/layouts/tree.ts | 0 .../layouts/workers/dagre.ts | 0 .../layouts/workers/dagreOptions.ts | 0 .../layouts/workers/forceDirected.ts | 0 .../layouts/workers/forceDirectedOptions.ts | 0 .../layouts/workers/graphviz.ts | 0 .../layouts/workers/graphvizOptions.ts | 0 .../graph/src/{graph2 => common}/liteMap.ts | 0 .../src/{graph2 => common}/liteSVGZooom.ts | 0 .../src/{graph2 => common}/sankeyGraph.css | 0 .../src/{graph2 => common}/sankeyGraph.ts | 4 +- packages/graph/src/graph2/graph.css | 34 --- packages/graph/src/graph2/index.ts | 7 - packages/graph/src/html/GraphHtml.ts | 9 + packages/graph/src/html/annotation.ts | 70 ++++++ packages/graph/src/html/component.ts | 14 ++ packages/graph/src/html/graphHtmlT.ts | 45 ++++ packages/graph/src/html/icon.ts | 75 ++++++ packages/graph/src/html/image.ts | 26 +++ packages/graph/src/html/imageChar.ts | 18 ++ packages/graph/src/html/index.ts | 8 + packages/graph/src/html/shape.ts | 140 +++++++++++ packages/graph/src/html/text.ts | 80 +++++++ packages/graph/src/html/textBox.ts | 41 ++++ packages/graph/src/html/vertex.ts | 65 ++++++ packages/graph/src/index.ts | 4 +- .../graph/src/{graph2 => react}/dataGraph.ts | 22 +- .../{graph2/graph.ts => react/graphReact.ts} | 41 ++-- .../src/{graph2 => react}/graphReactT.ts | 2 +- packages/graph/src/react/index.ts | 4 + .../graph/src/{graph2 => react}/subgraph.tsx | 2 +- .../graph/src/{graph2 => react}/vertex.tsx | 2 +- packages/graph/{src/test.ts => tests/data.ts} | 217 +----------------- packages/graph/tests/graph.browser.spec.ts | 33 ++- packages/graph/tests/index.ts | 92 ++++++++ packages/graph/tests/test1.ts | 18 ++ packages/graph/tests/test2.ts | 80 +++++++ packages/graph/tests/test3.ts | 46 ++++ packages/graph/tests/test4.ts | 66 ++++++ packages/graph/tests/test5.ts | 86 +++++++ packages/graph/util/wrapWorker.js | 2 +- vitest.workspace.ts | 71 +----- 62 files changed, 1185 insertions(+), 362 deletions(-) create mode 100644 packages/graph/src/common/graphT.css rename packages/graph/src/{graph2 => common}/graphT.ts (99%) create mode 100644 packages/graph/src/common/index.ts rename packages/graph/src/{graph2 => common}/layouts/circle.ts (100%) rename packages/graph/src/{graph2 => common}/layouts/dagre.ts (100%) rename packages/graph/src/{graph2 => common}/layouts/dagreWorker.ts (100%) rename packages/graph/src/{graph2 => common}/layouts/forceDirected.ts (100%) rename packages/graph/src/{graph2 => common}/layouts/forceDirectedWorker.ts (100%) rename packages/graph/src/{graph2 => common}/layouts/geoForceDirected.ts (100%) rename packages/graph/src/{graph2 => common}/layouts/graphviz.ts (100%) rename packages/graph/src/{graph2 => common}/layouts/graphvizWorker.ts (100%) rename packages/graph/src/{graph2 => common}/layouts/index.ts (100%) rename packages/graph/src/{graph2 => common}/layouts/layout.ts (100%) rename packages/graph/src/{graph2 => common}/layouts/null.ts (100%) rename packages/graph/src/{graph2 => common}/layouts/placeholders.ts (99%) rename packages/graph/src/{graph2 => common}/layouts/tree.ts (100%) rename packages/graph/src/{graph2 => common}/layouts/workers/dagre.ts (100%) rename packages/graph/src/{graph2 => common}/layouts/workers/dagreOptions.ts (100%) rename packages/graph/src/{graph2 => common}/layouts/workers/forceDirected.ts (100%) rename packages/graph/src/{graph2 => common}/layouts/workers/forceDirectedOptions.ts (100%) rename packages/graph/src/{graph2 => common}/layouts/workers/graphviz.ts (100%) rename packages/graph/src/{graph2 => common}/layouts/workers/graphvizOptions.ts (100%) rename packages/graph/src/{graph2 => common}/liteMap.ts (100%) rename packages/graph/src/{graph2 => common}/liteSVGZooom.ts (100%) rename packages/graph/src/{graph2 => common}/sankeyGraph.css (100%) rename packages/graph/src/{graph2 => common}/sankeyGraph.ts (99%) delete mode 100644 packages/graph/src/graph2/graph.css delete mode 100644 packages/graph/src/graph2/index.ts create mode 100644 packages/graph/src/html/GraphHtml.ts create mode 100644 packages/graph/src/html/annotation.ts create mode 100644 packages/graph/src/html/component.ts create mode 100644 packages/graph/src/html/graphHtmlT.ts create mode 100644 packages/graph/src/html/icon.ts create mode 100644 packages/graph/src/html/image.ts create mode 100644 packages/graph/src/html/imageChar.ts create mode 100644 packages/graph/src/html/index.ts create mode 100644 packages/graph/src/html/shape.ts create mode 100644 packages/graph/src/html/text.ts create mode 100644 packages/graph/src/html/textBox.ts create mode 100644 packages/graph/src/html/vertex.ts rename packages/graph/src/{graph2 => react}/dataGraph.ts (97%) rename packages/graph/src/{graph2/graph.ts => react/graphReact.ts} (75%) rename packages/graph/src/{graph2 => react}/graphReactT.ts (97%) create mode 100644 packages/graph/src/react/index.ts rename packages/graph/src/{graph2 => react}/subgraph.tsx (92%) rename packages/graph/src/{graph2 => react}/vertex.tsx (92%) rename packages/graph/{src/test.ts => tests/data.ts} (77%) create mode 100644 packages/graph/tests/index.ts create mode 100644 packages/graph/tests/test1.ts create mode 100644 packages/graph/tests/test2.ts create mode 100644 packages/graph/tests/test3.ts create mode 100644 packages/graph/tests/test4.ts create mode 100644 packages/graph/tests/test5.ts diff --git a/package-lock.json b/package-lock.json index 030934050c..028108d669 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6186,6 +6186,13 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/unist": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", @@ -13669,6 +13676,16 @@ "uc.micro": "^2.0.0" } }, + "node_modules/lit-html": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.2.1.tgz", + "integrity": "sha512-qI/3lziaPMSKsrwlxH/xMgikhQ0EGOX2ICU73Bi/YHFvz2j/yMCIrw4+puF2IpQ4+upd3EWbvnHM9+PnJn48YA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, "node_modules/load-json-file": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", @@ -20828,7 +20845,6 @@ "license": "Apache-2.0", "dependencies": { "@hpcc-js/common": "^3.3.0", - "@hpcc-js/dgrid-shim": "^3.1.1", "@hpcc-js/util": "^3.3.0" }, "devDependencies": { @@ -20837,6 +20853,9 @@ "@testing-library/dom": "10.4.0", "d3-format": "^1", "d3-selection": "^1" + }, + "peerDependencies": { + "@hpcc-js/dgrid-shim": "^3.1.0" } }, "packages/dgrid-shim": { @@ -20865,11 +20884,12 @@ "license": "Apache-2.0", "dependencies": { "@hpcc-js/common": "^3.3.0", - "@hpcc-js/react": "^3.2.0", "@hpcc-js/util": "^3.3.0" }, "devDependencies": { "@hpcc-js/esbuild-plugins": "^1.4.0", + "@preact/preset-vite": "2.9.2", + "preact": "10.25.0", "react-data-grid": "7.0.0-beta.47" } }, @@ -20949,7 +20969,8 @@ "d3-shape": "^1", "d3-tile": "^1", "d3-transition": "^1", - "dagre": "0.8.5" + "dagre": "0.8.5", + "lit-html": "3.2.1" } }, "packages/html": { diff --git a/packages/comms/package.json b/packages/comms/package.json index 79f819a0e9..e6ca820511 100644 --- a/packages/comms/package.json +++ b/packages/comms/package.json @@ -7,7 +7,10 @@ "module": "./dist/index.browser.js", "exports": { ".": { - "types": "./types/index.browser.d.ts", + "types": { + "node": "./types/index.node.d.ts", + "default": "./types/index.browser.d.ts" + }, "node": "./dist/index.node.js", "import": "./dist/index.browser.js", "require": "./dist/index.browser.umd.cjs" diff --git a/packages/graph/index.html b/packages/graph/index.html index 6e2052755c..3af7cbc4cb 100644 --- a/packages/graph/index.html +++ b/packages/graph/index.html @@ -17,6 +17,7 @@ } #placeholder, + #placeholder1, #placeholder2 { width: 100%; height: 500px; @@ -29,6 +30,11 @@ +

ESM Quick Test

+
+

ESM Quick Test

+
+